HDLBits 刷题记录(5)

1.

可以自己选择延时N个时钟周期的电路:N个DFFs + 一个对应的 N to 1 多路选择器。

具体代码如下。从下面的代码可以看出,my_dffx 是一个最关键的模块。所以以后再写这样的延时电路时,先把最小单元:DFF写好。然后再用例化的手段去实现整个延时电路,感觉看起来就很好理解。当然了,用一个大的always语句块去实现shift-register也行,虽然复杂,但是很简洁的。

2.
做不出的题!用一行代码实现256-1路多路选择器

多路选择器的index是可变的,只要多路选择器输入的位数是恒定的就行。

具体实现代码如下所示。

3.


由题目可知,应该是按位操作,去检测上升沿。所以注意红框中并不是 && 而是 &。
画电路图时一定要准确!要标出信号的位宽!


4.

What does "derive equations by inspection" mean?

个人的理解:用独热码对状态进行编码的好处:通过检测某一位是否为1(就可以得到current state)以及输入就可以得到的第一部分的状态转换电路,通过检测某一位是否为1(就可以得到current state)也可得到第三部分的输出电路。虽然多用了几位,但是状态转移方程更加简单了。


5.



6.



7.



8.



9.



10.



11.



12.



13.



14.



15.



16.



17.



18.



原文地址:https://www.cnblogs.com/alan6y/p/14486643.html