Modelsim、ActiveHDL等仿真器的基本原理

2018-06-14 08:48 次阅读

今天来聊点有意思的东西,FPGA开发者或者数字IC开发者常用的HDL仿真器的基本原理。即Modelsim、ActiveHDL等仿真器的基本原理。

目前,HDL仿真器主要有三种实现算法(机制):基于时间的算法(Time-Based)、基于事件的算法(Event-Based,EBS)和基于周期的算法(Cycle-Based,CBS)。

基于时间的算法适合处理连续的时间及变量,其会在每一个时间点对所有的电路元件进行计算。但是,在大部分情况下,每一个时间点只有约2%~10%的电路处于活动(运行)状态,所以该算法效率非常低。

基于事件的算法适合处理离散的时间、状态和变量。该算法只有在电路状态发生变化时才进行处理,只仿真那些可能引起电路状态改变的元件。仿真器响应输入引脚上的事件,并将值在电路中向前传播。目前来说,该算法效率最高,且应用最为广泛,大部分的商业仿真器都是基于该种算法进行开发的。用某仿真器厂家的宣传语,就是“Evaluate When Necessary”。

基于周期的仿真算法以时钟周期为处理单位(与时间无关)。其旨在时钟边沿进行计算,不管时钟周期内的时序,且只是用两值逻辑(0和1)。该算法主要针对的是大规模设计(尤其是数字IC设计),且只能应用于同步电路。

下面详细介绍一下基于事件的仿真算法:

仿真器在编译数据结构时建立一个事件队列;

只有当前时间片中所有事件都处理完成之后,时间才能向前;

仿真从时间0开始,而且时轮只能向前推进。只有时间0的时间处理完后才能进入下一时间片;

在同一个时间片内发生的事件在硬件上是并行的;

理论上时间片可以无限,但实际上受硬件(如电脑的CPU等)和软件(如该仿真软件是否支持多线程技术等)的限制。

而基于周期的算法只会在时钟的边沿来计算组合逻辑的输出结果,因此基于周期的算法速度更快,内存的使用效率更高。同时,因为基于周期的算法不允许进行严格的时间约束,所以其仿真时间精度没有基于事件的算法高(since cycle-based simulators do not allow detailed timing specificity, they are not as accurate. )。基于周期的算法的原理图,如下图所示:

基于事件的算法,基于周期的算法和传统的电路仿真软件SPICE的比较图:

目前基于事件的算法的仿真器(EBS Simulator)主要有:

Modelsim、ActiveHDL、NC-Verilog、Verilog-XL、VCS(Verilog)、Scirocco(VHDL)等。

基于周期的算法的仿真器(CBS Simulator)主要有:

Modelsim、Synopsys Cobra等。

其中Modelsim同时支持EBS和CBS。

原文标题:【博文精选】聊一聊HDL仿真器基本原理

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

ISIM灯具有50 000 HDL线路限制

有人知道这个50 000行限制是否适用于整个设计或模拟块。 有没有办法弄清楚限制被击中之前有多少净空? 我需要一些更多的信息才...

发表于 12-07 10:45 17次 阅读
ISIM灯具有50 000 HDL线路限制

Quartus-II使用教程之Quartus Ⅱ的Verilog HDL建模与仿真资料说明

本文档的主要内容详细介绍的是Quartus-II使用教程之Quartus Ⅱ的Verilog HDL....

发表于 12-07 08:00 11次 阅读
Quartus-II使用教程之Quartus Ⅱ的Verilog HDL建模与仿真资料说明

电子开关一种基于集成电路技术的智能型器件

AAT4610将6V/2A的P沟道MOSFET场效应管与栅极驱动器、电压基准、限流比较器和欠压闭锁电....

的头像 电子发烧友网工程师 发表于 12-06 13:49 212次 阅读
电子开关一种基于集成电路技术的智能型器件

PCB设计是可以没有“地平面”的

-- 很多情况下我们无法减少这些走线电阻带来的影响,现在的板子越来越小型化,器件也越来越小,所以拥挤....

的头像 电子发烧友网工程师 发表于 12-06 11:56 237次 阅读
PCB设计是可以没有“地平面”的

直驱风力发电仿真平台

直驱风力发电仿真平台 在能源枯竭与环境污染问题日益严重的今天,风力发电已经成为绿色可再生能源应用的一个重要方面。南京研旭...

发表于 12-05 16:53 168次 阅读
直驱风力发电仿真平台

基于单片机的数字钟系统设计(电路+程序)

