Vivado RTL Schematic两种寄存器

Vivado RTL Schematic两种寄存器_第1张图片
Vivado RTL Schematic两种寄存器_第2张图片

使用CE 和使用MUX进行选择

eg

module module_name(
    clk    ,
    rst_n  ,
    judge,
 //   en_data,
 //   not_en_data,,
    //其他信号,举例dout
    dout
    );
    //输入信号定义
    input               clk    ;
    input               rst_n  ;
    input               judge  ;
  //  input             not_en_data;
 //   input             en_data;
    //输出信号定义
    output   [2:0]        dout   ;

    //输出信号reg定义
    reg[2:0]     dout   ;
 
 
    //时序逻辑写法
    always@(posedge clk )begin
         if(judge)begin
            dout<=dout ;
        end
        else  
            dout<=dout+2;
            
    end

    endmodule


dout 根据judge,输出dout+2或者保持dout,通常RTL使用ce寄存器表示
Vivado RTL Schematic两种寄存器_第3张图片
综合后schematic为:
Vivado RTL Schematic两种寄存器_第4张图片
Vivado RTL Schematic两种寄存器_第5张图片
Vivado RTL Schematic两种寄存器_第6张图片

如果改为

    //时序逻辑写法
    always@(posedge clk )begin
         if(judge)begin
            dout<=dout+1 ;
        end
        else  
            dout<=dout+2;
            
    end

dout为dout+1或者+2
Vivado RTL Schematic两种寄存器_第7张图片

使用的是无ce用mux

Vivado RTL Schematic两种寄存器_第8张图片

你可能感兴趣的:(FPGA)