vhdl语言入门教程课件
合集下载
第四章 VHDL语言基础精品PPT课件

Sec.4.2. VHDL程序结构
1. VHDL程序结构 2. ⑴.实体说明(Entity declaration)
3. ⑵.结构体(Architecture body) 4. 定义与概念
5. ⑴.实体说明 6. ⑵.结构体
2.实体说明和结构体之间的关系
⑴.“包裹皮” 的概念
实体①
⑵.实体和结构体之间的关系
END Majority_vote; ARCHITECTURE examp1 OF Majority_vote IS
BEGIN Y<=(a and b)or (b and c)or (a and c);
END examp1;
三.Signal(信号)及其并行性
定义:信号是电子电路内部硬件实体相互连接的信息表示。
表4-1.数字系统各层次划分及功能
层次名称 系统级(算法级)
寄存器传输级 (RTL级) 逻辑级(门级) 电路级
行为级描述
针对设计技术条 件、流程图、算 法进行系统级综 合
寄存器传输
逻辑函数、状态 方程 传输函数
各层次功能及结构
结构级描述
物理层表示的对象
处理器、控制器、存 集成电路芯片、印刷电路
储器、总线等
第四章 VHDL语言基础
VHDL语法和语句
本章任务
• 1.VHDL语言的基础知识,如何用VHDL语言描述数字系统。 • 2.VHDL程序结构,实体和结构体的概念。实体说明、结构体说明。结
构体的3种描述方法。 • 3.QuartusⅡ开发软件及应用。图形编辑方法;数字系统的VHDL文
本文件编辑方法。 • 4.一些基本的VHDL语法。 • 数组(Array)、 • 并行语句(Concurrent Statement)、 • 选择信号代入语句(Selected Signal Assignment Statement)、 • 并行信号赋值语句(Concurrent Signal Assignment
VHDL语言入门教程PPT课件

布尔:(Boolean)
TYPE BOOLEAN IS (FALSE, TRUE); -- 取值为FALSE和TRUE,不是数值,不
位: ( Bit )
能运算,一般用于关系运算符
TYPE BIT IS (‘0’,’1’); --取值为0和1,用于逻辑运算
位矢量: ( Bit_Vector )
TYPE BIT_VECTOR IS ARRAY (Natural range<>) OF BIT; -- 基于Bit类型的数 组,用于逻辑运算
3 VHDL语言
VHDL: VHSIC Hardware Description Language.
3.1 VHDL语言基础 3.2 VHDL基本结构 3.3 VHDL语句 3.4 状态机在VHDL中的实现 3.5 常用电路VHDL程序 3.6 VHDL仿真 3.7 VHDL综合
最新课件
1
HDL----Hardware Description Language 一种用于描述数字电路的功能或行为的语言。目的是提为电路设计效率,缩
常数转换法 / 常量转换法
Type conv_table is array(std_logic) of bit;
具有转换表性质的常数
Constant table: conv_table:=(‘0’|’L’=>’0’, ‘1’|’H’=>’1’, others=>’0’);
Signal a: bit; signal b: std_logic;
REPORT,RETURN,ROL,ROR,SELECT,SHARED,SIGNAL,
SLA,SLL,SRA,SUBTYPE,THEN,TRANSPORT,TO,TYPE ,
第3章VHDL编程基础课件

F_A D D ER
C O U T A IN B IN C IN
SU M
图3.2 1 位全加器逻辑原理图
第3章 VHDL编程基础
2. VHDL源程序 1) 或门的逻辑描述 -- IEEE库的使用说明
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; --实体OR2的说明
(2) VHDL具有丰富的仿真语句和库函数,使得在任何大系 统的设计早期,就能查验设计系统的功能可行性,随时可对系 统进行仿真模拟,使设计者对整个工程的结构和功能可行性做 出判断。
第3章 VHDL编程基础
(3) VHDL语句的行为描述能力和程序结构,决定了它具 有支持大规模设计的分解和已有设计的再利用功能。符合市场 需求的大规模系统高效、高速的完成必须有多人甚至多个开发 组共同并行工作才能实现,VHDL中设计实体的概念、程序包 的概念、设计库的概念为设计的分解和并行工作提供了有利的 支持。
第3章 VHDL编程基础
3) 全加器的逻辑描述 -- IEEE库的使用说明
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; --实体F_ADDER的说明 ENTITY F_ADDER IS
PORT(AIN,BIN,CIN:IN STD_LOGIC; COUT,SUM: OUT STD_LOGIC);
第3章 VHDL编程基础
2) 半加器的逻辑描述 -- IEEE库的使用说明
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; --实体H_ADDER的说明 ENTITY H_ADDER IS
PROT(A,B:IN STD_LOGIC; CO,SO:OUT STD_LOGIC);
VHDL第二章课件