上图是Proteus仿真图,其中反相器用74lHC14,排阻用10K的,晶振用12MHZ的,电阻R1-R8用200欧的即可。但在实际制作时...

发表于 12-05 13:06 157次 阅读
基于单片机的数字钟系统设计(电路+程序)

seed-xds510连接问题

仿真器的驱动程序已经安装好,在CCS6.1进行配置时显示如下信息 [Start: SEED XDS510PLUS Emulator_0] Execut...

发表于 12-04 11:18 36次 阅读
seed-xds510连接问题

关于AUuC7126的程序下载问题

我买了一ADuC7126的评估板,配有一mIDAS-Jlink仿真器,但在电脑上对其进行配置Flash时发现没有ADuC7126供选择的!如...

发表于 12-04 09:10 17次 阅读
关于AUuC7126的程序下载问题

静态时序分析基础

建立时间;保持时间;建立时间裕量;保持时间裕量

的头像 电子发烧友网工程师 发表于 12-01 08:20 271次 阅读
静态时序分析基础

TMS320F28069M LaunchPad片上仿真器xds100 v2的问题

之前xds100v2的驱动安装正常,一切都正常。最近使用时,在设备管理器中发现又多出两个TI xds100 v2设备未安装驱动,而且仿真器...

发表于 11-30 15:05 79次 阅读
TMS320F28069M LaunchPad片上仿真器xds100 v2的问题

硬件协同仿真或HDL网表生成遇到错误

你好, 我正在使用SysGen中提供的xilinx IP内核实现通信系统。 Xilinx版本为14.7,MATLAB为R2010a。 由于设计错...

发表于 11-29 16:07 22次 阅读
硬件协同仿真或HDL网表生成遇到错误

请问最新的CCS6.1是否支持SSD-XDS510 PLUS仿真器?

最近刚安装了win10操作系统,好像win10 不支持CCS5.5及以下的版本,所以就安装了CCS6.1,但是公司只配了SSD-XDS510 ...

发表于 11-29 15:22 39次 阅读
请问最新的CCS6.1是否支持SSD-XDS510 PLUS仿真器?

【MM32-LINK试用体验】USB驱动与MM32_devkit安装

直接将MM32-Link的USB连接到电脑上,是不会自动搜索安装驱动的。显示如下图: 所以,必须下载安装USB驱动才行。这...

发表于 11-29 11:51 192次 阅读
【MM32-LINK试用体验】USB驱动与MM32_devkit安装

Altium Designer的介绍和使用教程等资料概述

Altium Designer 基于一个软件集成平台,把为电子产品开发提供完整环境所需的工具全部整合....

发表于 11-29 08:00 66次 阅读
Altium Designer的介绍和使用教程等资料概述

如何使用Synopsys VCS仿真器进行ZYNQ BFM IPI设计仿真

了解如何使用Vivado中的Synopsys VCS仿真器使用ZYNQ BFM IPI设计运行仿真。....

的头像 Xilinx视频 发表于 11-29 06:59 60次 观看
如何使用Synopsys VCS仿真器进行ZYNQ BFM IPI设计仿真

如何使用Vivado中的Synopsys VCS仿真器进行仿真

了解如何使用Vivado中的Synopsys VCS仿真器使用MicrBlaze IPI设计运行仿真....

的头像 Xilinx视频 发表于 11-29 06:57 67次 观看
如何使用Vivado中的Synopsys VCS仿真器进行仿真

输入电压是 5V/2A,输出电压在 4.3V,有推荐的IC设计吗?

我的需求是这样的,输入电压是 5V/2A,输出电压在 4.3V 对IC/电路的需求是这样的 1、稳压输出 4.3V/2A 2、输入过压...

发表于 11-28 17:26 357次 阅读
输入电压是 5V/2A,输出电压在 4.3V,有推荐的IC设计吗?

仿真器种类

软件仿真器主要是使用计算机软件来模拟运行,实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。用....

的头像 发烧友学院 发表于 11-26 16:41 214次 阅读
仿真器种类

仿真器有什么用

仿真器是用以实现硬件仿真的硬件。仿真器可以实现替代单片机对程序的运行进行控制,例如单步,全速,查看资....

的头像 发烧友学院 发表于 11-26 16:39 264次 阅读
仿真器有什么用

仿真器是什么

仿真器(emulator)以某一系统复现另一系统的功能。与计算机模拟系统的区别在于,仿真器致力于模仿....

的头像 发烧友学院 发表于 11-26 16:34 207次 阅读
仿真器是什么

