北大数字集成电路课件_cadence仿真简介

北大数字集成电路课件_cadence仿真简介

ID:9950520

大小:320.51 KB

页数:44页

时间:2018-05-12

北大数字集成电路课件_cadence仿真简介_第1页
北大数字集成电路课件_cadence仿真简介_第2页
北大数字集成电路课件_cadence仿真简介_第3页
北大数字集成电路课件_cadence仿真简介_第4页
北大数字集成电路课件_cadence仿真简介_第5页
资源描述:

《北大数字集成电路课件_cadence仿真简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章Cadence仿真器学习内容逻辑仿真算法如何启动Verilog-XL和NCVerilog仿真器如何显示波形仿真算法主要有三种仿真算法基于时间的(SPICE仿真器)基于事件的(Verilog-XL和NCVerilog仿真器)基于周期的(cycle)仿真算法基于时间的算法用于处理连续的时间及变量在每一个时间点对所有电路元件进行计算效率低。在一个时间点只有约2~10%的电路活动基于事件的算法处理离散的时间、状态和变量只有电路状态发生变化时才进行处理,只模拟哪些可能引起电路状态改变的元件。仿真器响应输入引脚上的事件,并将值在

2、电路中向前传播。是应用最为广泛的仿真算法效率高。“evaluatewhennecessary”基于周期的仿真以时钟周期为处理单位(与时间无关)只在时钟边沿进行计算,不管时钟周期内的时序使用两值逻辑(1,0)只关心电路功能而不关心时序,对于大型设计,效率高仅适用于同步电路。基于事件仿真的时轮(timewheel)仿真器在编译数据结构时建立一个事件队列。只有当前时间片中所有事件都处理完成后,时间才能向前。仿真从时间0开始,而且时轮只能向前推进。只有时间0的事件处理完后才能进入下一时片。在同一个时间片内发生的事件在硬件上是并行的

3、理论上时间片可以无限。但实际上受硬件及软件的限制。一个时间片的事件可引起新的事件,在当前时片或以后时间片timesliceCadenceVerilog仿真器Verilog-XL和NCVerilog仿真器都是基于事件算法的仿真器。仿真器读入VerilogHDL描述并进行仿真以反映实际硬件的行为。Verilog-XL和NCVerilog仿真器遵循IEEE1364Verilog规范制定的基于事件的调度语义仿真器可用于确定想法的可行性用不同的方法解决设计问题功能验证确定设计错误仿真过程Verilog仿真分下列步骤:编译读入设计描述

4、,处理编译指导(compilerdirective),建立一个数据结构定义设计的层次结构这一步有时分为两步:compilation,elaboration初始化参数初始化;没有驱动的Net缺省值为Z;其它节点初始值为X。这些值延着设计层次传播。仿真刚开始时间为0时,仿真器将initial和always中的语句执行一次,遇到有时序控制时停止。这些赋值可产生在时间0或其后时间的事件。随着时间推进,被调度事件的执行引起更多的调度事件,直至仿真结束。Versus交互式编译仿真器Verilog-XL是一个交互式仿真器,过程如下:读入

5、Verilog描述,进行语义语法检查,处理编译指导(compilerdirective)在内存中将设计编译为中间格式,将所有模块和实例组装成层次结构(设计数据结构)。源代码中的每个元件都被重新表示并能在产生的数据结构找到。决定仿真的时间精度,在内存中构造一个事件队列的时间数据结构(时轮)。读入、调度并根据事件执行每一个语句Verilog-XL采用多种加速算法提高各种抽象级的仿真速度。每次重新启动Verilog-XL,将重复上述步骤。当进入交互模式时,可以输入VerilogHDL语句并加到设计的数据结构中。Versus交互式

6、编译仿真Verilog-XL仿真器是与VerilogHDL同时开发的,因此它成为VerilogHDL仿真器的事实上的标准。Verilog-XL采用了多种加速算法,对每种抽象级描述都能很好的仿真。这些加速算法包括Turbo算法,XL算法及Switch-XL算法。在后面的教程中将对这些算法进行更为详尽的介绍。NCVerilog-全编译仿真NCVerilog是全编译仿真器,它直接将Verilog代码编译为机器码执行。其过程为:ncvlog编译Verilog源文件,按照编译指导(compiledirective)检查语义及语法,产

7、生中间数据。ncelab按照设计指示构造设计的数据结构,产生可执行代码。除非对优化进行限制,否则源代码中的元件(element)可能被优化丢失。产生中间数据。ncsim启动仿真核。核调入设计的数据结构,构造事件序列(时轮),调度并执行事件的机器码。有些事件可能消失(从不执行)除非限制优化过程。编译后的所有代码的执行使用同一个核。当重新启动仿真时,要对修改过的模块重新编译。省略这个手工过程的方法是直接对设计进行仿真,这将自动地对修改过的模块进行重新编译。当采用交互模式时,可以使用Tcl命令和针对NCVerilog的Tcl扩展

8、命令。NCVerilog全编译仿真NCVerilog是最近才开发的,但其对描述的仿真与Verilog-XL完全相同NCVerilog仿真器用同一个核(kernel)对所有抽象级进行混合仿真,也就是说用户可以采用各种不同抽象级混合设计。但在门级仿真的效率差一些。NCVerilog仿真器对源代码采用增量编译

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。