搜档网
当前位置:搜档网 › Modelsim NC-Verilog仿真理解

Modelsim NC-Verilog仿真理解

Modelsim NC-Verilog仿真理解
Modelsim NC-Verilog仿真理解

Modelsim/NC-Verilog仿真理解

仿真(Simulation),也称为模拟,是对所有集成电路或系统的一种检测方法。用户可以在设计过程中对整个系统和部分模块进行仿真,即在计算机上用仿真软件验证功能是否正确、各部分的时序配合是否正确。如果有问题可以随时进行修改,从而避免逻辑错误。高级的仿真软件还可以整个系统设计性能进行评估。设计规模越大就越需要进行仿真。

仿真包括功能仿真和时序仿真。在设计输入阶段按进行仿真,不考虑信号延时等因素成为功能仿真,又称前仿真;时序仿真又称为后仿真,他在选择了具体器件并完成了布局布线以后进行的含定时关系的仿真。由于不同器件的内部延时不同,不同的布局、布局方案也给延时造成了很大的影响,因此在设计实现后,对网络和逻辑块进行延时仿真,分析定时关系,估计设计性能非常有必要。

要进行电路仿真必须有仿真器的支持。常用的Verilog仿真器有:ModelSim、Verilog-XL、NC-Verilog和VCS等。下面我们简单介绍下我们常用到的ModelSim、NC-Verilog两款仿真软件特点、区别。

一、ModelSim

ModelSim是Mentor Graphics子公司ModelSim Technology的产品,是业界优秀的HDL 语言仿真软件之一,它是编译型的VerilogHDL/VHDL混合仿真器。MoselSim可以在同一设计中单独或混合使用Verilog HDL和VHDL,允许Verilog HDL模块调用VHDL的实体,或用VHDL模块调用Verilog HDL的实体。由于ModelSim是编译型仿真器,使用编译后的HDL 库进行仿真,因此在进行仿真前,必须所有待仿真的HDL文件编译成为HDL仿真库,在编译时使源文件获得优化,提高了仿真速度。

Model Sim只完成逻辑功能的仿真,并不考虑具体使用什么器件,学习HDL或者设计逻辑的时候compile一次所用的时间很短,便于调试找出逻辑的错误。所以初学仿真推荐使用Model Sim。

ModelSim可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow 窗口查看某一单元或模块的输入输出的连续变化。

ModelSim提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度

快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。它支持PC、UNIX、LIUNX混合平台。

Modelsim运行方式有4种:(1)用户图形界面模式。(2)交互式命令行模式:ModelSim 支持GUI和DOS命令双重操作,我们在不显示modelsim的可视化界面的情况下,可通过命令控制台输入的命令完成所有工作。(3)Tcl和宏模式:编写可执行扩展名为do或者Tcl 语法文件。(4)批处理模式:批处理模式所有操作都在后台进行,用户看不到Modelsim的界面,也不需要交互式输入命令。当工程很大,文件比较多时,用批处理比较方便。直接运行批处理文件,在后台调用Modelsim,执行Modelsim的脚本文件。

二、NC-Verilog

1984-1985年间,Cadence公司设计出Verilog-XL的仿真器。1986年,他提出了用于快速门级仿真的XL算法。Verilog-XL是一个解释仿真器。“解释”是指有一个运行时间的解释工具执行每一条Verilog指令并且与事件队列进行交流。由于它是一个解释程序,所以它的仿真速度并不是很快。

NC-Verilog是Verilog-XL的升级版, 它采用Native-Compiled技术, 无论仿真速度, 处理庞大设计能力, 编辑能力, 记忆体容量和侦错环境都以倍数升级。NC-Verilog是一个编译仿真器,它是基于事件算法的仿真器。仿真器读入Verilog HDL描述并进行仿真以反映实际硬件的行为。也就是它把Verilog代码转换成一个C程序,然后再把该C程序编译成仿真器。因此它启动得稍微慢一些,但这样生成的编译仿真器运行得要比Verilog-XL的解释仿真器快很多。它也与Verilog-2001标准的大部分兼容,且在不断更新,因此包含了越来越多的高级应用特点。

当采用交互模式时,可以使用Tcl命令和针对NC Verilog的Tcl扩展命令修改设计和控制仿真。

NC-Verilog具有以下优点:

(1)业界第一的性能加快设计验证

NC-Verilog 为Verilog 设计提供了业界第一的模拟性能,它使用独特的内生的Incisive 一体化模拟器编译架构。它从Verilog 直接生成高效的机器码用于高速执行。结果数据结构的链表安排预处理信号行为和最大化现代计算平台缓存算法的效率。

(2)64位机器上设计超过1亿门的芯片

NC-Verilog 64位容量能够模拟大于1 亿门的电路设计。

(3)用一体化的事务/信号视窗使效率最大化

一体化的NC-Verilog 模拟和调试环境使得很容易管理多个设计的运行和分析设计与测试平台。它的事务/波形视窗和原理图追踪器能迅速追踪设计行为到源代码。NC-Verilog源代码视窗让设计者检查他们的设计,设置断点控制模拟执行,和以交互模式或者后处理调试模式访问模拟结果。Tcl/TK支持能让你定制和集成应用程序到环境。工业标准的应用程序编程接口,比如VPI、PLI、OMI以及编译SDF支持用户自定义检查和分析,项目设计团队只需学习使用一个环境。

