story · 4月29日

适合初学者的 4 大 HDL 仿真器

对于那些刚开始使用 HDL(如 VHDL 和 Verilog)进行编程的人来说,运行仿真以更好地了解该语言的工作原理非常重要。我们来看看四个仿真器——Icarus Verilog、GHDL、Vivado 和 Modelsim——并讨论它们的优缺点。

在学习使用硬件描述语言(如Verilog或VHDL)对FPGA或ASIC进行编程时,能够仿真代码是学习过程的重要组成部分。

市场上有许多不同的仿真器,每种仿真器都有自己的优点和缺点。因此,很难知道哪个是最好的工具。

在本文中,我们将介绍市场上最受欢迎的四款 HDL 仿真器。包括对每种工具的优缺点的总结,使初学者更容易选择最佳的 HDL 仿真工具。(主要是针对初学者的免费易得的需求。)

Icarus Verilog

Icarus Verilog 是最受欢迎的开源 Verilog 仿真器之一。它甚至是可以在流行的 EDA playground 网站上使用的仿真器之一。

Icarus Verilog 可用于 Windows、macOS 或基于 Linux 的操作系统。它提供对 Verilog-2005 标准的完全支持以及对 SystemVerilog 的有限支持。

Icarus Verilog 是一个开源工具,因此可以免费使用,是初学者的不错选择。使 Icarus 成为对初学者有吸引力的工具的另一件事是它的易用性,只需要几个简单的命令就可以运行基本的仿真。

但是,Icarus Verilog 也有一些缺点。

最大的缺点之一是 Icarus Verilog 默认不显示波形,可以将波形导出到开源 GTKWave 软件中以查看波形。

除此之外,Icarus Verilog 仅提供对 Verilog 的全面支持。这意味着无法使用此工具运行使用 VHDL 或 SystemVerilog 的仿真。

image.png

GHDL

GHDL 是一个完全开源的 VHDL 仿真器,已有近 20 年的历史。我们同样可以在 Windows、macOS 或基于 Linux 的操作系统上使用 GHDL。

GHDL 是最流行的开源 VHDL 仿真器。由于这种受欢迎程度,它也是 EDA Playground 上的仿真器之一。

这种受欢迎程度的一个原因是它提供了对 VHDL-2008 标准的许多功能的支持。这与许多商用仿真器相媲美,其中大多数仍然只提供有限的 VHDL-2008 支持。

使 GHDL 对初学者有吸引力的另一个功能是易用性。只需使用两个命令即可仿真基于 VHDL 的设计。

对于更高级的用户,GHDL 还为 OSVVM 和 UVVM 等仿真库提供了简单的支持。

但是,使用 GHDL 有一些缺点。与 Icarus Verilog 一样,我们无法在 GHDL 中显示仿真的波形。这意味着如果我们想查看波形,我们必须将波形导出到免费的 GTKWave 软件中。

除此之外,我们只能使用 GHDL 来仿真基于 VHDL 的设计。

image.png

Vivado

Vivado 是 Xilinx 推出的一款软件工具,可用于设计、仿真和构建 FPGA。与我们目前讨论的其他工具不同,Vivado 是商业开发和维护的。因此,Vivado 会定期更新新功能和错误修复。

Vivado 有几种不同的license选项,具体取决于所针对的 FPGA 系列。但是,有一个适合初学者的免费版本,可用于基本的设计和仿真。

我们可以在基于 Windows 和 Linux 的操作系统上使用 Vivado,但目前不支持 macOS。

我们可以使用 Vivado 对 SystemVerilog、VHDL 或 Verilog 中的任何一种进行设计仿真。与GHDL或Icarus相比,这是一个明显的优势,GHDL或Icarus只支持一种语言。

尽管使用 Vivado 构建 FPGA 时存在学习曲线,但对于简单的仿真来说,它相对简单。它还提供了一个图形用户界面,这与我们迄今为止讨论的开源工具不同。

使用 Vivado 进行仿真的另一个好处是,它本身就支持波形查看。这对初学者特别有用,因为它可以很容易地快速可视化仿真中发生的事情。

但是,将 Vivado 用作 HDL 仿真器也存在一些缺点。

Vivado 的缺点之一是它通常需要超过 10GB 的安装。这样做的原因是,它是一套工具集,旨在仿真 FPGA 和烧写比特流。

对于更高级的用户来说,将第三方仿真库(如 UVM 和 OSVVM)与 Vivado 一起使用也可能很困难。

image.png

ModelSim

Modelsim 是西门子生产的仿真工具。它是 Questa 仿真器的精简版本,它是最受欢迎的工业用 HDL 仿真器之一。

虽然 Modelsim 是一款付费工具,但作为英特尔或 Microchip FPGA 工具链的一部分,可以获得免费版本。

Modelsim 可以在基于 Linux 或 Windows 的操作系统上使用,但不能在 macOS 上使用。

与开源工具不同,我们可以使用 Modelsim 来仿真混合使用 SystemVerilog、VHDL 或 Verilog 的设计。

除此之外,Modelsim还具有GUI,无需使用其他软件工具即可查看波形。正如我们已经讨论过的,这对初学者特别有用,因为它可以很容易地可视化仿真中发生的事情。

但是,使用 Modelsim 进行 HDL 仿真也存在一些缺点。

与我们讨论过的其他工具相比,Modelsim 是最难使用的。为了有效地运行仿真,有必要使用 tcl 编写脚本。虽然编写这些脚本不需要掌握 tcl,但至少需要一些基本的了解。

Questa 和 Modelsim 成为商业上流行的工具的原因之一是它们提供了快速的仿真时间。但是,免费版本的性能受到故意限制,这意味着运行仿真的速度可能会很慢。

尽管 Modelsim 提供了对 SystemVerilog 的支持,但不支持该语言的几个关键功能。这包括大多数与验证相关的功能,例如类和功能覆盖率。

image.png

对于那些刚开始使用 HDL(如 VHDL 和 Verilog)进行编程的人来说,运行仿真以更好地了解该语言的工作原理非常重要。我希望这篇文章能帮助初学者选择合适的仿真器。

作者:数字芯片
来源:数字芯片实验室

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。添加极术小姐姐(微信:aijishu20)微信可申请加入IC设计交流群。
推荐阅读
关注数
12314
内容数
220
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息