@@ -22,18 +22,19 @@ use surf.StdRtlPkg.all;
22
22
23
23
entity SynchronizerFifo is
24
24
generic (
25
- TPD_G : time := 1 ns ;
26
- RST_ASYNC_G : boolean := false ;
27
- COMMON_CLK_G : boolean := false ; -- Bypass FifoAsync module for synchronous data configuration
28
- MEMORY_TYPE_G : string := " distributed" ;
29
- SYNC_STAGES_G : integer range 3 to (2 ** 24 ) := 3 ;
30
- PIPE_STAGES_G : natural range 0 to 16 := 0 ;
31
- DATA_WIDTH_G : integer range 1 to (2 ** 24 ) := 16 ;
32
- ADDR_WIDTH_G : integer range 2 to 48 := 4 ;
33
- INIT_G : slv := "0" );
25
+ TPD_G : time := 1 ns ;
26
+ RST_POLARITY_G : sl := '1' ; -- '1' for active HIGH reset, '0' for active LOW reset
27
+ RST_ASYNC_G : boolean := false ;
28
+ COMMON_CLK_G : boolean := false ; -- Bypass FifoAsync module for synchronous data configuration
29
+ MEMORY_TYPE_G : string := " distributed" ;
30
+ SYNC_STAGES_G : integer range 3 to (2 ** 24 ) := 3 ;
31
+ PIPE_STAGES_G : natural range 0 to 16 := 0 ;
32
+ DATA_WIDTH_G : integer range 1 to (2 ** 24 ) := 16 ;
33
+ ADDR_WIDTH_G : integer range 2 to 48 := 4 ;
34
+ INIT_G : slv := "0" );
34
35
port (
35
36
-- Asynchronous Reset
36
- rst : in sl := '0' ;
37
+ rst : in sl := not RST_POLARITY_G ;
37
38
-- Write Ports (wr_clk domain)
38
39
wr_clk : in sl;
39
40
wr_en : in sl := '1' ;
@@ -58,15 +59,16 @@ begin
58
59
59
60
FifoAsync_1 : entity surf .FifoAsync
60
61
generic map (
61
- TPD_G => TPD_G,
62
- RST_ASYNC_G => RST_ASYNC_G,
63
- MEMORY_TYPE_G => MEMORY_TYPE_G,
64
- FWFT_EN_G => true ,
65
- SYNC_STAGES_G => SYNC_STAGES_G,
66
- PIPE_STAGES_G => PIPE_STAGES_G,
67
- DATA_WIDTH_G => DATA_WIDTH_G,
68
- ADDR_WIDTH_G => ADDR_WIDTH_G,
69
- INIT_G => INIT_C)
62
+ TPD_G => TPD_G,
63
+ RST_POLARITY_G => RST_POLARITY_G,
64
+ RST_ASYNC_G => RST_ASYNC_G,
65
+ MEMORY_TYPE_G => MEMORY_TYPE_G,
66
+ FWFT_EN_G => true ,
67
+ SYNC_STAGES_G => SYNC_STAGES_G,
68
+ PIPE_STAGES_G => PIPE_STAGES_G,
69
+ DATA_WIDTH_G => DATA_WIDTH_G,
70
+ ADDR_WIDTH_G => ADDR_WIDTH_G,
71
+ INIT_G => INIT_C)
70
72
port map (
71
73
rst => rst,
72
74
wr_clk => wr_clk,
0 commit comments