(6)Character(字符)。
是用单引号括起来的一个字母(A~Z, a~z) 、数字( 0~ 9 )、空格或一些特殊字符(如$、@、%等)。
VHDL语言对大小写英文字母不敏感, 但区分字符量中的大小写。 (‘7A)’S,tr‘inag’(,字‘符串B’),。‘是b用’双, 引都号认括为起是来不的同一的个字字符符。序字列。符 字‘符1’串,区‘分2’大仅、是小符写号字。母。常用于程序的提示和结果说明等。例 如“VHDL”, “STRING”, “MULTI_SCREEN COMPUTER”等。 (8)Time(时间)。时间的取值范围从 -(231-1)~(231 -1)。时间由整数值和时间单位组成。常用的时间单位有: fs、 ns、μs、ms、s、min、hr等。时间类型一般用于仿真,而不用 逻辑综合。时间常用于指定时间延时和标记仿真时刻。
(4) 扩展标识符的界定符两个斜杠之间可以用数字打头。 如:
2.2 数据对象
在VHDL中,凡是可以赋予一个值的客体称为数据对象。常 用的数据对象为常量、变量 、信号和文件,其中文件类型是 VHDL’93标准中新通过的。
对象说明的一般书写格式为:
对象类别 标识符表: 子类型标识[:= 初值];
对象说明举例: CONSTANT T1,T2: time :=30ns,--常量说明 VARIABLE SUM: read; --变量说明
• VHDL语言有两个标准版: VHDL’87版和 VHDL’93版。VHDL’87版的标识符语法规则经 过扩展后,形成了VHDL’93版的标识符语法规则。 前一部分称为短标识符,扩展部分称为扩展标识符。 VHDL’93版含有短标识符和扩展标识符两部分。
2.1.1 短标识符
短标识符规则: 短标识符由字母、数字以及下划线字符组成,且具
vhdl语言PPT课件

格式4: ---优先条件列举IF语句
IF 条件句1 THEN
顺序语句1;
ELSIF 条件句2 THEN
顺序语句2;
… ELSE
顺序语句n; END IF;
注意!
在PROCESS中“IF” 语句可嵌套使用, 在IF语句中可再调用另一个“IF”语句。
2021/6/16
13
6.6.2 VHDL顺序语句
2. IF语句
2021/6/16
11
6.6.2 VHDL顺序语句
2. IF语句
格式3:多重IF嵌套语句 IF 条件语句1 THEN
顺序语句1; IF 条件语句2 THEN
顺序语句2; ELSE
顺序语句3; END IF; ELSE 顺序语句4 END IF;
2021/6/16
12
6.6.2 VHDL顺序语句 2. IF语句
END;
ARCHITECTURE behav OF alu_ab IS
CONSTANT plus:STD_LOGIC_VECTOR (1 DOWNTO 0):= b “ 00 ” ; CONSTANT minus:STD_LOGIC_VECTOR (1 DOWNTO 0):= b “ 01 ” ; CONSTANT and_ab:STD_LOGIC_VECTOR (1 DOWNTO 0):= b " 10 " ;
a,b,c,d:IN STD_LOGIC; z:OUT STD_LOGIC); END;
2021/6/16
a
数
b
据
c
选 择
z
d
器
s1 s2
4选1数据选择器的功能
s1s2 z 00 a 01 b 10 c 11 d
VHDL语言基础PPT课件