几个嵌入式硬件设计时特别要注意的问题

并不是所有的总线信号都要上拉。上下拉电阻也有功耗问题需要考虑。上下拉电阻拉一个单纯的输入信号,电流也....

的头像 玩转单片机 发表于 11-26 16:05 410次 阅读
几个嵌入式硬件设计时特别要注意的问题

如何利用verilog验证二分法查找的设计代码

下面是产生输出文件的过程,这里我们设置输出结果的格式是fsdb,当然我们也可以设置成vcd的格式。f....

的头像 跟IC君一起学习集成电路 发表于 11-26 14:39 245次 阅读
如何利用verilog验证二分法查找的设计代码

对微机各类总线中目前比较流行的总线技术分别加以介绍

RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation....

的头像 电子发烧友网工程师 发表于 11-26 11:41 482次 阅读
对微机各类总线中目前比较流行的总线技术分别加以介绍

浅析二分法查找在实际电路中的应用

如果大家学过C或者C++,应该有二分法查找的概念,先把这堆数分成2堆,把第一堆的最后一个数跟55比较....

的头像 跟IC君一起学习集成电路 发表于 11-26 09:29 185次 阅读
浅析二分法查找在实际电路中的应用

在QEMU软件仿真器上运行Zynq UltraScale+ MPSoC

Xilinx展示了在QEMU软件仿真器上运行的Zynq UltraScale + MPSoC。 四....

的头像 Xilinx视频 发表于 11-26 06:46 114次 观看
在QEMU软件仿真器上运行Zynq UltraScale+ MPSoC

IC设计流程之全定制和半定制

一个完整的半定制设计流程应该是:RTL代码输入、功能仿真、逻辑综合、形式验证、时序/功耗/噪声分析,....

发表于 11-24 09:17 134次 阅读
IC设计流程之全定制和半定制

如何使用MOS管控制达到电源缓启动的目的

MOS管有导通阻抗Rds_on低和驱动简单的特点,在周围加上少量元器件就可以构成缓慢启动电路。虽然电....

的头像 张飞实战电子 发表于 11-23 10:05 559次 阅读
如何使用MOS管控制达到电源缓启动的目的

焦耳小偷电路如何榨干废旧干电池

焦耳小偷电路是一个简约的自激振荡升压电路,只需三个元件:三极管、电阻、电感即可实现升压,成本低、易制....

的头像 电子工程技术 发表于 11-23 08:50 319次 阅读
焦耳小偷电路如何榨干废旧干电池

探讨系统架构选择对电源和控制电路设计的影响

电机和电源控制逆变器设计人员都会遇到相同的问题,即如何将控制和用户接口电路与危险的功率线路电压隔离。

的头像 电机控制设计加油站 发表于 11-22 09:32 356次 阅读
探讨系统架构选择对电源和控制电路设计的影响

System Generator for DSP的设计流程

了解将2014.x Ultrascale内存IP级I / O约束迁移到2015.1版本所涉及的过程,....

的头像 Xilinx视频 发表于 11-22 06:47 181次 观看
System Generator for DSP的设计流程

System Generator设计工具的基本介绍

了解Vivado实现中2015.3中的新增量编译功能,包括更好地处理物理优化和自动增量编译流程。

的头像 Xilinx视频 发表于 11-22 06:12 212次 观看
System Generator设计工具的基本介绍

一个有关PN512在读取身份证UID的源码以及电路设计

用示波器读取PN512信号波形,正弦波非常好看,波形幅值是可以调节的,大家可以通过调节电路中的C3 ....

的头像 单片机爱好者 发表于 11-20 17:05 505次 阅读
一个有关PN512在读取身份证UID的源码以及电路设计

电路瞬态响应的研究实验资料说明免费下载

 一、实验目的 1、研究一阶网络的零输入响应,零状态响应及完全状态响应的变化规律。2、进一步熟悉示....

发表于 11-19 08:00 68次 阅读
电路瞬态响应的研究实验资料说明免费下载

FPGA的开发流程和物理含义和实现目标详解

FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照图1进....

发表于 11-18 09:55 230次 阅读
FPGA的开发流程和物理含义和实现目标详解

实图分析:运放7大经典电路!

但在实际使用中,为了保护恒流源电路,一般会在输出端串一只二极管和一只电阻,这样做的好处第一是防止外界....

的头像 电源研发精英圈 发表于 11-16 14:36 580次 阅读
实图分析:运放7大经典电路!

浅析电子元器件的布局与布线

