программатор для ПЛИС
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Что делать, я не знаю пробовал записать этот файл ничего не получилось в смысли ничего не работает и как то быстро записал его он.
- Реклама
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
-- Name: Scope Controller
-- Version: 1.4 Partially Tested
-- Date: 06Sep2005 Adi
-- Function: XC9572 controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
attribute pin_assign of CLK : signal is "6";
attribute pin_assign of UC_CLK : signal is "19";
attribute pin_assign of FIFO_CLK : signal is "29";
attribute pin_assign of ADC_CLK : signal is "28";
attribute pin_assign of TST_LED : signal is "1";
attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
-- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
-- Version: 1.4 Partially Tested
-- Date: 06Sep2005 Adi
-- Function: XC9572 controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
attribute pin_assign of CLK : signal is "6";
attribute pin_assign of UC_CLK : signal is "19";
attribute pin_assign of FIFO_CLK : signal is "29";
attribute pin_assign of ADC_CLK : signal is "28";
attribute pin_assign of TST_LED : signal is "1";
attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
-- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
Если честно, то я не понял что вы хотите сотворить. Вам нужно это для eOscope, но ПЛИС в таком корпусе у Вас нет и Вы пытаетесь скомпилировать исходник на VHDL под ПЛИС ХС9572XL. Вы меня поправьте, верно ли я всю вашу задачу понял? Если всё верно, то скопируйте полностью содержимое файла исходника и создайте в ИЗЕ новый проект, вставьте то что скопировали и компилируйте на здоровье...
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Поняли правильно.
Только исходника у меня нет,а с .jed ничего у меня не получается.
Только исходника у меня нет,а с .jed ничего у меня не получается.
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: программатор для ПЛИС
Но у Вас же есть .vhdl файл, правильно?
Ну вот и создайте новый проект в ISE Design, выберите именно Ваш тип микросхемы и Ваш тип корпуса, включите в проект файл с описанием конфигурации (тот самый с расширением vhdl), и компилируйте на здоровье. Получите новый .jed файл.
Ну вот и создайте новый проект в ISE Design, выберите именно Ваш тип микросхемы и Ваш тип корпуса, включите в проект файл с описанием конфигурации (тот самый с расширением vhdl), и компилируйте на здоровье. Получите новый .jed файл.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

