could anyone please explain me the difference between the buffers IBUF OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA.
different I/O buffers available inXilinx FPGA
Started by ●April 15, 2005
Summary
This discussion clarifies the purpose and usage of various Xilinx FPGA I/O buffers, including IBUF, OBUF, BUFG, and BUFGP.
This discussion clarifies the purpose and usage of various Xilinx FPGA I/O buffers, including IBUF, OBUF, BUFG, and BUFGP. While some contributors initially directed the user to the Xilinx Libraries Guide, a detailed community response provided specific use cases for each primitive.
The thread concludes that while modern ISE tools can automate much of this buffering, manual instantiation is often necessary for tri-state logic or specific clock-skew management using DCMs and global nets.
- IBUF and OBUF handle standard signal conversion between physical pins and internal FPGA logic.
- IBUFG and BUFGP are specialized for clock distribution and connecting to DCMs to minimize input-to-chip skew.
- BUFG is used to distribute signals across internal global nets to ensure low-skew clocking and resets.
- BUFT is the specific primitive required for implementing tri-state logic buffers.
- Older primitives like BUFGDLL were identified as specific to legacy architectures like Spartan-II and Virtex-E.
Xilinx ISEFPGA ArchitectureI/O Buffering
Reply by ●April 15, 20052005-04-15
"vlsi_learner" <bajajk@gmail.com> schrieb im Newsbeitrag news:1113563692.919736.183860@f14g2000cwb.googlegroups.com...> could anyone please explain me the difference between the buffers IBUF > OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA. >RTFM antti
Reply by ●April 15, 20052005-04-15
vlsi_learner wrote:> could anyone please explain me the difference between the buffersIBUF> OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA.Just have a look at <Xilinx-Install-Dir>\doc\usenglish\books\docs\lib\lib.pdf Jochen
Reply by ●April 15, 20052005-04-15
Jochen wrote:> vlsi_learner wrote: > >>could anyone please explain me the difference between the buffers > > IBUF > >>OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA. > > > Just have a look at > <Xilinx-Install-Dir>\doc\usenglish\books\docs\lib\lib.pdf > > Jochen >or... http://toolbox.xilinx.com/docsan/xilinx6/books/docs/lib/lib.pdf EG
Reply by ●April 15, 20052005-04-15
Engineering Guy wrote:> or... > http://toolbox.xilinx.com/docsan/xilinx6/books/docs/lib/lib.pdfI like this one best: http://toolbox.xilinx.com/docsan/xilinx5/data/docs/lib/lib0027_11.html or this for Virtex-4: http://toolbox.xilinx.com/docsan/xilinx6/books/data/docs/v4lsc/v4lsc0013_4.html cu, Sean
Reply by ●April 15, 20052005-04-15
Reply by ●April 15, 20052005-04-15
Hi Antti Lukats,> "vlsi_learner" <bajajk@gmail.com> schrieb im Newsbeitrag > news:1113563692.919736.183860@f14g2000cwb.googlegroups.com... >> could anyone please explain me the difference between the buffers IBUF >> OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA. >> > RTFMAre you having a bad day? Ben
Reply by ●April 15, 20052005-04-15
As others have pointed out, the manual does explain them. However, maybe more of what you are looking for is when to use them. This is all off the top of my head. My apologies for any minor inaccuracies. IBUF is the normal input buffer that connects an IOB from an input pin to the internal FPGA logic. IBUFG is the global input buffer. It is for the same purpose as IBUF except one uses it where one is connecting to a DCM or a BUFGMUX. This minimizes the skew of signals coming from off chip. For example, if your crystal is used by the FPGA and other devices on the board one would want the clock inside the FPGA to be as close to the clock outside the FPGA so that in the end your outputs of the FPGA are as close to the same clock edge as possible. If one is using clock feedback from the board IBUFG should also be used. OBUF is the opposite of the IBUF, connecting internal logic to an IOB for output. BUFG is one use of a BUFGMUX (see the appropriate FPGA user guide) and is used to distribute a signal inside the FPGA using the global nets to minimize skew inside the FPGA. BUFGs are generally used for clocks, resets, and signals where minimal skew is very important. If one is using a DCM and the output goes to more than one location, one probably should use a BUFG. BUFGP is a IBUFG followed by a BUFG. A BUFGP is used when one wants to distribute a signal across the FPGA with minimal skew and one is not using a DCM to do it. BUFGDLL is an IBUFG driving a CLKDLL. The CLKDLL is the primitives in Spartan II, Spartan IIe, Virtex, and Virtex-e prior to the DCM. BUFT is a tri-state buffer. This is used when one needs to implement tri-state. There are other buffers too, like IOBUF for bi-directional and xBUFDS for differential. If you let them, the ISE tools will take care of a lot of this buffering for you. Some thing like tri-state need to be taken care of by the user. EDK takes care of its own buffers if it is a top-level design and otherwise provides a stub to the user. This post is my own opinion, and not an official Xilinx post. Reverse domain and remove the NOSPAM from e-mail address to respond by e-mail. vlsi_learner wrote:> could anyone please explain me the difference between the buffers IBUF > OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA.
Reply by ●April 15, 20052005-04-15
"Ben Twijnstra" <btwijnstra@gmail.com> schrieb im Newsbeitrag news:erT7e.63478$Sc7.10321@amsnews05.chello.com...> Hi Antti Lukats, > > > "vlsi_learner" <bajajk@gmail.com> schrieb im Newsbeitrag > > news:1113563692.919736.183860@f14g2000cwb.googlegroups.com... > >> could anyone please explain me the difference between the buffers IBUF > >> OBUF BUFGP BUFGDLL BUFT etc available in XILINX FPGA. > >> > > RTFM > > Are you having a bad day? > > BenYES. I wanted actually to appologizy to the OP, as my comment wasnt justified. Sorry. Antti PS Ben, I will reply to you separatly.
Reply by ●May 3, 20052005-05-03






