Skip to content

Commit 12f023f

Browse files
committed
targets: use SoC HyperRAM helper
Replace direct HyperRAM instantiation in direct-mapped targets with SoC.add_hyperram(), letting the SoC bus standard select Wishbone, AXI-Lite or AXI natively. Keep special cached/legacy HyperRAM paths unchanged, and remove imports made redundant by the helper conversion. Verified with py_compile on converted targets and Trenz S7 Mini gateware export for both default Wishbone and --bus-standard=axi.
1 parent ba0ea05 commit 12f023f

13 files changed

Lines changed: 41 additions & 68 deletions

litex_boards/targets/antmicro_datacenter_ddr4_test_board.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
from litex.soc.cores.clock import *
1919
from litex.soc.integration.soc import *
20-
from litex.soc.integration.soc import SoCRegion
2120
from litex.soc.integration.builder import *
2221
from litex.soc.cores.led import LedChaser
2322
from litex.soc.cores.bitbang import I2CMaster
@@ -30,8 +29,6 @@
3029
from litedram.common import PhySettings, GeomSettings, TimingSettings
3130

3231
from liteeth.phy import LiteEthS7PHYRGMII
33-
from litex.soc.cores.hyperbus import HyperRAM
34-
3532
from litespi.modules import S25FL128S0
3633
from litespi.opcodes import SpiNorFlashOpCodes as Codes
3734

@@ -117,8 +114,10 @@ def __init__(self, *, sys_clk_freq=100e6, iodelay_clk_freq=200e6,
117114

118115
# HyperRAM ---------------------------------------------------------------------------------
119116
if with_hyperram:
120-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
121-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(origin=0x20000000, size=8 * MEGABYTE, mode="rwx"))
117+
self.add_hyperram(
118+
origin = 0x20000000,
119+
size = 8*MEGABYTE,
120+
)
122121

123122
# SD Card ----------------------------------------------------------------------------------
124123
if with_sdcard:

litex_boards/targets/antmicro_lpddr4_test_board.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,13 @@
1313

1414
from litex.soc.cores.clock import *
1515
from litex.soc.integration.soc import *
16-
from litex.soc.integration.soc import SoCRegion
1716
from litex.soc.integration.builder import *
1817
from litex.soc.cores.led import LedChaser
1918

2019
from litedram.modules import MT53E256M16D1
2120
from litedram.phy import lpddr4
2221

2322
from liteeth.phy import LiteEthS7PHYRGMII
24-
from litex.soc.cores.hyperbus import HyperRAM
25-
2623
# CRG ----------------------------------------------------------------------------------------------
2724

2825
class _CRG(LiteXModule):
@@ -81,8 +78,10 @@ def __init__(self, *, sys_clk_freq=50e6, iodelay_clk_freq=200e6,
8178

8279
# HyperRAM ---------------------------------------------------------------------------------
8380
if with_hyperram:
84-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
85-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(origin=0x20000000, size=8 * MEGABYTE, mode="rwx"))
81+
self.add_hyperram(
82+
origin = 0x20000000,
83+
size = 8*MEGABYTE,
84+
)
8685

8786
# SD Card ----------------------------------------------------------------------------------
8887
if with_sdcard:

litex_boards/targets/brisbaneSilicon_brs_100_gw1nr9.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
from litex.soc.integration.builder import *
2020
from litex.soc.cores.led import LedChaser
2121

22-
from litex.soc.cores.hyperbus import HyperRAM
23-
2422
# CRG ----------------------------------------------------------------------------------------------
2523

2624
class _CRG(LiteXModule):

litex_boards/targets/lattice_crosslink_nx_vip.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
from litex_boards.platforms import lattice_crosslink_nx_vip
1818

19-
from litex.soc.cores.hyperbus import HyperRAM
20-
2119
from litex.soc.cores.ram import NXLRAM
2220
from litex.build.generic_platform import *
2321

