我正在设计一个带有FSM控制单元的ALU。有两个控制输入,即决定操作字长的模式,另一个输入是决定要执行的操作类型的操作。
我已经附上了ALU模块的图像,这是必须设计的。我必须包括一个时钟信号吗?FSM总是顺序电路吗?
发布于 2017-08-06 16:04:27

是的,你必须包括一个时钟信号。请注意,FSM是一个由组合逻辑和flops组成的时序电路。因此,时钟对于FSM的工作非常重要。
我不能看到你的附加图像,但我提到的是一般的,这是有效的每一个FSM。
对于上图,表示Mealey FSM,顺序逻辑只是一块Flops,它将next_state作为输入,并在下一个周期将其作为状态。组合逻辑是决定下一个状态的逻辑的逻辑。
您的时序逻辑应该编码为
always@(posedge clock or negedge rst)
begin
if(!rst) state <= RESET_STATE;
else state <= next_state;
end//即,如果reset被断言为低电平,则状态应遵循next_state
然后,组合逻辑应该在状态和next_state之间创建一个关系
always@*
begin
case(state)
RESET_STATE: ...
next_state = SOME_STATE;https://stackoverflow.com/questions/45528705
复制相似问题