(4)集成化的代码覆盖保证全面的验证

NC-Verilog 提供广泛的覆盖度量用于决定怎样对设计执行测试。包括模块覆盖、路径覆盖、表达式覆盖、状态变量覆盖、状态序列覆盖以及切换覆盖。集成化的覆盖分析和显示工具能让你迅速决定是否需要开发另外的测试电路。

(5)通过完全兼容的升级到Incisive验证平台获得终极的验证速度和效率

NC-Verilog完全兼容Incisive验证平台,设计团队能够很容易升级到Incisive一体化的模拟器和Incisive-XLD团队验证平台工具。Incisive验证平台是世界上第一个支持一体化设计方法的验证系统,是业界最快速、最高效的验证系统,涵盖从系统设计到片上系统的整个设计领域。它支持Verilog HDL、VHDL、SystemC、SystemC验证库、PSL/Sugar断言,以及按需加速。

(6)来自超过30家ASIC供应商的经过认证的库保证精确性

NC-Verilog 提供了高性能、高容量的Verilog 模拟,它包括事务/信号检视、集成化的覆盖分析和支持大多数Verilog 2001特性。

三、两者比较:

(1)ModelSim是编译型的混合仿真器,基于直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术。NC-Verilog是一个编译仿真器,它是基于事件算法的仿真器,一般它的仿真速度要快于ModelSim。

(2)MoselSim可以在同一设计中混合使用Verilog HDL和VHDL,而NC-Verilog则不能。

(3)ModelSim可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句。而NC-Verilog则不能。

(4)Modelsim运行方式有4种:用户图形界面模式、交互式命令行模式、Tcl和宏模式、批处理模式。当交互模式下,可以使用Tcl命令和Tcl扩展命令修改设计和控制NC-Verilog 仿真。相比ModelSim,Verilog代码编辑界面、运行模式不够友好。

modelsim使用 + 前仿真 + 后仿真 + verilog

