数字系统设计-2、vhdl基本结构

上传人:ji****n 文档编号:54929392 上传时间:2018-09-22 格式:PPT 页数:67 大小:968KB
返回 下载 相关 举报
数字系统设计-2、vhdl基本结构_第1页
第1页 / 共67页
数字系统设计-2、vhdl基本结构_第2页
第2页 / 共67页
数字系统设计-2、vhdl基本结构_第3页
第3页 / 共67页
数字系统设计-2、vhdl基本结构_第4页
第4页 / 共67页
数字系统设计-2、vhdl基本结构_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《数字系统设计-2、vhdl基本结构》由会员分享,可在线阅读,更多相关《数字系统设计-2、vhdl基本结构(67页珍藏版)》请在金锄头文库上搜索。

1、数字系统设计,授课教师:周珍艮 电子信息教研室 ,-FPGA+VHDL,目录,第1章 概论 第2章 硬件设计语言 VHDL 第3章 集成开发平台 第4章 数字系统设计举例 实验、课程设计,学习VHDL的注意事项,牢记 VHDL是硬件描述语言,不能把它当成纯软件语言来掌握,它的描述与硬件有密切联系。,VHDL语句的一些规定,(1)在VHDL中,字母的大、小写没有区别(单引号内的字符常数和双引号内的字符串除外); (2)以分号“;”作为语句结束的标志; (3)注释行以双短线“- -”开始;,VHDL语句的一些规定,(4)各种名称的命名规则: 名称由字母、数字和下划线组成; 名称的第一个字符必须是字

2、母; 名称的最后一个字符不能是下划线,也不能连用下划线; 命名不能与VHDL的保留字或关键字相同。,2.1、VHDL程序的基本结构,例1、1位全加器的VHDL描述: ENTITY adder IS PORT( a, b,cin : IN BIT;s ,co : OUT BIT); END adder; ARCHITECTURE a OF adder IS BEGIN s=a XOR b XOR cin; co=(a XOR b) AND cin) OR (a AND b); END a;,实体说明,实体说明描 述了一个设计对外的输入、输出接口以及一些用于结构体的参数定义。,结构体描述的是设计实

3、体的行为和结构 。,结构体,ENTITY IS类属参数说明端口说明 END ;,ENTITY adder IS PORT( a, b,cin : IN BIT;s ,co : OUT BIT); END adder;,1)、实体名: 对实体的命名,1、实体(Entity ),2)、类属参数说明用来为设计实体指定参数,如定义端口宽度、器件延时等。,3)、端口说明 描述端口的名称、模式和数据类型。 端口: 实体的每一个输入、输出信号称为端口,对应于硬件电路图或芯片的一个引脚。,PORT(端口名,端口名:模式 数据类型;端口名,端口名:模式 数据类型);,端口名称: 对端口的命名,是端口的标识符。

4、端口模式: 说明端口信号的流动方向。,端口的五种模式,OUT和BUFFER的区别,(a) OUT (b) BUFFER,数据类型 在VHDL语言中有10种数据类型,但是在逻辑电路设计中只用到两种:BIT和BIT_VECTOR。 BIT位逻辑数据类型,该端口的信号取值只可能是“1”或“0”。 BIT_VECTOR数据类型,该端口的取值可能是一组二进制位的值。,【例】 PORT(d0,d1,sel: IN BIT; q: OUT BIT; bus: OUT BIT_VECTOR(7 DOWNTO 0); 该例中d0、d1、sel、q都是BIT数据类型,而bus是BIT_VECTOR类型,(7 DO

5、WNTO 0)表示该bus端口是一个8位端口,由B7B0共8位构成。位矢量长度为8位。,【例3-2】 VHDL语言程序中数据类型的不同说明符号。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux IS PORT (d0,d1,sel: IN STD_LOGIC; q: OUT STD_LOGIC; bus: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ENTITY mux;,构造体是一个基本设计单元的功能描述体,它具体指明了该基本设计单元的行为、元件及内部的连接关系。也就是说,它定义了设计单元的具体功能。

6、构造体对其基本设计单元的输入、输出关系可以用3种方式进行描述,即行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。不同的描述方式只体现在描述语句上,而构造体的结构是完全一样的。,2、结构体,ARCHITECTURE OF IS 结构体说明部分; BEGIN ; END结构体名;,ARCHITECTURE a OF adder IS BEGIN s=a XOR b XOR cin; co=(a XOR b) AND cin) OR (a AND b); END a;,构造体的名称可以由设计者自由命名。但是在大多数文献和资料中,通常把构造体的名称命

7、名为behavioral(行为)、dataflow(数据流)或者structural(结构)。如前所述,这3个名称实际上是3种构造体描述方式的名称。,ARCHITECTURE structural OF mux IS,结构体名:对本结构体的命名。 结构体说明部分:对结构体内部所使用的信号、常数、数据类型和函数进行定义; 并行处理语句:具体描述了结构体的行为和结构。,ARCHITECTURE example OF adder IS BEGINs=a XOR b XOR cin; co=(a XOR b) AND cin) OR (a AND b) ; END example;,定义语句位于ARC

