sync.v

来自「Verilog实现mini-uart」· Verilog 代码 · 共 68 行

V
68
字号
//============================================================================
//
//        Title     : UART SYNCHRONIZER DESIGN
//        Author    : JP LIU
//
//=============================================================================
//
//        File Name      : sync.v
//        Module Name    : sync
//
//=============================================================================
//
// This is a double-rank synchronizer
//
//=============================================================================

module sync
(
 // INPUT PORT
 clk_in,
 sys_rst_b,
 d,

 // OUTPUT PORT
 q
);

////////////////////////////////////////////// 
//
// INPUT AND OUTPUT DECLARATION             //
//
//////////////////////////////////////////////

input  clk_in;
input  sys_rst_b;
input  d;

output q;

/////////////////////////////////////////////
//
// WIRE AND REG DECLARATION                //
//
/////////////////////////////////////////////

reg  pipe1, pipe2;

/////////////////////////////////////////////
//  SEQUENCAL LOGIC                        //
/////////////////////////////////////////////

always @(posedge clk_in or negedge sys_rst_b)
  if (~sys_rst_b) 
     begin
        pipe1 <= 0;
        pipe2 <= 0;
     end 
  else 
     begin
        pipe1 <= d;
        pipe2 <= pipe1;
     end

assign q = pipe2;

endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?