请教高手帮忙解决IOPAD的排序问题!
时间:10-02
整理:3721RD
点击:
小弟我在用encouter布局导入文件之前,手动在综合后的网表时加了IOPAD,另外在 *.io 文件时写好了排序IOPAD的程序。其它要的文件都有。然后一一导入后,结果, IOPAD的排序与*io文件里的要求不一样,而且Terminal里警告我写的*io文件被忽略!
请问,这是怎么回事,该怎么解决?
下面是我的IO文件里的一部分程序:
pad:io1S
pad:io2S
...
pad:io6E
pad:io7E
...
pad:io10N
pad:io11N
...
pad:io15W
pad:io16W
...
pad:corner1SW
pad:corner2SE
pad:corner3NW
pad:corner4NE
下面是出现在警告:
warn:ignored IO file "chip.io"line 4:pad:io1S
warn:ignored IO file "chip.io"line 4:pad:io2S
.....
warn:ignored IO file "chip.io"line 4:pad: corner1NE
另外,请教下,往综合后的网表里加IOPAD ,RAM等宏模块除了手动加外还有其它什么好的方法?
希望下面的解答对你有点帮助:
1. 检查下语义,记得好像‘pad’要这样写的‘Pad’
2. io file里的pad顺序是从左到右,从下到上的,即N和S部分的pad,会根据io file里写的顺序,从左到右排,而E和W部分是从下往上排的
谢谢你的提示!对!"pad"要写成"Pad"!
弱弱的问一句:1)在实际的IO约束文件里,诸如io1,io2,...这些名字要使用core文件的port的名字代替吗?
2)如果我用到的pad的数量不用那么多,需要空闲一些,这些空闲的pad该如何约束?
如果你想在网表中体现的话,我记得格式是:
PADCELLNAMEPADNAME (连接情况);
PADCELLNAME到foundary提供的IO的library中找,PADNAME就是你自己定义的名字,括号中的是描述PAD和core的连接情况。
如果空的dummyPAD,只要在网表中写上,连接情况为空就好了。
io file的话就按照2#的做
你可以先随便做个floorplan,然后saveiofile 出来看格式就知道了,
顺序见#2 ,
一般所有IP 都是在dc综合的时候一起compile的,
比如你的ram, io lib都是应该在rtl 例化的 而不是 gate level人工来加