8、HITECTURE和BEGIN之间,用于对构造体内部所使用的信号、常数、数据类型和函数进行定义。例如: ARCHITECTURE behav OF mux IS SIGNAL nes1:BIT; BEGIN END ARCHITECTURE behav;,并行处理语句 并行处理语句处于语句BEGIN和END之间,这些语句具体地描述了构造体的行为及其连接关系。,【例】 二选一的数据流方式描述。 ENTITY mux IS PORT (d0, d1:IN BIT; sel:IN BIT; q:OUT BIT); END ENTITY mux; ARCHITECTURE dataflow OF mu

9、x IS BEGIN q=(d0 AND sel)OR(NOT sel AND d1); END ARCHITECTURE dataflow;,除了实体和构造体之外,包集合、库及配置是VHDL语言中另外3个可以各自独立进行编译的源设计单元。,3 包集合、库及配置,3. 1 库 库(Library)是经编译后的数据的集合,它存放包集合定义、实体定义、构造体定义和配置定义。 库的功能类似于UNIX等操作系统中的目录,库中存放设计的数据。在VHDL语言中,库的说明总是放在设计单元的最前面,即LIBRARY 库名; 例:LIBRARY IEEE;,3.2 包集合 包集合(Package)说明像C语言中

10、的include语句一样,用来单纯地罗列VHDL语言中所要用到的信号定义、常数定义、数据类型、元件语句、函数定义和过程定义等,它是一个可编译的设计单元,也是库结构中的一个层次。要使用包集合时可以用USE语句说明。 例如:USE IEEE.STD_LOGIC_1164.ALL; 该语句表示在VHDL程序中要使用名为STD_LOGIC_1164的包集合中的所有定义或说明项。,3.3 配置 配置(Configuration)语句描述层与层之间的连接关系以及实体与结构之间的连接关系。设计者可以利用这种配置语句来选择不同的构造体,使其与要设计的实体相对应。在仿真某一个实体时,可以利用配置来选择不同的构造

11、体,进行性能对比试验以得到性能最佳的构造体。例如,要设计一个二输入四输出的译码器。如果一种结构中的基本元件采用反相器和三输入与门,而另一种结构中的基本元件都采用与非门,它们各自的构造体是不一样的,并且都放在各自不同的库中,那么现在要设计的译码器就可以利用配置语句实现对两种不同构造体的选择。,配置语句的基本书写格式如下: CONFIGURATION 配置名 OF 实体名 IS 语句说明; END CONFIGURATION 配置名; 配置语句根据不同情况,其说明语句有简有繁,下面举几个例子进行说明。,4、结构体的四种描述方式,1、结构体的行为描述方式 2、结构体的数据流描述方式 3、结构体的结构

12、描述方式,1)、结构体的行为描述方式,例:行为描述方式(1位全加器),ENTITY adder IS PORT( a, b,cin : IN BIT;s ,co : OUT BIT); END adder; ARCHITECTURE behavior OF adder IS SIGNAL i : BIT_VECTOR(2 DOWNTO 0); BEGIN isssssss s=1; co=1; END CASE; END PROCESS ; END behavior;,行为描述方式是对设计实体的数学模型的描述。 优点:不需要关注设计功能的门级实现。 缺点:有时不能进行逻辑综合或难于综合。,2)

13、、结构体的数据流描述方式,1位全加器,ARCHITECTURE dataflow OF adder ISSIGNAL tmp1,tmp2 : BIT; BEGINtmp1=a XOR b;s=tmp1 XOR cin; tmp2=tmp1 AND cin;co=tmp2 OR (a AND b); END dataflow;,数据流描述方式是对信号到信号的数据流的路径形式的描述。 优点:易于综合。 缺点:要求设计人员对设计实体的功能实现要有一定的了解,有时还需要对内部电路有清楚的认识,具有一定的难度。,3)、结构体的结构描述方式,1位全加器,ARCHITECTURE structure OF

14、adder IS COMPONENT and_2PORT( i1, i2 : IN BIT;y1 : OUT BIT); END COMPONENT; COMPONENT or_2 PORT( i3, i4 : IN BIT;y2 : OUT BIT); END COMPONENT; COMPONENT xor_2 PORT( a, b : IN BIT;c : OUT BIT); END COMPONENT;,元件声明,SIGNAL tmp1,tmp2,tmp3 : BIT;BEGIN u1: xor_2 PORT MAP (a,b,tmp1); u2: xor_2 PORT MAP (tm

15、p1,cin,s); u3: and_2 PORT MAP (tmp1,cin,tmp2); u4: and_2 PORT MAP (a,b,tmp3); u5:or_2 PORT MAP (tmp2,tmp3,co); END structure;,在多层次的设计中,通过调用库中的元件或已设计好的模块来对当前的设计进行描述。,优点:可以将已有的设计成果应用在当前的设计中,因而可以大大提高设计效率。,下层元件,ENTITY and_2 IS PORT( i1, i2 : IN BIT;y1 : OUT BIT); END and_2; ARCHITECTURE a OF and_2 IS BEGINy1=i1 AND i2; END a;,ENTITY or_2 IS PORT( i3, i4 : IN BIT;y2 : OUT BIT); END or_2; ARCHITECTURE a OF or_2 IS BEGINy2=i3 OR i4; END a;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号