《数字电路与数字逻辑》vhdl.ppt
《《数字电路与数字逻辑》vhdl.ppt》由会员分享,可在线阅读,更多相关《《数字电路与数字逻辑》vhdl.ppt(64页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、硬件描述语言硬件描述语言 第第12章章 硬件描述语言硬件描述语言 121 概述概述 122 VHDL语言的基本结构语言的基本结构 123 数据对象、数据类型和运算操作符数据对象、数据类型和运算操作符 124 仿真和逻辑综合仿真和逻辑综合 125 VHDL基本逻辑电路设计举例基本逻辑电路设计举例 本章小结本章小结 习题习题12 返回主目录返回主目录硬件描述语言硬件描述语言 硬件描述语言硬件描述语言 12.1 概述概述 在计算机辅助电子系统设计出现以前,人们完成系统硬件的设计一直采用传统的自下而上的方法,设计者根据系统的具体需要,选择市场上能买到的逻辑元器件,构成所需要的硬件电路,在设计的后期进行
2、仿真和调试,主要的设计文件是电原理图。硬件描述语言硬件描述语言 随着大规模专用集成电路(ASIC)的开发和研制,各ASIC研制和生产厂家相继开发了用于各自目的的硬件描述语言。其中最具代表性的是美国国防部开发的VHDL语言(VHSIC Hardware Description Language),Viewlogic 公司开发的Verilog HDL以及日本电子工业振兴协会开发的UDL/I语言。硬件描述语言硬件描述语言 所谓硬件描述语言,就是可以描述硬件电路的功能、信号连接关系以及定时关系的语言,它比电原理图更能有效地表示硬件电路的特性。利用HDL语言设计系统硬件,通常采用自上而下的方法,即从系统
3、总体要求出发,自上而下地逐步将设计内容细化,硬件描述语言硬件描述语言 最后完成系统硬件的整体设计。在设计过程中,设计者分3个层次对系统硬件进行设计:行为描述、寄存器传输(RTL)方式描述和逻辑综合,并且在每一层次都要进行仿真,以便尽早发现问题。设计过程如图12.1所示。硬件描述语言硬件描述语言图 12.1 HDL语言设计系统 硬件过程框图硬件描述语言硬件描述语言 设计者不会受到元器件的限制,可根据设计需要大量采用ASIC芯片。采用HDL语言设计硬件电路时,主要的设计文件是用HDL语言编写的源程序,如果需要也可以转换成电原理图形式输出。硬件描述语言硬件描述语言 当前各ASIC芯片制造商都开发了自
4、己的HDL语言,惟一被公认的是美国国防部的VHDL语言,它已成为IEEE STD-1076标准。VHDL有许多优点,它支持自上而下(Top Down)和基于库(LibraryBased)的设计方法,而且还支持同步电路、异步电路、FPGA以及其他随机电路的设计;系统硬件的描述能力强;用VHDL编程可以和工艺无关等。本章简要介绍VHDL语言的一些基本知识,旨在让读者了解VHDL。硬件描述语言硬件描述语言122 VHDL语言的基本结构语言的基本结构 1221 语言设计的基本单元及其构成语言设计的基本单元及其构成 1222 VHDL构造体的描述方式构造体的描述方式 1223 包集合、库及配置包集合、库
5、及配置硬件描述语言硬件描述语言12.2 VHDL语言的基本结构语言的基本结构 一个完整的VHDL程序通常包含实体(Entity)、构造体(Architecture)、配 置(Configuration)、包 集 合(Package)和库(Library)5个部分。前4种是可分别编译的源设计单元,库可由用户生成或由ASIC芯片制造商提供。硬件描述语言硬件描述语言 12.2.1 VHDL语言设计的基本单元及其构成语言设计的基本单元及其构成 VHDL语言的一个基本设计单元,简单的可以是一个与门,复杂的可以是一个微处理器或一个系统。但是,其基本构成是一致的,它们都由实体和构造体两部分组成。首先我们来看
6、一个例子。图12.2是二选一电路及其VHDL描述。图 12.2 二选一电路及其VHDL描述硬件描述语言硬件描述语言 ENTITY mux IS GENERIC(m:TIME:=1 ns);PORT(d0,d1,sel:IN BIT;Q:OUT BIT);END mux;ARCHITECTURE connect OF mux IS SIGNAL tmp:BIT 硬件描述语言硬件描述语言 BEGIN cale:PROCESS(d0,d1,sel)VARIABLE tmp1,tmp2,tmp3:BIT;BEGIN tmp1:=d0 AND sel;tmp2:=d1 AND(NOT sel);tmp1
7、:=tmp1 OR tmp2;tmp=tmp3;q=tmp AFTER m;END PROCESS;END connect;硬件描述语言硬件描述语言 1.实体(实体(ENTITY)实体部分主要规定了设计单元的输入和输出或引脚.实体部分的一般格式为 ENTITY 实体名 IS GENERIC(类属参数说明);PORT(端口说明);END 实体名;属参数说明表示设计单元的默认类属参数值,例如规定端口的大小、实体的定时特性等。例如上述程序中的GENERIC(m:TIME:=1ns),指定了构造体内m的值为1 ns。端口说明是对基本设计实体与外部接口的描述,即对外部引脚信号的名称、数据类型和输入输出方
8、向的描述。其一般格式为硬件描述语言硬件描述语言 PORT(端口名:方向 数据类型名;端口名:方向 数据类型名);端口方向主要有4种:输入(IN)、输出(OUT)、缓冲(BUFFER)和双向(INOUT)。数据类型主要有布尔型(BOOLEAN)、位(BIT)位矢量(BIT-VECTOR)、整数(INTEGER)等。有些VHDL程序中,数据类型的说明符号有所不同,例如 LIBRARY IEEE USE IEEE.STD-LOGIC-1164.ALL;ENTITY mu IS PORT(d0,d1,sel:IN STD-LOGIC;Q:OUT STD-LOGIC);END mu;硬件描述语言硬件描述
9、语言 该例中,BIT类型用STD-LOGIC说明,这两种方法是完全等效的。只是使用了不同的库和包集合,例如上列程序的前两个语句。2.构造体构造体 构造体主要用来描述实体的内部逻辑,即描述一个实体的功能。构造体的一般说明格式为 ARCHITECTURE 构造体名 OF 实体名 IS 定义说明;BEGIN 语句部分;END 构造体名;VHDL可用3种描述格式来完成构造体,下面将分别介绍。硬件描述语言硬件描述语言 12.2.2 构造体的描述方式构造体的描述方式 对系统的构造体进行描述,VHDL允许采用3种不同风格的描述格式来完成,即行为描述、数据流RTL(或寄存器传输)描述和结构描述方式,或者是这些
10、方式的任意组合。在当前的情况下,采用后两种方式的VHDL程序可以进行逻辑综合,而采用行为描述的VHDL程序大部分只用于系统仿真。硬件描述语言硬件描述语言 1.行为描述方式(行为描述方式(Behavioral Descriptions)所谓行为描述,是指描述该设计单元的功能,即该硬件能做什么,主要使用函数、过程和进程语句,以算法形式描述数据的变换和传送。以四选一电路为例:LIBRARY IEEE;说明使用IEEE库 USE IEEE.STD-LOGIC-1164.ALL;说明使用 IEEE库中“STD-LOGIC-1164”USE IEEE.STD-LOGIC-UNSIGNED.ALL;和 “S
11、TD-LOGIC-UNSIGNED”包集合 ENTITY mux4 IS 定义实体mux4,说明端口i0,i1,i2,i3,硬件描述语言硬件描述语言 PORT(i0,i1,i2,i3,a,b:IN STD-LOGIC;a,b为输 入,q为输出 q:OUT STD-LOGIC);END mux4;实体mux4结束 ARCHITECTURE behave OF mux4 IS 定义构造 体behave SIGNAL sel:INTEGER;定义信号sel BEGIN WITH sel SELECT 用选择信号代入语句描 述电路功能 q=i0 WHEN 0,例如:当ab为00时,sel为0 i1 W
12、HEN 1,此时输出q为i0,其余类推 硬件描述语言硬件描述语言 i2 WHEN 2,i3 WHEN 3,XWHEN OTHERS;sel=0 WHEN a=0AND b=0ELSE 1 WHEN a=1AND b=0ELSE 2 WHEN a=0AND b=1ELSE 3 WHEN a=1AND b=1ELSE 4;END behave;构造体结束硬件描述语言硬件描述语言 2.数据流数据流RTL描述方式描述方式 所谓数据流描述,是指以类似于寄存器传输级的方式描述数据的传输和变换,主要使用并行的信号赋值语句,既显示了该设计单元的行为,也表示了该设计单元的结构。为说明这一点,我们仍用四选一电路为
13、例,用数据流描述其功能。例如,LIBRARY IEEE;USE IEEE.STD-LOGIC-1164.ALL;USE IEEE.STD-LOGIC-UNSIGNED.ALL;ENTITY mux4 IS硬件描述语言硬件描述语言 PORT(input:INSTD-LOGIC-VECTOR(3DOWNTO 0);端口说明,定义输入和输出 sel:IN STD-LOGIC-VECTOR(1 DOWNTO 0);信号 y:OUT STD-LOGIC);END mux4;ARCHITECTURE rtl OF mux4 IS 定义构造体rtl BEGIN yset,b=qb,c=q);u2:NAND2
14、 PORT MAP(a=reset,b=q,c=qb);END netlist;ARCHITECTURE behave OF rsff IS 行为描述BEGIN q=NOT(qb AND set);q=NOT(q AND reset);END behave;硬件描述语言硬件描述语言 在上述例子中,实体rsff有两个构造体netlist和behave,实体究竟和哪个构造体相对应,由配置语句来实现。如果选用构造体netlist,则用:CONFIGURATION rsffconl OF rsff IS FOR netlist END FOR;END rsffconl;硬件描述语言硬件描述语言 如果选
15、用构造体behave,则用:CONFIGURATION rsffconl OF rsff IS FOR behave END FOR;END rsffconl;这只是非常简单的一类配置,详细说明请读者参考相关文献。硬件描述语言硬件描述语言 123 数据对象、数据类型和运算操作符数据对象、数据类型和运算操作符 1231 数据对象数据对象 1232 数据类型数据类型 1233 运算操作符运算操作符硬件描述语言硬件描述语言 12.3.1 数据对象数据对象 VHDL的数据对象保存有专门类型的值,数据对象包括信号(Signal)、变量(Variable)、常数(Constant)和文件(File),在使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路与数字逻辑 数字电路 数字 逻辑 vhdl
限制150内