Florent Kermarrec
94c215e852
litedram_gen: review/simplify #193 , always add ddrctrl.
2020-05-12 16:21:04 +02:00
enjoy-digital
f036ec2c26
Merge pull request #193 from ozbenh/standalone-cores
...
Improve standalone cores
2020-05-12 14:56:40 +02:00
Benjamin Herrenschmidt
04717b478b
gen: Rename standalone core wishbone
...
Name it wb_ctrl rather than just wb, which makes the resulting
core signal names a bit more descriptive. IE. The DRAM control
bus (by opposition to the use/data buss(es).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-12 21:59:01 +10:00
Benjamin Herrenschmidt
b0838f70e3
gen: Add option to specify CSR alignment
...
On some standalone core implementations, such with Microwatt,
the main system bus is 64-bit, but the wishbone to access the
CSRs is 32-bit.
To avoid extra logic & muxes and just wire these together, it's
useful to be able to specify a larger alignemnt (64-bit) for the
CSRs so that the generated csr.h contains the right offsets.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-12 21:58:13 +10:00
Benjamin Herrenschmidt
d5a03b3d89
gen: Add option to generate DDRCTL on standalone cores
...
Microwatt will want that as it uses init_done to select whether
to run the SDRAM init code or the user code at reset.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-12 21:56:33 +10:00
Benjamin Herrenschmidt
efad6b3ca5
gen: Add option to specify CSR base for standalone cores
...
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-12 21:55:05 +10:00
Benjamin Herrenschmidt
c91cbb597d
gen: Remove obsolete bus_expose config option
...
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-12 21:54:47 +10:00
Florent Kermarrec
4e539ad76e
litedram_gen: switch to SoCCore.
2020-05-12 09:21:36 +02:00
Florent Kermarrec
ac33d29727
litedram_gen: simplify and expose bus when CPU is set to None.
2020-05-12 09:07:59 +02:00
Florent Kermarrec
fe478382e1
litedram_gen: expose a Bus Slave port instead of a CSR port.
...
The logic overhead is minimal and it makes things easier with more flexibility:
- since the main Bus is arbitrated, CPU and Bus Slave can coexist.
- integration is easier in LiteX.
- bridging to APB/AXI is easier.
2020-05-11 22:47:09 +02:00
Florent Kermarrec
52b49fb80e
test/reference: update.
2020-05-09 18:02:42 +02:00
Florent Kermarrec
52ca3936fe
modules: add MT41J512M16/MT41K512M16.
2020-05-09 16:37:24 +02:00
Florent Kermarrec
589957f115
phy: extend Bitslip capability to 2 sys_clk cycles.
2020-05-08 13:12:17 +02:00
Florent Kermarrec
5c0231d929
common/BitSlip: add cycles parameter to extend bitstlip to multiple system clock cycles.
2020-05-08 13:09:54 +02:00
Benjamin Herrenschmidt
ed0810a1af
gen: Optionally pass cpu_variant from YAML to SoC
...
This allows the right gcc options to be set when using for
example VexRiscv_Min.v
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-06 21:42:37 +02:00
enjoy-digital
dfe6f90569
Merge pull request #188 from daveshah1/ddr4_dimm_x4
...
usddrphy: Support for x4 chip based DIMMs
2020-04-29 12:03:10 +02:00
enjoy-digital
9f136c0fce
Merge pull request #187 from daveshah1/add_MTA18ASF2G72PZ
...
modules: Add MTA18ASF2G72PZ DDR4 RDIMM
2020-04-29 12:01:52 +02:00
David Shah
5b4381bcd3
usddrphy: Support for x4 chip based DIMMs
...
Signed-off-by: David Shah <dave@ds0.me>
2020-04-29 10:47:31 +01:00
David Shah
97f0a3745b
modules: Add MTA18ASF2G72PZ DDR4 RDIMM
...
Signed-off-by: David Shah <dave@ds0.me>
2020-04-29 10:40:19 +01:00
Florent Kermarrec
9a2d3f0eb9
common: add PHYPadsReducer to only use specific DRAM modules.
...
For example on KC705, to only use the 4 first modules (bytes):
from litedram.common import PHYPadsReducer
ddram_pads = platform.request("ddram")
ddram_pads = PHYPadsReducer(ddram_pads, modules=[0, 1, 2, 3])
self.submodules.ddrphy = s7ddrphy.K7DDRPHY(ddram_pads,
[...]
On Arty, to only use the second module (byte):
from litedram.common import PHYPadsReducer
ddram_pads = platform.request("ddram")
ddram_pads = PHYPadsReducer(ddram_pads, modules=[1])
self.submodules.ddrphy = s7ddrphy.A7DDRPHY(ddram_pads,
[...]
2020-04-29 10:34:34 +02:00
Florent Kermarrec
20a849c652
test/reference: update ddr4_init.h
2020-04-28 11:57:11 +02:00
enjoy-digital
cec3a994e8
Merge pull request #181 from antmicro/jboc/eeprom-timings
...
Add option to load module data from DDR3 SPD EEPROM
2020-04-25 08:25:35 +02:00
Florent Kermarrec
48c2fc2cad
phy: simplify/improve dqs preamble/postamble.
...
Add some FIXMEs on ECP5DDRPHY.
2020-04-17 19:50:34 +02:00
Jędrzej Boczar
312bce2bf1
modules: pass rate automatically when creating module from SPD data
2020-04-17 14:14:02 +02:00
Jędrzej Boczar
07bbd79eaf
modules: update existsing SO-DIMM timings based on SPD data
2020-04-17 11:57:55 +02:00
Florent Kermarrec
eaf0691908
phy/ecp5ddrphy: simplify, working with dqs preamble/postamble.
2020-04-16 19:44:19 +02:00
Florent Kermarrec
12a017ff9c
phy/ecp5ddrphy: simplify/cleanup.
2020-04-16 17:54:58 +02:00
Florent Kermarrec
62915cd777
phy: rework BitSlip to simplify integration, add DQSPattern module.
2020-04-16 17:13:37 +02:00
Florent Kermarrec
9ff9e82d25
phy/usddrphy: move pads.ten control to control block.
2020-04-16 15:32:12 +02:00
Florent Kermarrec
91a9a2aeb1
phy/ecp5ddrphy: fix dqs preamble/postamble control. (make it similar to 7-series/Ultrascale).
2020-04-16 15:29:02 +02:00
Florent Kermarrec
5d29686b1a
phy/s7ddrphy/usddrphy: more compact write dqs postamble/preamble control path.
2020-04-16 15:28:29 +02:00
Florent Kermarrec
8d0e7f6e6a
phy/usddrphy: simplify/cleanup write control path/dqs postamble/preamble control path.
2020-04-16 15:20:22 +02:00
Florent Kermarrec
57b16c231c
phy/usddrphy: simplify/cleanup write control path, add DQS Pre/Postamble support.
2020-04-16 13:01:48 +02:00
Florent Kermarrec
1462a4375b
phy/usddrphy: cleanup/simplify read control path.
2020-04-16 12:04:55 +02:00
Florent Kermarrec
cd671f9b11
phy/s7ddrphy: cleanup/simplify read control path.
2020-04-16 12:04:36 +02:00
Florent Kermarrec
d061e60611
test/reference: update.
2020-04-16 11:38:43 +02:00
Jędrzej Boczar
cf83ac6422
test: improve SPD tests of Micron DDR3 SO-DIMM modules
2020-04-16 10:57:09 +02:00
Florent Kermarrec
45a03dff53
phy/init: add phytype to PhySettings and export more parameters to C header to simplify software.
...
Also:
- rename some paramters exported to software.
- simplify wlevel registers on A7DDRPHY (add then even if not used).
- move parameters computation in separate section.
2020-04-16 10:20:34 +02:00
Jędrzej Boczar
854a614f99
modules: fix calculations of speedgrade from tck in SPD data
2020-04-16 10:12:23 +02:00
Florent Kermarrec
2df90040b7
init: improve ident.
2020-04-16 09:05:45 +02:00
Florent Kermarrec
eca7fc2ddc
phy/ecp5ddrphy: remove Bitslip from comment (no longer present).
2020-04-16 08:51:26 +02:00
Florent Kermarrec
f4f2948f61
phy/ecpddrphy: remove Bitslip (not used and redundant with dqs_read) and use BitSlip software control to move dqs_read.
2020-04-15 19:27:12 +02:00
Jędrzej Boczar
c744204e1d
modules: fix nrows in MT8KTF51264
2020-04-15 16:20:55 +02:00
Jędrzej Boczar
3980e062d5
modules: add option to load module parameters from SPD data
2020-04-15 16:20:55 +02:00
Florent Kermarrec
e2b4c2bfa1
phy/ecp5ddrphy: cosmetics.
2020-04-15 15:05:57 +02:00
Florent Kermarrec
f68f1ddfad
phy/ecp5ddrphy/control: cleanup/simplify and document (no functional changes).
2020-04-15 13:06:59 +02:00
Florent Kermarrec
fdf7c7613c
phy/control: cleanup/simplify (no functional changes).
2020-04-15 11:15:00 +02:00
Florent Kermarrec
a7676189b5
phy: improve flow control readability (add separators between Read/Write/Write DQS Postamble/Preamble parts).
2020-04-15 10:51:25 +02:00
Florent Kermarrec
de55a8e170
test/test_bandwidth: review, cleanup, fix typo.
2020-04-14 21:57:40 +02:00
Florent Kermarrec
907ef73971
test/test_wishbone: add comments/cleanup.
2020-04-14 21:48:44 +02:00