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 ...
随机推荐
- 作为一个C#程序员, 你应该上手Kotlin
Kotlin最近火了, 在Google IO大会 Kotlin宣布Kotlin将会成为Android官方开发语言之后, Kotlin这样一个JVM上的新*(其实从诞生到现在已经有5年历史的)语言. 终 ...
- SQLServer 自动循环归档分区数据脚本
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/表分区 概述 在很多业务场景下我们需要对一些记录量比较大的表进行分区,同时为了保证性能需要将一些旧的数据进行归档.在分区表很多的情 ...
- Centos6.7安装chrome
cd /etc/yum.repos.dwget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo yum install c ...
- js转换字符串为数值的方法
在js读取文本框或者其他表单数据的时候获得的值是字符串类型的,比如两个文本框a和b,假设获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,由于他们都是字符串形 ...
- 第4章 同步控制 Synchronization ----信号量(Semaphore)
许多文件中都会提到 semaphores(信号量),因为在电脑科学中它是最具历史的同步机制.它可以让你陷入理论的泥淖之中,教授们则喜欢问你一些有关于信号量的疑难杂 症.你可能不容易找到一些关于 sem ...
- 糖果大战 hdu1204
糖果大战 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- poj2528 线段树+离散化 (倒序)
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...
- PHP抓取网页图片
<?php set_time_limit(0);//抓取不受时间限制 if($_POST['Submit']=="开始抓取"){ $URL=$_POST['link']; g ...
- tomcat 内存大小配置
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存和最大内存在一定程度都会 ...
- C#无限分级实现,前端WEB页面接收,后台提供层级Json数据
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...