【lattice软核】ROM的使用
=======================》》》》》
一、ROM核调用:==================》》》》》
=======================》》》》》


=======================》》》》》
二、ROM表的生成:==================》》》》》
=======================》》》》》
查看内存使用手册,如图可以找到,我的是MachXO2系列芯片


在手册中查看.mem文件需要的格式




了解了文件数据格式,那么就需要编写数据了,数据可以自己计算来填写,比如编一个1024*8的正弦波表,但是手工麻烦
下面介绍下工具,我暂时没找到更好的工具,如果大家有更好的工具希望能告知。当然也可以用execl,matlab等实现。

软件下载页面点此下载
使用方法
1、查看--全局参数里设置一下

2、点设定波形--正弦波。就有了波形数据了
3、点保存,保存为mif文件。 此时保存的文件和.mem需要的内容格式不同,需要手动修改,打开文件如图

每行后的分号也需要去掉哦
在最后一行还有个END,记得删除
4、另保存为.mem格式(记事本似乎不可以竖列选,我用的是notepad++,其他高级编辑器也都可以)
5、回到IP核调用那块重新调用,把这个文件添加进去,选择hex文件格式的,生成
=======================》》》》》
三、ROM软核添加进工程:==================》》》》》
=======================》》》》》
1、打开工程目录,找到刚才省成的rom.v文件,拖放到diamond的source文件

=======================》》》》》
四、rom核的使用:==================》》》》》
=======================》》》》》
我现在要写一个ROM直接接DAC输出正弦波的,则要考虑时序,查看手册


DAC的时序如下

具体分析自己看,可以看出需要在时钟下降沿改变地址,上升沿时保持稳定
则代码如下
/*--------------------------------------------------------------------------------------
-- Filename ﹕ dac.v
-- Author ﹕tony-ning
-- Description ﹕DAC硬件测试 ,10M方波,AD9760
-- Called by ﹕Top module
-- Revision History ﹕15-10-16
-- Revision 1.0
-- Company ﹕
-- Copyright(c) All right reserved
---------------------------------------------------------------------------------------*/ module dac
(
input CLK25, //输入25M时钟
output CLK_DA,//输出给DAC的100M时钟
output [:]date_out
); reg [:]count2; always @( negedge CLK)//地址累加,下降沿改变
begin
count2<=count2+;//改变累加数字可改变输出频率
end assign CLK_DA=CLK;//时钟输出 pll PLL100M//锁相环倍频
(
.CLKI(CLK25),
.CLKOP(CLK)
); rom_sin sin//调用rom核,
(
.Address(count2), //地址
.OutClock(CLK), //时钟
.OutClockEn('b1), //输出使能,高有效
.Reset('b0), //复位,高有效
.Q(date_out)
); endmodule
【lattice软核】ROM的使用的更多相关文章
- 【lattice软核】MICO8流程
The LatticeMico System software is composed of three bundled applications: Mico System Builder (MS ...
- Spartan6上软核系统自定义外设调用AXI Stream FFT经验
这几天希望能在Spartan系列新品xc6slx16csg324-2运行带有FFT的软核处理系统,基本系统早就搭建好了.需要做的就是建立一个封装有Xilinx提供的FFT IP的自定义外设.由于Xil ...
- 【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用
十.MC8051软核在FPGA上的使用 本教程内容力求以详细的步骤和讲解让读者以最快的方式学会 MC8051 IP core 的应用以及相关设计软件的使用,并激起读者对 SOPC 技术的兴趣.本实验重 ...
- wrHDL编译中软核代码初始化及编译耗时长的问题
问题的提出整个WR的ISE工程比较大,编译时间很长,导致开发效率低.通过分析发现,ISE在综合的时候大量的时间都花在了初始化DPRAM上.调研发现Xilinx提供了BMM文件和DATA2MEM工具,可 ...
- [置顶]
基于FPGA的VGA简易显存设计&NIOS ii软核接入
项目简介 本项目基于Altera公司的Cyclone IV型芯片,利用NIOS II软核,2-port RAM与时序控制模块,实现64*48分辨率的显存(再大的显存板载资源m9k不够用) 实现效果如下 ...
- ISE创建Microblaze软核(三)
第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...
- ISE创建Microblaze软核(二)
ISE创建Microblaze软核(二) (2012-07-13 15:09:08) 转载▼ 标签: 杂谈 分类: FPGA开发 第四步 进入Platform Studio操作界面 通过向导创建软核后 ...
- ISE创建Microblaze软核(一)
在使用FPGA时,有时会用到它做为主控芯片.对于习惯于单片机及C语言开发的人,使用FPGA做主控芯片,首先还是想到它的嵌入式软核功能.如果能够基于Microblze软核进行C语言程序的开发,相对于使用 ...
- FPGA的软核与硬核
硬核 zynq和pynq系列的fpga都是双ARM/Cortex-A9构成,这里的ARM处理器为硬核,Cortex-A9部分为FPGA部分.即整体分为两部分:PS/PL.PS部分为A9处理器部分,PL ...
随机推荐
- HDFS shell
bin/hdfs -help bin/hdfs dfs -mkdir -p /yfq/test/ bin/hdfs dfs -put /etc/profile /yfq/test/profile 上传 ...
- [OC]宏与const 的使用
Tip: OS日常工作之常用宏定义大全 (摘录文档地址,感觉还不错,例子简单易懂) extern字符串常量,宏定义字符串常量,怎么选? Define与Const专题 extern字符串常量,宏定义字符 ...
- TCP/IP详解学习笔记
TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...
- jq
1: http://jquery.cuishifeng.cn/index.html jquery 学习查询首页<br> 2: http://m.oschina.net/blog/75741 ...
- docker centos7 rabbitmq3.6.5
docker run --name=rabbitmqtmp -ti centos7/jdk7 /bin/bash yum -y install make gcc gcc-c++ kernel-deve ...
- 【解决方法】magento paypal快速结账 不跳转
magento paypal Express Checkout(快速结账) 页面不跳转到Paypal的解放方法 我使用的magento 1.9.0.1 版本的,Paypal 快速结账都已经设置完毕,但 ...
- [转载]自己编写 php 在线问卷调查程序
<html> <head> <title>问卷调查</title> <meta http-equiv="Content-Type ...
- Eenterprise linux服务器分区
分区说明: (在MBR格式的硬盘下我会分/ /boot swap /data 四个分区,不建议在服务器上面使用LVM,中大型企业的IDC都是有存储区域的,专门管理硬盘容量的.)(分区的时候,请注意顺序 ...
- laravel 5.2 引入第三方类
composer 安装类依赖包 很受用 也很方便 但是要是一个有一定规模的公司技术团队 因为要照顾大局 还是引入类好些 下面是引入类的方法 1.首先在app目录下创建一个新的文件夹,命名Tools(可 ...
- ASP.NET 控件前缀命名规范
标准控件 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lb ...