Jędrzej Boczar
6b9f1bd0d8
ddr4: Enable Data Mask for DDR4 memory and invert its polarity.
2020-11-17 15:06:58 +01:00
Florent Kermarrec
1117068595
phy/s7ddrphy: make pads.dm optional (some boards have dm forced to ground).
2020-11-12 19:15:49 +01:00
Florent Kermarrec
431e563a39
common: move cmd/wdata/rdata descriptions and add minimal description of signals.
2020-11-09 12:06:02 +01:00
Florent Kermarrec
c83e10dafe
bench: cleanup clocking on Ultrascale targets.
2020-11-06 16:14:22 +01:00
Florent Kermarrec
9a50f6ece6
bench/ddr4_mr_gen.py: change default cl to 9 (cl value for sys_clk_freq=125e6).
2020-11-06 14:44:36 +01:00
Florent Kermarrec
4d1f4d5052
bench/xcu1525: use specific output_dir per channel (to allow // build of bitstreams for the different channels).
2020-11-06 10:47:26 +01:00
Florent Kermarrec
0890908a63
bench/xcu1525: rename ddram_channel arg to channel (since it's a dram specific design).
2020-11-06 10:36:56 +01:00
Florent Kermarrec
5cfdf77654
bench/targets: simplify BIST integration using new add_sdram with_bist parameter.
2020-11-06 10:34:26 +01:00
Florent Kermarrec
51b8eb1f82
bench: add xcu1525 target.
2020-10-29 19:11:23 +01:00
Florent Kermarrec
a95c6883cc
bench/targets: uniformize.
2020-10-29 18:58:37 +01:00
Florent Kermarrec
256cc1b78b
bench/genesys2: add optional BIST.
2020-10-29 15:12:17 +01:00
enjoy-digital
8169b5412c
Merge pull request #223 from gregdavill/ecp5_delayf_fix
...
ecp5ddrphy: Fix DELAYF initial value
2020-10-20 18:11:46 +02:00
Greg Davill
0c8c707f24
ecp5ddrphy: Fix DELAYF initial value
...
I've seen intermittent failures with recent builds. I suspect it is
related to the DELAYF primitive not being correctly loaded with an
initial value. Holding LOADN LOW ensures a value is correctly
loaded.
2020-10-20 16:44:32 +10:30
Florent Kermarrec
a39d873946
phy/ecp5ddrphy: remove rst CSR (does not seem to be necessary on ECP5).
2020-10-19 09:48:50 +02:00
Florent Kermarrec
2ea854225f
frontend/bist: expose core for observation.
2020-10-19 09:47:33 +02:00
enjoy-digital
7d8f4713d3
Merge pull request #222 from daveshah1/rcd_fine_speed_int
...
init: Cast DDR4 RCD fine_speed to int
2020-10-13 15:01:20 +02:00
David Shah
eb6268a783
init: Cast DDR4 RCD fine_speed to int
...
Fixes `TypeError: unsupported operand type(s) for |: 'int' and 'float'`
for some clock frequencies.
Signed-off-by: David Shah <dave@ds0.me>
2020-10-13 13:10:31 +01:00
Florent Kermarrec
ce2c410965
phy/s7ddrphy/A7DDRPHY: fix cmd_latency parameter (allow user to specify it).
2020-10-13 10:36:22 +02:00
enjoy-digital
85fa02afc7
Merge pull request #221 from enjoy-digital/write_latency
...
Add dynamic write latency calibration.
2020-10-12 19:42:26 +02:00
Florent Kermarrec
80b5ed30e9
phy/ecp5ddrphy: reintegrate old BitSlip (issue with new one on ECP5).
2020-10-12 19:40:11 +02:00
Florent Kermarrec
1ee4fa25c4
phy/ecp5ddrphy: add rst CSR.
2020-10-12 19:25:34 +02:00
Florent Kermarrec
df73b982ee
test/reference: update
2020-10-12 18:50:31 +02:00
Florent Kermarrec
60c68bf949
init/get_sdram_phy_c_header: fix ECPDDRPHY case.
2020-10-12 18:47:44 +02:00
Florent Kermarrec
a18d04da42
phy/s7ddrphy: simplify cmd_latency (set it to 1 as default except for a7ddrphy).
2020-10-12 18:33:04 +02:00
Florent Kermarrec
97b4029be7
litedram/init: pass write latency calibration capability to software.
2020-10-12 16:05:59 +02:00
Florent Kermarrec
a1e8bcb53c
phy/s7/usddrphy: reset bitslip modules with rst CSR.
2020-10-12 10:41:33 +02:00
Florent Kermarrec
5d528cbad0
phy/usddrphy: add write leveling bitslip support on dq/dm/dqs (similar to s7ddrphy).
2020-10-08 19:50:18 +02:00
Florent Kermarrec
1d450bac57
common/BitSlip: reset value to value.reset.
2020-10-08 19:40:40 +02:00
Florent Kermarrec
9787b868e8
phy/s7ddrphy: add dynamic control of dq/dm/dqs bitslips.
2020-10-08 18:52:45 +02:00
Florent Kermarrec
83d70a3eb9
phy/s7ddrphy: also add bitslip on dqs.
2020-10-08 18:17:47 +02:00
Florent Kermarrec
0ac23fde52
phy/s7ddrphy: increase write_latency by 1 (now possible with previous BitSlip chantges).
2020-10-08 18:08:36 +02:00
Florent Kermarrec
3fddff3a11
common/BitSlip: shift output by one bit (allow 1 cycle latency on writes), set reset value to cycles*dw-1.
2020-10-08 17:37:24 +02:00
Florent Kermarrec
732df04413
common/Bitslip: add assert on cycles.
2020-10-08 17:16:21 +02:00
Florent Kermarrec
6e8d37c873
phy/s7ddrphy: replace dm/dq delays with BitSlip.
2020-10-08 17:15:22 +02:00
Florent Kermarrec
c16628531a
common/BitSlip: allow passing i/o signals as parameters.
2020-10-08 16:56:22 +02:00
Florent Kermarrec
fcd1b2ca2b
phy/s7ddrphy: reduce write_latency on controller by 1 sys_clk (to allow BitSlip).
2020-10-08 16:23:06 +02:00
Florent Kermarrec
b24943e691
bench/genesys2: add litescope on ddrphy.dfi.
2020-10-08 16:21:02 +02:00
Florent Kermarrec
e5f4f828ad
phy/s7ddrphy: fix dynamic rd/wrphase and dq/dqs_oe_delay for nphases=2.
2020-10-07 18:54:43 +02:00
Florent Kermarrec
b16e9bfd5c
phy/s7/usddrphy: cleanup/uniformize DQ path.
2020-10-02 12:43:02 +02:00
Florent Kermarrec
39178ce460
test: add minimal OSERDESE2/OSERDESE3 simulations to check Data/Tristate latencies.
2020-10-02 12:30:19 +02:00
Florent Kermarrec
329c9904f7
common/DQSPattern: add transmission order, minor simplification on USDDRPHY.
2020-10-02 12:26:57 +02:00
Florent Kermarrec
16480d9aed
phy/s7ddrphy: adjust dqs/dq tristate latency.
...
OSERDESE2 has a latency of 2 sys_clk.
2020-10-02 12:15:32 +02:00
Florent Kermarrec
6a23bd623b
phy/ecp5/s7/usddrphy: simplify dq/dqs tristate using TappedDelayLine.
2020-10-02 09:37:32 +02:00
Florent Kermarrec
e3461704b5
phy/ecp5/s7/usddrphy: simplify control path using TappedDelayLine.
2020-10-01 18:30:17 +02:00
Florent Kermarrec
d12caf1e0c
common: add TappedDelayLine to simplify delays on control signals.
2020-10-01 18:29:35 +02:00
Florent Kermarrec
a5a4a422dd
phy/core: move rd/wrcmdphase and computation to Multiplexer.
...
rd/wrcmdphases are always computated as (rd/wrphase-1)%nphases so it's not useful
to expose them as PhySettings. rd/wrcmdphases are now directly computated in
Multiplexer and static/dynamic rd/wrphases are supported.
2020-10-01 11:26:04 +02:00
Florent Kermarrec
f8ee596464
test/reference: update.
2020-09-30 19:49:38 +02:00
Florent Kermarrec
c8f1e80215
phy/s7ddrphy: handle cmd_latency properly (add it to rd/wrphase).
2020-09-30 19:45:23 +02:00
Florent Kermarrec
b1c26d996f
phy/s7ddrphy: handle cmd_latency properly (add it to rd/wrphase).
2020-09-30 19:40:55 +02:00
Florent Kermarrec
05ed5bf59d
phy/ecp5ddrphy: simplify using new get_sys_phase.
2020-09-30 19:39:10 +02:00