MBD-FPGA 开发与实现 http://blog.sina.com.cn/McCrocodile
这个简单的例子主要说明使用Simulink的MBD-FPGA基本开发流程。你将体会到这种开发解决方案是多么的高效和简单。
目的:
实现一个循环点亮的LED灯。
模型构建:
屏幕剪辑的捕获时间: 2011/10/5 21:31
屏幕剪辑的捕获时间: 2011/10/5 21:15
屏幕剪辑的捕获时间: 2011/10/5 21:15
屏幕剪辑的捕获时间: 2011/10/5 21:36
设置要生成HDL代码的子系统,选择要生成的语言,以及生成HDL代码的文件夹,设置好这些之后,单击Run Compatibilty Checker检查是否有代码不能生成代码或者有设置不支持。
屏幕剪辑的捕获时间: 2011/10/5 21:46
屏幕剪辑的捕获时间: 2011/10/5 21:53
可以看出这里选择的计数器模块不支持生成HDL代码,初学者经常遇到这个问题,在命令行窗口输入:hdllib(还有一个是eml_hdl_design_patterns),里面的模块都可以生成HDL代码,只要找到替换上面的模块就可以了。绿色的为替换后的模型如右侧。
屏幕剪辑的捕获时间: 2011/10/5 22:05
屏幕剪辑的捕获时间: 2011/10/5 22:07
可以看出来替换后的仿真结构一致,再来看看检查的结果。
屏幕剪辑的捕获时间: 2011/10/5 22:10
之后可以单击Generation生成HDL代码,下面是生成的报告。
屏幕剪辑的捕获时间: 2011/10/5 22:10
好了,这儿生成的代码,你可以集成到你的工程中了。不过时序逻辑,会自动加入时钟复位,时钟使能等端口。
屏幕剪辑的捕获时间: 2011/10/5 22:13
全局设置:对复位形式,高电平还是低电平复位等作设置。
屏幕剪辑的捕获时间: 2011/10/5 22:17
屏幕剪辑的捕获时间: 2011/10/5 22:20
单击生成测试激励,生成联合仿真测试模型,如下图。双击Start Simulator模块启动ModelSim,如果你的ModelSim安装正确(ModelSim? SE 6.6c, 6.5f, 6.4g ModelSim PE 6.6c, 6.5f, 6.4g ModelSim DE 6.6c R2011a只支持这几个版本 ),ModelSim将自动启动,并编译HDL文件,最后会显示Ready for Simulation,表示可以开始启动Simulink开始仿真。
屏幕剪辑的捕获时间: 2011/10/5 22:22
观察结果:可以看得出来ModelSim的仿真结构和Simulink的行为一致。
屏幕剪辑的捕获时间: 2011/10/5 22:40
这儿这个FlashLED的程序就可以作为顶层文件,那么直接分配管教之后就可以下载到FPGA就可以工作了,不过你似乎要注意这儿有个时钟时能端口的处理。
思考一问题:
如果你现在要增加灯的数量,你需要修改那些地方就可以了?如果你是写的HDL代码又怎样修改?
文章评论(0条评论)
登录后参与讨论