ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:81.18KB ,
资源ID:16799501      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16799501.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA技术实用教程课后答案解析潘松黄继业Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA技术实用教程课后答案解析潘松黄继业Word格式.docx

1、最终实现8位全减器。要求:1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差(diff=x-y),s_out是借位输出(s_out=1,xy),sub_in是借位输入。cyinxindiff_outba图3-19 1位全加器-解(1.1):实现1位半减器h_suber(diff=x-y;s_out=1,xy) ENTITY h_suber IS PORT( x,y: diff,s_out: END ENTITY h_suber; ARCHITECTURE hs1 OF h_suber IS Diff = x XOR (NOT y); s_

2、out xin,y=yin, diff=a, s_out=b); u2: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:x1,yin=y1,diff_out=diff1,sub_in=a0,sub_out=a1);u2:x2,yin=y2,diff_out=diff2,sub_in=a1,sub_out=a2);u3:x3,yin=y3,diff_out=diff3,sub_in=a2,sub_out=a3);u4:x4,yin=y4,diff_out

3、=diff4,sub_in=a3,sub_out=a4);u5:x5,yin=y5,diff_out=diff5,sub_in=a4,sub_out=a5);u6:x6,yin=y6,diff_out=diff6,sub_in=a5,sub_out=a6);u7:x7,yin=y7,diff_out=diff7,sub_in=a6,sub_out=sout);END ARCHITECTURE s8;3-8 设计一个求补码的程序,输入数据是一个有符号的8位二进制(原码)数。5-9 设计一个求补码的程序,输入数据是一个有符号的8位二进制数。 USE IEEE.STD_LOGIC_UNSIGNED.

