From: Hunter on 3 Mar 2010 11:36 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
From: maxascent on 3 Mar 2010 12:01 The IO port goes out of the FPGA. The I port is an input port so it just has whatever value is on the IO port irrespective of signal T. The O port is what you drive to send data out of the FPGA on the IO port. The T signal needs to be low for your data to propagate out. Jon --------------------------------------- Posted through http://www.FPGARelated.com
From: Ed McGettigan on 3 Mar 2010 15:03 On Mar 3, 8:36 am, Hunter <igal.hun...(a)gmail.com> wrote: > 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 This is pretty basic information so I'm a bit surprised that the information isn't clear in the documentation. Which "user's manual" were you reading? Ed McGettigan -- Xilinx Inc.
|
Pages: 1 Prev: Laptop for FPGA design? Next: Embedded Industry Expert Opinions Needed |