Commit Graph

1011 Commits

Author SHA1 Message Date
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
Jędrzej Boczar efe9a44c93 frontend/adaptation: clean up LiteDRAMNativePortUpConverter code 2020-05-11 16:47:43 +02:00
Jędrzej Boczar 2f35e9714d frontend/adaptation: fix error when read follows write to the same address 2020-05-11 16:11:40 +02:00
Jędrzej Boczar 1587ee3611 frontend/adaptation: use port.cmd.last instead of port.flush in up-converter 2020-05-11 15:28:32 +02:00
Jędrzej Boczar 35fa91c055 test/crossbar: up-conversion with mode="both" should be working now 2020-05-11 14:56:39 +02:00
Jędrzej Boczar 9b90a56e07 frontend/adaptation: combine read/write port up-converters and extend tests 2020-05-11 14:56:39 +02:00
Jędrzej Boczar 762cd6d0f1 test/adaptation: add port converter tests with mode="both" 2020-05-11 14:56:39 +02:00
Jędrzej Boczar 7a0f7a7ead test/common: fix error in test data 2020-05-11 14:56:39 +02:00
Jędrzej Boczar 1cc9656a2d test/crossbar: improve NativePortDriver to use separate generatos on data paths 2020-05-11 14:25:06 +02:00
Jędrzej Boczar 025e280804 test/crossbar: fix test that was not being run 2020-05-11 14:25:06 +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
David Shah 70054bacdb Add support for DDR4 RDIMMs
Signed-off-by: David Shah <dave@ds0.me>
2020-04-29 12:34:41 +01: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