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
somlo has quit [Read error: Connection reset by peer]
somlo_ has joined #yosys
vidbina_ has quit [Ping timeout: 256 seconds]
lf_ has quit [Ping timeout: 260 seconds]
lf has joined #yosys
srk has quit [Ping timeout: 268 seconds]
citypw has joined #yosys
srk has joined #yosys
aquijoule_ has joined #yosys
richbridger has quit [Ping timeout: 256 seconds]
srk has quit [Ping timeout: 268 seconds]
srk has joined #yosys
emeb has left #yosys [#yosys]
srk has quit [Ping timeout: 268 seconds]
srk has joined #yosys
srk has quit [Ping timeout: 268 seconds]
srk has joined #yosys
Degi_ has joined #yosys
Degi has quit [Ping timeout: 272 seconds]
Degi_ is now known as Degi
srk has quit [Ping timeout: 268 seconds]
srk has joined #yosys
jfcaron has quit [Quit: jfcaron]
srk has quit [Ping timeout: 268 seconds]
srk has joined #yosys
modwizcode has quit [Quit: Later]
s_frit has joined #yosys
emeb_mac has quit [Quit: Leaving.]
bzztploink has quit [Ping timeout: 246 seconds]
bzztploink has joined #yosys
aquijoule__ has joined #yosys
aquijoule_ has quit [Ping timeout: 256 seconds]
kraiskil has joined #yosys
kraiskil has quit [Ping timeout: 260 seconds]
jakobwenzel has joined #yosys
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #yosys
vidbina_ has joined #yosys
xtro has quit [Ping timeout: 272 seconds]
_whitelogger has joined #yosys
rrika has quit [*.net *.split]
captain_morgan has quit [*.net *.split]
X-Scale has quit [*.net *.split]
vancz has quit [*.net *.split]
bwidawsk has quit [*.net *.split]
smarter has quit [*.net *.split]
TD-Linux has quit [*.net *.split]
tmiw has quit [*.net *.split]
simeonm has quit [*.net *.split]
lethalbit has quit [*.net *.split]
bwidawsk has joined #yosys
simeonm has joined #yosys
lethalbit has joined #yosys
vancz has joined #yosys
TD-Linux has joined #yosys
tmiw has joined #yosys
rrika has joined #yosys
captain_morgan has joined #yosys
X-Scale has joined #yosys
dys has quit [Ping timeout: 246 seconds]
dys has joined #yosys
kraiskil has joined #yosys
modwizcode has joined #yosys
kraiskil has quit [Ping timeout: 256 seconds]
vidbina_ has quit [Ping timeout: 264 seconds]
citypw has quit [Ping timeout: 268 seconds]
emeb has joined #yosys
klotz has joined #yosys
oter has joined #yosys
vidbina_ has joined #yosys
oter has quit [Quit: Textual IRC Client: www.textualapp.com]
xtro has joined #yosys
tmeissner has joined #yosys
Xark has quit [Ping timeout: 272 seconds]
emeb_mac has joined #yosys
FL4SHK has quit [Ping timeout: 246 seconds]
jakobwenzel has quit [Quit: jakobwenzel]
jakobwenzel1 has joined #yosys
jakobwenzel1 has quit [Client Quit]
mangelis has joined #yosys
kraiskil has joined #yosys
<mangelis> hi, i wonder if it's possible in yosys to force that certain inputs are not connected to same luts?
<mangelis> i have module with 9 input bits, and it would help if i could force that only bits 0,1,2 or internal bits can be connected to a lut, then only 3,4,5 and internals etc
<mangelis> i've tried to do group0 = input[0]+input[1]+input[2]; group1 = input[3]+input[4]+input[5]; ... result=group0+group1+group2; but the synthesis results are the same than if i have everything in one big expression
<Lofty> mangelis: Why do you need this? The solution is to just instantiate LUTs directly, but this is a weird thing to want
<mangelis> the hardware i'm using to run the design can't access all the inputs directly. i'll have to insert manual "buffer" luts if it's not possible with yosys to directly generate valid result
<Lofty> And...what is the hardware you're using?
<Lofty> mangelis: ^
<mangelis> amiga blitter
kraiskil has quit [Ping timeout: 265 seconds]
<Lofty> You, um, what.
<mangelis> :p
<Lofty> Why are you trying to synthesise a design for the Amiga blitter?
<mangelis> i already have, several
<knielsen> oh, nice, I spent a _lot_ of time understanding how to use the blitter back then ;-)
<Sarayan> wasn't the copper a lot funkier?
* Lofty sighs
<Lofty> Okay, well
<mangelis> ah, missed your question "why"
<Lofty> I wrote a Yosys flow for 7400 logic, so I'm in no position to judge
<Lofty> The long and short of it is that what you have here is not a LUT.
<Lofty> Instead, you need to instruct ABC to produce something which maps to the blitter
<Lofty> There are two ways of doing this
<Sarayan> also "what is connected to a lut" is not something you're supposed to care about, It's like dictation the asm instructions to a compiler
<Lofty> <Lofty> The long and short of it is that what you have here is not a LUT.
<mangelis> well actually blitter is a 3-input 1-output lut
<Lofty> ...
<Lofty> Then why aren't you mapping to LUT3s?
<mangelis> i am
<Lofty> But, that achieves what you're asking for, no?
<mangelis> well no, because i'm trying to implement game of life now, and it needs to calculate 8 neighbours
<Lofty> But you can construct that out of LUT3s.
<mangelis> so when blitter is executing it reads 3 words from memory, performs this 3-to-1 boolean operation to all bits and writes output. you can do shifts by delaying some of the inputs. that gives a way how to access cells on the left
<Lofty> I don't think Yosys is the tool for this.
<mangelis> but to access cells on the right, blitter has to be run in "descending" mode. so one can not combine those in one blit operation. hence my need to group the inputs
<Lofty> You can write a postprocessing script to group the inputs
<mangelis> i know it's not. but i was just wondering if there exists some way to force certain operations
<Lofty> ABC's idea of a LUT is too abstract to achieve this
<mangelis> hmm okay
kraiskil has joined #yosys
<mangelis> i imagine what i'd want is that i could force that optimization wouldn't happen across certain bits
<Lofty> Even more: you're attempting to enforce a strict ordering of bits
<Lofty> That's a constraint not even expressible to ABC
<mangelis> ah, on verilog side i see that reg "group0" has 2 bits, which are generated by the sum of three input bits and then group0 is used in other expression
<mangelis> but i guess it's not possible then to force the group0's 2 bits to "always exist"
<mangelis> i'm not at all familiar how the synthesis works under the hood, thanks for telling me this anyway :)
<Lofty> Well, I wrote a LUT mapper, so I know a reasonable amount on the subject
<Lofty> Could I port my own LUT mapper to achieve this? Probably, but it wouldn't necessarily be as good
<mangelis> cool
<Sarayan> In fact you want to use yosys to generate a blitter configuration?
<mangelis> Sarayan: more like i was thinking if i could add some constraints to generate design that fits the hw better
<Sarayan> fun :-)
<mangelis> actually while in shower i realized that non-blocking assignments probably do just what i want
<mangelis> hmm, doesn't seem to change the result of synthesis. is the non blocking assigment -> flipflop mapping done somewhere else than just generic synthesis?
<Lofty> That mapping is the proc pass, which is called by synth
<mangelis> ah it probably needs a clock, ie. doesn't work inside always @( * )
<mangelis> wow, it actually generates less luts and satifies the constraint i wanted :-))
philtor has joined #yosys
somlo_ has quit [Remote host closed the connection]
kraiskil has quit [Ping timeout: 240 seconds]
somlo has joined #yosys
tmeissner has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
vidbina_ has quit [Ping timeout: 272 seconds]
emeb has quit [Quit: Leaving.]
minicom has quit [Changing host]
minicom has joined #yosys
klotz has quit [Quit: klotz]
anticw has quit [Quit: leaving]
anticw has joined #yosys
anticw has quit [Client Quit]
anticw has joined #yosys
anticw has quit [Client Quit]
anticw has joined #yosys