4. FSM

verlog

(非)阻塞赋值

阻塞赋值
阻塞赋值属于顺序执行,即下一条语句执行前,当前语句一定会执行完毕。
阻塞赋值语句使用等号 = 作为赋值符。
前面的仿真中,initial 里面的赋值语句都是用的阻塞赋值。
非阻塞赋值
非阻塞赋值属于并行执行语句,即下一条语句的执行和当前语句的执行是同时进行的,它不会阻塞位于同一个语句块中后面语句的执行。
非阻塞赋值语句使用小于等于号 <= 作为赋值符。

FSM

两段式


时序逻辑:cs=ns;缩减版激励方程
组合逻辑:out=f(cs)|穆尔型|f(A,cs)|米利型|为输出方程;ns=f(A,cs)为转化方程

三段式——只能为摩尔型

out=f(ns)=f(cs),只能为摩尔型

关于integer
module top_module( 
    input [99:0] in,
    output [99:0] out
);
    always @(*) begin
        for(integer i= 0;i < 100 ; i++)begin
            out[i] = in[99-i]; 
       end
    end
endmodule
//integer也可以直接赋值给reg
for(i=1;i<=7;i=i+1)    begin
    #5 data_in=i;end
    end
posted @ 2022-10-13 09:29  clfire  阅读(22)  评论(0编辑  收藏  举报