《VHDL入门》PPT课件.ppt

上传人:新** 文档编号:571436469 上传时间:2024-08-10 格式:PPT 页数:57 大小:365.10KB
返回 下载 相关 举报
《VHDL入门》PPT课件.ppt_第1页
第1页 / 共57页
《VHDL入门》PPT课件.ppt_第2页
第2页 / 共57页
《VHDL入门》PPT课件.ppt_第3页
第3页 / 共57页
《VHDL入门》PPT课件.ppt_第4页
第4页 / 共57页
《VHDL入门》PPT课件.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《《VHDL入门》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VHDL入门》PPT课件.ppt(57页珍藏版)》请在金锄头文库上搜索。

1、EDAEDA技术与技术与VHDL VHDL 第第3 3章章VHDL VHDL 入门入门 K K K KX康芯科技康芯科技K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 3.1.1 多路选择器的多路选择器的VHDL描述描述 图图3-1 mux21a实体实体 图图3-2 mux21a结构体结构体 K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 3.1.1 多路选择器的多路选择器的VHDL描述描述 【例【例3-1】ENTITY mux21a IS PORT ( a, b : IN BIT; s

2、 : IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 3.1.1 多路选择器的多路选择器的VHDL描述描述 【例【例3-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;AR

3、CHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ; END ARCHITECTURE one ; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 3.1.1 多路选择器的多路选择器的VHDL描述描述 【例【例3-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF m

4、ux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one ; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 3.1.1 多路选择器的多路选择器的VHDL描述描述 图图3-3 mux21a功能时序波形功能时序波形 K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 1. 实体表达实体表达 【例【例3-4】ENTITY e_nam

5、e IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type ); END ENTITY e_name; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 2. 实体名实体名 3. 端口语句和端口信号名端口语句和端口信号名 4. 端口模式端口模式 “IN”、“OUT”、“INOUT”、“BUFFER” 5. 数据类型数据类型 K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 6. 结构体表达结构体表达 【例3-5】A

6、RCHITECTURE arch_name OF e_name IS 说明语句BEGIN (功能描述语句)END ARCHITECTURE arch_name ; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 7. 赋值符号和数据比较符号赋值符号和数据比较符号 IF a THEN . - 注意,注意,a的数据类型必须是的数据类型必须是boolean IF (s1=0)AND(s2=1)OR(cb+1) THEN . 8. 逻辑操作符逻辑操作符 BIT、BOOLEAN、STD_LOGIC K K K KX康芯科技康芯科技3.1 3.1 简单

7、组合电路的简单组合电路的VHDLVHDL描述描述 9. 条件语句条件语句 10. WHEN_ELSE条件信号赋值语句条件信号赋值语句 赋值目标 = 表达式 WHEN 赋值条件 ELSE表达式 WHEN 赋值条件 ELSE . 表达式 ; z = a WHEN p1 = 1 ELSE b WHEN p2 = 1 ELSE c ; K K K KX康芯科技康芯科技3.1 3.1 简单组合电路的简单组合电路的VHDLVHDL描述描述 11. 进程语句和顺序语句进程语句和顺序语句 12. 文件取名和存盘文件取名和存盘 IF_THEN_ELSE_END IF; “.vhd” adder_f.vhd K

8、K K KX康芯科技康芯科技【例【例3-6】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -类似于在芯片内部定义一个数据的暂存节点类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS (CLK,Q1) BEGIN IF CLKEVENT AND CLK = 1 T

9、HEN Q1 = D ; END IF; END PROCESS ;Q = Q1 ; -将内部的暂存数据向端口输出(双横线将内部的暂存数据向端口输出(双横线-是注释符号)是注释符号) END bhv; 3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.1 D触发器触发器 图图3-4 D触发器触发器 K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明 1. 标准逻辑位数据类型标准逻辑位数据类型STD_LOGIC BIT数据类型定义: TYPE BI

