Wednesday, 2020-03-18

*** tpb has joined #symbiflow00:00
*** balmlake has joined #symbiflow00:08
*** wavedrom has joined #symbiflow00:12
mithroDegi: _florent_ is in Europe, so generally up in about another 4-5 hours or about 8 hours ago00:35
*** wallacejohn has joined #symbiflow00:36
DegiOkay00:44
* Degi is in europe too, RIP sleep00:44
*** balmlake has quit IRC00:46
*** epony has quit IRC01:03
*** epony has joined #symbiflow01:18
*** wallacejohn has quit IRC01:21
*** Bertl_oO is now known as Bertl_zZ01:55
*** citypw has joined #symbiflow02:04
*** Degi has quit IRC02:22
*** Degi has joined #symbiflow02:24
*** balmlake has joined #symbiflow02:57
*** balmlake has quit IRC03:14
*** HEGAZY has joined #symbiflow03:26
*** HEGAZY has quit IRC03:59
*** citypw has quit IRC06:30
_florent_Degi: you can find here some simple designs with transceivers: https://github.com/enjoy-digital/liteiclink/tree/master/examples/transceiver, just transmitting a counter to TX and connecting it to leds on RX. It also integrates a PRBS that can be used to evaluate the link in loopback or between boards.06:34
*** citypw has joined #symbiflow06:36
_florent_PCIe and USB3 are pretty similar in the lower layers, so you can probably find some inspiration in https://github.com/enjoy-digital/usb3_pipe as mithro said.06:37
tpbTitle: GitHub - enjoy-digital/usb3_pipe: USB3 PIPE interface for Xilinx 7-Series / Lattice ECP5 (at github.com)06:37
_florent_To work on a PCIe PHY/Core, i would really recommend starting at PCIe Gen1 2.5Gbps X1 and having a way to capture the raw data and analyze it. This equipment can be quite expensive (>10k$ generally), Franck Jullien has been working on interposer/capture boards and we are trying to creating a SoC to capture data here: https://github.com/enjoy-digital/pcie_analyzer. This should reduce a lot the costs, probably less06:45
_florent_than 500$ with interposer/capture + FPGA board and even less if you already have an FPGA board with PCIe/DDR3/4 and Ethernet.06:45
*** Vonter has quit IRC08:17
*** Vonter has joined #symbiflow08:19
*** clay_1 has joined #symbiflow08:41
*** Vonter has quit IRC08:56
*** Vonter has joined #symbiflow08:57
*** clay_125 has joined #symbiflow09:07
*** clay_1 has quit IRC09:09
*** citypw has quit IRC09:16
*** citypw has joined #symbiflow09:19
*** hackerfoo has quit IRC10:04
*** hackerfoo has joined #symbiflow10:06
*** clay_125 has quit IRC10:37
*** clay_1 has joined #symbiflow10:40
clay_1Good morning Everyone !10:40
*** lambda has quit IRC10:42
*** lambda has joined #symbiflow10:44
DegiHm couldn't you use a second ECP5 to capture the raw transmitted data?11:02
DegiUnless you want to measure waveforms...11:02
DegiOh nice, pcie_analyzer already has a scrambler implemented11:04
clay_1The results I am getting are not good and I suspect and hope it is because I dont add arguements for the following files `top.route` and `top.eblif`11:46
clay_1Can someone help me understand what are those files/ how are they generated ?11:49
sf-slack<acomodi> clay_1: those files are generated during the whole flow. More specifically, `top.route` is the routing generated with VPR, while `top.eblif` is the netlist generated by the Yosys synthesys flow11:51
clay_1does any of those require inputs from anything other than the bitstream and files you can derive from it (e.g fasm)11:52
clay_1?11:52
sf-slack<acomodi> They are not strictly necessary to complete the fasm2bels build, but they make the whole build more robust. `top.eblif` should be used to correctly set the IOs of the design, while `top.route` is used to correctly produce routing constraints in the resulting `top_bit.v.tcl`  file11:53
clay_1so without them I will end up with wrong routing and wrong I/O ?11:55
sf-slack<acomodi> `top.route` can be generated only by using the whole VPR flow. `top.eblif`  can be generated using `make <test>_eblif`11:56
sf-slack<acomodi> without top.route you will have an unconstrained routing11:56
sf-slack<acomodi> without top.eblif you will have different IO names w.r.t. the original design11:56
sf-slack<acomodi> what errors do you get exactly?11:57
clay_1Oh so if it is just names for IOs I dont care as long as they are the same as the ones in the bitstream11:57
clay_1When running the fasm2bels I get no errors11:57
clay_1The problems come when I try to open the output11:58
clay_1For example, the design in the bitstream is using only one lut11:59
clay_1the output verilog has more luts that are set to zero11:59
clay_1Am I allowed to upload a picture here ?11:59
sf-slack<acomodi> Sure12:02
clay_1https://imgur.com/UR8EJDj12:03
tpbTitle: Imgur: The magic of the Internet (at imgur.com)12:03
clay_1So when implementing at some point the tcl comands generated give an error  which end ups with only the ff beeing set in the correct spot12:05
clay_1Also, I omited using the .pcf file because it is creating a syntax error12:06
clay_1what is that file doing ? giving real port names depending on the board or something ?12:07
sf-slack<acomodi> It is a constraint file that is used to map the IOs of the device to the top level IO signals12:08
clay_1So its just for better naming, right ?12:10
clay_1<<`top.route` can be generated only by using the whole VPR flow>> Can I run that independently of the make <test> ?12:14
sf-slack<acomodi> It is possible, but the best way is to create a new test with your initial HDL and run through the whole flow. If you want to generate top.route manually, you would need to go through all the steps to get there (which are performed by the whole build system already)12:17
clay_1Giving the HDL code would beat my purpose though12:21
clay_1Isnt all the information about bels and pips used in the .fasm file ?12:21
clay_1If thats the case, shouldnt it be enough for marking everything used in the bitstream on vivado view ?12:22
clay_1(thats basically what I am after)12:22
sf-slack<acomodi> Ok, so, what errors do you get when you try to implement with Vivado the generated top_bit.v and top_bit.v.tcl?12:24
clay_1Verilog file loads fine, synthesis copmpletes (the rtl design has that wierd extra luts in the pic I uploaded before)12:28
clay_1then I open the synthesized design and I source the tcl12:28
clay_1and there I get the following warning, but no error12:29
clay_1`# set_property LOC [get_sites IOB_X0Y28] $cellWARNING: [Vivado 12-180] No cells matched '*LIOB33_X0Y111_IOB_X0Y111_IBUF'.# set cell [get_cells *LIOB33_X0Y111_IOB_X0Y111_IBUF]# if { $cell == {} } {#     error "Failed to find cell!"# }Failed to find cell!    while executing"error "Failed to find cell!""    invoked from within"if { $cell == {} } {12:29
clay_1error "Failed to find cell!"}"`12:29
clay_1then I save the changes and click run implementation, which eventually reruns everything12:30
clay_1and I end up with a design with extra luts12:31
clay_1a flipflop correctly placed12:32
clay_1and teh valid lut incorectly placed ( and also unfixed) only the ff is fixed12:32
sf-slack<acomodi> Ok, I am pretty sure that is because of the wrong names given to the IOs. Given that the pcf is absent, a default name is assigned to the IOs, and probably, during synthesys they get optimized as they are connected to nothing. You can verify that in the top_bit.v.12:33
clay_1I will try no with pcf included to tell you the exact error it gives12:35
clay_1In the .v file It has the following `  input [7:0] led,  input rx,  input tx,  output [8:0] led  );`12:38
clay_1and the error is `port led is already defined `12:38
sf-slack<acomodi> Well, this led is both an input and an output as far as I can see. Is that intended?12:39
clay_1no, and I could just change one of the names, right ?12:39
sf-slack<acomodi> The .v file is the one generated by fasm2bels?12:40
clay_1yes12:41
clay_1the original hdl that created the bitstream is vhdl, but that shouldnt matter, right ?12:41
sf-slack<acomodi> Hmm, it shouldn't matter, but it would be best to obtain an eblif from that and feed it in fasm2bels as well. And the original hdl has the led set as inout?12:43
clay_1I dont remember that, probably I had used the vivado auto tool to assign the ios12:44
*** Bertl_zZ is now known as Bertl12:45
clay_1the elbif generation, needs strictly verilog, right ?12:47
clay_1Oh, also another thing, it doesnt matter which vivado version is used to generate the .bit, right ?12:48
*** acomodi has joined #symbiflow12:50
*** OmniMancer has quit IRC13:02
*** proteus-guy has quit IRC13:15
-_whitenotifier-3- [yosys] kkumar23 opened issue #64: Branch : quicklogic : Dump report file for the area utilization - https://git.io/JvX5r13:54
*** clay_1 has quit IRC14:48
*** balmlake has joined #symbiflow15:08
*** _whitelogger has quit IRC15:12
*** _whitelogger has joined #symbiflow15:14
*** balmlake has quit IRC15:14
*** balmlake has joined #symbiflow15:47
*** balmlake has quit IRC15:51
*** az0re has quit IRC16:07
*** citypw has quit IRC16:15
*** az0re has joined #symbiflow16:51
*** Bertl is now known as Bertl_oO17:18
*** i8hantanu has joined #symbiflow17:40
*** i8hantanu has left #symbiflow17:52
*** clay_1 has joined #symbiflow17:57
*** clay_1 has quit IRC18:02
*** clay_1 has joined #symbiflow18:06
*** Wanderer_27 has joined #symbiflow18:22
*** Wanderer_27 has quit IRC18:43
*** Wanderer_27 has joined #symbiflow18:45
*** Wanderer_27 has quit IRC19:02
*** clay_1 has quit IRC19:39
*** OmniMancer has joined #symbiflow20:02
*** OmniMancer1 has joined #symbiflow20:03
*** OmniMancer has quit IRC20:06
*** acomodi has quit IRC20:10
DegiDoes it make sense to lump impedance discontinuities together?20:21
DegiLike if a transmission line is terminated on both sides and has one discontinuity, then that shouldn't cause refletions in the output, right?20:21
DegiSorry wrong channel20:24
*** wallacejohn has joined #symbiflow20:37

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