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!

Reply

does BUFT exist in 7 series / Zynq devices

Accepted Solution Solved
Scholar
Posts: 721
Registered: ‎10-10-2014
Accepted Solution

does BUFT exist in 7 series / Zynq devices

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?


Accepted Solutions
Highlighted
Teacher
Posts: 4,853
Registered: ‎03-31-2012

Re: does BUFT exist in 7 series / Zynq devices

@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.

View solution in original post


All Replies
Xilinx Employee
Posts: 761
Registered: ‎11-09-2015

Re: does BUFT exist in 7 series / Zynq devices

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

--------------------------------------------------------------------------------------------
Please mark an answer "Accept as solution" if a post has the solution to your issue.

--------------------------------------------------------------------------------------------
Highlighted
Teacher
Posts: 4,853
Registered: ‎03-31-2012

Re: does BUFT exist in 7 series / Zynq devices

@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
Posts: 721
Registered: ‎10-10-2014

Re: does BUFT exist in 7 series / Zynq devices

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 ?

 

 

Teacher
Posts: 4,853
Registered: ‎03-31-2012

Re: does BUFT exist in 7 series / Zynq devices

@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
Posts: 721
Registered: ‎10-10-2014

Re: does BUFT exist in 7 series / Zynq devices

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?

Teacher
Posts: 4,853
Registered: ‎03-31-2012

Re: does BUFT exist in 7 series / Zynq devices

@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.
Scholar
Posts: 721
Registered: ‎10-10-2014

Re: does BUFT exist in 7 series / Zynq devices

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!