← 2024 · 芯动科技 · 数字IC设计 笔试

推荐答案 测试一下

设计目标:用状态机实现一个自动贩卖机,里面的商品固定价格为2.5元。我们可以投 0.5 元,1 元,2 元,贩卖机需要能输出商品和找零。

编程题 中等 2024秋招笔试真题Online Assessment芯动科技笔试题

参考答案

状态机设计:定义状态以0.5元为单位,累计金额S0~S5(0~2.5元)。输入编码:0.5元=1,1元=2,2元=4。状态跳转:当前状态+输入值,若结果≤5则跳转到对应状态;若结果>5则跳转到S0(商品输出+找零)同时输出找零金额(结果-5)。例如S2(1元)投入2元(4)得6,>5,输出商品及找零1元(6-5=1)。输出逻辑:Mealy型,在跳转时按条件输出。需注意:状态S5(2.5元)收到任何投币都会超,输出商品并找零(投入-0.5元)。易错点:忽略找零计算,或未考虑连续投币至超限后的状态复位。实际可用三段式状态机实现:第一段时序逻辑状态跳转,第二段组合逻辑次态与输出,第三段时序输出寄存。

涉及知识点

  • 状态机设计方法(Moore/Mealy)
  • 状态编码与输入映射
  • 找零逻辑的数学处理
  • 三段式状态机实现
  • 投币序列与连续操作
  • 超累金额的复位与输出
← 上一题
登录后反馈错题