Skip to content

Commit 20cf534

Browse files
authored
Merge branch 'master' into fa_demux
2 parents 5eb4f50 + 28f70b4 commit 20cf534

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1616
### Changed
1717
- Add random user signal generation for llc-partition test. #315
1818
- Update `common_verification` from `v0.2.4` to `v0.2.5`.
19+
- Add selective channel bypassing to `axi_cut`.
1920

2021
## 0.39.6 - 2024-12-04
2122
### Added

src/axi_cut.sv

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
module axi_cut #(
2121
// bypass enable
2222
parameter bit Bypass = 1'b0,
23+
parameter bit BypassAw = Bypass,
24+
parameter bit BypassW = Bypass,
25+
parameter bit BypassB = Bypass,
26+
parameter bit BypassAr = Bypass,
27+
parameter bit BypassR = Bypass,
2328
// AXI channel structs
2429
parameter type aw_chan_t = logic,
2530
parameter type w_chan_t = logic,
@@ -43,7 +48,7 @@ module axi_cut #(
4348
// a spill register for each channel
4449
spill_register #(
4550
.T ( aw_chan_t ),
46-
.Bypass ( Bypass )
51+
.Bypass ( BypassAw )
4752
) i_reg_aw (
4853
.clk_i ( clk_i ),
4954
.rst_ni ( rst_ni ),
@@ -57,7 +62,7 @@ module axi_cut #(
5762

5863
spill_register #(
5964
.T ( w_chan_t ),
60-
.Bypass ( Bypass )
65+
.Bypass ( BypassW )
6166
) i_reg_w (
6267
.clk_i ( clk_i ),
6368
.rst_ni ( rst_ni ),
@@ -71,7 +76,7 @@ module axi_cut #(
7176

7277
spill_register #(
7378
.T ( b_chan_t ),
74-
.Bypass ( Bypass )
79+
.Bypass ( BypassB )
7580
) i_reg_b (
7681
.clk_i ( clk_i ),
7782
.rst_ni ( rst_ni ),
@@ -85,7 +90,7 @@ module axi_cut #(
8590

8691
spill_register #(
8792
.T ( ar_chan_t ),
88-
.Bypass ( Bypass )
93+
.Bypass ( BypassAr )
8994
) i_reg_ar (
9095
.clk_i ( clk_i ),
9196
.rst_ni ( rst_ni ),
@@ -99,7 +104,7 @@ module axi_cut #(
99104

100105
spill_register #(
101106
.T ( r_chan_t ),
102-
.Bypass ( Bypass )
107+
.Bypass ( BypassR )
103108
) i_reg_r (
104109
.clk_i ( clk_i ),
105110
.rst_ni ( rst_ni ),
@@ -119,6 +124,11 @@ endmodule
119124
module axi_cut_intf #(
120125
// Bypass eneable
121126
parameter bit BYPASS = 1'b0,
127+
parameter bit BYPASS_AW = BYPASS,
128+
parameter bit BYPASS_W = BYPASS,
129+
parameter bit BYPASS_B = BYPASS,
130+
parameter bit BYPASS_AR = BYPASS,
131+
parameter bit BYPASS_R = BYPASS,
122132
// The address width.
123133
parameter int unsigned ADDR_WIDTH = 0,
124134
// The data width.
@@ -159,6 +169,11 @@ module axi_cut_intf #(
159169

160170
axi_cut #(
161171
.Bypass ( BYPASS ),
172+
.BypassAw ( BYPASS_AW ),
173+
.BypassW ( BYPASS_W ),
174+
.BypassB ( BYPASS_B ),
175+
.BypassAr ( BYPASS_AR ),
176+
.BypassR ( BYPASS_R ),
162177
.aw_chan_t ( aw_chan_t ),
163178
.w_chan_t ( w_chan_t ),
164179
.b_chan_t ( b_chan_t ),
@@ -199,6 +214,11 @@ endmodule
199214
module axi_lite_cut_intf #(
200215
// bypass enable
201216
parameter bit BYPASS = 1'b0,
217+
parameter bit BYPASS_AW = BYPASS,
218+
parameter bit BYPASS_W = BYPASS,
219+
parameter bit BYPASS_B = BYPASS,
220+
parameter bit BYPASS_AR = BYPASS,
221+
parameter bit BYPASS_R = BYPASS,
202222
/// The address width.
203223
parameter int unsigned ADDR_WIDTH = 0,
204224
/// The data width.
@@ -233,6 +253,11 @@ module axi_lite_cut_intf #(
233253

234254
axi_cut #(
235255
.Bypass ( BYPASS ),
256+
.BypassAw ( BYPASS_AW ),
257+
.BypassW ( BYPASS_W ),
258+
.BypassB ( BYPASS_B ),
259+
.BypassAr ( BYPASS_AR ),
260+
.BypassR ( BYPASS_R ),
236261
.aw_chan_t ( aw_chan_t ),
237262
.w_chan_t ( w_chan_t ),
238263
.b_chan_t ( b_chan_t ),

0 commit comments

Comments
 (0)