@@ -10,10 +10,10 @@ module geared_stream_split #(
1010 parameter int unsigned GearRatio = 1 ,
1111 parameter type T = logic // Vivado requires a default value for type parameters.
1212) (
13- input logic clk_i, // Clock
14- input logic geared_clk_i, // Geared Clock
15- input logic rst_ni, // Asynchronous active-low reset
16- input logic clr_i, // Synchronous clear
13+ input logic clk_i, // Clock
14+ input logic geared_clk_i, // Geared Clock
15+ input logic rst_ni, // Asynchronous active-low reset
16+ input logic clr_i, // Synchronous clear
1717 // Input port
1818 input logic valid_i,
1919 output logic ready_o,
@@ -25,32 +25,32 @@ module geared_stream_split #(
2525 output T [GearRatio- 1 : 0 ] data_o
2626);
2727
28- if (GearRatio < 1 ) begin
28+ if (GearRatio < 1 ) begin : gen_ratio_0_err
2929 $fatal (1 , " Gear Ratio < 1 not supported!" );
30- end else if (GearRatio == 1 ) begin
31- assign valid_o = valid_i;
32- assign ready_o = ready_i;
33- assign data_o = data_i;
30+ end else if (GearRatio == 1 ) begin : gen_ratio_1
31+ assign valid_o = valid_i;
32+ assign ready_o = ready_i;
33+ assign data_o = data_i;
3434 assign selected_reg_o = 1'b1 ;
35- end else begin
35+ end else begin : gen_ration_n
3636 logic [GearRatio- 1 : 0 ] reg_active_d, reg_active;
3737 logic [GearRatio- 1 : 0 ] ready_out;
3838 logic [GearRatio- 1 : 0 ] reg_ena;
3939
4040 // reg_active is high for one cycle for each position during a full geared_clk cycle
4141 assign reg_active_d[GearRatio- 1 : 1 ] = reg_active[GearRatio- 2 : 0 ];
42- assign reg_active_d[0 ] = reg_active[GearRatio- 1 ];
42+ assign reg_active_d[0 ] = reg_active[GearRatio- 1 ];
4343
44- `FF (reg_active, reg_active_d, {{ (GearRatio- 1 ) { 1'b0 }} , 1'b1 } , clk_i, rst_ni)
44+ `FF (reg_active, reg_active_d, {{ (GearRatio - 1 ) { 1'b0 }} , 1'b1 } , clk_i, rst_ni)
4545
4646 assign selected_reg_o = reg_active;
4747
48- assign ready_o = | ready_out;
48+ assign ready_o = | ready_out;
4949
50- for (genvar i = 0 ; i < GearRatio; i++ ) begin
50+ for (genvar i = 0 ; i < GearRatio; i++ ) begin : gen_gearing
5151
5252 assign ready_out[i] = (ready_i[i] | ~ valid_o[i]) & reg_active[i];
53- assign reg_ena[i] = valid_i & ready_out[i];
53+ assign reg_ena[i] = valid_i & ready_out[i];
5454
5555 // only active once during each geared_clk cycle
5656 `FFLARNC (valid_o[i], valid_i, ready_out[i], clr_i, 1'b0 , clk_i, rst_ni)
0 commit comments