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.