HDL仿真器基于事件的仿真算法

2018-06-14 17:01:57 来源: 电子技术应用
标签:

 

目前,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。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
苹果电视与iPhone获YouTube访问权

YouTube是最流行的观看用户自己上传视频的站点之一,该网站由Google 拥有。该公司还与CBS、BBC、环球唱片等与几大主要内容提供商达成了合作协议。

CBS与雅虎达成网络视频共享协议

哥伦比亚广播公司(CBS)周三称,CBS已与雅虎公司达成了网络视频合作协议。根据协议,CBS公司的视频内容可通过雅虎播放。作为一家媒体公司,与雅虎合作将为CBS电视节目增添新的播放出口。

更多资讯
FPGA电路板设计选型及设计思路分析

如果你在采用FPGA的电路板设计方面的经验很有限或根本没有,那么在新的项目中使用FPGA的前景就十分堪忧——特别是如果FPGA是一个有1000个引脚的大块头。继续阅读本文将有助于你的FPGA选型和设计过程,并且有助于你规避许多难题。

使用个人数字助理、FPGA技术实现高质量流视频的方案

无线多媒体依赖于复杂的视频软件/服务器技术,而流视频和音频的生成又依赖复杂的处理技术。

基于FPGA的椭圆曲线加密设计

椭圆曲线加密是一种目前已知的所有公钥密码体制中能够提供最高比特强度的一种公钥体制。在FPGA实现椭圆曲线加密系统时,基于GF(2)的多项式有限域中的乘法、求逆运算是其中的两大难点。本文提供了一种椭圆曲线加密的FPGA实现的结构,着重讨论了基于GF(2)的多项式有限域中的乘法、求逆运算的实现,并与软件实现的性能进行了比较。

宇宙最快FPGA产品8年前就已出现?这事得从帕克太阳探测器说起
宇宙最快FPGA产品8年前就已出现?这事得从帕克太阳探测器说起

8年前,NASA和约翰霍普金斯大学联合立项,投入15亿美元打造一款绕日探测卫星。2018年,这款名为“帕克号”的太阳探测器发射升空。帕克号上的电子系统和仪器组由多个FPGA共同控制,帮助帕克号成为有史以来最接近太阳和速度最快的人造航天器。

使用Vivado HLS优化RTL代码以达到最佳性能

用软件从 C 转化来的 RTL 代码其实并不好理解。今天我们就来谈谈,如何在不改变 RTL 代码的情况下,提升设计性能。

电路方案