10、T IS(0,1); -只有两种取值STD_LOGIC数据类型定义: TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-); K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明 2. 设计库和标准程序包设计库和标准程序包 LIBRARY WORK ;LIBRARY STD ; USE STD.STANDARD.ALL ; LIBRARY ; USE .ALL ; LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; K

11、 K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明 3. 信号定义和数据对象信号定义和数据对象 EVENTEVENT 4. 上升沿检测表式和信号属性函数上升沿检测表式和信号属性函数EVENT 5. 不完整条件语句与时序电路不完整条件语句与时序电路 K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.2 D触发器触发器VHDL描述的语言现象说明描述的语言现象说明 【例【例3-7】ENTITY COMP_BAD IS PO

12、RT( a1,b1 : IN BIT; q1 : OUT BIT ); END ; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 = 1 ;ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; . K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.3 实现时序电路的不同表述实现时序电路的不同表述 【例【例3-9】.PROCESS (CLK) BEGINIF CLKE

13、VENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -确保确保CLK的变化是一次上升沿的跳变的变化是一次上升沿的跳变 END IF; END PROCESS ;【例例3-10】.PROCESS (CLK) BEGINIF CLK=1 AND CLKLAST_VALUE=0 -同例同例3-9 THEN Q = D ; END IF; END PROCESS ; K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.3 实现时序电路的不同表述实现时序电路的不同表述 【例【例3-11】LIBR

14、ARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 IS PORT (CLK,D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) - 必须打开必须打开STD_LOGIC_1164程序包程序包 THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; -在此,赋值语句可以放在进程外,作

15、为并行赋值语句在此,赋值语句可以放在进程外,作为并行赋值语句 END ; K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.3 实现时序电路的不同表述实现时序电路的不同表述 【例3-12】.PROCESS BEGIN wait until CLK = 1 ; -利用wait语句 Q = D ;END PROCESS; K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.3 实现时序电路的不同表述实现时序电路的不同表述 【例3-13】.PROCESS (CLK) BEGIN IF

16、 CLK = 1 THEN Q = D ; -利用进程的启动特性产生对CLK的边沿检测 END IF; END PROCESS 图图3-7 例例3-13的时序波形的时序波形 K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.3 实现时序电路的不同表述实现时序电路的不同表述 【例【例3-14】.PROCESS (CLK,D) BEGIN IF CLK = 1 -电平触发型寄存器电平触发型寄存器 THEN Q = D ; END IF; END PROCESS ; 图图3-8 例例3-14的时序波形的时序波形 K K K KX康芯科技康芯

17、科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.4 异步时序电路设计异步时序电路设计 【例【例3-15】 . ARCHITECTURE bhv OF MULTI_DFF IS SIGNAL Q1,Q2 : STD_LOGIC; BEGINPRO1: PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=1 THEN Q1 = NOT (Q2 OR A); END IF; END PROCESS ;PRO2: PROCESS (Q1) BEGIN IF Q1EVENT AND Q1=1 THEN Q2 = D; END IF; END

18、PROCESS ; QQ = Q2 ; . K K K KX康芯科技康芯科技3.2 3.2 简单时序电路的简单时序电路的VHDLVHDL描述描述 3.2.4 异步时序电路设计异步时序电路设计 图图3-9 例例3-15综合后的电路(综合后的电路(Synplify综合)综合) K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE语句语句 图图3-10 半加器半加器h_adder电路图及其真值表电路图及其真值表 K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述

19、描述 3.3.1 半加器描述和半加器描述和CASE语句语句 图图3-11 3-11 全加器全加器f_adderf_adder电路图及其实体模块电路图及其实体模块K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE语句语句 【例【例3-16】LIBRARY IEEE; -半加器描述半加器描述(1):布尔方程描述方法:布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT

20、STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE语句语句 【例【例3-17】LIBRARY IEEE; -半加器描述半加器描述(2):真值表描述方法:真值表描述方法USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_

