2013-12-13 1 views
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:

Test Bench

Я получаю ошибку:

ERROR:Simulator:793 - Unable to elaborate instantiated module FIFO_GENERATOR_V9_3 

Process "Simulate Behavioral Model" failed 

Почему это не удается?

ответ

1

Coregen также выдаст файл .vhd для созданного вами FIFO. Этот файл .vhd вам нужен в проекте modelsim, который вы используете. fifo_generator_v9_3.vhd.

+0

Привет, это первый раз, когда я использую генератор ядра - я думал, что вы можете просто использовать файл .xco. Я предполагаю, что для реального проекта мне не нужен файл .vhd? – fiz

+0

Это правда, вам не нужен файл .vhd для синтеза и сборки вашей FPGA. Я не знаю, почему Xilinx изменил поведение FIFO. Раньше у вас была возможность просто создать экземпляр, но теперь вам нужно пройти через корейн, что феноменально бесит. Кто-нибудь знает, почему они сделали это изменение? – Russell

+0

Все еще не работает. Если я просто создаю свой файл .vhd FIFO, это может быть проще/быстрее. Я добавил отредактированное изображение выше – fiz