《数字逻辑习题答案6.pdf》由会员分享,可在线阅读,更多相关《数字逻辑习题答案6.pdf(25页珍藏版)》请在金锄头文库上搜索。
1、第六章 习题答案第六章 习题答案 1 现有 D 触发器组成的三个 n 位寄存器 需要连接起来传送数据 当控制信号 Sa有效时 执行 Ra Rc 的操作 当控制信号 Sb有效时 执行 Rb RC的操作 试写出连接电路的逻辑表达式 并画出逻辑电路图 解 Rc RaRb LDC Sa Sb Rc Ra Sa LDC Rb Sb LDC 2 现有 D 触发器组成的四个 8 位寄存器 要求它们之间实现数据传送 试设计连接电路 解 ABCD LDALDBLDCLDD A BUSC BUSB BUSD BUS BUS 3 ALU 的输出端一般带有一个移位器 其功能为 ALU 输出正常传送 ALU 输出左移
2、1 位 ALUi 1 传 送 ALU 输出右移一位 ALUi 1 传送 试设计移位器的逻辑电路 解 4 一个系统有 A B 两条总线 为了接收来自任何一条总线上的数据并驱动任何一条总线 需要一个总线缓冲寄 存器 请用 D 触发器和三态门设计一个总线缓冲寄存器 解 A B U S B B U S R A B U SR B B U S A B U S RB B U S R A B U S B B U S R 缓 冲 寄 存 器 L D R 5 试构造能完成下列程序操作的 ASM 图 a if X N then b if X N then else 解 c for X from A to B ste
3、p C do 解 d while X Y do 解 e if X N OR X B 01 a b c d 00 01 10 11 PSNS B A B D A D 转移条件 C 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 无条件转移 无条件转移 无条件转移 A B 1 A B 0 根据 NS PS C 公式 激励方程表达式为 B D BA BA BA A B A D BA BA BA A B A BA A B 电路图 控 制 信 号 译 码 逻 辑 0 1 B D 0 1 A D T2 请 O T1 B AB ABA A B A B A A B LDRbLDRaCA
4、P BBAA 控制信号表达式 L D Rb 状 态 a 状 态 c T2 B A B A T2 A T2 L D R a 状 态 b T2 BAT2 C A P 状 态 d B A LDRbLDRaCAP A T2BAT2B A 7 根据题 6 的条件 设计一个 MUX 型控制器 ASM 流程图 状态转移表 BA 电路图 BA B A 控制信号表达式为 LDRB 状态 a 状态 c T2 BA BA T2 LDRA 状态 b T2 BA T2 CAP 状态 d BA 8 根据题 6 的条件 设计一个定序型控制器 ASM 流程图 状态转移表 3 写出激励方程 NS PS C 控制信号表达式 4
5、逻辑电路图 9 根据题 6 的条件 设计一个微程序控制器 微程序流程图 微指令格式 定时信号 T1 打入微指令寄存器定时 T2 执行部件控制信号定时 T3 修改微地址并读出控存定时 微程序控制器电路 微程序代码 当前微地址 微指令二进制代码 微命令 判别下一微地址 0000 0100 0101 1000 100 010 100 001 0 0 0 1 0100 0101 1000 0100 10 某控制器的状态表如下表所示 其中 X 和 Y 为输入变量 试设计 一个计数器型控制器 ASM 流程图与编码 Q1 Q2为两个触发器 令 状态 A 00 B 01 C 10 D 11 状态转移表 激励方
6、程表达式 利用 NS PS C 公式 使用 D 触发器 Q2 D 2Q1Q XY 2Q1Q XY 2Q Q1 XY 2Q Q1 XY Q2 1Q XY Q2 Q1 XY Q2 Q1 XY 2Q1Q X 1Q XY Q1 X Q1 D 2Q1Q Y 2Q Q1 XY Q2 1Q X Y Q2Q1 Y 2Q Y Q2 1Q X Q2 Y 电路图 1Q2Q 2Q1Q 1Q2Q 1Q 控制信号表达式 假设为电位控制信号 F 状态 A X Y 状态 B XY 状态 C XY 状态 D 2Q1Q X Y 2Q Q1 XY Q2 1Q XY Q2Q1 2Q1QXY2QX 1Q Y 11 根据题根据题 10
7、的条件 设计一个的条件 设计一个 MUX 型控制器型控制器 解答 1 ASM 流程图与编码同计数器型控制器 见第 10 题答案 2 按 MUX 方式列出状态转移真值表 3 画出电路图 12 根据题根据题 10 的条件 设计一个定序型控制器的条件 设计一个定序型控制器 解答 1 ASM 流程图与计数器法相同 2 使用 Qa Qb Qc Qd 四个触发器 编码分别为 Qa 1000 Qb 0100 Qc 0010 Qd 0001 3 状态转移真值表 4 写出激励方程 NS PS C 5 画出电路图 13 设计一个累加运算系统定序型控制器设计一个累加运算系统定序型控制器 解答 1 算法流程图 2 状
8、态转移真值表及激励函数表达式 NS PS C C 1 无条件转移 3 控制信号表达式 4 电路图 14 设计一个累加运算系统设计一个累加运算系统 MUX 型控制器型控制器 解答 1 ASM 流程图 2 状态转移真值表及激励表达式 NS PS C 3 电路图 4 控制信号表达式 15 图 P6 1 所示 ASM 流程图 设计计数器型控制器 解 1 ASM 流程图与编码 Q1 Q2为两个触发器 令 状态 a 00 b 01 c 11 d 10 状态转移表 3 次态方程 xwQQxQQyxQQQQQ xwQQwxQQzxyQQQ n n 121212121 1212122 4 控制信号 xyQQF
9、12 16 根据图 P6 1 所示 ASM 流程图 设计一个 MUX 型控制器 解 1 ASM 流程图 编码 状态转移真值表同计数器型控制器 见第 15 题答案 2 MUXA 的输出接触发器 D2 MUXB 的输出接触发器 D1 则 xwwxMUXA MUXA xzyxzxyMUXA MUXA 3 0 2 1 0 0 xwMUXB MUXB xyxyxMUXB MUXB 3 0 2 1 1 0 3 控制信号 xyQQF 12 17 根据图 P6 1 所示 ASM 流程图 设计一个定序型控制器 解 1 使用 Qa Qb Qc Qd 四个触发器对应四个状态 a b c d 2 状态转移真值表及激励
10、方程表达式 wxQzxyQDQ xwQxQDQ yxQQDQ QwxQDQ cbd cbc bab dca 3 控制信号 xyQF b 18 根据图 P6 1 所示 ASM 流程图 设计一个微程序控制器 解 步骤如下 将 ASM 流程图转化为微程序流程图 确定微指令地址 确定微命令 确定微指令格式和字长 确定控制存储器容量 写出微地址转移逻辑表达式 将微指令编译成二进制代码 19 根据教材图 P6 7 所示通路 设计一个微程序控制器 略 20 设计十字路口交通灯控制器 解 交通灯控制系统结构框图 控制系统 ASM 图如下 21 设计一个彩灯控制器 解 彩灯电路框图如下 library ieee
11、 use ieee std logic 1164 all use ieee std logic unsigned all entity light is port clk1 in std logic 时钟信号 light buffer std logic vector 11 downto 0 输出 end light architecture behv of light is constant len integer 11 signal banner std logic 0 定义信号banner为两种节拍转换信号 signal clk clk2 std logic 信号 CLK CLK2 作为
12、辅助时 钟 begin clk clk1 and banner or clk2 and not banner process clk1 begin if clk1 event and clk1 1 then CLK1 二分频得 CLK2 clk2 not clk2 end if end process process clk variable flag bit vector 3 downto 0 0000 begin if clk event and clk 1 then if flag 0000 then light 1 顺序向右循环移位 if light 1 1 then 依次点亮 fla
13、g 0001 end if elsif flag 0001 then 依次熄灭 light light len 1 downto 0 if light 10 0 then flag 0010 end if elsif flag 0010 then light light len 1 downto 0 顺序向左循环移位 if light 10 1 then 依次点亮 flag 0011 end if elsif flag 0011 then 依次熄灭 light 0 if light 1 0 then flag 0100 end if elsif flag 0100 then light len
14、 downto 6 light len 1 downto 6 从中间向两边点 light len 6 downto 0 1 if light 1 1 then flag 0101 end if elsif flag 0101 then light len downto 6 0 从两边向中间熄 light len 6 downto 0 light len 7 downto 0 if light 2 0 then flag 0110 end if elsif flag 0110 then light len downto 6 1 奇 偶位循环点亮 light len 6 downto 0 1 if light 1 1 then flag 0111 end if elsif flag 0111 then light 000000000000 flag 1000 elsif flag 1000 then 从新开始 banner not banner banner 信号转换 实现第二种节 拍 flag 0000 end if end if end process end behv 关闭关闭