본문 바로가기

공부하는 날

Xilinx IBUF IBUFG


User guide에 나오는 IO Buffer List


Spartan-6 FPGA SelectIO Primitives 

The Xilinx software library includes an extensive list of primitives to support a variety of I/O standards available in the Spartan-6 FPGA I/O primitives. The following are five generic primitive names representing most of the available single-ended I/O standards. 

• IBUF (input buffer) 

• IBUFG (clock input buffer) 

• OBUF (output buffer) 

• OBUFT (3-state output buffer) 

• IOBUF (input/output buffer) 


These seven generic primitive names represent most of the available differential I/O standards: 

• IBUFDS (input buffer) 

• IBUFGDS (clock input buffer) 

• IBUFDS_DIFF_OUT (input buffer with inverted output) 

• IBUFGDS_DIFF_OUT (clock input buffer with inverted output) 

• OBUFDS (output buffer)

• OBUFTDS (3-state output buffer) 

• IOBUFDS (input/output buffer)


그리고 아래는 IBUF와 IBUFG의 차이점에 대한 Forum


The difference between IBUF (IBUFDS) and IBUFG (IBUFGDS)

https://forums.xilinx.com/t5/General-Technical-Discussion/The-difference-between-IBUF-IBUFDS-and-IBUFG-IBUFGDS/td-p/310949



즉.

주로 CLK의 Skew 를 줄이기 위하여 Input buffer 를 사용.

External CLK을 Global clk pin에 mapping 했을 때 IBUFG (Diff clk일 경우 IBUFGDS)로 Skew 없이 Logic으로 Clk 전달.

CLK은 CLK 전용 Pin에 mapping 하는게 좋음. (권장사양)

그 외 signal 에 대해 Skew 발생 가능성이 있을 경우 IBUF 를 사용하길 권장함. (Diff signal 일 경우 IBUFDS)