@@ -83,9 +81,11 @@ def __init__(self, sys_clk_freq=75e6, toolchain="radiant",
8381
else:
8482
# Use HyperRAM generic PHY as SRAM -----------------------------------------------------
8583
size = 8 * MEGABYTE
86-
hr_pads = platform.request("hyperram", int(hyperram))
87-
self.hyperram = HyperRAM(hr_pads, sys_clk_freq=sys_clk_freq)
88-
self.bus.add_slave("sram", slave=self.hyperram.bus, region=SoCRegion(origin=self.mem_map["sram"], size=size, mode="rwx"))
84+
self.add_hyperram(
85+
region_name = "sram",
86+
number = int(hyperram),
87+
size = size,
88+
)
8989

9090
# Leds -------------------------------------------------------------------------------------
9191
if with_led_chaser:

litex_boards/targets/sipeed_tang_nano_4k.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
from litex.soc.cores.led import LedChaser
2020
from litex.soc.cores.video import *
2121

22-
from litex.soc.cores.hyperbus import HyperRAM
23-
2422
# CRG ----------------------------------------------------------------------------------------------
2523

2624
class _CRG(LiteXModule):
@@ -123,8 +121,12 @@ def __init__(self):
123121
hyperram_pads = HyperRAMPads()
124122
self.comb += platform.request("O_hpram_ck").eq(hyperram_pads.clk)
125123
self.comb += platform.request("O_hpram_ck_n").eq(~hyperram_pads.clk)
126-
self.hyperram = HyperRAM(hyperram_pads, sys_clk_freq=sys_clk_freq)
127-
self.bus.add_slave("main_ram", slave=self.hyperram.bus, region=SoCRegion(origin=0x40000000, size=8 * MEGABYTE, mode="rwx"))
124+
self.add_hyperram(
125+
pads = hyperram_pads,
126+
region_name = "main_ram",
127+
origin = 0x40000000,
128+
size = 8*MEGABYTE,
129+
)
128130

129131
# Video ------------------------------------------------------------------------------------
130132
if with_video_terminal:

litex_boards/targets/trenz_c10lpek.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313

1414
from litex_boards.platforms import trenz_c10lpek
1515

16-
from litex.soc.cores.hyperbus import HyperRAM
17-
from litex.soc.integration.soc import SoCRegion
1816
from litex.soc.integration.soc import *
1917
from litex.soc.integration.builder import *
2018
from litex.soc.cores.led import LedChaser
@@ -54,12 +52,10 @@ def __init__(self, sys_clk_freq=50e6,
5452

5553
# HyperRAM ---------------------------------------------------------------------------------
5654
if with_hyperram:
57-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
58-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(
55+
self.add_hyperram(
5956
origin = 0x20000000,
6057
size = 8*MEGABYTE,
61-
mode = "rwx",
62-
))
58+
)
6359

6460
# Leds -------------------------------------------------------------------------------------
6561
if with_led_chaser:

litex_boards/targets/trenz_c10lprefkit.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
from litex.soc.cores.clock import Cyclone10LPPLL
1818
from litex.soc.integration.soc import *
19-
from litex.soc.integration.soc import SoCRegion
2019
from litex.soc.integration.builder import *
2120
from litex.soc.cores.led import LedChaser
2221

@@ -25,7 +24,6 @@
2524

2625
from liteeth.phy.mii import LiteEthPHYMII
2726

28-
from litex.soc.cores.hyperbus import HyperRAM
2927

3028
# CRG ----------------------------------------------------------------------------------------------
3129

@@ -75,8 +73,7 @@ def __init__(self, sys_clk_freq=50e6,
7573
SoCCore.__init__(self, platform, sys_clk_freq, ident="LiteX SoC on C10 LP RefKit", **kwargs)
7674

7775
# HyperRam ---------------------------------------------------------------------------------
78-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
79-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(origin=0x20000000, size=8 * MEGABYTE, mode="rwx"))
76+
self.add_hyperram(size=8*MEGABYTE)
8077

8178
# SDR SDRAM --------------------------------------------------------------------------------
8279
if not self.integrated_main_ram_size:

litex_boards/targets/trenz_cr00010.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
from litex_boards.platforms import trenz_cr00010
1515

1616
from litex.soc.cores.clock import CycloneVPLL
17-
from litex.soc.cores.hyperbus import HyperRAM
18-
from litex.soc.integration.soc import SoCRegion
1917
from litex.soc.integration.soc import *
2018
from litex.soc.integration.builder import *
2119
from litex.soc.cores.led import LedChaser
@@ -68,12 +66,10 @@ def __init__(self, sys_clk_freq=50e6,
6866

6967
# HyperRAM ---------------------------------------------------------------------------------
7068
if with_hyperram:
71-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
72-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(
69+
self.add_hyperram(
7370
origin = 0x30000000,
7471
size = 8*MEGABYTE,
75-
mode = "rwx",
76-
))
72+
)
7773

7874
# SPI Flash --------------------------------------------------------------------------------
7975
if with_spi_flash:

litex_boards/targets/trenz_mega65.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@
1414
from litex_boards.platforms import trenz_mega65
1515

1616
from litex.soc.cores.clock import *
17-
from litex.soc.integration.soc import SoCRegion
1817
from litex.soc.integration.soc import *
1918
from litex.soc.integration.builder import *
20-
from litex.soc.cores.hyperbus import HyperRAM
2119
from litex.soc.cores.led import LedChaser
2220

2321
# CRG ----------------------------------------------------------------------------------------------
@@ -58,12 +56,10 @@ def __init__(self, sys_clk_freq=100e6,
5856

5957
# HyperRAM ---------------------------------------------------------------------------------
6058
if with_hyperram:
61-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
62-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(
59+
self.add_hyperram(
6360
origin = 0x20000000,
6461
size = 8*MEGABYTE,
65-
mode = "rwx",
66-
))
62+
)
6763

6864
# Ethernet / Etherbone ---------------------------------------------------------------------
6965
if with_ethernet or with_etherbone:

litex_boards/targets/trenz_s7mini.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@
1414
from litex_boards.platforms import trenz_s7mini
1515

1616
from litex.soc.cores.clock import *
17-
from litex.soc.integration.soc import SoCRegion
1817
from litex.soc.integration.soc import *
1918
from litex.soc.integration.builder import *
20-
from litex.soc.cores.hyperbus import HyperRAM
2119
from litex.soc.cores.led import LedChaser
2220

2321
# CRG ----------------------------------------------------------------------------------------------
@@ -51,12 +49,10 @@ def __init__(self, sys_clk_freq=100e6,
5149

5250
# HyperRAM ---------------------------------------------------------------------------------
5351
if with_hyperram:
54-
self.hyperram = HyperRAM(platform.request("hyperram"), sys_clk_freq=sys_clk_freq)
55-
self.bus.add_slave("hyperram", slave=self.hyperram.bus, region=SoCRegion(
52+
self.add_hyperram(
5653
origin = 0x20000000,
5754
size = 8*MEGABYTE,
58-
mode = "rwx",
59-
))
55+
)
6056

6157
# Leds -------------------------------------------------------------------------------------
6258
if with_led_chaser:

0 commit comments

Comments
 (0)