【Pre】预习测试-Logisim/Verilog/MIPS

好家伙,开门挂

T2 字符自动机cscore

1.审题·惯性思维:直接输出了当前连续数,题目要求是最大连续数 -> 【重新读题解决】

2.非阻塞赋值运用:若在always块内通过if(out1 > max) max <= out1更新max值,需要考虑out1的更新靠非阻塞赋值,比较时out1取更新前的值。所以应该使用if(out+1 > max) max <= out + 1 -> 【iSim模拟解决】

  • (也可以将max的更新挪至case外always内,并在顺序块外通过assign out = (out > max) ? out : max来消除更新不及时的问题)

3.状态转移疏漏:"csc"状态下,输入"s"时,应该转移到"cs"状态而非""状态 -> 【未解决,挂了,当时也想过可能状态机想错了;然而设计也算谨慎了,可见意识不足+脑子不灵活】

其他小动作

1.对 使用assign关键字作变量名的错误 没反应,意识不足

2.logisim模块输入接口的顺序与题干不符导致WA(幸好从怪异的反馈中找到debug入口),以后需要注意,上下顺序和题目一致

3.logisim在重复模块中,倘若不拆分成子电路,需小心tunnel也是重复实例的一部分,需要改名区分

4.mips的部分syscall的$v0手糊写成了$t0(幸好程序短)。前阵子还有:$t1漏t写成$1,lwsw混写

posted @ 2021-10-13 23:20  Xlucidator  阅读(153)  评论(0编辑  收藏  举报