EETOP 创芯网论坛

找回密码

  登录   注册  

搜帖子
电子资料:5G承载光模块测试方案介绍 |有奖下载: 300信元+27个幸运抽奖)
楼主: qfliuyang

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

[复制链接]
发表于 2015-10-17 19:44:39 | 显示全部楼层
回复 1# qfliuyang


   zhichini!支持你
回复 支持 反对

使用道具 举报

发表于 2015-10-17 19:57:34 | 显示全部楼层
回复 1# qfliuyang

你好同学!看到你把leon的后端flow全跑了,真是感觉自己找到救星了!我目前也刚开始做leon的后端,希望可以提供一个联系的方式,当我遇到问题了请教你一下,不知道可不可以~
回复 支持 反对

使用道具 举报

发表于 2015-10-18 15:04:00 | 显示全部楼层
msp430里面没有macro,怎么造?真心不懂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-18 15:07:17 | 显示全部楼层
回复 12# wangyongan


   我自己玩用65nm或者0.13。这么简单的lab用什么工艺都无所谓吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-18 15:09:35 | 显示全部楼层
回复 23# wangyongan


   openmsp430_latest\openmsp430\trunk\core\bench\verilog    发现了没?
回复 支持 反对

使用道具 举报

发表于 2015-10-18 17:03:45 | 显示全部楼层
这个必须顶啊!
回复 支持 反对

使用道具 举报

发表于 2015-10-18 18:43:59 | 显示全部楼层
顶起  !!  话说我正好是研一。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-18 18:46:04 | 显示全部楼层
本帖最后由 qfliuyang 于 2015-10-18 18:47 编辑

1018第二更

首先来说说昨天留的那个坑,这个坑说大也不是很大,但是绝对不是小坑


当初年少无知,手握几个memory compiler以为天下我有,但是在linux一运行就报错,百度一下说要用sparc,这好办啊,找了个sparc的镜像装了个虚拟机,见识了一下传说中的sparc之后还是不能运行,仔细百度了一下发现必须要sparc架构。这下傻眼了,难道只能去淘宝花2000块钱买个sun的工作站?
当然不用,伟大的百度和google告诉我x86上是可以装sparc架构的虚拟机的,答案就是simics。某linux论坛以及eetop都有有关用simics在x86机器上做sparc架构虚拟机的帖子,包括我自己也写了一篇。网上的教程虽然不是step by step,但是有基本的debug能力还是可以搞定的。但是,这会是一个非常耗时的过程,我用一个小破笔记本装了大约20几个小时,用另一个i7本装了10几个小时。。。人艰不拆,最后换回来一个流畅的像幻灯片的solaris 10虚拟机,桌面真是丑爆了。
memory compiler怎么用就不用说了,都是秒懂的。


下面进入今天的主要话题

一、如何做macro的milkyway library?

其实这个话题没什么好说的,虽然milkyway这个软件十分反人类,但是help和文档做的还算详细,一步步来没什么大问题。不过这里嘱咐一下新手,做后端lab还是先不要用gds做fram view,直接用arm推荐的方法:read lef做fram和cel view,然后read gds覆盖掉之前的cel view,省时省力省心。用gds做真是乱七八糟的事情超多,之前用gds做过几次发现都不如用lef做的好,我准备有闲的时候好好试验一下各项setting的效果。
read lef的时候需要一个map file,如果你肯百度的话,会发现有个叫做“lef_layer_tf_number_mapper.pl”的文件可以帮你写这个map文件,当然,这个文件eetop也是有的。不过这个文件写的还有点小缺陷,有时候生成的map文件是空的,其实看过help文档之后自己写一个也非常轻松,所以这个map file绝对不是障碍。
好了,milkyway做好了,lib转db又是个小问题。这里我不喜欢用milkyway做,我觉得dc做起来舒服一些。除此之外,这是练习tcl文件操作和正则表达式的一个好机会。千万不要错过哦。我把精华的语句贴出来,明眼人一看就清楚了:)

1.jpg

读懂了上面这些语句,接下来要做的就是用tcl从lib文件的第一行开始往后读了,很简单的文件操作,一百度就有了

第二个话题也非常的简单

二、如何在rtl中instantiate macro?

所谓instantiate macro,就是在rtl里调用一下macro,等着综合的时候和macro的lib/db link。还记得昨天第一更里面说的什么样的lab适合做后端吗?其实还有一点就是在rtl中instantiate macro的简易程度。这事说起来好像挺简单的,但是做起来却是困难重重,如果rtl一开始就是面向fpga的,那我们想在rtl中塞个sram或者regfile就不太容易了,比如著名的arm开源项目amber就不太适合做asic实现。如果rtl是面向asic的,里面对于sram和regfile的调用还是比较正规的,反正那几个基本的port都有,最多加个~。不幸的是,咱们fpu里面的那个16x160的regfile非常的高端,除了一些word enable之类的端口之外,还有一些scan的port。这里我的观点是,我们的目的是跑后端的flow,这里先不用纠结rtl里的port和memory compiler的port能不能严丝合缝的对上,就把能连的连上吧。

这里批评一下leon,leon玩过的都知道,做asic implementation时,techmap不可绕过的一个东西。所谓techmap,就是用一种高大上的方式实现rtl与各工艺库之间的结合,只需要进行“简单”的设置,macro就自动link上了。呵呵,我花了n个小时才理清techmap需要配置哪些文件,简直好用。我更喜欢or1200里那种简单粗暴的方式。

具体到咱们的fpu,找到sram文件夹里面的bw_r_rf16x160,删掉没用的,只留个类似下面的东西就行了。(神马?还没找到fpu的rtl?肯定没有以synopsys和opensparc作为关键字在eetop里搜索过,差评!)

2.jpg

我自己耍的库里面做不出16x160的regfile,这个好办,用两个16x80就行,regfile的位扩展轻松得很

由于装sparc架构的solaris虚拟机是在太费事,也太费时间,这里给大家提供所有memory compiler生成的文件,是一个16x80的regfile。里面的vclef就是lef,别和antenna的lef搞混了。这里用的库就是昨天第一更里面推荐大家搞的那个arm的smic 0.18um的库。

fpu.zip (270.52 KB, 下载次数: 288 )
回复 支持 反对

使用道具 举报

发表于 2015-10-18 22:15:33 | 显示全部楼层
顶!楼主辛苦了,不得不点赞啊!!
回复 支持 反对

使用道具 举报

发表于 2015-10-19 08:15:49 | 显示全部楼层
静等后续讲解
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2020-3-29 01:51 , Processed in 0.068776 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表