lutsabound has quit [Quit: Connection closed for inactivity]
proteusguy has quit [Ping timeout: 272 seconds]
PyroPeter has quit [Ping timeout: 258 seconds]
PyroPeter has joined #yosys
s_frit has quit [Remote host closed the connection]
s_frit has joined #yosys
_whitelogger has joined #yosys
proteusguy has joined #yosys
_whitelogger has joined #yosys
rohitksingh_work has joined #yosys
indy has quit [Ping timeout: 248 seconds]
dys has quit [Ping timeout: 245 seconds]
emeb_mac has quit [Ping timeout: 268 seconds]
m4ssi has joined #yosys
togo has joined #yosys
s_frit has quit [Ping timeout: 245 seconds]
vidbina has joined #yosys
vidbina has quit [Ping timeout: 246 seconds]
vidbina has joined #yosys
AlexDaniel has quit [Read error: No route to host]
AlexDaniel has joined #yosys
_whitelogger has joined #yosys
rohitksingh_work has quit [Read error: Connection reset by peer]
vonnieda_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
proteusguy has quit [Remote host closed the connection]
rohitksingh has joined #yosys
vonnieda has joined #yosys
emeb has joined #yosys
rohitksingh has quit [Ping timeout: 268 seconds]
rohitksingh has joined #yosys
maikmerten has joined #yosys
rohitksingh has quit [Ping timeout: 272 seconds]
rohitksingh has joined #yosys
rohitksingh has quit [Ping timeout: 272 seconds]
proteusguy has joined #yosys
fsasm_ has joined #yosys
m4ssi has quit [Remote host closed the connection]
vidbina has quit [Ping timeout: 246 seconds]
vidbina has joined #yosys
dys has joined #yosys
proteusguy has quit [Remote host closed the connection]
proteusguy has joined #yosys
sandeepkr has joined #yosys
alexhw has quit [Remote host closed the connection]
dys has quit [Ping timeout: 258 seconds]
esden has quit [Ping timeout: 252 seconds]
esden has joined #yosys
dys has joined #yosys
indy has joined #yosys
vidbina has quit [Ping timeout: 245 seconds]
<ZirconiumX>
daveshah: (hi, yes, I'm back) Is the $lut cell always for constant values?
<daveshah>
ZirconiumX: yes, it is, although I'm not sure whether it appears unless you map to LUTs (either using `abc -lut` or some other method)
<daveshah>
`$shiftx` is usually used for both non-constant values, and also for LUT-style structures even with constant values following the frontend
<ZirconiumX>
I'm just wondering how best to utilise things like muxes
<ZirconiumX>
Since the 74 series has 16:1, 8:1, 4:1 and 2:1 muxes
<ZirconiumX>
abc seems to handle the 2:1 and 4:1 muxes
<daveshah>
You probably want to use the `pmux2shiftx` command shortly after initial optimisations (before synthesis), and then techmap suitable `$shiftx`s
<daveshah>
Eddie has been working on something like this for the Xilinx muxes
dxld has quit [Quit: Bye]
<daveshah>
Actually, letting the default techmap rules map `$_MUX_` cells, then using `muxcover` to combine them to larger `$_MUX(4|8|16)_` cells, then techmapping those cells, is probably the path of least resistance
<ZirconiumX>
I need to use a proper Yosys script I think :P
dxld has joined #yosys
<ZirconiumX>
daveshah: Even just having muxcover alone is a major saving
<ZirconiumX>
Even if 25% of my gates are muxes now
<ZirconiumX>
Was 5,051 ICs, now 4,047 ICs
<ZirconiumX>
...Mostly because the _MUXN_ cells weren't mapped
<daveshah>
Yes, you'll need techmap rules (albeit fairly simple ones) to turn them into the relevant 74xx
<tnt>
When implementing a CPU in 74xx, usually you'd also use the OE of the various chips to drive/not-drive shared lines rather than using real muxes, not sure how yosys/abc maps that ?
<daveshah>
I'm pretty sure Yosys can only go in the other direction (from tristates to real muxes)
<daveshah>
using the `tribuf -logic`
<ZirconiumX>
daveshah: It's sort of like having an "& !OE" at the end of the output
<ZirconiumX>
tnt: I have fake tristate gates in my library
<ZirconiumX>
Essentially things like 7401s in wired-AND
<ZirconiumX>
Apparently ABC really like wired-AND NAND gates
AlexDaniel has quit [Read error: Connection reset by peer]
<ZirconiumX>
Though given that TI apparently don't make 7401s anymore, perhaps I should look for an alternative
cr1901_modern has quit [Ping timeout: 258 seconds]
cr1901_modern has joined #yosys
<ZirconiumX>
daveshah: Presumably replacing these _MUXN_ cells is a good time for _TECHMAP_REPLACE_?
<daveshah>
Yes
<daveshah>
That way the name of the _MUXN_ is preserved
<ZirconiumX>
So, we're now at 4,417 ICs
<ZirconiumX>
So that's a solid 10% reduction in chips
<tnt>
What's the target btw ?
AlexDaniel has joined #yosys
<ZirconiumX>
tnt: As in, target number of chips?
<tnt>
no, the target cpu you're trying to implement :)
maikmerten has quit [Remote host closed the connection]
<ZirconiumX>
I wanted to design and build a (fairly small) RV32E CPU, but figured Yosys could probably do a better job than me if it knew how
<tpb>
Title: Building LMARV-1: a tangible RISC-V processor, part 1 The Half-Baked Maker (at www.halfbakedmaker.org)
<ZirconiumX>
Yep
<ZirconiumX>
And a lot of the other ones
<ZirconiumX>
And they never got completed
<ZirconiumX>
Though to be fair I don't have particularly high hopes for this
<ZirconiumX>
We'll see
<tnt>
I think an hybrid approach might be the most viable. Design the "general architecture" manually, thing like registers, source/result bus ... and then use logic for the sub-units to automatically map to availbale logics.
<tnt>
just my 2ct.
<tnt>
Because tbh, 4000 chips seems ... big.
<daveshah>
I think you should be able to reduce the chip count quite a bit if you map RAM to a RAM chip rather than registers