https://open-source-silicon.dev logo
m

Matthew Guthaus

10/12/2021, 12:50 PM
It's not good practice to use tristate in standard cell because skew between the enables can result in short circuit power and even timing issues that STA won't detect. It's better to add a mux.
m

Matt Venn

10/12/2021, 12:52 PM
I talked to quite a few people about tristates before using them for my multi project tools. I hadn't heard these issues before.
I was told that mostly tristates are not used on buses any more because of performance issues - for example not able to buffer the signals for added drive strength
k

Krzysztof Herman

10/12/2021, 1:04 PM
ok, thank You for the replies. I was trying to use the tri-states because I have 32 macros and in fact each output is 16 bit width, the multiplexer will consume much more resources however seems to be the only way to proceed.
m

Matthew Guthaus

10/12/2021, 1:18 PM
@Matt Venn that's another one I hadn't thought of
m

Matt Liberty

10/19/2021, 1:54 PM
The one current use I know if for fpgas where the tristate enable is part of the fpga configuration and doesn't change during operation (thus no timing issues). You can buffer in that case by using a pair of oppositely-directed one-hot tristates controlled by the same configuration signal.
k

Krzysztof Herman

10/19/2021, 1:56 PM
@Matt Liberty thank You, finally I have implemented it using multiplexer, no issue on that.