EDA技术实用教程课后答案 潘松 黄继业

上传人:ali****an 文档编号:109996454 上传时间:2019-10-28 格式:DOC 页数:19 大小:273.82KB
返回 下载 相关 举报
EDA技术实用教程课后答案 潘松 黄继业_第1页
第1页 / 共19页
EDA技术实用教程课后答案 潘松 黄继业_第2页
第2页 / 共19页
EDA技术实用教程课后答案 潘松 黄继业_第3页
第3页 / 共19页
EDA技术实用教程课后答案 潘松 黄继业_第4页
第4页 / 共19页
EDA技术实用教程课后答案 潘松 黄继业_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《EDA技术实用教程课后答案 潘松 黄继业》由会员分享,可在线阅读,更多相关《EDA技术实用教程课后答案 潘松 黄继业(19页珍藏版)》请在金锄头文库上搜索。

1、3-3 给出一个4选1多路选择器的VHDL描述。选通控制端有四个输入:S0、S1、S2、S3。当且仅当S0=0时:Y=A;S1=0时:Y=B;S2=0时:Y=C;S3=0时:Y=D。-解:4选1多路选择器VHDL程序设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41a IS PORT( A,B,C,D : IN STD_LOGIC; S0,S1,S2,S3 : IN STD_LOGIC; Y : OUT STD_LOGIC); END ENTITY mux41a; ARCHITECTURE one OF mux41a IS S

2、IGNAL S0_3 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN S0_3=S0&S1&S2&S3; y=A WHEN S0_3=0111 ELSE B WHEN S0_3=1011 ELSE C WHEN S0_3=1101 ELSE D WHEN S0_3=1110 ELSE Z; END ARCHITECTURE one;3-4 给出1位全减器的VHDL描述;最终实现8位全减器。要求:1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差(diff=x-y),s_out是借位输出(s_out=1,xy),

3、sub_in是借位输入。cyinxindiff_outba图3-19 1位全加器-解(1.1):实现1位半减器h_suber(diff=x-y;s_out=1,xy) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_suber IS PORT( x,y: IN STD_LOGIC; diff,s_out: OUT STD_LOGIC); END ENTITY h_suber; ARCHITECTURE hs1 OF h_suber IS BEGIN Diff = x XOR (NOT y); s_out xin,y=yin, diff=a

4、, s_out=b); u2: h_suber PORT MAP(x=a, y=sub_in, diff=diff_out,s_out=c); sub_out x0,yin=y0,diff_out=diff0,sub_in=sin,sub_out=a0);u1:f_suber PORT MAP(xin=x1,yin=y1,diff_out=diff1,sub_in=a0,sub_out=a1);u2:f_suber PORT MAP(xin=x2,yin=y2,diff_out=diff2,sub_in=a1,sub_out=a2);u3:f_suber PORT MAP(xin=x3,yin

5、=y3,diff_out=diff3,sub_in=a2,sub_out=a3);u4:f_suber PORT MAP(xin=x4,yin=y4,diff_out=diff4,sub_in=a3,sub_out=a4);u5:f_suber PORT MAP(xin=x5,yin=y5,diff_out=diff5,sub_in=a4,sub_out=a5);u6:f_suber PORT MAP(xin=x6,yin=y6,diff_out=diff6,sub_in=a5,sub_out=a6);u7:f_suber PORT MAP(xin=x7,yin=y7,diff_out=dif

6、f7,sub_in=a6,sub_out=sout);END ARCHITECTURE s8;3-8 设计一个求补码的程序,输入数据是一个有符号的8位二进制(原码)数。-解:5-9 设计一个求补码的程序,输入数据是一个有符号的8位二进制数。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY org_patch IS PORT( org_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0);-原码输入 patch_data : OUT STD_LOGIC_V

7、ECTOR(7 DOWNTO 0);-补码输出 END org_patch; ARCHITECTURE BHV OF org_patch IS BEGIN PROCESS(org_data) BEGIN IF(org_data(7)=0) THEN patch_data=0,补码=原码。 else patch_data=org_data(7)&(not org_data(6 DOWNTO 0)+1;-org_data0,补码=|原码|取反+1。 END IF; END PROCESS; END BHV;310library ieee;use ieee.std_logic_1164.all;us

8、e ieee.std_logic_unsigned.all;entity add isport(a:in std_logic_vector(7 downto 0); b:in std_logic_vector(7 downto 0); ci:in std_logic; co:out std_logic; count:out std_logic_vector(7 downto 0);end add;architecture bhv of add isbeginprocess(a,b,ci)variable data:std_logic_vector(1 downto 0);variable c:

9、std_logic;beginc:=ci;for n in 0 to 7 loopdata:=(0&a(n)+(0&b(n)+(0&c);count(n)=data(0);c:=data(1);end loop;co=c;end process;end bhv;3-14 用循环语句设计一个7人投票表决器,及一个4位4输入最大数值检测电路。-解:5-7 用循环语句设计一个7人投票表决器,及一个4位4输出最大数值检测电路。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY vote_7 IS PORT( DIN: IN STD_LOGIC_VECTOR(6 DOWNTO 0);-7位表决输入(1:同意,0:不同意)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

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