vhdl硬件描述语言

vhdl硬件描述语言

ID:9225987

大小:1.35 MB

页数:43页

时间:2018-04-23

vhdl硬件描述语言_第1页
vhdl硬件描述语言_第2页
vhdl硬件描述语言_第3页
vhdl硬件描述语言_第4页
vhdl硬件描述语言_第5页
资源描述:

《vhdl硬件描述语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HDL基础语法篇——2010VHDL2HDL基础语法篇——VHDLVHDL硬件描述语言1.1VHDL概述1.1.1VHDL的特点VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,由于VHDL语言来源于C、Fortran等计算机高级语言,在VHDL语言中保留了部分高级语言的原语句,如if语句、子程序和函数等,便于阅读和应用。具体特点如下:1.支持从系统级到门级电路的描述,既支持自底向上(bottom-up)的设计也支持从顶向下(top-down)的设计,同时也支持结构、行为和数据流三种

2、形式的混合描述。2.VHDL的设计单元的基本组成部分是实体(entity)和结构体(architecture),实体包含设计系统单元的输入和输出端口信息,结构体描述设计单元的组成和行为,便于各模块之间数据传送。利用单元(componet)、块(block)、过程(procure)和函数(function)等语句,用结构化层次化的描述方法,使复杂电路的设计更加简便。采用包的概念,便于标准设计文档资料的保存和广泛使用。3.VHDL语言有常数、信号和变量三种数据对象,每一个数据对象都要指定数据类型,VHDL的数

3、据类型丰富,有数值数据类型和逻辑数据类型,有位型和位向量型。既支持预定义的数据类型,又支持自定义的数据类型,其定义的数据类型具有明确的物理意义,VHDL是强类型语言。4.数字系统有组合电路和时序电路,时序电路又分为同步和异步,电路的动作行为有并行和串行动作,VHDL语言常用语句分为并行语句和顺序语句,完全能够描述复杂的电路结构和行为状态。1.1.2VHDL语言的基本结构VHDL语言是数字电路的硬件描述语言,在语句结构上吸取了Fortran和C等计算机高级语言的语句,如IF语句、循环语句、函数和子程序等,只

4、要具备高级语言的编程技能和数字逻辑电路的设计基础,就可以在较短的时间内学会VHDL语言。但是VHDL毕竟是一种描述数字电路的工业标准语言,该种语言的标识符号、数据类型、数据对象以及描述各种电路的语句形式和程序结构等方面具有特殊的规定,如果一开始就介绍它的语法规定,会使初学者感到枯燥无味,不得要领。较好的办法是选取几个具有代表性的VHDL程序实例,先介绍整体的程序结构,再逐步介绍程序中的语法概念。一个VHDL语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路,或者是一个计数器,也可以是一个CP

5、U。一般情况下,一个完整的VHDL语言程序至少要包含程序包、实体和结构体三个部分。实体给出电路单元的外部输入输出接口信号和引脚信息,结构体给出了电路单元的内部结构和信号的行为特点,程序包定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等。例1-1-1用VHDL语言描述一位全加器。一位全加器的输入信号是A,B,Ci,输出信号是S和Co。全加器的真值表如表1-1-1所列。表1-1-1全加器的真值表输入信号输出信号ABCiSCo00000001103HDL基础语法篇——VHDL01010

6、0110110010101011100111111一位全加器的逻辑表达式是:S=A⊕B⊕CiCo=AB+ACi+BCi全加器的VHDL程序的文件名称是fulladder.VHD,其中VHD是VHDL程序的文件扩展名,程序如下:LIBRARYIEEE;--IEEE标准库USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfulladderIS--fulladder是实体名称PO

7、RT(A,B,Ci:INSTD_LOGIC;--定义输入/输出信号Co,S:OUTSTD_LOGIC);ENDfulladder;ARCHITECTUREaddstrOFfulladderIS--addstr是结构体名BEGINS<=AXORBXORCi;Co<=(AANDB)OR(AANDCi)OR(BANDCi);ENDaddstr;从这个例子中可以看出,一段完整的VHDL代码主要由以下几部分组成:第一部分是程序包,程序包是用VHDL语言编写的共享文件,定义在设计结构体和实体中将用到的常数、数据类型、

8、子程序和设计好的电路单元等,放在文件目录名称为IEEE的程序包库中。第二部分是程序的实体,定义电路单元的输入/输出引脚信号。程序的实体名称fulladder是任意取的,但是必须与VHDL程序的文件名称相同。实体的标识符是ENTITY,实体以ENTITY开头,以END结束。其中,定义A、B、Ci是输入信号引脚,定义Co和S是输出信号引脚。第三部分是程序的结构体,具体描述电路的内部结构和逻辑功能。结构体有三种描述方式,分别是行为(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。