我目前正在为 FPGA 编写一些 VHDL 代码,其中通过状态机设置完成信号。 fsm 将数据输入移位寄存器并在完成时断言“完成”。
现在有两种方法来驱动这个完成信号:
第一种方法是提前一个时钟周期写入其下一个信号,以便在读入最后一位时将其更改为“1”。 另一种方法是以组合方式驱动它,以便在最后一次移位期间设置它。
我知道当它转换回开始/空闲状态时,它的注册将保持完成高电平,而不是组合方式,这对我来说不感兴趣。
我想知道的是,首选的方式是什么,是否有任何有意义的差异,我是否会遇到某种麻烦?
我可以看到,组合方式需要更长的时间来解析信号,因为一旦状态机处于最后状态,完成才会开始解析,这可能会增加 MUX 的额外延迟。
组合输出的优点:
注册输出的优点: