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

后端验证请教

时间:10-02 整理:3721RD 点击:
我是一个IC菜鸟,到现在只是稍微走过数字流程,但真正做设计的时候,碰到很多疑问和困难.以下是我针对一个数字设计sigma的流程,其中碰到很多问题,希望大家指点一下我的错误之处.帮帮我..多谢了①我用modelsim进行行为级仿真,得到了想要的波形结果.证明功能正确,
②将代码用DC综合,报告中没有任何违例,同时也用命令(set_fix_hold)修复了hold的违例.得出网表之后sigma.v也读出了sigma.sdf文件,然后用VCS进行仿真,并加载了DC读出的sigma.sdf,VCS -f sigma.f -v smic18.v -debug.但结果得出来的波形与前仿不一样,时序有点混乱..但我听别人DC的sdf文件不准,所以没在意这次综合后仿真(另:我单独用综合后的网表仿真,不加载.sdf文件,波形也是不准确的,时序乱的,输出多了些数据)
DC中的关键时序设置
create_clock -name "clk" -period 50 -waveform { 025 }{ clk}
set_clock_uncertainty -setup 0.3 [get_clocks clk]
set_clock_uncertainty -hold 0.3 [get_clocks clk]
set_clock_latency -rise 3 [get_clocks clk]
set_clock_latency -fall 3 [get_clocks clk]
set_clock_transition -min 0.25 clk
set_clock_transition -max 0.3 clk
set_input_delay -clock clk 28 k

  • set_input_delay -clock clk 28 fcw_i

  • set_output_delay -clock clk 16 dout

  • ③然后用DC产生的sigma.sdc,sigma.v加载到encounter里布局布线,中间过程也多次修复setuptime 和holdtime的违例问题,时序报告中没有出现违例情况.最后产生后仿真的网表sigma_pre.v,读出了sigma_encounter.sdf和sigma.spef寄生参数文件.
    ④将后仿真的网表sigma_pre.v读入PT中,设置有关时序,读入sigma_encounter.sdf和sigma.spef,我先用DC综合时的时序脚本来设置PT中的时序,但结果有很多违例,大到2.67ns.
    ⑤然后我开始修改PT中的时序设置如下:
    set_clock_uncertainty -setup 0.15[get_clocks clk]
    set_clock_uncertainty -hold 0.15 [get_clocks clk]
    set_clock_latency -rise 0.5 [get_clocks clk]
    set_clock_latency -fall 0.5 [get_clocks clk]
    结果使PT中的报告中,消除了所有时序违例情况.再从PT中读出新的sigma_pt.sdf文件,用来后仿真.
    ⑥接着用VCS后仿真,,加载sigma_pt.sdf.和encounter产生的后仿真网表sigma_pre.v.结果波形还是不对,时序乱的..输出中多了很多输出数据.
    ⑦我已苦苦寻找问题的根源很久了,但始终找不出来,请求各位大侠的指点,,,多谢了

    aaaaaaaaaaaaaaaaaaaaaaa

    整个流程好复杂的样子,LZ把前端到后端全做了个遍了。占个位,倾听大牛们的指导……

    偶也来占个位,感觉跟我现在做的事情流程很像

    其实我也有过疑惑,以前在学校学习IC设计,cadence的功能已经很强大了,可以偶尔老师还是会使用命令去跑仿真,这是为什么呢?正在学习中,同进步!

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

    网站地图

    Top