VHDL设计初步
VHDL 设计初步-PPT精选文档
结束
4.1 多路选择器VHDL描述
设计: 2选1多路选择器
s y 0 a 1 b
y=as+bs
目录
结束
4.1 多路选择器VHDL描述
4.1.1
【例4-1】
2选1多路选择器的VHDL描述
ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ;
用其他的语句 形式来描述相 同的逻辑行为
【例4-3】 . . . ARCHITECTURE one OF mux21a IS BEGIN y <= (a AND (NOT s)) OR (b AND s) ; END ARCHITECTURE one;
目录 结束
4.1.1 2选1多路选择器的VHDL描述
VHDL 设计初步
唐英姿编制
教学内容
教学导入
设计举例: 2选1多路选择器
VHDL相关语法 课堂练习 小结
结束
现代电子设计新技术:EDA技术
EDA:电子设计自动化
Electronic Design Automation EDA技术就是: 依赖 功能强大的计算机在 EDA工具软 件 平台上,用 硬件描述语言(HDL)作 为系统逻辑描述手段来完成 电子线路设 计文件。 最终实现 ->特定电子线路的硬件(芯 片或者电路板)
电路的VHDL描述由两大部分组成:
以关键词ENTITY 引导,END ENTITY mux21a 结尾的语句部分,称为实体。 VHDL 的实体描述了电路器件的外部情况 及各信号端口的基本性质,如信号流动的 方向,流动在其上的信号结构方式和数据 类型等。 以关键词ARCHITECTURE 引导,END ARCHITECTURE one 结尾的语句部分, 称为结构体。结构体负责描述电路器件的 内部逻辑功能和电路结构。
ch3_VHDL设计初步资料
--电平触发型寄存器
图3-10 例3-16的时序波形
3.3 配置(CONFIGURATION)
配置是VHDL设计实体中的一个基本单元,在综合或仿 真中,可以利用配置语句为实体指定或配属一个结构体, 如可以利用配置使仿真器为同一实体配置不同的结构体以 使设计者比较不同结构体的仿真差别,或者为例化的各元 件实体配置指定的结构体,从而形成一个例化元件层次构 成的设计实体。
VHDL程序设计基本结构
在VHDL程序中,实体(ENTITY)和结构体(ARCHITECTURE) 是必需的两个基本结构,它们可以构成最简单的VHDL程序。 通常,在最简单的VHDL程序中,还应包括库(LIBRARY)和程 序包(PACKAGE)。
一个完整的设计实体的最低要求应该能为VHDL综合器 所接受,并能作为一个独立设计单元,即以元件的形式存 在的VHDL程序。
LIBRARY IEEE; USE IEEE.std_logic_1 164.all;
Entity test1 is port (clk : in bit;
d : in bit; q : out bit); end test1; architecture body of test1 is signal q1 : bit ; begin process (clk,d) begin if (clk = ‘1’) then q1 <= d; end if; q <= q1 ; end process; end body;
【例3-1】
这是一个完整的2选1多路选择器的VHDL程序,要 注意:
(1) VHDL不分大小写,但为了使程序阅读清楚, 对保留字采用大写,自己定义的标识符用小写。
第4章VHDL设计入门
21
§4.5 VHDL程序的语言要素总结 基本数据类型:逻辑信号、数值信号
布尔代数(Boolean) 逻辑信号 位(Bit) 标准逻辑(Std_Logic)
信 号
数值信号 整数(Integer Unsigned) 实数(Real) 正整数(Positive) 自然数(Natural)
22
一、逻辑信号
“标准逻辑”信号定义,远较“Bit”信号对于的数字逻辑电路的逻 24 辑特性描述更完整、更真实。对逻辑信号的定义,通常都采用
4.逻辑序列信号 以数字电路而言,有许多时候都是将几个信号合成一组代 表特定功能的序列信号,例如:数据总线(Data Bus)、 地址总线(Address Bus)等。实际上从电路的观点上, CLK信号看成一条线上的信号,而Data是8条线合成的排线 CLK Data 8 信号。 Address 4 ROM 8 Data
28
程序为: ARCHITECTURE M OF TEST IS Signal A :Std_logic_vector(3 downto 0); Signal B :Std_logic_vector(0 to 3); Signal C :Std_logic_vector(0 to 1); Signal D :Std_logic_vector(1 downto 0); BEGIN C<=A(2 DOWNTO 1); --分解:A(2~1)序列信号传至D B<=A(3) & D & ‘1’;
1)USE定义区和标准定义库包括
程序包(PACKAGE)是预先定义或设计好的数据 数据 类型、子程序 子程序和各种设计实体的集合 设计实体的集合; 类型 子程序 设计实体的集合 库(LIBRARY)则是用来存储已经完成的程序包 等VHDL设计与数据的仓库。 一般情况下,库和程序包的引用声明放在设计文件 的最前面。
第VHDL设计初步学习
第110页/共55页
3.1 组合电路的VHDL描述
3.1.2 2选1多路选择器及其VHDL描述2
2. 标准逻辑位数据类型STD_LOGIC
第112页/共55页
3.1 组合电路的VHDL描述
3.1.2 2选1多路选择器及其VHDL描述2
3. 设计库和标准程序包
4. 信号定义和数据对象
第343页/共55页
3.2 基本时序电路的VHDL描述
3.2.3 异步时序电路设计
第354页/共55页
3.2 基本时序电路的VHDL描述
3.2.3 异步时序电路设计
第365页/共55页
3.3 计数器的VHDL设计
第376页/共55页
3.3 计数器的VHDL设计
3.3.1 4位二进制加法计数器设计 3.3.2 整数类型
第521页/共55页
习题
3-7 给出1位全减器的VHDL描述。要求: (1)首先设计1位半减器,然后用例化语句将它们连接起来,图3-19 中h_ suber是半减器,diff是输出差,s _out是借位输出,sub _in是 借位输入。 (2)根据图3-19设计1位全减器。以1位全减器为基本硬件,构成串行 借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x – y – sun _in = diffr)。
3.1 组合电路的VHDL描述
3.1.4 半加器及其VHDL的描述第198页/共55页源自3.1 组合电路的VHDL描述
3.1.4 半加器及其VHDL的描述
1. CASE语句
第2109页/共55页
3.1 组合电路的VHDL描述
3.1.4 半加器及其VHDL的描述
2. 标准逻辑矢量数据类型
EDA第4章VHDL设计初步
A B
AND
C
FPGA line .vhd
1、VHDL语言的基本单元及其构成
例1语法说明: 1、每一条语句以;号结束。 2、实体名必须与VHDL源文件名同名。 3、“--”符号为VHDL语言注释符。 4、“<=”为信号赋值符号,数据类型一致。 5、“std_logic”是引脚数据类型。
WHAT ?
What does it do?
FUNCTIONALITY
How is it composed?
STRUCTURE
HOW ?
VHDL程序设计举例 两种不同风格的半加器VHDL描述程序;
例题2:D触发器
LIBRARY ieee; use ieee.std_logic_1164.all; entity dff is port (clk: IN STD_LOGIC; d : IN STD_LOGIC; q: OUT STD_LOGIC); end; architecture bhv of adder is signal q1:std_logic; begin process(clk) begin if clk’event and clk=‘1’ then q1<=d; end if; q<=q1; end process; End bhv;
尽管处理器不同,但只要实体 定义的接口不变,VHDL语言 就可以通过配置语句实现结构 体的变换。 点击右侧的芯片观看处理器的 变化。
设计需要一个新的处理器,应该如何选择?
实体声明
实体声明
ENTITY 实体名 IS [GENERIC(常数名1:常数数据类型[:=常数值]; 常数名1:常数数据类型[:=常数值]; … );] PORT( 端口名1: 端口方向 端口数据类型; 端口名2: 端口方向 端口数据类型; … 端口名n: 端口方向 端口数据类型; ); END [实体名]; --[ ]:中内容表示可选项;
vhdl设计初步(新模版)31716【课件】
数据类型。
PORT (端口名:端口模式 数据类型; {端口名:端口模式 数据类型} );
英文字母+数字 数据流动方向 主要有“位”和“位矢量”两类
常用端口模式:
方向定义 IN
OUT INOUT BUFFER
含义 输入,定义的通道为单向只读模式
1 多路选择器的VHDL描述
例1.1 2选1多路选择器的结构体描述2 (原理图描述)
……
ARCHITECTURE one OF mux21 IS SIGNAL d,e : BIT; --d,e 为内部信号
BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;
BEGIN [功能描述语句];
END [ARCHITECTURE] 结构体名;
西安电子科技大学国家级精品课程数字电路与系统设计
ARCHITECTURE 结构体名 OF 实体名 IS [定义语句] 内部信号,常数,数据类型,函数等的定义;
BEGIN [功能描述语句];
END [ARCHITECTURE] 结构体名;
Ⅰ.结构体的行为描述(behavioral)
结构体的行为描述表示输入与输出间转换的关系, 是对设计实体按算法的路径来描述。行为描述在 EDA 工程中称为高层次描述或高级描述。
看例题!
例:如图所示的半加器,其功
能真值表已经给出,写出它的 行为描述。
a
b
0
0
0
1
1
0
1
1
c
s
0
0
0
第4章 VHDL设计初步
结构体有三种描述方式 *行为描述(behavioral):
高层次的功能描述,不必考虑在电路中到底是怎样实现的。
*数据流描述(dataflow):
描述输入信号经过怎样的变换得到输出信号
*结构化描述(structural):
【例4-2】-1 2选1多路选择器 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;
功能:s = 0
s=1
y=a y =b
ARCHITECTURE one OF mux21a IS BEGIN 并行语句 y <= (a AND (NOT s)) OR (b AND s) ; END ARCHITECTURE one;
端口模式:
IN、OUT、INOUT、BUFFER描述端口数据的流向特征。
数据类型: 数据对象承载数据的类别:BIT的定义值为逻辑'1'和'0'。
信号赋值符: “<=”,用于信号数据的传输,仿真传输延时最短为一个。
条件比较符:
“=”,在条件语句表式中用于比较待测数据的关系。
延时: 模拟器最小分辨时间,或称延时 。
port:
*在层次化设计时,Port为模块之间的接口 *在芯片级,则代表具体芯片的管脚
数据通道输入端口
数据输出端
通道选择控制信号端
图4-1 mux21a实体
(2) 以关键词ARCHITECTURE引导,END ARCHITECTURE … 结尾的语句部分,称为结构体。 功能:通过若干顺序语句和并行语句来描述设计实体的逻辑功能(行为描述)
vhdl初步设计知识点
vhdl初步设计知识点VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述和模拟数字电路。
在VHDL的初步设计阶段,掌握一些基本的知识点非常重要。
本文将介绍VHDL初步设计的几个关键知识点。
一、VHDL简介VHDL是一种硬件描述语言,广泛应用于数字集成电路(ASIC)和可编程逻辑器件(FPGA)的设计过程中。
它允许工程师使用代码来描述数字电路的结构和行为,从而实现电路的仿真、综合和布局布线。
二、VHDL的基本结构在VHDL中,一个完整的设计单元由实体(entity)、体系结构(architecture)和配置(configuration)组成。
实体定义了电路的接口,体系结构定义了电路的内部行为,而配置描述了如何将实体和体系结构相互关联。
三、实体和端口实体是VHDL中的顶层设计单元,类似于一个模块。
一个实体可以有多个输入输出端口,每个端口都有一个名称、数据类型和方向。
使用实体和端口的定义,可以将整个电路分解为更小的功能块,便于模块化设计和复用。
四、信号和过程在VHDL中,信号用于传递数据和状态。
信号可以是标量(单个值)或矢量(多个值),可以是时序信号(在不同时间点上发生变化)或组合信号(即时发生变化)。
过程是一段可执行的代码,用于描述组合逻辑的行为。
五、建立模块间连接在VHDL设计中,模块之间的连接需要使用信号来完成。
通过将一个模块的输出信号连接到另一个模块的输入信号,实现了模块间的数据传输。
在设计阶段需要注意确保信号的方向和宽度匹配,以避免数据传输错误或冲突。
六、仿真和测试VHDL设计完成后,需要进行仿真和测试来验证电路的功能和性能。
仿真是通过对设计代码进行计算机模拟,以检查设计是否满足预期行为。
测试是通过向电路输入不同的测试向量,检查输出是否符合预期结果。
七、时序和时钟在数字电路设计中,时序是一个重要的概念。
时序信号在特定的时间点上发生变化,而时钟信号则用于同步电路的操作。
第三章 - VHDL设计初步
END;
实体(Entity)—参数传递映射语句(P227)
参数传递映射语句描述相应元件类属参数 间的衔接和传送方式。可用于设计从外部端口 改变元件内部参数或结构规模的元件。其语句 格式为:
GENERIC MAP (类属表)
【例9-3】
LIBRARY IEEE; --待例化元件 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_arith.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY addern IS PORT (a, b: IN STD_LOGIC_VECTOR; result: out STD_LOGIC_VECTOR); END addern; ARCHITECTURE behave OF addern IS BEGIN result <= a + b; END;
库的用法
在VHDL语言中,库的说明语句总是放在实体 单元前面。对于必须以显式表达的库及其程序包 的语言表达式应放在每一项设计实体最前面,成 为这项设计的最高层次的设计单元。 库语句一般与USE语句同用:
库语句关键词LIBRARY指明所用的库名;
USE语句指明库中的程序包。 一旦说明了库和程序包,整个设计实体都可 以进入访问和调用。
程序包首说明部分
程序包名; 程序包名 IS --程序包体 程序包体说明部分及包体内容 END 程序包名; PACKAGE
程序包的结构由程序包的说明部分(即程序包首) 和程序包的内容(即程序包体)两部分组成。程序包首可 独立定义和使用。其中的说明有数据类型说明、信号说明、 子程序说明及元件说明等。在程序包结构中,程序包体并 不是必需的;一个完整的程序包中,程序包首名与程序包 体名是同一个名字。
vhdl设计初步(新模版)31716【课件】
西安电子科技大学国家级精品课程数字电路与系统设计
1 多路选择器的VHDL描述
例1.1VHDL描述中出现的相关语句结构和语法说明
1.1 实体表达(ENTITY)
ENTITY 实体名 IS [ GENERIC (类属表);] PORT (端口表);
END [ENTITY] 实体名;
1 多路选择器的VHDL描述
例1.1 2选1多路选择器的结构体描述3 (布尔方程描述)
……
ARCHITECTURE behave OF mux21 IS BEGIN y <= (a AND (NOT s)) OR ( b AND s) ;
END behave;
说明:以上 三种结构体 描述都是并 行语句
➢验证方式
计算机语言主要关注于变量值的变化 VHDL要实现严格的时序逻辑关系
西安电子科技大学国家级精品课程数字电路与系统设计
《数字电路与系统设计》回顾
… …
组合逻辑电路
与、或、非 与非、或非 异或、同或
RS触发器 D触发器 T触发器 JK触发器
时序逻辑电路
分析 设计
真值表 分析 设计
Entity 输入/输出
性高; (3)ABEL硬件描述语言:属于较低级的硬件描
述语言; (4)AHDL硬件描述语言:Altera公司开发,语
法简单,但不通用。 其中:VHDL和VerilogHDL已成为IEEE标准。
西安电子科技大学国家级精品课程数字电路与系统设计
VHDL
—VHSIC Hardware Description Language VHDL在语法和风格上类似与现代高级编程 语言。但要注意,VHDL毕竟描述的是硬件,它 包含许多硬件特有的结构。 HDL是用文字化方法描述电子电路与系统。
EDA技术教程课件-第五章_VHDL设计初步
·行为描述主要是对设计对象进行数学建 模,描述程序大量采用算术运算、关系运 算、惯性延时、传输延时等语句 ·结构体中的过程语句属于典型的行为描 述 ·VHDL语言具有较强的行为仿真和综合能 力,是EDA技术发展的基础
2020/12/22
表5.1.3 几种基本的数据类型
类型
取值范围
逻辑位矢量
是STD_LOGIC的数组
STD_LOGIC_VECTO
R
特点
由STD_LOGIC_1164程序包 定义,能表示多位 STD_LOGIC信号,如总线 信号
整数类型INTEGER
正整数,负整数和零, POSITIVE
布尔类型BOOLEAN FALSE和TRUE
结构体承担的具体任务是:
定 义 结 构 体 中 的 各 项 内 部 使 用 元 素 , 如 数 据 类 型 ( TYPE)、 常 数 ( CONSTANT)、 信 号 ( SIGNAL)、 元 件 ( COMPONENT)、 过 程 ( POCEDURE)等;
通过VHDL语句描述实体所要求的具体行为和逻辑功能; 描述各元件之间的连接。
U2: nand2 PORT MAP (q,reset, qbar); E20N20/1D2/22entlist;
表5.1.5 结构体中的三种子结构方式比较
子结构名称
语句格式
特点
块语句结构 进程语句结构 子程序语句结 构
2020/12/22
块结构名: BLOCK
端口说明 类属说明 BEGIN 并行语句 END BLOCK 块结构名;
EDA第3章
[ GENERIC ( 常数名:数据类型 [ : 设定值] ) ] 类属参量 GENERIC是一种端口界面常
PORT ( 端口名:端口模式 数据类型; ⁞
数,用来规定端口的大小、实体中子 元件的数目及实体的定时特性等。 GENERIC ( cntwidth: integer :=4 )
端口名:端口模式 数据类型;); 端口语句PORT( );描述电路的端口及其
该程序是具有异步清零、 进位输入输出功能的4位 计数器。
PORT ( ci: IN STD_LOGIC; Nreset: IN STD_LOGIC; clk: IN STD_LOGIC;
实体部分
co: OUT STD_LOGIC;
qcnt: BUFFER STD_LOGIC_VECTOR (cntwidth-1 DOWNTO 0)
);
END ENTITY counter4;
ARCHITECTURE behave OF counter4 IS
BEGIN
co <= ‘1’ WHEN (qcnt = “1111” AND ci = ‘1’) ELSE ‘0’;
PROCESS (clk, nreset)
Ci
Co
BEGIN
Nreset CLK
std_logic 类型包含的数据: (’U’, ’X’ , ’0’ , ’1’ , ’Z’ , ’W’ , ’L’ , ’H’ , ’-’)
举例:4位计数器的实体描述
Ci Nreset
CLK
COUNTER4
Co Qcnt[3..0]
ENTITY counter4 IS
GENERIC (cntwidth : integer : =4)
ch3-VHDL设计初步
19
五、PROCESS进程语句和顺序语句
1、基本格式:
进程标号:PROCESS (信号敏感表) IS (P1:) 〈说明区〉; BEGIN 〈顺序语句〉; END PROCESS 进程标号; …
进程标号: PROCESS (信号敏感表) IS (Pn:) 〈说明区〉;
BEGIN 〈顺序语句〉; END PROCESS 进程标号;
BOOLEAN:FALSE,TRUE BIT : ('0','1') STD_LOGIC: ('U','X','0','1','Z','W','L','H','-') ‘U’表示未初始化的; ‘X’表示强未知的; ‘0’表示强逻辑0; ‘1’表示强逻辑1; ‘Z’表示高阻态; ‘W’ 表示弱未知的; ‘L’表示弱逻辑0; ‘H’表示弱逻辑1; ‘-’表示忽略。
end bhe;
23
4、顺序语句
每一条顺序语句的执行顺序是与它们的书写顺 序基本一致的;
顺序语句只能出现在进程(Process) 、函数 (Funcation)和过程(Procedure)中;
顺序语句包括:赋值语句、流程控制语句、等 待语句、子程序调用语句、返回语句、空操作 语句
24
六 1位二进制全加器的VHDL设计
17
C、实例1
x <= a when (s = “00”) else b when (s = “01”) else c when (s = “10”) else d;
隐含了优先权
隐含了所有未
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
manufactured by Company A or Company B
2020/4/14
5.1 多路选择器VHDL描述
5.1.1 2选1多路选择器的VHDL描述
【例5-1】
STD_LOGIC所定义的9种数据的含义是: ‘U’表示未初始化的; ‘X’表示强未知的; ‘0’表示强 逻辑0; ‘1’表示强逻辑1; ‘Z’表示高阻态; ‘W’ 表示弱未知的; ‘L’表示弱逻辑0; ‘H’表示弱逻辑1; ‘-’表示忽略。 注:在数字器件中实现的有其中4种,’X’(‘-’)、‘0’、‘1’、
2020/4/14
什么是VHDL?
Very high speed integrated Hardware Description Language (VHDL)
– 是IEEE、工业标准硬件描述语言 – 用语言的方式而非图形等方式描述硬件电路
• 容易修改 • 容易保存
– 特别适合于设计的电路有:
• 复杂组合逻辑电路,如:
5.1.2 VHDL相关语句说明
6. 结构体表达
【例5-7】 ARCHITECTURE arch_name OF e_name IS
(说明语句)
BEGIN (功能描述语句)
END ARCHITECTURE arch_name ; 或: 【例5-8】 ARCHITECTURE arch_name OF e_name IS
PROCESS (CLK)
BEGIN
IF CLK’EVENT AND CLK = ’1’ --边沿测试语句,有上升沿结果为true
THEN Q1 <= D ;
--if不完整条件语句
END IF; Q <= Q1 ;
--将内部的暂存数据向端口输出
END PROCESS ;
END20b20h/4v/1;4
• “ tell me how your circuit should behave and the VHDL compiler will give you the hardware that does the job”
• but the designer can not control how the circuit implement
顺序语句:同普通软件,按排列顺序执行 并行语句:无论多少行,同时执行
2020/4/14
结构式:电路元件安装 结构 例程序5.1 行为式:功能和行为 相应结构 例程序5.2 算法式:电路和逻辑功能都不知(适用于高层模块,电路实现时可以有多
种不同的实现方案)例程序5.3
例 1 结构式 BEGING
u1:nand2 PORT MAP (a=>set,b=>qb,c=>q); u2:nand2 PORT MAP (a=>reset, b=>q, c=>qb);
2020/4/14
5.2.2 D触发器VHDL描述的语言现象说明
2. 设计库和标准程序包
使用库和程序包的一般定义表式是: LIBRARY <设计库名>;
USE < 设计库名>.<程序包名>.ALL ;
LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ;
3. SIGNAL信号定义和数据对象
ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT;
BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;
END ARCHITECTURE one ;
2020/4/14
并行语句用boolean方程表达
【例5-3】 ... ARCHITECTURE one OF
(说明语句)
BEGIN (功能描述语句)
END arch_name ;
7. 信号传输(赋值)符号和数据比较符号
A、y<=a 赋值 ; δ以后发生,理解为延时 ; 两边数据类型相同 B、S=‘0’比较;输出结果的数据类型BOOLEAN,取值TRUE OR FALSE(‘1’OR ‘0’)
2020/4/14
实体
结构体
端口定义 端口模式
数据类型 信号赋值符 条件比较符 延时
逻辑操作符 IF条件语句 并行条件语句 进程语句
顺序语句
2020/4/14
并行语句
文件取名
文件存盘
5.2 寄存器描述及其VHDL语言现象
5.2.1 D触发器的VHDL描述
【例5-9】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS
• ABEL, PALASM, AHDL:
–
“tell me what hardware you want and
I will give it to you”
2020/4/14
Why using VHDL instead of Graphic
• Easy to Modify • It is more powerful than Graphic • VHDL is a portable language because
ENTITY mux21a IS PORT( a, b : IN BIT ;
s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ;
实体
图5-1 mux21a实体
ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE
VHDL程序基本结构
2020/4/14
VHDL Synthesis vs. other HDLs Synthesis
• VHDL: “tell me how your circuit should behave and I will give you hardware that does the job”
EDA & CPLD
第5章
• 原理图输入与 VHDL文本输入设计的区别
– Graphic is what you draw is what you get
• “ tell me what hardware you want and I will give it to you”
– VHDL is what you write is what functional you get
mux21a IS BEGIN y <= (a AND (NOT s))
OR (b AND s) ; END ARCHITECTURE one;
5.1.1 2选1多路选择器的VHDL描述
【例5-4】 ENTITY mux21a IS
PORT ( a, b, s: IN BIT; y : OUT BIT );
... p_name : port_m END ENTITY e_name;
data_type; data_type );
或:
【例5-6】 ENTITY e_name IS PORT ( p_name : port_m
... p_namei : port_mi END e_name;
data_type; data_type );
例 2 行为式 ARCHTECTURE rs_behav OF rsff IS BEGIN
q<=NOT (qb AND set); qb<=NOT(q AND reset); END rs_behav;
例 3 算法式 ARCHTECTURE rs_alg OF rsff IS BEGIN
ASSERT NOT (reset=“0” AND seRT “Input IS ’00’” SEVERITY error; IF set=‘1’ AND reset=‘1’THEN 输入为11,输出不变 ………. 2…020…/4/1…4
5.2.2 D触发器VHDL描述的语言现象说明
1. 标准逻辑位数据类型STD_LOGIC BIT数据类型定义: TYPE BIT IS('0','1');
STD_LOGIC数据类型定义:
TYPE STD_LOGIC IS ('U','X','0','1','Z','W','L','H','-');
– 译码器、编码器、加减法器、多路选择器、地址译码器…...
• 状态机 • 等等……..
2020/4/14
VHDL的功能和标准
• VHDL 描述
– 输入端口 – 输出端口 – 电路的行为和功能
• VHDL有过两个标准:
– IEEE Std 1076-1987 (called VHDL 1987) – IEEE Std 1076-1993 (called VHDL 1993)
2020/4/14
顺序语句
5.1.1 2选1多路选择器的VHDL描述
四种描述方法
综合
2020/4/14
电路结构相同
5.1.1 2选1多路选择器的VHDL描述
图5-3 mux21a功能时序波形
2020/4/14
5.1.2 VHDL相关语句说明
1. 实体表达
93版
87版
2020/4/14
【例5-5】 ENTITY e_name IS PORT ( p_name : port_m