在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: qfliuyang

[原创] 手把手教你独立做出《CMOS集成电路后端设计与实战》里的Lab

[复制链接]
发表于 2015-10-17 09:59:32 | 显示全部楼层
找不到fpu那部分
发表于 2015-10-17 10:00:23 | 显示全部楼层
楼主是用多少nm工艺做的?
发表于 2015-10-17 10:50:32 | 显示全部楼层
我也很愁闷,为什么没有人讲模拟呢?
发表于 2015-10-17 11:00:30 | 显示全部楼层
必须顶下楼主,楼主直播不能停哈!
发表于 2015-10-17 11:43:08 | 显示全部楼层
顶顶顶,eetop是个大宝库
发表于 2015-10-17 13:39:57 | 显示全部楼层
顶顶顶!
发表于 2015-10-17 14:02:05 | 显示全部楼层
顶顶顶
发表于 2015-10-17 14:15:39 | 显示全部楼层
坐等更贴!
发表于 2015-10-17 16:00:22 | 显示全部楼层
最近开始跟yyp的视屏学习,刘峰老师的书籍也打算入手一本。
 楼主| 发表于 2015-10-17 16:46:02 | 显示全部楼层
本帖最后由 qfliuyang 于 2015-10-17 23:22 编辑

1017第一更
这两天是周末,是小伙伴们玩耍的日子,我们就聊点轻松的,今天谈两个话题:
1、eetop能为我们后端学习者提供什么资源?
2、什么样的设计适合做为后端的lab

进入正题之前首先感谢刘峰老师的支持,一大早就发微信表示支持,当时我还没睡醒呢
也声明一下我开这个贴主要是自己闲得慌,并不是刘峰老师安排的。如果有什么差错大家冲我来哈,不要欺负刘峰老师

下面谈第一话题

一、eetop能为我们后端学习者提供什么资源

首先说答案:eetop里有的东西,可以让我们跑一个基本的flow,从synthesis到physical verification。因为,我们可以在eetop找到所有需要的软件、工艺库以及文档。至于能不能完成,就要看个人的自学能力了。
为什么这么说呢?首先看看eetop里有什么(仅针对后端)
(1)软件+crack。这个咱就不用说了,eetop里面能找到cadence和synopsys的绝大部分软件,对于后端初学者来说已经足够了。更可贵的是,很多软件都是在网盘上,现在随便找个网盘搜索引擎都能找到一大堆。目前就我用的比较多的synopsys家的软件来说,基本上已经更新到了J-2014.09,少数诸如StarRC什么的还没有跟上ICC和DC的脚步。啥?你还不会装?请出门左转面壁思过。
(2)库。自学过后端的都知道,咱们和前端不一样,没有一个完整的工艺库是寸步难行的。咱们eetop有没有?答案是有,但是绝对不是大大方方摆在你面前的。当年为了找寻后端资料,后端区的帖子我逐页看过,有关工艺库的帖子更是翻了个底朝天,最后攒了一个可用的库出来。大家看我的支出的信元就知道了。之所以要攒一个库出来,是因为要做后端,工艺库需要两方面的配合:一是IP Vendor提供的standard cell、io、memory compiler;二是foundry提供的tluplus,二者缺一不可。eetop中有关工艺库中的帖子往往是有了这个没那个,搞得哪个都没法用,只能退而求其次,攒一个了。攒的是哪个库呢?首先先进的工艺的绝对没有,能在eetop找到的就是SMIC 0.18um。直接给链接那绝对不是我的风格,但是我可以给大家些线索:eetop中一个帖子提供了比较完整的IP,有7 track和9 track的standard cell,单双口的sram和regfile,甚至还有rom;另一个帖子里的一个库也挺好,有standard cell、io和pll,最重要的是还有itf和tluplus。大家只需要动动手指,灵活运用关键字(smic 18 018 0.18 arm。。。。。。)都能找到。有些甚至能在百度网盘中直接搜到。

好了,软件和库都有了,下面就差一个合适的rtl了
不过。。。。。。聪明的朋友知道有关库的使用有一个大坑摆在面前,我没有点出来,咱们暂且不管,先谈下一话题

二、什么样的设计适合做后端的lab