Modelsim 6.0 使用教程 1. Modelsim简介 Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。 对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。 2.安装 同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。 ⑴.解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选 择是。出现Modelsim License Wizard时选择Close。 ⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后 复制到该文件夹下。 ⑶.修改系统的环境变量。右键点击桌面我的电脑图标,属性->高级->环境变量-> (系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了, 请用“;”将其与要填的路径分开。LM_LICENSE_FILE = c:\flexlm\license.dat

五款信号完整性仿真工具介绍

现在的高速电路设计已经达到GHz的水平,高速PCB设计要求从三维设计理论出发对过孔、封装和布线进行综合设计来解决信号完整性问题。高速PCB设计要求中国工程师必须具备电磁场的理论基础,必须懂得利用麦克斯韦尔方程来分析PCB设计过程中遇到的电磁场问题。目前,Ansoft公司的仿真工具能够从三维场求解的角度出发,对PCB设计的信号完整性问题进行动态仿真。 (一)Ansoft公司的仿真工具 现在的高速电路设计已经达到GHz的水平,高速PCB设计要求从三维设计理论出发对过孔、封装和布线进行综合设计来解决信号完整性问题。高速PCB设计要求中国工程师必须具备电磁场的理论基础,必须懂得利用麦克斯韦尔方程来分析PCB设计过程中遇到的电磁场问题。目前,Ansoft公司的仿真工具能够从三维场求解的角度出发,对PCB设计的信号完整性问题进行动态仿真。 Ansoft的信号完整性工具采用一个仿真可解决全部设计问题: SIwave是一种创新的工具,它尤其适于解决现在高速PCB和复杂IC封装中普遍存在的电源输送和信号完整性问题。 该工具采用基于混合、全波及有限元技术的新颖方法,它允许工程师们特性化同步开关噪声、电源散射和地散射、谐振、反射以及引线条和电源/地平面之间的耦合。该工具采用一个仿真方案解决整个设计问题,缩短了设计时间。 它可分析复杂的线路设计,该设计由多重、任意形状的电源和接地层,以及任何数量的过孔和信号引线条构成。仿真结果采用先进的3D图形方式显示,它还可产生等效电路模型,使商业用户能够长期采用全波技术,而不必一定使用专有仿真器。 (二)SPECCTRAQuest Cadence的工具采用Sun的电源层分析模块: Cadence Design Systems的SpecctraQuest PCB信号完整性套件中的电源完整性模块据称能让工程师在高速PCB设计中更好地控制电源层分析和共模EMI。 该产品是由一份与Sun Microsystems公司签署的开发协议而来的,Sun最初研制该项技术是为了解决母板上的电源问题。 有了这种新模块,用户就可根据系统要求来算出电源层的目标阻抗;然后基于板上的器件考虑去耦合要求,Shah表示,向导程序能帮助用户确定其设计所要求的去耦合电容的数目和类型;选择一组去耦合电容并放置在板上之后,用户就可运行一个仿真程序,通过分析结果来发现问题所在。 SPECCTRAQuest是CADENCE公司提供的高速系统板级设计工具,通过它可以控制与PCB layout相应的限制条件。在SPECCTRAQuest菜单下集成了一下工具: (1)SigXplorer可以进行走线拓扑结构的编辑。可在工具中定义和控制延时、特性阻抗、驱动和负载的类型和数量、拓扑结构以及终端负载的类型等等。可在PCB详细设计前使用此工具,对互连线的不同情况进行仿真,把仿真结果存为拓扑结构模板,在后期详细设计中应用这些模板进行设计。 (2)DF/Signoise工具是信号仿真分析工具,可提供复杂的信号延时和信号畸变分析、IBIS 模型库的设置开发功能。SigNoise是SPECCTRAQUEST SI Expert和SQ Signal Explorer Expert进行分析仿真的仿真引擎,利用SigNoise可以进行反射、串扰、SSN、EMI、源同步及系统级的仿真。 (3)DF/EMC工具——EMC分析控制工具。 (4)DF/Thermax——热分析控制工具。 SPECCTRAQuest中的理想高速PCB设计流程: 由上所示,通过模型的验证、预布局布线的space分析、通过floorplan制定拓朴规则、由规

modelsim和NCverilog的区别

Modelsim和NCverilog的比较 集成电路的发展趋势是,单位面积集成的晶体管的数目越来越多,可靠性越来越越高、稳定性越来越好。现在芯片集成度已经超出可人们的想象,有的芯片内部集成了数百万的晶体管,已经远远超出了人的大脑可以分析的范围。这就对EDA工具提出了更高的要求,不管是设计、仿真、综合软件的发展,都给集成电路工程师带来了巨大的便利。 modelsim是Mentor graphics公司推出的HDL代码仿真工具,也是业界最流行的HDL仿真工具之一。支持图形界面操作和脚本操作,常见的图形界面操作相对直观,但是由于重复性操作几率高、处理效率低、工程的非保存性,对于大规模的代码仿真不推荐使用;脚本操作完全可以克服以上的缺点,把常见的命令,比如库文件和RTL加载、仿真、波形显示等命令编辑成.do脚本文件,只需要让Modelsim运行.do文件即可以完成仿真,智能化程度高。 NCverilog是candence公司推出的Verilog HDL的仿真工具。NC-Verilog是Verilog-XL的升级版, 它采用Native-Compiled技术, 无论仿真速度, 处理庞大设计能力, 编辑能力, 记忆体容量和侦错环境都以倍数升级。C-Verilog是一个编译仿真器,它把Verilog代码编译成Verilog程序的定制仿真器。也就是它把Verilog 代码转换成一个C程序,然后再把该C程序编译成仿真器。因此它启动得稍微慢一些,但这样生成的编译仿真器运行得要比Verilog-XL的解释仿真器快很多。Ncverilog是shell版的,nclaunch是以图形界面为基础的,二者调用相同内核;Ncverilog的执行有三步模式和单步模式,在nclaunch中对应multiple step和single step;Ncverilog的三步模式为:ncvlog(编译) ncelab(建立snapshot文件) ncsim(对snapshot文件进行仿真)基于shell的ncverilog操作(尤其是单步模式)更适合于大批量操作,hncverilog的波形查看配套软件是simvision,其中包含原理图、波形、信号流等查看方式。 Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f 中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译。 Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化。 ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top" 第二个参数: A -- signals of the specific scrope

ModelSim的前后仿真(Quartus)

利用Quartus5.0实现功能仿真 1)打开一个工程文件。 2)打开Settings设置栏,选择Fitting Settings下的Simulator栏。在右边出现的设置栏中将 “Simulation Mode”的下拉菜单选择“Functional”,即可以实现软件下的功能仿真。(下拉菜单中有“Functional”、“Timing”和“Timing using Fast Timing Model”,分别代表可以在Quartus软件下实现功能仿真,时序仿真和快速时序仿真。最后一项一般不选,如果在Settings->Timing Requirement->More Settings下“Report Combined Fast/Slow Timing” 选项设为“On”,就可以选择最后一项。编译的报告里也会分别列出最快和最慢的时序报告。) 3)选择“Processing”菜单下的“Generate Functional Simulation Netlist”命令,否则将无法 启动仿真。 4)新建一个波形仿真文件,文件后缀名为.vwf。选择File菜单下的New->Other Files->Vector Waveform File。如下图所示,左边空白栏处是节点名的列表区,右边空白栏处是仿真波形的显示区。波形编辑窗口默认时间为1us,如果想改变仿真时间,可以选择Edit菜单下End Time,在弹出的对话框中选择需要的时间。将新建的波形仿真文件保存下来。

