zoukankan      html  css  js  c++  java
  • Xilinx ISE 14.1生成Rom内核并读取Rom中的数据

    <一>建立一个项目readDataFromRom

          详细过程参照另一篇文章

         http://www.cnblogs.com/LCCRNblog/p/3397666.html

    <二>生成一个IP内核

    1.右键点击项目——》New Source——》IP (CORE Generator & Architecture Wizard)

          我取名为myRom;

              

     点击next

    2.Memories & Storage Elements——》RAMs & ROMs

       选择其中一个存储器,我在此选择第三个,仅仅是作为示范;

    点击next——》finish;

    过一会就弹出下图所示的界面

    3.配置Rom的各个参数

          本例子做一个64x8bit 的Rom,因此:

          Width = 8;

         Depth = 64;

    设置Rom;

    next——》next进入下一步

    4.初始化Rom(在以后的使用中就不能更改,除非重新设置,后面会讲解怎样重新配置)

           在你的工程所在目录下,打开文件夹ipcore_dir,如我的D: eadDataFromRomipcore_dir

          创建一个文本文件,将其后缀名改写为.coe,我设置为data.coe,用记事本打开,输入一下数据

    前两行是固定格式,后面是自己需要的数据:

    memory_initialization_radix = 10; 这个是为了说明你在初始化时输入数据是10进制
    memory_initialization_vector =
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3;

    数据个数一定的为64个,最后一个分号不能少;

    创建好初始化文件后,

    点击Browse,添加data.coe,

    在此可以点击show查看数据;

    点击Generate就已经生成好了需要的Rom了。

    可以如下图操作查看其代码:

    <三>从Rom中读数据

    建立一个Verilog Modul:readRom

    添加代码如下:

    module readRom(  

                input [5:0] address,     //此处的地址是6位,因为我们的Rom是64x8的

               output [7:0] data    

    );

    myRom myRom_1(.a(address),.spo(data));//元件例化

    endmodule

    接着创建readRom的测试文件

    添加代码:

    //测试前面几个数据

    #0.001 address <= 6'b000001;
     #0.001 address <= 6'b000010;
     #0.001 address <= 6'b000011;

    结果为:

    自己查看数据是不是正确的

    <四>修改初始化文件数据

    找到data.coe,我将数据做修改

    memory_initialization_radix = 10;
    memory_initialization_vector =
    10,11,12,13,14,15,16,17,18,19,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3,4,5,6,7,8,9,
    0,1,2,3;

    然后:

    重新读数据结果为:

     

    数据显示正确;

  • 相关阅读:
    超酷图片压缩工具,就是不支持批量
    eclipse java热加载
    mysql 突然报错,连接不上
    svn问题终极解决办法
    svn经常困扰我的问题
    洛谷 P3628
    CodeForces 1091H
    委托的实际应用
    WPF 小知识点001
    C# 扩展方法一
  • 原文地址:https://www.cnblogs.com/LCCRNblog/p/3405368.html
Copyright © 2011-2022 走看看