代码之家  ›  专栏  ›  技术社区  ›  Yash Jain

verilog中输出和输出逻辑的区别是什么[[关闭]

  •  -4
  • Yash Jain  · 技术社区  · 6 年前

    下面是示例1。

       module my_fsm(clk, reset, X, Y, Z);
         input clk, reset, X;
         output Y, Z;
       endmodule 
    

    下面是例子2。

    module my_fsm(clk, reset, X, Y, Z);
     input clk, reset, X;
     output logic Y, Z;
    endmodule
    

    output Y, Z ,还有 output logic Y, Z . 两者的根本区别是什么 output output logic 在Verilog中?

    1 回复  |  直到 4 年前
        1
  •  2
  •   Pradyuman Bissa    6 年前

    在系统verilog中引入logic关键字。它避免了reg和导线之间的混淆。

    input a;
    output reg x; //x is declared as a register
    always@(posedge clk)
     x <= a;
    

    input a;
    output logic x; //Here x is taken as a register since its used inside always block
    always@(posedge clk)
    x <= a;
    
    input a;
    output logic x;
    assign x = a; //Here x is taken as a wire due to assign statement