电子工业设备 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
Cadence的EDA验证工具在SOC设计中的应用 |
|
作者: |
|
在ASIC和SOC设计中,验证是极为重要的一环,Cadence公司的NC-Verilog仿真器(以及较早产品Verilog-XL)是用来仿真用Verilog语言写的数字逻辑电路。该仿真器在ASIC和SOC设计中有着比较广泛的应用。该仿真器是基于事件驱动的。
我们设计的SOC产品是通信用的芯片,样片测试已经通过,即将大规模应用于通信设备上。该芯片采用业界流行的ARM处理器作为该SOC芯片的CPU内核,另外还包括内嵌的RAM,模拟锁相环,以及其它用户逻辑。该芯片采用0.25微米的CMOS工艺,能运行于70MHz频率。由流片厂家EPSON提供仿真模型。该模型是应用于Verilog-XL仿真环境下,也可以用于NC-verilog仿真环境下。
SOC设计与ASIC设计显著不同的地方在于需要协同验证(co-verification),因为SOC具有嵌入式CPU,要验证SOC芯片就必须通过在SOC上运行程序来进行。
1.仿真环境的配置
在我们的设计中,在逻辑验证阶段(即所谓Pre-simulation)和后仿真阶段(Post-simulation)都采用Verilog-XL,与此同时,用Cadence的Signalscan来观察仿真波形,分析时序。在仿真之前,必须将ARM的仿真模型编译到Verilog-XL的仿真环境中。
EPSON提供的有关ARM的仿真信息包括一个C仿真模型,模拟ARM的行为,能仿真指令的执行,功能类似于ISS(指令集仿真器),文件后缀为"*.so",是由C/C++语言编译器生成;还要有时序信息,是SDF格式,用来模拟CPU接口信号时序,这包括best case,typical和worst case情况下的时序信息;另外还提供了verilog语言编写的ARM模型的"外壳",把ARM模型引入到我们的SOC设计中,作为SOC设计中的一个子模块。不论在RTL阶段和门级网表(gate level)阶段,都用这个verilog文件。
EPSON还提供了管理该仿真模型的应用程序,名为ModelGen,ARM的C仿真模型就是通过它调入我们的仿真环境中。
在启动Verilog-XL之前,在仿真之前,必须将ARM的仿真模型编译到Verilog-XL的仿真环境中。方法是在verilog_xl_setup设置文件中配置ModelGen的启动路径以及ARM仿真模型的路径,启动Verilog-XL后,在仿真时所需的ARM的信息都编译到仿真环境下,包括ARM的C仿真模型,SDF文件也反标到(back-annotation)我们的设计中。
2.SOC设计流程
在SOC设计过程中,仿真作为极为重要的环节来进行。在仿真时基于这样的一个考虑,就是能模拟我们的SOC芯片的实际运行情况。因此在确定仿真策略时,将需要在ARM中运行的测试程序作为数据放在SDRAM仿真模型中,就像芯片的实际运行一样,从SDRAM中读取指令,在ARM中执行指令。芯片复位后就能自行下载程序,执行程序。因此该芯片的测试激励(verilog语言编写)就很简单,仅需要个上电复位过程,当然还需要芯片的外围仿真模型以保证系统的完整性。
在EPSON的厂家流程中(见图1),Verilog-XL作用不仅在于仿真验证设计的正确性,还将用来产生在芯片生产过程中所需的功能测试向量,这个测试向量是EPSON自己定义的格式(*.apf文件),它来自用Verilog-XL仿真得到的波形(VCD格式)。 在该设计的verilog描述综合得到门级网表后,将进行后仿真阶段(post-simulation)仍要进行两类仿真,一是"门级前仿真",它是将网表加上自己用EDA工具生成的SDF文件进行仿真,保证综合前后的设计一致性,同时也用PrimeTime(静态时序分析工具)和Fomality(形式验证工具)来验证时序和功能一致性,但仍以Verilog-XL仿真结果为主;在厂家做完layout后,用实际产生的SDF文件来做"门级后仿真",做法与"门级前仿真"一样。
在后仿真阶段分析时序时,要充分利用Signalscan工具,并结合PrimeTime,对layout前后的网表的critical timing path以及时钟信号进行分析,比如可以用Singalscan来提取时序信息,这比在PrimeTime更具有灵活性。
实践证明,这种设计方法对于规模不大的SOC设计是行之有效的设计方法。
(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(9/20/2006) |
对 电子工业设备 有何见解?请到 电子工业设备论坛 畅所欲言吧!
|