新闻  |   论坛  |   博客  |   在线研讨会
项目日志1——整体划分
0750long | 2010-03-13 16:04:11    阅读:1169   发布文章

项目日志1——整体划分

         特权同学最近在做一个测控设备的项目,因为接口比较多,但协议不复杂,所以主要用FPGA全部搞定。在今后的一些《项目日志》里,不会过多的讨论项目本身的一些细节,只是从大处来分享工作的思路。诸如模块划分,模块细分,设计可验证的考虑,调试的方式,以及详细设计中碰到的一些问题。可能出于时间和成本考虑,很多的调试和验证手段都是最简单轻便的方式。也许这些东西对大家不一定有用,但是对于个人的项目总结、回顾和经验的积累都是很有帮助的。

项目的硬件框图如图1所示。原理图和PCB都绘制完毕,目前处于制板状态。由于这个项目除了上位机软件设计另有其人,其他东西基本是硬件工程师的活,也就是要又特权同学一人全部包办。所以趁着硬件(元器件级)设计空闲的当儿,开始FPGA代码设计。

点击看大图

1

         初步对工程的FPGA设计进行了一下简单的模块划分,如图2所示。可能最终的模块划分会和目前的这个框图有一定的出入,当时基本的思路应该是差不多的。

 

点击看大图

2

ModelSim-Altera对于变量(reg,wire)或常量(parameter,`define)的申明必须在使用之前。Quartus II本身各个版本好像一直不是对这个问题有要求,也就是说有些变量或常量的定义可以在使用之后,印象中ISEModelSim-Altera一样对这个问题比较敏感。这个问题本身也没有太多可讨论之处,但是项目做多了,需要重用的模块多了,也许您会遇到和我一样的问题,明明我在QII中用得很HIGH的模块,一移植到ISE下不灵了——一大堆的ERROR。不知您是否注意到了,有时候问题也许就出在上面所提到的细节上。这也算是代码风格吧,只不过这是开发工具的不兼容或说是不够智能造成的。我们能做的就是尽量避免这样的麻烦,所以代码书写的风格上也是可以考虑更多的向不够智能一方兼容的。这应该是基于最大限度的让我们的设计模块达到通用性方面考虑的。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客