Saturday, 2019-10-26

*** tpb has joined #yosys00:00
*** Noname_Matt has quit IRC00:12
*** Noname_Matt has joined #yosys00:30
*** PyroPeter has quit IRC02:45
*** PyroPeter has joined #yosys02:59
*** Noname_Matt has quit IRC03:15
*** PyroPeter has quit IRC03:16
*** citypw has joined #yosys03:26
*** PyroPeter has joined #yosys03:28
*** Noname_Matt has joined #yosys03:47
*** Noname_Matt has quit IRC04:14
cr1901_moderndaveshah: I want to revisit... is it possible to refactor building ice40 and ecp5 databases so it's possible to compile nextpnr/icestorm in constrained (2GB RAM) environments, so one can keep up with upstream without having to wait for blobs?04:27
cr1901_modernBrought to you by "I just compiled yosys on a SBC for the first time in nearly a year, and I'm dreading doing the rest"04:29
whitequarkcr1901_modern: I use 4 GB of swap.04:32
whitequarkit takes about a day for the entire toolchain04:32
cr1901_modernOdd, I've never had it take a day even with swap... 3 hours maybe?04:34
cr1901_modernBut I didn't do an ecp5 compile04:34
whitequarki have an rpi304:34
cr1901_modernThis is an asus tinkerboard, and I've also done it on pinebook (both have 2GB RAM)04:35
whitequarkyeah, rpi3 is pathologically bad04:35
cr1901_modernA clean build of the most recent commit of yosys built in 22 minutes w/ -j404:37
cr1901_modernjust now04:37
cr1901_modernbefore up5k features exploded :P, that would've been the bulk of the build lol04:39
*** craigo has joined #yosys05:15
*** emeb_mac has quit IRC06:26
*** pie_ has joined #yosys08:39
*** fsasm has joined #yosys08:41
*** Jybz has joined #yosys09:10
*** citypw has quit IRC09:47
*** rombik_su has joined #yosys09:51
*** X-Scale has quit IRC10:04
tnt"yosys-abc: src/map/if/ifMap.c:460: void If_ObjPerformMappingAnd(If_Man_t *, If_Obj_t *, int, int, int): Assertion `pCutSet->nCuts > 0' failed.10:05
tntDamnit, I must me cursed.10:06
ZirconiumXBugpoint~10:11
tntI have no clue how to use that10:13
ZirconiumXtnt: well, can you send me your input files?10:16
tntZirconiumX: master of https://github.com/Spritetm/hadbadge2019_fpgasoc10:16
tpbTitle: GitHub - Spritetm/hadbadge2019_fpgasoc: FPGA SoC code and application example for Hackaday Supercon 2019 badge (at github.com)10:16
tntand I'm running yosys master10:17
ZirconiumXAnd your Yosys command line?10:17
tntit's in the makefile10:17
tntDisabling abc9 makes it build at least.10:18
ZirconiumXsoc or blink?10:20
tntsoc10:21
tnt(you need clone --recursive or submodule init / update)10:21
tntjust tried on a fresh clone and yeah, crashes too at ste 53.48.1.4.10:22
ZirconiumXABC: yosys-abc: src/map/if/ifMap.c:460: void If_ObjPerformMappingAnd(If_Man_t *, If_Obj_t *, int, int, int): Assertion `pCutSet->nCuts > 0' failed.10:22
ZirconiumXYep, I can reproduce10:22
tntGlad I'm not alone :)10:23
ZirconiumXtnt: Oh goody, this is a fun bug10:36
tntlol10:36
daveshahIt's not the first time I've seen t10:44
daveshah*it10:44
daveshahI think there was an attempt to fix it in abc a while ago, but evidentally that isn't fully working10:44
tntYeah, I had a similar bug like a week ago or so and that got fixed by updating to master but ... well here we are :p10:45
*** dys has joined #yosys10:49
ZirconiumXdaveshah: This is a fun one to bugpoint. I get a "used with parameters but is not parametric" error if I don't call "hierarchy -top"; and then that requires Trellis cells to be imported, and then after this it works fine10:52
ZirconiumXOr, well10:54
ZirconiumXIt works under bugpoint but not when I invoke "synth_ecp5 -abc9" manually10:55
daveshahYes this bug is pretty much random10:55
daveshahAnything that permutes the design tends to fix it10:55
daveshahThe root cause I believe comes from uneven delays in whiteboxes10:59
daveshahand how abc propagates delays (setting all the numeric values in abc9_5g.box to the same thing does make it go away)11:00
ZirconiumXdaveshah: The help for synth_ecp5 doesn't actually show the commands invoked in -abc9 mode, which is a bit annoying11:03
daveshahI've created https://github.com/berkeley-abc/abc/issues/55, fwiw11:07
tpbTitle: Issues · berkeley-abc/abc · GitHub (at github.com)11:07
*** X-Scale has joined #yosys11:17
*** fsasm_ has joined #yosys12:08
*** dys has quit IRC12:09
*** fsasm has quit IRC12:11
*** emeb_mac has joined #yosys12:40
*** emeb_mac has quit IRC12:47
*** Noname_Matt has joined #yosys13:08
*** dys has joined #yosys13:15
*** Noname_Matt has quit IRC14:31
tntZirconiumX: daveshah: Interesting development, if I build the exact same yosys using gcc and not clang, it works.14:53
daveshahYosys or Yosys and ABC?14:54
tntI would guess both ... I changed yosys Makefile and set "CONFIG := gcc" at the beginning14:54
tntthen make clean && make14:54
daveshahIt might not be related - the bug is very sensitive to the exact netlist, even tiny changes tend to cause it to disappear14:55
daveshahand it could be that something changes in Yosys because of the compiler change (it shouldn't but I've seen bugs like this before)14:55
tntbut why would the compiler change the netlist ?!?14:55
daveshahI've seen things like initialiser call order before14:56
tntMmmm right.14:56
daveshahIt's also possible that it's inside ABC14:57
*** davidthings has joined #yosys15:12
tntdaveshah: Do you know how the ODDRX1F behaves ?   The IDDRX1F is explicit saying Q0 is rising edge and Q1 is falling edge.  But ODDR says D0 is 'first to be sent out' which would tell me it's falling edge ?15:20
daveshahI can't remember. I started looking at the Lattice sim model but it's a bit messy15:21
daveshahI think it's the same as Xilinx in SAME_EDGE_PIPELINED15:22
tntOh wait there is ODDRXE as well15:22
daveshahThat's for the previous generation15:22
*** Thorn has quit IRC15:23
tntOh yeah right ... nm15:23
daveshahhttps://www.irccloud.com/pastebin/OHusC42b/ODDRX1F.v15:24
tpbTitle: Snippet | IRCCloud (at www.irccloud.com)15:24
daveshahthis is the Diamond sim model, fwiw15:24
tntOk, I'll try to figure it out, tx :)15:25
daveshahfwiw, this patch does seem to fix the abc assertion failure (not sure if it impacts qor): https://github.com/berkeley-abc/abc/issues/55#issuecomment-54661266515:30
*** craigo has quit IRC15:33
tntHeh, indeed ODDRX1F seem to be massively pipelined :/15:52
*** pie_ has quit IRC15:58
daveshahYeah, it certainly is15:59
tntLike ... 3 clocks cycles ?15:59
tntIs there no way to just have it like on the ice40 for instance ?15:59
daveshahNope15:59
*** freemint has joined #yosys16:01
*** Thorn has joined #yosys18:39
*** Duality has joined #yosys19:04
Dualityhi19:04
daveshahHi Duality!19:07
*** dys has quit IRC19:21
Dualityi am working on something where i have a clock input and a counter, and the output of the counter goes to one pin. but i have this weird output where the output would come to early or late, and i just can't figure out why. (at first i thought my logic analyzer wasn't fast enought so i put a scope on it)19:23
Dualitywould this be the place to get some help with that :)?19:23
Dualityi am very new to fpga's19:23
daveshahWhat frequency is the counter, and where is the clock input coming from?19:24
Dualitythe internal hfosc19:24
daveshahand what do you mean by too early/late? by a nanosecond? by a factor of two?19:24
Dualitydaveshah: actually yes! a factor 219:25
daveshahHave you connected the HFOSC to a pin and checked its frequency is correct?19:25
Dualityyes19:25
Dualityone moment though going to double check that :)19:26
daveshahIf that is OK, I would suggest posting your code19:27
Dualityok confirmed that clock looks fine :)19:45
Dualitythis is my code currently: https://pastebin.com/7jdJwcvT19:46
Dualityi think i found it19:48
Dualityi have removed the dir code and that seems to have solved it, i am just not sure why it has solved it.19:54
rombik_suDuality: What was the point of 'dir' in the first place?19:55
Dualityrombik_su: i am not sure i think i tried to make a fancy counter where you could select whether it counted up or down.19:55
rombik_suDuality: Couple of small things: if(count == 15'b1) should be if(count == 16'b1)19:56
rombik_suDuality: Then it's should be input for 'counter' module perhaps19:56
Dualityrombik_su: why? because 15:0 is 16 bits?19:56
rombik_suDuality: Yes. :)19:57
Dualityah19:57
Dualitygot to remember counting starts at 0 :)19:57
rombik_suDuality: Basically, dir was messing with your counter, erm, counting. Did you simulate this?19:58
Dualityno i don't simulate maybe i should :)20:00
Dualitycurrently have a dev board and a scope connected :P20:00
rombik_suDuality: Oh, I'm strongly suggesting you to use simulator, it'll save you a *lot* of time. Ideally, you want to get your design up and running in simulator a long before firing up any FPGA IDE.20:02
rombik_su*FPGA EDA.20:02
Dualityalright :)20:06
Dualityi am just playing around now but i understand that it's a good idea to simulate :)20:07
Dualitythank you all for being so nice and helpfull! :)20:09
Dualityi remember why i made the dir, because i wanted a counter that ran up and down so that i could pwm fade a led in and out :) and that worked fine! because with leds i couldn't really see what was going on20:13
Dualityor atleast seemed to work fine. probably would have seen the issue if i simulated though :)20:13
rombik_suNo problem. For dimming you'll probably need two counters - one for PWM generation and second to iterate over PWM taps.20:22
Dualityrombik_su: yes that would do i think :)20:35
Dualityrombik_su: what are taps? i think you meen the value where you select the duty?20:36
rombik_suDuality: Yes20:37
Dualityalright20:38
Dualityi'll have to leave bye! and thanks again! :)20:39
*** Duality has quit IRC20:39
*** Jybz has quit IRC21:57
*** fsasm_ has quit IRC22:19
*** freemint has quit IRC22:54
*** rombik_su has quit IRC22:57
*** davidthings has quit IRC23:31

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