跳转到内容

可编程逻辑/硬件设计语言

来自维基教科书,开放的书籍,开放的世界

可编程逻辑书籍的这一页是一个可编程逻辑页面。您可以通过扩展它来帮助我们。


此页面将讨论 HDL 方法的历史和发展,以及我们将在这本书中学习的三种 HDL 语言:Verilog、VHDL 和 SystemC。

HDL 历史

[编辑 | 编辑源代码]

硬件描述语言 (HDL) 是专门用于编程 FPGA 和 CPLD 的编程语言。HDL 编译器通常会创建“门映射”,而不是计算机可执行文件。此门映射可以下载到可编程设备上并运行。

有三种常见的 HDL:Verilog、VHDL 和 SystemC。其中,SystemC 是最新且最不流行的,尽管它在行业中的使用量一直在上升。

Verilog 历史

[编辑 | 编辑源代码]

Verilog HDL 起源于 1985 年的自动集成设计系统 (后来更名为网关设计自动化)。该公司当时由 PODEM 测试生成算法的发明者 Prabhu Goel 博士私人持有。Verilog HDL 由 Phil Moorby 设计,他后来成为 Verilog-XL 的首席设计师,也是 Cadence Design Systems 的第一位公司院士。网关设计自动化随着 Verilog-XL 的成功而迅速发展,最终在 1989 年被加利福尼亚州圣何塞的 Cadence Design Systems 收购。

Verilog 是作为仿真语言发明的。将 Verilog 用于综合是一个完全事后的想法。有传言说,网关和 Synopsys 在早期有过合并的讨论,当时双方都没有给对方多少成功的机会。

在 1980 年代后期,似乎很明显的是,设计师将从 n 点、HiLo 和 Verilog 等专有语言转向美国国防部的标准 H.D.L.,即称为 VHSIC 硬件描述语言。VHSIC 本身代表“超高速集成电路”。

也许是由于这种市场压力,Cadence Design Systems 决定在 1990 年向公众开放 Verilog 语言,从而诞生了 OVI(开放 Verilog 国际)。在此之前,Verilog HDL 是一种专有语言,是 Cadence Design Systems 的财产。当 OVI 于 1991 年成立时,许多小公司开始开发 Verilog 仿真器,包括 Chronologic Simulation、Frontline Design Automation 等。第一个仿真器于 1992 年上市,现在许多来源都提供了成熟的 Verilog 仿真器。

结果,Verilog 市场大幅增长。1994 年 Verilog 相关工具的市场规模超过 75,000,000 美元,使其成为市场上最具商业意义的硬件描述语言。

1993 年,在设计自动化分委员会下成立了一个 IEEE 工作组,以制定 IEEE Verilog 标准 1364。Verilog 于 1995 年成为 IEEE 标准 1364。

作为一项国际标准,Verilog 市场继续增长。1998 年,仅 Verilog 仿真器的市场规模就超过了 150,000,000 美元,继续保持其主导地位。

IEEE 工作组于 2002 年 3 月发布了修订后的标准,称为 IEEE 1364-2001。此版本中出现了重大出版错误,并在 2003 年发布了修订版,称为 IEEE 1364-2001 修订版 C。

随后,成立了一个新的工作组 IEEE P1800,在 IEEE 1364 语言的基础上,并结合 Accellera 的额外贡献。在 2004 年年中,IEEE 1364 委员会解散,标准维护工作由 IEEE 1800 工作组接管。

VHDL 历史

[编辑 | 编辑源代码]

VHDL 代表“超高速集成电路 (VHSIC) 硬件描述语言”,是可编程门阵列和专用集成电路 (ASIC) 中常用的 HDL。VHDL 的形式与 Ada 非常相似。VHDL 是一种用于描述数字电子系统的语言。它起源于 1980 年启动的美国政府“超高速集成电路 (VHSIC)”计划。在这个计划的执行过程中,很明显需要一种标准语言来描述集成电路 (IC) 的结构和功能。因此,诞生了 VHSIC 硬件描述语言 (VHDL)。

1985 年发布了第一个公开的 VHDL 版本,即版本 7.2。1986 年,美国电气和电子工程师协会 (IEEE) 收到了一份关于标准化该语言的提议,并在由商业、政府和学术界代表组成的团队进行大量增强和修改后,于 1987 年将其标准化。由此产生的标准 IEEE 1076-1987 是当今几乎所有仿真和综合产品的基础。1994 年发布了该语言的增强版和更新版 IEEE 1076-1993,VHDL 工具供应商一直在通过在他们的产品中添加这些新的语言特性来做出回应。

虽然 IEEE 标准 1076 定义了完整的 VHDL 语言,但该语言的某些方面使得在不同的供应商工具之间编写完全可移植的设计描述变得困难。问题源于 VHDL 基础支持许多抽象数据类型,但没有解决表征不同信号强度或常用仿真条件(例如未知和高阻抗)的简单问题。仿真器公司开始使用新的非标准类型来增强 VHDL,以允许他们的客户准确地仿真复杂的电子电路。这会导致问题,因为输入到一个仿真器中的设计描述通常与其他仿真环境不兼容。VHDL 很快成为非标准。为了解决非标准数据类型的问题,IEEE 委员会开发了另一个标准。这个标准编号为 1164,定义了一个标准包(VHDL 的一个功能,允许将常用声明收集到外部库中),其中包含标准九值数据类型的定义。这个标准数据类型称为 std_logic,IEEE 1164 包通常被称为标准逻辑包。

IEEE 1076-1987 和 IEEE 1164 标准共同构成了当今最广泛使用的完整 VHDL 标准。IEEE 1076-1993 正在慢慢进入 VHDL 主流,但它没有为综合用户添加任何重要的新功能。

标准 1076.3(通常称为数值标准或综合标准)定义了与实际硬件相关的 VHDL 数据类型的标准包和解释。这个标准于 1995 年底发布,旨在取代综合工具供应商创建和与其产品一起分发的许多自定义(非标准)包。

IEEE 标准 1076.3 为综合用户做了 IEEE 1164 为仿真用户做的事情,即提高标准 1076 的功能,同时确保不同供应商工具之间的兼容性。1076.3 标准包括,除其他事项外,将时序信息注释到仿真模型是一个准确数字仿真的重要方面。VHDL 1076 标准描述了可用于时序注释的各种语言特性。但是,它没有描述在时序模型本身之外表达时序数据的标准方法。

SystemC 历史

[编辑 | 编辑源代码]
华夏公益教科书