教学课件:第3章VHDL基础课稿.ppt
《教学课件:第3章VHDL基础课稿.ppt》由会员分享,可在线阅读,更多相关《教学课件:第3章VHDL基础课稿.ppt(136页珍藏版)》请在三一办公上搜索。
1、第三章 VHDL设计初步,一、程序结构二、语句三、端口信号数据类型四、时序逻辑电路,组合逻辑电路,3.1 组合逻辑电路的设计(复习),组合逻辑电路的最小单元是门电路与门,或门,非门与非门,或非门,异或门,与或非门三态门,OC门,1、三输入端与非门,a、逻辑函数表达式b、真值表(truth table),c、逻辑符号,1、三输入端与非门,b、真值表(truth table),3.1 组合逻辑电路的VHDL描述,1、三输入端与非门下面给出“三输入端与非门”的VHDL程序,三输入与非门VHDL程序,Library ieee;Use ieee.std_logic_1164.all;Entity nan
2、d3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;(程序中的英文不区分大小写),程序结构(三输入与非门),要求:先学会看程序结构,三输入与非门程序(程序结构),Library ieee;Use ieee.std_logic_1164.all;Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End n
3、and3_gate1;Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;(程序中的英文不区分大小写),实体,结构体,库与程序包,书中找任意程序看 程序结构,三输入与非门程序(程序结构),Library ieee;Use ieee.std_logic_1164.all;Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;Architecture ab of nand3_gate1 isBegin y=not(
4、a and b and c);End ab;(程序中的英文不区分大小写),-实体开始,nand3_gate1是该实体名称,-结构体开始,ab是该结构体名称,-ieee库,-ieee库中的程序包,-实体结束,-结构体结束,再在书中找任意程序看 程序结构,三输入与非门程序(程序结构),Library ieee;Use ieee.std_logic_1164.all;Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;Architecture ab of nand3_gate1 isBegin
5、y=not(a and b and c);End ab;(程序中的英文不区分大小写),实体,结构体,库与程序包,给定程序,学会看程序结构(要求1),程序结构有几个组成部分?库与程序包实体结构体,典型的组合逻辑电路(复习),编码器译码器数据选择器加法器数值比较器奇偶校验电路,2选1数据选择器,给出2选1数据选择器的VHDL程序加深对程序结构的理解Library ieee;Entity mux21b is port(a,b,s:in std_logic;y:out std_logic);End mux21b;Architecture ab of mux21b isBegin y=a when s=
6、0 else b;End ab;,学会编写程序(要求2),用VHDL语言编写三输入端与非门在编写此程序(第一个)时,学习编写程序的方法,学习程序中的细节(1)画出电路的端口信息(2)写出电路的真值表(3)写程序,这里要求教师板书同时请同学们跟着教师,在笔记上练习写程序,画出电路的端口信息,写出电路的真值表,写程序,写程序时要记得 程序结构,程序结构中的实体:对应 电路端口信息 实体由 端口信号名称 端口模式 端口数据类型 构成程序结构中的结构体 对应 真值表,实体:描述电路端口信息 结构体 描述电路功能,实体(三输入与非门程序),Entity nand3_gate1 is port(a,b,c
7、:in std_logic;y:out std_logic);End nand3_gate1;,实体(三输入与非门程序),Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;,实体开始的关键字,实体名称,也是程序的存盘名,实体(三输入与非门程序),Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;,端口,3根输入端名称,端口模式,端口数据类型,实体(三输入与非门程序),Entity
8、nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;,端口,1根输出端名称,端口模式,端口数据类型,实体(三输入与非门程序),Entity nand3_gate1 is port(a,b,c:in std_logic;y:out std_logic);End nand3_gate1;,端口结束,实体结束,实体名称,一条语句的结束标志是;,实体(三输入与非门程序),三输入与非门程序的实体还可以写成:Entity nand3_gate1 is port(a:in std_logic;b:in std_log
9、ic;c:in std_logic;y:out std_logic);End nand3_gate1;,端口信号名称,端口模式,端口数据类型,结构体,结构体 描述电路功能,结构体(三输入与非门程序),Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;,结构体开始的关键字,结构体的名称,指明是哪个实体的结构体,结构体(三输入与非门程序),Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;,Architecture语句下必须有beg
10、in程序格式,Begin后面的语句表示电路的逻辑功能,结构体(三输入与非门程序),Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;,Begin后面的语句表示电路的逻辑功能,此处的逻辑功能是用逻辑函数表达式表示的,结构体(三输入与非门程序),Architecture ab of nand3_gate1 isBegin y=not(a and b and c);End ab;,Begin后面的语句表示电路的逻辑功能,逻辑功能结束Architecture语句结束。,练习(学会编写程序),用VHDL语言编写异或门程序
11、(1)(2)(3),练习(学会编写程序),用VHDL语言编写半加器(1)(2)(3),设计2选1数据选择器,(1)画出电路的端口信息(2)写出电路的真值表(3)写程序,逻辑功能的描述有:,逻辑函数表达式真值表逻辑符号,学习新语句(要求3),现在想学习 根据真值表 写程序不写表达式必须学习VHDL语言中的新的语句,新语句用在哪里?,新语句用在结构体中的电路逻辑功能的描述上整个程序框架,用VHDL编写电路的方法 不变,例1:设计2选1数据选择器,同时学习 when else 语句(1)画出电路的端口信息(2)写出电路的真值表(3)写程序,例2:用when-else语句设计半加器,解:(1)画出电路
12、的端口信息(2)写出电路的真值表(3)写程序,(3)写程序Library ieee;Entity hadd1 is port(a,b:in std_logic;s,c:out std_logic);End hadd1;Architecture ab of hadd1 isBegin s=0 when a=b else 1;c=1 when(a=1 and b=1)else 0;End ab;(程序中的英文不区分大小写),要求掌握的知识点,端口数据类型VHDL程序由几个部分组成?端口模式端口信号名起名的规则文件存盘名是什么?有没有规定?when else 语句关系表达式,Std_logic库与程
13、序包+实体+结构体In out(C的规则)文件存盘名必须是实体名。实体名尽量与电路的功能符合,便于以后使用第9章、第10章目录 P331,P63,Entity mux21a is port(a,b,s:in bit;y:out bit);End mux21a;Architecture ab of mux21a isBegin y=a when s=0 else b;End ab;,端口数据类型 bit,std_logic端口数据类型为 Bit 时,程序结构:实体+结构体端口数据类型为 std_logic 时,程序结构:库与程序包+实体+结构体,端口数据类型:bitBit的取值 0 或1Bit数
14、据类型能否模拟所有的电路状况?电路出现故障时?端口数据类型:std_logic(P69)9种取值,与实际电路相接近端口数据类型不同,程序结构不同,一、程序结构,端口数据类型:bit std_logic端口数据类型不同,程序结构不同,小结,掌握了写VHDL程序的步骤(思维过程)掌握了 语句(when else 语句)掌握了 至少两个电路例3:用VHDL语言编写4选1数据选择器程序,4选1数据选择器(when else),Library ieee;Use ieee.std_logic_1164.all;Entity mux41a is port(s0,s1:in std_logic;d0,d1,d
15、2,d3:in std_logic;y:out std_logic);End mux41a;Architecture ab of mux41a isBegin y=d0 when(s0=0 and s1=0)else d1 when(s0=1 and s1=0)else d2 when(s0=0 and s1=1)else d3;End ab;,八选一数据选择器?十六选一数据选择器六十四选一数据选择器?数据总线,标准逻辑矢量 数据类型,std_logic_vector(3 Downto 0)将4根 std_logic的数据结合在一起用总线形式重新编写用VHDL语言编写4选1数据选择器程序,4选
16、1数据选择器(when else),Library ieee;Use ieee.std_logic_1164.all;Entity mux41a is port(s:in std_logic_vector(1 downto 0);d0,d1,d2,d3:in std_logic;y:out std_logic);End mux41a;Architecture ab of mux41a isBegin y=d0 when s=“00”else d1 when s=“01”else d2 when s=“10”else d3;End ab;,一、程序结构二、语句三、端口信号数据类型,组合逻辑电路,
17、二、语句,并行语句 when-else并行语句 信号赋值语句顺序语句 if语句顺序语句 case语句,二、语句1、when-else语句,例4:用when-else语句编写8/3线优先编码器(1)画出电路的端口信息(2)写出电路的真值表(3)写程序,二、语句1、when-else语句,(3)写程序Library ieee;Use ieee.std_logic_1164.all;Entity pencoder1 is port(i7,i6,i5,i4,i3,i2,i1,i0:in std_logic;d:out std_logic_vector(2 downto 0);End pencoder1
18、;Architecture ab of pencoder1 is Begin d=“111”when i7=1 else“110”when i6=1 else“101”when i5=1 else“100”when i4=1 else“011”when i3=1 else“010”when i2=1 else“001”when i1=1 else“000”;End ab;,标准逻辑矢量 数据类型Std_logic_vector(7 Downto 0)Std_logic_vector(0 to 7),Library ieee;Use ieee.std_logic_1164.all;Entity
19、pencoder1 is port(i:in std_logic_vector(7 downto 0);d:out std_logic_vector(2 downto 0);End pencoder1;Architecture ab of pencoder1 is Begin d=111“when i(7)=1 else 110 when i(6)=1 else 101 when i(5)=1 else 100 when i(4)=1 else 011 when i(3)=1 else 010 when i(2)=1 else 001 when i(1)=1 else 000;End ab;,
20、二、语句2、信号赋值语句,例5:用信号赋值语句(逻辑函数表达式)重做例1(2选1数据选择器)(1)(2)(3)写程序程序由库(库中程序包)、实体、结构体构成,二、语句2、信号赋值语句,例5:用信号赋值语句(逻辑函数表达式)重做例1(2选1数据选择器)Library ieee;Use ieee.std_logic_1164.all;Entity mux21c is port(a,b,s:in std_logic;y:out in std_logic);End mux21c;Architecture ab of mux21c isBegin y=(a and(not s)or(b and s);E
21、nd ab;,要求掌握的知识点,运算符第九章、第十章目录去查询,二、语句3、if语句,顺序语句完整的if语句完整的if语句构成组合逻辑电路,IF 条件句 Then 顺序语句 ELSE 顺序语句 END IF;,IF 条件句 Then 顺序语句ELSIF 条件句 Then 顺序语句.ELSE 顺序语句END IF;,二、语句3、if语句,顺序语句不完整的if语句不完整的if语句构成时序逻辑电路,IF 条件句 Then 顺序语句 END IF;,IF 条件句 Then 顺序语句ELSIF 条件句 Then 顺序语句.ELSIF 条件句 Then 顺序语句END IF;,二、语句3、if语句,例6:
22、用if语句重做例1(2选1 mux)(1)(2)(3)写程序,二、语句 3、if语句,例6:用if语句重做例1(2选1数据选择器)Library ieee;Use ieee.std_logic_1164.all;Entity mux21d is port(a,b,s:in std_logic;y:out std_logic);End mux21d;Architecture ab of mux21d isBegin process(a,b,s)begin if s=0 then y=a;else y=b;end if;end process;End ab;,二、语句3、if语句,例子表明:顺序语
23、句要放在进程process语句中,process语句格式,进程标号:PROCESS(敏感信号参数表)IS 进程说明部分 BEGIN 顺序描述语句;END PROCESS 进程标号;,process语句格式(简化),PROCESS(电路的输入信号)BEGIN 顺序描述语句;END PROCESS;,顺序语句要放在process语句中进一步应用if语句,用if语句编写4选1数据选择器,二、语句4、case语句,例7:用case语句重做例1(2选1 mux)(例子表明:顺序语句要放在进程process中),CASE IS When=;.;;When=;.;;.END CASE;,二、语句 4、cas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 VHDL 基础课

链接地址:https://www.31ppt.com/p-6289524.html