程序包结构: 程序包说明(包首) 程序包主体(包体)
第36页/共80页
1、程序包说明(包首)
语法: package 程序包名 is { 包说明项 } end 程序包名;
包声明项可由以下语句组成: use 语句(用来包括其它程序包); 类型说明;子类型说明;常量说明; 信号说明;子程序说明;元件说明。
end 配置名;
第21页/共80页
一个与非门不同实现方式的配置
library ieee; use ieee.std_logic_1164.all; entity nand is
port(a: in std_logic; b: in std_logic; c: out std_logic);
end entity nand; architecture art1 of nand is begin
UNSIGNED,SIGNED和SMALL_INT,并为其定 义了相关的算术运算符和转换函数。 Std_logic_signed 和 Std_logic_Unsigned : 重载了可用于INTEGER型和STD_LOGIC及 STD_LOGIC_VECTOR型混合运算的运算符,并定 义了不同数据类型间的转换函数。
UNSIGNED.CONV_INTEGER; 上例表明,要使用IEEE库中STD_LOGIC_1164包 集合中的所有过程和函数,这里项目名为ALL, 表示包集合中的所有项目都要用。
第35页/共80页
五、程序包(包集合)Package
程序包(Package):将已定义的常数、 数据类型、元件语句、子程序等收集起来组成 一个集合,以便被更多的VHDL设计实体进行访 问和共享。
第31页/共80页
WORK库 WORK库:是用户的VHDL设计的现行工作库; 用于存放用户设计和定义的一些设计单元和程序包; 满足VHDL语言标准,在实际调用中不必以显式说明。
第36页/共80页
1、程序包说明(包首)
语法: package 程序包名 is { 包说明项 } end 程序包名;
包声明项可由以下语句组成: use 语句(用来包括其它程序包); 类型说明;子类型说明;常量说明; 信号说明;子程序说明;元件说明。
end 配置名;
第21页/共80页
一个与非门不同实现方式的配置
library ieee; use ieee.std_logic_1164.all; entity nand is
port(a: in std_logic; b: in std_logic; c: out std_logic);
end entity nand; architecture art1 of nand is begin
UNSIGNED,SIGNED和SMALL_INT,并为其定 义了相关的算术运算符和转换函数。 Std_logic_signed 和 Std_logic_Unsigned : 重载了可用于INTEGER型和STD_LOGIC及 STD_LOGIC_VECTOR型混合运算的运算符,并定 义了不同数据类型间的转换函数。
UNSIGNED.CONV_INTEGER; 上例表明,要使用IEEE库中STD_LOGIC_1164包 集合中的所有过程和函数,这里项目名为ALL, 表示包集合中的所有项目都要用。
第35页/共80页
五、程序包(包集合)Package
程序包(Package):将已定义的常数、 数据类型、元件语句、子程序等收集起来组成 一个集合,以便被更多的VHDL设计实体进行访 问和共享。
第31页/共80页
WORK库 WORK库:是用户的VHDL设计的现行工作库; 用于存放用户设计和定义的一些设计单元和程序包; 满足VHDL语言标准,在实际调用中不必以显式说明。
第4章-VHDL基础PPT课件

