云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《EDA技术实用教程(第四版)》习题答案

《EDA技术实用教程(第四版)》习题答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/26 1:42:01

TYPE ST_TYPE IS(S0,S1,S2,S3); SIGNAL C_ST: ST_TYPE; BEGIN

FSM: PROCESS(CLK,RESET) BEGIN

IF RESET='1' THEN C_ST<=S0;

ELSIF CLK'EVENT AND CLK='1' THEN CASE C_ST IS

WHEN S0=> C_ST<=S1;

IF ina=\ ELSIF ina=\ END IF;

WHEN S1=> IF ina=\ ELSE C_ST<=S1; END IF;

outa<=\

WHEN S2=> IF ina=\ ELSIF ina=\ ELSE C_ST<=S2; END IF;

outa<=\ WHEN S3=> C_ST<=S0;

IF ina=\ ELSIF ina=\ ELSE outa<=\ END IF;

WHEN OTHERS=>C_ST<=S0; END CASE; END IF;

END PROCESS FSM;

END ARCHITECTURE behav;

-- 解:根据图7-30(a)所示的状态图,按照图7-30(c)双进程状态机端口形式,编写的VHDL程序代码如下: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY state_8_16_a_c IS

PORT( ina: IN STD_LOGIC_VECTOR(2 DOWNTO 0); CLK,RESET: IN STD_LOGIC;

outa:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END state_8_16_a_c;

ARCHITECTURE behav OF state_8_16_a_c IS TYPE ST_TYPE IS (S0,S1,S2,S3); SIGNAL C_ST,N_ST: ST_TYPE;

BEGIN

REG: PROCESS(CLK,RESET) --主控时序进程 BEGIN

IF RESET='1' THEN C_ST<=S0; --检测异步复位信号 ELSIF CLK='1' AND CLK'EVENT THEN C_ST<=N_ST; END IF;

END PROCESS REG;

COM: PROCESS(C_ST,ina) --主控组合进程 BEGIN

CASE C_ST IS

WHEN S0=> N_ST<=S1;

IF ina=\ ELSIF ina=\

--ELSE outa<=\不加此句,产生所存不安全 END IF;

WHEN S1=> IF ina=\ ELSE N_ST<=S1; END IF;

outa<=\

WHEN S2=> IF ina=\ ELSIF ina=\ ELSE N_ST<=S2; END IF;

outa<=\ WHEN S3=> N_ST<=S0;

IF ina=\ ELSIF ina=\ ELSE outa<=\ END IF;

WHEN OTHERS=>N_ST<=S0; END CASE;

END PROCESS COM;

END ARCHITECTURE behav;

7-2 举二例说明,有哪些常用时序电路是状态机比较典型的特殊形式,并说明它们属于什么类型的状态机(编码类型、时序类型和结构类型)。 解:1)计数器、循环移位寄存器。

2)计数器:Moore型状态机;顺序编码;状态编码直接输出。

3)循环移位寄存器:Moore型状态机;一位热码;状态编码直接输出。 7-3 用Mealy机类型,写出控制ADC0809采样的状态机。

-- 解:7-3 根据图7-5状态图,采用Mealy型状态机,设计ADC0809采样控制器。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ADC0809 IS

PORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); --来自0809转换好的8位数据 CLK: IN STD_LOGIC; --状态机工作时钟 RST: IN STD_LOGIC; --系统复位控制

EOC: IN STD_LOGIC; --转换状态指示,低电平表示正在转换 ALE:OUT STD_LOGIC; --8个模拟信号通道地址锁存信号 START:OUT STD_LOGIC; --转换开始信号

OE:OUT STD_LOGIC; --数据输出三态控制信号 ADDA:OUT STD_LOGIC; --信号通道最低位控制信号 LOCK_T:OUT STD_LOGIC; --观察数据锁存时钟

Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --8位数据输出 END ADC0809;

ARCHITECTURE behav OF ADC0809 IS

TYPE states IS(s0,s1,S2,s3,s4); --定义各状态子类型 SIGNAL cs,next_state: states:=s0;

SIGNAL REGL: STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL LOCK: STD_LOGIC;--转换后数据输出锁存时钟信号 BEGIN

ADDA<='1';--当ADDA<='0',选择模拟信号通道IN0;当ADDA<='1',则选择通道IN1 LOCK_T<=LOCK;

COM: PROCESS(cs,EOC) BEGIN --规定各状态转换方式 CASE cs IS

WHEN s0=> ALE<='0';START<='0';LOCK<='0';OE<='0'; next_state<=s1; --0809初始化

WHEN s1=> ALE<='1';START<='1';LOCK<='0';OE<='0'; next_state<=s2 ;--启动采样 WHEN s2=> ALE<='0';START<='0';LOCK<='0';

IF(EOC='1') THEN next_state<=s3;OE<='1';--EOC=1转换结束,OE=1(Mealy型) ELSE next_state<=s2;OE<='0'; END IF; --未结束等待,OE=0(Mealy型) WHEN s3=> ALE<='0';START<='0';LOCK<='0';OE<='1';

next_state<=s4;--开启OE,输出转换好的数据

WHEN s4=> ALE<='0';START<='0';LOCK<='1';OE<='1';next_state<=s0; WHEN OTHERS=>next_state<=s0; END CASE;

END PROCESS COM; REG:PROCESS(CLK,RST) BEGIN

IF(RST='1') THEN cs<=next_state;

ELSIF(CLK'EVENT AND CLK='1') THEN cs<=next_state; END IF;

END PROCESS REG; --由信号cs将当前状态值带出此进程:REG

LATCH1: PROCESS(LOCK) --此进程中,在LOCK的上升沿,将转换好的数据锁入 BEGIN

IF LOCK='1' AND LOCK'EVENT THEN REGL<=D; END IF;

END PROCESS LATCH1; Q<=REGL; END behav;

7-4 请设计一种信号去抖动的电路模型,仿真后,讨论其优缺点点和使用范围。

解:R-S触发器去抖动电路,优点:电路简单,适用于宽延时范围抖动;缺点:对输入按键采用单刀双掷开关。

7-5 根据7.5节,用表格法和绘图法设计状态机,实现例7-2的功能,用时序仿真波形图验证之。最后将其转变成VHDL程序,将此程序与例7-2相比,讨沦它们的表述风格。 解:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

TYPE ST_TYPE IS(S0,S1,S2,S3); SIGNAL C_ST: ST_TYPE; BEGIN FSM: PROCESS(CLK,RESET) BEGIN IF RESET='1' THEN C_ST<=S0; ELSIF CLK'EVENT AND CLK='1' THEN CASE C_ST IS WHEN S0=> C_ST<=S1; IF ina=\ ELSIF ina=\ END IF; WHEN S1=> IF ina=\ ELSE

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com