基于上一篇章的信号计数,继续闯关!
奇变偶不变
这一关给出延迟线,当前时刻的输入在下一刻才被采样
要求输出时刻翻转。
初始时刻输出0,经非门翻转延迟一个周期输出为1,再依此翻转
1位取反器
当取反信号有效时,输出取反,否则直接连到输出。
观察到真值表是异或逻辑,但采用更多的思考
分两条支路,下面的是反转信号为0时,输出为输入直接相连;上面支路时翻转信号为1时,输出先取反再连到输出;最后或起来;实际上这就是异或的逻辑,!AB+A!B=A^B;
加倍
八位输入翻倍,采用左移移位的方式,即把原输入的{[7:0]},左移移位变成{[6:0],0};注意游戏里面的是最高位权值128的在最下面;
将原输入的低最高位连到输出的最高位,完成左移,即乘2操作;
全加器
全加器包含两个输入a,b,一个进位cin,两个输出sum,carry;
sum= a ^ b ^ cin;
carry = (a & b) | ((a ^ b) & cin);
按公式搭建逻辑门,其中进位的逻辑表达式中 a ^ b 也可换成 a | b;
1位开关
开关相当于有使能信号;使能信号打开则输出端显示输入值,否则是断开的高阻态;
输出是两条输出端的线连在一起,但是由于只有一个开关能被接通,所以是可以的;
八位非
对输入逐位取反
八位或
八位加法器
一位元件里面提供全加器,级联时把第一个全加器的进位输出连接到下一个全加器的进位输入就行。
数据选择器
新元件八位选择器,使能端为1则输出端显示当前输入端,否则是高阻断开;