21、adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; -定义标准逻辑位矢量数据类型定义标准逻辑位矢量数据类型BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS; END ARCHITECTURE fh1 ; K K K KX康芯科技康芯科技3.

22、3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE语句语句 【例【例3-18】 LIBRARY IEEE ; -或门逻辑描述或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c ain,b=bin,co=d,so=e); -例化语句例化语句 u2 : h_adder PORT MAP(a=e

23、, b=cin, co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1; K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 1. CASE语句语句 CASE ISWhen = ; . ; ;When = ; . ; ;.WHEN OTHERS = ;END CASE ; K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 2. 标准逻辑

24、矢量数据类型标准逻辑矢量数据类型 B = 01100010 ; - B(7)为为 0 B(4 DOWNTO 1) = 1101 ; - B(4)为为 1 B(7 DOWNTO 4) = A ; - B(6)等于等于 A(2) SIGNAL C :BIT_VECTOR(3 DOWNTO 0); K K K KX康芯科技康芯科技3.3 3.3 含有层次结构的含有层次结构的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 3. 并置操作符并置操作符 SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (

25、1 DOWNTO 0) ;.a 连接端口名连接端口名,.); K K K KX康芯科技康芯科技3.4 3.4 计数器设计计数器设计 【例【例3-20】ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER RANGE 15 DOWNTO 0 ) ; END ; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCESS ;END bhv; K K K KX康芯科技康芯科技

26、3.4 3.4 计数器设计计数器设计 3.4.1 4位加法计数器位加法计数器 表面上表面上BUFFERBUFFER具有双向端口具有双向端口INOUTINOUT的功能,但实际上其输入功能的功能,但实际上其输入功能是不完整的,它只能将自己输出的信号再反馈回来,并不含有是不完整的,它只能将自己输出的信号再反馈回来,并不含有ININ的功的功能。能。 表式表式Q = Q + 1Q = Q + 1的右项与左项并非处于相同的时刻内,对于时序的右项与左项并非处于相同的时刻内,对于时序电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即左项要获

27、得当前的左项要获得当前的Q + 1Q + 1,需等待下一个时钟周期。需等待下一个时钟周期。 K K K KX康芯科技康芯科技3.4 3.4 计数器设计计数器设计 3.4.2 整数类型整数类型 1 十进制整数十进制整数0 十进制整数十进制整数35 十进制整数十进制整数10E3 十进制整数,等于十进制整数十进制整数,等于十进制整数100016#D9# 十六进制整数,等于十六进制整数十六进制整数,等于十六进制整数D9H8#720# 八进制整数,等于八进制整数八进制整数,等于八进制整数720O2#11010010# 二进制整数,等于二进制整数二进制整数,等于二进制整数11010010B Q : BUF

28、FER NATURAL RANGE 15 DOWNTO 0; K K K KX康芯科技康芯科技3.4 3.4 计数器设计计数器设计 3.4.3 计数器设计的另一种表述计数器设计的另一种表述 【例【例3-21】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 I

29、SSIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; END IF; END PROCESS ; Q 0) ; - 计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CQI 0); -大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; - 计数大于9

30、,输出进位信号 ELSE COUT = 0; END IF; CQ X) SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ; d1 e(3),3=e(5), OTHERS=e(1) ); f = e(1) & e(5) & e(1) & e(3) & e(1) ; K K K KX康芯科技康芯科技3.5 3.5 一般加法计数器设计一般加法计数器设计 3.5.2 程序分析程序分析 图图3-14 例例3-22的的RTL电路

31、(电路(Synplify综合)综合) K K K KX康芯科技康芯科技3.5 3.5 一般加法计数器设计一般加法计数器设计 3.5.2 程序分析程序分析 图图3-15 例例3-22的工作时序的工作时序 K K K KX康芯科技康芯科技3.5 3.5 一般加法计数器设计一般加法计数器设计 3.5.3 含并行置位的移位寄存器设计含并行置位的移位寄存器设计 【例【例3-23】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS - 8位右移寄存器位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN

