Skip to content

Commit 43133d0

Browse files
committed
axi_isolate: Add parameter AtopSupport
1 parent f657f16 commit 43133d0

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

CHANGELOG.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
88
## Unreleased
99

1010
### Added
11-
- `axi_demux`: Add parameter `AtopSupport` to optionally disable the support for atomic operations
12-
(ATOPs). This parameter defaults to `1'b1`, i.e., ATOPs are supported. Therefore, this change is
13-
backward-compatible.
11+
- `axi_demux` and `axi_isolate`: Add parameter `AtopSupport` to optionally disable the support for
12+
atomic operations (ATOPs). This parameter defaults to `1'b1`, i.e., ATOPs are supported.
13+
Therefore, this change is backward-compatible.
1414
- `axi_isolate`: Add parameter `TerminateTransaction` to optionally respond to transactions during
1515
isolation. This parameter defaults to `1'b0`, i.e., transactions do not get responses.
1616
Therefore, this change is backward-compatible.

src/axi_isolate.sv

+6-2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ module axi_isolate #(
4343
/// Gracefully terminate all incoming transactions in case of isolation by returning proper error
4444
/// responses.
4545
parameter bit TerminateTransaction = 1'b0,
46+
/// Support atomic operations (ATOPs)
47+
parameter bit AtopSupport = 1'b1,
4648
/// Address width of all AXI4+ATOP ports
4749
parameter int unsigned AxiAddrWidth = 32'd0,
4850
/// Data width of all AXI4+ATOP ports
@@ -92,7 +94,7 @@ module axi_isolate #(
9294
if (TerminateTransaction) begin
9395
axi_demux #(
9496
.AxiIdWidth ( AxiIdWidth ),
95-
.AtopSupport ( 1'b1 ),
97+
.AtopSupport ( AtopSupport ),
9698
.aw_chan_t ( aw_chan_t ),
9799
.w_chan_t ( w_chan_t ),
98100
.b_chan_t ( b_chan_t ),
@@ -129,7 +131,7 @@ module axi_isolate #(
129131
.axi_resp_t ( axi_resp_t ),
130132
.Resp ( axi_pkg::RESP_DECERR ),
131133
.RespData ( 'h1501A7ED ),
132-
.ATOPs ( 1'b1 ),
134+
.ATOPs ( AtopSupport ),
133135
.MaxTrans ( 1 )
134136
) i_axi_err_slv (
135137
.clk_i,
@@ -413,6 +415,7 @@ endmodule
413415
module axi_isolate_intf #(
414416
parameter int unsigned NUM_PENDING = 32'd16,
415417
parameter bit TERMINATE_TRANSACTION = 1'b0,
418+
parameter bit ATOP_SUPPORT = 1'b1,
416419
parameter int unsigned AXI_ID_WIDTH = 32'd0,
417420
parameter int unsigned AXI_ADDR_WIDTH = 32'd0,
418421
parameter int unsigned AXI_DATA_WIDTH = 32'd0,
@@ -453,6 +456,7 @@ module axi_isolate_intf #(
453456
axi_isolate #(
454457
.NumPending ( NUM_PENDING ),
455458
.TerminateTransaction ( TERMINATE_TRANSACTION ),
459+
.AtopSupport ( ATOP_SUPPORT ),
456460
.AxiAddrWidth ( AXI_ADDR_WIDTH ),
457461
.AxiDataWidth ( AXI_DATA_WIDTH ),
458462
.AxiIdWidth ( AXI_ID_WIDTH ),

0 commit comments

Comments
 (0)