_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://freenode.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
lf has quit [Ping timeout: 245 seconds]
lf has joined #litex
rj has quit [Ping timeout: 240 seconds]
rj has joined #litex
FFY00_ has quit [Remote host closed the connection]
rj has quit [Ping timeout: 240 seconds]
<tcal> gatecat: 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 -".
rj has joined #litex
Degi_ has joined #litex
rj has quit [Ping timeout: 240 seconds]
Degi has quit [Ping timeout: 245 seconds]
Degi_ is now known as Degi
rj has joined #litex
rj has quit [Quit: rj]
Bertl_oO is now known as Bertl_zZ
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 265 seconds]
pftbest has joined #litex
kgugala_ has quit [Read error: Connection reset by peer]
kgugala has joined #litex
rozpruwacz has joined #litex
<keesj> what is a good approch for testing my verilog module that is integrated into litex.
<keesj> can I .. test a wishbone slave or similar then?
<keesj> before integrating I used a verilog test bench and gtkwave
<_florent_> keesj: you could start by adapting litex_sim and add your peripheral to it
<_florent_> you can then do iteration in a few seconds and write/read to your peripheral with the mem_write/read commands from the BIOS
<keesj> lxsim like magic (at least it does not matter wheren I run it I get this nice prompt :P )
<keesj> but I am correct that using the python eval type won't work right?
<keesj> so I would modify the code there and run again correct?
<_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#L330
<_florent_> litex_sim is a regular LiteX SoC with peripherals stub/models for the simulation (ex UART/Ethernet/SDRAM DFI Model, etc...)
<keesj> I am working on nand flash so I will also need to emulate that part
<_florent_> instead of runnning on hardware, the SoC run on your PC with Verilator
<_florent_> runs
peeps[zen] has joined #litex
<_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/emulator
peepsalot has quit [Ping timeout: 276 seconds]
geertu_ is now known as geertu
<gatecat> tcal: 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 incomplete
shenki has quit [Ping timeout: 258 seconds]
shenki has joined #litex
RaivisR_ has joined #litex
RaivisR__ has joined #litex
RaivisR has quit [Ping timeout: 240 seconds]
RaivisR_ has quit [Ping timeout: 240 seconds]
<leons> gatecat: whoo, I've got my Kintex-7 board running the bootloader and printing to the serial, awesome! :)
<leons> Now 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...
<leons> I think the real question here is, what's the potential for persitent damage to my board when trying with wrong parameters for DRAM?
<leons> Is 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.
<_florent_> leons: good for the initial SoC
<_florent_> can you share the boot log with the DDR3 calibration?
<leons> With the disclaimer that I don't really know what I'm doing quite honestly :)
<_florent_> ok thanks, so nothing it responding during write/read leveling
<_florent_> which boards are you using as a reference?
<leons> I've been basing this on the Genesys2 (since it uses the same FPGA) but a different DRAM chip
<leons> Uploaded my current target and platform definition here https://gist.github.com/lschuermann/d7262248b0f077b25932c73c553e0e1c
<leons> I tried defining my DRAM chip in the target definition, with the proper values from the Datasheet, but that didn't work
<leons> And 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_constraints
<tpb> Title: NetFPGA-1G-CML Reference Manual - Digilent Reference (at reference.digilentinc.com)
<_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-L56
<_florent_> from "DIFF_SSTL15_T_DCI" to "DIFF_SSTL15"? (since we are only using DQS as outputs)
<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 now
<leons> Unfortunately changing DQS to DIFF_SSTL15_T_DCI makes no difference in the output
lambda has quit [Quit: WeeChat 3.0]
lambda has joined #litex
rozpruwacz has quit [Quit: Leaving.]
<_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 look
<_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 using
<leons> _florent_: thanks, that's a great idea. don't worry about it, I'm grateful for any help I can get!
<leons> I'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 voltages
rozpruwacz has joined #litex
Bertl_zZ is now known as Bertl
<_florent_> That would be really unlikely, at least I never damaged a boards with a wrong LiteDRAM config
<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)"
<geertu> Looking 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.
<_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 LiteSDCard
m4ssi has joined #litex
m4ssi has quit [Remote host closed the connection]
<leons> I 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?
peeps[zen] has quit [Ping timeout: 252 seconds]
peepsalot has joined #litex
<leons> Can I by chance get a QDRII+ SRAM to work instead of DRAM for now with LiteX?
mikeK_de1soc has joined #litex
felix_ has quit [Ping timeout: 240 seconds]
felix_ has joined #litex
awordnot has quit [Ping timeout: 248 seconds]
<tcal> gatecat: thanks! Let me know if I can help at my end in some way.
RaivisR__ has quit [Quit: Leaving]
pftbest has quit [Remote host closed the connection]
mikeK_de1soc has quit [Ping timeout: 240 seconds]
pftbest has joined #litex
pftbest has quit [Ping timeout: 240 seconds]
peepsalot has quit [Ping timeout: 240 seconds]
peeps[zen] has joined #litex
pftbest has joined #litex
rozpruwacz has quit [Quit: Leaving.]
peeps[zen] has quit [Ping timeout: 265 seconds]
peepsalot has joined #litex
<tcal> gatecat: ...or if it's useful for me to send you a tar of the litex build/ directory.
<gatecat> tcal: yes that would definitely be useful
pftbest has quit [Remote host closed the connection]
pftbest has joined #litex
pftbest_ has joined #litex
<tcal> gatecat: 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?
<gatecat> tcal: yes, please email to the ds0 address, thanks
<leons> Is there any other approach to debugging LiteDRAM if nothing seems to work, other than trial and error?
pftbest_ has quit [Remote host closed the connection]
<leons> I 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 :)
<gatecat> I think there are some debug things like some of the registers but if nothing is responding that may not help
<gatecat> staring at the board file can be useful, too
<gatecat> it's also worth checking if anything like power/termination supplies need to be enabled for the DRAM to work, this has caught me out before
<leons> that'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 PHY
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 252 seconds]
pftbest has joined #litex
<leons> gatecat: 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...
FFY00_ has joined #litex
kgugala has joined #litex
<leons> Oh no, I just now realized I can also use an integrated main RAM for getting started! That works at least :D
kgugala_ has quit [Ping timeout: 240 seconds]
<leons> Very 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?
rozpruwacz has joined #litex
awordnot has joined #litex
rozpruwacz has quit [Quit: Leaving.]
rozpruwacz has joined #litex
rozpruwacz has quit [Client Quit]
hansfbaier has joined #litex
mikeK_de1soc has joined #litex
mikeK_de1soc has quit [Client Quit]
mikeK_de1soc has joined #litex
lkcl has quit [Ping timeout: 260 seconds]
lkcl has joined #litex
hansfbaier has quit [Quit: WeeChat 2.8]
pftbest has quit [Remote host closed the connection]
pftbest has joined #litex
pftbest has quit [Ping timeout: 260 seconds]