5)将需要仿真的信号加入波形编辑窗口。在列表区任一位置双击或者点击右键选择“Insert Node or Bus…”,弹出的对话框点击“Node Finder”按钮。在“Node Finder”界面中点击“List”按钮,有关信号的列表会出现在界面的左边,双击需要观察的信号加入至界面右边。如果工程中用到了很多信号,在左边列表中也会显示很多(Named编辑框默认的是*通配符),可以在Named编辑框中添加需要的信号名称实现模糊查找。界面中“Filter”下拉框中默认的是“Pins: all”,也就是说将要列出的信号都是IO管脚。如果需要观察一些内部信号,可以改变下拉框的参数,比如“Registers: Pre-Synthesis”。下图显示了仿真信号加入波形编辑窗口的情况。对于有些总线信号可以改变其显示的进制格式,比如二进制、八进制、十进制和十六进制。在列表中对应信号点击右键选择 “Properties”,弹出的对话框中选择“Radix”下拉框实现进制的转换。

cadence信号完整性仿真步骤

Introduction Consider the proverb, “It takes a village to raise a child.” Similarly, multiple design team members participate in assuring PCB power integrity (PI) as a design moves from the early concept phase to becoming a mature product. On the front end, there’s the electrical design engineer who is responsible for the schematic. On the back end, the layout designer handles physical implemen-tation. Typically, a PI analysis expert is responsible for overall PCB PI and steps in early on to guide the contributions of others. How quickly a team can assure PCB PI relates to the effectiveness of that team. In this paper, we will take a look at currently popular analysis approaches to PCB PI. We will also introduce a team-based approach to PCB PI that yields advantages in resource utilization and analysis results. Common Power Integrity Analysis Methods There are two distinct facets of PCB PI – DC and AC. DC PI guarantees that adequate DC voltage is delivered to all active devices mounted on a PCB (often using IR drop analysis). This helps to assure that constraints are met for current density in planar metals and total current of vias and also that temperature constraints are met for metals and substrate materials. AC PI concerns the delivery of AC current to mounted devices to support their switching activity while meeting constraints for transient noise voltage levels within the power delivery network (PDN). The PDN noise margin (variation from nominal voltage) is a sum of both DC IR drop and AC noise. DC PI is governed by resistance of the metals and the current pulled from the PDN by each mounted device. Engineers have, for many years, applied resistive network models for approximate DC PI analysis. Now that computer speeds are faster and larger addressable memory is available, the industry is seeing much more application of layout-driven detailed numerical analysis techniques for DC PI. Approximation occurs less, accuracy is higher, and automation of How a Team-Based Approach to PCB Power Integrity Analysis Yields Better Results By Brad Brim, Sr. Staff Product Engineer, Cadence Design Systems Assuring power integrity of a PCB requires the contributions of multiple design team members. Traditionally, such an effort has involved a time-consuming process for a back-end-focused expert at the front end of a design. This paper examines a collaborative team-based approach that makes more efficient use of resources and provides more impact at critical points in the design process. Contents Introduction (1) Common Power Integrity Analysis Methods (1) Applying a Team-Based Approach to Power Integrity Analysis (3) Summary (6) For Further Information (7)

ModelSim作布局布线后仿真的库问题

ModelSim作布局布线后仿真的库问题 Modelsim是目前最流行的应用最广泛的FPGA仿真器,是Mentor Graphics的子公司Model T echnology开发的。因为Modelsim好学易用,调试方便,仿真速度快,功能强大,所以很多芯片厂商的开发系统都OEM Mentor Graphics公司的Modelsim仿真器,包括Xilinx,Alter a,Lattice和Actel等。Modelsim是一个单内核仿真器,同一个内核可以进行VHDL仿真、V erilog仿真和VHDL/Verilog混合仿真;支持所有的VHDL和Verilog标准;采用直接编译技术 (Direct-Compiled),大大提高了HDL编译和仿真速度。 Modelsim支持三个层次的仿真:RTL仿真、综合后仿真和布局布线后仿真。为了加快仿真速 度,一般情况下设计中调用的库都是已经进行编译过的,然后对设计进行仿真,此时仿真器直接调用库中已经编译过的单元,而不是再次对设计中的单元模块进行编译。所以如果要对设计进行综合后仿真和布局布线后仿真,必须先对设计中调用的库进行编译处理。这也是本文的重点内容。因为每个厂商的库不一样,而且同一个厂商,不同的器件库就有可能不同,所以下面就目前国内比较常用的几个公司的芯片的库问题分别进行探讨。1.Xilinx公司的器件: 其库的处理方式有两种,一种是在Xilinx的网站上,我们可以下载到压缩文件xilinx_lib _4.zip,解压缩后有一个xilinx_lib_4.tcl(将来的版本可能会升级)。单独运行Models im,然后在工具菜单中有一项是执行宏(这里Modelsim5.5 和5.6、5.7有一些差异,不过在5.5中仍可以找到执行宏Execute Macro),运行xilinx_lib_4.tcl后可以看到。 你可以根据你的厂商软件版本选择,指定Xilinx 的安装路径,在Install Path中指定你编 译后的数据将要放的目录位置(可以是任何一个目录,最好是设计者数据盘中的某个目录,因为库编译一次就可以了,重新安装软件不需要重新编译库)。对于Xilinx作布局布线后仿真只需要simprim库即可;如果要作综合后仿真,就需要编译Unisim库;如果设计中调用了 CoreGen产生的核就需要编译CoreGen库。这应该根据设计者的具体情况进行选择。 如果编译完了后,在Modelsim中库会自动变为标准库(注意:Xilinx提供的早期脚本文件作不到这一点)。所谓标准库,也就是说这个库会和IEEE这些库一样,当Modelsim启动时,这 些库会自动加载,里面的单元在VHDL代码中可以随意调用。比如:在布局布线后的VHDL 文 件中大家可以看到Library simprim这样的语句。当然也可以自己手动改变这些库的性质,只用修改在Modelsim安装路径下的Modelsim.ini文件即可。比如:修改后的Modelsim.ini 可以看到为 [Library] std = $MODEL_TECH/../std ieee = $MODEL_TECH/../ieee verilog = $MODEL_TECH/../verilog std_developerskit = $MODEL_TECH/../std_developerskit synopsys = $MODEL_TECH/../synopsys modelsim_lib = $MODEL_TECH/../modelsim_lib

