astro布线时,怎样处理150多个32×18的ram?
verilog代码里用到了150多个32×18的ram,以前做astro布线时,一般只处理几个比较大的ram,直接手动摆放位置就行了,现在遇到这么多较小的ram,不知道怎么处理,不会还得手动放吧,想请教各位高手,能不能利用astro自动给这150多个ram摆放位置?
或这么小的ram,如果不用memory compiler生成(较小的ram比较耗面积),能不能用别的方法代替生成呢?谢谢大家了~
这么多啊,代码不能修改吗?
改不了了,是一个关于ldpc编解码的代码,现在就只能硬着做下去
那150多个也太麻烦了啊,怎样才能调整的时序和congestion比较理想呢。
用工具的flooplan试一试
是否可以考虑先就ram本身进行,布线,完成后,然后再以块ram的形式代入设计。
您的意思是把这150多个的相同的ram先布好线,再拼成一个大的块加到电路中?
astro好像只能摆放standard cell,有什么办法让astro也能自动摆放这些小的ram?
astro好像只能摆放standard cell,有什么办法让astro也能自动摆放这些小的ram,就是能不能把这些ram也做成standard cell的属性?
这个应该也不难,也完全没有必要一定要把他们加上STD的属性。且不说不一定和你的STD CELL一样高,就算一样高可以放到ROW上,布完了,估计时序也糟糕得很。
其实,RAM本来就是当做宏来摆放的。自己写Vlog的连接关系,然后布线一次线。比如说4个32X18的作为一个CELL,这个很简单。
再以这个作为宏再迭代一次,那就是16个了,再一次就64个了,这样技术上没有任何难度。
BTW,这样技术上没有任何难度,但是确实是个体力活儿,特别是最后改前端出来的NL的时候。
典型站着说话不腰疼地,呵呵…
但是总比满屏幕拖CELL,画ring 画blockage强吧?
呵呵,是个问题啊
谢谢啊,我先按你说的试试,行的话就太好了
不就是150个嘛,手摆。后端本来就是体力活。
bu dong
150多个,摆起来确实很麻烦,呵呵
改代码,综合时用flip-flop生成好了。
我现在用的确实就是这种方法
谢谢!
150个不算多啊, 300个都能手摆,
就按logic group摆么, 用axgHierPlan 把各个module 搞清楚,
因为memory小, 方向应该不成问题,
对齐下就行了,
谢谢!
学习。
好东西,都是手摆出来了。工具永远不如人聪明。150个,多吗,floorplan不是一天完成的,是一个月来完成的。摆好一次,就好reuse了。
有些人总喜欢把简单的事情复杂话,感觉用tcl就是高级的了,就不是体力劳动了,做一下鸵鸟有意义吗。
fp说白了就是chip level analog layout 。复杂的soc是摆出来的,全自动的必然简单。 做后端的人心理都有这个弱点,怕别人说是体力活,50步而已。
