Hi, Need help (VHDL code), please, for using tri-state bus (buffer) instead of normal mux to realize a multiplexer of 16:1 (each of 16 vectors is 4 bits large). This alow you to save on CLB. Question : is it good from timing point of view to use these tri state bus(buffer)???? Any help is very appreciated.
y=d0 when sel="00" else (others=>'Z'); y=d1 when sel="01" else (others=>'Z'); y=d2 when sel="10" else (others=>'Z'); y=d3 when sel="11" else (others=>'Z');
It can save timing, but only if the TBUFs are hand placed. In VirtexII, I think a carefully placed mux design will outperform the TBUFs, at least or reasonably sized muxes. Besides, the spacing of the TBUFs is not sufficient to connect up arithmetic that uses the carry chain.
Oleg wrote:
--
--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc.
TBUFs are (were?) nice for the job where you had a batch of registers and a microcoded machine to read them onto a shared bus and load them from the bus.
Is there some obvious pattern to build a mux-equivalent that works well for reading one of 5 or 10 registers?
I'm thinking of something like a column would have an equivalent of the TBUF enable signal. Each bit slice would pass through the chain from the left and switch in its data bit if the TBUF was enabled. That switch could be an OR or MUX, whatever is easiest to implement. (It could even be an AND if you turn things upside down.) When you get to the end of the chain, you have the bus, and you turn it around and send it back to all the places that need to read it.
The obvious way uses 3 inputs on a LUT to make a 1 bit MUX. It seems as though there should be something better than using a whole column just to emulate a TBUF reading the adjacent register.
--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.