使用Verilog开始设计电路

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


Verilog是一种硬件描述语言(HDL)。这类似于编程语言,但不完全相同。尽管使用编程语言来构建软件,但是使用硬件描述语言来描述数字逻辑电路的行为。也就是说,HDL用于设计计算机芯片:处理器,CPU,主板和类似的数字电路.

Verilog历史

Verilog是最早的现代HDL之一。有一些较早的HDL,可以追溯到1960年代,但相对有限。直到Verilog(及其紧密竞争对手VHDL)之前,大多数电路设计主要是手工完成的,将正式的硬件描述语言中指定的行为转化为草拟的电路板蓝图.

Verilog始于1980年代初,是一种专有的(封闭源)语言,用于模拟硬件-部分用于进行硬件验证工作。 (名称是“验证”和“逻辑”的组合。)该设计结合了其他HDL(主要是HiLo)和编程语言(主要是C)的思想。人们开始使用该语言后,很明显可以将其用于设计新硬件。这需要设计硬件综合工具,这些工具可以将HDL模块的逻辑转换为物理设计.

1990年,拥有Verilog(Cadence)的公司决定开源该语言。他们将权利转让给了一个名为Open Verilog International的新非营利组织(该组织后来与VHDL的同等组织合并,成立了Accellera)。硬件供应商迅速开始为自己的目的修改和扩展Verilog,从而创建了数十个稍不兼容的版本。 OVI要求IEEE对其语言进行标准化,这是1995年所做的。IEEE仍然是Verilog语言的权威标准机构,而Accellera是语言开发的主要动力.

在过去的三十年中,Verilog发生了很大的变化。在标准化之前,Cadence的每个新版本都引入了许多新功能。自从IEEE采纳该标准以来,已经出现了三种语言规范-2005年的最新规范.

Verilog家族

除了核心Verilog语言外,Verilog系列还有两个主要成员.

  • SystemVerilog是Verilog的超集,它添加了完整的硬件验证语言.
  • Verilog-AMS是Verilog的派生产品,它添加了用于描述模拟和混合信号系统的功能.

Verilog语法和示例

Verilog的语法和结构与C非常相似。主要区别在于,它包括用于描述特定于硬件的细节的结构和运算符.

在Verilog中,有些事情变得更加明确-例如,传播时间和信号强度-在诸如C之类的语言中并没有真正涉及到.

实际上,还对其他事物进行了抽象处理-例如触发器(交换两个变量的值),该触发器可以在Verilog中显示,而无需临时分配给临时变量。在以下示例中,交换了x和y变量中的值:

开始
X <= y;
ÿ <= x;
结束

为了使您对语言有一点了解,下面是同一复用过程的三个示例。这些都将来自两个输入的信号合并为一个输出.

示例:连续分配

连线
分配= sel? a:b;

示例:程序

退出
总是@(a或b或sel)
开始
案例(sel)
1’b0:出= b;
1’b1:输出= a;
尾箱
结束

示例:If-Else

退出
总是@(a或b或sel)
如果(sel)
出= a;
其他
出= b;

alwayskeyword构成一个永无止境的循环。添加@()运算符后,只要命名值发生更改,循环就会发生一次迭代.

Verilog资源

因为Verilog不是传统的软件编程语言,所以资源更多地集中在书籍上。但是我们也汇集了一些最佳的在线资源.

在线资源

  • 讲解
    • 来自Asic World的Verilog教程:信息非常有用,特别是对于那些需要入门级教程的人。但是您将不得不忽略其糟糕的设计.
    • Verilog Primer:简而言之的四章在线书籍,试图在Verilog上传达“公正的事实”。非常适合让自己保持困惑.
    • Verilog简介:免费的九章课程.
  • 工具类
    • VeriPool:用于Verilog开发的免费软件工具.
    • Verilog在线模拟器:免费的Verilog解释器.

图书

与流行的软件开发语言不同,Verilog的在线资源和教程并不多。如果您想学习语言,则需要购买一些物理书籍.

入门书籍

这些是针对刚开始学习Verilog的人的.

  • Verilog简介:更好的“入门”书之一.
  • 带有Verilog设计的数字逻辑基础:该主题的简介,被编写和设计为大学课程的教科书。集成了CAD(计算机辅助设计)软件,可将Verilog转换为物理电路设计,并记录实际芯片的实际工作方式.
  • 举例说明Verilog:FPGA设计的简要介绍:FPGA是现场可编程门阵列,它是一种集成电路,可以在制造后进行编程(并重新编程)。这将直接硬件实现的速度(如在ASIC中)与软件编程的灵活性相结合。 Verilog可用于对FPGA进行编程(实际上,如果您刚刚起步,则比起必须定制制造的ASIC,您更有可能在FPGA上实现您的设计)。本书对该主题进行了扎实的介绍.
  • 数字设计(Verilog):使用Verilog的嵌入式系统方法:另一本关于Verilog入门信息的大学课程教科书,该教科书着重于设计嵌入式系统(在这种情况下,您很可能会发现自己需要在FPGA中设计新的FPGA映像)现实中).
  • 数字设计:Verilog HDL简介
  • 数字设计和Verilog HDL基础知识
  • Verilog HDL综合,实用入门
  • SystemVerilog设计第二版:使用SystemVerilog进行硬件设计和建模的指南

中高级书籍

面向已经了解Verilog并希望提高其技能水平的人们的书籍.

  • Verilog和SystemVerilog难题:101种常见的编码错误以及如何避免它们:强烈推荐给希望成为专家的中级Verilog程序员使用的书.
  • Verilog Designer的库:一种适用于Verilog开发人员的Verilog食谱书.
  • 先进的芯片设计,Verilog中的实际示例:Verilog规范的最新内容之一,2013年出版的这本书是工艺大师对芯片设计的深入研究.
  • 数字逻辑RTL & Verilog面试问题

关于System Verilog的书籍

  • UVM入门手册:通用验证方法的分步介绍
  • 用于验证的SystemVerilog:学习Testbench语言功能的指南
  • SystemVerilog断言和功能范围:语言,方法和应用指南

Verilog的替代品

Verilog是两种最常用的硬件描述语言之一。另一个是VHDL。另外,C ++也可以用作HDL和HVL,尽管大多数情况下仅用于高级行为设计。最认真的硬件开发人员精通所有这三种语言,以及主要的低级操作系统语言,例如C.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map