您的位置:首页 > 其它

基于模型设计的FPGA开发与实现:基本流程(一)之入门小例子(二):秒表

2011-10-12 09:27 1111 查看
MBD-FPGA 开发与实现 http://blog.sina.com.cn/McCrocodile 这个例子是演示在Simulink环境下借助Stateflow设计一个FSM是多简单的事情,即使生成HDL代码也轻而易举。同事还将Matlab Function如何用在Simulink中生成HDL代码做了介绍。

要实现的功能:

计时

定时(倒计时)

模型构建:

实现思路:设计一个状态机控制计数器,如置数,增计数,减计数,复位;设计一个真值表完成数码管的显示译码。

仿真模型构建:

框图:



屏幕剪辑的捕获时间: 2011/10/11 20:13

使用到的主要模块:Stateflow设计状态机,LUT实现查表,计数器
建模说明:外部有两个按键上升沿除法,状态机控制计数器,计数器的输出为

对模型设置:

对Stateflow设置





FSM图表:



屏幕剪辑的捕获时间: 2011/10/11 20:15

MatlabFunction



屏幕剪辑的捕获时间: 2011/10/11 20:17

对模型定点化之后就可,就可以生成代码。这里具体设置可以自行查看源文件,在我的SkyDrive(博客首页有地址)可以下载到。如何生成代码就是后面介绍基本开发流程的重点,学习完后面你就都会了。你可以现在就去看看Matlab的帮助额。



屏幕剪辑的捕获时间: 2011/10/11 21:32

思考:
这儿计数器的是每个始终周期加1,开发板的系统时钟是50MHz,那如何以秒为单位计时?

一种方案:首先通过PLL得到1KHz的时钟,在对模型修改,使用两个计时器,修改模型如下。



屏幕剪辑的捕获时间: 2011/10/11 21:52

从上面的可以看出,MBD FPGA开发的维护是要比修改HDL代码简单多了。可维护性优势明显!!!只不过这儿的这个问题应该在前面就解决的~~~~~~~~
最好在思考如何修改为可以计时到分钟的~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