硬件描述语言

    介绍:

    大多数人都熟悉用于开发软件应用程序的传统编程语言,如 C、C++、Java、Python 等。但是,许多人不知道 Verilog 和 VHDL 等硬件描述语言。在本文中,我们将讨论硬件描述语言。我们走吧。

    历史:

    硬件描述语言作为设计捕获媒介的概念最早是在 1950 年代引入的,但直到 1985 年之后才开始被设计社区广泛采用。从历史上看,软件编程语言的发展刺激了 HDL 的发展。

    第一种硬件描述语言出现在 1960 年末,它看起来像一种传统语言。第一个 HDL 被称为“硬件描述语言”(DLH),由 IBM 于 1960 年代后期开发。然而,由于其复杂性和使用困难,它并没有被广泛使用。在随后的几年里,出现了各种其他 HDL,例如 ABEL 和 PALASM,它们在 1980 年代开始流行。

    在 1980 年代中期,VHDL 由美国国防部推出,VHDL 旨在描述数字电路,旨在为军事应用开发高性能数字电路。同年,Gateway Design Automation 拥有的 Phil Moorby 和 Prabhu Goel 推出了 Verilog。它最初旨在用于验证,但它作为 HDL 开始流行。

    什么是 HDL?

    在数字计算机的历史中,已经开发了各种符号来捕获不同抽象级别的数字电路的逻辑行为。此类表示法的示例包括 Boolean equation、timing charts、state transition tables、原理图和硬件描述语言。

    硬件描述语言 (HDL) 是一种编程语言,用于描述电子电路的结构、行为和时序,最常见的是数字逻辑电路。HDL 用于设计处理器、主板、CPU 和各种其他数字电路。除了用于电路设计外,HDL 还用于仿真电路并验证其响应。有许多 HDL 可用,但迄今为止最流行的 HDL 是 Verilog 和 VHDL。

    • HDL 类似于传统的编程语言,但它们并不相同。这些是专门为描述硬件而设计的。
    • 与主要表示串行作的传统编程语言不同,HDL 通过表示广泛的并行作而与众不同。

    HDL 的目的:

    HDL 支持行为、寄存器传输、门和开关级逻辑,允许设计人员详细定义级别。行为级 logic 允许 sequences 执行一组指令,而 register transfer level logic 允许在 registers 之间传输数据,由显式 clock 和 gate level logic驱动,该 logic 定义了单个 gate level logic。与 HTML 和 CSS 与 Web 开发的关系类似,Verilog/VHDL 与 FPGA 和其他可配置逻辑设备也有类似的关系。HDL 可用于设计和描述数字系统的布局,从简单的触发器存储单元到复杂的通信协议。

    电路设计: 它提供了一种设计满足所需规格的数字电路的方法。

    模拟:它可以帮助设计人员在构建数字电路之前对其进行测试和验证。

    验证:它使设计人员能够验证数字电路的功能,方法是针对不同的输入进行测试,并确保电路功能正确并满足所需的功能。

    合成: HDL 可用于合成数字电路。综合是从 HDL 代码自动生成电路的过程。

    时序分析: 它使设计人员能够分析数字电路的时序行为,并确保电路满足时序要求。

    设计可重用性: HDL 提供了一种设计可重用组件的方法,这些组件可用于多个电路设计,并减少了时间和精力,从而提高了整体设计质量。

    优化: 它提供了一种优化数字电路设计以提高性能的方法。

    流行的 HDL:

    有几种可用的 HDL,但最常用的 HDL 是 Verilog 和 VHDL。

    Verilog:Verilog 代表验证逻辑。它用于对数字电路专用集成电路 (ASIC) 和现场可编程门阵列 (FPGA) 进行建模和激励。

    Syntax: module module_name(inputs,output) //statements end module

    VHDL: VHDL 代表超高速集成电路硬件描述语言 (VHSIC)。它用于设计数字电路。它通常用于设计复杂的数字电路,例如微处理器和数字信号处理器。

    Syntax: library ieee; use ieee.std_logic_1164.all; entity Circuit_name is Port ( a : in STD_LOGIC; b : in STD_LOGIC; out1 : out STD_LOGIC); end Circuit_1; ----------------------------------------------------- architecture Behavioral of Circuit_name is begin // statements end Behavioral;

    你可能感兴趣的:(硬件)