EETOP 创芯网论坛 (原名:电子顶级开发网)

标题: v2lvs 小疑问 [打印本页]

作者: SKILLER    时间: 2012-6-4 18:55
标题: v2lvs 小疑问
我在将数字网表转化为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
作者: icfbicfb    时间: 2012-6-4 19:17
写一个数字部分的verilog model,  -l verilog_model就行了,
也就是一个empty module 定义就行了

把pin关系对应,

再查查 v2lvs 帮助
作者: SKILLER    时间: 2012-6-4 19:39
谢谢版主了,这样是可以按照顺序输出了,但是好像下标还得手动修改,不然还是有高到低的顺序!
作者: SKILLER    时间: 2012-6-4 19:41
已经搞定了!谢谢!
作者: damonzhao    时间: 2012-6-5 11:34
是数字包含模拟的模块么?然后是网表表头pin顺序不对?
作者: SKILLER    时间: 2012-6-5 15:39
回复 5# damonzhao

模拟中包含数字模块,不仅名称不对应,而且名称的下标顺序也不对应,其实可以直接将模拟部分的端口拷贝过来的,因为最后的网表中每个端口都是单独的逻辑!
作者: damonzhao    时间: 2012-6-5 16:56
明白,考虑应该怎么用脚本实现……
作者: SKILLER    时间: 2012-6-5 18:23
回复 7# damonzhao


    恩,有什么好的解决办法也让我学习学习!呵呵
作者: icfbicfb    时间: 2012-6-6 13:39
反正analog的人喜欢用<> , 而verilog是只认 [] 的,  经常容易出问题,这个地方,
作者: damonzhao    时间: 2012-6-6 14:32
回复 9# icfbicfb

这个倒好办,CDL out的时候有个options,就是选择用<>还是[]

倒是想如何用脚本实现下面的功能,帮忙一下吧:
如果一个top level的cdl,还有一个block level的cdl
其中top level的cdl中含有block level的表头信息,即:
.SUBCKT block_name  pin1 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
作者: 永不言弃    时间: 2012-12-6 11:48
路过学习一下
作者: athena_xin    时间: 2018-9-27 16:30
Xtrigger_3_reg DRNV1 $PINS D=n300 CK=clk_128m[0] RDN=reset_n QN=n21转换之后调用模块都是这种的,会报错,DRNV1应该在后面,请问有遇到这种情况过么?如何解决
作者: lwq_119    时间: 2020-11-2 13:27


   
athena_xin 发表于 2018-9-27 16:30
Xtrigger_3_reg DRNV1 $PINS D=n300 CK=clk_128m[0] RDN=reset_n QN=n21转换之后调用模块都是这种的,会报 ...


请问这个问题解决了吗





欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5