推荐答案
测试一下
题目
画出状态转移图。
参考答案与知识点
参考答案
1. 状态转移图(sell模块):代码中存在错误:敏感列表中的cstate应为state;组合逻辑中next_state和输出均使用阻塞赋值,但通常状态机采用非阻塞赋值(时序逻辑用<=)。状态转移逻辑正确:s0下,a=1,b=0跳s1;a=0,b=1输出y=1;否则s0。s1下,a=1,b=0跳s0输出y=1;a=0,b=1跳s0输出y=1,z=1;否则s0。易错:注意电平敏感列表遗漏、赋值方式混用。扩展自动售饮料机:输入A(一元)、B(五角),输出Y(给出饮料)、Z(找回五角)。状态S0(投币前)、S1(已投五角)、S2(已投一元)。转移:S0下A→S2,B→S1;S1下A→S0且Y=1,B→S2;S2下A→S0且Y=1,Z=1,B→S1?不,B(五角)投两元?实际S2下再投B总值为1.5元,应出饮料Y=1,无需找零?但题目描述“投入两元硬币时给出饮料并找回五角”指已有一元再投一元为两元,故S2下A→S0,Y=1,Z=1;B→S0,Y=1(因为1+0.5=1.5)?注意规范:应保证唯一输出。标准设计:S0: A→S2/无输出,B→S1/无;S1: A→S0/Y=1,B→S2/无;S2: A→S0/Y=1,Z=1,B→S0/Y=1。注意状态数有限,避免多余状态。26. 线与逻辑:两个或更多输出直接连接实现与功能。硬件要求必须使用OC门(集电极开路)或OD门(漏极开路),并在输出端加上拉电阻。普通推挽输出不能直接连接,否则会因低电平输出时灌电流过大烧坏门电路。考点:OC门特性、上拉电阻作用。27. 竞争冒险:组合逻辑中同一信号经不同路径到达汇合点时间不同产生竞争,导致输出出现毛刺(冒险)。判断:代数法(化简为Y=A+A'或Y=AA');卡诺图法(相切且无冗余项覆盖);实验法(示波器观测)。消除:加滤波电容、引入选通信号、增加冗余逻辑项。注意:门电路两输入同时反向跳变也属竞争,但冒险判断基于逻辑表达式。28. 常用逻辑电平:TTL(5V)、CMOS(3.3V/5V/12V)、LVTTL、LVCMOS、ECL、PECL、LVDS、GTL等。TTL与CMOS不能直接互连:CMOS输出高电平≈VDD,低电平近0V,可驱动TTL(因TTL输入高阈值约2V);但TTL输出高电平均为3.6V(5V供电),直接接CMOS输入(要求≥0.7VDD)可能不满足,需加上拉电阻至VDD。易错:不可互连是指TTL驱动CMOS,而非相反。
涉及知识点
- 状态机设计与时序约束
- OC门/OD门线与逻辑实现
- 竞争冒险判断与消除方法
- TTL与CMOS电平标准及互连条件
- 状态转移图绘制与Verilog编码