ModelSim入门指导答辩

QUESTA-SIM(QuestaSim)10.2入门指南平台 软件:Questa-Sim 10.2 版本Starter Edition,也适用于高版本的ModelSim软件。内容 一. 设计流程 典型设计流程包括如下所示: (1)设计输入 设计的行为或结构描述 (2)RTL仿真(ModelSim) 功能仿真 验证逻辑模型(没有使用时间延迟) 可能要求编辑设计 (3)综合 把设计翻译成原始的目标工艺 最优化——合适的面积要求和性能要求 (4)布局和布线 映射设计到目标工艺里指定位置 指定的布线资源应被使用 (5)门级仿真(ModelSim) 时序仿真 验证设计一旦编程或配置将能在目标工艺里工作 可能要求编辑设计 (6)时序分析 (7)验证合乎性能规范 可能要求编辑设计 (8)版图设计 (9)仿真版图设计 (10)在板编程和测试器件 使用QuestaSi/ModelSim仿真的基本流程为: 图1.1 使用QuestaSim仿真的基本流程 2 开始 1.1 新建工程 打开QuestaSim后,其画面如图2.1所示。

图2.1 QuestaSim画面 1. 创建工作目录E:/QuestaSim/, 在其路径下创建子文件夹/ip、/prj、/rtl、/tb, prj是QuestaSim工程主文件夹,ip是仿真模型目录,rtl 是代码目录,tb是testbench目录。 2. 选择File>New>Preject创建一个新工程。打开的Create Project对话框窗口,可以指定工程的名称、路径和缺省库名称。一般情况下,设定Default Library Name为work。指定的名称用于创建一个位于工程文件夹内的工作库子文件夹。该对话框如图2.2所示,此外还 允许通过修改初始化文件QuestaSim.ini文件来映射库设置。 图2.2 创建工程的对话框 2. 设置Project Name为BG0806,Project Location为E:/QuestaSim/prj, 勾选Copy Library Mappings ,点击OK。 3. 出现Add Items to the Project的对话框,如图2.3所示,

PCB板级信号完整性的仿真及应用

作者简介:曹宇(1969-),男,上海人,硕士,工程师. 第6卷第 6期 2006年12月泰州职业技术学院学报 JournalofTaizhouPolytechnicalInstituteVol.6No.6 Dec.2006摘要:针对高速数字电路印刷电路板的板级信号完整性,分析了IBIS模型在板级信号完整 性分析中的作用。利用ADS仿真软件,采用电磁仿真建模和电路瞬态仿真测试了某个 实际电路版图,给出了实际分析结果。 关键词:信号完整性;IBIS;仿真;S参数 中图分类号:TP391.9文献标识码:A文章编号:1671-0142(2006)06-0030-03 信号完整性(SI,SignalIntegrity)的概念是针对高速数字信号提出来的。以往的数字产品,其时钟或数据频率在几十兆之内时,信号的上升时间大多在几个纳秒,甚至几十纳秒以上。数字化产品设计工程师关注最多的是“数字设计”保证逻辑正确。随着数字技术的飞速发展,原先只是在集成电路芯片设计中需要考虑的问题[1]在PCB板级设计中正在逐步显现出来,并由此提出了信号完整性的概念。 在众多的讲述信号完整性的论文和专著中[2,3],对信号完整性的描述都是从信号传输过程中可能出现的问题(比如串扰,阻抗匹配,电磁兼容,抖动等)本身来讨论信号完整性,对信号完整性没有一个统一的定义。事实上,信号完整性是指信号在通过一定距离的传输路径后在特定接收端口相对指定发送端口信号的还原程度,这个还原程度是指在指定的收发参考端口,发送芯片输出处及接收芯片输入处的波形需满足系统设计的要求[4]。 1、板级信号完整性分析 1.1信号完整性分析内容的确定 信号完整性分析工作是一项产品开发全流程工作,从产品设计阶段开始一直延续到产品定型。PCB板级设计同样如此。在系统设计阶段,产品还没有进入试制,需要建立相应的系统模型并得到仿真结果以验证设计思想和设计体系正确与否,这个阶段称前仿真;前仿真通过后,产品投入试制,样品出来后再进行相应的测试和仿真,这个阶段称后仿真。假如将每一块PCB板视为一个系统,影响这个系统正常工作的信号问题涉及到所有的硬件和软件,包括芯片、封装、PCB物理结构、电源及电源传输网络和协议。 对系统所有部分都进行仿真验证是不现实的。应根据系统设计的要求选定部分内容进行测试仿真。本文所提及的“板级信号完整性分析”仅针对芯片引脚和走线的互连状态分析。 当被传输的信号脉冲时间参量(如上升时间、传输时间等)已缩短至和互连线上电磁波传输时间处于同一个量级时,信号在互连线上呈现波动效应,应采用微波传输线或分布电路的模型来对待互连线,从而产生了时延、畸变、回波、相邻线之间的干扰噪声等所谓的“互连效应”[1]。 假设PCB板上芯片引脚的输入输出信号都是“干净”的,那么只要考虑互连线路本身的互连效应。事实上,每个芯片引脚在封装时都有其独特的线路特性,这些特性是由其内部的晶体管特性决定的,同样的信号在不同引脚上的传输效率差异很大。因此,在分析信号传输的互连效应时必须考虑芯片内部的电路特性以提取相对准确的电路模型,并在此基础上作进一步的分析。这个模型就是在业界被广泛使用的IBIS模型。 1.2IBIS标准模型的建立 PCB板级信号完整性的仿真及应用 曹宇,丁志刚,宗宇伟 (上海计算机软件技术开发中心,上海201112)

