欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    VHDL程序设计题.docx

    • 资源ID:11473914       资源大小:125.30KB        全文页数:21页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL程序设计题.docx

    1、VHDL程序设计题VHDL程序设计题四、 编程题(共50分)1、请补全以下二选一VHDL程序(本题10分)Entity mux isport(d0,d1,sel:in bit;q:out BIT ); (2)end mux;architecture connect of MUX is (4) signal tmp1, TMP2 ,tmp3:bit; (6)begin cale:block begin tmp1=d0 and sel; tmp2=d1 and (not sel) tmp3= tmp1 and tmp2;q = tmp3; (8) end block cale; end CONNE

    2、CT ; (10)2、编写一个2输入与门的VHDL程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; (2) ENTITY nand2 IS PORT (a,b:IN STD_LOGIC; (4) y:OUT STD_LOGIC); (6) END nand2; ARCHITECTURE nand2_1 OF nand2 IS (8) BEGIN y = a NAND b; -与y =NOT( a AND b);等价 (10) END nand2_1;3、根据下表填写完成

    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 y y y y y y y y y

    4、= XXXXXXXX; END CASE; ELSE y = 11111111; (14) END IF; END PROCESS; (16)END rtl; 4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。(本题14分)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_gate ISPORT(din,en:IN STD_LOGIC; dout : OUT STD_LOGIC);END tri_gate ;ARCHITECTURE zas OF tri_gate ISBEGIN PROCESS (din,e

    5、n) BEGIN IF (en=1) THEN dout = din; ELSE dout = Z; END IF; END PROCESS ;END zas ;四、 编程题(共50分)1、根据一下四选一程序的结构体部分,完成实体程序部分(本题8分)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 isbeginp

    6、rocess(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; 2、编写一个数值比较器VHDL程序的进程(不必写整个结构框架),要求使能信号g低电平时比较器开始工作,输入信号p = q,输出equ为0,否则为1。(本题10分)process(p,q) (2) begin if g=0 then (4) if p = q then equ = 0

    7、; (6) else equ = 1; (8) end if; else equ = 1; (10) end if; end process;3、填写完成一个8-3线编码器的VHDL程序(16分)。Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity eight_tri is port( b: in std_logic_vector(7 downto 0); (2) en: in std_logic; y: out std_logi

    8、c_vector(2 downto 0) (4) );end eight_tri;architecture a of eight_tri is (6)signal sel: std_logic_vector(8 downto 0); begin sel=en & b; (8) y= “000” when (sel=”100000001”)else “001” when (sel=”100000010”)else (10) “010” when (sel=”100000100”)else “011” when (sel=”100001000”)else “100” when (sel=”1000

    9、10000”)else (12) “101” when (sel=”100100000”)else “110” when (sel=”101000000”)else (14) “111” when (sel=”110000000”)else (16) “zzz”;end a;4、图中给出了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 (

    10、 a,b: in std_logic_vector (3 downto 0); (2) 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 iscomponent adder (4)port ( a,b,c: in std_logic; carr: inout std_logic; sum: out std_logic (6) );end component;begin car

    11、r(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); (8)(10) u2:adder port map(a(2),b(2),carr(2),carr(3),sum(2); (12) u3:adder port map(a(3),b(3),carr(3),carr(4),sum(3); (14)(16)end full_add_arch;四、 编程(共50分)1、完成下图所示的触发器。(本题10分)library IEEE;u

    12、se 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 isbegin process ( CLK, CLR ) -6分 begin if CLR=1 then Q = 0; QN =1; elsif CLKevent and CLK=1 then Q = D; QN = not D; -8分 end if; end process; -

    13、10分end VposDff_arch; 2、完成以下4位全加器代码(本题10分)library IEEE;use IEEE.std_logic_1164.all;entity full_add is port ( a,b: in std_logic_vector (3 downto 0); cin: in std_logic; cout: out std_logic; sum: out std_logic_vector (3 downto 0) );end full_add;architecture full_add_arch of full_add iscomponent adderpor

    14、t ( a,b,c: in std_logic; carr: out std_logic; sum: out std_logic );end component;signal c1,c2,c3: std_logic; 2分begin u0:adder port map(a(0),b(0),cin,c1,sum(0); 4分 u1:adder port map(a(1),b(1),c1,c2,sum(1); 5分 u2:adder port map(a(2),b(2),c2,c3,sum(2); 6分 u3:adder port map(a(3),b(3),c3,cout,sum(3); 10分

    15、end full_add_arch;3、补充完整如下代码,使之完成4状态不断循环。(本题10分)ARCHITECTURE arc OF ss IStype states is ( st0,st1,st2,st3 ); 2分signal outc: states; 4分BEGIN PROCESS(clk) BEGIN IF reset=1 then outc outc outc outc outc outc =st0; END CASE; end if; END PROCESS;END arc; 4、设计异或门逻辑:(本题20分)如下异或门,填写右边的真值表。(此项5分)ABY000011101

    16、110其表达式可以表示为:(此项5分) 这一关系图示如下:试编写完整的VHDL代码实现以上逻辑。可以采用任何描述法。(此项10分)library ieee;use ieee.std_logic_1164.all; 1分entity yihuo1 is port( a,b :in std_logic; y :out std_logic );end yihuo1; 4分architecture yihuo1_behavior of yihuo1 isbegin 7分 process(a,b) y=a xor b; begin (第2种写法) if a=b then y=0; else y=1; e

    17、nd if; end process; end yihuo1_behavior; 10分四、 编程(共50分,除特殊声明,实体可只写出PORT语句,结构体要写完整)1、用IF语句编写一个二选一电路,要求输入a、b, sel为选择端,输出q。(本题10分)Entity sel2 isPort ( a,b : in std_logic; sel : in std_logic; q : out std_logic);End sel2; (3)Architecture a of sel2 isbegin if sel = 0 then q = a; (6) else q = b; (9) end if

    18、;end a; (10)2、编写一个4位加法计数器VHDL程序的进程(不必写整个结构框架),要求复位信号reset低电平时计数器清零,变高后,在上升沿开始工作;输入时钟信号为clk,输出为q。(本题10分)Process(reset,clk) (2)begin if reset = 0 then q = “0000”; (4) elsif clkevent and clk = 1 then (6) q = q + 1; (9) end if;end process; (10)3、填写完成一个8-3线编码器的真值表(5分),并写出其VHDL程序(10分)。8 -3线编码器真值表enby0y1y2

    19、1000000000001000000100011000001000101000010000111000100001001001000001011010000001101100000001110xxxxxxxx高阻态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_vec

    20、tor(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”

    21、)else (9) “zzz”; (10)end a;4、根据已给出的全加器的VHDL程序,试写出一个4位逐位进位全加器的VHDL程序。(本题15分)library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity adder is port ( a,b,c: in std_logic; carr: inout std_logic; sum: out std_logic );end adder;architecture adder_arch o

    22、f adder isbegin sum = a xor b xor c; carr = (a and b) or (b and c) or (a and c);end adder_arch;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; (5)architecture full_add_arch of full_add

    23、iscomponent adderport ( a,b,c: in std_logic; carr: inout std_logic; sum: out std_logic );end component; (10)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

    24、(3),b(3),carr(3),carr(4),sum(3);end full_add_arch; (15)四、 编程(共50分,除特殊声明,实体可只写出PORT语句,结构体要写完整)1、用IF语句编写一个四选一电路,要求输入d0d3, s为选择端,输出y。(本题10分)entity MUX4 is port( s: in std_logic_vector(1 downto 0); d: in std_logic_vector(3 downto 0); y: out std_logic );end MUX4; (3)architecture behave of MUX4 isbeginpro

    25、cess(s) begin if (s=00) then y=d(0); (4) elsif (s=01) then y=d(1); (5) elsif (s=10) then y=d(2); (6) elsif (s=11) then y=d(3); (7) else null; (9) end if;end process;end behave; (10)2、编写一个数值比较器VHDL程序的进程(不必写整个结构框架),要求使能信号g低电平时比较器开始工作,输入信号p = q,输出equ为0,否则为1。(本题10分)process(p,q) (2) begin if g=0 then (4) if p = q then equ_tmp = 0; (6) else equ_tmp = 1; (8) end if; else equ_tmp = 1; (10) end if; end process;3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。3-8译码器的真值表ena2a1a0y1000000000011001000000101010000001001011000010001100000100001101001000001110010000001111100000000xxx00000


    注意事项

    本文(VHDL程序设计题.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开