Tuesday, 2020-05-12

*** tpb has joined #symbiflow00:00
*** gsmecher has quit IRC00:27
*** citypw has joined #symbiflow02:35
*** Degi has quit IRC03:29
*** Degi_ has joined #symbiflow03:30
*** Degi_ is now known as Degi03:30
*** Bertl is now known as Bertl_zZ03:50
*** futarisIRCcloud has joined #symbiflow04:05
*** az0re has quit IRC04:23
*** FFY00 has quit IRC04:40
*** FFY00 has joined #symbiflow04:40
*** gnufan has joined #symbiflow05:52
*** futarisIRCcloud has quit IRC06:25
*** az0re has joined #symbiflow06:36
*** kraiskil has joined #symbiflow08:13
*** OmniMancer1 has joined #symbiflow08:29
*** OmniMancer has quit IRC08:30
*** OmniMancer has joined #symbiflow09:03
*** OmniMancer1 has quit IRC09:05
*** OmniMancer has quit IRC09:45
*** OmniMancer1 has joined #symbiflow09:45
*** kraiskil has quit IRC10:44
*** _whitenotifier-c has joined #symbiflow10:45
*** kraiskil has joined #symbiflow10:58
*** OmniMancer has joined #symbiflow11:24
*** OmniMancer1 has quit IRC11:24
*** Bertl_zZ is now known as Bertl11:41
*** OmniMancer has quit IRC12:14
*** OmniMancer has joined #symbiflow12:15
*** futarisIRCcloud has joined #symbiflow12:28
*** OmniMancer has quit IRC12:43
*** OmniMancer has joined #symbiflow12:43
-_whitenotifier-c- [symbiflow-arch-defs] mkurc-ant opened issue #1481: Solve the problem of automatic IDELAYCTRL placement - https://git.io/Jf84512:51
*** citypw has quit IRC14:09
*** citypw has joined #symbiflow14:09
*** gnufan has quit IRC14:49
*** gnufan has joined #symbiflow15:04
*** gnufan has quit IRC15:19
*** gsmecher has joined #symbiflow15:47
*** OmniMancer has quit IRC16:07
*** mkru has joined #symbiflow16:15
*** ZipCPU has quit IRC16:47
*** citypw has quit IRC17:14
*** mkru has quit IRC17:17
*** _whitelogger has quit IRC17:21
*** _whitelogger has joined #symbiflow17:23
sf-slack2<timo.callahan> Ah, my 100t issues are my fault, due to setting XRAY_IOI3_TILES arbitrarily.   I hadn't realized that this variable specifies special handling of some 50t tiles because their frame addresses are shifted one frame higher than the rest.  No wonder it's messing up the programming for that one IOB.   I guess I'm lucky that one of the tiles I chose for XRAY_IOI3_TILES is used in the small tests, so I ran into this17:25
sf-slack2issue right away.17:25
*** Bertl is now known as Bertl_oO17:37
*** ZipCPU has joined #symbiflow17:39
*** kraiskil has quit IRC18:37
daddesiosorry if this has been asked before, but does symbiflow/prjtrellis support the SerDes on the ECP5-5G? I don't see a mention of it on the website, readme, devices.json, etc.19:48
daddesioI need to upload lots of data (~100Mbit) fast (~100Mbit/s) to an ARM microcontroller, and I'm wondering if that could be realistic with symbiflow in the near future. :)19:48
daveshahIt's supported but experimental19:48
daveshahBut it wouldn't be any use for that case, it's minimum data rate is 270Mbit/s19:49
daveshahAt 100Mbit/s regular IO maybe with a DDR primitive would be the way to go19:49
daddesiohave you successfully used Lattice's DDR/PCIe/ethernet cores?19:50
daveshahNo, they are encrypted with a stupidly expensive license19:50
daveshahLiteX has open source DDR3 and Ethernet cores for ECP519:51
daveshahThere isn't a working open source PCIe core yet19:51
daveshahBut the basics of a PHY have been worked on: https://github.com/whitequark/Yumewatari19:52
tpbTitle: GitHub - whitequark/Yumewatari: 妖刀夢渡 (at github.com)19:52
daddesioin my case I'm thinking of DMAing the data via DDR3, so my FPGA would be like a "peripheral" or slave device, then send an interrupt to the ARM chip once the upload is done19:54
daveshahDDR3 is working nicely with litedram19:55
daddesioI'll look into LiteDRAM/LiteX, thanks.20:08
zypoh, I had the impression that litepcie already supported ecp520:11
daddesio(aside: the i.MX6ULL ($10 ARM SoC) has an on-chip DDR3 controller. hopefully it will play nicely :p)20:12
daveshahzyp: no, it doesn't, it relies heavily on the Xilinx hard PCIe IP20:13
daveshahdaddesio: oh do you want to use the ECP5 to emulate a DDR3 memory? that is not something litedram supports20:13
daddesiono no, just upload lots of data (about 1GB collected over 1 second) *somewhere* the ARM chip can access at a way later time.20:13
daddesio(it's more like 1 GiB, not 100Mbit like I said before, now that I think about it)20:14
daveshahDoes the ARM chip have an Ethernet PHY interface like RMII or similar?20:14
daveshahThat can be connected "crossover" to a similar interface on the ECP5 to emulate an ethernet link between the two (and you can use raw ethernet frames, no need even for UDP)20:15
zypimx6 would probably have RGMII20:15
daddesioI've never heard of RMII20:15
zypdaveshah, guess I shouldn't be in a hurry to do that m.2 board with ecp5 that I've been thinking about then :)20:16
daddesioand, it doesn't necessarily have to be an i.MX, it's just the first ARM chip I happened to find that has DDR3 support20:16
zypdaveshah, why DDR3?20:17
zypdaddesio*20:17
daddesioit doesn't have to be DDR3, I just thought it would work as an option since the ECP5 Versa supports it :p20:18
daveshahShared DDR3 probably isn't a very good idea20:18
zypshared DDR3 is probably very unfeasible20:18
daveshahI suspect it may work at low speeds if you were careful with the termination, but probably not at full speed20:18
daveshahAnd you'd need to find a way to turn off the iMX6 DDR3 interface totally while the FPGA accessed it (in particular stop the iMX from driving the CA lines) which may or may not be possible without causing other problems20:19
daddesioerm, I thought the DDR3 controller would have taken care of bus mastering. I guess the DDR3 controller is *just* a transceiver then?20:21
zypDDR3 is not designed to be shared between multiple masters20:22
daddesioI must be thinking of PCIe then ?20:22
* daddesio has never read the DDR/PCIe specs20:23
daveshahPCIe is definitely not designed to be shared either20:24
daddesio> DDR3 is not designed to be shared between multiple masters20:26
daddesioI intended for the FPGA to be a slave, and the ARM chip to be the master20:26
zypdaveshah, apples and oranges20:27
lambdadaddesio: how should the FPGA and MCU communicate?20:27
daddesiomaybe I should take a step back now20:28
daddesiomy FPGA is a logic analyzer that will collect about 1GiB of data over the course of 1 second. I'd like to save it somewhere, then do post-processing on it via an ARM chip (or maybe my laptop)20:29
litghostPCIe cannot be "shared", but there are ways to endpoint to endpoint communication setup via a master20:29
litghoste.g. DMA from a NIC to disk or vise versa20:30
daddesiothere's no realtime requirements other than the data collection itself. I can be as slow as I want to process the data.20:30
zypdaddesio, in that case you'd connect the DDR3 memory or whatever directly to the fpga, and then use some other interface to read it out via the fpga20:30
zypyou could drop the arm chip and collect the data from your laptop via e.g. ethernet or usb320:32
lambdaif you have USB3 you might even get away with streaming everything at 5Gbps, no memory required20:34
*** robert3 has joined #symbiflow20:45
*** robert3 is now known as rw1nkler20:45
*** OmniMancer has joined #symbiflow21:18
*** OmniMancer1 has joined #symbiflow22:15
*** OmniMancer has quit IRC22:17
daddesioalright, I admit it, that is a much easier solution. only downside is I need twice the memory (1GiB for the fpga and 1GiB for the host), but the benefit is the fpga has guaranteed low-latency write access to the DRAM. (the ECP5 only has about 468KiB of internal RAM so doesn't afford much room for jitter)22:23
daddesioinstead of waiting around for its turn to master the (pcie) bus22:24
daddesio(referring to @zyp's solution)22:25
*** rw1nkler has quit IRC22:36
*** az0re has quit IRC23:43
*** _whitelogger has quit IRC23:48
*** _whitelogger has joined #symbiflow23:50
*** az0re has joined #symbiflow23:57

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