clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
emeb has quit [Quit: Leaving.]
_whitelogger has joined #yosys
emeb_mac has joined #yosys
cr1901_modern has joined #yosys
s_frit has quit [Remote host closed the connection]
s_frit has joined #yosys
X-Scale has joined #yosys
PyroPeter has quit [Ping timeout: 264 seconds]
citypw has joined #yosys
PyroPeter has joined #yosys
citypw has quit [Ping timeout: 244 seconds]
citypw has joined #yosys
rohitksingh has joined #yosys
Jybz has joined #yosys
jakobwenzel has quit [Remote host closed the connection]
jakobwenzel has joined #yosys
emeb_mac has quit [Ping timeout: 245 seconds]
<pepijndevos> what are ANSI C style module declarations
<tnt> pepijndevos: I think were you declare the module ports not inside the () of the module, but later.
dys has quit [Ping timeout: 244 seconds]
<pepijndevos> ah I see.
<pepijndevos> I never actually learned Verilog. To me it's just VHDL with C syntax and added WTF
<sorear> …that’s the opposite of the distinction made in C
<daveshah> Yeah, ANSI in Verilog is the same as C
<daveshah> Everything in the module header
<daveshah> With the "names in the module header, types below" style being non-ANSI
<tpb> Title: Port Declaration (at www.hdlworks.com)
<tnt> Oh ok. Then I always use ANSI style then.
dys has joined #yosys
Jybz has quit [Remote host closed the connection]
adjtm has quit [Ping timeout: 272 seconds]
s_frit has quit [Remote host closed the connection]
s_frit has joined #yosys
citypw has quit [Ping timeout: 245 seconds]
Jybz has joined #yosys
adjtm has joined #yosys
citypw has joined #yosys
_whitelogger has joined #yosys
m4ssi has joined #yosys
rohitksingh has quit [Ping timeout: 246 seconds]
citypw has quit [Ping timeout: 245 seconds]
rohitksingh has joined #yosys
Jybz has quit [Ping timeout: 252 seconds]
rrika has quit [Ping timeout: 272 seconds]
rrika has joined #yosys
<pepijndevos> Welp... voodoo ahoy
<pepijndevos> When I simulate my cpu in ghdl with a vhdl testbench it works perfectly
rohitksingh has quit [Read error: Connection reset by peer]
<pepijndevos> When I read it with verific/ghdl and convert to verilog and run it in ikarus, I get all sorts of borkennes
<pepijndevos> Interestingly, different types of brokenness if I synthesize first or not.
<pepijndevos> Odly synthesized seems less broken than not. The direct verilog output is just straigt away xxxxxxx
<tnt> Do you have an explicit reset ?
<pepijndevos> Yyyyyes? I don't reset all the signals though, only the ones I care about.
<tnt> And you're sure you haven't "forgotten" one ? :)
<tnt> Although sometime the 'x' propagation is a little agressive and doesn't detect that a result will always be deterministic no matter what the input is.
<pepijndevos> Ehhh, possible. I'll try if resetting all the things helps.
<pepijndevos> But why is this only an issue when converting to verilog?
<tnt> Else you need to actually look at the first 'x' that happens where it shouldn't and see why it's there.
<pepijndevos> Yea I guess
<tnt> pepijndevos: I have no idea how the conversion is done so I'm not sure if it's supposed to map to equivalent 'x' semantics or not ...
<pepijndevos> hm ok
<pepijndevos> Ah it seems not so happy about metavalues. Understandable. I thought I'd let the compiler do its thing and output some don't cares.
emeb has joined #yosys
s_frit has quit [Remote host closed the connection]
s_frit has joined #yosys
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
s_frit has quit [Remote host closed the connection]
s_frit has joined #yosys
<pepijndevos> daveshah, I have an extremely weird issue, and could use some advice on ruling out a compiler bug if you have time. Basically my code breaks after doing techmap -map +/techmap.v; opt; but doing (n)one of the two is fine.
<daveshah> pepijndevos: is this still involving x?
<pepijndevos> nope
<daveshah> anything else unusual?
<pepijndevos> Well, it gives xxx after it optimizes away my design, but generally it's working without those two commands
<daveshah> can you post the ilang before techmap/opt?
<pepijndevos> Other than that the target is 74xx logic, not really :)
<pepijndevos> yea, will do
<tpb> Title: Ubuntu Pastebin (at paste.ubuntu.com)
<daveshah> Out of curiosity, what is getting optimised away
<pepijndevos> Hold on... some bits of the opcode... but at this point it's not actually broken yet... sorry, I was looking at the wrong thing to deretmine breakage
<pepijndevos> So it's breaking at a later stage, brb
<pepijndevos> ah, got it... more or less... it's something with muxes... will try to narrow it down
<pepijndevos> But in that case it's probably simply a bug in our mux techmap...
<pepijndevos> I would like to do something like equiv_opt techmap -map ../74_mux.v, but first it gives me warnings about not having SAT models for all the things, and then it gives a lot of unproven $equiv. What's a good way to test this techmap is correct?
<daveshah> Simulation before and after mapping?
<daveshah> Or loading in models for all cells
<pepijndevos> What do you mean?
<pepijndevos> Well, pretty much I know it is *not* correct
<daveshah> Immediately before equiv_opt, do `read_verilog` or `read_liberty` *without* -lib (unlike in normal synthesis) to load in models
<daveshah> Then simulation of a simple design (just a mux on its own) is probably your best bet
<pepijndevos> Oh I see
<daveshah> Just running synthesis of a mux on its own might be enough to highlight the problem
<pepijndevos> Thanks, I'll give it a go :)
<pepijndevos> Ehhh, I get that I can use whitebox models for my techmap, but it'll probably still complain about $_MUX8_
<pepijndevos> But I'll figure it out I think...
<daveshah> If it's missing $_MUX8_ you could just give it this in a file: https://github.com/YosysHQ/yosys/blob/master/techlibs/common/simcells.v#L324-L332
<tpb> Title: yosys/simcells.v at master · YosysHQ/yosys · GitHub (at github.com)
<pepijndevos> oh, sweet
<tpb> Title: yosys/simcells.v at master · YosysHQ/yosys · GitHub (at github.com)
<daveshah> of course
<pepijndevos> jaaaaaaaaaaaa
<pepijndevos> one misplaced ' in the liberty file later...
<pepijndevos> no, I'm still an idiot...
<pepijndevos> sigh
<pepijndevos> cool Segmentation fault (core dumped) wat
rohitksingh has joined #yosys
rohitksingh has quit [Ping timeout: 258 seconds]
awordnot has quit [Ping timeout: 245 seconds]
awordnot has joined #yosys
maikmerten has joined #yosys
m4ssi has quit [Remote host closed the connection]
<pepijndevos> I totally can't make it be happy about $_MUX4_ and still want to do the techmap
<pepijndevos> I FOUND IT, I FOUND THE MISSING '
<pepijndevos> and a way to check equivalence that kinda worked...
<pepijndevos> ZirconiumX, https://github.com/ZirconiumX/74xx-liberty/pull/17 phew, that was... something
<tpb> Title: Make sure muxes are correct by pepijndevos · Pull Request #17 · ZirconiumX/74xx-liberty · GitHub (at github.com)
rohitksingh has joined #yosys
<ZirconiumX> pepijndevos: so one of the inputs wasn't correct?
<pepijndevos> ZirconiumX, the MUX8 liberty model had a logic error. One of the dozen ' was in the wrong place
<pepijndevos> At least now it's *proven* that it's equivalent to the simcell.v one
<pepijndevos> So my CPU simulates correctly now in 74xx logic... that at least reduces the ways in which it can be wrong a bit.
<pepijndevos> But it would not catch ABC using a cell correctly that's defined incorrectly.
ZipCPU has quit [Quit: ZNC 1.6.4 - http://znc.in]
rohitksingh has quit [Ping timeout: 245 seconds]
ZipCPU has joined #yosys
rohitksingh has joined #yosys
dys has quit [Ping timeout: 264 seconds]
rohitksingh has quit [Ping timeout: 272 seconds]
dys has joined #yosys
adjtm has quit [Ping timeout: 268 seconds]
Strobokopp has joined #yosys
dys has quit [Ping timeout: 268 seconds]
sandeepkr has quit [Remote host closed the connection]
kuldeep has quit [Remote host closed the connection]
maikmerten has quit [Remote host closed the connection]
emeb_mac has joined #yosys
dys has joined #yosys
emeb_mac has quit [Ping timeout: 244 seconds]
adjtm has joined #yosys
emeb has quit [Quit: Leaving.]
tpb has quit [Remote host closed the connection]
emeb_mac has joined #yosys
tpb has joined #yosys