Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 2.18 KB

File metadata and controls

73 lines (51 loc) · 2.18 KB

2020年P0课上评测回忆

写在前面的话

每一年,这个题都是不一样的。
2019年,售货机和逻辑移位,
2020年,摆渡车和分数计算。
像2019年的课上选做题,就变成了2020年的课下选做题。
那么,我们要怎么应对呢?

  1. 分析题目要求的能力:
    看懂题目是要Moore型还是Mealy型
    有人就在这挂了哈

  2. 用Logisim搭建状态机的能力

  3. 用Logisim搭建同步复位、异步复位的能力:
    我旁边的同学就这挂了,,替ta惋惜QAQ

  4. 搭建简单逻辑电路的能力。

题1-状态机-摆渡车

bus
有线路0和线路1,作为input
current state是当前位置
output是input和current state的逻辑输出
很简单的,,题目直接要求Mealy型。
难点在于:
同步复位有同学不会搭建。

题2-逻辑电路-计算分数

信号名 方向 描述
tea[2:0] I 老师给的分数,二进制表示
s1[1:0] I 学生1给的分数
s2[1:0] I 学生2给的分数
total[3:0] O 总得分

当老师给的分数为0时,total为0;
否则,total=tea+s1+s2

就是MUX和Bit Extender的使用

题3-逻辑电路-md5加密(人上人选做)

我做到了快结束,,结果没交上。。。人直接自闭了。
所以我建议同学们,,不要轻易碰逻辑电路,,很复杂的,详情可见2020年课下浮点数那道题。

input 32位=(可能有多位前导0)+10101+U
output 32位

  1. 目标是剔除input的前缀,得到U,
    这要用Bit Finder找最高位的1,知道要剔除的位数,再shifter
    没听过Bit Finder的同学,,直接再见了

  2. 对于U,
    if U为27位,啥也不干
    elif U为26位,U+“1”,变成27位
    else 给U补上(10..0)的后缀,直到27位

  3. U加上后缀变成27位,再拼接上初始的U的位数n
    n用二进制表示,共5位,
    27+5=32,作为输出

题4-忘了(人上人选做)

早知道就看看这个题了。。

结语

未来的计组课程,通过会变得相对容易,但是会区分出三六九等,作为一条咸鱼,,QAQ,大部分人都是普通人,却被卷得不成样子了。