电子设备是由元器件、组件、连线及零部件等组装而成,只有通过合理的布局、妥善安排其位置,才能有利于保证....

的头像 小哥Allegro 发表于 11-13 09:44 422次 阅读
浅析电子元器件的布局与布线

Thévenin等效电路和最大功率传输

Thévenin定理的一个主要用途是用一个简单的等价物来代替电路的大部分,通常是一个更复杂和无趣的部....

的头像 电机控制设计加油站 发表于 11-12 17:04 363次 阅读
Thévenin等效电路和最大功率传输

不同电子元器件损坏后的表现分析

电子元件也有寿命。电子元件的寿命除了与它本身的结构、性质有关,也和它的使用环境和在电路中所起作用密切....

的头像 电子发烧友网工程师 发表于 11-12 09:20 661次 阅读
不同电子元器件损坏后的表现分析

SD302通用仿真器的用户手册免费下载

SD302是一款供开发人员使用,对Vongo‘ 所有的电能计量SoC芯片进行调试和编程的通用仿真器。....

发表于 11-09 16:43 40次 阅读
SD302通用仿真器的用户手册免费下载

五花八门的关于单片机的开发经验

AT89C51我认为是一个非常标准的51单片机了,4个P口,1个串口,RAM只有标准的128Byte....

的头像 玩转单片机 发表于 11-06 15:58 582次 阅读
五花八门的关于单片机的开发经验

碎片化市场电子研讨会:Android、仿真器的测试

此次电子研讨会由英特尔领导,专注于在不断增长的零散市场中测试Android应用程序的不同途径。 讨....

的头像 英特尔 Altera视频 发表于 11-06 06:29 250次 观看
碎片化市场电子研讨会:Android、仿真器的测试

详细分析二极管的七种应用电路

二极管简易稳压电路主要用于一些局部的直流电压供给电路中,由于电路简单,成本低,所以应用比较广泛。

的头像 电子发烧友网工程师 发表于 11-05 16:30 772次 阅读
详细分析二极管的七种应用电路

如何使用Android虚拟设备管理器设置x86仿真器

本视频重点介绍如何使用Android虚拟设备管理器设置x86仿真器。 了解如何设置不同的参数并配置....

的头像 英特尔 Altera视频 发表于 10-30 06:08 320次 观看
如何使用Android虚拟设备管理器设置x86仿真器

烟雾报警器延伸:空气净化器——Amadeus

首先是电阻的选取,无论你选什么阻值,能实现功能都是可以的。但是在实际交付生产,采购的时候,如果量不....

的头像 电源研发精英圈 发表于 10-29 10:23 283次 阅读
烟雾报警器延伸:空气净化器——Amadeus

二分法查找在实际电路中的应用

二进制搜索实现的逐次逼近常常用于需要校准的场景中,比如SAR ADC、DRAM ZQ 校准、仪器校准....

的头像 跟IC君一起学习集成电路 发表于 10-29 10:03 528次 阅读
二分法查找在实际电路中的应用

Multisim使用教程之Multisim 10电路设计及仿真应用的详细资料概述

