Monday, 2019-11-18

*** tpb has joined #yosys00:00
*** kuldeep has joined #yosys00:11
*** kuldeep has quit IRC00:34
mwkwhat's a reasonable way to cause an elaboration-time error for invalid parameter values? (I'm writing more simulation models for xilinx/cells_sim.v and would like to add some armor plating)00:34
*** kuldeep has joined #yosys00:37
*** citypw has joined #yosys03:32
ZipCPUAn initial block with a $stop command in it03:34
*** citypw has quit IRC05:04
*** Jybz has joined #yosys05:23
*** Jybz has quit IRC05:29
*** nrossi has joined #yosys06:40
*** citypw has joined #yosys06:45
*** emeb_mac has quit IRC07:04
*** dys has joined #yosys07:40
pepijndevosI think I have lived with a confusion of what GENERIC_IOB considers an input or an output.07:58
*** kraiskil has joined #yosys07:59
pepijndevosdaveshah, soooo GENERIC_IOB O is the output of the input buffer, and I is the input to the output buffer. But is INPUT_USED supposed to indicate that the Input buffer is used, or that the input pin of the output buffer is used?08:24
pepijndevosSeems the latter08:27
daveshahINPUT_USED was supposed to mean it is used as an input08:35
daveshahie the O pin is used08:35
daveshahMaybe I messed this up08:35
pepijndevosYea, it seems the other way around. I was creating input pins for my blinky LEDs hehe08:41
*** citypw has quit IRC08:41
pepijndevos    parameter \OUTPUT_USED 108:41
pepijndevos    parameter \INPUT_USED 008:41
pepijndevos    connect \O \clk08:41
daveshahRight could you fix that in the packer and PR it?08:42
pepijndevosSure... but... part of me feels it kinda makes sense the way it is.08:43
pepijndevosAnd... I'm confused how this actually happens08:45
pepijndevosThis seems to make perfect sense https://github.com/YosysHQ/nextpnr/blob/6a335411da6eb54f0960eb514c5384e4ae60c3a7/generic/cells.cc#L10908:46
tpbTitle: nextpnr/cells.cc at 6a335411da6eb54f0960eb514c5384e4ae60c3a7 · YosysHQ/nextpnr · GitHub (at github.com)08:46
pepijndevosWait... maybe it's my own fault08:48
pepijndevosYea... remember you told me to do constraints you have to initialise the IOB yourself?08:48
pepijndevosWell...08:49
pepijndevosI uploaded my blinky, and... it doesn't blink, but it outputs *something* and accepts my bitstream, so that's a pretty good start of the day I'd say.08:53
*** kraiskil has quit IRC08:55
daveshahVery good!09:08
daveshahUsually my first tests are output at constant 0 or 109:09
daveshahThen input to output direct09:09
daveshahThen a NOT gate09:09
daveshahThen it might be worth trying blinky09:09
pepijndevosYea, doing that now.09:12
pepijndevosIt likes constants less than blinky it seems09:17
daveshahGood start, at least that means outputs work09:18
pepijndevosNo I mean... if I do constants, nothing happens. If I do blinky, it at least lit some random LEDs09:21
pepijndevosWell, nothing: all LEDs are off09:21
pepijndevosIt's doing something really fishy, routing them to a DFF09:22
pepijndevosI need to somehow tell Nextpnr about my VCC and VSS nets.09:24
daveshahIf you don't tell it about them then it will use a LUT09:29
daveshahHowever, I think the LUT init value it uses might be wrong for Gowin09:29
daveshahie just a single 1 for Vcc assuming unused LUT inputs are 0 rather than all 1s09:29
pepijndevosAh, it might actually be an issue with my unpacker, which might not find a LUT with all 1's which are all 0s in the bitstream.09:30
pepijndevosBut how would I express a constant net?09:31
pepijndevosI think I already create VCC and VSS nets for the pips, but they are just normal nets, and nothing outputs to them.09:32
daveshahYou would need to create a bel with Vcc and Gnd pins that map to those wires09:33
daveshahAnd then get the packer to use that bel rather than creating constant driving LUTs09:33
daveshahFor now I'd try and get the constant driving LUTs to work09:33
daveshahLess efficient, but in the spirit of generic - some FPGAs don't have omnipresent Vcc and Gnd (e.g. ICE40)09:34
pepijndevosBut a bell that doesn't have a location on the fpga09:35
pepijndevos(I actually expand init values by repeating them so 01 would become 0101010101 and 1 becomse 11111111 so that should not be a problem)09:36
daveshahYou give it an arbitrary one09:36
daveshahIt's not a real bel09:36
sorearam I the only person bothered by using "vcc and gnd" as notation for logic 1 and 0?  for all we actually know the ice40 fabric could be active-low internally09:36
daveshahIt's just a way of accessing the gloval Vcc and Gnd wires09:37
pepijndevosOhi I see09:37
daveshahWell, several fpga companies also use this notation...09:37
daveshah(and given the schematics in patents I'm pretty sure it isn't...09:37
pepijndevosGowin even mixes VSS and GND09:38
whitequarkyamaha has a chip with only vss and gnd09:38
whitequarkno other power pins :)09:39
pepijndevosWait, that's actually odd... their global names are VSS and VCC, mixing BJT and CMOS naming.09:39
daveshahXilinx tends to use Vcc and Gnd09:40
daveshahBecause their FPGAs are bjt based :p09:40
pepijndevosTheir primitives are VCC and GND, but the wire name is not.09:40
pepijndevosI want a TTL FPGA hehe09:41
pepijndevosAh, spotted the bug09:44
pepijndevosOkay! Output works!!09:47
pepijndevosPR incoming09:47
pepijndevosdaveshah, https://github.com/YosysHQ/nextpnr/pull/35209:50
tpbTitle: leftover Q from before slice api change by pepijndevos · Pull Request #352 · YosysHQ/nextpnr · GitHub (at github.com)09:50
daveshahAh, that makes sense. Thanks!09:50
sorearwhitequark: negative supply?09:52
whitequarka typo09:52
whitequarkshould've been VCC09:53
pepijndevosAh, seems like my LUT INIT bits get messed up somewhere.09:58
pepijndevosNextpnr gives me parameter \INIT 2'01, but after unpacking it decodes to parameter \INIT 16'101010101010101010:00
pepijndevosI had the bit order backwards lol10:10
*** kraiskil has joined #yosys10:11
pepijndevosBLINKYYYYYY10:15
daveshah\o/10:15
ZirconiumXCongrats, pepijndevos!10:19
ZirconiumXOf course, this makes you an abyss domain expert now10:19
pepijndevosI think there are worse abysses to be a domain expert in.10:20
sorearwhat's the project scope?10:21
pepijndevos"do as much stuff as possible within your internship period" I think10:22
sorearI mean, what did you just succeed at doing10:27
sorearwhat can you do with open tools today10:27
ZirconiumXBlinking an LED on a Gowin GW1N-110:27
sorearend to end or with vendor tool deps?10:27
pepijndevos*GW1NR-910:27
ZirconiumXEnd to end10:27
pepijndevosOh, so I used the Nextpnr generic target for PnR and my own bitstream packer. Only vendor dep is the programmer.10:28
ZirconiumXWhich honestly doesn't count in my book, because it's almost certainly JTAG of some kind10:29
*** citypw has joined #yosys10:29
pepijndevosYea, it's exactly that, so probably easy to write custom, but IMO not high-priority.10:30
pepijndevosEnumerates as 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC10:30
ZirconiumXYou could just use openocd10:31
pepijndevos...how?10:31
whitequarkopenocd has a generic ftdi target iirc10:37
whitequarkyou have to configure how it drives the thing, mostly the gpios10:37
pepijndevosHas this been done before for ice40 or ecp5 or some other fpga?10:39
daveshahYes, I use it for ECP510:40
daveshahEcppack can create an SVF file10:40
pepijndevosSweet. Any code/usage I can look at?10:44
daveshahThis was my first svf generator which might be easier to understand10:47
daveshahhttps://github.com/SymbiFlow/prjtrellis/blob/master/tools/bit_to_svf.py10:47
tpbTitle: prjtrellis/bit_to_svf.py at master · SymbiFlow/prjtrellis · GitHub (at github.com)10:47
daveshahFor the ECP5 it was easy as you just send the bitstream as the payload to an SVF command after a few initial setup commands10:47
daveshahNot sure how Gowin works10:47
daveshahIf the vendor tools can create an SVF file then you could work from that10:48
ZirconiumXI could probably look at how quartus does it for the CV10:48
daveshahI'm sure Quartus can create an SVF, I think I've even done it before10:48
ZirconiumXYep10:48
daveshahNo idea what that SVF looks like though10:48
pepijndevosSo this SVF file tells openocd all it needs to program the things?10:48
ZirconiumXBasically, yeah; it's a command dump10:48
pepijndevosHmmm, lemme see if the Gowin IDE has anything like that or I need to somehow capture it.10:49
daveshahA logic analyser on the JTAG would be the way forward otherwise10:50
daveshahLooks like sigrok even has a JTAG decoder10:50
daveshahHaven't tried it though10:50
ZirconiumXNot necessarily. It's going over USB, so you could Wireshark it10:50
whitequarkthat'd probably be more annoying tbh10:51
pepijndevosYea, but I have wireshark, I misplaced my logic analyser :(((10:51
ZirconiumXIt does annoy me that Wireshark don't let you build message streams over USB because USB packets are supposed to be independent10:52
* pepijndevos needs a glasgow10:53
ZirconiumXWe all do10:54
whitequark:D10:54
pepijndevosActually... JTAG is kind of a giant gap in my knowledge. It's like this magic thing that "other people" use to debug their chips or something. I also seem to be under the impression it's super hard to use, requires expensive hardware, and gives you super powers.10:59
* pepijndevos programms FPGAs using JTAG FTDI chips without thinking about it10:59
whitequarkit doesn't require expensive hardware at all11:00
whitequarkyou need, what, five GPIOs?11:00
whitequarknow, *very fast* JTAG does11:00
ZirconiumXY'know, I'm suddenly very glad Altera changed their SKU naming scheme. I'm sure it wouldn't be confusing to have ecppack and ep5cpack.11:01
pepijndevosI don't see any SVF option in Gowin IDE or programmer.11:04
daveshahIt might be called deployment or similar11:06
daveshahSuch an option would be used for bulk testing/programming with industrial programmers, for example11:07
pepijndevosIt's not helpful that the GUI tool doesn't work on my machine at all.11:09
pepijndevosAll the options: https://paste.ubuntu.com/p/8J9tSYSt58/11:10
tpbTitle: Ubuntu Pastebin (at paste.ubuntu.com)11:10
*** FabM has joined #yosys11:11
daveshahI wonder what the JTAG 1149 options do compared to the normal program options11:25
*** citypw has quit IRC12:11
*** rohitksingh has quit IRC12:49
*** rohitksingh has joined #yosys12:52
*** dys has quit IRC12:59
*** rohitksingh has quit IRC13:46
*** dys has joined #yosys13:49
*** dys has quit IRC14:41
*** dys has joined #yosys15:42
*** adjtm has quit IRC15:54
*** freemint has joined #yosys16:00
*** freemint has quit IRC16:01
*** emeb has joined #yosys16:04
*** FSM_Dude has joined #yosys16:05
FSM_DudeZirconiumX Hey! It's me again, the guy with the problem on the Mac :)16:06
FSM_DudeI figured out my problem! It was totally my fault, so there is nothing wrong in Yosys ;)16:06
FSM_DudeThanks for helping me tho!16:06
daveshahWhat was the problem?16:07
FSM_DudeI thought I had removed all my old code, and that I basically was back to no changes to Yosys, but that wasn't the case16:10
FSM_Dudein my code I did something which cause the thread_bad_access16:10
FSM_DudeSo the fault is completely my own mistake :)16:10
ZirconiumXRight, okay16:15
mwkFSM_Dude: it's not16:16
mwkwhenever you get yosys to crash on your code, it's a bug in yosys16:16
mwkeven if the code is total nonsense16:16
mwkand you should report such events16:16
ZirconiumXmwk: my understanding is this is a modified version of Yosys, so the bug was in the modifications16:17
mwkoh16:18
mwkokay, fair enough then16:18
ZirconiumXAnd that the version of Yosys FSM_Dude still contained some changes, which caused a crash16:18
FSM_DudeYe, I'm trying to use Yosys for research for my thesis16:18
FSM_DudeI'm implementing state encodings which are hardened against 1 bit error or 2 bit errors in the state signal16:19
mwkhmm16:19
mwkwould be nice if we had reasonable state machine support in the first place16:20
mwkah well16:20
FSM_DudeWhy is the state machine support not reasonable?16:21
mwkhttps://github.com/YosysHQ/yosys/issues/18816:22
tpbTitle: Feature request: FSM init fixes · Issue #188 · YosysHQ/yosys · GitHub (at github.com)16:22
mwkit's not about the init value, btw, that part is actually easy to fix16:23
FSM_DudeHmm okay16:23
FSM_DudeI just face one 'big' problem at the moment16:23
FSM_DudeI'm trying to add states to the state machine, but that seems to be tricky in Yosys16:24
*** FabM has quit IRC16:28
mwkwell, you'd have to parse all the params into something sane, possibly enlarge the state encoding size, add whatever transitions you want, and reencode16:29
*** FSM_Dude has quit IRC16:40
*** FSM_Dude has joined #yosys16:42
FSM_Dudemwk So what I do now is: add an encoding type to the fsm_recode.cc; like Yosys already has "one-hot" or "binary", I added the functionality of "my_encoding". So now, you can run: fsm_recode -encoding my_encoding.16:43
FSM_Dudewhat my_encoding does, is encode the state signals from the fsm_data in a certain way, and add additional states to the fsm_data's state table. Also I add the necessary transitions.From there on, I continue the synthesis process, but somehow I end up with no logic and cells in the end16:43
mwkthat's worrying16:45
mwkit sounds like it should work, fsm_map doesn't really do anything smart16:45
FSM_DudeI tried it my new encoding type on a small FSM16:49
FSM_Dudeand after running fsm_recode -encoding my_encoding, I ran fsm_info and I printed the fsm to a png16:50
FSM_Dudewhich was the exact result I hoped for16:50
FSM_Dudebut then continuing the synthesis process, something else seem to fail16:50
FSM_Dudeon the other hand, I'm quite new to this all, so it might be my incompetence16:51
mwkcould you show me fsm_info before and after?16:52
*** FSM_Dude has quit IRC16:58
*** qu1j0t3 is now known as OK_b00m3r17:26
*** dys has quit IRC18:27
ZirconiumXdaveshah: So, I copied synth_intel and modified it a bit to be called synth_intel_alm, but Yosys does not seem to be picking it up, so I've evidently missed a step.18:38
daveshahAre you actually building the file?18:38
mwkmakefile?18:38
daveshahhaha snap18:38
ZirconiumXOBJS += techlibs/intel/synth_intel.o techlibs/intel/synth_intel_alm.o18:42
ZirconiumX[ 82%] Building techlibs/intel/synth_intel_alm.o18:42
ZirconiumXYes :P18:42
daveshahIs https://github.com/YosysHQ/yosys/blob/master/techlibs/intel/synth_intel.cc#L29 sensibly changed?18:43
tpbTitle: yosys/synth_intel.cc at master · YosysHQ/yosys · GitHub (at github.com)18:43
ZirconiumXYes, it is18:43
daveshahand an object instance created like https://github.com/YosysHQ/yosys/blob/master/techlibs/intel/synth_intel.cc#L251 ?18:43
tpbTitle: yosys/synth_intel.cc at master · YosysHQ/yosys · GitHub (at github.com)18:43
ZirconiumXThe answer is that once again, I'm an idiot18:43
ZirconiumXI was running `yosys -p "help synth_intel_alm"`, and forgot a `sudo make install` first18:44
ZirconiumX-- Running command `help synth_intel_alm' --18:44
ZirconiumX    synth_intel_alm [options]18:44
ZirconiumXThis command runs synthesis for ALM-based Intel FPGAs.18:44
ZirconiumXYay18:44
daveshahWe've all been there18:44
ZirconiumXThe next question is: can I actually compile anything with it?18:45
ZirconiumXAnswer: yes, but it then crashes kind of oddly.18:48
ZirconiumXI'm probably being an idiot again18:48
ZirconiumXYep.18:48
daveshahOh BTW,the Yosys makefile strips binaries before installing them18:49
daveshahso for dev it's usually best not to use installed yosys18:49
ZirconiumXYep, those commands get printed from the Makefile18:49
daveshahat least if you want decent debug info18:49
*** Jybz has joined #yosys18:51
*** Jybz has quit IRC18:54
cr1901_modernModern gcc does something similar, except the Makefile command to install stripped binaries to --prefix is "install-strip" instead of "install". So they got it _half_ right.18:59
ZirconiumXRight, the test run seems to work. Now to adapt my script pass for this.19:06
*** Jybz has joined #yosys19:11
*** bobzoidting has joined #yosys19:15
*** adjtm has joined #yosys19:50
*** Jybz has quit IRC20:02
*** dys has joined #yosys20:11
ZirconiumXHow much more efficient is cmp2lut compared to letting ABC figure it out? Has anybody tried to quantify that?20:20
daveshahthe problem isn't abc per se, but yosys using carries20:25
daveshahthat then limit abc's optimisation20:25
whitequarkcmp2lut should not exist20:25
whitequarkinstead lut mapping should be able to use whiteboxes20:25
daveshahbut this is more about optimisation than mapping20:26
daveshahwhitebox aware fine grain optimisation would eliminate it20:26
ZipCPUdaveshah: Have you ever used any of the DELAYF elements/20:26
ZipCPU?20:26
whitequarkwould it?20:27
daveshahor more, combined optimisation and mapping20:27
daveshahnot so much cmp2lut, but the example I think of is (7-x) on a 8-input mux select input20:27
daveshahIf you don't have hard blocks in the way, you can optimise and map the mux to LUTs with the data inputs reversed20:28
daveshahperhaps I'm not explaining this well20:28
ZipCPULooks like I jumped in in the middle of a conversation20:28
daveshahbut the core problem isn't just local mapping of the hard blocks to logic20:28
daveshahthere's also the bigger decision where hard blocks prevent optimisation opportunities elsewhere20:29
daveshahit's certainly an interesting thing to think about and something that could well be done better than abc does it20:29
daveshahZipCPU: yes, I have20:29
daveshahat least in litedram20:29
daveshahsee https://github.com/enjoy-digital/litedram/blob/master/litedram/phy/ecp5ddrphy.py#L36920:29
tpbTitle: litedram/ecp5ddrphy.py at master · enjoy-digital/litedram · GitHub (at github.com)20:29
daveshahthis uses one of the built in delay modes20:30
ZipCPUIs there any particular trick to it?  I'm trying to adjust one and ... it doesn't seem to be adjusting.  Do need to hold the MOVE pin high for any particular length of time for example?20:30
* ZipCPU opens the link20:30
daveshahI don't know, tbh20:30
daveshahI've only ever used fixed delays20:30
daveshahI believe it is edge triggered on move20:30
daveshahI presume you have LOADN high?20:31
ZipCPUYes.20:31
daveshahworth noting the step size is pretty small - something like 60ps20:31
ZipCPUHere's the code I'm using: https://github.com/ZipCPU/zipversa/blob/master/rtl/ecpnetdly.v20:31
tpbTitle: zipversa/ecpnetdly.v at master · ZipCPU/zipversa · GitHub (at github.com)20:31
ZipCPUIt doesn't ever seem to be setting the CFLAG high when I raise the delay20:32
daveshahIt is possible there is a trellis bug here20:33
ZipCPUAny suggestions?20:33
daveshahHang on, I'll have a look20:36
ZipCPUThanks!20:36
daveshahYes, I can see a missing database bit20:39
ZipCPUAlso, should the parameter values show up in the json file?  DEL_MODE and DEL_VALUE?20:40
janrinzedaveshah: in nextpnr the posedge to posedge of the global clk is 9.9 ns yet nextpnr tells me the max frequency is 70.61 Mhz. how does that work? does it add the I/O async times?20:41
*** emeb_mac has joined #yosys20:44
daveshahZipCPU: no, not if they are not assigned values20:44
daveshahjanrinze: hmm, might be a bug - can you post the path report?20:44
ZipCPUOk20:44
ZipCPUThe path report?  You mean the log from running nextpnr-ecp5?20:44
daveshahThat was for janrinze :)20:45
janrinzewill do20:45
ZipCPUOh, sorry, that was to janrinze ;)20:45
janrinze:D20:45
daveshahI've found what I think is the delay issue. I just need to patch trellis and nextpnr now...20:45
ZipCPUThanks!20:51
*** rohitksingh has joined #yosys20:53
*** emeb_mac has quit IRC20:55
janrinzehttps://github.com/YosysHQ/nextpnr/issues/35420:57
tpbTitle: how to read the path report. · Issue #354 · YosysHQ/nextpnr · GitHub (at github.com)20:57
daveshahZipCPU: can you try again with latest nextpnr and trellis (if it still fails, then I'll look further on hardware tomorrow)20:59
ZipCPUAbsolutely!  Thanks!20:59
janrinzedaveshah: where do i send the json?21:05
janrinzedaveshah: and the cpu runs at.. 96MHz without errors :D21:05
daveshahEither attach it to the issue, zipped, or email it to me at [email protected]21:05
daveshahThat's probably more to do with the margin at room temperature with a decent die than anything else...21:06
*** stzsch has quit IRC21:06
janrinzedaveshah: 35% faster is within 'normal' range? I have not been able to 'overclock' designs before with the HX8K but if ECP5 is more lenient then that's nice to know.21:08
daveshahIt certainly seems doable21:08
daveshahMaybe iCE40 devices have less margin21:08
daveshahWhat speed grade is your ECP5 BTW? I have a suspicion that if Lattice have too many good -8 devices then they'll just sell them as -6 as artificial market segmentation21:09
janrinzedaveshah: it's a -821:09
daveshahThat would get you at least 35% if that happened21:09
daveshahOh, nevermind that idea then21:09
janrinzedo they have a -10? ;D21:10
daveshahWell, they have the 5G parts21:10
janrinzeit's a 5G21:10
daveshahAh, they are like a -9 already because of the overvoltage21:10
daveshahbut that is taken account of already in the numbers21:11
janrinzeI use the lattice ecp5 board. (the one without the PCIe connector)21:11
janrinzeuploaded the json file.21:21
janrinzei'm going to test 110 MHz too :-)21:22
janrinzeok. that's too much for the monitor.21:24
*** nrossi has quit IRC21:32
daveshahjanrinze: Have pushed a fix to nextpnr master21:36
daveshahunfortunately the path was wrong, the 68MHz was correct...21:36
janrinzeit will take a while to build. I will keep am eye out on the margins allowable for this ecp5. 68MHz vs 96MHz is nice to keep in mind. Of course just for fiddling, not for stable.21:47
*** kraiskil has quit IRC21:49
ZipCPUdaveshah: nextpnr is now crashing on an assertion_failure, in nextpnr.h:34021:50
daveshahZipCPU: can you get a backtrace with gdb/coredumpctl/etc?21:53
daveshahIt is possible this is from another recent change21:54
ZipCPUIt says, "terminate called after throwing an instance of nextpnr_ecp5::assertion_failure  what(): Assertion failure: is_string (/home/dan/work/rnd/opencores/tools/nextpnr/common/nextpnr.h:340)21:54
daveshahZipCPU: can you run `gdb --args nextpnr-ecp5 --json .....`, `run` and then print the stack trace pointing to where the assertion failure is?21:56
ZipCPUWorking on it21:56
daveshahs/print/send21:56
daveshahCheer21:56
daveshah*Cheers21:56
ZipCPU(Was trying to do it with ddd ...)21:56
ZipCPUdaveshah: Here's the trace: https://imgur.com/tT9r4aG21:59
tpbTitle: Imgur: The magic of the Internet (at imgur.com)21:59
ZipCPUI still have ddd up, in case you want to query anything21:59
*** rohitksingh has quit IRC22:01
daveshahNo, on it now22:01
daveshahZipCPU: try updating again (just nextpnr this time, trellis hasn't changed)22:04
ZipCPUGot it22:04
*** rohitksingh has joined #yosys22:18
*** d__ has joined #yosys22:22
*** bobzoidting has quit IRC22:29
*** X-Scale has quit IRC22:42
ZipCPUdaveshah: That's closer.  Now I'm getting an incompatible IO voltage warning the project was never getting before.22:44
daveshahWhat is the message?22:44
ZipCPUERROR: Error processing 'gpio_clk_scli': incompatible IO voltages 2V5 and 3V3 on bank 2.0 warnings, 1 error22:45
ZipCPUgpio_clk_scli isn't a name used (by me) anywhere in my design22:45
daveshahIs it present in your LPF file?22:47
daveshahIf it isn't, it really shouldn't have even got that far22:47
ZipCPUIt's not present anywhere in my RTL directory: JSON, design, etc.22:47
ZipCPUOk, gpio_clk_scl is present in the design22:47
ZipCPUSpecifically, I have a wire named io_gpio_clk_scl.  I'll need to chase that down I guess22:48
ZipCPUGive me a bit with that22:48
daveshahI'm still confused where the extra "i" is coming from22:48
ZipCPUYes.  You and me both22:49
daveshahCan you post the JSON and LPF?22:49
ZipCPUSure ... how do you want them posted?22:49
daveshahZip them and upload them to somewhere?22:49
daveshahgoogle drive or similar22:49
daveshahOh, I see22:50
daveshahYou have an IO buffer called gpio_clk_scli22:51
daveshahhttps://github.com/ZipCPU/zipversa/blob/83d7ad0a6d83fb457d217723c1bf341b21722b52/rtl/toplevel.v#L20522:51
tpbTitle: zipversa/toplevel.v at 83d7ad0a6d83fb457d217723c1bf341b21722b52 · ZipCPU/zipversa · GitHub (at github.com)22:51
daveshah But it's in a mess because the BB isn't connected to a proper top level pin22:51
daveshahthis should be .B(io_gpio_clk_scl) io_gpio_clk_scl22:51
daveshah* .B(io_gpio_clk_scl)22:51
daveshahhttps://github.com/ZipCPU/zipversa/blob/83d7ad0a6d83fb457d217723c1bf341b21722b52/rtl/toplevel.v#L20622:51
tpbTitle: zipversa/toplevel.v at 83d7ad0a6d83fb457d217723c1bf341b21722b52 · ZipCPU/zipversa · GitHub (at github.com)22:51
daveshahand the instance below22:52
daveshahB is the name of the top level pad port, not O22:52
daveshah(O is the output from the input buffer)22:52
ZipCPUAhhh ... okay22:52
ZipCPUSo ... just swap .O with .B?22:52
daveshahYep22:52
ZipCPUNo, that's not quite it22:52
ZipCPU... but I think I see what's going on22:52
daveshahAnyway, BB should have B connected to a top level pin22:53
ZipCPUGot it22:54
daveshahDue to some historical issues it is hard to enforce this as a check22:54
ZipCPULol22:54
ZipCPUSomeday, we'll convert those to histerical issues22:54
ZipCPUdaveshah: Now, there's: terminate called after throwing an instance of 'std::runtime_error'\n  what():  no enum named 'IOLOGICD.LOADNMUX'23:12
daveshahAre you sure that Trellis and its database submodule updated?23:13
ZipCPUWell, there was a push to "Bump database" since I lats built, so let me try again23:19
ZipCPUOkay, looks like I'm getting the error from libtrellis' ecppack ... rebuilding that one again now23:34
ZipCPUOkay, I rebuilt it completely and ... it's still dying in ecppack with the aforementioned error23:37
*** emeb has quit IRC23:38
daveshahIs ecppack make installed, and the correct ecppack being used?23:39
ZipCPUYes.  It is installed via make23:39
ZipCPU... and I'm using the correct/installed ecppack23:40
daveshahCan you grep for LOADNMUX in /usr/local/share/trellis/database?23:40
ZipCPUOkay ...23:40
daveshahOr /usr/share depending on where it is installed?23:40
ZipCPUThe string isn't present23:42
ZipCPUThat means I need to rebuild the database, then, right?23:42
daveshahNo, this isn't built23:42
daveshahIt's just cloned and copied23:43
daveshahIt is more likely that the database submodule in prjtrellis isn't up to date23:43
daveshahOr that make install didn't work for some reason23:43
ZipCPUI think I have a submodules problem23:43
ZipCPU"git pull" in prjtrellis/database just made a whole lot of changes23:44
daveshahThat sounds promising. make install libtrellis again and ecppack should succeed23:44
ZipCPUYep!23:45
ZipCPUNow ecppack completes without error.  Let me rebuild the design from scratch and make sure all the pieces work23:45
ZipCPUYaaayyyyy!!!! I'm not getting bad network CRCs anymore!  Thanks, daveshah!23:56

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