2015-11-24 56 views
2

例如初始化信號,我有ROM的行爲定義:如何使用.mif文件

ENTITY rom_4x4_behavioral IS 
    PORT (address : IN NATURAL RANGE 0 TO 7; 
      q   : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); 
END entity; 

ARCHITECTURE rom_4x4_behavioral_arch OF rom_4x4_behavioral IS 
    SUBTYPE word IS STD_LOGIC_VECTOR(3 DOWNTO 0); 
    TYPE memory IS ARRAY(7 downto 0) OF word; 
    SIGNAL rom : memory;  
    SIGNAL addr_reg : NATURAL RANGE 0 TO 7; 
BEGIN 
    PROCESS (address)  
    BEGIN 
     addr_reg <= address; 
    END process; 
    q <= rom(addr_reg); 
END rom_4x4_behavioral_arch; 

我有什麼做用.mif文件來初始化rom信號?

回答

0

用VHDL編寫一個.mif文件解析器需要做很多工作。

如果您使用的是Quartus-II工具鏈,那麼您也可以通過Megawizard插件管理器(參見菜單工具)生成一個ROM。在嚮導中,您可以使用初始數據來指定ROM的組織結構以及.mif文件。

如果您不想使用該功能,或者您正在使用其他工具鏈,則(Xilinx).mem格式的文本文件將是另一種選擇。如何從這樣的文本文件讀取初始化數據的示例實現可以在命名空間PoC.mem.ocromVHDL Library PoC中找到。