一个好的lab胜过一本教科书,这个大家肯定深有体会,但是世上从来没有空手套白狼,要什么有什么的好戏。包括被初学者奉为圣经的synopsys官网的ces lab,我的感觉是,隔靴搔痒。基本概念介绍的倒是很好,可是总感觉没学到什么东西,虽然一个make,屏幕上花花绿绿的就出来了,但是总感觉没学到什么精华。
那除了synopsys的ces lab还有没有其他lab呢?当然是有的,有些还是挺好的,比如台湾某科研单位的ICC课程,大家一google就能找到。搁在两年前,台湾的ICC Lab是根本没用,为什么呢?因为没库,人家是要在EDA Cloud上做的。不过,好像是去年,某位老师用nangate(如果没听说过这个,说明在找资料方面有些太懒)的库实现了一次,并配套了相应的讲义。虽然flow简单的不能再简单,但是是个完整的flow,对于新手们也是能有些收获的。

那什么样的设计适合做lab呢?我觉得一个适合做后端lab的设计应该有以下几个特点:
(1)规模适中。新手弄个10万门左右的在自己的笔记本上跑跑还是没什么大问题的,太小了学不到东西,太大了又跑不动
(2)有macro。macro肯定也是要有的,否则floorplan就太没意思了。至于有几个macro对于新手来说先不用太在意,我自己几个macro到几十个macro都玩过,慢慢来。
(3)io少。这是最难以满足的一点,因为小规模的设计一般是一个模块,io动辄两三百个,对于想做top level实践的同学来说简直是噩梦。不过拿模块入门也没什么不好的,所以对于新手来说第三点可以忽略。

去哪里找这些设计呢?还是那句话,找不到说明你懒。
找免费的设计,第一个要想到的就是opencores。opencores上有数个ASIC proven的设计都可以用来做实践。规模合适的大概有两个,一个是or1200,另一个是msp430。or1200的规模大些,我记得macro有十几个,对于新手来说是个比较合适的挑战,但是缺点在于其是pad limit的;msp430的规模就小了许多,并且设计者还尽心准备了很完善的synthesis脚本,非常方面。这里有用过的小伙伴要来指责我了,说msp430里面根本没有macro啊。没有macro咱们可以制造macro啊,大家看过msp430的testbench中用的top level的rtl没?聪明的已经懂了。
免费设计还有个地方可以找,那就是各大开源处理器,能用的也就两个,一个是opensparc,另一个是leon。opensparc对于新手来说实在太庞大,把这货全部做出来基本不可能,因为opensparc没有提供reference design,还有就是opensparc需要很多定制的macro,除了SAED90里面有,其他地方不会有的。其实SAED90里面bug多的会把你气死,有商业的库就没必要口水教学库了。leon的话我flow已经跑完了,100w门的样子吧,68个macro,还是值得一玩的。不过leon的配置以及techmap还是要花点时间琢磨一下,以后有精力了可以挑战一下。
上面介绍的两大类基本上就包括了能够免费获得的、适合做后端lab的设计,其实还有很多,我就不一一列举了。各大论坛,以及各位同学学校里面肯定也有不少适合的设计,找一个适合自己的就可以。另外,开源处理器还有个fabscalar,需要加一个googlegroup并且提供相关信息,我嫌懒就没去申请,有兴趣的可以试一下参加fabscalar项目。
最后还是要说明,我这里所说的适合后端的lab是面向小白的。DT003那种神一样的lab咱就先不考虑了。

说了自己的观点,这里想妄自揣测一下为什么刘峰老师最后选用了opensparc T1的fpu来做lab。我觉得原因很简单:opensparc主页上就有以T1的fpu为原料的lab,用的SAED90的库。不过刘峰老师并非原封不动的拿来就用,细心的读者已经注意到,除了一个regfile以外,刘峰老师还给设计加了一个PLL,相比是为了让那个regfile不那么孤单吧


看到这里很多小伙伴们开始着急了,我在这里光说,连个链接都不贴,这是要干什么。关于这一点我非常赞同B哥(对,就是那个无处不在的B哥)的观点,我开此贴是为了分享经验,授小白以渔的,并不是来伺候各位的。想找一站式turnkey解决方案的这里没有,其他地方也不会有。动动手百度一下都懒得做的话,我就是把TSMC16nm的库和DT003摆在你面前,你又能学到什么东西呢?是的,你猜对了,我连脚本都不会贴出来的,因为最好的脚本已经在eetop里有了。勤快的小伙伴们已经慢慢摸索出了解决方案,懒的小伙伴还在批评我没有分享精神。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 17:00 , Processed in 0.027158 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表