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: 
Visitor igaly
Visitor
9,692 Views
Registered: ‎03-03-2010

IOBUF operaion - newbie Q

Hi All,

I got this newbie Q I hope to get answer for.

I'm looking at some example code sent to me by outside contractor, the code makes use of inout ports of the FPGA:

-- begin quote
IOBUF1 : IOBUF16
    port map(DIN => PCI_data(31 downto 16) , DIO => SABD(15 downto 0),  DOUT=> SABD_i(15 downto 0), T => PCI_en);
-- end quote

this iobuf16 is actually an array of 16 IOBUF units, each responsible for an appropriate bit.
for example:
-- begin quote
OBUFT0: IOBUF    port map (O => DOUT(0),  IO => DIO(0), I => DIN(0), T => T);
-- end quote

Now, I'm not clear on the operation of this IOBUF
1. The users manual for IOBUF says when T = "1" the IO is in HighZ state, but what happens to O port? is the signal on I port propagated to O?
2. Also, the user's manual does not specify what happens when T = "0" i.e. is the IO propagated to O port? Is the I port propagated to IO? or maybe the I and IO ports compete for "who's driving the O port stronger"?

Again, sorry for the newbie Q, but the user's manual isn't too clear on this

 

Regards.

I.

0 Kudos
4 Replies
Scholar austin
Scholar
9,686 Views
Registered: ‎02-27-2008

Re: IOBUF operaion - newbie Q

i,

 

Read the article on page 24 in this month's Xcell magazine,

 

http://www.xilinx.com/publications/archives/xcell/Xcell70.pdf

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Visitor igaly
Visitor
9,671 Views
Registered: ‎03-03-2010

Re: IOBUF operaion - newbie Q

Thank you very much.

Very interesting article!

That's exactly the way the IOBUF primitive is used in the code I see.

 

Unfortunately it didn't help me understand "who's driving who" for T="0" in IOBUF

Could you please clarify on this one?

Thanks

0 Kudos
Scholar austin
Scholar
9,668 Views
Registered: ‎02-27-2008

Re: IOBUF operaion - newbie Q

i,

 

Are you the master of the bus?  If so, then you decide when to drive T.

 

If you are not the master, some one else is.  They will supply you with the T signal to tell you when it is your turn to talk, or to listen.

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
9,654 Views
Registered: ‎01-03-2008

Re: IOBUF operaion - newbie Q

An IOBUF is combination of an OBUFT (tri-state output buffer) and an IBUF (input buffer).  The external output of the OBUFT and the external input of the IBUF are physically the same external pin of the device and is labeled as IO on the primitive. 

 

When the T (tri-state) pin is high the output buffer is placed into a tri-state or Hi-Z mode and the state of the external net connected to the IO pin is present on the O pin (from the IBUF).  The state of the I pin (of the OBUFT) is a don't care as the output buffer is not active.

 

When the T (tri-state) pin is low the output buffer is actively driven and the IO pin is driven with the state of the I pin (of the OBUFT).  The O pin (from the IBUF) is also the same value as this is the state of the external net.

 

If another device is actively driving the external net connected to the IO pin at the same time that the internal logic is driving the IO pin then the net is in a contention state and the value is unknown. 

 

------Have you tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com