- Реклама
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Как мне объяснили это кусок основной программы, так я его пробовал ничего не происходит на изделии
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: программатор для ПЛИС
Печально. Безвыходных ситуаций, конечно, не бывает, но по-моему, в Вашем случае самый простой выход - купить микросхему в корпусе PLCC-44.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
Погодите, так вы просто скомпилировали и код получили для конфигурирования? А разводку выводов в PACE кто делать будет?, или Вы считаете, что то, что написано в комментариях к основному файлу это и есть разводка выводов?
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Нет, распишу Все что делал:
Создал новый проект выбрал мне необходимую плис XC9572XL-10-VQ44
Взял файл scope.vhdl под XC9572-15-PC44
-- Name: Scope Controller
-- Version: 1.4 Partially Tested
-- Date: 06Sep2005 Adi
-- Function: XC9572 controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
attribute pin_assign of CLK : signal is "6";
attribute pin_assign of UC_CLK : signal is "19";
attribute pin_assign of FIFO_CLK : signal is "29";
attribute pin_assign of ADC_CLK : signal is "28";
attribute pin_assign of TST_LED : signal is "1";
attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
-- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
Вставил в проект изменил выводы которые мне нужны и сохранил как 1.vhdl
-- Name: Scope Controller
-- Version: 1.5 Partially Tested
-- Date: 01Aug2011 Adi
-- Function: XC9572XL controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572XL - VQ44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572XL - VQ44)
attribute pin_assign of CLK : signal is "44";
attribute pin_assign of UC_CLK : signal is "13";
attribute pin_assign of FIFO_CLK : signal is "23";
attribute pin_assign of ADC_CLK : signal is "22";
attribute pin_assign of TST_LED : signal is "39";
attribute pin_assign of DIN_SV5 : signal is "34, 33, 32, 31, 30, 29, 28, 27";
-- Pin connector SV5: 2, 1, 44, 43, 41, 40, 39
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "12"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "14"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "20"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "16"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "19"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
открыл PACE выбрал XC9572XL-10-VQ44 обозначил нужные мне выводы и сохранил, потом вышел с этой программы и зашел в проект ICE проверил прикрепленый файл из PACE и сохранил и прокампилировал весь проект выскочило куча предупреждений ошибок небыло потом открыл iMPACT открыл уже файл с расширением .jed под мою плис и запрограммировал, но както быстро зашилась она что вызвало у меня подозрение, что что-то не так.
Проверил на железе, а в ответ тишина.
Проверил .jed исходника и созданный отличается существенно как то мало информации в основном нули вместо кода.
Где то так.
Создал новый проект выбрал мне необходимую плис XC9572XL-10-VQ44
Взял файл scope.vhdl под XC9572-15-PC44
-- Name: Scope Controller
-- Version: 1.4 Partially Tested
-- Date: 06Sep2005 Adi
-- Function: XC9572 controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572 - PC44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572 - PC44)
attribute pin_assign of CLK : signal is "6";
attribute pin_assign of UC_CLK : signal is "19";
attribute pin_assign of FIFO_CLK : signal is "29";
attribute pin_assign of ADC_CLK : signal is "28";
attribute pin_assign of TST_LED : signal is "1";
attribute pin_assign of DIN_SV5 : signal is "40, 39, 38, 37, 36, 35, 34, 33";
-- Pin connector SV5: 8, 7, 6, 5, 3, 2, 1
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "18"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "20"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "25"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "22"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "24"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
Вставил в проект изменил выводы которые мне нужны и сохранил как 1.vhdl
-- Name: Scope Controller
-- Version: 1.5 Partially Tested
-- Date: 01Aug2011 Adi
-- Function: XC9572XL controller for eOscope
--
-- Descrition:
-- Keyboard interface, ADC control logic
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity controller is
Port ( CLK : in std_logic; -- Global Clock In
UC_CLK : out std_logic; -- Output Clock for the uC
ADC_CLK : out std_logic; -- Output Clock for the ADC
FIFO_CLK : out std_logic; -- Output Clock for the FIFO
TST_LED : out std_logic; -- Pin LED For testing purposes
DIN_SV5 : in std_logic_vector(7 downto 0); -- Keyboard data input
SER_CLK : in std_logic; -- Serial interface clock
SER_DATA : inout std_logic; -- Serial interface - data !!!!! inout
SER_EN : in std_logic; -- Serial interface - Enable write in register
SER_RDWR : in std_logic; -- Serial interface - read or write
SER_GATE : in std_logic -- Serial interface - register select
);
-- attribute bufg: string; -- Global pin assign (FOR XC9572XL - VQ44)
-- attribute bufg of CLK : signal is "CLK";
attribute pin_assign : string; -- Pin Assign (FOR XC9572XL - VQ44)
attribute pin_assign of CLK : signal is "44";
attribute pin_assign of UC_CLK : signal is "13";
attribute pin_assign of FIFO_CLK : signal is "23";
attribute pin_assign of ADC_CLK : signal is "22";
attribute pin_assign of TST_LED : signal is "39";
attribute pin_assign of DIN_SV5 : signal is "34, 33, 32, 31, 30, 29, 28, 27";
-- Pin connector SV5: 2, 1, 44, 43, 41, 40, 39
-- TrgDwn,
attribute pin_assign of SER_CLK : signal is "12"; -- uC: PC0
attribute pin_assign of SER_RDWR: signal is "14"; -- uC: PC1
attribute pin_assign of SER_EN : signal is "20"; -- uC: PC2
attribute pin_assign of SER_DATA : signal is "16"; -- uC: PD7
attribute pin_assign of SER_GATE : signal is "19"; -- uC: PD6 !!! Atentie !
end controller;
architecture Behavioral of controller is
signal CNT_1 : std_logic_vector(7 downto 0) := "00000000"; -- 8 bit counter (prescaller)
signal CNT_2 : std_logic_vector(15 downto 0) := "0000000000000000"; -- 16 bit counter (comparator)
signal OUT_CNT_1 : std_logic := '0';
signal OUT_CNT_2 : std_logic := '0';
signal OUT_TMP : std_logic := '0';
signal REG_DIV : std_logic_vector(3 downto 0) := "0000"; -- contains the division control data
signal REG_CMP : std_logic_vector(15 downto 0) := "0000000000000000"; -- contains the compare control data
signal REG_KEY : std_logic_vector(7 downto 0) := "00000000"; -- contains the key values
signal SER_DATA_TMP: std_logic := '0';
begin
UC_CLK <= CNT_1(1); -- !!!!!!!!!!!! XTAL dependent
ADC_CLK <= not (CLK and SER_GATE) when REG_DIV = 7 else not (OUT_CNT_2 and SER_GATE);
TST_LED <= CNT_1(7); -- No LED drive, only for scope visualisation
FIFO_CLK <= (CLK and SER_GATE) when REG_DIV = 7 else (OUT_CNT_2 and SER_GATE);
SER_DATA <= SER_DATA_TMP when SER_RDWR = '0' and SER_EN = '0' else 'Z';
OUT_CNT_1 <= CLK when REG_DIV = 0 else OUT_TMP;
process (CLK, SER_CLK, SER_EN, SER_RDWR, DIN_SV5, SER_DATA, REG_DIV, REG_CMP, OUT_CNT_1, CNT_2)
-- Should be modified according to decision logic
begin
if rising_edge(CLK) then -- Clock
CNT_1 <= CNT_1 + '1';
if REG_DIV = 1 then -- Must be reevaluated everytime the CLK changes !
OUT_TMP <= CNT_1(0);
elsif REG_DIV = 2 then
OUT_TMP <= CNT_1(1);
elsif REG_DIV = 3 then
OUT_TMP <= CNT_1(2);
elsif REG_DIV = 4 then
OUT_TMP <= CNT_1(3);
elsif REG_DIV = 5 then
OUT_TMP <= CNT_1(4);
elsif REG_DIV = 6 then
OUT_TMP <= CNT_1(5);
end if;
end if;
if rising_edge(OUT_CNT_1) then
if CNT_2 = REG_CMP then -- !!!! Not a 50% duty factor signal - I hope it works
CNT_2 <= "0000000000000000"; -- (the 1 pulse is valid only for the CNT_2 reset period)
OUT_CNT_2 <= '1';
else
CNT_2 <= CNT_2 + '1'; -- Increment the second counter
OUT_CNT_2 <= '0';
end if;
end if;
if SER_EN='1' then -- Serial transmission disabled - SER_CLK ignored
REG_KEY <= DIN_SV5;
elsif falling_edge(SER_CLK) then
if SER_RDWR='0' then -- Read data from keyboard
SER_DATA_TMP <= REG_KEY(7);
REG_KEY (7) <= REG_KEY (6);
REG_KEY (6) <= REG_KEY (5);
REG_KEY (5) <= REG_KEY (4);
REG_KEY (4) <= REG_KEY (3);
REG_KEY (3) <= REG_KEY (2);
REG_KEY (2) <= REG_KEY (1);
REG_KEY (1) <= REG_KEY (0);
REG_KEY (0) <= '0';
else -- Write data to TimeBase settings registers
REG_DIV (3) <= REG_DIV (2);
REG_DIV (2) <= REG_DIV (1);
REG_DIV (1) <= REG_DIV (0);
REG_DIV (0) <= REG_CMP (15);
REG_CMP (15) <= REG_CMP (14);
REG_CMP (14) <= REG_CMP (13);
REG_CMP (13) <= REG_CMP (12);
REG_CMP (12) <= REG_CMP (11);
REG_CMP (11) <= REG_CMP (10);
REG_CMP (10) <= REG_CMP (9);
REG_CMP (9) <= REG_CMP (8);
REG_CMP (8) <= REG_CMP (7);
REG_CMP (7) <= REG_CMP (6);
REG_CMP (6) <= REG_CMP (5);
REG_CMP (5) <= REG_CMP (4);
REG_CMP (4) <= REG_CMP (3);
REG_CMP (3) <= REG_CMP (2);
REG_CMP (2) <= REG_CMP (1);
REG_CMP (1) <= REG_CMP (0);
REG_CMP (0) <= SER_DATA;
end if;
end if;
end process;
end Behavioral;
открыл PACE выбрал XC9572XL-10-VQ44 обозначил нужные мне выводы и сохранил, потом вышел с этой программы и зашел в проект ICE проверил прикрепленый файл из PACE и сохранил и прокампилировал весь проект выскочило куча предупреждений ошибок небыло потом открыл iMPACT открыл уже файл с расширением .jed под мою плис и запрограммировал, но както быстро зашилась она что вызвало у меня подозрение, что что-то не так.
Проверил на железе, а в ответ тишина.
Проверил .jed исходника и созданный отличается существенно как то мало информации в основном нули вместо кода.
Где то так.
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Три питания плис 3.3в
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
В документации пишется что в работе сигналы 5в уровня на прием принимает как и 3.3в, а на выходе 3.3в отдает, тем более кварцевый генератор KXO-V97 40.0MHz на 3.3в
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
Как понять 3 питания? Тебе 3,3 вольт нужно только для питания кристалла ПЛИС, а питание выходов нужно 5 вольт, так как всё что подключается к ПЛИС всё от 5 вольт работает...p630304 писал(а):Три питания плис 3.3в
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Так делать нельзя в документации пишется что непосредственно кристал на 3.3в и питание портов тоже 3.3в.
Так же как то принесли мне плату электроусилителя что бы я нарисовал схему так вот там стоит Xc9536XL так там все питания висят на 3.3в , проц infinion xc164sm 5в и 2.6в питание так вот 5в с проца идет на вход плис.
Так же как то принесли мне плату электроусилителя что бы я нарисовал схему так вот там стоит Xc9536XL так там все питания висят на 3.3в , проц infinion xc164sm 5в и 2.6в питание так вот 5в с проца идет на вход плис.
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
А не могли бы Вы прошивку дать под XC9572XL-10-VQ44 уважаемый atmicandr что с Meteor писали я попробую.
Спасибо.
Спасибо.
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
Мы делали прошивку под эту же микросхему но не под vq44, а под тотже самый PLCC44p630304 писал(а):А не могли бы Вы прошивку дать под XC9572XL-10-VQ44 уважаемый atmicandr что с Meteor писали я попробую.
Спасибо.
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Ясно, обидно то что из-за плиса вся остановка, не думал что будет такая проблема.
А девайс получился с пачку сигарет.
А девайс получился с пачку сигарет.
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
Как так? Там один дисплей больше чем пачка сигарет....p630304 писал(а): А девайс получился с пачку сигарет.
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
-
p630304
- Нашел транзистор. Понюхал.
- Сообщения: 163
- Зарегистрирован: Вт май 31, 2011 13:43:38
- Откуда: Саратов
Re: программатор для ПЛИС
Пришлось ростянуть под кнопки и под габариты дисплея 93.0х80.0 мм.
Фото на ящик скину
Фото на ящик скину
- atmicandr
- Друг Кота
- Сообщения: 6166
- Зарегистрирован: Вт мар 09, 2010 09:29:27
- Откуда: Свердловская область, г. Ирбит
Re: программатор для ПЛИС
p630304, посмотрел я твои фотки... А ты молодец! Как заставишь всё это работать, публикуй свой вариант платы... Знаешь я естественно навязывать мнение своё не буду, но я уверен что чтобы всё заработало, тебе надо поменять генератор на 5-и вольтовый и ПЛИС поставить 9572 какую надо, но без буковок XL... Я уверен что всё заработает в этом случае как надо. 
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"


