Tuesday, 2020-03-03

*** tpb has joined #symbiflow00:00
*** adjtm has quit IRC00:02
*** adjtm has joined #symbiflow00:02
*** lopsided98 has quit IRC01:41
*** lopsided98 has joined #symbiflow01:42
*** citypw_ has joined #symbiflow02:29
*** bit0fun has joined #symbiflow03:11
*** proteus-guy has quit IRC03:40
*** _whitelogger has quit IRC05:21
*** _whitelogger has joined #symbiflow05:23
*** titanbiscuit has quit IRC05:34
*** titanbiscuit has joined #symbiflow05:37
*** proteus-guy has joined #symbiflow06:11
*** Bertl_oO is now known as Bertl_zZ07:30
*** allenlorenz has quit IRC08:20
sf-slack<acomodi> hackerfoo: nice, did it improve in runtime or QoR?08:28
hackerfooBoth. I'm still tuning it: https://docs.google.com/document/d/1kxi4xXHTZyVaQO8HNpIHmEw6Pz9jvfzzMNvMRGD6BtE/edit?usp=sharing08:30
tpbTitle: Speeding up Placement - Google Docs (at docs.google.com)08:30
*** OmniMancer has joined #symbiflow08:50
*** proteus-guy has quit IRC10:29
-_whitenotifier-3- [symbiflow-arch-defs] acomodi opened issue #1359: Issue with clock net names in SDC - https://git.io/JvaLY10:48
*** Vonter has quit IRC10:54
*** clay_1 has joined #symbiflow10:54
clay_1Hello !10:54
*** luaraneda has quit IRC10:56
*** promach3 has quit IRC10:56
*** nrossi has quit IRC10:56
*** hzeller[m] has quit IRC10:56
*** xobs has quit IRC10:57
*** bunnie[m] has quit IRC10:57
*** abeljj[m] has quit IRC10:57
*** lromor[m] has quit IRC10:57
*** Vonter has joined #symbiflow11:05
*** Vonter_ has joined #symbiflow11:11
*** Vonter has quit IRC11:11
*** xobs has joined #symbiflow11:21
*** allenlorenz has joined #symbiflow11:21
ZirconiumXHello11:42
*** luaraneda has joined #symbiflow11:53
*** abeljj[m] has joined #symbiflow11:53
*** promach3 has joined #symbiflow11:53
*** bunnie[m] has joined #symbiflow11:53
*** nrossi has joined #symbiflow11:53
*** lromor[m] has joined #symbiflow11:53
*** hzeller[m] has joined #symbiflow11:53
*** Jihad has joined #symbiflow12:12
ZirconiumXclay_1: ^12:23
clay_1how is it going ? ZirconiumX12:38
ZirconiumXNot too bad, thank you, clay_112:40
clay_1I hope the not too bad will turn into good soon ^^12:41
*** killruana has quit IRC12:43
ZirconiumXWell, personal things suggest that's unlikely to be the case, but that's besides the point12:43
clay_1Oh, there always hope though12:44
ZirconiumXI've got a couple of things in mind to work on Yosys, but I think you mentioned you wanted to work on nextpnr?12:44
clay_1No, I am interested in project Xray12:45
clay_1I needed help in understanding what they have documented about the bitstream because I dont really get it12:46
clay_1looking at previous conversation here, hackerfoo I saw that he stated the following " think it's very confusing from the outside. The output of Project X-Ray and symbiflow-arch-defs is mostly data that can be used by other tools, such as VPR and Yosys. So users will never really see them in the end"12:47
clay_1so maybe thats why I dont get it ?12:47
ZirconiumXMaybe if you explain what you're looking for someone can help12:47
clay_1Thats a good idea ZirconiumX:)12:54
clay_1In a paper with the title Extract LUT Logics from a Downloaded  Bitstream Data in FPGA12:55
clay_1the authors expalin how the lut values are documented on a vivado created bitstream12:55
clay_1I have not found any similar form of information in project xray12:56
clay_1what I am currently interested in is how interconnect is represented on a bitstream12:56
ZirconiumXSo, the term for an interconnect here is a PIP, for a "Programmable Interconnect Point"13:15
ZirconiumXhttps://github.com/SymbiFlow/prjxray/tree/master/fuzzers13:15
tpbTitle: prjxray/fuzzers at master · SymbiFlow/prjxray · GitHub (at github.com)13:15
ZirconiumXIf you look at the fuzzers you can see a bunch of them that begin with "pip-"13:15
ZirconiumXThese are in charge of fuzzing interconnects13:15
clay_1but it does it have them documented ? For example, if I set some given bits to a specific value it will connect a specific lut output to  a specific registrer13:18
clay_1?13:18
ZirconiumXThat's..a different problem entirely13:21
OmniMancerLut output to register within one CLB is usually a mux and not considered interconnect13:21
clay_1OmniMancer do s pip would be lut to lut connection? If yes does it matter if the two luts are in the same clb or not ?13:23
ZirconiumXPips would be LUT to LUT13:23
ZirconiumXOr rather, CLB to CLB13:24
OmniMancerI do not know much about the xilinx specifics in architecture, but there are usually inputs and outputs of the CLB, and then pips that let you connect the outputs to some set of things, including inter tile interconnect wires, and then pips that let you connect various wires as sources to the inputs13:24
clay_1i see so every connection  inside a clb is not considered a pip13:28
ZirconiumXPIPs are external interconnects13:29
ZirconiumXInternal interconnect generally behaves very differently and thus is treated as such13:30
clay_1how we call the internal ones then ?13:30
ZirconiumXMuxes, generally13:33
OmniMancerThe intra CLB config usually has very limited settings13:33
OmniMancerWherase the inter CLB switchboxes are usually quite wide in what connections they allow13:34
clay_1i see, thank you !13:34
*** clay_1 has quit IRC13:39
*** clay_1 has joined #symbiflow13:40
*** Bertl_zZ is now known as Bertl14:06
*** OmniMancer has quit IRC14:28
clay_1https://symbiflow.readthedocs.io/projects/prjxray/en/latest/architecture/glossary.html#term-bitstream14:47
tpbTitle: Glossary Project X-Ray 0.0-3049-g418063af documentation (at symbiflow.readthedocs.io)14:47
clay_1in the frame entry here, it states "The 50th payload word is an EEC"14:48
clay_1what is EEC ? is it a typo for ECC ?14:48
ZirconiumXPossibly.14:55
clay_1(y)15:04
*** Jihad has quit IRC15:07
ZirconiumXclay_1: going back to earlier, a PIP is generally like a programmable on/off switch between two wires. This means that a single wire can connect to a lot of other wires, forming a one to many relationship along the wires15:13
ZirconiumXHowever inside a CLB you have muxes instead, and these are always connected, but only connect to a single target.15:14
ZirconiumXThus we consider them to be separate to PIPs15:14
clay_1so the muxes are always there15:14
ZirconiumXYes, they're part of the CLB itself15:14
clay_1hmm I see15:15
clay_1probably thats why I have such a routing in this example ?15:16
clay_1Uploaded file: https://uploads.kiwiirc.com/files/5dca37716b4935fd4130d8315f52d605/routing.png15:17
clay_1I mean If i havent forced anything, the lut content would be stored on the lowest register but since I asked for a different one it had to make that feedback looking thing15:20
*** VitiminV has joined #symbiflow15:59
litghostclay_1: There are 2/3 types of "features" that are documented.  The first is pips, which are used to connect the routing fabric together.  PIPs generally generate features that look like <tile>.<dest>.<src>.  The other type of feature is site configuration features.  Site feature are generated <tile>.<site index>.<feature>16:16
litghostIn your example, you'd see some LUT features for the LUT INIT parameter, a feature for the B FF in MUX, and that's about it16:16
litghostFYI, for an Vivado design that prjxray fully understands, you can run bit2fasm to convert the bitstream from the binary format into individual FASM features16:17
clay_1in case i had more luts and ffs would i know what is connected to what ?16:18
litghostprjxray can be thought of the exercise on how to convert bitstreams from binary to some text format and back, along with timing information and graph16:18
clay_1thanks, i will the bit2fasm16:18
litghostSo once sites are configured (e.g. SLICE_L), PIPs are used to configure the generate interconnect to connect sites to each other16:18
clay_1so in my screenshot, a pip is used to create that conection between the clb output and input ?16:20
litghostYes, some out and you'll see them16:24
litghostzoom out/816:24
*** VitiminV has quit IRC16:25
clay_1yes I have seen them16:26
clay_1but if I havent done tha, it would connect to the botom register, in that case no PIP would be used, right ? because it would be handled by the site configuration features ?16:27
litghostclay_1: Sorry, can you rephrase.  I don't understand your question.16:33
clay_1sure. in the picture I attached, the use of this register for storing has been forced. If I havent done that, the tool would pick the bottom one. If it picked that it would get the d value straight from the lut without making that loop16:35
clay_1so I assume that no pip will be used for that16:36
clay_1but the information for that connectio will be included in what you called "site configuration features"16:36
*** shivam_potdar has joined #symbiflow16:45
*** shivam_potdar has quit IRC16:49
litghostclay_1: You are correct that if the FF was in the A FF position, the interconnect based loopback would not be required16:51
litghostclay_1: In both the A FF and B FF position, there would be site configuration features to configure the FF in MUX to select the O6 -> FF path16:52
clay_1but would that also mean that no pip would be set ?16:52
litghostclay_1: In the B FF position there are additional features to configure the interconnect to loop from the SLICE_M A output back to the SLICE_M BX input16:54
litghostclay_1: In the A FF position, no additional PIP's would be required16:55
clay_1and this is needed because the internal interconnect is so to say fixed, right ?16:56
clay_1because it is expected to store Alut to Aff16:56
*** citypw_ has quit IRC17:40
*** clay_1 has quit IRC17:44
*** Vonter_ has quit IRC17:59
*** Vonter has joined #symbiflow18:29
*** kgugala has quit IRC18:52
*** proteusguy has quit IRC19:03
*** kgugala has joined #symbiflow19:11
-_whitenotifier-3- [prjtrellis] gojimmypi opened issue #122: PyTrellis.cpp crashes c++: internal compiler error: Killed (program cc1plus) - Out of memory - https://git.io/Jva8120:36
*** blackhat has joined #symbiflow20:45
*** blackhat has left #symbiflow20:50
*** Vonter has quit IRC21:55
*** Vonter has joined #symbiflow22:01
*** Vonter_ has joined #symbiflow23:12
*** Vonter has quit IRC23:13
*** Vonter_ has joined #symbiflow23:19

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