zoukankan      html  css  js  c++  java
  • altera小实验——ROM读取

    在研究固定系数乘法器的查超标法,需要用到ROM存储器,因此探究了下初步使用。

    器件:altera Cyclone III

    1.建立工程与主文件


    2.建立ROM的初始化文件

    由于ROM不可写入,因此其数据的存储需要一个初始化文件,里面预写入ROM中的存储数据。

    在File->New...里选择Hex文件或MIF文件都可以,用MIF文件更加容易借助其他工具如MATLAB等进行修改与生成,因此选择MIF文件。


    双击生成文件,并对文件数据进行修改。随便改了改里面的存储数值,地址与数值一致了。保存文件为rom.mif。


    打开.mif文件可见其组织方式。



    3.建立ROM IP核


    本页设置数据位宽与数据深度,ROM类型(一般auto即可),输入地址的时钟与输出数据的时钟。



    该页选择是否在数据输出端加入一个reg来减小延时,如果加入的话,数据会晚一个周期抵达。



    该页添加rom.mif初始文件,注意地址一定要写全,否则会出现如下报错:

    Error (127001): Can't find Memory Initialization File or Hexadecimal (Intel-Format) File ......

    之后生成.v文件即可


    4.实例化并编译

    添加rom.v文件并实例化编译,用signaltap抓取信号观察结果。

    可以观察到输出数据与输入地址之间差了两个周期,这是因为输入地址时打了一拍,输出数据时打了一拍。


    若取消掉数据输出后面的reg,则输出数据波形如下:


  • 相关阅读:
    Java实现 LeetCode 649 Dota2 参议院(暴力大法)
    Java实现 LeetCode 648 单词替换(字典树)
    Java实现 LeetCode 648 单词替换(字典树)
    php getimagesize 函数
    PHP gd_info
    PHP 5 时区
    PHP zip_read() 函数
    PHP zip_open() 函数
    滚动界限终点 | scroll-snap-destination (Scroll Snap)
    滚动界限种类 | scroll-snap-type (Scroll Snap)
  • 原文地址:https://www.cnblogs.com/mingmingruyue99/p/7202004.html
Copyright © 2011-2022 走看看