Friday, 2020-10-16

*** tpb has joined #symbiflow00:00
*** maartenBE has quit IRC00:03
*** maartenBE has joined #symbiflow00:04
*** kraiskil has quit IRC00:23
*** citypw has joined #symbiflow01:45
*** Degi has quit IRC02:13
*** Degi has joined #symbiflow02:16
*** citypw has quit IRC03:19
*** _whitelogger has quit IRC04:30
*** _whitelogger has joined #symbiflow04:32
*** OmniMancer has joined #symbiflow05:40
*** kgugala_ has joined #symbiflow05:51
*** kgugala__ has joined #symbiflow05:54
*** kgugala has quit IRC05:54
*** andrewb1999 has quit IRC05:55
*** kgugala_ has quit IRC05:56
*** citypw has joined #symbiflow06:21
sf-slack<olof.kindgren> @kgugala Do you mean that it is supported already now, but not tested, or do you mean that we could theoretically do that if we add support for it in the quickfeather software?06:26
sf-slack<kgugala> @olof.kindgren all the components are in place and I'm pretty sure QL people tested that, I'm saying I haven't06:28
sf-slack<olof.kindgren> oh, really. That would save me a lot of trouble. Who should I talk to about this?06:29
*** citypw has quit IRC06:30
sf-slack<kgugala> there is https://forum.quicklogic.com/06:33
tpbTitle: Quicklogic Forums - Forum index (at forum.quicklogic.com)06:33
sf-slack<kgugala> I suppose it's quite good place to ask06:34
*** citypw has joined #symbiflow06:34
sf-slack<olof.kindgren> https://forum.quicklogic.com/viewtopic.php?f=4&t=2906:49
tpbTitle: Programming QuickFeather FAQ - Quicklogic Forums (at forum.quicklogic.com)06:49
sf-slack<olof.kindgren> @kgugala We talked about changing the default package type in symbiflow for the quicklogic device. I think it's a bad idea to change it to the one on quickfeather. Found a forum post that tells this package is not generally available and was only produced in limited quantities fo rthe quickfeather06:52
sf-slack<olof.kindgren> So outside of quickfeather, the majority of devices will use other packages06:53
*** kgugala has joined #symbiflow06:55
*** kgugala_ has joined #symbiflow06:58
*** kgugala__ has quit IRC06:58
*** kgugala has quit IRC07:00
sf-slack<kgugala> oh, yeah. They mentioned that the fab they use EOLed the current package07:01
sf-slack<kgugala> you're right - let's stay with the one we have as the default one07:01
*** epony has quit IRC07:30
*** epony has joined #symbiflow07:31
*** QDX45 has quit IRC09:05
*** QDX45 has joined #symbiflow09:05
*** kgugala has joined #symbiflow10:09
*** kgugala has quit IRC10:09
*** kgugala has joined #symbiflow10:10
*** kgugala_ has quit IRC10:10
sf-slack<tpagarani> @olof.kindgren Yes QuickFeather comes pre-programmed with the bootloader that allows you to flash new image using TinyFPGA progammer. You can follow the instructions at https://github.com/QuickLogic-Corp/qorc-sdk/11:11
sf-slack<olof.kindgren> @tpagarani Fantastic! I'll take a look11:18
*** OmniMancer has quit IRC11:26
*** andrewb1999 has joined #symbiflow15:19
*** citypw has quit IRC15:35
*** andrewb1999 has quit IRC16:23
*** kgugala_ has joined #symbiflow17:17
*** kgugala has quit IRC17:19
*** kgugala_ has quit IRC17:53
*** kgugala has joined #symbiflow17:53
*** xtro has joined #symbiflow18:23
*** xtro has quit IRC18:25
*** adjtm has joined #symbiflow18:27
*** az0re has quit IRC18:57
sf-slack<olof.kindgren> @tpagarani FYI, the instructions for installing the ARM toolchain via a PPA don't work. At least not on ubuntu 20.0419:39
*** QDX45 has quit IRC19:43
sf-slack<timo.callahan> @olof.kindgren, I went through this just last night.   I found the .deb for 18.04.   I also had to find a .deb for libisl15 for 18.04.   But it now seems to work.   If you want to go down this path (you may well not), let me know and I'll try to find the URLs or can even send you the .debs.19:45
sf-slack<timo.callahan> (That is I manually installed the 18.04 debs on my 20.04 laptop)19:46
sf-slack<olof.kindgren> @timo.callahan Getting the tar ball worked fine so I'd suggest just drop the ppa method19:46
sf-slack<olof.kindgren> Maybe it's just me, but I don't like choices :)19:47
sf-slack<timo.callahan> :)19:48
sf-slack<olof.kindgren> Alright. So I just built and programmed one of the qork_sdk examples through the USB bootloader19:52
sf-slack<olof.kindgren> I have also built bit files before with my own designs19:53
sf-slack<olof.kindgren> Now the question is, how do I convert my bitfiles into something flashable in the easiest way? There's quite a bit of infrastructure in these examples, so I'm not sure where to start looking19:53
sf-slack<olof.kindgren> e.g. do I need to compile some boilerplate C to load the FPGA from the CPU?19:56
sf-slack<olof.kindgren> Hmm.. so looking deeper at this it seems the bin is just an objcopy'd elf and the FPGA image is embedded as data in the elf19:59
sf-slack<olof.kindgren> So if I want to do this manually, I'll get symbiflow to output a .h for me, #include that in a small C main, compile and objcopy ?20:00
sf-slack<kgugala> the serial loader can program the CPU part only, but CPU can later program FPGA20:01
sf-slack<kgugala> so the USB2Serial does what you described20:01
sf-slack<kgugala> you basically load a CPU program which later programs the FPGA20:01
sf-slack<olof.kindgren> Is the FPGA image always the same size? Was thinking if I could write a small hack that automatically merges the required C code with the FPGA data so I don't need an ARM toolchain for this20:02
sf-slack<kgugala> yes, the toolchain should be the same size20:02
sf-slack<kgugala> so dding bitstream into the app should work20:03
sf-slack<olof.kindgren> cool20:03
sf-slack<olof.kindgren> Is any header added or removed between the h data and the .bit file?20:04
sf-slack<kgugala> no20:06
sf-slack<kgugala> here is an example loader code https://github.com/QuickLogic-Corp/zephyr/blob/eos-s3-support/soc/arm/quicklogic_eos_s3/fpga_loader.c20:09
sf-slack<olof.kindgren> It's even a zephyr app :)20:09
sf-slack<kgugala> so basically it sets a few registers, enables FPGA clocks and writes the bitstream20:10
sf-slack<kgugala> yep you can program FPGA from zephyr20:10
*** james_lan has joined #symbiflow20:10
sf-slack<olof.kindgren> Hmm.. Right. You might want to set up some more stuff, like clock frequencies and so. In that case you can't just use a single hardcoded elf20:11
sf-slack<olof.kindgren> Ok, so for now I'll do it the intended way. But how do I get symbiflow to give me a h file?20:12
sf-slack<kgugala> you may read the configs from constant offset in the binary20:12
sf-slack<kgugala> and update this along with the bitstrema20:12
sf-slack<olof.kindgren> True20:12
sf-slack<olof.kindgren> I think it could be quite useful for people like me who are primarily interested in the FPGA side and kind of don't want to pretend there's an ARM inside as well :)20:13
sf-slack<kgugala> :)20:14
sf-slack<mgielda> you mean an NVIDIA20:14
sf-slack<mgielda> lets get used to the new naming scheme20:15
sf-slack<olof.kindgren> True. I always called them silicon heaters anyway so I don't have to update my naming scheme :)20:15
sf-slack<mgielda> heaters gonna heat20:15
sf-slack<olof.kindgren> :)20:17
sf-slack<olof.kindgren> ok, I'm far too tired for this, but I'm getting closer now20:18
sf-slack<olof.kindgren> But if I get one of those swd cables I can program the fpga part directly from a bit file, right?20:19
sf-slack<kgugala> yep20:19
sf-slack<olof.kindgren> Sounds like I should get one of those anyway.20:20
sf-slack<kgugala> it will also give you debug access to the CPU20:21
sf-slack<kgugala> so it's useful20:21
sf-slack<olof.kindgren> I'm getting the weirdest error when I try to run write_bitheader manually. ```$ write_bitheader corescore_qf.bit corescore_qf.h Traceback (most recent call last):   File "/mnt/gentoo/opt/symbiflow/install/bin/python/bitstream_to_header.py", line 30, in <module>     with open(args.infile, 'rb') as bitstream: FileNotFoundError: [Errno 2] No such file or directory: '.bit'```20:41
sf-slack<olof.kindgren> Yes, corescore_qf.bit exists in current directory20:41
sf-slack<olof.kindgren> oh... write_bitheader does some weird stuff before calling bitstream_to_header.py20:43
sf-slack<olof.kindgren> How is it supposed to be used?20:44
sf-slack<olof.kindgren> Oh well. That's for another day to find out20:44
sf-slack<olof.kindgren> Wait a minute... isn't there a much simpler solution. We could add something like xmodem support in the factory image. Then we can just send a new FPGA image and run load_fpga when it's done20:58
sf-slack<olof.kindgren> At least for volatile FPGA images that would be pretty nice20:58
sf-slack<olof.kindgren> Or zmodem which is a bit more modern. Latest update is from 1986. Happen to know that since I read it on a flight a couple of years ago :)21:00
*** kgugala_ has joined #symbiflow22:30
*** kgugala has quit IRC22:32
*** adjtm has quit IRC22:32

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