Пт июн 26, 2009 06:51:46
Пт июн 26, 2009 13:02:09
Сб июн 27, 2009 09:54:41
KT315B писал(а):http://radiokot.ru/start/mcu_fpga/xilinx/
Вс июн 28, 2009 08:19:12
Вс июн 28, 2009 19:27:32
Вс июн 28, 2009 19:41:26
SII писал(а):Сейчас навскидку не скажу -- посмотреть времени нету. Возможно, проблема в том, что просто не подал тактовый сигнал на вход своей схемы. У каждой отладочной платы своя разводка ног ПЛИС, вот и надо посмотреть, на какую генератор завязан.
Или вопрос не об этом?
Вс июн 28, 2009 19:53:00
Вс июн 28, 2009 22:23:42
nick17 писал(а):SII писал(а):Сейчас навскидку не скажу -- посмотреть времени нету. Возможно, проблема в том, что просто не подал тактовый сигнал на вход своей схемы. У каждой отладочной платы своя разводка ног ПЛИС, вот и надо посмотреть, на какую генератор завязан.
Или вопрос не об этом?
Ну почти, ты в железе имеешь виду, а я в про симулятор работы, ISim, работал в таком?
Пн июн 29, 2009 13:56:06
Пн июн 29, 2009 18:31:36
Пн июн 29, 2009 20:04:40
pesicot писал(а):Когда увидел пост обрадовался, подумал что я не один! Сам с неделю назад поставил 11 версию Xilinx ISE.
Насколько я понял из одного файла документации с сайта сигналы задаются с помощью модулей на verilog или vhdl.
Думаю что нужно в этом направлении двигаться. Может сегодня ночью сделаю еще одну попытку.
Пн июн 29, 2009 20:25:35
nick17 писал(а):Народ! Качайте 11 версию Xilinx ISE! Давайте вместе разбираться!!!
Пн июн 29, 2009 21:52:06
nick17 писал(а):Вдвоем уже проще будет разбираться! Я тоже этот вариант рассматривал, но не пробовал. Завтра тоже сделаю n-ую попытку чтобы понять... А этот файл документации, в котором видел, можешь его выложить, или это было мельком?
Вт июн 30, 2009 06:08:33
SII писал(а):nick17 писал(а):Народ! Качайте 11 версию Xilinx ISE! Давайте вместе разбираться!!!
Только что выяснил, что я полный идиот Я ж использовал версию 10.1, а не 11 Так что качаю 11-ю, буду разираться завтра (благо работу спихнул, завтра день свободный).
Вт июн 30, 2009 23:58:28
Ср июл 01, 2009 07:02:33
pesicot писал(а):Все! Я разобрался с проблемой. Я был прав, сигналы задаются с помощью модулей на VHDL и Verilog. Правильнее сказать сигналы можно так задавать. По крайней мере у меня получилось это сделать на VHDL.
Итак: нужно добавить в проект модуль с типом "VHDL Test Bench" ISE сгенерирует компонент в котором все порты будут сопоставлены сигналам и этим сигналам можно будет задавать значения.
Сам еще не силен в этом (портах, сигналах, да и вообще в VHDL и Verilog)
Я спать. Завтра набросаю инструкцию с картинками если кого-нибудь заинтересует…
Ср июл 01, 2009 19:36:32
PROCESS -- clock process for clk_in
BEGIN
CLOCK_LOOP : LOOP
clk_in <= '0';
WAIT FOR PERIOD * 0.5;
clk_in <= '1';
WAIT FOR PERIOD * 0.5;
END LOOP CLOCK_LOOP;
END PROCESS;
Ср июл 01, 2009 20:17:05
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Comparator1 is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
EQ : out STD_LOGIC);
end Comparator1;
architecture Behavioral of Comparator1 is
signal P0, P1 : STD_LOGIC;
begin
EQ <= P0 or P1;
P0 <= (not A) and (not B);
P1 <= A and B;
end Behavioral;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Comparator1 is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
EQ : out STD_LOGIC);
end Comparator1;
architecture Behavioral of Comparator1 is
signal P0, P1 : STD_LOGIC;
begin
EQ <= P0 or P1;
P0 <= (not A) and (not B);
P1 <A> A,
B => B,
EQ => EQ
);
-- Собственно процесс тестирования
stim_proc: process
variable Message : line;
begin
-- Ожидание для выполнения начального сброса схемы
wait for 100 ns;
-- Первый тест
A <= '0';
B <= '0';
wait for 5 ns;
if EQ = '1' then
Write(Message, "Test 1 PASS");
else
Write(Message, "Test 1 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Второй тест
A <= '0';
B <= '1';
wait for 5 ns;
if EQ = '0' then
Write(Message, "Test 2 PASS");
else
Write(Message, "Test 2 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Третий тест
A <= '1';
B <= '0';
wait for 5 ns;
if EQ = '0' then
Write(Message, "Test 3 PASS");
else
Write(Message, "Test 3 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Четвёртый тест
A <= '1';
B <= '1';
wait for 5 ns;
if EQ = '1' then
Write(Message, "Test 4 PASS");
else
Write(Message, "Test 4 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Тестирование закончено
assert false report "Simu1ation Comp1eted" severity failure;
end process;
END;
Чт июл 02, 2009 12:01:09