每一年,这个题都是不一样的。
2019年,售货机和逻辑移位,
2020年,摆渡车和分数计算。
像2019年的课上选做题,就变成了2020年的课下选做题。
那么,我们要怎么应对呢?
-
分析题目要求的能力:
看懂题目是要Moore型还是Mealy型
有人就在这挂了哈 -
用Logisim搭建状态机的能力
-
用Logisim搭建同步复位、异步复位的能力:
我旁边的同学就这挂了,,替ta惋惜QAQ -
搭建简单逻辑电路的能力。
有线路0和线路1,作为input
current state是当前位置
output是input和current state的逻辑输出
很简单的,,题目直接要求Mealy型。
难点在于:
同步复位有同学不会搭建。
信号名 | 方向 | 描述 |
---|---|---|
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的使用
我做到了快结束,,结果没交上。。。人直接自闭了。
所以我建议同学们,,不要轻易碰逻辑电路,,很复杂的,详情可见2020年课下浮点数那道题。
input 32位=(可能有多位前导0)+10101+U
output 32位
-
目标是剔除input的前缀,得到U,
这要用Bit Finder找最高位的1,知道要剔除的位数,再shifter
没听过Bit Finder的同学,,直接再见了 -
对于U,
if U为27位,啥也不干
elif U为26位,U+“1”,变成27位
else 给U补上(10..0)的后缀,直到27位 -
U加上后缀变成27位,再拼接上初始的U的位数n
n用二进制表示,共5位,
27+5=32,作为输出
早知道就看看这个题了。。
未来的计组课程,通过会变得相对容易,但是会区分出三六九等,作为一条咸鱼,,QAQ,大部分人都是普通人,却被卷得不成样子了。