tpb has quit [Remote host closed the connection]
tpb has joined #symbiflow
gromero has joined #symbiflow
gromero_ has quit [Ping timeout: 246 seconds]
citypw_ has joined #symbiflow
gromero has quit [Read error: Connection reset by peer]
gromero has joined #symbiflow
gromero_ has joined #symbiflow
gromero has quit [Read error: Connection reset by peer]
gromero__ has joined #symbiflow
gromero_ has quit [Read error: Connection reset by peer]
Degi_ has joined #symbiflow
gromero__ has quit [Read error: Connection reset by peer]
Degi has quit [Ping timeout: 265 seconds]
Degi_ is now known as Degi
gromero__ has joined #symbiflow
epony has quit [Remote host closed the connection]
epony has joined #symbiflow
tpb has quit [Disconnected by services]
tpb has joined #symbiflow
TMM has quit [Ping timeout: 256 seconds]
TMM has joined #symbiflow
_whitelogger has joined #symbiflow
QDX45 has quit [Remote host closed the connection]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<lambda> is it possible that the examples (xc7/counter_test for arty_35 in my case) require symbiflow's yosys fork? I'm hitting an assert in ABC9 with latest master upstream yosys
kraiskil has joined #symbiflow
kraiskil has quit [Ping timeout: 256 seconds]
kraiskil has joined #symbiflow
jordigw has quit [Ping timeout: 244 seconds]
jordigw has joined #symbiflow
ovf has quit [*.net *.split]
ovf has joined #symbiflow
promach3 has quit [Ping timeout: 244 seconds]
abeljj[m] has quit [Ping timeout: 243 seconds]
Niklas[m]1 has quit [Ping timeout: 260 seconds]
xobs has quit [Ping timeout: 260 seconds]
unrznbl[m] has quit [Ping timeout: 268 seconds]
citypw_ has quit [Ping timeout: 268 seconds]
lopsided98 has quit [Ping timeout: 264 seconds]
lopsided98 has joined #symbiflow
citypw_ has joined #symbiflow
xobs has joined #symbiflow
Niklas[m]1 has joined #symbiflow
promach3 has joined #symbiflow
unrznbl[m] has joined #symbiflow
Niklas[m]1 has quit [Ping timeout: 246 seconds]
promach3 has quit [Ping timeout: 265 seconds]
unrznbl[m] has quit [Ping timeout: 240 seconds]
xobs has quit [Ping timeout: 258 seconds]
infinite_recursi has joined #symbiflow
abeljj[m] has joined #symbiflow
futarisIRCcloud has joined #symbiflow
xobs has joined #symbiflow
promach3 has joined #symbiflow
unrznbl[m] has joined #symbiflow
Niklas[m]1 has joined #symbiflow
ayazar1 has joined #symbiflow
infinite_recursi has quit [Ping timeout: 260 seconds]
<nickoe> litghost: How do I run simulation on the counter_test?
lopsided98 has quit [Ping timeout: 260 seconds]
lopsided98 has joined #symbiflow
<nickoe> Why are there two implementations of the counter in https://github.com/SymbiFlow/symbiflow-examples/tree/master/xc7/counter_test ? counter.v and counter_zynq.v?
<sf-slack> <kgugala> nickoe: counter_zynq instantiates ps7 primitive and uses Zynq's hard CPU gpios to control the counter logic (enabling counter and changing count direction)
<nickoe> mm, ok
<nickoe> mm, why cna't I follow the links to the submodules here? I think one used to be able to do that in github, https://github.com/SymbiFlow/symbiflow-docs/tree/master/source
<sf-slack> <kgugala> bacause they are defined with relative addresses see https://github.com/SymbiFlow/symbiflow-docs/blob/master/.gitmodules
<sf-slack> <kgugala> apparently github cannot create links from relative gitmodules
<nickoe> oh, but that is also a bit funky do to it like that?
<sf-slack> <kgugala> with relative submodules it's easier to handle this in forks
<sf-slack> <kgugala> this repo is for documentation and it combines info from submodules, so if you work on it you often have to change a few repos at once
<nickoe> mm, I see
<sf-slack> <kgugala> with relative submodules you don't need to change the addresses
<nickoe> Do you happen to know how I can run simulation on the symbiflow-examples?
<sf-slack> <kgugala> this is a standard verilog code
<sf-slack> <kgugala> you can use any verilog simulator to simulate this
<sf-slack> <kgugala> e.g icarus or Verilator
<nickoe> mm, but how do I do that? I am not really familiar with icarus or verilator. I may have expected it to be a make option.
<sf-slack> <kgugala> symbiflow-examples repo is to show how to use the FPGA toolchain to build designs and upload them into the FPGA chips
<sf-slack> <kgugala> cocotb is a great simulation environment https://docs.cocotb.org/en/stable/
<tpb> Title: Welcome to cocotb’s documentation! cocotb 1.4.0 documentation (at docs.cocotb.org)
<sf-slack> <kgugala> you can desing your testbenches in python and simulate Verilog/SystemVerilog/VHDL designs using simulator you like
<sf-slack> <kgugala> it can handle Verilator and icarus (and many others)
<nickoe> mmm, https://dpaste.com/5DHQBE6SZ kgugala Shouldn't this compile fine?
<tpb> Title: dpaste: 5DHQBE6SZ (at dpaste.com)
<nickoe> or do I need to make something to contain it?
<sf-slack> <kgugala> BUFG is an FPGA primitive
<sf-slack> <kgugala> you need simulation model for it
<nickoe> mm, ok, I will try that in a moment, but in the meantime I tried to modify it with https://github.com/nickoe/symbiflow-examples/commit/277c5bb80fc1b37e2aaa82f02662f03833f86f48 but that fails to build with
<nickoe> ERROR: set_property IO_LOC_PAIRS: Incorrect number of arguments.
<nickoe> ohh, led vs LED?
<nickoe> ok, that certainly does not complain that early
<nickoe> yay, the counter works on the board
<sf-slack> <kgugala> yaay
<sf-slack> <kgugala> what board do you use>
<sf-slack> <kgugala> ?
<nickoe> basys3
<sf-slack> <kgugala> cool
<nickoe> kgugala, mm, how should I verilate it?
<nickoe> I just tried to wget BUFG.v and do "verilator -Wall --trace -cc counter.v BUFG.v" but it errors
<nickoe> %Error-TIMESCALEMOD: counter.v:1:8: Timescale missing on this module as other modules have it (IEEE 1800-2017 3.14.2.2)
<nickoe> mm, I guess I need to add that timescale ting?
<nickoe> ohh, no, it complains about bit widths
<tpb> Title: dpaste: 7D583F5SZ (at dpaste.com)
<sf-slack> <kgugala> make left and right side equal width
<nickoe> is genfasm single threaded?
<nickoe> always, or is this just because I essentially only have on source file?
<sf-slack> <kgugala> i think it is single threaded
<nickoe> I see, the reg is larger to have a bigger counter reg, but I guess I just need to assigne the appropiate portion of the reg to the leds
<nickoe> so I think it built it, but I gues I don't have a binary to run the simluation
* nickoe goes reading that zipcpu post a bit further
<sf-slack> <kgugala> once you verilate the design you get a C++ model of (a class) you also need some kind of a tesbench - another C++ piece of code where you instatiate the class with the mode, drive it inputs (optionally read oputputs) and push the simulation forward
<sf-slack> <kgugala> you have to build it all together (just like any other C++ program) linking against Verilator's runtime and run
<nickoe> well, right now I have nothing more that what you see in the branch
<nickoe> I assume there is some boiler plate code I need to get
<sf-slack> <kgugala> take a look at Verilator's docs https://www.veripool.org/wiki/verilator/Manual-verilator#EXAMPLE-C-EXECUTION
<tpb> Title: Manual-verilator - Verilator - Veripool (at www.veripool.org)
<nickoe> mmm, I don't seem to get a binary, let me commit
<nickoe> I try to do "verilator -Wall --trace --cc counter.v BUFG.v --exe --build sim_main.cpp"
<nickoe> So I am looking for a Vcounter binary in obj_dir, but none exist and I don't get errors with that command.
<nickoe> or.. I guess I do, it exited becasue of a warning.
<nickoe> sigh, all this new syntax when used to read gcc errors, %Warning-DECLFILENAME: counter.v:3:8: Filename 'counter' does not match MODULE name: 'top'
<nickoe> removing -Wall it do build
<nickoe> a binary that runs forever seemingly.
<sf-slack> <kgugala> this is what your code do - it runs i until finish is called in verilog
<sf-slack> <kgugala> I assume your counter does not do that
<sf-slack> <kgugala> also you may want to dump vcd
<sf-slack> <kgugala> (so you can watch signal traces later)
<sf-slack> <kgugala> e.g. with gdkwave
<nickoe> yeah, that is what I want. Do I need to call dump vcd manually in sim_main.cpp?
<sf-slack> <kgugala> look for "How do I generate waveforms (traces) in C++?" in https://www.veripool.org/wiki/verilator/Manual-verilator
<tpb> Title: Manual-verilator - Verilator - Veripool (at www.veripool.org)
<sf-slack> <kgugala> it explains all the steps you need
<nickoe> mmm, is topp a type?
<nickoe> *typo
<nickoe> I guess it is to be the pointer here? Vcounter* top = new Vcounter;
kraiskil has quit [Ping timeout: 256 seconds]
<sf-slack> <kgugala> I think Verialtor's examples may be heplful https://github.com/verilator/verilator/tree/master/examples
<sf-slack> <kgugala> they have pretty deatailed commnents in the code
<nickoe> thank you, I will have a look -- but will get some fresh air in the meantime.
kraiskil has joined #symbiflow
<tpb> Title: nextpnr "Try Hard" mode - Google Docs (at docs.google.com)
<daveshah> mithro: because of some issues like parallelism in the logging code, I'd recommend starting with a wrapper
_whitelogger has joined #symbiflow
citypw_ has quit [Ping timeout: 268 seconds]
gmihovics has quit [Quit: ZNC 1.8.2 - https://znc.in]
<nickoe> kgugala can I access signals inside the module in the testbench?
<nickoe> with verilator
kraiskil has quit [Ping timeout: 256 seconds]
kraiskil has joined #symbiflow
<nickoe> mmm, I think I made it simulate stuff, but for some reason it does not look like the output of the module with the led wires are changing
<nickoe> but the counter is running fine
<nickoe> mmm
<nickoe> I am not sure I understand why I get this error. All I modified was the counter assignment to the led and add timescale for sim https://dpaste.com/EA5XXBHGA
<tpb> Title: dpaste: EA5XXBHGA (at dpaste.com)
<nickoe> ok
<nickoe> - assign led[3:0] = counter >> LOG2DELAY;
<nickoe> + assign led[3:0] = counter[3:0] >> LOG2DELAY;
<nickoe> I guess it is that addition of that range that causes that
<nickoe> ok, that solved it for simulation and real, fixed with: assign led[15:0] = counter[BITS+LOG2DELAY-1:LOG2DELAY];
andrewb1999 has joined #symbiflow
FFY00 has quit [Ping timeout: 260 seconds]
FFY00 has joined #symbiflow
ayazar1 has quit [Quit: ayazar1]
andrewb1999 has quit [Read error: Connection reset by peer]
andrewb1999 has joined #symbiflow
kraiskil has quit [Ping timeout: 256 seconds]
kraiskil has joined #symbiflow
<nickoe> Can one initialize internal variables of a verilog module with verilator?
QDX45 has joined #symbiflow
join_subline has quit [Ping timeout: 240 seconds]
kraiskil has quit [Ping timeout: 240 seconds]
<nickoe> Can one install the symbiflow toolchaing for the upduino (ice40) with the symbiflow examples guide, or how does that work?
<nickoe> or should I use make env from arch defs? I assume that "make env" from that essentially replaces the instructions on this page? https://symbiflow-examples.readthedocs.io/en/latest/getting-symbiflow.html
<tpb> Title: Getting SymbiFlow SymbiFlow examples documentation (at symbiflow-examples.readthedocs.io)
FFY00 has quit [Remote host closed the connection]
kraiskil has joined #symbiflow
kraiskil has quit [Ping timeout: 272 seconds]