基于DRAM的CIM电路架构设计4.版图绘制

记录下版图部分的学习。

因为没什么人指导,又有工期限制,只能自己摸着石头过河,绘制运放部分的版图,别的部分交给组里大佬完善= =。

一、布局

基础步骤在版图绘制一文中有记录,这里直接跳到初步布局后的形貌

除了输入对管按照共质心原则摆放外,其他器件按照对称原则摆放。发现空出很多面积,遂回到原理图进行修改迭代。

首先试着缩减输入管长度,从1u到500n,发现积分输出波形抖动,说明相位裕度太小了。仿真结果证明确实如此,对比如下:

500n频率特性

1u频率特性

发现增益曲线整体上移,对比相频曲线可知零极点位置几乎没变,且是一个右半平面零点和两个左半平面极点,但零点离GBW太近了,当增加输入跨导,带宽增加,曲线上移后很容易“擦着”0dB线就过去了。

遂试着将零点右移。简单分析可以知道右半平面零点是由于输出级电容形成的高频通路引起的。

这里跟一般的二级运放是类似的,零点与二级输出的跨导和Cc有关。Cc设定的是80fF已经很小了,再小会影响相位裕度,遂提高gm,结果如下

获得了较好改善,还是挺危险hhh。仿真积分器还是抖得一批。提高了下电容,稍微好点了。。。

最终调整后的版图如下:

也不清楚合不合理,间距也有点大,先跑个drc看下间距

Min Local AA density (including dummy AA) in 200umX200um window with step size 100um is 19%. 说有源区密度不够,在画子模块的时候不用管,如果所有模块画完了还有就添点dummy

Min Space between 1.0/1.2V NWs at different nets is 0.47。 N阱间距需要大于0.47

Min Local GT density (including dummy) in 200um*200um window with step size: 100um is 7%。通孔面积要求,在没连线的时候不用管

NW not interacting with N+ pickup is not allowed。说我n阱没有和n+相连,查了下连完线应该就好了,现在阱之间是断的。

将铺n阱的地方从最外围框个nwell矩形来解决nwell距离问题(需要nwell都是同电位)。再跑drc过了,开始布线

二、布线

布线按照纵奇横偶来。

先画好输入对管

查了下drc,对金属层的要求如下:

1.M1宽度≥0.09,间距≥0.09,若长度大于1u,则两根M1间距≥0.16

2.对于M2及之后金属层,间距和宽度≥0.1,其余类似

比较好的是,画好通孔后它自动分配的金属层大小就是极限大小,所以不用额外修改。

按照纵奇横偶原则,连好了大部分连线。金属线可以横穿mos,别与其他层冲突就行,但尽量少穿过,对寄生有影响。对于不好连的线,可以通过通孔跨接。通孔设置如下:

一般mode选择single或者stack,前者就是两层间通孔,比较好理解。stack是多层,可以一次生成多层的通孔,自己选择设置,同时需要根据需求设置通孔数量。通孔本身可以理解为多层金属层的叠加,所以不需要再额外加层,例如打M1到M3的通孔,它是自带M2的。

连完大部分线后如上,也不确定线会不会太短hh,但连的时候时刻都注意了两根相临线的距离。右侧显示还剩些偏置电流镜的线和io,留到最后连,免得错乱。在连别的线的时候发现,布局需要根据实际需求变动,不然连起来很麻烦。当然想要连的更好就需要和前仿迭代。

所有线连完了,一个不大的模块,但第一次连也废了老劲。。。。

三、DRC&LVS

菜单栏选calibre,跑nmDRC,加载好复制保存在工程路径下的drc文件(方便查找到即可),设定好保存路径,运行drc,看下结果。

1.Min Extension of AA outside of GT(not include dummy AA and dummy Poly) is 0.115

有源区aa至少需要超出栅GT0.115。定位到版图,发现是dummy的栅和guardring直接连在一起了,换成M1即可。继而引出了一系列gt和sn等区域重叠的问题。

2.Min Space between AA and contact on poly is 0.065

aa和栅上的通孔最小间距0.065

3.Min M1 width is 0.09

m1宽度最小0.09.可是画的时候都默认0.09,怎么会这样呢?定位后发现,如果两根金属线是独立接起来的,那么宽度是它们的重合区域。所以连线尽量对齐或稍大点。

例如上图这种

4.Min Space between two M1 is 0.09,DRC waive check 89 to 90 degree spaces in the INDMY region.

这个错误有81个,难顶

5.Min M2 width is 0.10

在改变io金属层的时候忘改宽度了。在初始设置的时候是用的m1,宽0.09,而m2要求0.1

6.Fixed V1 size(square shape) is 0.09,exclude MARKS area

定位发现是连续打了两个通孔,v1区有重合,drc也是检查了重合区域。

重新跑drc

还剩最后89个m1间距问题。看了下这个间距不只是平行线要求,两根垂直或者任意角度都要求,这就很难受了。

淦哦,看错了,drc里说的是同层金属间距要大于0.16,而不是任意层。所以很多地方用上层金属跳线就好了。

本着简单的原则,这里就随便拐拐弯了= =。

最后修改完了!

过一下LVS,一般不会有啥问题

出了个缺少电容文件的问题,网上查了一通,加载sp文件还是不行,算了,不搞了= =。。。

至此完成了一个运放的版图设计体验。

做完之后就进行PEX寄生参数提取,然后进行后仿,主要区别就在于在仿真器的environment里要加入提取的寄生参数文件就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值