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 ...
随机推荐
- 0 can't find referenced pointcut declarePointExpress
今天在用SpringAOP 的 @pointCut 的时候报错 Exception in thread "main" org.springframework.beans.facto ...
- Spring框架(二)
Spring反射机制: 1, 通过spring来获取一个对象的实例 <bean id="user" class="com.model.User"> ...
- Maven仓库搜索jar包依赖网址
可在该网站搜索jar包依赖 http://search.maven.org/
- oracle数据库知识点
1.oracle启动后的服务 1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存 ...
- JQ重复注册问题
开发中常常会碰到事件重复注册,简单总结一下解决方法. (1)bind注册事件 $('...').unbind().bind('...',function(){}) (2)live注册事件 $('... ...
- 使用jsonp完美解决跨域问题
调用web接口,get请求,发现提示:No 'Access-Control-Allow-Origin' header is present on the requested resource. 这个和 ...
- 【转】python数据格式化之pprint
pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅 ...
- ubuntu环境下lnmp环境搭建(1)之Mysql
1. vm下安装Ubuntu 1)下载镜像ubuntu-15.04-desktop-amd64.iso http://yunpan.cn/cF5dwV6zw33ef 访问密码 ecba(个人分享在36 ...
- SqlServer和Oracle中一些常用的sql语句8 触发器和事务
--创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if E ...
- JavaWeb之response响应中文乱码问题
response向页面响应中文乱码问题 字节流 * 有可能乱码,与中文转换成字节数组.浏览器打开的默认字符编码有关 * 解决方式:将中文转成字节数组的时候和浏览器默认打开的时候采用的字符集一致 re ...