Friday, 2021-03-26

*** tpb has joined #litex00:00
*** rj has quit IRC00:28
*** rj has joined #litex00:33
*** lf has quit IRC00:36
*** lf has joined #litex00:36
*** rj has quit IRC01:13
*** rj has joined #litex01:17
*** FFY00_ has quit IRC01:47
*** rj has quit IRC02:00
tcalgatecat: targeting an internal board, I'm getting this error due to a pin constraint: `ERROR: IO 'data_IB_I' is constrained to pin G7 (PCLKC5_2/ADC_CN2/COMP3N) which is not a general purpose IO pin.` (the part is LIFCL-17-WLCSP72).   Is there a chance this check is too restrictive?   Radiant describes many of these pins as dual function, for example this one G7 is described as "PCLK", "true LVDS", and "differential -".02:01
*** rj has joined #litex02:19
*** Degi_ has joined #litex02:28
*** rj has quit IRC02:29
*** Degi has quit IRC02:30
*** Degi_ is now known as Degi02:30
*** rj has joined #litex03:59
*** rj has quit IRC04:04
*** Bertl_oO is now known as Bertl_zZ05:44
*** kgugala_ has joined #litex05:47
*** kgugala has quit IRC05:50
*** pftbest has joined #litex06:57
*** kgugala_ has quit IRC07:12
*** kgugala has joined #litex07:13
*** rozpruwacz has joined #litex07:14
keesjwhat is a good approch for testing my verilog module that is integrated into litex.07:31
keesjcan I .. test a wishbone slave or similar then?07:31
keesjbefore integrating I used a verilog test bench and gtkwave07:31
_florent_keesj: you could start by adapting litex_sim and add your peripheral to it07:32
_florent_you can then do iteration in a few seconds and write/read to your peripheral with the mem_write/read commands from the BIOS07:32
keesjlxsim like magic (at least it does not matter wheren I run it I get this nice prompt :P )07:33
keesjbut I am correct that using the python eval type won't work right?07:35
_florent_litex_sim is here: https://github.com/enjoy-digital/litex/blob/master/litex/tools/litex_sim.py07:37
keesjso I would modify the code there and run again correct?07:37
_florent_you copy it to your project and add your peripherals to it here (similarly than adding it to your target): https://github.com/enjoy-digital/litex/blob/master/litex/tools/litex_sim.py#L33007:38
_florent_litex_sim is a regular LiteX SoC with peripherals stub/models for the simulation (ex UART/Ethernet/SDRAM DFI Model, etc...)07:38
keesjI am working on nand flash so I will also need to emulate that part07:39
_florent_instead of runnning on hardware, the SoC run on your PC with Verilator07:39
_florent_runs07:39
*** peeps[zen] has joined #litex07:42
_florent_yes, you'll have to create a model or create an emulator. You can eventually look at the I2C/SDCard integration in litex_sim: I2C is simulated with a software model, SDCard with a gateware SD Emulator (adapted from flipsyfat/project Vault): https://github.com/enjoy-digital/litesdcard/tree/master/litesdcard/emulator07:43
*** peepsalot has quit IRC07:44
*** geertu_ is now known as geertu07:51
gatecattcal: this isn't to do with clocks per se, but just some LIFCL-17 IO being missing. I will look into this over the next few days but without any hardware to test with LIFCL-17 support should be assumed to be incomplete07:57
*** shenki has quit IRC08:17
*** shenki has joined #litex08:17
*** RaivisR_ has joined #litex08:35
*** RaivisR__ has joined #litex08:36
*** RaivisR has quit IRC08:38
*** RaivisR_ has quit IRC08:39
leonsgatecat: whoo, I've got my Kintex-7 board running the bootloader and printing to the serial, awesome! :)09:22
leonsNow I'm stuck at the DRAM, that's a whole new world for me. I have a MT41K512M8 which should(?) be very similar to the already supported MT41K256M16, but I can't really seem to make sense of the banks, rows, cols defined in litedram, compared to the numbers I see in the datasheet...09:23
leonsI think the real question here is, what's the potential for persitent damage to my board when trying with wrong parameters for DRAM?09:28
leonsIs there any standard approach on how to debug LiteDRAM with a specific chip? I can't seem to get mine to work, always "Memtest KO" with 8191/8192 data and 524288/524288 data errors.11:16
_florent_leons: good for the initial SoC11:18
_florent_can you share the boot log with the DDR3 calibration?11:18
leons_florent_: Absolutely! https://gist.githubusercontent.com/lschuermann/c48e8668e13c38f413480d66967e1945/raw/8946498c200b09434025090dfd2966aed0e15007/litex_dram_log.txt11:19
leonsWith the disclaimer that I don't really know what I'm doing quite honestly :)11:19
_florent_ok thanks, so nothing it responding during write/read leveling11:20
_florent_which boards are you using as a reference?11:20
leonsI've been basing this on the Genesys2 (since it uses the same FPGA) but a different DRAM chip11:22
leonsUploaded my current target and platform definition here https://gist.github.com/lschuermann/d7262248b0f077b25932c73c553e0e1c11:22
leonsI tried defining my DRAM chip in the target definition, with the proper values from the Datasheet, but that didn't work11:23
leonsAnd I've of course changes the constraints to match those of the board vendor 🙂 https://reference.digilentinc.com/reference/programmable-logic/netfpga-1g-cml/reference-manual#appendix_bfpga_pin_constraints11:25
tpbTitle: NetFPGA-1G-CML Reference Manual - Digilent Reference (at reference.digilentinc.com)11:25
_florent_leons: ok, it seems good, can you just change the IOStandard for the DQS pins: https://gist.github.com/lschuermann/d7262248b0f077b25932c73c553e0e1c#file-platform-py-L55-L5611:36
_florent_from "DIFF_SSTL15_T_DCI" to "DIFF_SSTL15"? (since we are only using DQS as outputs)11:37
leons_florent_: Sure, building the bitstream now! Thanks for the help, for me this is really a black box, going to read up on the difference between the two IO standards now11:39
leonsUnfortunately changing DQS to DIFF_SSTL15_T_DCI makes no difference in the output11:47
*** lambda has quit IRC11:49
*** lambda has joined #litex11:51
*** rozpruwacz has quit IRC12:16
_florent_leons: ok, I don't think you are far from getting it working, I don't see anything obvious but would need to have a closer look12:21
_florent_leons: you can maybe try to get the MIG project for this boards and compare the constraints that are used in the MIG to the ones you are using12:22
leons_florent_: thanks, that's a great idea. don't worry about it, I'm grateful for any help I can get!12:23
leonsI'll keep experimenting - though is there a high chance I can brick my board by choosing wrong constraints / DRAM parameters? Apart from obvious shorts or wrong voltages12:24
*** rozpruwacz has joined #litex12:26
*** Bertl_zZ is now known as Bertl12:26
_florent_That would be really unlikely, at least I never damaged a boards with a wrong LiteDRAM config12:27
geertu_florent_: When building linux-on-litex-vexriscv for OrangeCrab, I get "Warning: Max frequency for clock '$glbnet$sys_clk': 60.72 MHz (FAIL at 64.00 MHz)"13:46
geertuLooking at my old build logs, this seems to have always failed since forever (that is, the last 6 months), with values ranging from 56.46 to 63.56 MHz.13:47
_florent_geertu: ok, we are currently  looking at LiteSDCard with gsomlo to fix some backpressure issues with Linux, this should allow reducing buffering and relax timing a bit on the OrangeCrab that is pretty full with VexRiscv and LiteSDCard13:54
*** m4ssi has joined #litex14:09
*** m4ssi has quit IRC14:45
leonsI tried generating a memory interface with the MIG and copied all of the timing parameters etc., still no luck... Would it even be expected that the RAM is not responding at all due to a bad timing configuration?15:00
*** peeps[zen] has quit IRC15:26
*** peepsalot has joined #litex15:26
leonsCan I by chance get a QDRII+ SRAM to work instead of DRAM for now with LiteX?15:29
*** mikeK_de1soc has joined #litex15:31
*** felix_ has quit IRC15:32
*** felix_ has joined #litex15:33
*** awordnot has quit IRC15:46
tcalgatecat: thanks!  Let me know if I can help at my end in some way.16:18
*** RaivisR__ has quit IRC16:24
*** pftbest has quit IRC16:32
*** mikeK_de1soc has quit IRC16:34
*** pftbest has joined #litex16:42
*** pftbest has quit IRC16:47
*** peepsalot has quit IRC16:48
*** peeps[zen] has joined #litex16:48
*** pftbest has joined #litex16:48
*** rozpruwacz has quit IRC16:58
*** peeps[zen] has quit IRC16:58
*** peepsalot has joined #litex16:59
tcalgatecat: ...or if it's useful for me to send you a tar of the litex build/ directory.17:04
gatecattcal: yes that would definitely be useful17:05
*** pftbest has quit IRC18:05
*** pftbest has joined #litex18:07
*** pftbest_ has joined #litex18:07
tcalgatecat: Ok, I have a 45kB self-contained tar I can e-mail to you -- is the ds0 address good? Or do you prefer a different channel?18:08
gatecattcal: yes, please email to the ds0 address, thanks18:08
leonsIs there any other approach to debugging LiteDRAM if nothing seems to work, other than trial and error?18:11
*** pftbest_ has quit IRC18:12
leonsI was looking into using the Vivado-generated memory controller IP standalone to see if the DRAM works at all, but that seems a lot more complex than I anticipated :)18:12
gatecatI think there are some debug things like some of the registers but if nothing is responding that may not help18:12
gatecatstaring at the board file can be useful, too18:13
gatecatit's also worth checking if anything like power/termination supplies need to be enabled for the DRAM to work, this has caught me out before18:13
leonsthat's a good point. I can't shake the feeling that there's something wrong with my clocks. LiteEth also doesn't (at least in the bootloader), although I can read the MDIO regs of the PHY18:14
*** kgugala_ has joined #litex18:15
*** kgugala has quit IRC18:15
*** pftbest has joined #litex18:16
leonsgatecat: mhm, according to the datasheet, the DRAM is always powered, all other pins are connected to the proper FPGA pins. it behaves like it's not even there...18:24
*** FFY00_ has joined #litex18:42
*** kgugala has joined #litex18:58
leonsOh no, I just now realized I can also use an integrated main RAM for getting started! That works at least :D18:58
*** kgugala_ has quit IRC19:00
leonsVery exciting, LiteEth works as well. I'll keep working on LiteDRAM on this board, however how upstreamable is an initial version of a board which only has internal RAM?19:13
*** rozpruwacz has joined #litex19:27
*** awordnot has joined #litex19:32
*** rozpruwacz has quit IRC20:25
*** rozpruwacz has joined #litex20:26
*** hansfbaier has joined #litex21:07
*** mikeK_de1soc has joined #litex21:30
*** mikeK_de1soc has quit IRC21:32
*** mikeK_de1soc has joined #litex21:44
*** lkcl has quit IRC22:15
*** lkcl has joined #litex22:28
*** hansfbaier has quit IRC23:23
*** pftbest has quit IRC23:44
*** pftbest has joined #litex23:54
*** pftbest has quit IRC23:59

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!