4、ALL; ENTITY org_patch IS PORT( org_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0);-原码输入 patch_data : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-补码输出 END org_patch; ARCHITECTURE BHV OF org_patch IS PROCESS(org_data) IF(org_data(7)=0) THEN patch_data=0,补码=原码。 else=org_data(7)&(not org_data(6 DOWNTO 0)+1;-org_data0,补码=

5、|原码|取反+1。 END IF; END PROCESS; END BHV;310library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity add isport(a:in std_logic_vector(7 downto 0); b: 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)v

6、ariable data:std_logic_vector(1 downto 0);variable c:std_logic;c:=ci;for n in 0 to 7 loopdata:=(&a(n)+(b(n)+(count(n)=data(0);=data(1);end loop;co=c;end process;end bhv;3-14 用循环语句设计一个7人投票表决器,及一个4位4输入最大数值检测电路。5-7 用循环语句设计一个7人投票表决器,及一个4位4输出最大数值检测电路。 ENTITY vote_7 IS PORT( DIN: IN STD_LOGIC_VECTOR(6 DOW

7、NTO 0);-7位表决输入(1:同意,0:不同意) G_4: -超过半数指示 CNTH: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);-表决结果统计数 END vote_7; ARCHITECTURE BHV OF vote_7 IS PROCESS(DIN) VARIABLE Q: STD_LOGIC_VECTOR(2 DOWNTO 0); Q:=000 FOR n IN 0 TO 6 LOOP - n是LOOP的循环变量 IF(DIN(n)=1) THEN Q:=Q+1; END LOOP; CNTH=4 THEN G_4= ELSE G_4); -计数器异步复位

8、ELSIF CLKEVENT AND CLK= THEN -检测时钟上升沿 IF EN= THEN -检测是否允许计数或加载(同步使能) IF LOAD=DATA; -允许加载 ELSE IF Q -大于等于9时,计数值清零 IF Q=9 THEN COUT -计数大于9,输出进位信号 ELSE COUT DOUT -将计数值向端口输出END behav;5-8给出含有异步清零和计数使能的16位二进制加减可控计数器的VHDL描述。3-11 给出含有异步清零和计数使能的16位二进制加减可控计数器的VHDL描述。- 用VHDL实现含有异步清零和计数使能的16位二进制加减可控计数器。 LIBRARY

9、 IEEE; ENTITY ADD_SUB_LOAD_16 IS PORT (CLK,RST,ADD_EN,SUB_EN,LOAD : IN STD_LOGIC_VECTOR(15 DOWNTO 0); CQ : OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END ENTITY ADD_SUB_LOAD_16; ARCHITECTURE A_S_16 OF ADD_SUB_LOAD_16 IS PROCESS(CLK,RST,ADD_EN,SUB_EN,LOAD) VARIABLE CQI: STD_LOGIC_VECTOR(15 DOWNTO 0); -VARIAB

10、LE LS_LOAD : -LS_LOAD:=LOAD; IF RST = THEN CQI: -计数器异步复位 ELSIF LOAD = IF ADD_EN=THEN -检测是否允许计数(同步他能) IF CQI16#FFFF# THEN CQI:=CQI+1; -允许计数,检测是否小于65535 ELSE CQI: -大于65535,计数值清零 IF CQI=16#FFFF# THEN COUT -计数大于9,输出进位信号 ELSE COUT 0 THEN CQI:=CQI-1; IF CQI=0 THEN COUT CQ=CQI; END ARCHITECTURE A_S_16;5-9

11、entity m6 is port(clk,rst: q: out std_logic_vector(2 downto 0); end m6; architecture bhv of m6 is type states is(st0,st1,st2,st3,st4,st5); signal stx:states; begin process(clk) if rst= then stx=st0;qstx001=st2; when st2=011=st3; when st3=111=st4; when st4=101=st5; when st5=100 when others= stx end c

12、ase; end if; end process; end bhv;5-12 用同步时序电路对串行二进制输入进行奇偶校验,每检测5位输入,输出一个结果。当5位输入中1的数目为奇数时,在最后一位的时刻输出1。4-12 用同步时序电路对串行二进制输入进行奇偶校验,每检测5位输入,输出一个结果。- 当5位输入中1的数目为奇数时,在最后一位的时刻输出1。 LIBRARY IEEE; ENTITY odd_even_p_RXD_5 IS PORT(CLK,RST,S_in:-CLK、RST、S_in:时钟、复位、串行输入数据 P_out: OUT STD_LOGIC_VECTOR(4 DOWNTO 0)

13、;-P_out:并行输出数据 o_e_out: -o_e_out:奇校验输出位 END ENTITY odd_even_p_RXD_5; ARCHITECTURE one OF odd_even_p_RXD_5 IS PROCESS(CLK,RST) VARIABLE shift_Q : STD_LOGIC_VECTOR(4 DOWNTO 0);-shift_Q:移位寄存器 VARIABLE shift_cnt :-shift_cnt:移位计数器 IF CLK THEN shift_cnt: -移位寄存器和计数器复位 IF shift_cnt=4 THEN -检测到接收5位串行输入数据 shi

14、ft_cnt: -移位计数器清零,为接收下一组数据做准备。 P_out=shift_Q;-接收数据并行输出 o_e_out=shift_Q(4) XOR shift_Q(3) XOR shift_Q(2) XOR shift_Q(1) XOR shift_Q(0);-奇校验输出 shift_Q:=S_in & shift_Q(4 DOWNTO 1);-采样移位串行输入=shift_cnt+1;-移位计数5-5 分频方法有多种,最简单的是二分频和偶数分频甚至奇数分频,这用触发器或指定计数模的计数器即可办到。但对于现场实现指定分频比或小数分频率的分频电路的设计就不是很简单了。 试对例3-20的设计

15、稍作修改,将其进位输出COUT与异步加载控制LOAD连在一起,构成一个自动加载型16位二进制数计数器,也即一个16位可控的分频器,给出其VHDL表述,并说明工作原理。设输入频率fi=4MHz,输出频率fo=516.51Hz(允许误差0.1Hz),16位加载数值是多少?3-9 16位数控分频器(可进行奇偶数分频)ENTITY DVF16 IS PORT(CLK : D : FOUT :END ENTITY DVF16;ARCHITECTURE one OF DVF16 ISSIGNAL FULL : P_REG: PROCESS(CLK) VARIABLE CNT8 :EVENT AND CLK

16、 = THEN IF CNT8 = 0000000000000000 CNT8 := D-1;-当CNT8计数归0时,预置CNT8=D-1; -计数范围(D=n):n-1n/2取整(n=10:98765计数,前后半周期相同) FULL -同时使溢出标志信号FULL输出为高电平 -(n=11:1098765计数,前比后半周期多一个时钟) ELSIF CNT8 = ( & D(15 DOWNTO 1) THEN D(15 DOWNTO 1)-1;-当CNT8=n/2取整时,预置CNT8=D/2取整-1;n/2取整0(n=10:43210计数) -同时使溢出标志信号FULL输出为高电平 (n=11:43210计数) ELSE CNT8 := CNT8 - 1; -否则继续作加1计数 -且输出溢出标志信号FULL为低电平 END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : IF FULLEVENT AND FULL = CNT2 := NOT CNT2;-如果溢出标志信号FULL为高电平,D触

copyright@ 2008-2022 冰豆网网站版权所有

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