Multisim 10 特 色所见即所得的设计环境;互动式的仿真界面;动态显示元件(如LED,七段显....

发表于 10-25 18:01 113次 阅读
Multisim使用教程之Multisim 10电路设计及仿真应用的详细资料概述

CCS6.0安装和使用教程详细资料免费下载

首先我们需要来安装 TI DSP 的软件开发环境 CCS(Code Composer Studio)....

发表于 10-25 08:00 69次 阅读
CCS6.0安装和使用教程详细资料免费下载

一个毕业的电子人才你最少要了解什么样的电子知识?

记得有一次五一,我老师接了个项目,我很荣兴的被选了进去,开始就是测板,我一次次的跑前跑后,每天从上午....

的头像 电子工程技术 发表于 10-24 09:45 620次 阅读
一个毕业的电子人才你最少要了解什么样的电子知识?

电子电路有哪些特点 如何去学习电子电路知识

电子技术的发展经历了电子管、晶体管、集成电路、大规模和超大规模集成电路 4 个时代,新的电子器件出现....

的头像 HOT-ic 发表于 10-22 09:35 531次 阅读
电子电路有哪些特点 如何去学习电子电路知识

应急灯电路背后有多少玄机?

我们每天将会选取1-3个优质的问答帖推送至每日电路问题精选,赶紧来参加!

的头像 电子发烧友网 发表于 10-19 09:14 683次 阅读
应急灯电路背后有多少玄机?

FPGA的设计流程是怎么样的?FPGA设计流程指南详细资料免费下载

本文档的主要内容详细介绍的是FPGA的设计流程是怎么样的?FPGA设计流程指南详细资料免费下载内容包....

发表于 10-17 17:50 75次 阅读
FPGA的设计流程是怎么样的?FPGA设计流程指南详细资料免费下载

基于单片机学习的条件和学习步骤简述

单片机是大专学校电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要....

发表于 10-17 16:57 170次 阅读
基于单片机学习的条件和学习步骤简述

为何在某些电路设计中将两个电解电容反相串联?

在一些电路设计中看到两个电解电容反相串联,两元件容量要相等,耐压相同,在交流电路中可以减小漏电流,用....

的头像 贸泽电子设计圈 发表于 10-17 14:52 664次 阅读
为何在某些电路设计中将两个电解电容反相串联?

浅析常用的防接反电路

对于平常日用的一些产品,产品在进行设计时就会考虑这个问题,顾客只是简单的利用插头进行电源的连接,所以....

的头像 贸泽电子设计圈 发表于 10-17 11:13 793次 阅读
浅析常用的防接反电路

运放补偿电容是什么,有何作用?

为了让运放能够正常工作,电路中常在输入与输出之间加一相位补偿电容。

的头像 嵌入式资讯精选 发表于 10-17 08:58 556次 阅读
运放补偿电容是什么,有何作用?

如何设计常用模块的Verilog HDL?

本文档的主要内容详细介绍的是常用模块的Verilog HDL设计详细资料免费下载。

发表于 10-16 11:12 64次 阅读
如何设计常用模块的Verilog HDL?

什么是分立元件电路 分立元件电路与集成电路的区别

  1.分立元件电路   分立元件电路是将单个的电子元器件连接起来组成的电路。如果用分立元件实现功能....

的头像 HOT-ic 发表于 10-16 10:35 1413次 阅读
什么是分立元件电路 分立元件电路与集成电路的区别

济南市与富士康共同筹建的济南富杰产业基金项目正式签约

据台湾地区经济日报今年6月报道,刘扬伟对外提及,富士康早于1994年就开始低调发展半导体领域,近一年....

的头像 PCB开门网 发表于 10-15 11:14 1407次 阅读
济南市与富士康共同筹建的济南富杰产业基金项目正式签约

RS-485接口器件通讯无故障偏置电路的原理和设计

本文会帮助系统工程师设计成功的通讯安全无故障偏置网络。通过提供计算公式,可以帮助计算电阻阻值以及收发....

的头像 瑞萨电子 发表于 10-13 10:23 821次 阅读
RS-485接口器件通讯无故障偏置电路的原理和设计

仿真器和模拟器有什么不一样?

仿真器(emulator)的目的是作为目标系统的替代品,可以完全替代目标系统,完成其对外的功能,即仿....

的头像 沈丹 发表于 10-11 14:53 800次 阅读
仿真器和模拟器有什么不一样?

LF198-N 单片采样和保持电路

LF298和LFx98x器件是单片采样保持电路,采用BI-FET技术,通过快速采集信号和低下垂获得超高直​​流精度率。作为单位增益跟随器工作,DC增益精度典型值为0.002%,采集时间低至6μs至0.01%。双极性输入级用于实现低失调电压和宽带宽。输入失调调整由单个引脚完成,不会降低输入失调漂移。宽带宽允许LF198-N包含在1-MHz运算放大器的反馈环路内,而不会出现稳定性问题。 10 10 Ω的输入阻抗允许使用高源阻抗而不会降低精度。 P沟道结FET与输出放大器中的双极器件相结合,以提供下垂率使用1μF保持电容,低至5 mV /min。 JFET的噪声比以前设计中使用的MOS器件低得多,并且不会出现高温不稳定性。整体设计确保在保持模式下输入到输出都没有馈通,即使输入信号等于电源电压也是如此。 LF198-N上的逻辑输入是全差分,输入电流低,允许直接输入连接到TTL,PMOS和CMOS。差分阈值为1.4 V.LF198-N将采用±5 V至±18 V电源供电。 A型可提供更严格的电气规格。 特性 采用±5 V至±18 V电源供电 采集时间小于10-μs 逻辑输入兼容TTL,PMOS,CMOS 0.5 mV典型保持步长,Ch =0.01μF 低输入偏移 0...

发表于 08-03 17:53 67次 阅读
LF198-N 单片采样和保持电路