Commit Graph

1389 Commits

Author SHA1 Message Date
Jędrzej Boczar 721b6f874b phy/lpddr4: make simphy serialization cleaner and easier to read 2021-06-21 14:43:49 +02:00
Jędrzej Boczar 47e8a59511 phy/lpddr4: extract SimulationPads and use it as a base class 2021-06-21 14:43:49 +02:00
Jędrzej Boczar 060dbcc70d phy/lpddr4: extract command serialization logic into separate class 2021-06-21 14:43:49 +02:00
Jędrzej Boczar 5ccf3b57cc phy/lpddr4: use databits//8 explicitly 2021-06-21 13:22:15 +02:00
Jędrzej Boczar 8e563239f9 phy/lpddr4: extract common utilities 2021-06-21 13:22:15 +02:00
Jędrzej Boczar badf94e403 phy/lpddr4: move common utils up a directory 2021-06-21 13:22:15 +02:00
Jędrzej Boczar 1eecd297a1 phy/lpddr4: remove use of deprecated soc_sdram_args 2021-06-21 13:22:15 +02:00
Florent Kermarrec d16aaa7456 frontend/ecc: Add optional Write errors detection (checking granularity).
Write granularity has been recently reduced from DRAM's full burst data-width to DRAM's data-width.
This can avoid read-modify-write pattern from User logic, but we also need to be sure
the User logic will not generate partial access or adjust the granularity correctly.

