Friday, 2020-02-14

*** tpb has joined #yosys00:00
*** rohitksingh has quit IRC00:08
*** rohitksingh has joined #yosys00:21
*** rohitksingh has quit IRC01:10
*** emeb has quit IRC01:13
*** rohitksingh has joined #yosys01:15
*** strobokopp has quit IRC02:07
*** rohitksingh has quit IRC02:16
*** proteusguy has quit IRC02:20
*** proteusguy has joined #yosys02:24
*** emeb_mac has joined #yosys02:48
*** peepsalot has quit IRC02:58
*** peepsalot has joined #yosys03:37
*** _whitelogger has quit IRC04:43
*** _whitelogger has joined #yosys04:45
*** rohitksingh has joined #yosys04:49
*** rohitksingh has quit IRC04:59
*** show1 has quit IRC05:00
*** Forty-Bot has quit IRC05:06
*** N2TOH_ is now known as N2TOH05:25
*** rohitksingh has joined #yosys05:33
*** show1 has joined #yosys06:44
*** emeb_mac has quit IRC07:01
*** ZipCPU has quit IRC07:34
*** ZipCPU has joined #yosys07:34
*** X-Scale` has joined #yosys07:39
*** X-Scale has quit IRC07:39
*** X-Scale` is now known as X-Scale07:40
*** fsasm has joined #yosys08:05
*** rohitksingh has quit IRC08:51
*** dys has joined #yosys09:11
*** vidbina has joined #yosys09:24
*** emily has joined #yosys09:34
*** vidbina has quit IRC09:39
*** rjo has joined #yosys10:12
*** jryans has joined #yosys10:12
*** nrossi has joined #yosys10:12
*** promach3 has joined #yosys10:12
*** fevv8[m] has joined #yosys10:12
*** pepijndevos[m] has joined #yosys10:12
*** captain_morgan06 has quit IRC10:14
*** captain_morgan06 has joined #yosys10:15
*** vidbina has joined #yosys10:36
*** vidbina has quit IRC11:25
*** develonepi3 has joined #yosys11:49
*** X-Scale has quit IRC12:00
*** X-Scale` has joined #yosys12:01
*** X-Scale` is now known as X-Scale12:02
*** kraiskil has joined #yosys12:13
*** kraiskil has quit IRC12:34
*** kraiskil has joined #yosys12:55
*** vidbina has joined #yosys13:03
*** vidbina has quit IRC13:33
*** attie has quit IRC13:43
*** kraiskil has quit IRC14:05
*** vidbina has joined #yosys14:13
*** ckqee has joined #yosys14:48
ckqeeHi14:48
ZirconiumXHello14:51
ckqee:-)  is this the right place to ask questions about yosys and nextpnr?14:52
ckqeeI see an issue when installing nextpnr$ cmake -DARCH=ice40 .CMake Warning at /usr/local/share/cmake-3.16/Modules/FindBoost.cmake:2020 (message):  No header defined for python-py369; skipping header check (note:  header-only libraries have no designated component)Call Stack (most recent call first):  CMakeLists.txt:157 (find_package)14:55
daveshahThat warning is a spurious cmake issue14:55
ckqeei see the following though14:59
ckqeefind /usr/lib/x86_64-linux-gnu/ -name libboost_python*so/usr/lib/x86_64-linux-gnu/libboost_python3.so/usr/lib/x86_64-linux-gnu/libboost_python-py36.so/usr/lib/x86_64-linux-gnu/libboost_python-py27.so/usr/lib/x86_64-linux-gnu/libboost_python3-py36.so/usr/lib/x86_64-linux-gnu/libboost_python.so14:59
ckqeei checked this https://github.com/YosysHQ/nextpnr/issues/87 but i cannot get past it15:00
tpbTitle: Error on install · Issue #87 · YosysHQ/nextpnr · GitHub (at github.com)15:00
*** vidbina has quit IRC15:02
ckqeei am using Ubuntu 18.04.4 LTSI don't know how to over come the cmake issue15:03
ckqeeaccording to the issue#87 - i cannot find "Did you run ./download-latest-db.sh inside the prjtrellis folder" from 2018 - looks like it does not exist any more15:05
daveshahIs cmake actually failing? What happens if you run make -j715:05
daveshahThe download-latest-db is no longer needed15:06
ckqeei get15:06
ckqeemake -j`nproc`make: *** No targets specified and no makefile found. Stop.15:06
daveshahWhat is the full cmake output? You've only posted a warning not an error15:06
ckqeeMakefile creation has not completed to what i understand it to be15:06
ckqeeuser1@machine:~/github/YosysHQ$  git clone https://github.com/YosysHQ/nextpnrCloning into 'nextpnr'...remote: Enumerating objects: 249, done.remote: Counting objects: 100% (249/249), done.remote: Compressing objects: 100% (133/133), done.remote: Total 15743 (delta 154), reused 191 (delta 116), pack-reused 15494Receiving objects: 100% (15743/15743),15:08
ckqee6.28 MiB | 5.39 MiB/s, done.Resolving deltas: 100% (11514/11514), done.user1@machine:~/github/YosysHQ$ cd nextpnr/user1@machine:~/github/YosysHQ/nextpnr$  cmake -DARCH=ice40 .-- The C compiler identification is GNU 7.4.0-- The CXX compiler identification is GNU 7.4.0-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler:15:08
ckqee/usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Detecting C compile features-- Detecting C compile features - done-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Detecting15:08
ckqeeCXX compile features-- Detecting CXX compile features - done-- Found PythonInterp: /usr/bin/python3.5 (found suitable version "3.5.2", minimum required is "3.5") -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.5") -- Looking for pthread.h-- Looking for pthread.h - found--15:08
ckqeePerforming Test CMAKE_HAVE_LIBC_PTHREAD-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed-- Looking for pthread_create in pthreads-- Looking for pthread_create in pthreads - not found-- Looking for pthread_create in pthread-- Looking for pthread_create in pthread - found-- Found Threads: TRUE  -- Found Boost: /usr/include (found version "1.65.1")15:08
ckqeefound components: filesystem thread program_options iostreams system chrono date_time atomic regex -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   CMake Warning at /usr/local/share/cmake-3.16/Modules/FindBoost.cmake:2020 (message):  No header defined for python-py369; skipping header check (note:  header-only libraries have no designated15:08
ckqeecomponent)Call Stack (most recent call first):  CMakeLists.txt:157 (find_package)CMake Warning at /usr/local/share/cmake-3.16/Modules/FindBoost.cmake:2020 (message):  No header defined for python-py36; skipping header check (note: header-only  libraries have no designated component)Call Stack (most recent call first):  CMakeLists.txt:16415:08
ckqee(find_package)CMake Error at CMakeLists.txt:199 (find_package):  Could not find a package configuration file provided by "Eigen3" with any  of the following names:    Eigen3Config.cmake    eigen3-config.cmake  Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set  "Eigen3_DIR" to a directory containing one of the above files.  If15:08
ckqee"Eigen3"  provides a separate development package or SDK, be sure it has been  installed.-- Configuring incomplete, errors occurred!See also "/home/user1/github/YosysHQ/nextpnr/CMakeFiles/CMakeOutput.log".See also "/home/user1/github/YosysHQ/nextpnr/CMakeFiles/CMakeError.log".user1@machine:~/github/YosysHQ/nextpnr$15:08
ckqee@daveshah - thank you for helpng me :-)15:08
daveshahYou need to install eigen315:08
daveshahand the development package for it, if applicable15:09
ckqeeThank you ! that worked did15:10
ckqeesudo apt-get  install libeigen3-dev15:10
ckqeei spoke (typed) too soon -15:12
ckqeei now see the following15:12
ckqee[ 13%] Building CXX object generated/3rdparty/QtPropertyBrowser/src/CMakeFiles/QtPropertyBrowser.dir/qttreepropertybrowser.cpp.o[ 15%] Building CXX object generated/3rdparty/QtPropertyBrowser/src/CMakeFiles/QtPropertyBrowser.dir/qtvariantproperty.cpp.o[ 16%] Building CXX object15:12
ckqeegenerated/3rdparty/QtPropertyBrowser/src/CMakeFiles/QtPropertyBrowser.dir/qrc_qtpropertybrowser.cpp.o[ 17%] Linking CXX static library libQtPropertyBrowser.a[ 17%] Built target QtPropertyBrowserMakefile:129: recipe for target 'all' failedmake: *** [all] Error 215:12
ckqeei'm going to start again and follow the following instructions15:14
ckqeehttp://www.clifford.at/icestorm/15:14
tpbTitle: Project IceStorm (at www.clifford.at)15:14
ckqeethank you for helping too @tpb15:14
ckqee:-)15:14
ckqeei noticed some people write make -j`nproc` and some write make -j$(nproc)15:16
ckqeei was toying with the idea of using Vivado to view the schematic netlist out of yosys. -  i have to create a Verilog simulation cell library that defines all the cells in a particular liberty.lib file15:19
*** s_frit_ has quit IRC15:20
emily... is the old and mostly obsolete shell syntax15:20
*** s_frit has joined #yosys15:21
ZirconiumXemily: I think half your message got cut off15:22
ckqeehmm -i am showing my age? :-|15:22
emilyZirconiumX: are you sure?15:22
emilyI was responding to ckqee15:22
ZirconiumX"<emily> ... is the old and mostly obsolete shell syntax"15:22
ckqeeemily - which unix/*nix shell do you use?15:22
ZirconiumXhttps://freenode.irclog.whitequark.org/yosys/2020-02-14#26375261;15:23
tpbTitle: #yosys on 2020-02-14 — irc logs at whitequark.org (at freenode.irclog.whitequark.org)15:23
ZirconiumXemily uses NixOS15:23
emilyoh huh15:24
emilythere were meant to be backticks around the ...15:24
emilyI guess weechat-matrix messes it up :/15:24
ckqeei did not know about NixOS!15:25
ckqeelearning something new :-)15:25
emilyI use fish as my shell. it's not Bourne sh/bash/zsh/... compatible though.15:25
ZirconiumXYou should always use $(...), especially since it's POSIX15:25
ZirconiumXAnd nestable15:25
ckqeei now understand15:25
ckqeeone question about verilog if i may15:26
ZirconiumXemily: I really like fish and really hate fish at the same time >.>15:26
emilyI've spent the past few minutes trying to dig up a citation for when exactly $(...) originates15:26
ckqeewhen you have a reg myregA = 0;15:26
emilysince I'm curious now15:26
ckqeesome asic tools complain right?15:26
emilyZirconiumX: what do you hate about it? most of the nits I had with it are fixed. I wish it supported subshells natively15:26
ckqeebut FPGA tools seem to be ok with it?15:26
ZirconiumXThat's not synthesisable for ASICs because ASIC flip-flops are not initialisable15:26
emilyZirconiumX: btw you can nest backticks, it's just horrible.15:26
ZirconiumXHowever, FPGA flip-flops are15:27
emilyfoo \bar \\\baz\\\\15:27
emily...15:27
ckqeewhat is the workaround to migrate the fpga code to asic?15:27
emilyright, matrix.15:27
emilyuh. hm.15:27
emily foo \bar \\\baz\\\\15:27
ckqeeThank you ZirconiumX15:27
emilyif that didn't send properly then i don't care.15:27
ZirconiumXckqee: Have a reset input, and then `always @(posedge clk) begin if (reset) myregA <= 0; else begin ... end end`15:28
ckqeeNow that makes sense with what I am reading up on. so that coding style is specific to asic15:28
ZirconiumXIt's feasible to do it on FPGAs too15:29
ZirconiumXIt's just that FPGAs generally have first-class support for it anyway15:29
ckqeeso we should write ASIC RTL Verilog for FPGA which can then be easily migrated to ASIC tools without too much hassle?15:29
ZirconiumXLike most things: it depends15:30
ckqeewow i like the nextpnr gui -15:31
ckqeeis there a logic schematic capability in it?15:31
ZirconiumXYou definitely *can*, but code that is optimal for ASICs will likely result in majorly slow FPGA logic15:31
*** emeb has joined #yosys15:31
ckqeethank you all - my local build of nextpnr works!15:31
ckqee:-)15:31
ckqee@ZirconiumX where can i read up on this please?15:32
ZirconiumXFor example, an ASIC library might want to manually instantiate a memory tuned to the process, which an FPGA synthesis tool would have to build out of flops15:32
ZirconiumXI don't know, ckqee; it's knowledge I've accumulated in the...year-ish since I picked up FPGas15:33
*** fsasm has quit IRC15:34
ZirconiumXdaveshah: So, I've been running Fmax tests with --randomize-seed, but not setting an Fmax target. Is that a valid testing methodology, or will nextpnr produce worse results without a proper Fmax target?15:53
ckqeethank you for you help! ZirconiumX15:53
ZirconiumXYou're welcome.15:54
ckqeeAny ideas about getting a schematic view of the netlist? something like this https://tex.stackexchange.com/questions/231116/digital-circuits15:57
tpbTitle: circuitikz - Digital circuits - TeX - LaTeX Stack Exchange (at tex.stackexchange.com)15:57
daveshahZirconiumX: fine for the next few weeks, if/when I do timing driven rip up in router2 it might be a problem16:01
ZirconiumXdaveshah: thanks, wanted to verify my testing methodology16:02
daveshahThat approach won't also work with most vendor tools16:03
*** attie has joined #yosys16:03
ZirconiumXUnfortunately I don't have a copy of icecube and I'm not even sure if it's a supported backend for synth_ice4016:04
*** rohitksingh has joined #yosys16:41
*** citypw has quit IRC16:47
*** jakobwenzel has quit IRC16:58
*** rohitksingh has quit IRC17:06
*** rohitksingh has joined #yosys17:08
*** attie has quit IRC17:12
*** rohitksingh has quit IRC17:22
*** rohitksingh has joined #yosys17:24
*** ckqee has quit IRC17:31
*** az0re has quit IRC17:37
*** rohitksingh has quit IRC17:42
*** dys has quit IRC18:15
*** emeb has quit IRC18:19
*** rohitksingh has joined #yosys18:40
*** meawoppl has joined #yosys18:59
meawopplhey all!18:59
meawopplI am having a problem with yosys that I don't grock:19:00
meawopplI am running the integration of several modules, any one of which seems to work well19:01
meawopplbut when I build them together I get this:19:01
meawopplERROR: Max frequency for clock 'myCameraSPIReader.rawByteStrobe_$glb_clk': 5.04 MHz (FAIL at 12.00 MHz)19:01
meawopplI am not sure what to make of it19:02
daveshahAssuming the frequency of myCameraSPIReader.rawByteStrobe_$glb_clk is indeed 12MHz then you are doing too much in a clock cycle19:02
meawopplyeah, there is some cascading logic in there about sampling, but the signal coming in should be.... like 100kHz tops19:03
meawopplI am not sure how to hint the compiler that this is OK I guess19:03
daveshahadd `set_frequency myCameraSPIReader.rawByteStrobe_$glb_clk  0.1` to the pcf file19:03
daveshahsorry, `set_frequency myCameraSPIReader.rawByteStrobe_ 0.1`, don't include the suffix19:04
daveshah* `set_frequency myCameraSPIReader.rawByteStrobe 0.1`19:04
meawopplahhh, fantastic!19:06
meawopplwhere does the 12MHz figure come from?19:06
daveshahit's just a default based on the most common iCE40 designs19:06
daveshahyou can change the default for all clocks using the `--freq` command line argument too19:06
meawopplOIC19:07
meawopplhow does yosys decide which lines are clocks?19:07
daveshahit's nextpnr that decides19:08
daveshahanything connected to a clock sink port is a clock19:08
daveshah(that could be of an FF, BRAM, IO, etc)19:08
meawopplahhh, so anything that appears in a `posedge` list plus async assignment?19:09
daveshahasync resets wouldn't count19:09
daveshahbut the clock part of any `posedge` list would19:09
meawopplmakes sense!19:09
*** fsasm has joined #yosys19:13
*** Cerpin has quit IRC19:16
*** Cerpin has joined #yosys19:16
meawopplAs a followup question, is there a way to hint it in code about these speeds? At present, whenever I add an instance of this module, I will run into this issue...19:17
meawopplI have 1 here, but I will have 144 in the next version19:18
daveshahNo, not currently. 144 different clocks sounds like a bad idea too19:18
daveshahThere are 8 global clock signals. Once you exceed that clocks end up being routed using general routing which can cause horrible skew and hold time issues19:18
meawopplNoted! I will have to rethink the sampling logics then.  It should be fixed in that version, so I can do some simplification I suspect19:20
meawopplfixed meaning constant19:20
daveshahDepending on where the signal comes from, using clock enables is often a better idea than new clock signals19:21
meawopplOIC, like sharing the came clock buffer, then switching in and out the pieces using it?19:21
daveshahYes. Usually this would be code like `always @(posedge clock) if (clock_enable) do_something;`19:22
daveshahInstead for example of dividing `clock` by 4, you could have `clock_enable` high one every 4 cycles19:23
*** X-Scale` has joined #yosys19:27
*** X-Scale has quit IRC19:29
*** X-Scale` is now known as X-Scale19:29
*** rohitksingh has quit IRC19:55
peepsalotZirconiumX: i downloaded your intel branch. is there any specific simplified test case I should try on de10-nano to see what the exact errors you are dealing with?20:28
ZirconiumXUnfortunately nothing "simplified"20:29
ZirconiumXBut if memory serves me correctly - christ it's been a while - try compiling something for Cyclone V and using -vqm, and then try that under Quartus20:29
peepsalotI've seen Quartus has some options for external "Design Entry/Synthesis" tools, and there is a Custom option, but looks like specifying a command to automatically run a custom option is not supported?20:41
*** emeb_mac has joined #yosys20:42
*** az0re has joined #yosys20:43
peepsalotAlso, it has choices of Format: VQM, Verilog HDL, AHDL, and VHDL.  I wonder if Verilog HDL would be any more compatible than VQM?20:44
ZirconiumXpeepsalot: Verilog mode *is* more compatible, but it's also notably slower20:48
ZirconiumXIn VQM mode Quartus just parses the file and turns it into the Quartus internal database format20:48
peepsalotfor VQM can it use any "atom"/primitive?20:50
peepsaloti don't have any projects to try but mister stuff :/ , which i guess is a mix of incompatible VHDL etc.20:53
ZirconiumXPretty much20:53
peepsalotZirconiumX: do you think it would help to have some EBNF checker/validator that could be run on yosys output against the VQM spec from that QUIP doc?21:06
ZirconiumXDoesn't that essentially boil down to "the Verilog specification"?21:06
peepsalotidk, i mean, its a specific subset, right?21:07
ZirconiumXIt's still a pretty general subset of the language21:07
ZirconiumXThe restrictions don't mean too much in the grand scheme of things21:08
SarayanHey ZX, aren't you drowing in gigabytes of text? ;-)21:09
ZirconiumXSarayan: I am, but I believe somebody else was writing a database extractor :P21:10
Sarayanhuhuhu yes, I'm doing too many things at the same time21:10
Sarayanfound interesting information in there or not yet?21:10
ZirconiumXNot yet, what with about a million different people wanting me for different things21:12
ZirconiumXpeepsalot: perhaps you should join us in #prjmistral21:18
SarayanZX: We have similar lives :-)  RIght now I'm re-ing a cpu from 3 program dumps and nothing else21:18
*** Forty-Bot has joined #yosys21:19
*** emeb_mac has quit IRC21:32
*** emeb has joined #yosys21:35
*** rohitksingh has joined #yosys22:01
*** mirage335 has quit IRC22:13
*** mirage335 has joined #yosys22:27
*** fsasm has quit IRC22:43

Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!