【问题标题】:How to initialize signal using .mif file如何使用 .mif 文件初始化信号
【发布时间】:2015-11-24 00:57:03
【问题描述】:

例如,我有 ROM 的行为定义:

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 信号?

【问题讨论】:

    标签: initialization vhdl quartus


    【解决方案1】:

    用 VHDL 编写 .mif 文件解析器需要做很多工作。

    如果您使用的是 Quartus-II 工具链,那么您也可以通过 Megawizard 插件管理器生成一个 ROM(参见菜单工具)。在向导中,您可以指定 ROM 的组织以及带有初始数据的 .mif 文件。

    如果您不想使用它或者您正在使用其他工具链,那么 (Xilinx) .mem 格式的文本文件将是另一种选择。可以在命名空间PoC.mem.ocrom 中的VHDL Library PoC 中找到如何从此类文本文件中读取初始化数据的示例实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      相关资源
      最近更新 更多