Commit Graph

558 Commits

Author SHA1 Message Date
enjoy-digital d9c243037a
Merge pull request #36 from JohnSully/timing_1
Fix failing timing
2018-09-08 13:17:26 +02:00
efd7a47890 Fix failing timing 2018-09-07 22:12:24 -04:00
Florent Kermarrec d4f434da3d dfii: send command to all ranks 2018-09-07 18:40:46 +02:00
Florent Kermarrec b1c2739305 initial multirank support (nbankmachines = nranks * (2**bankbits))
To see:
Configure the 2 ranks. (init commands, leveling)
How to drive ODT?
Pipeline stall while switching ranks?
2018-09-07 18:34:08 +02:00
Florent Kermarrec cc481be81f examples: add sdram_rank_nb and user_ports_id_width 2018-09-07 17:55:46 +02:00
Florent Kermarrec 849b1f6c35 frontend/axi: generate rlast signal 2018-09-06 11:11:17 +02:00
Florent Kermarrec 1fa73e4718 test: update 2018-09-06 11:10:45 +02:00
Florent Kermarrec 7b61b68f68 sdram_init: min value for wr is 5 2018-09-05 23:40:04 +02:00
Florent Kermarrec 1652ab95c8 examples/litedram_gen: fix address width of axi ports (addressing in bytes not words) 2018-09-05 09:13:47 +02:00
Florent Kermarrec 1e64b7f492 examples/litedram_gen: expose resp signals to user 2018-09-05 08:51:27 +02:00
Florent Kermarrec 700f76c599 frontend/axi: add resp signals 2018-09-05 08:50:28 +02:00
Florent Kermarrec 47fed1b254 frontend/axi: add last limitation 2018-09-05 08:33:49 +02:00
Florent Kermarrec de69867995 examples/litedram_gen: expose last signals to user 2018-09-05 08:32:49 +02:00
Florent Kermarrec e8bd782999 examples/litedram_gen: expose burst signals to user 2018-09-05 08:31:57 +02:00
Florent Kermarrec e1598ceee8 phy/s7ddrphy: fix BL8 assert 2018-09-04 09:34:10 +02:00
Florent Kermarrec ebba39d928 README: update 2018-09-03 14:18:35 +02:00
Florent Kermarrec e528e92b9b phy/s7ddrphy: add assertion to avoid generating 1:2 controller with DDR3 (needs BL8 support in the PHY) 2018-09-03 14:06:04 +02:00
Florent Kermarrec 6017e7a763 phy/s7ddrphy: fix dqs_sys_latency for DDR2 2018-09-03 12:21:04 +02:00
Florent Kermarrec 7b427391bd phy/s7ddrphy: simplify cmd/dat phases computation and remove restrictions.
The real restrictions are:
- dat_phase = sys_latency*nphases - cas_latency (at least for writes, for read we can compensate that with bitslip)
- dat_phase != cmd_phase.
2018-09-03 11:15:37 +02:00
Florent Kermarrec 614861891e phy/s7ddrphy: use dict in get_cl_cw function 2018-09-03 10:18:54 +02:00
Florent Kermarrec 5e4dca9a7b add examples with standalone cores for arty and genesys2 2018-08-31 23:20:47 +02:00
Florent Kermarrec dce4edee97 README: update 2018-08-31 08:25:05 +02:00
Florent Kermarrec f6797a16bb test/test_axi: add burst wrap test and fix code 2018-08-29 18:47:40 +02:00
Florent Kermarrec 47988d8cd3 frontend/axi: remove alignment limitation since we are in fact supporting unaligned transfers as described in the specification. 2018-08-29 18:08:50 +02:00
Florent Kermarrec 6cc42c63c5 frontend/axi: add wrap burst support 2018-08-29 17:53:26 +02:00
Florent Kermarrec 9c729ae7b5 core: replace adr with addr on native interface (closer to AXI and allow some simplifications) 2018-08-29 17:06:03 +02:00
Florent Kermarrec 050670829a core/controller: remove simulation workaround 2018-08-29 16:48:06 +02:00
Florent Kermarrec bc8a9cef7d README: update 2018-08-29 16:34:53 +02:00
Florent Kermarrec 6f7ae8496b frontend/axi: increase default depth of buffers to improve performance 2018-08-29 16:28:07 +02:00
Florent Kermarrec ed7eef12d4 phy/s7ddrphy: fix preamble/posamble latency when with_odelay (-1 since dqs clk is not shifted) 2018-08-29 14:15:31 +02:00
Florent Kermarrec c37d3af5b5 frontend/bist: only keep random datas (we can generate random addresses with control) 2018-08-28 22:54:23 +02:00
Florent Kermarrec b1e734b2ac frontend/bist: only use cdc on registers if needed (ie not in sys clock domain) 2018-08-28 18:59:56 +02:00
Florent Kermarrec 92c8513598 frontend/axi: add buffer to accept command before converting burst to beats 2018-08-28 14:09:59 +02:00
Florent Kermarrec c15c47497a test/test_axi: split reads/writes generators 2018-08-28 14:09:12 +02:00
Florent Kermarrec 95cb7cdba5 test: rename read/write generators to handlers 2018-08-28 13:40:50 +02:00
Florent Kermarrec d5d673708d frontend/axi: fix read id 2018-08-28 13:39:29 +02:00
Florent Kermarrec 10229d1e7d test/test_axi: improve test_axi2native 2018-08-28 13:39:11 +02:00
Florent Kermarrec 295f016fd2 frontend/axi: add features/limitations 2018-08-28 12:39:49 +02:00
Florent Kermarrec 6a46ea3052 test/test_bist: add generator test, remove async test 2018-08-28 11:50:11 +02:00
Florent Kermarrec 7677a853f1 core/bankmachine: expose cmd_buffer_buffered param and small cleanup 2018-08-28 11:19:48 +02:00
Florent Kermarrec 7a5ac75e22 test/test_axi: improve test_axi2native 2018-08-27 18:39:36 +02:00
Florent Kermarrec d53832d55a frontend/axi: split LiteDRAMAXI2Native (write path and read path) 2018-08-27 18:39:09 +02:00
Florent Kermarrec c846b8b1c7 frontend/axi: add burst support (fixed/incr) 2018-08-27 16:21:12 +02:00
Florent Kermarrec 3fa77c8417 phy/s6ddrphy: use cwl only for DDR3 2018-08-27 14:06:32 +02:00
Florent Kermarrec d9b5bb7247 frontend/bist: support axi with addressing in bytes 2018-08-27 12:42:30 +02:00
Florent Kermarrec 137061734b frontend/axi: addressing in bytes not internal dwords 2018-08-27 11:05:37 +02:00
Florent Kermarrec 06f841dc2a sdram_init: compute write recovery cycles (we were using max value)
Also replace sdram_phy_settings with phy_settings
2018-08-22 14:44:46 +02:00
Florent Kermarrec 53c75f50c8 phy/s7ddrphy: add dqs preamble/postamble 2018-08-22 12:32:19 +02:00
Florent Kermarrec 1c083ea9df sdram_init: split init_sequence generation and header geneneration and add .py header genration 2018-08-21 18:14:19 +02:00
Florent Kermarrec d7d60cf30b Merge branch 'master' of http://github.com/enjoy-digital/litedram 2018-08-21 15:58:30 +02:00