当前位置:
文档之家› 数字电路逻辑设计完整ppt课件
数字电路逻辑设计完整ppt课件
进入实体,也可以离开实体),双向模式 端口允许引入内部反馈。
.
端口的五种模式
4.缓冲(BUFFER) 缓冲模式允许信号输出到实体外部,
但同时也可以在实体内部引用该端口的信 号。缓冲端口既能用于输出也能用于反馈 。缓冲模式用于在实体内部建立一个可读 的输出端口,例如计数器输出、计数器的 现态用来决定计数器的次态。
注意
•端口名称: 对端口的命名,是端口的标识符。 •端口模式: 说明端口信号的流动方向。
.
其中端口名是设计者为实体的每一个对外 通道所取的名字,通常为英文字母加数字 ,名字的定义有一定的惯例,如Clk 表示 时钟,D开头的端口名表示数据,A开头的 端口名表示地址。 Clk Data Address
此例中,第一个USE语句表明打开IEEE 库中的STD_LOGIC_1164程序包,并使程 序包中的所有公共资源对本语句后面的 VHDL设计实体程序全部开放,关键词ALL 代表程序包中的所有资源。第二个USE语句 开放了程序包STD_LOGIC_1164中的 STD_ULOGIC数据类型。
STD_ULOGIC :可枚举数据类型
.
(二)VHDL的实体(Entity )
端口说明 描述端口的名称、模式和数据类型。
端口: 实体的每一个输入、输出信号称为 端口,对应于硬件电路图或芯片的一个 引脚。
.
端口说明
ENTITY <实体名> IS PORT(端口名: 端口类别 信号类型;
┇ 端口名: 端口类别 信号类型 );
END <实体名>;
端口类别是指这些通道上的数据流动的方 式,如输入或输出等。端口模式有以下几 种类型:
.
端口的五种模式
① 输入模式(IN) ② 输出模式(OUT) ③ 双向模式(INOUT) ④ 缓冲模式(BUFFER)
.
端口的五种模式
1.输入(IN) 允许信号进入实体,主要用于时钟输
入、控制输入(如load、reset、enable 、clk)和单向的数据输入(如地址数据 信号address)等。
实体名: 对实体的命名,要求实体名必须与 存盘文件名相同。
•ENTITY adder IS •PORT( • a, b, cin : IN BIT; • s ,co : OUT BIT); •END adder;
在电脑中必须存储为 adder .vhd ,并且所存 储的目录不允许有中 文。例如: d : / 程序 / adder .vhd , 错误。
.
端口的五种模式
2.输出(OUT) 输出模式只允许信号离开实体,常用
于计数输出、单向数据输出、被设计实体 产生的控制其他实体的信号等。
注意:输出模式不能用于被设计实体 的内部反馈,因为输出端口在实体内不能 看做是可读的。
.
端口的五种模式
3.双向模式(INOUT) 双向模式允许信号双向传输(既可以
第一种语句格式的作用是向本设计实体开放指 定库中的特定程序包内的所选定的项目。 第二种语句格式的作用是向本设计实体开放 指定库中的特定程序包内的所有内容。
.
例如:
LIBRARY(IE二EE); 库和程序包
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.STD_ULOGIC;
.
(二)VHDL的实体(Entity )
ENTITY <实体名> IS PORT(端口名: 端口类别 信号类型; ┇ 端口名: 端口类别 信号类型 );
END <实体名>;
注意:实体应以语句“ENTITY 实体名 IS”开 始,语句“END ENTITY 实体名;”结束。
.
(二)VHDL的实体(Entity )
USE语句指明库中的程序包。一旦说明 了库和程序包,整个设计实体都可以进 入访问或调用,但其作用范围仅限于所 说明的设计实体。USE语句的使用将使 所说明的程序包对本设计实体部分或全 部开放。
.
(一)库和程序包
USE语句有以下两种常用的格式: USE 库名.程序包名.项目名; USE 库名.程序包名.ALL;
.
(一)库和程序包
❖WORK库。 WORK库是现行作业库 。设计者所描述的 VHDL 语 句 不 需 要 任 何 说 明 , 将 都 存 放 在 WORK 库 中 。 WORK库对所有设计都是隐含可见的,因此在使用该库时 无需进行任何说明。
❖用户定义库。用户定义库简称用户库,是由用户自己创建 并定义的库。设计者可以把自己经常使用的非标准(一般是 自己开发的)包集合和实体等汇集成在一起定义成一个库, 作为对VHDL标准库的补充。用户定义库在使用时同样要首 先进行说明。
❖ STD库。VHDL的标准库。库中存放有称为“standard”的标准 包集合,其中定义了多种常用的数据类型,均不加说明可直接引 用。STD库中还包含有称为“textio”的包集合。在使用“textio” 包集合中的数据时,应先说明库和包集合名,然后才可使用该包 集合中的数据。
❖ ASIC矢量库。在VHDL语言中,为了进行门级仿真,各公司 可提供面向ASIC的逻辑门库。在该库中存放着与逻辑门一一对 应的实体。为了使用面向ASIC的库,对库进行说明是必要的。
上述5类库中,除了STD库和WORK库之外的其它库均 为资源库。资源库是存放常规元件和标准模块的库,使用时 需预先说明。
.
LIBRARY(IE二EE); 库和程序包
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH. ALL; USE IEEE.STD_LOGIC_UNSIGNED. ALL;
VHDL描述逻辑门电路
.
(一)库和程序包
库(LIBRARY) 库是经编译后的数据的集合,它存放包 集合定义、实体定义、结构定义和配置 定义
库和程序包用来描述和保留元件、类型 说明函数、子程序等,以便在其它设计 中可以随时引用这些信息,提高设计效 率。
.
(一)库和程序包
库语句的格式为: LIBRARY 库名;
.
(一)库和程序包
VHDL中的库大致可归纳为5种:
❖ IEEE库。常用的资源库。IEEE库包含经过IEEE正式认可的 STD_LOGIC_1164 包 集 合 和 某 些 公 司 提 供 的 一 些 包 集 合 , 如 STD_LOGIC_ARITH ( 算 术 运 算 库 ) 、 STD_LOGIC_UNSIGNED等。