《VHDL复习资料.docx》由会员分享,可在线阅读,更多相关《VHDL复习资料.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一 填空每空1分,共20分1MAX+plusII是ALTERA 公司自己开发 EDA EDA 工具软件。2 VHDL设计实体根本构造由库库、 程序包包集合、实体实体、 构造体 构造体有称构造体 、 配置 配置 等局部构成。在VHDL中最常用库 IEEE IEEE标准库,最常用包集合是 1164 STD-LOGIC-1164 。在VHDL端口声明语句中,端口方向包括 输入in 、 输出out BUFFER输出、可内部使用 、输入|输出inout 、 缓冲 和 。只能出现在进程Process 进程 过程procedure)、函数 (Function) 函数 、 过程 中,是按程序书写顺序自 上而下
2、,一条一条地执行。6.VHDL 块 块BLOCK 语句是并行语句构造,它内部是由并行语句构成7.VHDL变量VARIABLE是一种局部量,只能在 进程 进程 、 函数 函数 和 过程 过程 中声明和使用。8.MAX+plusII支持 文本 、 原理图 、 波形 、 符号编辑 等不同编辑方式。9.MAX+plusII工具软件有 功能 、 时序 、 仿真 等功能。PLUS波形编辑文件分 波形输入 和 波形仿真 ,它们文件扩展名分别是 W D F 和 S C F 。 输入输出端口 ,它是设计实体对外通信界面,是外界可以看到局部。 复杂可编程逻辑器件 , 现场可编程门阵列 。 13.在VHDL中,含W
3、AIT语句进程Process括号不能再加 敏感量 ,否那么是非 法.14.VHDLProcess进程语句是由 顺序语句 顺序语句 组成,但其本身却是 并发语句 构造并行语句。15.VHDL子程序有 函数 函数 和 过程 过程 两种类型。16.在VHDL中,标准逻辑位数据有 0和1 种逻辑值。PLUS 仿真分 功能仿真 和 时序仿真 。变量VARIABLE是一个 功能变量 ,只能在进程、函数和过程中声明和使用。数据对象包括 常数 、 变量 、 信号 和 文件 。20. 实体 和 构造体 是设计实体根本组成局部,它们可以构成最根本VHDL程序。语言字符是以 字母下划线 括起来数字、字母和符号。二简
4、答题每题6分,共 30 分1.如何用VHDL语句描述时钟下降沿和上升沿。时钟上升沿if clkevent and clk=“1then下降沿if clkevent and clk =“0 then答:在VHDL中用语句CLOCKEVEVT AND CLOCK=0,表示检测CLOCK下降沿。在VHDL中用语句CLOCKEVEVT AND CLOCK=1,表示检测CLOCK下降沿。2. 在VHDL中IEEE标准中,预定义标准是逻辑位数据STD-LOGIC与BIT有何区别。只有当端口说明为BIT时该端口信号取值只能是二进制数“0和“1答:在VHDL中IEEE标准中,预定义标准是逻辑位数据STD-LO
5、GIC有9种逻辑值,而BIT只有二种值。3VHDL信号SIGNAL与变量VARIABLE有什么区别。 Signal可以在实体构造体等高层次环境中说明,对整个设计实体全局有效 Variable 在进程子函数等低层次环境中说明,只在说明区域中局部有效答:VHDL信号SIGNAL是一种数值容器,不仅可以容纳当前值,也可以保持历史值。VHDL变量VARIABLE是一种局部量,只能在进程、函数和过程中声明和使用。在VHDL中,目标变量是用:= 赋值,目标信号赋值符号是=。 4 表达一个四位加法器及仿真全过程。 5.现有两个半加器,一个两输入或门,试画出一个全加器答:6.在一个构造体内,其执行语句顺序有什
6、么特点?7.卫式BLOCK语句中条件和PROCESS 语句中敏感量区别是什么顺序,它们执行过程如何? Block块头主要用于信号映射及参数定义、process 并行执行进程语句8 为层次式电路,各层次功能模块在存盘时要注意什么问题?在同一路径文件夹内9在MAXPLUS中一般连线与总线有什么区别,在使用总线时必须注意什么问题?10、现有一个两输入异或门,一个两输入与门,试画出半加器。S=AB 11硬件描述语言描述硬件电路根本构成是什么?数字系统构造,行为和功能;硬件描述语言设计数字;电路逻辑电路过程和方法12解释端口方向说明,IN 、 OUT 、 INOUT 、 BUFFER和LINRAGE含义
7、? In:输入型,信号从该端口进入实体;out:输出型,信号从实体内部经该端口输出 Inout:输入输出型,信号既可以从该端口输入也可以输出 Buffer:缓冲型,与out类似但在构造内部可作反应 Linrage:无指定方向,与任何方向信号连接13数据类型BIT与STD-LOGIC ,BIT_ VECTOR与STD_LOGIC_VECTOR其共同点与不同点是什么 Std-logic-vector:标准逻辑适量 Std-logic:标准逻辑位量 Bit:为数据类型取值只能是:“0和“1 Bit-vector:位矢量,数据类型三分析题 共50分1读懂以下程序,指出其完成什么功能?20分1 libr
8、ary ieee;use ieee.std_logic_1164.all;entity aaa is port ( a,b,c,d: in std_logic;y:out std_logic) ;end aaa;architecture aaa1 of aaa is begin p1:process (a,b,c,d) variable tmp:std_logic_vector (3 downto 0 ); begin tmp:=a&b&c&d; case tmp is when 0000= y yy y y y y y y y y y yy= x;end case ; end process
9、 p1;end aaa1; 与非门 答:四输入与非门电路2 library ieee;use ieee.ste_logic_1164.all;entity abc isport ( clk: in std_logic; r: in std_logic; d: in std_logic_vector ( 3 downto 0); q:out std_logic _vector ( 3 downto 0 ); end abc; architecture rtl of abc issignal q_temp :std_logic_vector ( 3 downto 0);begin process
10、( clk, r) begin if ( r=1 ) then q_temp=0000 ; elseif ( clk event and clk=1 ) then q_temp =d; end if; q= q_temp;end process;end rtl; 存放器 1ENTITY abc IS PORT (do,d1 ,y: IN BIT; q: OUT BIT);END abc ;ARCHITECTURE connect OF abc ISBEGIN Cale: BLOCKBEGIN Tmp1= d0 AND y ; Tmp2=d1 AND (NOT y ) ; Tmp3=tmp1 O
11、R tmp2 ; q =tmp3 ; END BLOCK cale ;END connect ;二选一电路(2)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY parity_check IS PORT ( a: IN STD_LOGIC_VECTOR (7 DOWNTO 0); y: OUT STD_LOGIC);END parity_check;ARCHITECTURE rtl OF parity_check ISBEGIN PROCESS( a) VARIABLE tmp:STD_LOGIC; BEGIN tmp:=0; FOR i IN 0
12、TO 7 LOOP tmp:=tmp XOR a(i); END LOOP; y=tmp; END PROCESS;END rtl奇偶效应1ENTITY abc IS PORT (do,d1: IN BIT; x: IN BIT ; Q: OUT BIT);END abc ;ARCHITECTURE dataflow OF abc ISBEGINQ= (d0 AND x ) OR ( NOT x AND d1 );END dataflow;二选一数据选择器 2 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AAA IS PORT (Cloc
13、k:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC); END ; ARCHITECTURE Behavior OF AAA IS SIGNAL Clk:STD_LOGIC; BEGIN PROCESS(Clock) BEGIN IF rising_edge(Clock) THEN CLK=NOT Clk; END IF; END PROCESS; Clkout=Clk; END;边沿触发器 答: D触发器2以下程序是一个二选一电路,有四处错误,试指出并改正。10分 ENTITY mux IS PROT ( d0,d1,sel : IN BIT BIT ; q: OUT
14、BIT BIT ) ; END mux ; ARCHITECTURE connect OF mux IS (mux) BEGIN Cale : PROCESS (d0,d1sel SEL) VARIABLE tmp1,tmp2,tmp3: BIT ; BEGIN Temp1: =d0 AND sel ; Temp2: = d1 AND (NOT sel ) ; Temp3:=tmp1 OR tmp2 ; Q : = tmp3 ; (=) END PROCESS ; END connect ;3ENTITY mux IS PROT ( d0,d1,sel : IN BIT ; q: OUT BI
15、T) ; END mux ; ARCHITECTURE connect OF mux IS BEGIN Cale : PROCESS (d0 ,d1,sel ) VARIABLE tmp1,tmp2,tmp3: BIT ; BEGIN Temp1: =d0 AND sel ; Temp2: = d1 AND (NOT sel ) ; Temp3:=tmp1 OR tmp2 ; Q :yyyyyyyy=0;END CASE ; END PROCESS t2;END nor2_2;2 . 以下程序是四选一电路,在空格中填上适当语句。(10分) LIBRARY IEEE ; USE IEEE.STD
16、_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY mux4 IS PORT ( i0,i1,i2,i3,a,b : IN STD-LOGIC ; Q: OUT STD_LOGIC ); END mux4 ; ARCHITECTURE behav OF mux4 IS SIGNAL sel: INTEGER ; BEGIN WITH S SELECT q = i0 AFTER 10 ns WHEN 0, i1 AFTER 10 ns WHEN 1,i2 AFTER 10 ns WHEN 2,i3 AFTER 10 ns WHEN
17、3,1AFTER 10 ns WHEN OTHERS;sel=0 WHEN a=0 AND b=0 ELSE 1 WHEN a=1 AND b=0 ELSE2 WHEN a=0 AND b=1 ELSE 3 WHEN a=1 AND b=1 ELSE 4 WHEN OTHERS ; END behav; 3. 以下程序有四处错误,试指出并改正。(10分) ENTITY mux IS PROT ( d0,d1,sel : IN BIT ; q: OUT BIT) ; END mux ; ARCHITECTURE connect OF mux IS BEGIN Cale : PROCESS (d0
18、, d1, sel ) VARIABLE tmp1,tmp2,tmp3: BIT ; BEGIN Temp1: =d0 AND sel ; Temp2: = d1 AND (NOT sel ) ; Temp3:=tmp1 OR tmp2 ; Q := tmp3 ; END PROCESS ; END connect ;4分析以下程序,指出其功能并说明其工作过程。10分library ieee;use ieee.std_logic_1164.all;entity xyz is port(a,clk1:in std_logic; b:out std_logic);end xyz;architect
19、ure xyz1 of xyz issignal tmp1:std_logic;begin process(clk1,a)variable tmp3,tmp2:std_logic;begin if clk1event and clk1 =0 thentmp1=a;tmp2:=tmp1;tmp3:=not tmp2;end if;b=tmp1 and tmp3 and clk1;end process;end xyz1;(消除同步模块) 故当时钟脉冲下降沿到来时,变量tmp2和tmp3在赋值语句执行后立即分别得到新值:tmp1和tmp2非值,而输入信号a经过一定时延时赋值给信号tmp1实现消抖同步功能