FPGA中ISE软件调用IP核导入(.coe)文件并绘制正弦函数
作为一个FPGA小白,本人在学习FPGA软件的过程中看到了这个例子,网上也有相关的教程,奈何实在写的不清楚,我自己花了挺久才弄懂,为了在以后学习中少走弯路,把自己学习到的做个教程吧,供同样是小白的同学进行学习,要是有写的不对的地方,还请评论区指出,大佬要是有什么建议,还请多多指教。一点一点码字截图不容易,如果对你有帮助,还请点个赞再走。话不多说,马上进入正题。
//------------------------------------- 我是分割 ----------------------------------------------//
加入IP核,用matlab的数据直接画图
1、新建Project
点击File->New Project,得到下图
点击next
一路点到底直到finish
2、新建顶层文件
点击Project-New sorce,选择Verilog Module
然后一路Next到底
3、添加IP核
点击Project-New sorce,选择IP(CORE……)这一项
点击next,等一会生成IP核选择界面
选择这个界面,点击Next-finish,得到IP核设置界面
第一页不用动,点击Next
第二页也不用动,保证Memory Type是Single Port RAM即可,点击Next
这里要根据自己的数据改变位宽和深度,例子中位宽是16、深度是1024,然后点击next
点击Load Init File加载自己的文件,如果文件的格式和基数不对,会变成红色。(具体的文件怎么改格式,稍后再讲)
点击Browse选择.coe格式的数据文件,并加载进去,如果没有问题,就这这样的颜色。
然后一路点击Next到最后一页
最后点击Generate就可以生成IP核了,生成的时间有点久。成的结果如下。
4、将生成的IP核加载到顶层文件中
选择生成的IP核,双击点开下面的CORE Generator,得到.veo文件。
中间那部分就是生成的IP核实例,将其复制、粘贴到顶层文件中。
可以看到,IP核的注释部分从上到下分别为,输入:时钟、使能信号、地址、数据;输出:输出数据,将其直接复制到顶层文件的输入输出里即可。注意中间是用逗号“,”来连接。
然后保存,顶层文件就写好了。保存后可以发现,之前生成的IP核已经在顶层文件下面了。
5、写测试文件
选择Project-New Sorce,选择Verilog Test Fixture
选择第一个,表示在这个顶层文件下的测试文件。然后一路next到底。
选择右边的这个按钮
打开测试文件
我们需要写的输入数据有如下几个(输出数据dina不用写)
(1)时钟:每隔一段时间,翻转变化一次
(2)地址:由于输入的IP核是事先用matlab生成好的是数据,因此要把数据输出出来,需要通过地址的增加来做到遍历数据。
(3)使能信号wea:这个只需要把他置0或者置1就可以起作用。
按如下代码,写好程序
前面的都不用动。然后点击保存,就完事了
6、用Modelsim仿真验证
先选择这个,注意别选其他的,否则进入modelsim后会变成高阻状态
然后在下面双击这个,就可以进入到Modelsim仿真界面了。
界面如下
有用的就这几部分,点击run-all也就最右边这个按钮
让他跑一阵子以后点击stop按钮停下。
此时的图没什么变化,这是因为时间间隔太大了,要缩小一点,ctrl+鼠标滚轮把时间间隔缩小,即可得到下图。
那么如何才能看到正弦波呢?先用鼠标选中你的输出数据变量douta
点击右键,这里面有两个重要的选项
这里的Radix是选择选中的数据是几进制的,第一个是符号、第二个是二进制以此类推,在这里我们选择第一个,即符号。
Format是选择画图的,一般我们选择Analog(automatic)即可自动画图了。点击以后就是这个样子的
此时的输出数据已经画了正弦波,但是时间间隔还是太大,我们继续缩小间隔。即可得到正弦波的图了。
7、加入正确的.coe文件
【接上面第3点部分,如何加入.coe文件的正确格式】
跑出来的.txt结果是这样的
需要把前面的空格去掉,先选中空格,点击“编辑”-“替换,选择为逗号。
在最前面加上那两句,最后面加上冒号,并把第一个逗号去掉,最终结果如下,
然后就可以得到正确格式的.coe文件了。注意这个文件的深度和之前我们设置的1024的深度要是一样的,不然会报错。
码字不易,麻烦点个赞哟~~
FPGA中ISE软件调用IP核导入(.coe)文件并绘制正弦函数相关推荐
- FPGA设计中,Vivado 调用IP核详细操作步骤
FPGA设计中,Vivado 调用IP核详细操作步骤 今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看. 首先咱们来了解一下vivado的IP核,I ...
- FPGA中如何使用加法器IP核设计累加器
使用加法器IP核设计累加器 前言 一.顺序累加器设计 二.滑动累加器设计 总结 前言 在之前的一个项目中,我的工程一部分运算中主频达到了400MHz时钟.当时的运算需要用到cnt累加器,但是在最后的综 ...
- 基于ISE的QDR IP核调用与硬件自检
平台:ISE(IP核用法同VIVADO) 语言:VHDL(Verilog用法类似) FPGA型号:V6-315T,ffg1156-1 QDR型号:GS8342D08GE-300I(类似) XILINX ...
- 【FPGA学习】Quartus II中NCO与FFT ip核的仿真
FPGA有许多IP核使用起来很方便,本篇博客记录一下NCO以及FFT的IP核使用和学习,实验平台是Altera公司的EP4CE40F23C8N 参考资料: Altera--NCO IP核详解 ALTE ...
- 征战FPGA之使用clk_wiz的IP核获取任意频率时钟
一.前言 clk时钟在FPGA开发中具有举足轻重的作用,不管是串口UART,HDMI还是对各种视频编码芯片的驱动等都用到了clk.最近也在学习FPGA的跨时钟域,因此想着先学习一下FPGA的时钟生成. ...
- vivado调用IP核详细介绍
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...
- ISE的FIR IP核实现
IP核参数设置 滤波器系数产生 和Quartus不一样,Vivado的FIR Compiler没有提供设计FIR滤波器和生成滤波器系数的功能,因此需要使用MATLAB等其它工具设计好滤波器再将系数导入 ...
- 调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)
在上一篇的文章中:https://blog.csdn.net/weixin_44502554/article/details/126228405?spm=1001.2014.3001.5502 讲述了 ...
- vivado中复数乘法器的ip核调用及其仿真的详细介绍
复数乘法器的ip核可在下图的中找到 ip核的输入配置和输出配置如下图所示 当我们在选择multplier construction的Use LUTs选项时,选择的是三次乘法的算法,相比于四次 ...
最新文章
- ITK:读写矢量图像
- html显示日志_如何实现类似“jenkins”的滚动日志功能?
- 记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法)
- unity3d ppsspp模拟器中的post processing shader在unity中使用
- HttpWebRequest,HttpWebResponse
- xcodebuild命令行打包发布ipa
- HDU 5145 NPY and girls (莫队分块离线)
- 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?
- chrome浏览器糟糕WEBGL遇到了问题,如何解决
- 动态规划之挖金矿(背包问题)
- container 和initContainers使用
- “Entity Data Modle Designer 无法显示”的问题
- 关于IOS设备window onscroll滚动条滚动事件不触发的问题
- Excel表格导入数据库进行判断是否有相同的数据
- 天猫四大独门利器,助力品牌引领消费趋势
- Mysql面试题总结(1)
- 华为服务器修改root密码,华为esc服务器root密码
- 如何成为一名合格的运筹优化算法工程师?
- PCBA产业摩尔MES解决方案
- dw版权信息栏如何制作_dreamweaver如何制作浮动广告_dreamweaver教程
热门文章
- 《也作瑶池》 ——惊闻许玮伦逝去
- 无法斑驳的青春,折射出心里每一丝憧憬和每一缕不甘
- 手机屏幕坏了怎么把数据导出来_手机屏幕密码忘了怎么办?这个方法轻松解除手机屏幕密码...
- Vacuum探索——初识vacuum
- channel 1:open failed : administratively prohibited : open failed
- 新手小白怎么做shopee虾皮跨境?记住这三点不会被割“韭菜”
- 什么决定了你的自我驱动力
- Deferred Shading,延迟渲染(提高渲染效率,减少多余光照计算)【转】
- 中国农大博士计算机专业考试大纲,中国农业大学考博经验
- C++ 牛客网做题总结