0
Я пытаюсь создать FIFO из генератора Xilinx Core.Невозможно разработать FIFO на SP601
У этого есть общие часы с блочной ОЗУ, это стандартный FIFO, 2 бита в ширину и 16 глубин.
Я сделал тестовый стенд на основе ядра:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
library unisim;
use unisim.VComponents.all;
ENTITY fifo_test IS
END fifo_test;
ARCHITECTURE behavior OF fifo_test IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT fifo_generator_v9_3
PORT(
clk : IN std_logic;
rst : IN std_logic;
din : IN std_logic_vector(1 downto 0);
wr_en : IN std_logic;
rd_en : IN std_logic;
dout : OUT std_logic_vector(1 downto 0);
full : OUT std_logic;
empty : OUT std_logic
);
END COMPONENT;
--Inputs
signal clk : std_logic := '0';
signal rst : std_logic := '0';
signal din : std_logic_vector(1 downto 0) := (others => '0');
signal wr_en : std_logic := '1';
signal rd_en : std_logic := '1';
--Outputs
signal dout : std_logic_vector(1 downto 0);
signal full : std_logic;
signal empty : std_logic;
-- Clock period definitions
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: fifo_generator_v9_3 PORT MAP (
clk => clk,
rst => rst,
din => din,
wr_en => wr_en,
rd_en => rd_en,
dout => dout,
full => full,
empty => empty
);
-- Clock process definitions
clk_process :process
begin
clk <= '0';
wait for clk_period/2;
clk <= '1';
wait for clk_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
wait for clk_period*10;
-- insert stimulus here
wait;
end process;
END;
Вот как выглядит файл, как в ISE:
Я получаю ошибку:
ERROR:Simulator:793 - Unable to elaborate instantiated module FIFO_GENERATOR_V9_3
Process "Simulate Behavioral Model" failed
Почему это не удается?
Привет, это первый раз, когда я использую генератор ядра - я думал, что вы можете просто использовать файл .xco. Я предполагаю, что для реального проекта мне не нужен файл .vhd? – fiz
Это правда, вам не нужен файл .vhd для синтеза и сборки вашей FPGA. Я не знаю, почему Xilinx изменил поведение FIFO. Раньше у вас была возможность просто создать экземпляр, но теперь вам нужно пройти через корейн, что феноменально бесит. Кто-нибудь знает, почему они сделали это изменение? – Russell
Все еще не работает. Если я просто создаю свой файл .vhd FIFO, это может быть проще/быстрее. Я добавил отредактированное изображение выше – fiz