Jędrzej Boczar
13cdbc0ed9
phy/utils: ConstBitSlip: allow for different bitrate relation of CA vs CS
2021-06-22 11:41:44 +02:00
Jędrzej Boczar
da769094fd
phy/lpddr4: fix edge case error with CommandsPipeline ignoring a command
...
Command was being ignored when it occurred on the last phase and
the next command would invalidate the first phase. Now it is fixed
and a regression test is included. A fix in ConstBitSlip has been added
due to wrong Verilog being generated with cycles=1, register=False.
2021-06-22 11:40:51 +02:00
Jędrzej Boczar
baf9c07858
phy/utils: improve ConstBitSlip:
...
* optional register=False to decrease latency by 1 cycle
* require explicit `cycles` as it influences latency (min_cycles
still can be used)
* add unit tests
2021-06-21 14:43:49 +02:00
Jędrzej Boczar
4a96be86c0
test/lpddr4: move run_simulation wrapper to phy_common.py
2021-06-21 14:43:49 +02:00
Jędrzej Boczar
4b16dd994a
phy/utils: automatically determine number of cycles in ConstBitSlip
2021-06-21 14:43:49 +02:00
Jędrzej Boczar
1543fa4ace
phy/lpddr4: extract common test helpers for use when testing other PHYs
2021-06-21 14:43:49 +02:00
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
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