Commit Graph

984 Commits

Author SHA1 Message Date
Florent Kermarrec 07bf34d0e7 frontend/wishbone: revert non-FSM version, the FSM one does not seem to cover all cases. 2020-08-05 15:48:23 +02:00
Florent Kermarrec 9c5ce52b88 common: add connect method to LiteDRAMNativePort and use it in adapter for identify converter. 2020-08-05 12:17:25 +02:00
Florent Kermarrec 06f7192fb6 frontend/adapter/LiteDRAMNativePortConverter: simplify using ratio. 2020-08-05 11:41:54 +02:00
Florent Kermarrec a3dfc1db25 frontend/adapter: minor cleanups. 2020-08-05 11:34:49 +02:00
Florent Kermarrec deac4c8134 frontend/adapter: simplify LiteDRAMNativePortDownConverter. 2020-08-05 11:28:44 +02:00
Florent Kermarrec ce4e7f9ad0 frontend/adapter: simplify LiteDRAMNativePortCDC using stream.ClockDomainCrossing. 2020-08-05 11:24:48 +02:00
Florent Kermarrec 16fd46bf35 frontend: rename adaptation to adapter. 2020-08-05 11:10:42 +02:00
Florent Kermarrec 4970c8aa8c frontend/wishbone: simplify/review and get FSM back (ease comprehension). 2020-08-05 11:05:00 +02:00
Florent Kermarrec 47a0d5fb9e litedram_gen/LiteDRAMUSDDRPHYCRG: remove AsyncResetSynchronizer on sys/sys4x (reset handled by USIDELAYCTRL). 2020-07-29 08:12:49 +02:00
enjoy-digital 02e67ec7c5
Merge pull request #192 from antmicro/jboc/port-adaptation
Implement LiteDRAMNativePortUpConverter with mode="both"
2020-07-28 19:02:33 +02:00
enjoy-digital 71b991ec08
Merge pull request #210 from oskirby/ddr3-tdqs-mode
Add support for TDQS mode.
2020-07-27 10:52:48 +02:00
Owen Kirby 805a37447c Add support for TDQS mode.
This adds an optional argument to add_electrical_settings() that can
enable the TDQS mode for x8 DDR3 modules. Normally this would be used
when mixing x4 and x8 modules (eg: heterogenous DIMMS), but it can
also workaround boards with missing or broken DM signals.
2020-07-26 15:51:07 -07:00
Florent Kermarrec c01e86865f phy/gensdrphy/HalfRateGENSDRPHY: review/simplify and reduce read_latency by 1. 2020-07-24 11:07:15 +02:00
Florent Kermarrec f51052f8b7 core/controller: fix burst_length regression introduced by #206. 2020-07-18 23:06:11 +02:00
enjoy-digital c4ac887ec2
Merge pull request #206 from antmicro/jboc/gensdrphy
Add HalfRate GENSDRPHY
2020-07-15 08:19:37 +02:00
Jędrzej Boczar 2c5fc6621a phy/gensdrphy: fix problems with half-rate phy, tested on minispartan6 2020-07-14 10:58:58 +02:00
Jędrzej Boczar 7f55e2e2c5 phy/gensdrphy: add half-rate PHY 2020-07-13 17:03:01 +02:00
Florent Kermarrec edd5e0ec78 phy/gensdrphy: padd clk to SDROutput/SDRInput/SDRTristate. 2020-07-08 07:00:11 +02:00
Florent Kermarrec a8fa38e286 phy/ecp5ddrphy: cosmetic cleanups. 2020-06-30 09:25:44 +02:00
Florent Kermarrec 8c339b9945 litedram_gen: update ECP5 clocking. 2020-06-29 19:30:13 +02:00
Florent Kermarrec f6cc1cdb08 litedram_gen: increase integrated_rom_size to 0x8000. 2020-06-29 19:28:11 +02:00
Florent Kermarrec 9044c10408 phy/ecp5ddrphy: use sys_rst instead of sys2x_rst as reset on primitives and do sys2x reset externally. 2020-06-29 16:09:14 +02:00
Florent Kermarrec fa7d91a053 phy/ecp5: simplify/fix dqs_oe/dq_oe and revert BitSlip on dq_i_data.
dq/dqs_oe was one cycle of and BitSlip on dq_i_data is required for correct initialization.
2020-06-29 16:06:56 +02:00
enjoy-digital 8c112c709c
Merge pull request #207 from ozbenh/sim-autoinit
dfii: Really default to HW control
2020-06-10 10:36:05 +02:00
Benjamin Herrenschmidt 4580882c69 dfii: Really default to HW control
Looks like there was a typo in commit
a595fe07f2
"dfii: simplify control using CSRFields"

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-06-10 16:06:46 +10:00
Florent Kermarrec 52d7dbe3a6 frontend/fifo: make sure FIFO is only used on LiteDRAMNativePort, expose writer/reader fifo depth, add separators and update copyrights. 2020-06-04 09:26:13 +02:00
enjoy-digital c4c8803f4f
Merge pull request #204 from antmicro/jboc/spd-read
Add DDR4 SPD EEPROM data parser
2020-06-04 08:54:59 +02:00
enjoy-digital 067e8a5eb3
Merge pull request #205 from antmicro/jboc/fifo
frontend/fifo: increase FIFO level only after data has actually been written
2020-06-04 08:41:04 +02:00
Jędrzej Boczar e5179eb9ab gen: fix LiteDRAMFIFO parameters 2020-06-03 17:39:45 +02:00
Jędrzej Boczar 8fedc3fcd2 frontend/fifo: increase FIFO level after data has actually been written 2020-06-03 16:13:28 +02:00
Florent Kermarrec 992f80c68b litedram_gen: add Ultrascale(+) support and KCU105 config file, remove cmd_delay on 7-series (not automatically calibrated). 2020-06-03 09:35:40 +02:00
Florent Kermarrec 361d250677 litedram_gen: avoid second S7PLL for iodelay clk, generate it from main S7PLL on CLKOUT0 (with fractional divide). 2020-06-03 09:04:00 +02:00
Florent Kermarrec 1b56dcf364 litedram_gen: add more memtype asserts, remove csr_alignment (now fixed to 32-bit). 2020-06-03 08:57:31 +02:00
Florent Kermarrec a595fe07f2 dfii: simplify control using CSRFields. 2020-06-02 16:31:33 +02:00
enjoy-digital 899462c864
Merge pull request #202 from ozbenh/sim-autoinit
Default to HW control for sim
2020-06-02 15:48:41 +02:00
Jędrzej Boczar 863c45a114 test/spd_data: add missing files to tracking 2020-06-02 15:19:53 +02:00
Jędrzej Boczar cbd90877b0 modules/spd: select tFAW_min_ck depending on page size 2020-06-02 12:19:38 +02:00
Jędrzej Boczar a8f2c044c9 modules: add DDR4SPDData parser 2020-06-02 12:16:41 +02:00
enjoy-digital d62fd24c81
Merge pull request #201 from antmicro/jboc/spd-read
modules/spd: save SPD data in SDRAMModule
2020-06-01 21:16:58 +02:00
Jędrzej Boczar 4233f86112 modules/spd: save SPD data in SDRAMModule to allow for runtime verification 2020-06-01 16:56:41 +02:00
Benjamin Herrenschmidt f3f89ed8d1 Default to HW control for sim
(needs corresponding sdram.c fix in litex)

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-06-01 23:44:59 +10:00
Florent Kermarrec f23cb8056d litedram_gen: revert builder.build(..., regular_comb=False). 2020-05-27 19:56:00 +02:00
Florent Kermarrec d1db115d6c litedram_gen: review/simplify #197. 2020-05-27 19:42:40 +02:00
enjoy-digital a8e281f7c5
Merge pull request #197 from ozbenh/standalone-sim
Allow generation of a standalone sim model
2020-05-27 19:16:00 +02:00
enjoy-digital 83b9a1d798
Merge pull request #199 from antmicro/jboc/spd-read
modules: add function for parsing SPD EEPROM dumps from BIOS firmware
2020-05-27 14:57:16 +02:00
Benjamin Herrenschmidt d0f0c94652 phy/model: Don't generate empty mem_*.init files
When using the SDRAM PHY model without specified init data, the
generator still generates a bunch of $readmemh for each bank
reading mem.init, mem_1.init etc... all of which are 0-sized files.

This is cumbersome especially when using a standalone model in
an external project.

This is fixed by having the default bank_init be set to a list
of "None" rather than a list of empty lists.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-22 18:09:11 +10:00
Benjamin Herrenschmidt b8d6da534f gen: Allow generation of a standalone sim model
If the --sim argument is passed, this generates a model using
the simulation platform and simulated PHY.

Note: The data_width is set to 16 for now, which matches the
Arty. I haven't yet figured out how to extract that info from
the data we have in the .yml

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2020-05-22 18:09:06 +10:00
Jędrzej Boczar cbe91bcd41 modules: add function for parsing SPD EEPROM dumps from BIOS firmware 2020-05-21 16:18:34 +02:00
Florent Kermarrec 639a31fdd2 test/test_timing: update test_txxd_controller. 2020-05-20 23:40:01 +02:00
Florent Kermarrec 3c1ab76bbc litedram/common/tXXDController: only set reset to 1 when txxd is None.
This avoids triggering a warning/error with Yosys.
2020-05-19 13:10:32 +02:00