当前位置:首页 > 《EDA技术实用教程(第四版)》习题答案
4-8 设计一个7人表决电路(用4位二进制全加器),参加表决者7人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
4-9 基于原理图输入方式,用D触发器构成按循环码(000->001->011->111->101->100->000)规律工作的六进制同步计数器。
4-10 基于原理图输入方式,应用4位全加器和74374(8D触发器)构成4位二进制加法计数器。如果使用74299(8位通用移位寄存器)、74373(8D锁存器)、D触发器和非门来完成上述功能,应该有怎样的电路?
4-11 用一片74163(可预置4位二进制计数器)和两片74138(3线-8线译码器)构成一个具有12路脉冲输出的数据分配器。要求在原理图上标明第1路到第12路输出的位置。若改用一片74195(4位通用移位寄存器)代替以上的74163 (可预置4位二进制计数器),试完成同样的设计。
4-12 用同步时序电路对串行二进制输入进行奇偶校验,每检测5位输入,输出一个结果。当5位输入中1的数目为奇数时,在最后一位的时刻输出1。
--解:4-12 用同步时序电路对串行二进制输入进行奇偶校验,每检测5位输入,输出一个结果。
-- 当5位输入中1的数目为奇数时,在最后一位的时刻输出1。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY odd_even_p_RXD_5 IS
PORT(CLK,RST,S_in: IN STD_LOGIC;--CLK、RST、S_in:时钟、复位、串行输入数据 P_out: OUT STD_LOGIC_VECTOR(4 DOWNTO 0);--P_out:并行输出数据 o_e_out: OUT STD_LOGIC); --o_e_out:奇校验输出位 END ENTITY odd_even_p_RXD_5;
ARCHITECTURE one OF odd_even_p_RXD_5 IS BEGIN
PROCESS(CLK,RST)
VARIABLE shift_Q : STD_LOGIC_VECTOR(4 DOWNTO 0);--shift_Q:移位寄存器 VARIABLE shift_cnt : STD_LOGIC_VECTOR(2 DOWNTO 0);--shift_cnt:移位计数器 BEGIN
IF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿
IF RST = '1' THEN shift_cnt:=\移位寄存器和计数器复位 ELSE
IF shift_cnt=4 THEN --检测到接收5位串行输入数据
shift_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);--采样移位串行输入 ELSE
shift_cnt:=shift_cnt+1;--移位计数
shift_Q:=S_in & shift_Q(4 DOWNTO 1);--采样移位串行输入 END IF; END IF; END IF; END PROCESS;
END ARCHITECTURE one;
4-13 用7490(十进制计数器)设计模为872的计数器,且输出的个位、十位、百位都应符合8421码权重。
5 习 题
5-1 什么是固有延时?什么是惯性延时?P150~151 5-2 δ是什么?在VHDL中,δ有什么用处?P152
5-3 哪些情况下需要用到程序包STD_LOGIC_UNSIGNED? 试举一例。
答:无符号整数的STD_LOGIC的数据。 (第三版)【例6-20】数控分频器的设计 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS
PORT(CLK : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); FOUT : OUT STD_LOGIC); END ENTITY DVF;
ARCHITECTURE one OF DVF IS SIGNAL FULL : STD_LOGIC; BEGIN
P_REG: PROCESS(CLK)
共分享92篇相关文档