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:\readDataFromRom\ipcore_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;
然后:

重新读数据结果为:

数据显示正确;
Xilinx ISE 14.1生成Rom内核并读取Rom中的数据的更多相关文章
- Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程
生命在于折腾. 这个帖子作为我安装xilinx ISE 14.7版本一个记录.希望给需要的人一些帮助,这些内容绝大部分也是来源于互联网. 软硬件: lsb_release -a No LSB modu ...
- Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程(转)
reference:https://www.cnblogs.com/tracyone/p/3561781.html 按照ISE后,建立ISE启动连接: 这个帖子作为我安装xilinx ISE 14.7 ...
- Xilinx ISE 14.1中模拟True Dual Port RAM例子
<一>创建工程 创建工程在此略过. <二>基本代码 1.创建一个Verilog modual代码如下: module main( input clk, input rsta, ...
- Xilinx ISE 14.1利用Verilog产生clock
<一>建立如下的Verilog Module module myClock( input clock ); endmodule <二>建立 Verilog Test Fixtu ...
- Windows 8 64bit Xilinx ISE(14.7) Fix License
http://www.youtube.com/watch?v=ttPbEcNjdo8 It can work successfully!
- [ISE 14.7]Fail to Link the designer导致无法仿真问题
一.当前配置 操作系统:WIN 8.1 64位 软件:Xilinx ISE 14.7 二.解决方法 首先,似乎64位的binary都有些问题,所以先把ISE Design Suite 14.7这个快捷 ...
- Windows 10下Xilinx ISE需要注意的事项。
一是安装.可以在Windows 10下安装Xilinx ISE 14.7. 详见:https://www.eevblog.com/forum/xilinx/guide-getting-xilinx-i ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- 在Xilinx ISE中生成ROM时需要注意的事
在Xilinx ISE中生成ROM时,需要指定.coe文件.需要做到两件事.其一,要使用memory_initialization_radix= ; memory_initializatoin_vec ...
随机推荐
- [js高手之路] es6系列教程 - promise常见用法详解(resolve,reject,catch,then,all,race)
关于promise我在之前的文章已经应用过好几次,如[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist,本文就来讲解下pro ...
- JS中基本的一些兼容问题 可能解释的不会太清楚
做兼容注意: 一如果两个都是属性,用逻辑||做兼容 二如果有一个是方法 用三目运算符做兼容 三多个属性或方法封装函数做兼容 一:谷歌浏览器和火狐浏览器鼠标滚动条兼容 1.document.docume ...
- 高德地图JSApi
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 强大的桌面用 PDF 重排工具:K2pdfopt 简明教程
用 Kindle 阅读 PDF 一直以来都遭到小伙伴们的无限吐槽,在那 Kindle 还能越狱的时代,我们有 Koreader 之类优秀的 Kindle 第三方插件实现 PDF 文档的实时重排,但是随 ...
- React——组件的生命周期函数
每一个组件都有一些生命周期函数. 当组件实例被创建并且会插入到DOM中,下面这些函数会被调用 constructor componentWillMount render componentDidMou ...
- Query DSL(2)----Full text queries
Match Query match查询接受文本/数值/日期 { "match" : { "message" : "this is a test&quo ...
- MySQL之最基本命令
前言:以下是数据库最基础最常用的命令,特别适用初学者练习,希望通过不断练习这些命令来熟练操作.巩固基础,因为只有不断地练习才能将知识真正变成自己的东西. 快速查看以下内容: 操作 命令 创建数据库 C ...
- js自执行函数写法
(1)写法1 (function(){ //函数内容 })() (2)写法2 (function(){ //函数内容 }())
- java中需要注意的小细节
很早以前就打算写博客,但是总是因为不知道写什么,或是觉得博客里其他人已经把我要写的整理很好了而迟迟没有动笔,现在决定把自己平时的记录的一些笔记拿出来,希望大神们可以批评指导,并且希望能够帮助一些刚刚入 ...
- VBA /VB/VB中合成分散数据方法
公司用于项目号的合成,怕忘记,特此放上这里.若能帮助其它道友,善莫大焉. 比如:001,004,006,007,008,009,010 结果可以输出:001,004,006-010 逻辑:1.获得数据 ...