|  | 
| User Guide 是這麼說的:+ \! c9 j( A) C4 @6 A$ G' ^ 4 x9 |! @; y7 w$ n  d  k7 a
 Appendix B. Using RGB and IR Pins as User IO
 & x0 }, w( {2 `( C/ T$ yTo use the RGB and IRLED pins as general io user must instantiate the SB_IO_OD primitive, see example below:1 G$ Y/ ]3 n3 o; L( N
 
 * _$ [8 \7 H- E7 ^8 B* Wmodule top(a,o1);  @; F2 {$ f0 O- q3 D) P' t
 input a;$ a0 k7 S, v- N8 y+ v: f
 output o1;
 Z4 _: n+ ?4 v- ?% R! _5 g+ G. ~wire o1i;
 4 U; }+ n; |0 ?& C+ W7 M/ a6 q* Y) @assign o1i = a;
 3 p0 {2 z6 N, T3 R' s; M6 ]# QSB_IO_OD OpenDrainInst0
 5 b) Z' ^' |, g, ~($ w- v) M( f! P
 .PACKAGEPIN (o1), // User’s Pin signal name: o: w& w- _; o) o% f
 .LATCHINPUTVALUE (), // Latches/holds the Input value  t9 X6 R0 C" ]) \; N
 .CLOCKENABLE (), // Clock Enable common to input and // output clock4 r1 i8 y* a+ k! u9 D) x% z: Q0 J. W( j
 .INPUTCLK (), // Clock for the input registers
 8 X$ E% g& z& q$ e6 c( {" \.OUTPUTCLK (), // Clock for the output registers
 - x- G! c" X8 G1 D9 j2 k.OUTPUTENABLE (), // Output Pin Tristate/Enable // control5 l5 n: S- A4 ]" u% r; Q
 .DOUT0 (o1i), // Data 0 – out to Pin/Rising clk" z! Y! n# @3 m& d% m. i! A. T# \
 // edge) x0 X$ `# m; ?
 .DOUT1 (), // Data 1 - out to Pin/Falling clk // edge
 / I2 E( `# ?& T  T/ i! U.DIN0 (), // Data 0 - Pin input/Rising clk) ?5 p, e! B3 s/ j
 // edge
 7 n# R5 c; X$ S) f! Z.DIN1 () // Data 1 – Pin input/Falling clk // edge1 E8 d5 v3 K& V
 );
 8 `0 h. O  W; l- \1 u) ydefparam OpenDrainInst0.PIN_TYPE = 6'b011001;
 ; L1 r& @% _1 p9 @defparam OpenDrainInst0.NEG_TRIGGER = 1'b0;
 . N' X$ S& p# W! f6 Aendmodule
 % n% L& ]" ~6 T/ l) _
 : g+ b# M% u( _0 P, e* d/ h
  9 t9 {* J$ Q" x! c
 8 V+ b" d. r( x1 o# e
 | 
 |