modelsim仿真详细过程

由于我们只需要了解仿真的完整过程,所以不需要自己写源文件和测试文件(也称为testbench)。一下就是简单的源文件和测试文件(亲自测试过)。 //源文件 module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule //测试文件 `timescale 1ns/1ns `include"./compare.v" module comparetest; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1;

#100 a=1;b=0; #100 $stop; end compare compare1(.equal(equal),.a(a),.b(b)); endmodule 有了源文件和测试文件下面就开始用modelsim进行仿真了。 步骤一:新建工程和.v文件(也就是源文件和测试文件) 打开modelsim软件,点击file,选择new—>project 然后就会弹出下面窗口: 然后在project name那一栏写上工程名(随便去,一般是字母),在project location选择工程路径(路径最好没有中文,听说的),然后点OK。进入下个界面:

然后点击小框里面的“create new file”.弹出界面: 在file name中写下源文件名,由于这是比较两数的大小,我取为:compare。在“add file as type”中选择verilog,点OK,然后有:

Ncverilog_的一些经验

Ncverilog 的一些经验 1.Verilog和Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译 2.Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化. ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top", 第二个参数: A -- signals of the specific sc rope S -- Ports of the specified s cope and below, excluding library cells C -- Ports of the specified s cope and below, including library cells AS -- Signals of the specifie d scope and below, excluding library cells AC -- Signals of the specifie d scope and below, including library cells 还有一个 M ,表示当前scope的m emories, 可以跟上面的结合使用, "AM" "AMS" "AMC" 什么都不加表示当前scope的por ts; $shm_close //关闭数据库 2). VCD数据库也可以记录在设计仿真过程中信号的变化. 它只记录你选择的信号的变化. ex). $dumpfile("filename"); //打开数据库 $dumpvars(1, top.u1); //scope = top.u1, depth = 1 第一个参数表示深度, 为0时记录所有深度; 第二个参数表示scope,省略时表当前的scope. $dumpvars; //depth = all scope = all $dumpvars(0); //depth = all scope = current $dumpvars(1, top.u1); //depth = 1 scope = top. u1 $dumpoff //暂停记录数据改变,信号变化不写入库文件中 $dumpon //重新恢复记录 3). Debussy fsdb数据库也可以记录信号的变化,它的优势是可以跟debus sy结合,方便调试.

ModelSim软件仿真步骤教程

使用ModelSim模擬驗證HDL code 1.在模擬前先準備好我們要模擬的電路檔案(Verilog HDL,TestBench,…) 2. 打開ModelSim,新建一個Project,鍵入Project name 按OK。此處我們的library name 為default library name “work”不必更改。 3.然後再加入我們所要模擬的電路檔案(若尚未準備,可開啟新檔案再將code 鍵入)選Add Existing File,將我們已編輯好的檔案加入。 將我們所需要的檔案加入,按Browse選擇我們所需檔案count.v,

count_test.vt),按下OK。 再將先前所開啟的增加檔案的視窗關閉,按close。 4.按下compile all。

Compile成功沒有顯示出錯誤訊息, 則開始模擬波形 5.按下Simulation, 選擇檔案所在的Library (work), 點選TestBench的Module Name t_Gap_finder 按OK 6.承接上步驟將會跳出以下視窗,若要將所有訊號加入波型中觀察則選擇在 testbench的module name: count_tst按滑鼠右鍵選擇→ Add → Add to Wave。

7.在波型畫面按下Run All開始模擬 跑完後會跳出下面視窗選擇否則可觀察模擬波形,若按下是則會將ModelSim關閉。

