Commit Graph

304 Commits

Author SHA1 Message Date
Florent Kermarrec 478b8c1df3 phy/kusddrphy: integrate BitSlip module (in fabric) and instanciate ISERDESE3 2017-02-10 12:51:30 +01:00
Florent Kermarrec c94b1e7d0a phy: cleanup instances indentation 2017-02-10 10:06:31 +01:00
Florent Kermarrec 062177502b phy: add bitslip module (we need to implement it in logic for Kintex Ultrascale since not provided by ISERDESE3) 2017-02-10 08:59:13 +01:00
Florent Kermarrec 1430cb3d49 phy: add initial Kintex Ultrascale PHY (incomplete)
Input deserializer still missing, need to implement bitslip in logic and use new fifo interface.
Others primitives should be fine.
2017-02-09 13:25:45 +01:00
Florent Kermarrec 4f51524921 frontend/bist: rename err_count to errors 2017-01-17 14:30:23 +01:00
Florent Kermarrec e7fe539c73 frontend/bist: remove LiteDRAMBISTCheckerScope.
Checker should not be used to investigate errors but only to verify that is already validated still works. (ie we don't want to be able to understand what is going on, just to know if it's working or not). To understand what is going on we will look at signals with LiteScope and eventually trigger on err_count from checker.
2017-01-17 13:48:03 +01:00
Tim 'mithro' Ansell c142db3966 Creating a utility module for easily scoping the LiteDRAMBISTChecker module. 2016-12-19 17:49:24 +01:00
Florent Kermarrec 0f151c5499 frontend/bist: small cleanup 2016-12-17 19:22:56 +01:00
Florent Kermarrec a613c49783 frontend/bist: cleanup the way we expose signals for debugging 2016-12-17 19:04:58 +01:00
Tim 'mithro' Ansell e21b45b608 Merge remote-tracking branch 'upstream/master' into bist 2016-12-17 18:15:59 +01:00
Tim 'mithro' Ansell bc75d4f3d5 bist: Reworking as suggested by Florent. 2016-12-17 17:49:47 +01:00
Florent Kermarrec 5909e5d76e frontend/bist: refactor(simplify) LiteDRAMBISTChecker 2016-12-17 17:08:50 +01:00
Florent Kermarrec 381789c84d frontend/bist: refactor(simplify) LiteDRAMBISTGenerator, use start instead of shoot 2016-12-17 16:38:59 +01:00
Tim 'mithro' Ansell 70a333628b dma: Adding some documentation. 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell fcc1d5059e bist: Improving documentation a bit. 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell f1ad8991a4 bist: Working on improving the names of things. 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell 8ff2f8779b bist: Adding "halt on error" functionality.
Also include ability to see address of error and expected verse actual
data values.

