Commit Graph

1277 Commits

Author SHA1 Message Date
Florent Kermarrec db879ae3f7 litedram_gen: Fix missing user_port request for FIFO ports. 2021-09-03 10:31:08 +02:00
enjoy-digital 80398a8a15
Merge pull request #269 from antmicro/jboc/dfi-converter-new
DFI rate converter - 2nd attempt
2021-08-23 19:34:10 +02:00
enjoy-digital ca609005bc
Merge pull request #268 from antmicro/jboc/init-refactor
Refactor init code generation
2021-08-23 18:51:51 +02:00
Jędrzej Boczar 86cde91987 phy: fix typo (read_level -> read_leveling) 2021-08-12 12:14:51 +02:00
enjoy-digital 203cc73ceb
Merge pull request #271 from antonblanchard/fix-sim
litedram_gen: Fix error with --sim option
2021-08-09 19:46:17 +02:00
Anton Blanchard fe1bb083ef litedram_gen: Fix error with --sim option
It looks like commit 317072a198 ("litedram_gen: Add initial SDRAM
support (with ULX3S example)") broke building with the --sim option.
2021-08-09 10:38:54 +10:00
enjoy-digital ae139096c0
Merge pull request #267 from antmicro/jboc/lpddr4-update
LPDDR4 minor refactor
2021-08-06 14:39:42 +02:00
Jędrzej Boczar f4be065c09 phy/s7ddrphy: add compatibility with DFIRateConverter 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 46ea844702 phy: update PHYs to set capabilities, delays/bitslips in PhySettings 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 1d880c4db9 phy/dfi: add automatic PHY wrapper generation for DFIRateConverter 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 43036c9576 test: update *_init.h reference 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 89af25a697 phy/utils: DFI rate converter for creating PHY wrappers at slower clocks 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 377746bfd8 init: add helper class to make C code generation simpler 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 2200bd43a5 test/reference: update headers to include SDRAM_PHY_DFI_DATABITS 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 993ba31697 init: generate `#define SDRAM_PHY_DFI_DATABITS` constant 2021-08-04 12:30:56 +02:00
Jędrzej Boczar 91cae335e5 init: add parentheses around #define with an expression 2021-08-04 12:30:56 +02:00
Jędrzej Boczar d20e8c763b phy: move simulation related utilities to sim_utils.py 2021-08-04 10:20:45 +02:00
Jędrzej Boczar 1bd9455216 phy/lpddr4: update docstring 2021-08-04 10:20:45 +02:00
Florent Kermarrec 4326fe7f36 bench/kcu105/xcu1525: Also use PHYPadsReducer to easily test various DFI sizes. 2021-07-13 14:57:42 +02:00
Florent Kermarrec fd8d6f8334 phy/mode: Switch litedram.common imports to * to also import get_default_cl_cwl/get_sys_latency. 2021-07-09 18:52:34 +02:00
Florent Kermarrec 5a4ed3d204 bench/arty/kc705: Use PHYPadsReducer to easily test various DFI sizes. 2021-07-09 17:58:40 +02:00
Florent Kermarrec 894c7fb49e phy/model: Let the model pick default settings when settings is set to None (In this case, data_width needs to be provided). 2021-07-08 09:09:05 +02:00
Florent Kermarrec daf2cb7d39 phy/model: Integrate sdram_module_nphases/get_sdram_phy_settings from litex_sim. 2021-07-08 09:02:13 +02:00
Florent Kermarrec a3aa4907f1 phy/lpddr4/simsoc: Change cpu_variant to lite and revert commented test_lpddr4_sim_x2rate_no_cache.
(see #255).
2021-07-02 09:24:11 +02:00
Florent Kermarrec a11d1b870d litedram_gen: Remove device limitation on GENSDRPHY/ECP5DDRPHY.
By specifying FPGA device in .yml files for configs requiring  it.
2021-07-02 09:15:42 +02:00
Florent Kermarrec 317072a198 litedram_gen: Add initial SDRAM support (with ULX3S example). 2021-07-02 09:01:31 +02:00
enjoy-digital 83d18f48c7
Merge pull request #257 from antmicro/jboc/lpddr5-split
LPDDR4 code refactor
2021-06-29 13:04:48 +02:00
Florent Kermarrec afd00f7873 bench/common/bench_test: Improve UART dump speed. 2021-06-29 12:38:44 +02:00
Florent Kermarrec e90aa5a4d5 bench/targets: Minor CRG cleanups. 2021-06-29 12:36:02 +02:00
Jędrzej Boczar 405cf8a8a5 phy/utils: add HoldValid stream primitive 2021-06-22 11:41:44 +02:00
Jędrzej Boczar 34fbe01a78 test/phy_common: make chunk size in PadsHistory summary configurable 2021-06-22 11:41:44 +02:00
Jędrzej Boczar eb6e7a1514 test/lpddr4: move dfi_data_to_dq to common code 2021-06-22 11:41:44 +02:00
Jędrzej Boczar fcda73a175 test/phy_common: simplify calls to run_simulation 2021-06-22 11:41:44 +02:00
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