




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA 技术实用教程部分习题解答技术实用教程部分习题解答 习题四习题四 习题 4-5 列表详细说明 MAX+plusII 中 prim.mf 和 mega_lpm 库中的内容和用法。 答:prim:基本的元件 mf:主要是 74 系列芯片的逻辑元件 mega_lpm:参数可定制的复杂逻辑元件 习题 4-7 用 74139 组成一个 5-24 线译码器。 解:共使用 3 片 74139 作 6 个 2-4 译码 图 习题 4-8 用 74283 加法器和逻辑门设计实现一位 8421BCD 码加法器电路,输入输出均是 BCD 码,CI 为 低位的进位信号,CO 为高位的进位信号,输入为两个 1 位十进制数 A,输出用 S 表示。 解:如果二进制的和大于 9,需要再加上 6 来补成 BCD 码 第 1 章 概述 2 图 习题 4-9 设计一个 7 人表决电路,参加表决者 7 人,同意为 1,不同意为 0,同意者过半则表决通过,绿 指示灯亮;表决不通过则红指示灯亮。 解:方法有多种,仅举一例。 有多个 1 位全加器构成。 图 其中 1 位全加器的原理图如下: 图 1 位全加器 第 1 章 概述 3 习题 4-10 使用 prim 和 mf 库中的元件设计一个周期性产生二进制序列 01001011001 的序列发生器, 用移 位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。 解:给出一种解法 习题 4-11 用 D 触发器设计 3 位二进制加法计数器。 解:注意 D 触发器级联时应取非端,否则只能作分频器 下图是异步计数器方式,同步计数器方式请读者自行考虑 习题 4-12 用 D 触发器构成按循环码(000-001-011-111-101-100-000)规律工作的六进制同步计数 器。 解:用同步计数器来实现。 (事实上要求设计的是一个袼雷码计数器) 考虑不同状态时,对应的 DFF 输入端的值: Q2 Q1 Q0 000 001 011 111 101 100 D2 0 0 1 1 1 0 D1 0 1 1 0 0 0 第 1 章 概述 4 D0 1 1 1 1 0 0 12022 021 1220 QQQQD QQD QQQD += = += 习题 4-13 应用 4 位全加器和 74374 构成 4 位二进制加法计数器。 习题 4-14 用 74194、74273、D 触发器等器件组成 8 位串入并出的转换电路,要求在转换过程中数据不 变,只有当 8 位一组数据全部转换结束后,输出才变化一次。 第 1 章 概述 5 如果使用 74299、74373、D 触发器和非门来完成上述功能,应该有怎样的电路? 习题 4-15 用一片 74163 和 2 片 74138 构成一个具有 12 路脉冲输出的数据分配器。要求在原理图上标明 第 1 路到第 12 路输出的位置。 改用一片 74195 代替以上的 74163,完成同样的设计。 习题 4-16 用同步时序电路对串行二进制输入进行奇偶校验,每检测 5 位输入,输出一个结果:当 5 位输 入中 1 的数目为奇数时,在最后一位的时刻输出 1。 习题 4-17 用 7490 设计模为 872 的计数器,且输出的个位、十位、百位都应符合 8421 码权重。 习题 4-18 用 74161 设计一个 97 分频电路,用置 0 和置数两种方法实现。 第 1 章 概述 6 图 1 习题 4-19 某通信接收机的同步信号为巴克码 1110010。设计一个检测器,其输入为串行码 x,输出为 检测结果 y,当检测到巴克码时,输出 1。 第 1 章 概述 7 习题五习题五 习题 5-1 画出与下例实体描述对应的原理图符号: ENTITY buf3s IS - 实体1: 三态缓冲器 PORT (input : IN STD_LOGIC ; - 输入端 enable : IN STD_LOGIC ; - 使能端 output : OUT STD_LOGIC ) ; - 输出端 END buf3x ; ENTITY mux21 IS -实体2: 2选1多路选择器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC); 解: 习题 5-2 图 5-19 所示的是 4 选 1 多路选择器,试分别用 IF_THEN 语句和 CASE 语句的表达方式写出此 电路的 VHDL 程序, 选择控制的信号 s1 和 s0 的数据类型为 STD_LOGIC_VECTOR; 当 s1= 0 , s0= 0 ; s1=0 ,s0=1 ;s1=1 ,s0=0和 s1=1 ,s0=1分别执行 y y y y y x, y = y, diff = t0, s_out = t1); u2 : h_suber PORT MAP(x = t0, y = sub_in, diff = diffr, s_out = t2); sub_out a(i), y = b(i), sub_in = stmp(i), diffr = c(i), sub_out = stmp(i+1); end generate ; end; 习题 5-6 根据图 5-23,写出顶层文件 MX3256.VHD 的 VHDL 设计文件。 图 5-23 习题 5-6 图 解: LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY MX3256 IS port( INA : IN STD_LOGIC; INB : IN STD_LOGIC; INCK : IN STD_LOGIC; INC : IN STD_LOGIC; E : OUT STD_LOGIC; OUT1 : OUT STD_LOGIC ); END MX3256; 第 1 章 概述 13 ARCHITECTURE schtype OF MX3256 IS component LK35 PORT(A1 : IN STD_LOGIC; A2 : IN STD_LOGIC; CLK : IN STD_LOGIC; Q1 : OUT STD_LOGIC; Q2 : OUT STD_LOGIC ); end component; signal t1 : STD_LOGIC; signal t2 : STD_LOGIC; signal t3 : STD_LOGIC; signal t4 : STD_LOGIC; BEGIN inst1 : lk35 PORT MAP(A1 = INA, A2 = INB, CLK = INCK, Q1 = t3, Q2 = t2); inst2: lk35 PORT MAP(A1 = t2, A2 = t1, CLK = INCK, Q1 = t4, Q2 = OUT1); process(INCK,INC) begin if (INC = 0) then t1 0); elsif rising_edge(clk) then cnt 0); else cnt 0); elsif(rising_edge(clk) then if en = 1 then cnttmp 0); elsif(rising_edge(clk) then if load = 1 then cnt IF DIN = D(7) THEN Q IF DIN = D(6) THEN Q IF DIN = D(5) THEN Q IF DIN = D(4) THEN Q IF DIN = D(3) THEN Q IF DIN = D(2) THEN Q IF DIN = D(1) THEN Q IF DIN = D(0) THEN Q Q ALE ALE ALE ALE ALE ALE ALE ALEB 时 E=1;当 AB 时 F=1。第一种设计方案是常规的比较器 设计方法,即直接利用关系操作符进行编程设计;第二种设计方案是利用减法器来完成,通过减法运算后 的符号和结果来判别两个被比较值的大小。对两种设计方案的资源耗用情况进行比较,并给以解释。 解: 方法一: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all; ENTITY comp1 IS port( a,b : in std_logic_vector(7 downto 0); d,e,f : out std_logic ); END ; ARCHITECTURE hdlarch OF comp1 IS BEGIN d = 1 when a = b else 0; e = 1 when a b else 0; f = 1 when a b else 0; END; 方法二: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all; ENTITY comp2 IS port( a,b : in std_logic_vector(7 downto 0); d,e,f : out std_logic ); END ; 第 1 章 概述 23 ARCHITECTURE hdlarch OF comp2 IS signal tmp : std_logic_vector(8 downto 0); signal t : std_logic; BEGIN tmp = (0 t = 1 when tmp = 0 else 0; d = t; e = (not tmp(8) and (not t); f = tmp(8) and (not t); 方法二使用资源较多 习题九习题九 (重复)习题 9-2 给触发器复位的方法有哪两种?如果时钟进程中用了敏感信号表,哪种复位方法要 求把复位信号放在敏感信号表中? 习题 9-3 用 WITH_SELECT_WHEN 语句描述 4 个 16 位至 1 个 16 位输出的 4 选 1 多路选择器。 解: ENTITY mux16 IS port( d0,d1,d2,d3 : in std_logic_vector(15 downto 0); sel : in std_logic_vector(1 downto 0); y : out std_logic_vector(15 downto 0) ); END ; ARCHITECTURE hdlarch OF mux16 IS BEGIN with sel select y = d0 when “00“, d1 when “01“, d2 when “10“, d3 when others; END; 习题 9-4 为什么说一条并行赋值语句可以等效为一个进程?如果是这样的话,怎样实现敏感信号的检 测? 解: 例如: 一条并行语句: c = a and b; 第 1 章 概述 24 可以等效为: process(a,b) begin c = a and b; end process; 等效时,在并行语句中赋值符号的所有信号都需列入等效进程的敏感信号表 习题 9-5 下述 VHDL 代码的综合结果会有几个触发器或锁存器? 程序: architecture rtl of ex is signal a, b: stdulogicuvector(3 downto 0); begin process(clk) begin if clk = 1 and clkevent then if q(3) /= 1 then q = a + b; end if; end if; end process; end rtl; 程序: architecture rtl of ex is signal a, b: stdulogicuvector(3 downto 0); begin process(clk) variable int: stdulogicuvector(3 downto 0); begin if clk =1 and clkevent then if int(3) /= 1 then int := a + b ; q = int; end if; end if; end process; end rtl; 程序 3: architecture rtl of ex is signal a, b,c, d, e: stdulogicuvector(3 downto 0); begin process(c, d, e, en) begin if en =1 then a = c ; b = d; else a = e; end if; end process; end rtl; 习题 9-6 比较 CASE 语句与 WITH_SELECT 语句,叙述它们的异同点。 习题 9-7 将以下程序段转换为 WHEN_ELSE 语句: PROCESS (a,b,c,d) BEGIN 第 1 章 概述 25 IF a= 0 AND b=1 THEN next1 = “1101“ ; ELSIF a=0 THEN next1 = d ; ELSIF b=1 THEN next1 = c ; ELSE Next1 = “1011“ ; END IF; END PROCESS; 习题 9-8 说明以下两程序有何不同,哪一电路更合理?试画出它们的电路。 程序 1: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY EXAP IS PORT ( clk,a,b : IN STD_LOGIC; y : OUT STD_LOGIC ); END EXAP ; ARCHITECTURE behav OF EXAP IS SIGNAL x : STD_LOGIC; BEGIN PROCESS BEGIN WAIT UNTIL CLK =1 ; x = 0; y = 0; IF a = b THEN x = 1; END IF; IF x=1 THEN y = 1 ; END IF ; END PROCESS ; END behav; 程序 2: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY EXAP IS PORT ( clk,a,b : IN STD_LOGIC; y : OUT STD_LOGIC ); END EXAP ; ARCHITECTURE behav OF EXAP IS BEGIN PROCESS VARIABLE x : STD_LOGIC; BEGIN WAIT UNTIL CLK =1 ; x := 0; y = 0; IF a = b THEN x := 1; END IF; IF x=1 THEN y = 1 ; END IF ; END PROCESS ; END behav; 第 1 章 概述 26 习题十习题十 习题 10-1 利用资源共享的面积优化方法对下面程序进行优化(仅要求在面积上优化) 。习题程序如下: 【例 10-9】 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all; ENTITY addmux IS PORT (A,B,C,D : IN std_logic_vector(7 downto 0); sel : IN std_logic; Result : OUT std_logic_vector(7 downto 0); END addmux; ARCHITECTURE rtl OF addmux IS BEGIN process(A,B,C,D,sel) begin if(sel = 0) then Result = A + B; else Result = C + D; end if; end process; END rtl; 习题 10-2 试通过优化逻辑的方式对图 10-37 中所示的结构进行改进,给出 VHDL 代码和结构图。 习题 10-3 已知 4 阶直接型 FIR 滤波器节的数学表达式如下: y(n)=x(n)h(0)+x(n-1)+x(n-2)h(2)+x(n-3)h(3) x(n)与 x(n-m),m=0,1,2,3 是延迟关系,m 表示延迟的 clk 数。x(n-m)与 h(m)的位宽均为 8 位,y(n)为 10 位, 其中 h(m)在模块例化后为常数。该模块的输入为 x(n)、clk,输出为 y(n),试实现该逻辑。 习题 10-4 对习题 10-3 中的 FIR 滤波器节在速度上进行优化 (在 h(m)固定的情况下) , 试采用流水线技术。 习题 10-5 利用 FLEX 的 LUT 结构, 构建资源占用较小的常数乘法器, 改进习题 10-3、 习题 10-4 的设计, 减少模块的资源使用。 习题 10-6 若对速度要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版桉树砍伐及生物质能利用合同约定书
- 2025版企业财务预算编制与执行服务合同010
- 二零二五年度体育健身中心租赁合作协议
- 2025版个人工作室店铺转让合同模板全新版
- 二零二五年度房地产置换地基转让协议
- 2025年非热杀菌先进设备项目发展计划
- 二零二五年度粮食产业链金融服务合同规范
- 心理健康网课件
- 2025年EMI屏蔽材料合作协议书
- 二零二五年吊装运输设备租赁与维修合同
- 2025年中国搬运机器人行业市场调研及未来发展趋势预测报告
- 四川阿坝州遴选公务员考试真题2024
- 湖北烟草专卖局笔试试题2025含答案
- 社区文化活动中心的装修设计方案
- 电子商务师(三级)理论知识鉴定要素细目表(征求意见稿)
- 孵化器周年庆活动方案
- 设计单位项目负责人培训
- 老年患者的心理特点及护理
- 2025年高考山东卷物理试题讲评及备考策略指导(课件)
- 厂务岗位面试题及答案
- 2025年智能建筑与安防工程师职业资格考试题及答案
评论
0/150
提交评论