<hackerfoo>
Is a single mux better than a daisy chain? Or maybe the same thing will be inferred anyway.
<sorear>
dunno about fpga tools but in asic land it’s expected that daisy chains will be optimized into priority encoders
<sorear>
maybe I shouldn’t speak so generally, I’ve only talked to one person about this specifically
<hackerfoo>
sorear: A priority encoder controlling a mux? Like if you use `assign out = cond_a ? a : cond_b ? b : ...;` ?
<hackerfoo>
For context, most data is passed through in a functional way, but for linear things like arrays, it seems like it would be bad to string address, data in & data out lines through the functional chain.
<sorear>
yes, this came up in a context with 32 muxes in sequence
<hackerfoo>
So, instead, array access is through a bus, where those lines will have to be muxed to some shared block of RAM.
<hackerfoo>
At first I though of a tristate bus with a token passed to control access, but it seems that you can't have that sort of bus in an FPGA.
<hackerfoo>
It seems like that would be the way to do it in an ASIC.
<sorear>
everything I’ve seen in recent (mostly academic) designs uses muxes, would be interesting to know if the higher-resourced players are doing tristates
<sorear>
anything that’s not synthesizable seems slowly on the way out
<sorear>
8-bit-era cpus had internal tristate buses, but they weren’t synthesized
<Sprite_tm>
I think Xilinx had tristate buses in fpgas a long time ago. Must've been fun, allows you to model a short circuit in Verilog.
<sorear>
they did, it’s come up here before
freeemint has quit [Remote host closed the connection]
<hackerfoo>
But I guessed that it wasn't given previous experience with `wor` and `wand` in Vivado.
freeemint has quit [Ping timeout: 245 seconds]
<hackerfoo>
I guess ISE supported them, and Vivado does with a flag, so they purposefully removed them.
_whitelogger has joined ##openfpga
flaviusb has quit [Ping timeout: 252 seconds]
flaviusb has joined ##openfpga
ZipCPU|Laptop has joined ##openfpga
<GenTooMan>
I'm not sure having a tristate bus internally is useful myself however it's not like I have spent more than a few weeks time messing with them.
Bike has quit [Quit: Lost terminal]
Jybz has joined ##openfpga
Jybz has quit [Ping timeout: 240 seconds]
OmniMancer has joined ##openfpga
Asu has joined ##openfpga
emeb_mac has quit [Quit: Leaving.]
Hoernchen has quit [Ping timeout: 268 seconds]
ZipCPU|Laptop has quit [Remote host closed the connection]
ZipCPU|Laptop has joined ##openfpga
pie__ has joined ##openfpga
pie_ has quit [Ping timeout: 240 seconds]
hughhalf_ has joined ##openfpga
hughhalf has quit [Ping timeout: 268 seconds]
pie__ has quit [Ping timeout: 240 seconds]
ZipCPU|Laptop has quit [Remote host closed the connection]
ZipCPU|Laptop has joined ##openfpga
ZipCPU|Laptop has quit [Ping timeout: 240 seconds]
rohitksingh has quit [Ping timeout: 264 seconds]
pie_ has joined ##openfpga
pie_ has quit [Ping timeout: 265 seconds]
pie_ has joined ##openfpga
freeemint has joined ##openfpga
pie_ has quit [Ping timeout: 276 seconds]
Asu has quit [Remote host closed the connection]
cr1901_modern1 has joined ##openfpga
cr1901_modern has quit [Ping timeout: 240 seconds]
pie_ has joined ##openfpga
pie_ has quit [Ping timeout: 245 seconds]
freeemint has quit [Ping timeout: 250 seconds]
freeemint has joined ##openfpga
specing has quit [Ping timeout: 276 seconds]
specing has joined ##openfpga
ym has quit [Read error: Connection reset by peer]
freeemint has quit [Ping timeout: 265 seconds]
m4ssi has joined ##openfpga
<hackerfoo>
Ah, I can still `or` the wires together, and that seems like it would be faster than muxing. Easier, at least.
<whitequark>
yes, it's actually faster
<whitequark>
misoc used that for its internal CSR bus
<whitequark>
instead of external address decoders and muxes on wishbone, csr bus used internal (inside the peripheral) address decoders and oring instead of muxes
freeemint has joined ##openfpga
ZipCPU|Laptop has joined ##openfpga
<hackerfoo>
whitequark: Thanks.
<hackerfoo>
This is a lot easier since each thing on the bus is already sequenced, so no need for request & ack lines, priority logic, and a big mux.
genii has joined ##openfpga
cr1901_modern has joined ##openfpga
cr1901_modern2 has joined ##openfpga
cr1901_modern1 has quit [Ping timeout: 245 seconds]
cr1901_modern has quit [Ping timeout: 240 seconds]
cr1901_modern2 has quit [Quit: Leaving.]
pie_ has joined ##openfpga
cr1901_modern has joined ##openfpga
emeb has joined ##openfpga
forksand has quit [Ping timeout: 268 seconds]
carl0s has joined ##openfpga
forksand has joined ##openfpga
wpwrak has quit [Quit: Leaving]
OmniMancer has quit [Quit: Leaving.]
emeb has quit [Read error: Connection reset by peer]
emeb1 has joined ##openfpga
emeb1 has quit [Read error: Connection reset by peer]
emeb has joined ##openfpga
m4ssi has quit [Remote host closed the connection]
ym has joined ##openfpga
GityUpNow has quit [Read error: Connection reset by peer]
GityUpNow has joined ##openfpga
Asu has joined ##openfpga
uovo has quit [Read error: Connection reset by peer]
uovo has joined ##openfpga
kristianpaul is now known as krispaul
krispaul is now known as kristianpaul
mumptai has joined ##openfpga
Jybz has joined ##openfpga
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Po-ta-to, boil em, mash em, stick em in a stew.]
ZipCPU|Laptop has quit [Ping timeout: 268 seconds]
ym has quit [Read error: Connection reset by peer]
dh73 has joined ##openfpga
rohitksingh has joined ##openfpga
Jybz has quit [Ping timeout: 240 seconds]
freeemint has quit [Quit: Leaving]
freeemint has joined ##openfpga
freemint has joined ##openfpga
emeb_mac has joined ##openfpga
Asu` has joined ##openfpga
Asu has quit [Ping timeout: 265 seconds]
mumptai has quit [Quit: Verlassend]
carl0s has quit [Remote host closed the connection]
<freemint>
Any opinions on EFINIX (an FPGA startup)?
<tpw_rules>
ooh it has quantum gates
<tpw_rules>
although it does appear you can actually buy them
<freemint>
Yeah they even have a cheapish board on crowd supply
<TD-Linux>
someone is working on yosys (but not nextpnr) support
<tpw_rules>
are they being forthcoming with bitstream formats?
<freemint>
their quantum gate technology boils down to "Our cells can be used as router and as LUT" i think
<TD-Linux>
I am not sure why you would use this over an ice40
<tpw_rules>
router? like they have more muxes than average?
<freemint>
router -> routing matrix (the interconnect)
Bike has joined ##openfpga
<freemint>
TD-Linux, I am not sure either but more companies at the low end are not bad for consumer.
<tpw_rules>
freemint: oh i thought that was integrated into the cells already. i guess not
<freemint>
Also they aim for higher performance once in the long run. A triopoly might be preferable to a duopoly. As for technical reasons: I have no idea of FPGA technology