「Logisim」设计思想
[TOC]
设计电路模块
对于复杂的电路,我们会使用两张表。
一张模块接口定义表与一张功能定义表,原因是对于这些复杂电路来说,简单的端口定义已经无法识别其功能,或者该模块在不同的情况与输入下有不同的功能,这种时候我们需要使用功能定义表来对模块的功能进行约定。
我们需要把设计与实现这两项工作分开来保证我们在工程中较高的完成率。
有限状态机
使用Logism设计有限状态机的过程基本上可以分为三个步骤:
- 设计实现状态存储模块
- 设计实现状态转移模块
- 设计实现输出模块
Moore型
Mealy型
设计建议
- 分析具体问题,画出状态转移图
- 对状态进行合适的编码
- 画出状态转移和输出逻辑的真值表
- 在Logisim中实现状态转移和输出逻辑,并采用合适的存储器存储具体状态值
划分层次
在计算机科学中的任何问题都可以通过增加一个间接层来解决“(Any problem in computer science can be solved with another layer of indirection. )
在完成了搭建后,测试是个必不可少的环节。
测试
- 覆盖所有测试功能正常进行的样例
- 极端情况的样例
- 异常情况的样例
对于FSM的电路,我们需要将输出电路测试与状态转移电路测试分开进行,记录状态信息。