微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > v2lvs 小疑问

v2lvs 小疑问

时间:10-02 整理:3721RD 点击:
我在将数字网表转化为spice网表的时候,发现转化后的端口不能与模拟设计部分结合,LVS跑不通,举个例子,模拟部分的输入端口是ADD<0:127>,而数字部分开始没有注意,设计的时候给的输出端口为ADD[127:0],而且使用v2lvs转换的网表,端口也不是按照从大到小(ADD[127]...ADD[0])的顺序排列的,而是乱的,这样他们模拟部分就认为和他们的接口(ADD<0>...ADD<127>)对应不上,请问一下是不是可以再转换的过程中进行修改!
我一般的转换方法是:v2lvs -v top.v -o top.spi -s0 VSS -s1 VDD

写一个数字部分的verilog model,-l verilog_model就行了,
也就是一个empty module 定义就行了
把pin关系对应,
再查查 v2lvs 帮助

谢谢小编了,这样是可以按照顺序输出了,但是好像下标还得手动修改,不然还是有高到低的顺序!

已经搞定了!谢谢!

是数字包含模拟的模块么?然后是网表表头pin顺序不对?

模拟中包含数字模块,不仅名称不对应,而且名称的下标顺序也不对应,其实可以直接将模拟部分的端口拷贝过来的,因为最后的网表中每个端口都是单独的逻辑!

明白,考虑应该怎么用脚本实现……

恩,有什么好的解决办法也让我学习学习!呵呵

反正analog的人喜欢用<> , 而verilog是只认 [] 的,经常容易出问题,这个地方,

这个倒好办,CDL out的时候有个options,就是选择用<>还是[]
倒是想如何用脚本实现下面的功能,帮忙一下吧:
如果一个top level的cdl,还有一个block level的cdl
其中top level的cdl中含有block level的表头信息,即:
.SUBCKT block_namepin1 pin2 pin3
+ pin4 pin5
+ .....
.......
.ENDS
block level的cdl含有下面的信息:
.SUBCKT sub_block ......
....
.ENDS
.SUBCKT block_name pin ....
+ ....
.....
.ENDS

实现的效果,top level中的 block level的表头部分注释掉;
block level中.SUBCKT block_name 后的pin次序换成top level的pin的次序。
top level中追加语句.include block_level.cdl

路过学习一下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top