打印

平民级的FPGA的RTL级设计笨办法。欢迎参加讨论!

[复制链接]
1904|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoyuan_ly|  楼主 | 2013-4-4 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiaoyuan_ly 于 2013-4-4 13:16 编辑

平民级FPGA的RTL级设计笨办法。欢迎参加讨论!



1、由来: 近年来,一直断断续续在看一些RTL级的设计东西,基本上都是一知半解的。拿来用还可以,拿来再稍微改下符合自己的需要也还可以。可是,让自己去真正的设计一个相对来说大点的系统,就吃不消了。脑袋瓜子的脑容量有限,虽然不比别人聪明,但自觉也不笨。虽也有一定的恒心和毅力,可大部分终究都不了了之。于是乎,在心中总有这么一个想法,难道真的是太难了,超出了自己所能承受的”极限“吗?

2、思考: 一直都带着这样的问题和疑惑?! 于是就一直在侧重看和思考别人产品的整体实现和思路。可是,真的有点烦了,我也知道自己一个人”闭门造车“的滋味不好受,可是能有什么办法呢?! 后来我想了一个办法,花钱买核,其实买核不是我的目的,我的目的是通过买核,可以和设计者接触,毕竟有偿下的问,人家的回答总会容易一点,利索一点和耐心一点,虽然期间也被骗过钱,但对我来说,也只能是一笑置之了,谁叫我有求于人呢?但花了钱的毕竟就是好,虽然都是针对特定项目,但勤能补拙嘛,多看多想了,也就自然有自己的想法了。在这里,我先将自己的一些想法和思路说一下,也请各位对不总之处指点下、讨论下、深化下了。如下:

3、RTL级的基础:组合电路和时序电路,对应的就是导线wire和寄存器reg。我记得以前自己好像也写过一个帖子,将wire说成是”水“,reg当成拦水的”大坝“。而这些我都是从”微观“的角度在描述,对于规模小的电路来说,就已足够。我这里很明显的例子就是关于VGA的显示实现,并运用在产品中了,效果非常的好。后来陆陆续续做过点东西,不过都是小东西了。从我实现的方法来说,都是至下而上的思路。小点规模的电路基本上都可以装入自己的大脑,并且逻辑清晰不会出错。可是想尝试下设计点大的,大脑就吃不消了,全乱了,有了这里没那里,今天是这样,明天就又全部推翻成那样了。说真的,做点大的真的不容易,对我来说,总想搞个自己的51核就是一个例子。

4、CPU的RTL级设计笨办法:在这里我先说下:至下而上和至上而下。说真的,至上而下真的有点不适合我,我只是个普通人。真的没有那么强统御全局的能力,只是觉得那是高手级别的方法了。那我只能至下而上了,就是因为自己在方法上的欠缺,让我吃尽了”苦头“,不过”苦头“也是带点”甜“的了。下面是我想到的一些东西,但愿可以给后来人点参考,少走点弯路: 说穿了还是要至上而下的方法,但太精确的至上而下的设计方法太不适合我这平民了。于是我就用粗的至上而下+至下而上来实现,首先先定义下基本框架,在这中间我也不太清楚自己到底要用到多少的寄存器,于是我就定义了一个大段位reg,比如 reg cpu_reg[255:0],这个就可以理解为全局变量,然后你要用的都到这个段reg中去定义用,再在手头边记录下这些被用的reg变量的定义,在一个功能中被使用过了,在其他地方就不要再用了,这就是”全局变量”的意思。在设计中,当这个全局变量表不够用的时候就扩展,如变成reg cpu_reg[511:0]。就这样至下而上一直做下去,直到ip核完成。然后编译时,就是警告一大堆,别介意。当功能验证的OK的时候,接下来再进行优化了,将各个小功能段中没有用到的reg全部自己优化掉,以节省硬件资源。然后再次进行功能确认,就这样你就会有成就感了。期间还要提醒一点,我们虽是使用编程语言,但我们做得是硬件资源设计,硬件功能实现。从狭隘的层面理解,硬件的要素就是wire和reg,上面的方法就是让平民级的我们去搞定reg,那么wire呢?这个我就不说了,自己去看书找资料吧,我没有方法了。所以我们只要带点全局的思维,再加上我们局部的笨鸟笨办法,再加上勤能补拙,再加点努力和毅力(不用太多),我们就同样能搞定神一般的大规模的大层次的电路设计。毕竟逻辑无限,硬件有限了。

5、 好了,我就只有这点能力,就说这么多了,希望能像我一样的菜鸟一点启示,同时欢迎参加讨论,希望你有什么好想法好方法好思路,都来说说了,都会有分奖励的了。因为我们都是行动的主人。 谢谢!!!










相关帖子

沙发
ifpga| | 2013-4-4 14:27 | 只看该作者
FPGA设计
我的做法
先写设计说明书
再按模块写代码、仿真
无误,再拼接

使用特权

评论回复
板凳
schspa| | 2013-4-6 02:59 | 只看该作者
我觉得,不应该拿HDL跟C语言作对应,是有一点儿好处,但是绝不是什么好方法。。

使用特权

评论回复
评论
xiaoyuan_ly 2013-4-6 20:54 回复TA
那说说你是怎么来组织大点的复杂点的东西了!! 谢谢 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:追求卓越,成功将不期而至。

27

主题

284

帖子

1

粉丝