Luke Kenneth Casson Leighton [Thu, 10 Mar 2022 12:17:36 +0000 (12:17 +0000)]
code-cleanup and copyright notices
Luke Kenneth Casson Leighton [Tue, 1 Mar 2022 15:22:20 +0000 (15:22 +0000)]
fix up simulation to be more like VERSA_ECP5
* use MT4164M16 instead of MT41256M16
* add a Chip-Select line (dram_cs_n) which is currently inverted
* reduce the number of address lines in the simulated platform
Luke Kenneth Casson Leighton [Mon, 28 Feb 2022 11:04:32 +0000 (11:04 +0000)]
remove unneeded import
Luke Kenneth Casson Leighton [Sat, 26 Feb 2022 14:09:27 +0000 (14:09 +0000)]
use dict for lookup of DFI to pads names
add ras.reset=1
Luke Kenneth Casson Leighton [Sat, 26 Feb 2022 13:54:43 +0000 (13:54 +0000)]
add missing reset-HI values to cas_n, cs_n, we_n and act_n
Luke Kenneth Casson Leighton [Fri, 25 Feb 2022 18:48:34 +0000 (18:48 +0000)]
get chipselect (cs_n) name right in ECP5DDRPHY
has to have a minor workaround to adjust for DFI Interface being
named "cs_n" but nmigen-boards convention being "cs"
Luke Kenneth Casson Leighton [Fri, 25 Feb 2022 18:31:02 +0000 (18:31 +0000)]
restore naming convention "cs_r" on DFI Interface
Luke Kenneth Casson Leighton [Fri, 25 Feb 2022 18:20:49 +0000 (18:20 +0000)]
set name of DFI interface to ecp5phy in ECP5DDRPHY
Luke Kenneth Casson Leighton [Fri, 25 Feb 2022 01:21:42 +0000 (01:21 +0000)]
allow DDR3 reset (rst) signal to be controlled by DFI commands,
update icarus simulation to match, and
rename dfi.Interface reset signal to reset_n
Luke Kenneth Casson Leighton [Thu, 24 Feb 2022 17:55:22 +0000 (17:55 +0000)]
add a BitSlip module
Luke Kenneth Casson Leighton [Thu, 24 Feb 2022 17:55:05 +0000 (17:55 +0000)]
replace the simulation Clock-Reset-Generator with one that is more general.
the icarus verilog simulation now passes where previously it did not
Luke Kenneth Casson Leighton [Thu, 24 Feb 2022 17:52:16 +0000 (17:52 +0000)]
add CSRs to FakePHY which allows at least testing of firmware as-is
the burstdet and read-delay get read and written, do nothing, but it
is better than having to modify the dram firmware
Luke Kenneth Casson Leighton [Tue, 22 Feb 2022 12:56:59 +0000 (12:56 +0000)]
remove continue/skip and add comment that all
control pins have to be requested "xdr:4"
Luke Kenneth Casson Leighton [Mon, 21 Feb 2022 18:41:52 +0000 (18:41 +0000)]
add debug print statements to investigate FakePHY
add some more names on dfi.Interface instances, again to see what is
going on in gtkwave traces of SocTest nmigen simulation
Luke Kenneth Casson Leighton [Mon, 21 Feb 2022 18:41:09 +0000 (18:41 +0000)]
add a debug verilog dump of one of the FakePHY SocTest cases
to see what is going on
Luke Kenneth Casson Leighton [Sun, 20 Feb 2022 01:32:09 +0000 (01:32 +0000)]
add dfii submodules so they get explicit names
Luke Kenneth Casson Leighton [Sun, 20 Feb 2022 01:04:53 +0000 (01:04 +0000)]
add name to DFI Interface (helps gtkwave traces)
Luke Kenneth Casson Leighton [Sat, 19 Feb 2022 23:48:32 +0000 (23:48 +0000)]
fix gram unit test imports
Luke Kenneth Casson Leighton [Wed, 16 Feb 2022 12:33:11 +0000 (12:33 +0000)]
fix ECP5DDRPHY cs declaration
Jean THOMAS [Fri, 7 Aug 2020 19:29:02 +0000 (21:29 +0200)]
gram.test.test_core_bankmachine: Reduce formal test depth
Jean THOMAS [Fri, 7 Aug 2020 18:35:47 +0000 (20:35 +0200)]
Add links to other memory controller projects
Jean THOMAS [Fri, 7 Aug 2020 17:51:53 +0000 (19:51 +0200)]
gram.core.multiplexer: Fix variable name in _Steerer
Jean THOMAS [Fri, 7 Aug 2020 16:57:12 +0000 (18:57 +0200)]
gram.test.test_core_multiplexer: Add test for _Steerer (fixing #7)
Jean THOMAS [Fri, 7 Aug 2020 16:31:19 +0000 (18:31 +0200)]
gram.core.multiplexer: Remove unnecessary array slicing
Jean THOMAS [Fri, 7 Aug 2020 16:23:37 +0000 (18:23 +0200)]
gram.core.multiplexer: Code cleaning in _Steerer
Jean THOMAS [Fri, 7 Aug 2020 16:17:35 +0000 (18:17 +0200)]
gram.core.multiplexer: Cleaner code in _Steerer
Jean THOMAS [Fri, 7 Aug 2020 16:10:54 +0000 (18:10 +0200)]
examples: Display rdly map
Jean THOMAS [Fri, 7 Aug 2020 16:04:29 +0000 (18:04 +0200)]
gram.test.test_core_bankmachine: Ensure refresh_gnt isn't asserted if there is no refresh request (fixing #7)
Jean THOMAS [Fri, 7 Aug 2020 15:28:41 +0000 (17:28 +0200)]
gram.core.bankmachine: Make condition code cleaner
Jean THOMAS [Fri, 7 Aug 2020 15:27:51 +0000 (17:27 +0200)]
gram.core.bankmachine: Add comment for address slicers
Jean THOMAS [Fri, 7 Aug 2020 15:13:01 +0000 (17:13 +0200)]
gram.core.bankmachine: Remove unused local variables in BankMachine
Jean THOMAS [Fri, 7 Aug 2020 14:40:58 +0000 (16:40 +0200)]
gram.core.bankmachine: Rename LiteDRAM -> gram in documentation
Jean THOMAS [Fri, 7 Aug 2020 14:19:39 +0000 (16:19 +0200)]
gram.test.test_core_bankmachine: Add test for _AddressSlicer (fixing #7)
Jean THOMAS [Fri, 7 Aug 2020 14:02:03 +0000 (16:02 +0200)]
gram.test.test_core_refresher: Add test for ZQCSExecuter (fixing #7)
Jean THOMAS [Fri, 7 Aug 2020 11:57:35 +0000 (13:57 +0200)]
gram.phy.ecp5ddrphy: Fix ECP5DDRPHYInit (wrong domains)
Jean THOMAS [Fri, 7 Aug 2020 10:33:06 +0000 (12:33 +0200)]
gram.phy.ecp5ddrphy: Remove internal signal for delay
Jean THOMAS [Fri, 7 Aug 2020 10:24:09 +0000 (12:24 +0200)]
gram.phy.ecp5ddrphy: Detect burstdet on rising edge, not by logic level
Jean THOMAS [Thu, 6 Aug 2020 16:49:19 +0000 (18:49 +0200)]
examples: Load stock calibration profile if calibration failed
Jean THOMAS [Thu, 6 Aug 2020 15:28:41 +0000 (17:28 +0200)]
gram.phy.ecp5ddrphy: Make non-critical signals reset-less
Jean THOMAS [Thu, 6 Aug 2020 15:28:03 +0000 (17:28 +0200)]
gram.phy.ecp5ddrphy: Revert to LiteDRAM's dqs_re
Jean THOMAS [Thu, 6 Aug 2020 15:22:49 +0000 (17:22 +0200)]
gram.core.multiplexer: Fix regression introduced in
7d8339c
Jean THOMAS [Thu, 6 Aug 2020 15:16:10 +0000 (17:16 +0200)]
examples: Make frequency a parameter
Jean THOMAS [Thu, 6 Aug 2020 14:57:47 +0000 (16:57 +0200)]
examples: Continue self-test even if calibration is unsuccessful
Jean THOMAS [Thu, 6 Aug 2020 11:15:19 +0000 (13:15 +0200)]
gram.phy.ecp5ddrphy: Remove unused stream import
Jean THOMAS [Thu, 6 Aug 2020 10:43:10 +0000 (12:43 +0200)]
gram.phy.ecp5ddrphy: Add documentation for _DQSBUFMSettingManager
Jean THOMAS [Thu, 6 Aug 2020 10:30:21 +0000 (12:30 +0200)]
gram.test: Use correct timing for simulations
Jean THOMAS [Thu, 6 Aug 2020 10:28:13 +0000 (12:28 +0200)]
gram.phy.ecp5ddrphy: Fix DQSBUFM's pause signal (fixes #51)
Jean THOMAS [Thu, 6 Aug 2020 09:59:26 +0000 (11:59 +0200)]
gram.phy.ecp5ddrphy: Code cleaning
Jean THOMAS [Wed, 5 Aug 2020 14:44:43 +0000 (16:44 +0200)]
gram.core.bankmachine: Factorize tXXDController valid signal
Jean THOMAS [Wed, 5 Aug 2020 14:37:38 +0000 (16:37 +0200)]
Fix code styling
Jean THOMAS [Wed, 5 Aug 2020 13:36:19 +0000 (15:36 +0200)]
Remove steerer_sel function
Jean THOMAS [Wed, 5 Aug 2020 13:33:01 +0000 (15:33 +0200)]
Fix test using delays for comb propagation instead of additional clock pulses
Jean THOMAS [Wed, 5 Aug 2020 12:54:30 +0000 (14:54 +0200)]
Add unit test for tXXDController
Jean THOMAS [Tue, 4 Aug 2020 15:24:51 +0000 (17:24 +0200)]
Fix AntiStarvation test
Jean THOMAS [Tue, 4 Aug 2020 13:57:38 +0000 (15:57 +0200)]
Fix exception condition
Jean THOMAS [Tue, 4 Aug 2020 13:48:24 +0000 (15:48 +0200)]
Raise ValueError if the number of DQ pads is not a multiple of 8 (fixing #48)
Jean THOMAS [Tue, 4 Aug 2020 13:47:08 +0000 (15:47 +0200)]
Raise ValueError if RefreshTimer period is unsupported (fixing #48)
Jean THOMAS [Tue, 4 Aug 2020 13:45:37 +0000 (15:45 +0200)]
Raise ValueError if anti-starvation timeout is unsupported (fixing #48)
Jean THOMAS [Tue, 4 Aug 2020 13:43:56 +0000 (15:43 +0200)]
Raise ValueError if commands array isn't of len=4 (fixing #48)
Jean THOMAS [Tue, 4 Aug 2020 13:37:08 +0000 (15:37 +0200)]
Sample data based on datavalid signal (fixes #47)
Jean THOMAS [Tue, 4 Aug 2020 13:27:40 +0000 (15:27 +0200)]
Raise exception if no native port is present (fixing #48)
Jean THOMAS [Tue, 4 Aug 2020 12:14:24 +0000 (14:14 +0200)]
Make burstdet_reg reset-less
Jean THOMAS [Tue, 4 Aug 2020 11:24:11 +0000 (13:24 +0200)]
Fix simulation to support diff pairs
Jean THOMAS [Tue, 4 Aug 2020 10:00:53 +0000 (12:00 +0200)]
Fix sel signal used in wishbone frontend
Jean THOMAS [Tue, 4 Aug 2020 09:29:28 +0000 (11:29 +0200)]
Default SEL to 1's if SEL=0 (fixes #43)
Jean THOMAS [Tue, 4 Aug 2020 09:28:50 +0000 (11:28 +0200)]
Remove unused variable in wishbone frontend test
Jean THOMAS [Mon, 3 Aug 2020 20:05:44 +0000 (22:05 +0200)]
Add additional tests for sel signal
Jean THOMAS [Mon, 3 Aug 2020 16:03:26 +0000 (18:03 +0200)]
Add more sel tests
Jean THOMAS [Mon, 3 Aug 2020 15:51:43 +0000 (17:51 +0200)]
Fix native port we signal (fixes #44)
Jean THOMAS [Mon, 3 Aug 2020 15:51:13 +0000 (17:51 +0200)]
Fix sel test
Jean THOMAS [Mon, 3 Aug 2020 15:47:09 +0000 (17:47 +0200)]
Add test for wishbone sel signal
Jean THOMAS [Mon, 3 Aug 2020 11:46:34 +0000 (13:46 +0200)]
Revert to dqs_re from LiteDRAM
Jean THOMAS [Mon, 3 Aug 2020 11:39:04 +0000 (13:39 +0200)]
Use const qualifier for gram_read/gram_write
Jean THOMAS [Mon, 3 Aug 2020 11:35:50 +0000 (13:35 +0200)]
Update setup.py (based on LUNA)
Jean THOMAS [Mon, 3 Aug 2020 11:29:44 +0000 (13:29 +0200)]
Use mainstream ECPIX5 platform file (fixing #38)
Jean THOMAS [Mon, 3 Aug 2020 11:25:48 +0000 (13:25 +0200)]
Use -Werror
Jean THOMAS [Mon, 3 Aug 2020 11:05:42 +0000 (13:05 +0200)]
Fix memtest abort
Jean THOMAS [Mon, 3 Aug 2020 11:02:07 +0000 (13:02 +0200)]
Add auto calibration result check, abort memtest if more than 10 fails
Jean THOMAS [Mon, 3 Aug 2020 10:57:40 +0000 (12:57 +0200)]
Don't test the same rdly twice
Jean THOMAS [Mon, 3 Aug 2020 10:57:24 +0000 (12:57 +0200)]
Fix pointer bug
Jean THOMAS [Mon, 3 Aug 2020 10:45:01 +0000 (12:45 +0200)]
Remove we_n from xdr list
Jean THOMAS [Mon, 3 Aug 2020 10:38:52 +0000 (12:38 +0200)]
Add return value to gram_init
Jean THOMAS [Mon, 3 Aug 2020 10:38:28 +0000 (12:38 +0200)]
Read delay calibration: return error codes
Jean THOMAS [Mon, 3 Aug 2020 10:31:10 +0000 (12:31 +0200)]
Use DiffPairs for DQS
Jean THOMAS [Mon, 3 Aug 2020 10:27:47 +0000 (12:27 +0200)]
Fix warnings in libgram
Jean THOMAS [Mon, 3 Aug 2020 10:02:04 +0000 (12:02 +0200)]
Compile libgram in SourceHut builds
Jean THOMAS [Mon, 3 Aug 2020 09:41:26 +0000 (11:41 +0200)]
Remove comment
Jean THOMAS [Mon, 3 Aug 2020 09:41:07 +0000 (11:41 +0200)]
Remove we_n in xdr list
Jean THOMAS [Mon, 3 Aug 2020 09:33:50 +0000 (11:33 +0200)]
Make calibration a bit faster
Jean THOMAS [Fri, 31 Jul 2020 11:57:59 +0000 (13:57 +0200)]
Fix typo
Jean THOMAS [Thu, 30 Jul 2020 16:59:04 +0000 (18:59 +0200)]
Remove unused memtest
Jean THOMAS [Thu, 30 Jul 2020 16:53:23 +0000 (18:53 +0200)]
Add calibration documentation
Jean THOMAS [Thu, 30 Jul 2020 16:28:21 +0000 (18:28 +0200)]
Load calibration when initializing gram
Jean THOMAS [Thu, 30 Jul 2020 16:27:33 +0000 (18:27 +0200)]
Add rdly auto calibration
Jean THOMAS [Thu, 30 Jul 2020 15:18:13 +0000 (17:18 +0200)]
Remove DDR4 modules
Jean THOMAS [Thu, 30 Jul 2020 15:08:26 +0000 (17:08 +0200)]
Fix output in gram_read_burstdet
Jean THOMAS [Thu, 30 Jul 2020 15:03:45 +0000 (17:03 +0200)]
Add burstdet code
Jean THOMAS [Thu, 30 Jul 2020 15:00:31 +0000 (17:00 +0200)]
Remove unnecessary volatile qualifier
Jean THOMAS [Thu, 30 Jul 2020 15:00:01 +0000 (17:00 +0200)]
Fix identation
Jean THOMAS [Thu, 30 Jul 2020 14:59:41 +0000 (16:59 +0200)]
Remove write logging and change loop conditions