Extend the test bench to test this functionality.
2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell c0b8d1a714 bist: Adding some documentation.
(Plus small formatting cleanup.)
2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell dc14a98bf4 bist: s/shoot/start/ 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell 6ae11fa5c8 bist: Make reset write to activate like shoot. 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell 85e4b65550 bist: Small formatting change. 2016-12-17 14:09:50 +01:00
Tim 'mithro' Ansell e901305e56 bist: Done only goes high after bist runs. 2016-12-17 14:09:50 +01:00
Florent Kermarrec f57dfad6a4 frontend: add flush signal on dram ports and fix a specific case in LiteDRAMReadPortUpConverter 2016-12-15 19:07:43 +01:00
Florent Kermarrec bd40268961 frontend/dma: add fifo_buffered parameter 2016-10-28 09:48:25 +02:00
Florent Kermarrec 6e3f5e4d98 frontend: add reverse parameter to converters 2016-06-21 17:29:12 +02:00
Florent Kermarrec 2ed7212701 frontend/crossbar: fix sign on adr_shift 2016-06-20 21:40:32 +02:00
Florent Kermarrec ad8ca86e13 frontend/adaptation: implement LiteDRAMReadPortUpConverter correctly
still some corner cases to manage
2016-06-15 23:57:16 +02:00
Florent Kermarrec 5823373243 frontend: introduce mode on ports: write, read or both 2016-06-15 17:51:46 +02:00
Florent Kermarrec b0382e8776 frontend/crossbar: add clock domain crossing and data width convertion to get_port 2016-06-13 14:41:57 +02:00
Florent Kermarrec ed997f1cfe core: fix refresh (bug was reducing controller throughput by 2) 2016-06-13 13:11:41 +02:00
Florent Kermarrec 870638fc50 frontend/adaptation: small optimization on LiteDRAMPortUpConverter (still to be refactored) 2016-06-12 16:53:44 +02:00
Florent Kermarrec edbebfa8a2 frontend/adaptation: add workaround on LiteDRAMPortUpConverter to increase throughput on reads (to be fixed since only working for our actual usecase) 2016-06-10 22:07:53 +02:00
Florent Kermarrec 66907f1468 frontend/adaptation: expose LiteDRAMPortDownConverter, LiteDRAMPortUpConverter 2016-06-10 19:13:12 +02:00
Florent Kermarrec afd2e441eb frontend/adaptation: fix some comments 2016-06-08 17:32:08 +02:00
Florent Kermarrec 25c5a8aaf5 frontend/adaptation: adapt fifo depths 2016-06-02 22:35:27 +02:00
Florent Kermarrec 0faee6639d frontend/bist: add random parameter on generator/checker to ease debug 2016-06-02 18:35:45 +02:00
Florent Kermarrec a5ff573046 frontend/bist: rename generator/checker to core 2016-06-02 09:27:46 +02:00
Florent Kermarrec 41364dd0b1 frontend/bist: fix cd on LiteDRAMBISTChecker, bist_async_tb now working 2016-05-29 16:00:35 +02:00
Florent Kermarrec cb69561137 phy/model: add we_granularity parameter as simulator bug workaround (to be removed) 2016-05-28 13:02:40 +02:00
Florent Kermarrec 8ee2992e5b frontend/bist: simplify and use incrementing addressing 2016-05-26 12:04:41 +02:00
Florent Kermarrec b3a11fb669 frontend: move port adaptation modules to adaptation.py and do adaptation manually (and not in get_port) 2016-05-26 11:03:55 +02:00
Florent Kermarrec 32a6e25021 test: add upconverter_tb and some fixes 2016-05-24 21:14:49 +02:00
Florent Kermarrec de61cefb58 test: add downconverter_tb and some fixes 2016-05-24 20:48:26 +02:00
Florent Kermarrec 777d907da1 frontend/crossbar: fill LiteDRAMUpConverter (incomplete and to be tested) 2016-05-24 08:49:53 +02:00
Florent Kermarrec f70e28beac frontend/crossbar: fill LiteDRAMDownConverter (to be tested) 2016-05-24 08:34:14 +02:00
Florent Kermarrec b76f7e6e07 frontend/crossbar: add skeleton/descroption for port downconverters/upconverters 2016-05-24 06:56:58 +02:00
Florent Kermarrec 6f10314d43 frontend/bist: remove cd parameter (already available with dram_port.cd) 2016-05-23 17:37:30 +02:00
Florent Kermarrec b258c9a913 test: add bist_async_tb and some fixes 2016-05-23 17:20:42 +02:00
Florent Kermarrec cb42ea510d frontend/bist: LiteDRAMBISTChecker can now be asynchronous 2016-05-23 14:26:53 +02:00
Florent Kermarrec cb324ea47c frontend/bist: LiteDRAMBISTGenerator can now be asynchronous 2016-05-23 14:17:22 +02:00
Florent Kermarrec a016a820b5 common/LiteDRAMPort: add defaut cd value 2016-05-18 15:49:44 +02:00
Florent Kermarrec 8d066caea9 common: use cmd/wdata/rdata stream on LiteDRAMPort 2016-05-13 15:46:15 +02:00
Florent Kermarrec 30bacfeb1b frontend: add LiteDRAMAsyncAdapter for asynchronous ports (need more tests) 2016-05-13 15:27:12 +02:00
Florent Kermarrec 19a0bd59d2 frontend/dma: use stream.SyncFIFO 2016-05-13 13:35:59 +02:00
Florent Kermarrec 8b98dd3c8a frontend: simplify wdata/wdata_we on user side (implement the mux in the crossbar) 2016-05-12 15:34:39 +02:00
Florent Kermarrec 9d2c8bf1cf frontend: remove geom/timing parameters from LiteDRAMPort since this prevent providing async or arbitraty length port easily 2016-05-09 12:07:06 +02:00
Florent Kermarrec 68e4b9322c phy/s6ddrphy: fix 2016-05-04 01:10:44 +02:00
Florent Kermarrec bb67fdba57 core/perf: fix 2016-05-04 00:26:32 +02:00
Florent Kermarrec 37c9d6dd46 frontend/bist: fix missing AutoCSR 2016-05-04 00:26:24 +02:00
Florent Kermarrec a40b0f760c test/bist_tb: cleanup and add error check 2016-05-03 22:22:11 +02:00
Florent Kermarrec 812d7dd7f0 frontend/bist: reword bist, add simulation, seems to work but need more testing 2016-05-03 19:24:33 +02:00
Florent Kermarrec 4c1b97b465 core/refresher: remove req/ack signal and use stream 2016-05-03 17:45:57 +02:00
Florent Kermarrec 3d9ea833dd frontend/crossbar: continue cleanup/simplify 2016-05-03 17:24:11 +02:00
Florent Kermarrec 2ef8879661 frontend/crossbar: replace rr by arbiter 2016-05-03 17:14:03 +02:00
Florent Kermarrec 2709efa4a7 frontend/crossbar: remove controller_selected (no longer needed) 2016-05-03 17:11:34 +02:00
Florent Kermarrec e712a9d565 changes names on cmd_layout and data_layout 2016-05-03 17:02:59 +02:00
Florent Kermarrec 6e15824161 core: replace lasmic with interface and some cleanup 2016-05-03 16:55:54 +02:00
Florent Kermarrec 8c0e732c24 core: use a single structure to pass settings / simplify 2016-05-02 21:38:18 +02:00
Florent Kermarrec 7ce42d5324 bankmachine: rename fifo to cmd_buffer and allow depth < 2 (will be used to reduce logic when performance is not the priority) 2016-05-02 20:50:55 +02:00
Florent Kermarrec 8d29e5a905 bank_machine: cleanup/pep8 2016-05-02 16:06:37 +02:00
Florent Kermarrec d3ff63b978 multiplexer: cleanup/pep8 2016-05-02 15:57:39 +02:00
Florent Kermarrec 3177f7964f multiplexer: rewrite/simplify CommandChooser 2016-05-02 15:37:12 +02:00
Florent Kermarrec fb98d12241 only use positive logic in the controller(cas/ras/we) and use Record/stream.Endpoint for command requests 2016-05-02 12:18:56 +02:00
Florent Kermarrec cbe9748fa1 continue cleanup 2016-05-02 09:48:17 +02:00
Florent Kermarrec f37fc3d854 common: split Interface in InternalInterface/UserInterface 2016-05-02 09:20:12 +02:00
Florent Kermarrec 52a0f4e617 stb/req_ack becomes valid/ready + others small cleanup 2016-05-02 09:13:09 +02:00
Florent Kermarrec 19e84975f6 core/bankmachine: small cleanup 2016-05-01 12:43:33 +02:00
Florent Kermarrec 82e42bb500 core/perf: remove _ on CSRs 2016-05-01 12:27:50 +02:00
Florent Kermarrec b874500b77 core/refresher: simplify/cleanup 2016-05-01 12:15:49 +02:00
Florent Kermarrec 400de46980 frotend/crossbar: make parameters public 2016-05-01 12:08:03 +02:00
Florent Kermarrec cb32238b01 core/bankmachine: replace fifo with stream.SyncFIFO 2016-05-01 12:00:48 +02:00
Florent Kermarrec ca9d33da83 phy: add small description on a7ddrphy/k7ddrphy 2016-05-01 10:21:22 +02:00
Florent Kermarrec 802227bbcf model: move in phy 2016-05-01 10:20:05 +02:00
Florent Kermarrec 3cf8b07b8a core: add with_refresh parameter (to be able to desactivate refresh during simulation) 2016-04-29 23:01:55 +02:00
Florent Kermarrec 9d30fb4111 frontend: rename tester to bist 2016-04-29 19:28:41 +02:00
Florent Kermarrec 1dac3fb7ba common: remove use of namedtuple (to improve readibility) 2016-04-29 19:22:06 +02:00
Florent Kermarrec 297c85d6cf move SDRAM modules in modules.py and others settings in common.py 2016-04-29 19:08:56 +02:00
Florent Kermarrec 3dab76514a frontend/crossbar: get_master --> get_port 2016-04-29 17:42:32 +02:00
Florent Kermarrec c8d2850e8c frontend: dma_lasmi --> dma, wishbone2lasmi --> bridge 2016-04-29 17:42:07 +02:00
Florent Kermarrec 97fb293109 core/controller: aerate code 2016-04-29 17:28:58 +02:00
Florent Kermarrec 997c1ce707 rename bus to common 2016-04-29 17:15:06 +02:00
Florent Kermarrec 077043e310 frontend/crossbar: remove support of multiple controller (too complex and never used) 2016-04-29 17:06:43 +02:00
Florent Kermarrec 47f2859091 move crossbar to frontend, adapt core 2016-04-29 16:48:35 +02:00
Florent Kermarrec 41c76899d5 rename lasmicon to core 2016-04-29 16:35:24 +02:00
Florent Kermarrec 0051f368cc remove minicon 2016-04-29 16:27:12 +02:00
Florent Kermarrec 319ecdc986 phy/a7ddrphy: remove uneeded wrlevel registers 2016-04-29 15:56:17 +02:00
Florent Kermarrec bf291f523a settings: add MT41K128M16 (Arty) and MT41K256M16 (Nexys video) 2016-04-29 08:11:37 +02:00
Florent Kermarrec 6ef6e2f388 phy: add Artix7 a7ddrphy (Arty, Nexys Video) 2016-04-29 08:08:59 +02:00
Florent Kermarrec d48c298363 init from LiteX/MiSoC 2016-04-29 07:44:30 +02:00
Florent Kermarrec 0ef987dab1 bankmachine: some changes and first tests 2015-09-27 23:42:05 +02:00
Florent Kermarrec 7732ff27a6 update code, start bankmachine refactoring and remove old code (will be rewritten) 2015-09-15 10:22:39 +02:00
Florent Kermarrec 90595646f0 core / bankmachine / multiplexer skeleton 2015-02-22 21:59:48 +01:00
Florent Kermarrec 2ea2cb1e78 import code from MiSoC 2015-02-22 18:33:14 +01:00
Florent Kermarrec 230bad1b23 init structure 2015-02-22 18:25:36 +01:00