программатор для ПЛИС

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Что делать, я не знаю пробовал записать этот файл ничего не получилось в смысли ничего не работает и как то быстро записал его он.
Реклама
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

-- 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;
Реклама
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

Если честно, то я не понял что вы хотите сотворить. Вам нужно это для eOscope, но ПЛИС в таком корпусе у Вас нет и Вы пытаетесь скомпилировать исходник на VHDL под ПЛИС ХС9572XL. Вы меня поправьте, верно ли я всю вашу задачу понял? Если всё верно, то скопируйте полностью содержимое файла исходника и создайте в ИЗЕ новый проект, вставьте то что скопировали и компилируйте на здоровье...
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Поняли правильно.
Только исходника у меня нет,а с .jed ничего у меня не получается.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: программатор для ПЛИС

Сообщение SubDia »

Но у Вас же есть .vhdl файл, правильно?
Ну вот и создайте новый проект в ISE Design, выберите именно Ваш тип микросхемы и Ваш тип корпуса, включите в проект файл с описанием конфигурации (тот самый с расширением vhdl), и компилируйте на здоровье. Получите новый .jed файл.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Реклама
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Как мне объяснили это кусок основной программы, так я его пробовал ничего не происходит на изделии
Реклама
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: программатор для ПЛИС

Сообщение SubDia »

Печально. Безвыходных ситуаций, конечно, не бывает, но по-моему, в Вашем случае самый простой выход - купить микросхему в корпусе PLCC-44.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

Погодите, так вы просто скомпилировали и код получили для конфигурирования? А разводку выводов в PACE кто делать будет?, или Вы считаете, что то, что написано в комментариях к основному файлу это и есть разводка выводов?
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Нет, распишу Все что делал:
Создал новый проект выбрал мне необходимую плис 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: программатор для ПЛИС

Сообщение atmicandr »

:)) Ой ну и затеял целую кухню... Как организовано питание ПЛИС? Разделены ли друг от друга VCCIO и VCCINT? Если нет, то кристалл скорее всего уже умер... Кстати в разделе СТАТЬИ посмотри тему об этом осциллографе, на последних страницах была похожая проблема у одного человека, мы тогда вместе с Meteor прошивку то скомпилировали но увы под 3,3 вольтовый кристалл тоже не пошло...
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Три питания плис 3.3в
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

В документации пишется что в работе сигналы 5в уровня на прием принимает как и 3.3в, а на выходе 3.3в отдает, тем более кварцевый генератор KXO-V97 40.0MHz на 3.3в
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

p630304 писал(а):Три питания плис 3.3в
Как понять 3 питания? Тебе 3,3 вольт нужно только для питания кристалла ПЛИС, а питание выходов нужно 5 вольт, так как всё что подключается к ПЛИС всё от 5 вольт работает...
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Так делать нельзя в документации пишется что непосредственно кристал на 3.3в и питание портов тоже 3.3в.
Так же как то принесли мне плату электроусилителя что бы я нарисовал схему так вот там стоит Xc9536XL так там все питания висят на 3.3в , проц infinion xc164sm 5в и 2.6в питание так вот 5в с проца идет на вход плис.
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

А не могли бы Вы прошивку дать под XC9572XL-10-VQ44 уважаемый atmicandr что с Meteor писали я попробую.
Спасибо.
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

p630304 писал(а):А не могли бы Вы прошивку дать под XC9572XL-10-VQ44 уважаемый atmicandr что с Meteor писали я попробую.
Спасибо.
Мы делали прошивку под эту же микросхему но не под vq44, а под тотже самый PLCC44
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Ясно, обидно то что из-за плиса вся остановка, не думал что будет такая проблема.
А девайс получился с пачку сигарет.
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

p630304 писал(а): А девайс получился с пачку сигарет.
Как так? Там один дисплей больше чем пачка сигарет....
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

Re: программатор для ПЛИС

Сообщение p630304 »

Пришлось ростянуть под кнопки и под габариты дисплея 93.0х80.0 мм.
Фото на ящик скину
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: программатор для ПЛИС

Сообщение atmicandr »

p630304, посмотрел я твои фотки... А ты молодец! Как заставишь всё это работать, публикуй свой вариант платы... Знаешь я естественно навязывать мнение своё не буду, но я уверен что чтобы всё заработало, тебе надо поменять генератор на 5-и вольтовый и ПЛИС поставить 9572 какую надо, но без буковок XL... Я уверен что всё заработает в этом случае как надо. :)
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»