I am trying to implement shared bus in my fpga design. I am thinking about something similar to the microcontroller bus.

I see two possibilies:enter image description here

Second option is easier to implement but if bus is wide it will be more resources used. Something which is in my opinion optimal for my requirements is proposed in "Option 1". This approach requires three state buffers. Do you think it is achievable on FPGA ? Does anybody have some examples of code for design like this ??

Best regards, Kamil


As FPGAs* do NOT support on-chip tri-state drivers you can not implement option-1 on them.

You should go for the MUX version.

*At least I don't know any FPGA of reasonable size which still has them.

  • 2
    \$\begingroup\$ "There hasn't been internal tri-state buffers in an FPGA since Xilinx 4000". Xilinx had the ability to emulate a tristate bus using multiplexers (Virtex-E et.al.). See U.S. Patent 5,677,638 High speed tristate bus with multiplexers for selecting bus driver (status just updated to expired, the idea may become more widespread). \$\endgroup\$ – user8352 Jan 17 '20 at 19:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.