VHDL期末考试题.doc
《VHDL期末考试题.doc》由会员分享,可在线阅读,更多相关《VHDL期末考试题.doc(12页珍藏版)》请在咨信网上搜索。
1.结构体的三种描述方式:-行为描述-数据流描述-结构化描述 2.一般将一个完整的VHDL程序称为设计实体 3. VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。 4.VHDL不区分大小写。 5.常用的库:library ieee ,程序包:use ieee.std_logic_1164.all 6.VHDL程序的基本结构至少应包括实体、结构体和对库的引用声明。 7.在VHDL程序中使用的文字、数据对象、数据类型都需要事先声明 。 8. VHDL的实体由实体声明和结构体组成。VHDL的实体声明部分指定了设计单元的输入出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。VHDL的结构体用来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。 9.端口方向模式:IN(输入)、OUT(输出<构造体内部不能再使用>)、INOUT(双向)、BUFFER(缓冲<构造体内部可再使用>) 10.VHDL的标识符名必须以(字母开头),后跟若干字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。 11. 为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(<=) 12. VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型 请列出3个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量,整数,字符串,时间,错误等级,自然数,正整数。 13. VHDL的操作符包括逻辑、算术、关系和并置四类 14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期) CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片 FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片 15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。 16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。 17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符 (优先级<<<) 逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、 18.VHDL中std_logic类型:‘Z’表示高阻,‘X’表示不确定 19.将一个信width定义为一个4位标准逻辑向量为:signal width :std_logic_vector(3 downto 0) 定义一个变量a,数据类型为4位位向量:variable a :bit_vector(3 downto 0) 20.赋值语句是并行执行,IF语句是串行执行。 21.标准逻辑是一个具有九值逻辑的数据类型 22.表示‘0’‘1’两值逻辑的数据类型是bit,表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic ,表示空操作的数据类型是NULL 23.<=是小于等于关系运算符,又是赋值运算操作符 /=是不相等操作符,功能是在条件判断是判断操作符两端不相等。 NOT是逻辑运算符,表示取反,在所有操作符中优先级最高。 30.并置运算符 & 的功能是 把多个位或位向量合并为一个位向量 。 24.位类型的初始化采用字符,位矢量用字符串 25.进程必须位于结构体内部,变量必须定义于进程内部 26.进程执行的机制是敏感信号发生跳变 27. VHDL语言可以有以下3种形式的子结构描述语句: BLOCK语句结构; PROCESS语句结构和SUBPROGRAMS结构。 29整型对象的范围约束通常用 range 关键词,位矢量用 downto/to 关键词。 31. 判断CLK信号上升沿到达的语句是 if clk’event and clk = ‘1’ then . 32. IF语句各条件间具有不同的优先级。 33、任何时序电路都以 时钟 为驱动信号,时序电路只是在 时钟信号的边沿 到来时, 其状态才发生改变。 34、 Moore状态机输出只依赖于器件的当前状态,与 输入信号 无关。 35. 、IF语句根据指定的条件来确定语句执行顺序,共有3种类型: 用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。 简答题: 1、简述信号与变量的区别。 a.信号延时赋值,变量立即赋值b.信号的代入使用<=,变量的代入使用:=; c.信号在实际的硬件当中有对应的连线,变量没有 2、 简述可编程逻辑器件的优点。 a.集成度高,可以替代多至几千块通用IC芯片.极大减小电路的面积,降低功耗,提高可靠性 b.具有完善先进的开发工具.提供语言、图形等设计方法,十分灵活.通过仿真工具来验证设计的正确性c.可以反复地擦除、编程,方便设计的修改和升级d.灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间f.保密性好 3、试比较moore状态机与mealy状态机的异同。 Moore输出只是状态机当前状态的函数. Mealy输出为有限状态机当前值和输入值的函数 3、 简述VHDL语言与计算机语言的差别。 a. 运行的基础。计算机语言是在CPU+RAM构建的平台上运行。VHDL设计的结果是由具体的逻辑、触发器组成的数字电路b.执行方式.计算机语言基本上以串行的方式执行.VHDL在总体上是以并行方式工作c.验证方式.计算机语言主要关注于变量值的变化.VHDL要实现严格的时序逻辑关系 4、 简述实体端口的模式 输入(Input):clk、reset、en、addr等 输出(Output):输出信号,不能内部引用 双向(Inout):可代替所有其他模式,用于设计双向总线 缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号 5、 进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。 a.它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号; b.进程结构中的所有语句都是按顺序执行的 c.为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;d.进程之间的通信是通过信号量的传递来实现的 6、 简述如何利用计数器精确控制时序。 a.只要知道晶振频率f,即可知道周期T=1/f; b.使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间t=nT; 上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精确时序 编程题: 1.3-8译码器0 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY decoder_3_to_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder_3_to_8; ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); BEGIN indata <= c & b & a; PROCESS (indata,g1,g2a,g2b) BEGIN IF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THEN CASE indata IS WHEN "000"=> y <= "11111110"; WHEN "001" => y <= "11111101"; WHEN "010" => y <= "11111011"; WHEN "011" => y <= "11110111"; WHEN "100" => y <= "11101111"; WHEN "101" => y <= "11011111"; WHEN "110" => y <= "10111111"; WHEN "111" => y <= "01111111"; WHEN OTHERS=> y <= "XXXXXXXX"; END CASE; ELSE y <= "11111111"; END IF; END PROCESS; END rtl; 3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。 3-8译码器的真值表 en a2a1a0 y 1 000 00000001 1 001 00000010 1 010 00000100 1 011 00001000 1 100 00010000 1 101 00100000 1 110 01000000 1 111 10000000 0 xxx 00000000 entity tri_eight is port( a: in std_logic_vector (2 downto 0); en: in std_logic; y: out std_logic_vector (7 downto 0) ); end tri_eight; (2) architecture a of tri_eight is signal sel: std_logic_vector (3 downto 0); (4) begin sel(0) <= a(0); sel(1) <= a(1); sel(2) <= a(2); sel(3) <= en; (5) with sel select y <= "00000001" when "1000", "00000010" when "1001", "00000100" when "1010", "00001000" when "1011", "00010000" when "1100", "00100000" when "1101", "01000000" when "1110", "10000000" when "1111", "00000000" when others; (9) end a; (10) 3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY decoder_3_to_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); (2) END decoder_3_to_8; ARCHITECTURE rtl OF decoder_3_to_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); (4) BEGIN indata <= c & b & a; (6) PROCESS (indata,g1,g2a,g2b) BEGIN IF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THEN (8) CASE indata IS WHEN "000"=> y <= "11111110"; WHEN "001" => y <= "11111101"; WHEN "010" => y <= "11111011"; (10) WHEN "011" => y <= "11110111"; WHEN "100" => y <= "11101111"; WHEN "101" => y <= "11011111"; WHEN "110" => y <= "10111111"; (12) WHEN "111" => y <= "01111111"; WHEN OTHERS=> y <= "XXXXXXXX"; END CASE; ELSE y <= "11111111"; (14) END IF; END PROCESS; (16) END rtl; 2.二选一VHDL程序 Entity mux is port(d0,d1,sel:in bit; q:out BIT ); end mux; architecture connect of MUX is signal tmp1, TMP2 ,tmp3:bit; begin cale: block begin tmp1<=d0 and sel; tmp2<=d1 and (not sel) tmp3<= tmp1 and tmp2; q <= tmp3; end block cale; end CONNECT; 2.2二选一 IF语句编写 Entity sel2 is Port (a,b : in std_logic; sel : in std_logic; q : out std_logic); End sel2; Architecture a of sel2 is begin if sel = ‘0’ then q <= a; else q <= b; end if; end a; 3. 三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY tri_gate IS PORT(din,en:IN STD_LOGIC; dout : OUT STD_LOGIC); END tri_gate ; ARCHITECTURE zas OF tri_gate IS BEGIN PROCESS (din,en) BEGIN IF (en=‘1') THEN dout <= din; ELSE dout <= ‘Z’; END IF; END PROCESS ; END zas ; 4.四选一、用IF语句编写一个四选一电路,要求输入d0~d3, s为选择端,输出y。 entity MUX4 is port( (2) s: in std_logic_vector(1 downto 0); (4) d: in std_logic_vector(3 downto 0); (6) y: out std_logic (8) ); end MUX4; architecture behave of MUX4 is begin process(s) begin if (s="00") then y<=d(0); elsif (s="01") then y<=d(1); elsif (s="10") then y<=d(2); elsif (s="11") then y<=d(3); else null; end if; end process; end behave; 5、填写完成一个8-3线编码器的真值表(5分),并写出其VHDL程序(10分)。 8 -3线编码器真值表 en b y0y1y2 1 00000000 000 1 00000010 001 1 00000100 010 1 00001000 011 1 00010000 100 1 00100000 101 1 01000000 110 1 10000000 111 0 xxxxxxxx 高阻态 entity eight_tri is port( b: in std_logic_vector(7 downto 0); en: in std_logic; y: out std_logic_vector(2 downto 0) ); end eight_tri; (3) architecture a of eight_tri is signal sel: std_logic_vector(8 downto 0); (4) begin sel<=en & b; y<= “000” when (sel=”100000001”)else “001” when (sel=”100000010”)else “010” when (sel=”100000100”)else “011” when (sel=”100001000”)else “100” when (sel=”100010000”)else “101” when (sel=”100100000”)else “110” when (sel=”101000000”)else “111” when (sel=”110000000”)else (9) “zzz”; (10) end a; 6. 图中给出了4位逐位进位全加器,请完成其VHDL程序。(本题16分) library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity full_add is port (a,b: in std_logic_vector (3 downto 0); carr: inout std_logic_vector (4 downto 0); sum: out std_logic_vector (3 downto 0)); end full_add; architecture full_add_arch of full_add is component adder port (a,b,c: in std_logic; carr: inout std_logic; sum: out std_logic); end component; begin carr(0)<='0'; u0:adder port map(a(0),b(0),carr(0),carr(1),sum(0)); u1:adder port map(a(1),b(1),carr(1),carr(2),sum(1)); u2:adder port map(a(2),b(2),carr(2),carr(3),sum(2)); u3:adder port map(a(3),b(3),carr(3),carr(4),sum(3)); end full_add_arch; 7.数值比较器VHDL程序的进程(不必写整个结构框架),要求使能信号g低电平时比较器开始工作,输入信号p = q,输出equ为‘0’,否则为‘1’。(本题10分) process(p,q) begin if g='0' then if p = q then equ_tmp <= '0'; else equ_tmp <= '1'; end if; else equ_tmp <= '1'; end if; end process; 8. 编写一个2输入与门的VHDL程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分) & a b y LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY nand2 IS PORT (a,b:IN STD_LOGIC; y:OUT STD_LOGIC); END nand2; ARCHITECTURE nand2_1 OF nand2 IS BEGIN y <= a NAND b; END nand2_1; 9设计异或门逻辑:(本题20分) 如下异或门,填写右边的真值表。(此项5分) A B Y 0 0 0 0 1 1 1 0 1 1 1 0 其表达式可以表示为: 这一关系图示如下: 试编写完整的VHDL代码实现以上逻辑。可以采用任何描述法。 library ieee; use ieee.std_logic_1164.all; entity yihuo1 is port( a,b :in std_logic; y :out std_logic ); end yihuo1; architecture yihuo1_behavior of yihuo1 is begin y<=a xor b; end yihuo1_behavior; 10. 4位加法计数器VHDL程序的进程(不必写整个结构框架),要求复位信号reset低电平时计数器清零,变高后,在上升沿开始工作;输入时钟信号为clk,输出为q。(本题10分) Process(reset,clk) begin if reset = ‘0’ then q <= “0000”; elsif clk’event and clk = ‘1’ then q <= q + 1; end if; end process; 11、根据已给出的二-十(BCD)进制优先权编码器功能表,试写出其VHDL程序。(本题15分) 二-十(BCD)进制优先权编码器功能表 输入 输出 I1 I2 I3 I4 I5 I6 I7 I8 I9 Y3 Y2 Y1 Y0 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X X X 0 0 1 1 0 X X X X X X X 0 1 0 1 1 1 X X X X X X 0 1 1 1 0 0 0 X X X X X 0 1 1 1 1 0 0 1 X X X X 0 1 1 1 1 1 0 1 0 X X X 0 1 1 1 1 1 1 0 1 1 X X 0 1 1 1 1 1 1 1 1 0 0 X 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 entity prior is port( d : in std_logic_vector(9 downto 1); q : out std_logic_vector(3 downto 0) ); end prior; (2) architecture behavior of prior is begin process(d) begin if d = "111111111" then q <= "1111"; elsif d(9) = '0' then q <= "0110"; elsif d(8) = '0' then q <= "0111"; elsif d(7) = '0' then q <= "1000"; elsif d(6) = '0' then q <= "1001"; elsif d(5) = '0' then q <= "1010"; elsif d(4) = '0' then q <= "1011"; elsif d(3) = '0' then q <= "1100"; elsif d(2) = '0' then q <= "1101"; elsif d(1) = '0' then q <= "1110"; end if; end process;end behavior; 1、完成下图所示的触发器。(本题10分) CLR CLK D Q QN library IEEE; use IEEE.std_logic_1164.all; entity VposDff is port (CLK, CLR, D: in STD_LOGIC; ----------2分 Q, QN: out STD_LOGIC ); ----------4分 end VposDff; architecture VposDff_arch of VposDff is begin process ( CLK, CLR ) ----------6分 begin if CLR='1' then Q <= '0'; QN <='1'; elsif CLK'event and CLK='1' then Q <= D; QN <= not D; ----------8分 end if; end process; ----------10分 end VposDff_arch; 12- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 期末 考试题
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文