The new with_we_error_detection paramter can be set to True to enable Write granularity errors
and can ease debug.
2021-06-09 09:27:58 +02:00
Florent Kermarrec 5ce6bf7824 frontend/ecc: Add burst_cycles parameter (ease understanding and will be required if used on non 1:4 DDR PHYs). 2021-06-08 17:28:46 +02:00
Florent Kermarrec c5d70114b5 frontend/ecc: Reduce write byte enable granularity from DRAM's full burst data-width to DRAM's data-width.
Also add comments.
2021-06-08 16:59:29 +02:00
Florent Kermarrec 377d6fac6c test/test_lpddr4: Disable failing test. 2021-06-08 15:07:53 +02:00
Florent Kermarrec 2fcc6fe552 test/test_ecc: Update. 2021-06-08 15:07:39 +02:00
Florent Kermarrec 8b606cd05a frontend/ecc/LiteDRAMNativePortECCW: Only set source.we when sink has at least one valid byte to write.
Write access with sink.we bits all set to 0 can happen when converters are used
in the user logic.
2021-06-04 18:31:09 +02:00
enjoy-digital 3f88eb9a43
Merge pull request #253 from gsomlo/gls-fix-gcc-warn
fix gcc warning: function used but not defined
2021-05-28 08:28:43 +02:00
Gabriel Somlo dc6cb89737 also remove 'static' from cdelay() declarations in test suite 2021-05-26 12:09:26 -04:00
Gabriel Somlo e2b5602acf fix gcc warning: function used but not defined
The 'cdelay()' function is defined in LiteX 'liblitedram', so we
should not be using 'static' to declare it before calling it from
other C source files.
2021-05-26 10:35:28 -04:00
Florent Kermarrec b0bbe8aa75 frontend/dma/LiteDRAMDMAWriter: Fix refactoring fsm state typo. 2021-05-26 15:18:04 +02:00
Florent Kermarrec b8cd26fa52 test/refefence: Update. 2021-05-18 11:26:40 +02:00
Florent Kermarrec 0877a81b4b test/test_init: Add simple way to update references. 2021-05-18 11:26:19 +02:00
enjoy-digital afbb229308
Merge pull request #252 from antmicro/jboc/lpddr4-inc-freq
init: generate sdram_phy.h in a way that allows to include it in multiple units
2021-05-18 10:27:39 +02:00
Jędrzej Boczar 282c208b63 init: generate sdram_phy.h in a way that allows to include it in multiple units 2021-05-13 18:54:01 +02:00
enjoy-digital 762da8034d
Merge pull request #250 from andrewb1999/adapter-fix
Only update UpConverter sel when input valid
2021-05-03 16:59:55 +02:00
enjoy-digital feba854c0b
Merge pull request #249 from andrewb1999/master
Fix adapter reverse typo
2021-05-03 16:49:59 +02:00
Andrew Butt e97ff4aaa0 Fix adapter sel
Signed-off-by: Andrew Butt <andrewb1999@gmail.com>
2021-05-01 17:42:07 -04:00
Andrew Butt 99990b9eae Fix adapter reverse typo
Signed-off-by: Andrew Butt <andrewb1999@gmail.com>
2021-04-30 11:49:20 -04:00
Florent Kermarrec 63358ee666 test/reference: Update. 2021-04-28 18:21:27 +02:00
enjoy-digital 8a4311ba40
Merge pull request #248 from antmicro/jboc/lpddr4-init
init/lpddr4: make some settings configurable via phy_settings
2021-04-28 17:58:49 +02:00
Florent Kermarrec 6755c8438f frontend/wishbone: Fix refactoring typos (thanks jfng). 2021-04-28 17:55:18 +02:00
Florent Kermarrec 981d5a077b init: Disable DQ-DQS training on Ultrascale(+) for now (requires more testing). 2021-04-28 17:54:25 +02:00
Jędrzej Boczar 3cdce6ca53 init/lpddr4: make some settings configurable via phy_settings 2021-04-28 15:05:33 +02:00
enjoy-digital c139f9d3d4
Merge pull request #247 from andrewb1999/master
Fix UpConverter reversed write mask
2021-04-27 18:19:32 +02:00
Florent Kermarrec bd80053ebf frontend/wishbone: Rewrite/Simplify using an FSM (as it was originally) and also add Abort support. 2021-04-27 16:08:15 +02:00
Andrew Butt b4a2b7f9b0 Fix UpConverter reversed write mask
Signed-off-by: Andrew Butt <andrewb1999@gmail.com>
2021-04-27 02:08:31 -04:00
Florent Kermarrec 886f60d32c test/reference: Update. 2021-04-23 11:26:30 +02:00
Florent Kermarrec 6a80773bc8 init: Simplify SDRAM_PHY_MODULES define: this is just SDRAM_PHY_DATABITS/8. 2021-04-23 09:05:32 +02:00
Hans Baier ca03bc2cd1 add support for Winbond W9825G6KH-6 at 50MHz 1:2 rate 2021-04-23 03:51:08 +07:00
Florent Kermarrec 103534d0e8 init: Enable DQ-DQS training on 7-Series (except Artix7) and Ultrascale. 2021-04-22 18:34:18 +02:00
Florent Kermarrec 3f4b6f661c init: Cleanup PHY lists in capabilities. 2021-04-22 17:38:14 +02:00
enjoy-digital fda8689142
Merge pull request #244 from antmicro/jboc/dq-dqs-training
Add DQ-DQS training for LPDDR4 PHY
2021-04-22 17:28:10 +02:00
Florent Kermarrec 6256031d51 bench: Update build directories and add rst in CRG (triggered on CPU reboot). 2021-04-22 14:57:13 +02:00
Florent Kermarrec c2a779df46 bench: Update test targets (add_csr no longer required). 2021-04-19 13:40:17 +02:00
Jędrzej Boczar ebaf63479d init/lpddr4: modify pull-down drive strength to improve signal quality 2021-04-16 15:35:35 +02:00
Jędrzej Boczar 98f2f24e20 init: enable DQ-DQS training for LPDDR4 PHYs with output delays 2021-04-16 15:12:44 +02:00
enjoy-digital 26c9f82c1b
Merge pull request #236 from jersey99/master
modules.py: Add MT41J256M8 (Passes mem_test on HW @ sys4x=500MHz, vex…
2021-04-01 19:00:51 +02:00
enjoy-digital e898507409
Merge pull request #242 from antmicro/jboc/lpddr4-copyrights
lpddr4: add missing copyright comments
2021-04-01 19:00:15 +02:00
enjoy-digital 172add8dfc
Merge pull request #240 from antmicro/jboc/lpddr4
lpddr4: add a local README with a summary of the code
2021-04-01 18:54:42 +02:00
enjoy-digital 478157560f
Merge pull request #241 from antmicro/jboc/lpddr4-init-fix
Fix Python header generation for LPDDR4
2021-04-01 18:53:38 +02:00
Jędrzej Boczar 7028944acd lpddr4: add missing copyright comments 2021-04-01 10:07:02 +02:00
Jędrzej Boczar c12e832bcb init: fix python header generation
With the previous code lines included python variable names instead of integers, e.g.
("ZQ Calibration start", MPC.ZQC_START, SpecialCmd.MPC, dfii_command_we|dfii_command_cs, 200)
which failed as these names were not being imported.
2021-03-31 15:58:43 +02:00
Jędrzej Boczar 13db84ceb5 lpddr4: add a local README with a summary of the code 2021-03-31 12:51:34 +02:00