32、STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS (CLK, LOAD) VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF LOAD = 1 THEN REG8 := DIN; -由(由(LOAD=1)装载新数据装载新数据 ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END I

33、F; END IF; QB = REG8(0); - 输出最低位输出最低位 END PROCESS; END behav; K K K KX康芯科技康芯科技3.5 3.5 一般加法计数器设计一般加法计数器设计 3.5.3 含并行置位的移位寄存器设计含并行置位的移位寄存器设计 图图3-16 例例3-23的工作时序的工作时序 K K K KX康芯科技康芯科技3.6 3.6 VHDLVHDL语句结构与语法小节语句结构与语法小节 实体:实体:以以ENTITY. . .END ENTITY e_name描述器件的端口特性。描述器件的端口特性。结结构构体体: 以以ARCHITECTURE . END AR

34、CHITECTURE 给给出出器器件件 的的逻逻辑辑功能和行为。功能和行为。端口定义:端口定义: 以以PORT()语句定义器件端口及其数据类型。语句定义器件端口及其数据类型。端口模式:端口模式: IN、OUT、INOUT、BUFFER描述端口数据的流向特征。描述端口数据的流向特征。数数据据类类型型: 数数据据对对象象承承载载数数据据的的类类别别:INTEGER、BOOLEAN、STD_LOGIC、BIT、STD_LOGIC_VECTOR。信号赋值符:信号赋值符:“=”,用于信号数据的传输,仿真传输延时最短为一个,用于信号数据的传输,仿真传输延时最短为一个 。条件比较符:条件比较符: “=”,在

35、条件语句表式中用于比较待测数据的关系。,在条件语句表式中用于比较待测数据的关系。 延时:延时: 模拟器最小分辨时间模拟器最小分辨时间 ,或称延时,或称延时 。逻辑操作符:逻辑操作符: AND、OR、NOT、NAND、XOR、XNOR。IF条件语句:条件语句:IF_THEN_ELSE语句作为顺序语句。语句作为顺序语句。并行条件语句:并行条件语句:WHEN_ELSE条件信号赋值语句。条件信号赋值语句。进程语句:进程语句: 以以PROCESS .END PROCESS引导的语句结构。引导的语句结构。顺序语句:顺序语句: 由进程语句引导的,以顺序方式执行的语句。由进程语句引导的,以顺序方式执行的语句。

36、并行语句:并行语句: 在结构体中以并行方式执行的语句。在结构体中以并行方式执行的语句。文件取名:文件取名: 建议文件名与建议文件名与VHDL设计的实体名一致,后缀是设计的实体名一致,后缀是.vhd。K K K KX康芯科技康芯科技3.6 3.6 VHDLVHDL语句结构与语法小节语句结构与语法小节 文文件件存存盘盘: VHDL设设计计文文件件必必须须存存于于指指定定为为工工程程的的目目录录中中,此此目目录录将将被被设设定定为为WORK库,库,WORK库的路径即为此目录的路径。库的路径即为此目录的路径。VHDL库:库:LIBRARY语句打开语句打开VHDL库:库:IEEE库、标准库库、标准库ST

37、D、工作库工作库WORK . .程程 序序 包包 : USE语语 句句 声声 明明 使使 用用 程程 序序 包包 : STD_LOGIC_1164、STD_LOGIC_UNSIGNED、STANDARD等程序。等程序。数据对象:数据对象:信号:信号:SIGNAL,变量:变量:VERIABLE,常数:常数:CONSTANT信号属性函数:信号属性函数:信号属性函数信号属性函数EVENT、LAST_VALUE。时时钟钟检检测测:时时钟钟检检测测上上升升沿沿检检测测表表式式:CLKEVENT AND CLK=1、RISING_EDGE()、FALLING_EDGE()等。等。时时序序电电路路:不不完完

38、整整条条件件语语句句产产生生时时序序电电路路:IF THEN END IF,IF THEN ELSIF THEN END IF真值表表达:真值表表达:表达方法之一是用表达方法之一是用CASE_WHEN语句,但要注意语句,但要注意OTHERS的应用。的应用。并置操作符:并置操作符:并置操作符并置操作符 可用于合并两个或多个逻辑矢量,构建成新的数组。可用于合并两个或多个逻辑矢量,构建成新的数组。元件例化:元件例化:由元件调用声明语句由元件调用声明语句COMPONENT和映射语句和映射语句PORT MAP( )构成。构成。运算符重载概念:运算符重载概念:当进行非整数类型数据运算操作时需要调用运算符重

39、载函数,当进行非整数类型数据运算操作时需要调用运算符重载函数,这可以打开程序包这可以打开程序包STD_LOGIC_UNSIGNED。 K K K KX康芯科技康芯科技习习 题题 3-1. 画出与下例实体描述对应的原理图符号元件:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS - 实体实体1: 三态缓冲器三态缓冲器 PORT (input : IN STD_LOGIC ; - 输入端输入端 enable : IN STD_LOGIC ; - 使能端使能端 output : OUT STD_LOGIC ) ; - 输出端输出端END buf3x ;ENTITY mux21

40、IS -实体实体2: 2选选1多路选择器多路选择器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC); K K K KX康芯科技康芯科技习习 题题 3-2. 图图3-17所示的是所示的是4选选1多路选择器,试分别用多路选择器,试分别用IF_THEN语句和语句和CASE语句语句的表达方式写出此电路的的表达方式写出此电路的VHDL程序。选择控制的信号程序。选择控制的信号s1和和s0的数据类型为的数据类型为STD_LOGIC_VECTOR;当当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和和s1=1,s0=1分别执行

