Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 1.47 KB

report.md

File metadata and controls

20 lines (16 loc) · 1.47 KB

期末Project -- Simple Circuit

1 - 运行方法和操作方法:

  • 见 README.md

2 - 设计思路 :

因为我们保密没学数电,就想借这个项目顺便学下数电,于是做了时序电路,实现了一些数电芯片,做了显示学号的作业和一个时钟大作业。
组合逻辑用深搜实现拓扑排序,然后按拓扑排序的顺序遍历。当检测到环时(深度搜索出现后向边),用求强连通分量的算法输出所有的环。
时序电路中,由于允许环的存在,更重要的是还要有传输延迟,因此按拓扑排序的顺序结合广度搜索,把所有周围的门加入队列,并允许重复入队,当电路稳定时输出。但是这样付出了很大的时间代价,在时钟那个实验中,即使没有sleep,执行一次也要花费不止一秒的时间。。。

  • 实现功能

    • 各种各样的异常检查
    • 允许引入模块
    • 提供了七段数码管接口
    • 可将电路图导出到文件
  • 改进空间

    • 时序电路显示时无法退出。考虑调用两个进程实现非阻塞输入
    • 模块封装得不够彻底。因为工程过于庞大,没有太多耐心。。。
    • 文档不够详细。同上。
    • 因为终端没有余辉效应,每次显现一个数字无法产生显现所有数字的感觉,所有时钟采用全部显现的方式。I dont't know.
    • 时序电路时间复杂度过高。I don't know.