8.觀察波形圖是否與功能符合,若與設計不符則修改設計並重複執行Step 4到 Step 8 Testbench語法 `timescale 1 ps/ 1 ps 前面的1ps代表程式中最小的時間單位 後面的1ps代表運算的精準度

Modelsim 仿真步骤总结

Modelsim 仿真步骤总结 Modelsim 仿真主要有以下三个方面:各版本的方法大体一致。(1)建立库并映射库到物理目录; (2)编译源代码(包括testbench); (3)执行仿真; 下面具体演示每一步的操作方法及流程,为力求简洁,其中有多种操方法的只介绍一种。 一)建立库的演示: 步骤为——启动modelsim>点击file菜单>(Change Directory)>new>(project)>library.注括号内的步骤非必须。 1.1)启动modelsim; (1.2)点击file菜单,此时若需更改路径,可以点击其中的Change Directory.(注modelsim会自动默认路径。我们也可以在1.1步骤之前建立一个文件夹用于modelsim的工程,再将路径更改到我们新建的文件夹路径。)

(1.3)点击file子菜单中的new,选择project用于新建立一个modelsim工程。(虽然此步非必须,但是建立一个新工程有益 于接下来整个仿真文件的管理。)

1.4)点击file子菜单new,再点击new下的library,用于建立 一个库。(仔细观察1.3步,新建工程的同时亦可建立库)。 至此,modelsim仿真第一大步建立库的工作完毕。

二)编译源代码(包括testbench): 大家都已知道在quartus中编译源代码的方法,这里说明一下在modelsim中编译源代码及testbench的方法。 步骤为——建立一个新工程(同时建立库)后,会自动提示你四个选项。如图: 选create new file后提示对话框,(也可以在有源文件的情况下选择add existing file到工程中。例如我们用quartus写好文件后,可以用此方法将quartus中的文件添加到modelsim工程中来)让你命名你即将创建的新文件,完毕后,会自动出现一个空白的编辑窗口,在那里输入源代码和testbench。(提示:这样编写完后点保存,便可以直接保存到上面设臵好的work库中。比起另一种方法,不建工程直接建库,再通过菜单栏source添加源

PCB设计与信号完整性仿真

本人技术屌丝一枚,从事PCB相关工作已达8年有余,现供职于世界闻名的首屈一指的芯片设计公司,从苦逼的板厂制板实习,到初入Pcblayout,再到各种仿真的实战,再到今天的销售工作,一步一步一路兢兢业业诚诚恳恳,有一些相关领悟和大家分享。买卖不成也可交流。 1.谈起硬件工作,是原理图,pcb,码农的结合体,如果你开始了苦逼的pcblayout工作,那么将是漫长的迷茫之路,日复一日年复一年,永远搞不完的布局,拉线。眼冒金星不是梦。最多你可以懂得各种模块的不同处理方式,各种高速信号的设计,但永远只能按照别人的意见进行,毫无乐趣。 2.谈起EDA相关软件,形象的说,就普通的PROTEL/AD来说你可能只有3-6K,对于pads 可能你有5-8K,对于ALLEGRO你可能6-10K,你会哀叹做的东西一样,却同工不同酬,没办法这就是市场,我们来不得无意义的抱怨。 3.众所周知,一个PCB从业者最好的后路就是仿真工作,为什么呢?一;你可以懂得各种模块的设计原则,可以优化不准确的部分,可以改善SI/PI可以做很多,这往往是至关重要的,你可以最大化节约成本,减少器件却功效相同;二;从一个pcblayout到仿真算是水到渠成,让路走的更远; 三:现实的说薪资可以到达11-15K or more,却更轻松,更有价值,发言权,你不愿意吗? 现在由于本人已技术转销售,现在就是生意人了哈哈,我也查询过各种仿真资料我发现很少,最多不过是Mentor Graphics 的HyperLynx ,candense的si工具,

但是他们真的太low了,精确度和完整性根本不能保证,最多是定性的能力,无法定量。真正的仿真是完整的die到die的仿真,是完整的系统的,是需要更高级的仿真软件,被收购的xxsigrity,xx ansys,hspicexx,adxx等等,这些软件才是真正的仿真。 本人提供各种软件及实战代码,例子,从基本入门到高级仿真,从电源仿真,到ddr仿真到高速串行仿真,应有尽有,,完全可以使用,想想以后的高薪,这点投入算什么呢?舍不得孩子套不住狼哦。 所有软件全兼容32位和64位系统。 切记本人还提供学习手册,你懂的,完全快速进入仿真领域。你懂的! 希望各位好好斟酌,自己的路是哪个方向,是否想更好的发展,舍得是哲学范畴,投资看得是利润的最大化,学会投资吧,因为他值得拥有,骚年! 注:本人也可提供培训服务,面面俱到,形象具体,包会! 有购买和学习培训兴趣的请联系 QQ:2941392162

Altium Demo系列_信号完整性分析SI仿真

信号完整性分析SI仿真Demo Altium Designer的SI仿真功能,可以在原理图阶段假定PCB环境进行布线前预仿真,帮助用户进行设计空间探索,也可以在PCB布线后按照实际设计环境进行仿真验证,并辅以虚拟端接,参数扫描等功能,帮助用户考察和优化设计,增强设计信心。 1.在Windows下打开SI_demo子目录,双击打开演示案例项目 SI_demo.prjpcb,当前项目树中只有一页原理图SI_demo.schdoc,双击 SI_demo.schdoc打开原理图。观察到图中有U2和U3两个IC器件。 2.为器件指定IBIS模型(如果元件库中该器件已有正确的IBIS模型,则可跳 过步骤2) 通过双击器件U2,弹出以下窗口:

点击Add右边的下拉箭头,选择Signal Integrity,为器件U2指定SI仿真用的IBIS模型。 在弹出的SI模型选择窗口中点击 Import IBIS,选择U2对应的IBIS模 型文件导入,本例中U2的IBIS模型 文件为SI_demo文件夹中的文件 5107_lmi.ibs,后面各窗口一直点击 OK,直到回到原理图界面,U2的模 型设定完成。 双击器件U3,按照同样的步骤为U3 指定IBIS模型,其对应的IBIS模型 文件为:edd2516akta01.ibs

3.为关注的网络设定规则 通过点击主菜单下的Place->Directives->Blanket,放置一个方框,将所关注的网络名称框住(本例中已经框住了LMID00-LMID15共16位数据总线)。 然后同样通过Place->Directives->PCB Layout, 放置一个PCB Rule规则符号,置于方框的边界上。

非常有用的将参数从verilog传送到c

非常有用的将参数从verilog传送到c 自行寫一個System Task,能夠接受由Verilog的reg或wire傳給C的值。 Introduction 使用環境: Cadense NC-Verilog 5.4 + Visual C++ 6.0 在此文件,將學習到 1.如何將參數從Verilog傳到C? 2.如何撰寫簡單的compiletf? 3.如何從C抓到Verilog傳來的參數? show_value.c / C 1#include 2#include "vpi_user.h" 3 4PLI_INT32 show_value_compiletf(PLI_BYTE8 *user_data) { 5 vpiHandle systf_handle, arg_iterator, arg_handle; 6 PLI_INT32 arg_type; 7 8// obtain a handle to the system task instance 9 systf_handle = vpi_handle(vpiSysTfCall, NULL); 10if (systf_handle == NULL) { 11 vpi_printf("ERROR: $show_value failed to obtain systf handle\n"); 12 vpi_control(vpiFinish, 0); 13 14return -1; 15 } 16 17// obtain handles to system task arguments 18 arg_iterator = vpi_iterate(vpiArgument, systf_handle);

五款信号完整性仿真分析工具

SI 五款信号完整性仿真工具介绍 (一)Ansoft公司的仿真工具 现在的高速电路设计已经达到GHz的水平,高速PCB设计要求从三维设计理论出发对过孔、封装和布线进行综合设计来解决信号完整性问题。高速PCB 设计要求中国工程师必须具备电磁场的理论基础,必须懂得利用麦克斯韦尔方程来分析PCB设计过程中遇到的电磁场问题。目前,An soft公司的仿真工具能够从三维场求解的角度出发,对PCB 设计的信号完整性问题进行动态仿真。 Ansoft 的信号完整性工具采用一个仿真可解决全部设计问题: Slwave是一种创新的工具,它尤其适于解决现在高速PCB和复杂IC封装中普遍存在的电源输送和信号完整性问题。 该工具采用基于混合、全波及有限元技术的新颖方法,它允许工程师们特性化同步开关噪声、电源散射和地散射、谐振、反射以及引线条和电源/地平面之间的耦合。该工具采用一个仿真方案解决整个设计问题,缩短了设计时间。 它可分析复杂的线路设计,该设计由多重、任意形状的电源和接地层,以及任何 数量的过孔和信号引线条构成。仿真结果采用先进的3D 图形方式显示,它还可产生等效电路模型,使商业用户能够长期采用全波技术,而不必一定使用专有仿 (二)SPECCTRAQuest Cade nee的工具采用Sun的电源层分析模块: Cade nee Design System 的SpeeetraQuest PCB信号完整性套件中的电源完整性模块据称能让工程师在高速PCB设计中更好地控制电源层分析和共模EMI 。 该产品是由一份与Sun Microsystems公司签署的开发协议而来的,Sun最初研制该项技术是为了解决母板上的电源问题。 有了这种新模块,用户就可根据系统要求来算出电源层的目标阻抗;然后基于板上的器件考虑去耦合要求,Shah表示,向导程序能帮助用户确定其设计所要求的去耦合电容的数目和类型;选择一组去耦合电容并放置在板上之后,用户就可运行一个仿真程序,通过分析结果来发现问题所在。 SPECCTRAQuest是CADENCE公司提供的高速系统板级设计工具,通过它可以控制与PCB layout相应的限制条件。在SPECCTRAQuest菜单下集成了一下工具: (1)SigXplorer 可以进行走线拓扑结构的编辑。可在工具中定义和控制延时、特性阻抗、驱动和负载的类型和数量、拓扑结构以及终端负载的类型等等。可在

相关主题