原创 DSP Builder体验

2010-5-4 15:20 6016 10 11 分类: FPGA/CPLD

摘要:本文以dds为例,介绍如何利用dsp buildermatlab工具来进行设计,仿真。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


流程如下:


1、  安装开发工具;


作者使用的开发工具为:Quartus II 7.0DSP Builder7.0matlab 7.0modelsim se 6.2b


当然,您也可以选择其它版本的软件来搭建开发环境,但必须注意:由于建模、仿真和生成vhdl代码都是在matlab下完成的,因此matlab的版本要等于或高于dsp builder,还有,dsp builder的版本应于quartus一致。


由于装dsp builder时会自动搜索matlab的安装路径,所以需要在装dsp builder之前安装matlab。还有quartus也需要在dsp builder之前安装。


2、添加dsp builder库至simulink下;


   Dsp Builder安装过程结束前会自动添加库至simulink中。如果添加成功,则在simulink下可以看到dsp builder的库,如下图:


0f41e55a-07e6-4bdc-92ea-bb89cfbb5aee.JPG


3、在matlab下建模;


   建立dds模型,频率累加器、相位累加器、正弦查找表等等。如下图


点击看大图


 


注意:这些模型有dsp builder库中的(蓝色部分),也有simulink库中的(黑色部分),只有dsp builder库中的才能成生vhdl代码,其它库中的则不能生成vhdl代码,但这些会生成仿真激励。


4、在matlab下仿真(算法级)


   点击simulation-> start启动仿真,在scope里可看到结果,如下图


点击看大图


这是在频率控制字为9000000,相位控制字为20,振幅控制字为223时输出的正弦波形。


5signal compiler生成vhdl


   点击signalcompiler


cac4a981-4cfb-4e9b-acb2-8cc7279dbcc9.JPG


Testbench下打勾,执行1 2 3步即可生成vhdl代码,并自动创建quartus工程,和testbench激励文件,及testbench仿真脚本。


点击看大图


6modelsim下仿真(RTL级);


打开modelsim,点击tools -> TCL -> Execute Macro… 找到testbench仿真脚本文件tb_dds.tcl


点击看大图


运行脚本,仿真开始,最后弹出波形窗口,手动将波形格式由数字转换为摸拟显示,如下图:


点击看大图


7Quartus下选择器件,锁定引脚,综合,生成目标文件;


8、下载至FPGA,调试。


结语:dsp builder中的模型,在matlab下进行仿真验证,并自动将其转换为vhdl语言,同时还自动生成testbench激励文件,省去了手工编写代码,激励文件,大大提高了工作的效率。


 


本文PDF及文中matlab工程文件


rar


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2016-1-20 10:09

请问,编译时systhesis通不过是什么原因?
相关推荐阅读
用户1278632 2011-09-15 12:49
解决FPGA配置成功,但不能初始化运行的BUG
摘要:    遇到两次FPGA配置完成,却不能正常运行的问题,一次是ALTERA的A1C3,另一次是XILINX的XC3S700A。两次都是DONE信号的问题。问题虽不大,但却很折腾人,今天在这里作下...
用户1278632 2011-09-15 12:41
Code Edit的神器UltraEdit
摘要:      我不是一个专职的程序员,但经常会要写一些单片机底层的code和hdl code,起初用UE,是因为查找和批量修改很方便,而且不会额外的生成一些“垃圾”文件;现在用UE三年多了,一直都...
用户1278632 2010-12-29 09:29
ISE与EDK联合设计报错 ERROR:NgdBuild:604 logical block
做一个很简单的测试在ISE的SCH里调用EDK的symbol,EDK的功能也很简单,就是CPU通过串品打印一串字符首先,我建一个ISE工程再建一source  sch类型,并设置为顶层,取名为top....
用户1278632 2010-12-22 14:49
EDK12.2中 mch_emc IP的时序问题
mch_emc IP可以将PLB总线时序转为inter 8080时序 下面是我用chipscope抓到的波形Mem_DQ_O_In :  数据输入 Mem_OEN:      读信号  Mem_A: ...
用户1278632 2010-12-22 14:29
xilinx FPGA的配制与应用程序引导-范例
两个Xilinx FPGA应用程序引导的范例1、run_in_flash是直接在NOR FLASH里运行程序2、spi_flash_boot是将BIT和bootloader和APP全部固化到SPI F...
用户1278632 2010-12-19 13:48
EDK下sram IP的使用
EDK软件的memory and memory controller中有一个xps multi-channel external memory controller(sram/flash)的IP,用来...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /3 下一条