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)
즉.
주로 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)