欢迎光临散文网 会员登陆 & 注册

HDLBits/自用/Fsm部分/p2

2023-08-23 15:33 作者:土豆土豆2333333  | 我要投稿
  1. 蓄水池

四种状态(对应表格中四种状态)

代码为:

可见这种方法较为繁琐,而且不便于理解。下面是官方给出的解法,共有6个状态,对应每种变化,这样输出逻辑就变得简单很多,只需要与每种状态一一对应即可。状态转换图如下:

代码如下:



2. Lemmings

题目中已给出状态转换图:

代码也很简单(三步走):



3. Lemmings2

在上一题基础上多了一个fall状态和aaah输出。题目中给出了半个状态转换图,但不全,下面是补全的状态转换图:

由此可得代码:


4. Lemmings3

在上一题的基础上又多出一个dig操作。完整的状态转换图如下:

代码:



5. Lemmings4

这里的状态转换图不难实现,就是多一个splat状态,注意进入这个状态就会一直保持。

具体代码如下:

这里有几个注意点:

  1. 计数器中加1的判定条件不能使用ground==0或者当前状态是否处于fall左右,不然会导致错一个周期;

  2. 一开始一直用reg类型的q,这样做很可能溢出导致判断失误。以后注意如果不是端口而只是内部信号,直接用int不容易出错。reg一般是触发器中会用。parameter是参数,不是变量是常量,不可改变,并且一定要赋值。


HDLBits/自用/Fsm部分/p2的评论 (共 条)

分享到微博请遵守国家法律