41、分别执行y=a、y=b、y=c、y=d。 图图3-17 4选选1多路选择器多路选择器 K K K KX康芯科技康芯科技习习 题题 3-3. 图图3-18所示的是双所示的是双2选选1多路选择器构成的电路多路选择器构成的电路MUXK,对于其中对于其中MUX21A,当当s=0和和1时,分别有时,分别有y=a和和y=b。试在一个结构体中用试在一个结构体中用两个进程来表达此电路,每个进程中用两个进程来表达此电路,每个进程中用CASE语句描述一个语句描述一个2选选1多路选择器多路选择器MUX21A。 图图3-18 双双2选选1多路选择器多路选择器 K K K KX康芯科技康芯科技习习 题题 3-4. 图图

42、3-19是一个含有上升沿触发的是一个含有上升沿触发的D触发器的时序电路,试写出此电路的触发器的时序电路,试写出此电路的VHDL设计文件。设计文件。 图图3-19 时序电路图时序电路图 K K K KX康芯科技康芯科技习习 题题 3-5. 给出给出1位全减器的位全减器的VHDL描述。要求:描述。要求:(1) 首首先先设设计计1位位半半减减器器,然然后后用用例例化化语语句句将将它它们们连连接接起起来来,图图3-20中中h_suber是半减器,是半减器,diff是输出差,是输出差,s_out是借位输出,是借位输出,sub_in是借位输入。是借位输入。 (2) 以以1位全减器为基本硬件,构成串行借位的

43、位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语位减法器,要求用例化语句来完成此项设计句来完成此项设计(减法运算是减法运算是 x y - sun_in = diffr)。 图图3-20 1位全减器位全减器 K K K KX康芯科技康芯科技习习 题题 3-6. 根据图根据图3-21,写出顶层文件,写出顶层文件MX3256.VHD的的VHDL设计文件。设计文件。图图3-21 题题3-6电路图电路图 3-7. 设计含有异步清零和计数使能的设计含有异步清零和计数使能的16位二进制加减可控计数器。位二进制加减可控计数器。 K K K KX康芯科技康芯科技习习 题题 3-6. 根据图根据图3-21,写出顶层文件,写出顶层文件MX3256.VHD的的VHDL设计文件。设计文件。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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