UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Scholar ronnywebers
Scholar

does BUFT exist in 7 series / Zynq devices

Jump to solution

I'm reading through UG901, v2016.4

 

On page 70 there is a description of a BUFT and OBUFT primitive. I tried to find these in UG953 (7-series libraries guide), but I found no description. I'm using a Zynq device (Artix 7 based), does it have the BUFT and OBUFT primitives?

 

If BUFT exists, can I use it for example for this : I have a soft core processor with several peripherals, implemented in different HDL modules. Can these modules drive a common 'peripheral data bus' depending on wether they are addressed or not. Non-addressed modules put their data in 'tri-state', so they don't interfere with other modules sitting parallel on the data bus?

 

(I think to understand that BUFT is later on converted to logic in LUTs as UG901 describes, but 'coding wise' you can design apparently design an internal (emulated) tri-state bus?

** kudo if the answer was helpfull. Accept as solution if your question is answered **
0 Kudos
1 Solution

Accepted Solutions
Teacher muzaffer
Teacher

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

@ronnywebers there are no internal tri-state components in any recent Xilinx FPGAs. Even when they existed, it wasn't a good idea to use them inside the chips. It is relatively easy to convert a tri-state bus into a single point mux with one hot selects (ie use the tri-state enables as a mux select as only one device should be enabled on to the tri-state bus, identically only one of the devices should be selected at the output of the mux too). However converting the 1-hot enables into an encoded select signal potentially saves quite a bit of logic both in terms of communicating this to the single mux point and also for the logic of the mux.

Of course OBUFT is still available.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
7 Replies
Moderator
Moderator

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

Hi @ronnywebers,

 

No, there is no BUFT primitives in Vivado. cf UG911 p105 (link):

buft2.JPG

There is only OBUFT cf UG768 (link)

obuft.JPG#

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Teacher muzaffer
Teacher

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

@ronnywebers there are no internal tri-state components in any recent Xilinx FPGAs. Even when they existed, it wasn't a good idea to use them inside the chips. It is relatively easy to convert a tri-state bus into a single point mux with one hot selects (ie use the tri-state enables as a mux select as only one device should be enabled on to the tri-state bus, identically only one of the devices should be selected at the output of the mux too). However converting the 1-hot enables into an encoded select signal potentially saves quite a bit of logic both in terms of communicating this to the single mux point and also for the logic of the mux.

Of course OBUFT is still available.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Scholar ronnywebers
Scholar

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

thanks @muzaffer, I'm a bit confused with your explanation of the 'single point mux with one-hot selects', you mean a mux like this ? 

 

classic mux.png

so the databus of the 8 devices go into I0 .. I7, and output bus is F ? But the mux select signal here that 'routes' the bus is a 3-bit vector, and I think to understand you mean this is an 8-bit vector, one-hot encoded ?

 

 

** kudo if the answer was helpfull. Accept as solution if your question is answered **
0 Kudos
Teacher muzaffer
Teacher

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

@ronnywebers yes a mux like that but with one-hot selects instead of encoded. The reason for the one-hot select is the enable of the tri-state outputs. There are N enables for N devices on the bus and only one of them drives the bus. This scheme allows an easy translation of a tri-state bus to muxed bus

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Scholar ronnywebers
Scholar

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

thanks @muzaffer for clarifying that - so I asume the N enable signals are generated by an address decoder which generates an one-hot enable signal for each address range? why can't this be done using i.e. a 3-bit value for 3-to-8 mux? Because the 8 enable signals go to each peripheral?

** kudo if the answer was helpfull. Accept as solution if your question is answered **
0 Kudos
Teacher muzaffer
Teacher

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

@ronnywebers I think I wasn't clear. I assumed there is already a tri-state bus. This would require that all devices have their own enables so the one-hot selects are already there. Of course if the encoded slave select is already there, it can be used as is to control the mux.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Highlighted
Scholar ronnywebers
Scholar

Re: does BUFT exist in 7 series / Zynq devices

Jump to solution

thanks @muzaffer, now I got what you meant :-) I was indeed thinking about an internal bus in the FPGA, not external. But it's clear, thanks!

 

** kudo if the answer was helpfull. Accept as solution if your question is answered **
0 Kudos