1.1.1 仿真器,三国鼎立

HDL仿真软件自早期作为一家公司提供的单一专有产品,到今天许多供应商以各种价格提供仿真器,包括免费仿真器。对于桌面/个人用途,Aldec,Mentor,LogicSim,SynaptiCAD,TarangEDA和其他公司为Windows平台提供低于5000美元的工具套件。套件将仿真器引擎与完整的开发环境捆绑在一起:包括文本编辑器,波形查看器和RTL级浏览器。此外,Aldec和ModelSim仿真器的有限功能版本可从其各自的OEM合作伙伴(Microsemi,Altera,Lattice Semiconductor,Xilinx等)免费下载。对于那些需要开源软件的人,有Icarus Verilog,GHDL等等。
除了桌面级别,企业级仿真器提供更快的仿真运行时间,对混合语言(VHDL和Verilog)仿真提供更强大的支持,最重要的是,它们经过时序精确(SDF注释)门级仿真验证。当设计数据库发布到制造时,最后一点对于ASIC流片过程至关重要。 (半导体代工厂规定使用从批准清单中选择的工具,以便客户的设计获得签收状态。虽然客户不需要执行任何签收检查,但是晶圆订单的巨大成本通常确保了彻底的设计验证客户方面。)三个主要的仿真器包括Cadence Incisive Enterprise Simulator,Mentor ModelSim / SE和Synopsys VCS。定价未公开发布,但所有三家供应商每个套件收取25,000美元至100,000美元,基于1年时间的许可证。
还记得当年,在学校里使用modelsim,打开gui,点击load design和tb,并且将仿真器设置完,run的场景,那时候觉得这个工具酷比了,还贼好使。唯一的问题,就是看波形的时候有点费劲,当然了,也是那时不太懂得,波形的内在含义,以至于稀里糊涂,蒙混过关。
后来工作又陆续接触了synopsys和cadence的工具,才发现真是天外有天。以前的用gui手动load design和tb的方式真是弱爆了,一个-f加filelist,上千个文件都吃进来了。batch mode跑仿真,不要太爽,一条命令跑变天下,再加上各个公司都会有专门的跑仿真的脚本,将这些命令打包,然后仿真结果能自动分析处理,提取出pass,fail。
反观这几年工作使用过的仿真器,个人认为vcs应该是最好的。再加上可视化的debug工具verdi的加持,synopsys公司更是如虎添翼。不管从工具的易用性,文档完善性,和提供技术支持的速度,都可以秒杀modelsim。

HDL仿真器wiki

1.1.2 Synopsys, 一家独大

Synopsys,公司名字来源于综合优化系统的英文组合(Synthesis optimization systems)。从通用电气(GE)微电子中心诞生的Synopsys公司,其最初的产品就是Synthesis综合工具。正如公司的名字一样,Synopsys从成立到今天,在逻辑综合市场几乎没有竞争对手。凭借逻辑综合工具,公司取得了良好的效益,财大气粗的Synopsys靠收购其他公司和技术,成为EDA历史上第一家可以提供顶级前后端完整IC设计方案的领先EDA工具供应商,公司坐稳第二的位置,并在2008年超越Cadence成为全球最大的EDA工具厂商。并推出了一些大家耳熟能详的产品,例如,vcs,dc,pt,icc,spyglass,verdi等。

Synopsys成长之路

1.1.1 仿真器,三国鼎立HDL仿真软件自早期作为一家公司提供的单一专有产品,到今天许多供应商以各种价格提供仿真器,包括免费仿真器。对于桌面/个人用途,Aldec,Mentor,LogicSim,SynaptiCAD,TarangEDA和其他公司为Windows平台提供低于5000美元的工具套件。套件将仿真器引擎与完整的开发环境捆绑在一起:包括文本编辑器,波形查看器和RTL级浏览器。此外,Aldec和ModelSim仿真器的有限功能版本可从其各自的OEM合作伙伴(Microsemi,Altera,Lat Modelsim是Mentor公司开发的优秀的 HDL 语言仿真软件。支持V HDL 和Verilog语言。 它能提供友好的仿真环境,采用单内核支持V HDL 和Verilog两种语言的混合仿真的 仿真器 。 它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。 它是FPGA/ASIC设计的首选仿真软件,编译仿真速度快且编译的代码与FPGA平台无关。
目前, HDL 仿真器 主要有三种实现算法(机制):基于时间的算法(Time-Based)、基于事件的算法(Event-Based,EBS)和基于周期的算法(Cycle-Based,CBS)   基于时间的算法适合处理连续的时间及变量,其会在每一个时间点对所有的电路元件进行计算。但是,在大部分情况下,每一个时间点只有约2%~10%的电路处于活动(运行)状态,所以该算法效率非常低。   基于事件的算法适合处理离散的时间、状态和变量。该算法只有在电路状态发生变化时才进行处理,只仿真那些可能引起电路状态改变的元件。 仿真器 响应输入引脚上的事件,并将值在电路中向前传播。目前来说,该算法
本文摘自《FPGA之道》。 功能仿真篇 功能仿真是所有仿真类型中最重要的,也是占项目开发比重最大的仿真,对任何一个项目的开发来说几乎都是必须的,所以在此单独使用一个篇章对它进行介绍。因此,本篇所指的“仿真”若无特别说明,皆泛指功能仿真。 功能仿真...
在描述完电路之后,我们需要进行对代码进行验证,主要是进行功能验证。现在验证大多是基于UVM平台写的systemverilog,然而我并不会sv,不过我会使用verilog进行简单的验证,其实也就是所谓的仿真。这里就来记录一下一些验证的基础吧。 一、验证基础与仿真原理   ①综合中的语法,都适用于仿真,在仿真中,Verilog语句是串行的,其面向硬件的并行特性则是通过其语义(语言含义)来实现...
作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1 GitHub:github.com/saint-000 CSDN: https://me.csdn.net/qq_4053...
Verilog HDL 是一种硬件描述语言,可以用来描述数字电路的行为和结构,常用于数字电路的设计和验证。波形发生器是一种可用于产生各种信号波形的电路,通常用于测试数字电路或模拟模拟电路。 Modelsim是一款流行的数字电路仿真工具,可以使用Verilog HDL 编写波形发生器的代码,并对其进行仿真验证。通过仿真,可以模拟波形发生器的电路行为,验证其预期输出是否符合预期。仿真还可用于检测电路中可能存在的错误,例如不良的时序问题、特定输入情况下的意外行为、输出的稳定性等等。 使用Verilog HDL 编写波形发生器的代码,通常会包括两个模块:一个时钟发生器和一个波形发生器。时钟发生器可用于产生稳定的时序信号,来控制波形发生器的输出;而波形发生器则根据输入的控制信号,产生不同形状、频率、幅度的输出信号。 在编写完电路代码后,通过Modelsim来进行仿真,可以使用波形编辑器来调整输入信号,以测试波形发生器的不同输出情况,以及检查任何可能存在的错误。通过良好的仿真测试,可以进一步保证数字电路设备的正常运行和稳定性。
Xrun MSIE flow遇到INTERNAL EXCEPTION with “ifmgr - pt_build() -size calculated incorrectly“ makefile中变量传递到target调用的shell脚本中遇到的问题?