Monday, 2020-12-21

*** tpb has joined #symbiflow00:00
mithroRaito_Bezarius: The Arty A7 boards (Artix 7) are supported. At some point the Arty Z7 boards (Zynq) should work but nobody has done any testing00:17
Raito_Bezariusmine is indeed Arty S7 (Spartan 7) which seems to have received no support00:18
Raito_Bezariusto be fair, I'd be glad to help around if I can, but unsure how non trivial to help to port symbiflow to this00:19
mithroRaito_Bezarius: The big problem is that the version of Vivado that prjxray uses to document the series 7 bitstream doesn't support Spartan 7 parts and there is one (atleast) vital fuzzer that doesn't work with newer Vivado versions.00:24
mithrotimichalak: Project U-Ray uses a new Vivavo version than Project X-Ray, right?00:25
Raito_Bezariusah I see00:25
Raito_Bezariuswhat kind of efforts are required to port the vital fuzzer with newer Vivado versions?00:26
*** _florent_ has quit IRC00:45
*** davidlattimore has quit IRC00:46
*** jopdorp has quit IRC00:46
*** davidlattimore has joined #symbiflow00:47
*** jopdorp has joined #symbiflow00:47
*** _florent_ has joined #symbiflow00:47
*** ZipCPU has quit IRC00:57
*** m_hackerfoo has quit IRC00:57
*** dkozel has quit IRC00:57
*** tnt has quit IRC00:57
*** ZipCPU has joined #symbiflow01:17
*** m_hackerfoo has joined #symbiflow01:17
*** dkozel has joined #symbiflow01:17
*** tnt has joined #symbiflow01:17
*** Degi has quit IRC01:20
*** xtro has joined #symbiflow01:24
*** Degi has joined #symbiflow01:25
*** hansfbaier has joined #symbiflow01:39
*** citypw has joined #symbiflow02:26
mithroRaito_Bezarius: It's mostly an "unknown" effort type thing -- it definitely isn't super easy03:12
Raito_Bezariusmakes sense :D03:13
mithroRaito_Bezarius: The other problem is that fuzzer was written a *long* time ago, so I'm not sure anyone remembers the exact reasons why it doesn't work03:14
Raito_Bezariuswhat does the fuzzing accomplish exactly? does it helps to discover the undocumented commands that the FPGA uses?03:14
mithroRaito_Bezarius: The entire bitstream of the FPGA is undocumented (it's not like CPUs which generally at least have ISA documentation so you can write a compiler for them....)03:15
Raito_Bezariusha03:16
Raito_Bezarius:/03:16
mithroRaito_Bezarius: bunnie did a bunch of work on this for https://www.crowdsupply.com/sutajio-kosagi/precursor which some can be found in https://github.com/SymbiFlow/prjxray/pull/115503:17
tpbTitle: Precursor | Crowd Supply (at www.crowdsupply.com)03:17
mithroRaito_Bezarius: But he never got around to getting the changes upstream and wasn't focused on a working toolchain (rather just verification of security boundaries / features in the FPGA are enabled)03:18
Raito_Bezariussuper cool though03:19
mithroRaito_Bezarius: it is unclear to me how much work would be required to get Spartan 7 support into the architecture generation part once prjxray support was finished -- but it /shouldn't/ be a huge amount03:20
mithroRaito_Bezarius: litghost who would probably be the best person to answer is currently on holidays -- some of the antmicro crew like acomodi, mkurc or tmichalak might have some advice03:21
Raito_Bezariuswell, I will take note of this and will come back to it once I can allocate time to it, with no real guarantee though as I am not really accustomed to this kind of low level reverse engineering03:21
Raito_Bezariusbut I'm curious indeed on the state of this03:22
Raito_Bezariusand what can be done about it03:22
Raito_Bezariusso I might ping litghost in few months again once they are out of holidays (or not) :)03:22
Raito_Bezariusthanks for your many very helpful pointers mithro !03:22
Raito_Bezariusi really appreciate it03:22
mithroRaito_Bezarius: it's actually a lot more massaging of grumpy tools and scripts than anything /really/ complicated03:24
Raito_Bezariusoh :>03:25
Raito_Bezariusthat I can do theorically03:25
Raito_Bezariusbut does the fuzzing can be destructive?03:25
Raito_Bezariuslike can it kill the FPGA?03:25
mithroThat is very unlikely (but like all software, no implied guarantee / warranty here) -- the goal is that we never generate a bitstream sequence that Vivado itself wouldn't generate and in fact we do a lot of testing to try and make sure that happens03:27
Raito_Bezarius(to be fair, we have multiple ones so I think I can break at least 2 of them :>)03:27
*** ayazar has quit IRC03:27
mithroSee the two diagrams at the end of https://docs.google.com/document/d/11wJUvr2aVBkUiuYYsFN07jkoYr_ccWlLLLFH8YQw8uQ/edit#heading=h.3qexkmb1a1q703:28
tpbTitle: SymbiFlow Checking / Testing Approach - Google Docs (at docs.google.com)03:28
mithroRaito_Bezarius: The FPGA itself isn't involved in the bitstream documentation side of things03:28
Raito_Bezariusaaah I understand now03:29
Raito_Bezariusyou're using Vivado as a proxy, right?03:29
Raito_Bezariusif I understand well the diagram03:29
Raito_Bezariusokay that sounds indeed super safe03:30
hansfbaiermithro: Why don't you put the link above in the online project doc? That would be really helpful to get started.03:33
mithrohansfbaier: Because we are not as organized as we could be :-P03:33
hansfbaiermithro: :)03:34
mithrohansfbaier: And I tend to create a lot of google docs + diagrams and then forget about them until a discussion many months (or years) later03:34
mithrohansfbaier: There is a whole bunch of random diagrams + documents in the Google shared folder at https://drive.google.com/drive/folders/1euSrrszzt3Bfz792S6Ud8Ox2w7TYUZNa03:35
tpbTitle: SymbiFlow - Publically Accessible Docs – Google Drive (at drive.google.com)03:35
mithrohansfbaier: Almost all are in various states of bitrot :-)03:36
hansfbaiermithro: Those diagrams are really cool. I am a visual guy mostly for intellectual information. That helps quite a bit.03:37
mithrohansfbaier: I'm a visual person, which is why end up doing the diagrams - Mainly while trying to figure out what the hell something is trying to tell me03:38
hansfbaiermithro: The most difficult thing about getting started is that it is so easy to drown in information (tons and tons of manuals) and it is so hard to see what information is important and which isn't03:38
mithrohansfbaier: Yeap03:38
hansfbaiermithro: The state of things being. I would like to add support for the FPGAs in Litefury and Nitefury, but can't because the database needs to be refactored for deduplication03:39
mithrocr1901_modern: Did you find the documentation at https://symbiflow.readthedocs.io/en/latest/symbiflow-arch-defs/docs/source/development/structure.html ?03:39
tpbTitle: Structure SymbiFlow (at symbiflow.readthedocs.io)03:39
hansfbaiermithro: Thanks for that link, seems to help. Might have glanced over it.03:42
mithrohansfbaier: I think the db deduplication needs to happen before we wholesale add all Vivado supported Series 7 parts -- if you only care about 1 or 2 parts you can probably just add them...03:42
mithrohansfbaier: Did you find https://symbiflow.readthedocs.io/en/latest/symbiflow-arch-defs/docs/source/prjxray/flow-diagram.html ?03:44
tpbTitle: Flow Diagram SymbiFlow (at symbiflow.readthedocs.io)03:44
hansfbaiermithro: The proper way is to deduplicate first, but I have no idea how long it might take and if I could help with it (I have no overview yet where the duplicated information lives)03:45
mithrohansfbaier: Sure, but sometimes it is better to do things the easy way first :-)03:45
hansfbaiermithro: not yet, thanks! I think I only browsed the project x-ray docs, but not the symbiflow documentation, assuming it is self-contained03:46
hansfbaiermithro: Yeah, it sucks to be blocked03:46
mithrohansfbaier: Sometimes it can be useful to understand how something it used to understand why it looks like something03:46
mithrohansfbaier: I would suggest plowing ahead with adding the part which should actually give you a bit of the background needed to understand what needs to be done for the deduplication stuff03:47
hansfbaiermithro: Yes, adding parts seems to be pretty straightforward AFAICT: Add the metadata, run the fuzzers, create pull request. done.03:47
mithrohansfbaier: Give it a go?03:48
hansfbaiermithro: OK I'll try it03:48
mithrohansfbaier: My diagram effort today was https://docs.google.com/drawings/d/15sVUnCHS1ex3lmuD3J7nDR-F1Xst6Panotc-2WlNRtQ/edit03:49
tpbTitle: SymbiFlow Environment Providers - Google Drawings (at docs.google.com)03:49
*** ayazar has joined #symbiflow03:52
hansfbaiermithro: I found it really helpful to play a bit with the die-view in vivado/quartus to get a more low level understanding of the FPGAs. Much easier than plowing through the handbooks and much more intuitive03:52
hansfbaiermithro: But that old Vivado version won't concede to upscale to HiDPI, so I configured a hotkey in i3 to switch resolutions03:53
-_whitenotifier- [symbiflow-arch-defs] zjenny09 opened issue #1904: post-synthesis simulation error - https://git.io/JLVCT03:54
mithrohansfbaier: Did you see the two tools I linked from https://twitter.com/mithro/status/1340756795308924928 ?03:55
mithrohansfbaier: https://antmicro.github.io/symbiflow-database-visualizer/03:55
hansfbaiermithro: not yet, looks very interesting03:56
mithrohansfbaier: Still very basic03:56
mithrohansfbaier: Also https://symbiflow.github.io/prjxray-db/artix7/03:57
tpbTitle: X-Ray ARTIX7 Database (at symbiflow.github.io)03:57
mithrohttps://symbiflow.github.io/prjxray-db/artix7/tile_int_l.html#b21_22 kind of shows how the various muxes look like03:58
tpbTitle: X-Ray ARTIX7 Database: INT_L (at symbiflow.github.io)03:58
cr1901_modernmithro: No, but I'm reading it now. Good to know04:02
cr1901_modernWhat is a "SITE" in Xilinx terminology? Do TILES contain SITEs?04:04
mithrocr1901_modern: I believe there is a glossary somewhere...04:05
mithrocr1901_modern: https://symbiflow.readthedocs.io/en/latest/prjxray/docs/architecture/glossary.html apparently....04:06
tpbTitle: Glossary SymbiFlow (at symbiflow.readthedocs.io)04:06
cr1901_modernOkay, essentially the terminology is the same as nextpnr, taking a skim04:08
cr1901_modernAlthough in nextpnr-land a SLICE _is_ considered a BEL04:09
hansfbaiermithro: what do the NULL/VBRK entries mean? NULL = unknown or unused?04:16
mithrohansfbaier: VBRK means vertical break I think -- I'm afraid I can't recall what that actually means04:17
mithrohansfbaier: I think the NULL tiles are padding in the bitstream to make shift registers and stuff line up? Others might probably know04:18
mithrohansfbaier: I'm don't get to play with all the cool stuff these days, I mostly just do presentations to try and get people funding to do cool stuff04:19
hansfbaiermithro: are the cells of those diagrams individual bits and the rows/columns a factorization of them?04:24
mithrohansfbaier: Something like that, it's explained somewhere...04:24
mithroHeading out, have a good night people04:33
hansfbaiermithro: Good night, thanks!04:35
*** citypw has quit IRC04:48
*** Degi has quit IRC04:59
*** Degi has joined #symbiflow05:03
*** hansfbaier has quit IRC06:25
*** hansfbaier has joined #symbiflow06:25
*** hansfbaier has quit IRC06:53
*** _whitelogger has quit IRC06:57
*** citypw has joined #symbiflow06:59
*** _whitelogger has joined #symbiflow06:59
*** _whitelogger has quit IRC07:27
*** _whitelogger has joined #symbiflow07:29
*** _whitelogger has quit IRC07:51
*** _whitelogger has joined #symbiflow07:53
*** xtro has quit IRC08:46
*** hansfbaier has joined #symbiflow09:09
hansfbaiercrazy, you can get xc7010 boards for $18 including shipping09:11
-_whitenotifier- [symbiflow-examples] acomodi opened issue #109: Fix counter example - https://git.io/JLwkG09:24
*** hansfbaier has quit IRC12:20
-_whitenotifier- [ideas] mark-stopka opened issue #59: Add SymbiFlow tooling to openSUSE - https://git.io/JLrU414:15
*** ZipCPU has quit IRC16:29
-_whitenotifier- [symbiflow-examples] acomodi opened issue #113: LiteX: Add missing CPU-types - https://git.io/JLrr616:29
*** bjorkint0sh has quit IRC16:48
*** citypw has quit IRC16:57
*** umarcor|2 has joined #symbiflow17:25
*** umarcor has quit IRC17:25
*** umarcor|2 has quit IRC17:44
*** umarcor has joined #symbiflow17:44
*** ssb has quit IRC17:45
*** ssb has joined #symbiflow17:45
*** umarcor|2 has joined #symbiflow17:52
*** umarcor has quit IRC17:53
*** umarcor has joined #symbiflow17:55
*** umarcor|2 has quit IRC17:55
*** cr1901_modern has quit IRC18:26
*** xtro has joined #symbiflow18:26
*** kraiskil has joined #symbiflow19:15
*** kraiskil has quit IRC19:23
*** kraiskil has joined #symbiflow19:36
*** cr1901_modern has joined #symbiflow20:48
*** alexhw has quit IRC21:34
*** alexhw has joined #symbiflow21:35
*** kraiskil has quit IRC21:37
*** frubbl has joined #symbiflow22:36
*** frubbl has quit IRC22:37
*** frubbl has joined #symbiflow22:37
*** mats has quit IRC23:20
*** TMM has quit IRC23:56
*** TMM has joined #symbiflow23:56

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