一、VHDL简介
VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL语言是一种用于电路设计的高级语言。出现在80年代的后期,最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。
二、简例
library ieee;
use ieee.std_logic_1164.all; --库声明
entity TONE is
port(A,B:in std_logic; --实体定义
C:out std_logic);
end TONE;
architecture EX of TONE is --结构体定义
begin
C<=A OR B;
end EX;
2选1选择器
library ieee;
use ieee.std_logic_1164.all; /*IEEE库使用说明*/
ENTITY mux21 IS /*器件mux21的外部接口信号书名,port相当于器件的引脚*/
port (a,b: in std_logic;
s: in std_logic;
y: out std_logic);
end entity mux21;
architecture one of mux21 is /*器件mux21的内部工作逻辑描述,即为实体描述的器件功能机构*/
begin
y<=a when s='0' else
b when s='1';
end architecture one;
解释:
实体ENTITY说明:实体的电路意义相当于器件,在电路原理图上相当于元件符号。实体是一个完整的、独立的语言模块,它描述了接口信息,port所描述的就相当于电路器件的外部引脚。同时指明了端口a\b\s和y信号的数据类型是符合IEEE库中std_logic_1164程序包中的标准数据位,std_logic中所定义的数据类型。
**结构体(architecture)**说明:描述mux21的内部逻辑功能,在电路上相当于器件的内部电路结构。符号“<=”是信号赋值符,是信号传递的意思,“y<=a”表示将a获得的信号赋给y输出端.
需要指出来的是,实体和结构体分别是以“END ENTITY MUX21”和“END ARCHITECTURE ONE”语句结尾的,这是符合VHDL新版本 IEEE TSD 1076_1993的语法要求的,若根据VHDL 87版本 这两条结尾语句只需要写成end mux21 和end one即可。
一个可综合的VHDL描述的最小和最基本的逻辑结构中,IEEE标准库说明、实体和结构体是最基本的和不可缺少的三个部分。
参考链接:https://blog.csdn.net/ciscomonkey/article/details/96272190