Skip to content

pzbcm_async_handshake

Taichi Ishitani edited this page Dec 26, 2022 · 3 revisions

pzbcm_async_handshake

https://github.com/pezy-computing/pzbcm/tree/master/pzbcm_async_handshake

Overview

This module implements CDC synchonizer using the handshake scheme.

Parameters

name type/width default value
WIDTH int 8
TYPE type logic [WIDTH-1:0]
STAGES int `PZBCM_SYNCHRONIZER_DEFAULT_STAGES
USE_OUT_DATA_RESET bit 0
INITIAL_OUT_DATA TYPE TYPE'(0)
  • WIDTH
    • Width of input/output data.
  • TYPE
    • Type of input/output data. logic[WIDTH-1:0] is its default.
  • STAGES
    • This is specify how many FFs used for CDC.
  • USE_OUT_DATA_RESET
    • If this is set to 1 the output FF will be reset when the reset signal is asserted.
  • INITIAL_OUT_DATA
    • This is to specify the reset value of the output FF.

IO ports

IO ports

name direction width/type note
is_clk input 1 source side clock
is_rst_n input 1 source side reset (async/low active)
is_valid input 1 indicate is_data is valid
os_ready output 1 indicate this module can accept is_data
is_data input TYPE input data
id_clk input 1 destination side clock
id_rst_n input 1 destination side reset (async/low active)
od_valid output 1 indicate os_data is valid
id_ready input 1 indicate the destination side can accept os_data
od_data output TYPE output data