PORT(a,b_LOGIC);
实体部分
END and2;
ARCHITECTURE and2x OF and2 IS
BEGIN
y<=a AND b;
结构体部分
END and2x;
4
2库(LIBRARY)
➢ 库是用来放置可编译的设计单元的地方,通过其目录可查询 和调用。 VHDL中的库大致可归纳为5种:IEEE库、STD库、 ASIC矢量库、WORK库和用户定义库。
6
库和程序包的语法:
library <设计库名>; use < 设计库名>.<程序包名>.all ;
一般VHDL代码中库和程序包的调用语句:
library ieee ; use ieee.std_logic_1164.all ;
--最常用
use ieee.std_logic_arith.all;
use ieee.std_logic_signed.all;
END add4;
由实体说明画出四位加法器add4的电路图如下所示。
a[3..0]
Sum[3..0]
b[3..0]
Ci
add4
Co
11
4. 结构体
结构体主要是描述实体的硬件结构、元件之间的 互连关系、实体所完成的逻辑功能以及数据的传输变 换等方面的内容。
结构体的语句格式:
architecture arch_name of e_name is [说明语句]
2
实体
(Entity)
一个完整的 VHDL程序
结构体
(Architecture)
配置
(Configuration)
包集合
第3章-VHDL语言基础PPT课件

2021/3/12
由用户自己创建。设 计者可以把一些自己 需要经常使用的非标 准(一般是自己开发 的)包集合和实体等 汇集成库,作为对 VHDL标准库的补充。
9
还需要注意的是,LIBRARY语句和USE语句的作 用范围只限于紧跟其后的实体及其结构体。因此,如 果一个程序中有一个以上的实体,则必须在每个实体 的前面分别加上LIBRARY语句和USE语句,说明各实 体及其结构体需要使用的库和程序包。
第三章 硬件描述语言HDL Hardware Description Language
2021/3/12
1
第一节 概述
常用的硬件描述语言有:
VHDL:Very High Speed Integrated Circuit Hardware Description Language
超高速集成电路硬件描述语言
nand_2
a
y
b
inst
y a b
2021/3/12
3
在程序设计中,要求实体名与存储的文件名一致
IEEE库使用说明 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
ENTITY nand_2 IS
Nand_2实体说明
PORT ( a,b:IN STD_LOGIC; 端口说明,用以 y: OUT STD_LOGIC); 描述器件的接口
s et
q
res et
qb
图1 RS触发器
2021/3/12
14
端口数据类型:
(1)标准数据类型,如:整数、实数,位,位矢量等。 (2)IEEE标准数据类型,标准逻辑位STD_LOGIC、标
准逻辑矢量STD_LOGIC _VECTOR。 (3)用户自定义的数据类型,如枚举型、数组类型、文
由用户自己创建。设 计者可以把一些自己 需要经常使用的非标 准(一般是自己开发 的)包集合和实体等 汇集成库,作为对 VHDL标准库的补充。
9
还需要注意的是,LIBRARY语句和USE语句的作 用范围只限于紧跟其后的实体及其结构体。因此,如 果一个程序中有一个以上的实体,则必须在每个实体 的前面分别加上LIBRARY语句和USE语句,说明各实 体及其结构体需要使用的库和程序包。
第三章 硬件描述语言HDL Hardware Description Language
2021/3/12
1
第一节 概述
常用的硬件描述语言有:
VHDL:Very High Speed Integrated Circuit Hardware Description Language
超高速集成电路硬件描述语言
nand_2
a
y
b
inst
y a b
2021/3/12
3
在程序设计中,要求实体名与存储的文件名一致
IEEE库使用说明 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;
ENTITY nand_2 IS
Nand_2实体说明
PORT ( a,b:IN STD_LOGIC; 端口说明,用以 y: OUT STD_LOGIC); 描述器件的接口
s et
q
res et
qb
图1 RS触发器
2021/3/12
14
端口数据类型:
(1)标准数据类型,如:整数、实数,位,位矢量等。 (2)IEEE标准数据类型,标准逻辑位STD_LOGIC、标
准逻辑矢量STD_LOGIC _VECTOR。 (3)用户自定义的数据类型,如枚举型、数组类型、文