clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #yosys
tlwoerner has joined #yosys
_whitelogger has joined #yosys
emeb_mac has quit [Ping timeout: 256 seconds]
emeb_mac has joined #yosys
az0re has quit [Ping timeout: 240 seconds]
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined #yosys
cr1901_modern has quit [Client Quit]
cr1901_modern has joined #yosys
az0re has joined #yosys
cr1901_modern has quit [Ping timeout: 240 seconds]
Cerpin has quit [*.net *.split]
pacak has quit [*.net *.split]
anuejn has quit [*.net *.split]
pie_ has quit [*.net *.split]
agg has quit [*.net *.split]
simeonm has quit [*.net *.split]
srk has quit [*.net *.split]
simeonm has joined #yosys
srk has joined #yosys
Cerpin has joined #yosys
anuejn has joined #yosys
agg has joined #yosys
pie_ has joined #yosys
pacak has joined #yosys
cr1901_modern has joined #yosys
az0re has quit [Ping timeout: 240 seconds]
_whitelogger has joined #yosys
_whitelogger has joined #yosys
az0re has joined #yosys
MoeIcenowy has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
MoeIcenowy has joined #yosys
kuldeep has quit [Quit: Its never too late!]
kuldeep has joined #yosys
dkozel has quit [Ping timeout: 240 seconds]
dkozel has joined #yosys
indy has joined #yosys
citypw has joined #yosys
Asu has joined #yosys
emeb_mac has quit [Quit: Leaving.]
kraiskil has joined #yosys
solidtux has quit [Quit: quit]
solidtux has joined #yosys
kraiskil has quit [Ping timeout: 256 seconds]
X-Scale` has joined #yosys
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
<pepijndevos> If I accumulate a bunch of things with a generate loop, will something in the chain balance the adder tree, or will it become a huge speed bottleneck?
<mwk> alumacc will make a $macc cell out of it with shitloads of inputs
<mwk> maccmap will turn it into lots of 3-to-2 adder compression stages, plus an $alu for the final stage
<pepijndevos> 3-to-2 adder compression stages?
<mwk> hmm, never heard of 3:2 compressor?
<mwk> *sigh* I cannot seem to find a good reference for it
<pepijndevos> ... maybe... it rings a very remote bell
<mwk> the idea is that you have 3 numbers to add
<mwk> so you use a bunch of full adders, but without a carry chain, to turn that into two numbers you have to add
indy has quit [Ping timeout: 240 seconds]
<pepijndevos> I remember we once had a random lecture that covered an algorithm for building the most efficient tree of what you call compressors.
<mwk> the main idea here is that you still have the same amount of full adders, but only the final stage actually needs a carry chain
<pepijndevos> Something weird where you assigned levels to things and had to combine things from the same levels or something
<mwk> mhm
<mwk> sounds like maccmap
<pepijndevos> I see
<pepijndevos> Long story short: it will turn into something reasonable
<pepijndevos> thanks :))
<mwk> ... more or less
<mwk> there's a bunch of ways that maccmap could be improved
<mwk> but eh
<mwk> the same could be said about every single part of yosys
<pepijndevos> hrm
<mwk> eg. for a LUT6-based architecture it's quite likely that using 5:3 or 6:3 compressors would be a better idea
indy has joined #yosys
<pepijndevos> hm yea you could not actually use ALU hardware for the full adders, because at least on gowin you can't access the carry chain in regular logic.
<mwk> oh it doesn't
<mwk> it only uses the carry chain *for the final stage*
<mwk> the compression stages are just plain LUTs
<pepijndevos> right
<mwk> for gowin, being a LUT4 architecture, 3:2 compressors should actually be optimal
indy has quit [Quit: ZNC - http://znc.sourceforge.net]
indy has joined #yosys
indy has quit [Ping timeout: 256 seconds]
indy has joined #yosys
_whitelogger has joined #yosys
indy has quit [Ping timeout: 240 seconds]
indy has joined #yosys
emeb has joined #yosys
kristianpaul has quit [Read error: Connection reset by peer]
kristianpaul has joined #yosys
jakobwenzel has quit [Quit: jakobwenzel]
az0re has quit [Ping timeout: 240 seconds]
kraiskil has joined #yosys
kraiskil has quit [Ping timeout: 240 seconds]
az0re has joined #yosys
kraiskil has joined #yosys
emeb_mac has joined #yosys
emeb_mac has quit [Quit: Leaving.]
citypw has quit [Ping timeout: 240 seconds]
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale has joined #yosys
kraiskil has quit [Ping timeout: 246 seconds]
kraiskil has joined #yosys
az0re has quit [Ping timeout: 240 seconds]
az0re has joined #yosys
kraiskil has quit [Ping timeout: 265 seconds]
kristianpaul has quit [Read error: Connection reset by peer]
emeb_mac has joined #yosys
kristianpaul has joined #yosys
<Lofty> Does anybody have any idea why Yosys might turn a fairly standard synchronous-read ROM into an asynchronous-read ROM?
<tpb> Title: build1.v · GitHub (at gist.github.com)
<Lofty> This pattern looks correct to me, but memory_bram reports it being an async read port
<tpb> Title: build1.v · GitHub (at gist.github.com)
<daveshah> this is a known bug in memory_dff
<tpb> Title: memory_dff does not merge registers into read ports with unused bits · Issue #1854 · YosysHQ/yosys · GitHub (at github.com)
<Lofty> Thank you, daveshah
emeb_mac has quit [Ping timeout: 264 seconds]
emeb has quit [Ping timeout: 260 seconds]
emeb_mac has joined #yosys
emeb has joined #yosys
tux3 has joined #yosys
Asu has quit [Quit: Konversation terminated!]
emeb has quit [Ping timeout: 264 seconds]
emeb has joined #yosys
lf has quit [Ping timeout: 260 seconds]
lf has joined #yosys