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
enjoy-digital
996d0add26
Merge pull request #224 from antmicro/jboc/lpddr4
...
Add LPDDR4 PHY
2021-03-31 09:35:06 +02:00
enjoy-digital
f5e7c39776
Merge pull request #238 from antmicro/jboc/refresh-all-banks
...
core/refresher: use A10=1 for an all-banks REF
2021-03-31 08:50:25 +02:00
enjoy-digital
df2a06584b
Merge pull request #237 from antmicro/jboc/dfii-bankbits
...
core: use wider DFI address/bank if PHY requires it
2021-03-31 08:48:32 +02:00
Florent Kermarrec
04334ae141
phy/s7ddrphy/usddrphy: Use explicit sys clock domain on ClockSignal/ResetSignal.
...
Improve readability.
2021-03-30 08:51:44 +02:00
Florent Kermarrec
5cd192a708
bench: Remove soc_sdram import (No longer useful and deprecated).
2021-03-30 08:49:54 +02:00
Jędrzej Boczar
06b30979dd
lpddr4/s7phy: add with_odelay parameter and Artix/Kintex/Virtex variants
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
e07198ac57
lpddr4/utils: simplify ConstBitSlip
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
e860d86f3f
lpddr4/phy: make redundant cmd overlaps checks optional (and disabled by default)
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
f282d809d1
lpddr4: remove old fixme comments
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
a64cb58753
core/refresher: use A10=1 for all banks REF
...
This is needed because newer DRAMs like LPDDR4 or DDR5 have
separate commands for per-bank refresh and all banks refresh.
Other DRAM types ignore address for REF commands.
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
a21b70e061
init: revert bitslips changed to 16 for phys other than S7LPDDR4PHY
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
f3a0a7d038
lpddr4/s7phy: remove OE delay CSRs, use fixed, tested values
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
ba57791c1d
lpddr4/s7phy: extend time of holding output enable on tristate lines
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
58235f478e
lpddr4/init: increase CA/DQ Vref to 30.4% (yields better results)
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
693695f067
lpddr4/init: initialize all More Registers (even if setting defaults)
2021-03-25 15:31:58 +01:00
Jędrzej Boczar
0ecb1340f5
lpddr4/test: fixes: use 2tCK write preamble, update read latency
2021-03-25 15:31:05 +01:00
Jędrzej Boczar
5c6796b92a
lpddr4: change MRW command encoding to avoid changing BIOS code
2021-03-25 15:30:48 +01:00
Jędrzej Boczar
f1a40cef2f
core: use wider DFI address/bank if PHY requires it
2021-03-25 15:29:32 +01:00
Jędrzej Boczar
eb1d900c24
lpddr4: S7PHY related fixes, MRR command, runtime configurable WRITE/MASKED-WRITE
2021-03-25 15:29:17 +01:00
Jędrzej Boczar
052dc19246
lpddr4: improve documentation
2021-03-25 15:21:01 +01:00
Jędrzej Boczar
1b65e858b3
lpddr4/utils: rework `once` helper function to be more generic
2021-03-25 15:21:01 +01:00
Jędrzej Boczar
4473335954
lpddr4/commands: replace MPC dict with an enum with docstring
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
7f19e92c75
ci: add dependencies required for Verilator-based tests
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
4415a3eaf5
lpddr4: improve simulation and Verilator tests runner
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
4a5feb9e11
lpddr4/s7phy: improve to use the new DoubleRateLPDDR4PHY
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
2ab763ac5e
lpddr4: add double-rate PHY, clean up and improve PHY implementation
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
183f1643aa
lpddr4: add support for MASKED-WRITE
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
4b78fc99e8
lpddr4/sim: create LPDDR4 simulator and Verilator target
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
05ed238829
lpddr4: split implementation into multiple files in separate directory
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
ee9c2b4cf7
lpddr4: implement ZQC through MPC and include it in init sequence
...
We do not yet support ZQC during operation (after init sequence)
as LPDDR4 requires 2-stage ZQC (start+latch) and 1us in between,
which requires modifying Refresher (ZQCExecutor) in LiteDRAM.
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
055e2dc597
lpddr4: add initial PHY for Series7
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
4d9106847f
init: add LPDDR4 initialization
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
788b3f6d02
modules: modules: add LPDDR4 module
2021-03-25 15:19:16 +01:00
Jędrzej Boczar
6943a1a4a5
lpddr4: initial PHY logic and simulation tests
2021-03-25 15:19:08 +01:00
Jędrzej Boczar
f0de06091e
core/refresher: use A10=1 for all banks REF
...
This is needed because newer DRAMs like LPDDR4 or DDR5 have
separate commands for per-bank refresh and all banks refresh.
Other DRAM types ignore address for REF commands.
2021-03-24 10:31:06 +01:00
Jędrzej Boczar
de12e62ac5
core: use wider DFI address/bank if PHY requires it
2021-03-23 12:41:31 +01:00
Vamsi Vytla
7d522cefc3
modules.py: Add MT41J256M8 (Passes mem_test on HW @ sys4x=500MHz, vexriscv, marble board)
2021-03-22 13:55:39 -07:00
Florent Kermarrec
f17037fdb2
bench/common: Cleanup, Increase sys_clk measure time to 5s.
2021-03-12 14:29:43 +01:00
Florent Kermarrec
3f9759b83b
bench/xcu1525: Update build directories.
2021-03-12 10:59:06 +01:00
Florent Kermarrec
df5f555842
bench: Update with recent changes.
2021-03-12 10:25:11 +01:00
Florent Kermarrec
e3c2ab0757
phy/usddrphy: Add missing i_RST on DQS's ODELAYE3.
2021-03-04 14:44:07 +01:00
Florent Kermarrec
06411b2a72
frontend/dma: Modify CSR interface to be similar to LiteX's DMA (start becomes a enable), also add offset CSR to keep track of current status.
2021-03-04 11:58:33 +01:00