第一章 所谓的顶层设计

  • mamba24
  • LV0工程师
  • |      2014-10-22 22:22:11
  • 浏览量 1875
  • 回复:17
众所周知,FPGA的顶层设计方法有:
HDL设计文件(文本文件)和电路图设计文件(原理图文件)
如图所示:
个人觉得原理图文件来设计的顶层文件比较适合简单的逻辑设计来使用,用文本文件来编写的顶层文件更适合比较大型的,复杂的项目设计使用。说到用文本文件来设计顶层文件,具体的方法是神马?该如何去做?
首先,当你接到一个项目的时候,心里要有数,所有接口改如何去定义,就拿我做的项目为例子。我做的是一个SD卡调试,用串口连接,显示到串口调试助手上面,来比较原来在SD卡里面数据的差别,显示一样,就证明调试通过,期间用led灯来显示SD卡初始化状态的一个情况。由第一幅图就可以了解到,你想调试SD卡,就需要几个基本的模块来组成:SD卡模块(包括SPI的控制模块),FIFO模块,串口调试模块。这些都是我所说的心里有数的概念,你一定要理解这个心理有数,到底是有神马一个的数。接下来的事就非常好办了,设计顶层文件(我用的是verilog编写的),特别注意的一点就是:文件名一定要跟顶层文件的项目名字一致。图一可以知道,你要定义的接口主要有这些,如下图:

这是最基本的输入输出接口,不包括中间接口定义,这个你学verilog语法的时候就已经学会的知识,这里不再多说。
下图是顶层模块设计的基本例化模块样本:

接下来就是个个模块的例化:
有人就会问,那例化模块多出来的接口,又如何定义呢?如下图所示:

要注意的一点就是,例化的模块,如 .led(led) 。外面的led是你在子模块里面要定义的接口,这可以随便改,你爱怎么称呼就怎么称呼,但是里面的led就是你顶层模块定义好的接口,一定要对应的填上。
其实当你做了几个比较像样的项目后,就会觉得顶层模块的设计是非常简单,关键还是要看好接口的定义,和设计,细心最重要。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:14
闭上眼睛就是天黑 2014-12-25
不错啊,一看就是好贴
0   回复
举报
发布
mamba24 2014-10-26
好的,花时间整理一下
0   回复
举报
发布
mamba24 2014-10-26
嗯,的确将DSP抛离了
0   回复
举报
发布
mamba24 2014-10-26
CB的教材不错
0   回复
举报
发布
人生若只如初见 2014-10-26
另外,能不能推荐一本系统学习FPGA的经典教材?网上找的好乱的说
0   回复
举报
发布
人生若只如初见 2014-10-26
虽然现在FPGA多用在硬件设计仿真机片上系统设计,但是它的运算和运行速度越来越能够比拟DSP了,感觉DSP快要退出历史舞台的样子
0   回复
举报
发布
mamba24 2014-10-23
嗯嗯,修改了
0   回复
举报
发布
s112 2014-10-23
可以重新编辑的啊
0   回复
举报
发布
gtrjolin1986 2014-10-23
嗯,字体可以大些,需要这种系列原创,支持!
0   回复
举报
发布
mamba24 2014-10-23
相互学习
0   回复
举报
发布
查看更多
x
收藏成功!点击 我的收藏 查看收藏的全部帖子