ChanServ changed the topic of #yosys to: Yosys Open SYnthesis Suite: https://github.com/YosysHQ/yosys/ | Channel logs: https://libera.irclog.whitequark.org/yosys/
richbridger has joined #yosys
aquijoule_ has quit [Ping timeout: 264 seconds]
stroboko1p has joined #yosys
strobokopp has quit [Ping timeout: 265 seconds]
nak has quit [Ping timeout: 265 seconds]
nak has joined #yosys
freemint has quit [Ping timeout: 268 seconds]
yay has joined #yosys
yay has quit [Quit: Connection closed]
chipdsgr has quit [Ping timeout: 268 seconds]
chipdsgr has joined #yosys
FabM has joined #yosys
_whitelogger has joined #yosys
<gatecat> cr1901: there were scripts for some of the lists in it, but https://github.com/YosysHQ/icestorm/blob/master/icebox/iceboxdb.py is the main autogenerated part
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #yosys
Guest7213 has joined #yosys
<tnt> ERROR: FF cpu.$auto$simplemap.cc:495:simplemap_dffsre$10047 (type $_DFFSRE_PPPP_) cannot be legalized: dffs with async set and reset are not supported ...
<tnt> :/ I mean why generate it in the first place. I would have expected a async reset FF and a mux to 0 merged in the preceding lut.
<gatecat> what code is this coming from ?
<tnt> Vex
<tnt> That's a verilog I originally gnerated for the ice40 (and that works fine there) and I was trying to reuse the same on ecp5.
<gatecat> huh, strange it's hitting a different code path between the two
<gatecat> neither support those kinds of DFFs
<tnt> Mmm ... I only tried on the ice40 before I updated my toolchain yesterday. Maybe it's broken now ...
<tnt> Oh ... it crashes on ice40 too both on old & new toolchain, but only when I try to synth it "alone". If I synth the full project, then it works fine.
<tnt> I was just trying yosys -p 'synth_ecp5' VexRiscv.v to get a quick idea of resources.
<mwk> tnt: the problem here is like 4305
<mwk> IBusCachedPlugin_fetchPc_pcReg <= externalResetVector;
<mwk> this one is *bad*
<mwk> because it's in an async reset block, and externalResetVector is a signal, not a constant
<mwk> so what we'd technically need to do here is synthesize a FF with async load
<mwk> which is not actually supported yet, but an early pass will convert it to a FF with async set + reset wired appropriately to the externalResetVector anded with reset
<mwk> if you use it as part of larger thing, the external reset vector is presumably wired to a const, which is why yosys is able to optimize the crazy reset structure into a plain async reset with a single value
<mwk> I'd say this is a vexriscv bug, as it's asking for a FF that cannot be reasonably provided by most FPGA targets
<mwk> about emulation: yes, you can try to emulate the unsupported FF type with lots of async logic, but we cannot in good conscience do it in yosys when there's no support in the toolchain for ensuring that whatever we emit is race-free / glitch-free, then remains so in P&R
<tnt> mwk: Ah, I see. Yeah, externalResetVector is pretty much tied to constant in all instanciations, I'm not sure if chisell can generate verilog params.
<tnt> Thanks for the explanation, makes more sense to me now. Somehow I had read the error as having async set and sync reset being an issue, not sure how I got that in my head.
<mwk> ah
<mwk> yeah, sync resets are emulated without complaint whenever not supported
<mwk> async resets are... argh
<tnt> Heh yeah. I use them on the ice40 because of the CE affecting the sync reset line on the ice40 causing longer path than needed if both CE and sync reset/set are used.
<mwk> let's just say I have already implemented some async reset emulation via simpler async reset FFs patterns, for "feature parity" with a certain cursed vendor synth tool
<mwk> but it cannot make something out of nothing
eater has joined #yosys
freemint has joined #yosys
freemint has quit [Ping timeout: 244 seconds]
freemint has joined #yosys
strobokopp has joined #yosys
stroboko1p has quit [Ping timeout: 245 seconds]
FabM has quit [Quit: Leaving]
tpb has quit [Remote host closed the connection]
strobokopp has quit [Read error: Connection reset by peer]
strobokopp has joined #yosys
promach[m] has joined #yosys
cr1901 has quit [Read error: Connection reset by peer]
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined #yosys
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare2 has joined #yosys
Lord_Nightmare2 is now known as Lord_Nightmare
cr1901 has joined #yosys
freemint has quit [Ping timeout: 244 seconds]
anticw has quit [Ping timeout: 264 seconds]
anticw has joined #yosys
anticw has quit [Ping timeout: 252 seconds]
anticw has joined #yosys
freemint has joined #yosys
freemint has quit [Remote host closed the connection]
freemint has joined #yosys
Guest7213 has quit [Quit: Client closed]
freemint has quit [Ping timeout: 245 seconds]