Skip to content
This repository was archived by the owner on Nov 22, 2023. It is now read-only.

Commit

Permalink
occamy: Add missing routes to HBM config crossbar (#361)
Browse files Browse the repository at this point in the history
* solder: properly connect HBM config

* occamygen: Move hbm config xbar attachment to other inter-xbar connections

Co-authored-by: Thomas Benz <[email protected]>
  • Loading branch information
paulsc96 and thommythomaso authored Mar 21, 2022
1 parent c0b7f5e commit 7cf9a70
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 5 deletions.
5 changes: 3 additions & 2 deletions hw/system/occamy/src/occamy_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ package occamy_pkg;
} soc_regbus_periph_xbar_outputs_e;

/// Address map of the `soc_regbus_periph_xbar` crossbar.
localparam xbar_rule_48_t [13:0] SocRegbusPeriphXbarAddrmap = '{
localparam xbar_rule_48_t [14:0] SocRegbusPeriphXbarAddrmap = '{
'{ idx: 0, start_addr: 48'h02000000, end_addr: 48'h02001000 },
'{ idx: 1, start_addr: 48'h02001000, end_addr: 48'h02002000 },
'{ idx: 2, start_addr: 48'h02002000, end_addr: 48'h02003000 },
Expand All @@ -232,7 +232,8 @@ package occamy_pkg;
'{ idx: 10, start_addr: 48'h07000000, end_addr: 48'h07010000 },
'{ idx: 11, start_addr: 48'h0c000000, end_addr: 48'h10000000 },
'{ idx: 12, start_addr: 48'h01000000, end_addr: 48'h01020000 },
'{ idx: 13, start_addr: 48'h04000000, end_addr: 48'h04100000 }
'{ idx: 13, start_addr: 48'h04000000, end_addr: 48'h04100000 },
'{ idx: 14, start_addr: 48'h08000000, end_addr: 48'h0a810000 }
};

/// Inputs of the `quadrant_pre_xbar_0` crossbar.
Expand Down
2 changes: 1 addition & 1 deletion hw/system/occamy/src/occamy_soc.sv
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ module occamy_soc
'{ idx: 7, start_addr: 48'h10000000000, end_addr: 48'h20000000000 },
'{ idx: 8, start_addr: 48'h00000000, end_addr: 48'h00001000 },
'{ idx: 9, start_addr: 48'h70000000, end_addr: 48'h70080000 },
'{ idx: 10, start_addr: 48'h01000000, end_addr: 48'h07010000 },
'{ idx: 10, start_addr: 48'h01000000, end_addr: 48'h0a810000 },
'{ idx: 10, start_addr: 48'h0c000000, end_addr: 48'h10000000 },
'{ idx: 11, start_addr: 48'h20000000, end_addr: 48'h70000000 },
'{ idx: 0, start_addr: s1_quadrant_base_addr[0], end_addr: s1_quadrant_base_addr[0] + S1QuadrantAddressSpace },
Expand Down
2 changes: 1 addition & 1 deletion hw/system/occamy/src/occamy_top.sv
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ SOC_REGBUS_PERIPH_XBAR_NUM_OUTPUTS

addr_decode #(
.NoIndices(SOC_REGBUS_PERIPH_XBAR_NUM_OUTPUTS),
.NoRules(14),
.NoRules(15),
.addr_t(logic [47:0]),
.rule_t(xbar_rule_48_t)
) i_addr_decode_soc_regbus_periph_xbar (
Expand Down
3 changes: 2 additions & 1 deletion util/occamygen.py
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,8 @@ def main():
# Connect wide xbar
am_soc_wide_xbar.attach(am_soc_narrow_xbar)

# Generate crossbars.
# Connect HBM config xbar to regbus xbar
am_soc_regbus_periph_xbar.attach(am_hbm_cfg_xbar)

#######################
# SoC Peripheral Xbar #
Expand Down

0 comments on commit 7cf9a70

Please sign in to comment.