always块的形式与综合结果

fdc:带有异步复位,不带使能端(使能不有效时输出保持不变,即使能的else语句中值保持不变,否则不会综合为使能)

always@(posedge I_Clk or negedge I_Rst_n)
begin
    if(~I_Rst_n)
        O_Dout <= 1'b0;
    else
        O_Dout <= I_Din;
end

always@(posedge I_Clk or posedge I_Rst)
begin
    if(I_Rst)
        O_Dout <= 1'b0;
    else
        O_Dout <= I_Din;
end

fdr:带有同步复位,不带使能端

always@(posedge I_Clk)
begin
    if(~I_Rst_n)
        O_Dout <= 1'b0;
    else
        O_Dout <= I_Din;
end

always@(posedge I_Clk)
begin
    if(I_Rst)
        O_Dout <= 1'b0;
    else
        O_Dout <= I_Din;
end

fdce:带有异步复位,带使能端

always@(posedge I_Clk or negedge I_Rst_n)
begin
    if(~I_Rst_n)
        O_Dout <= 1'b0;
    else if(I_En)
	O_Dout <= I_Din;
end

always@(posedge I_Clk or posedge I_Rst)
begin
    if(I_Rst)
        O_Dout <= 1'b0;
    else if(I_En)
	O_Dout <= I_Din;
end


fdre:带有同步复位,带使能端

always@(posedge I_Clk)
begin
    if(~I_Rst_n)
        O_Dout <= 1'b0;
    else if(I_En)
	O_Dout <= I_Din;
end

always@(posedge I_Clk)
begin
    if(I_Rst)
        O_Dout <= 1'b0;
    else if(I_En)
	O_Dout <= I_Din;
end

fd:不带复位,不带使能端

always@(posedge I_Clk)
begin
    O_Dout <= I_Din;
end

fde:不带复位,带使能

always@(posedge I_Clk)
begin
    if(I_En)
        O_Dout <= I_Din;
end

暂时就想到这么多了。

猜你喜欢

转载自blog.csdn.net/ViV587/article/details/84579350