VHDL 与 Verilog

电器工程 视频文件 验证日志 高密度脂蛋白
2022-01-29 22:49:50

VHDLVerilog是当今使用的一些 HDL。使用 Verilog 或 VHDL 的优缺点是什么?

4个回答

我不能告诉你该学哪一个,但这里有一些对比点(来自一个非常以 VHDL 为中心的用户,但我尽量做到公平!),这可以帮助你根据自己的喜好做出选择在开发风格上:

并记住这句名言“我更喜欢我目前没有使用的两者中的任何一个”(抱歉,我不记得是谁写的——可能是 Janick Bergeron?)

高密度脂蛋白

  • 强类型
  • 更详细
  • 非常确定
  • 非 C 类语法(和思维方式)

一开始会出现很多编译错误,但随后大多会按照您的预期工作。这可能导致非常陡峭的感觉学习曲线(以及不熟悉的语法)

Verilog

  • 弱类型
  • 更简洁
  • 只有当你仔细遵循一些规则时才具有确定性
  • 更像 C 的语法(和思维方式)

稍后在模拟中发现错误 - “感觉像是完成某事”的学习曲线更浅,但持续时间更长(如果这是正确的比喻?)

同样对 Verilog 有利的是,高端验证越来越倾向于 SystemVerilog,它是 Verilog 的一个巨大扩展。但高端工具也可以将VHDL综合代码与SystemVerilog验证码结合起来。


完全另一种方法:MyHDL - 您可以通过一组综合扩展获得 Python 的所有功能作为验证语言,您可以从中生成 VHDL 或 Verilog。

或者Cocotb - Python 作为一种验证语言的所有功能,您的可综合代码仍然以您决定学习的任何 HDL(即 VHDL 或 Verilog)编写。

SystemC也是 HDL 的一个不错的选择。SystemC 支持系统级和寄存器传输级 (RTL) 设计。您只需要一个 C++ 编译器来模拟它。高级综合工具随后会将 SystemC 代码转换为 Verilog 或 VHDL 以进行逻辑综合。

我在同一周学会了这两个。VHDL 类似于 ADA/Pascal,而 Verilog 类似于 C。VHDL 更冗长且编译起来更痛苦,但是一旦编译成功,成功的机会就会更大。至少这是我发现的。Verilog 和 C 一样,很满足于让你在脚下开枪。航空航天/政府等一些行业倾向于 VHDL,而其他行业则倾向于 Verilog。我发现两者的问题是测试台功能,当尝试学习并尝试从模拟到硅/FPGA 编写可合成的代码时,这是另一种教育水平。

有一种我非常喜欢的语言叫做CDL它是严格可综合的,您可以用其他方式编写测试平台,它会生成可综合的 Verilog,您可以将其用于其他工具。不幸的是,缺少CDL文档,我希望在世界范围内获得一些样本,以展示它比 Verilog 或 VHDL 更容易使用,但只是没有完成。它带有自己的模拟/测试环境。使用CDLGTKWave,您可以完成大量工作。

另一种称为Verilator的工具在保持 Verilog 清洁方面相当严格。它是一个免费的 Verilog 模拟器,可以非常简单地连接到 sim 或在 C/C++ 中创建测试平台。您也可以使用 Verilog,并不限制您使用 Verilog。还有Icarus Verilog,它更大,更知名,但如果你想学习 Verilog ,我会推荐Verilator 。对于 VHDL 有GHDL,我对它的体验不如Verilator,但至少有一个免费的工具可以让你的脚湿透。如果您有软件编程经验,您可能会比 VHDL 更快地学习并享受 Verilog。

我绝对同意 Leon,两者都试试。 fpga4fun和其他网页有一些很好的信息,其中一些页面将为您提供他们正在讨论的主题的 Verilog 和 VHDL 等效项。我发现那些页面对于比较两种语言最有用。如果使用 HDL 是您想要在您的职业生涯中做的事情,我建议您至少同时具备一些功能,其中一个可能非常好,但不要完全无法使用另一个。

许多圣战已经为此而战。Verilog 的一个特殊缺点是它的非确定性行为。http://www.sigasi.com/content/verilogs-major-flaw

两者都有优点和缺点。VHDL 更加学术、冗长和复杂。您必须编写更多代码,但严格意味着它更有可能工作。Verilog 对于典型的数字设计来说更简单,但更容易创建棘手的错误。VHDL 在大学中更常见。Verilog 在大型半导体公司中更为常见。

通常,选择其中一种是由您使用的工具决定的。一些流行的 FPGA 工具在使用 VHDL 时效果更好。一些流行的 ASIC 工具使用 Verilog 做得更好。所以,哪个更好取决于你想用它做什么。

假设您想使用在 EE 学校流行的 Altera FPGA 构建小型项目。免费工具支持两种 HDL。但是您可能会发现用户社区主要使用 VHDL。如果您选择该语言,将会有更多示例代码、可重用模块等。

相反,如果你打算在一家大公司工作,从事严肃的芯片设计工作,现在几乎所有人都在使用 Verilog。重型综合、仿真和验证工具针对 Verilog 进行了优化。最近,SystemVerilog - Verilog 的扩展,以支持高级系统设计和验证。

更多讨论在这里和有用的链接在这里:

http://www.eetimes.com/electronics-blogs/programmable-logic-designline-blog/4032239/Verilog-versus-VHDL-which-is-best-

对于初学者/爱好者,最好的建议是决定你想玩什么芯片,看看供应商提供了哪些例子。用那个。一旦您成为经验丰富的数字设计师,学习另一种语言只需几天时间。