0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

SwM2_ChinaAET 来源:未知 作者:李倩 2018-06-14 08:48 次阅读

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5894

    浏览量

    172081
  • 仿真器
    +关注

    关注

    14

    文章

    1016

    浏览量

    83700
  • HDL
    HDL
    +关注

    关注

    8

    文章

    327

    浏览量

    47365

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

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

收藏 人收藏

    评论

    相关推荐

    RNN的基本原理与实现

    RNN,即循环神经网络(Recurrent Neural Network),是一种特殊类型的人工神经网络,专门设计用于处理序列数据,如文本、语音、视频。以下是对RNN基本原理与实现的介绍: 一
    的头像 发表于 11-15 09:49 343次阅读

    使用modelsim时的问题分析

    仿真对于FPGA设计来说至关重要,我们经常使用modelsim来进行功能仿真或者时序仿真,这样就需要将modelsim和设计软件(quart
    的头像 发表于 10-24 18:15 252次阅读
    使用<b class='flag-5'>modelsim</b>时的问题分析

    光耦仿真器简介

    电子发烧友网站提供《光耦仿真器简介.pdf》资料免费下载
    发表于 08-28 11:45 0次下载
    光耦<b class='flag-5'>仿真器</b>简介

    TI磁感应仿真器功能简介

    电子发烧友网站提供《TI磁感应仿真器功能简介.pdf》资料免费下载
    发表于 08-28 09:48 0次下载
    TI磁感应<b class='flag-5'>仿真器</b>功能简介

    滤波基本原理、分类及实现方式

    滤波是一种信号处理设备,用于从信号中去除不需要的频率成分,保留所需的频率成分。在信号处理中,滤波起着至关重要的作用。 滤波基本原理 滤波
    的头像 发表于 08-25 14:44 614次阅读

    仿真器的使用方法有哪些

    仿真器是一种用于模拟和测试电子系统、软件或硬件的工具。它可以帮助工程师在实际硬件或软件部署之前,对设计进行验证和调试。 仿真器的基本概念 仿真器是一种软件或硬件工具,用于模拟和测试电子系统、软件或
    的头像 发表于 08-22 09:16 766次阅读

    神经网络的基本原理

    神经网络,作为人工智能领域的一个重要分支,其基本原理和运作机制一直是人们研究的热点。神经网络的基本原理基于对人类大脑神经元结构和功能的模拟,通过大量的神经元相互连接、协同工作,实现对信息的处理、分析
    的头像 发表于 07-01 11:47 1065次阅读

    AC/DC电源模块的基本原理与应用

    BOSHIDA AC/DC电源模块的基本原理与应用 AC/DC电源模块是一种将交流电转换为直流电的电子设备,它广泛应用于电子设备、电信设备、工控设备以及家电领域。本文将介绍AC/DC电源模块
    的头像 发表于 05-21 11:15 813次阅读
    AC/DC电源模块的<b class='flag-5'>基本原理</b>与应用

    激光二极管基本原理介绍

    激光二极管基本原理介绍
    发表于 03-19 10:57

    fpga仿真器是什么?它有哪些优势?

    FPGA仿真器是一种用于模拟FPGA(现场可编程门阵列)硬件行为的软件工具。它通过模拟FPGA内部的逻辑电路、时序和接口,帮助工程师在FPGA设计过程中进行功能验证和性能测试。FPGA仿真器在FPGA开发流程中扮演着至关重要的
    的头像 发表于 03-15 15:15 1701次阅读

    fpga仿真器接口定义

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)仿真器接口的定义主要依赖于仿真器的具体设计和所支持的通信协议。在FPGA的设计和仿真过程中,接口的定义对于实现与
    的头像 发表于 03-15 14:01 1208次阅读

    光耦仿真器的优势有哪些

    光耦仿真器与业内最常见的光耦合引脚对引脚兼容,有助于无缝集成到现有设计中,同时提供相同的信号行为。
    的头像 发表于 01-30 15:07 558次阅读

    浪涌抑制基本原理和种类?

    浪涌抑制基本原理和种类?|深圳比创达电子
    的头像 发表于 01-18 09:59 853次阅读
    浪涌抑制<b class='flag-5'>器</b>的<b class='flag-5'>基本原理</b>和种类?

    如何使用 ModelSim 进行设计仿真

    ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程 序进行仿真,支持IEEE常见的各种硬件描述语言标准。可以进行两种语言的混合仿真,但 推荐
    发表于 01-14 09:47 0次下载

    xds100v3仿真器引脚定义

    中,我将详细介绍xds100v3仿真器的引脚定义。 首先,让我们来了解一下xds100v3仿真器的整体结构和基本原理。xds100v3仿真器由一个主控制
    的头像 发表于 01-05 13:40 4637次阅读