差動IOバッファのインスタンシエート

[] [] []


FPGAIOバッファはLVDSなどの差動信号も使える。RTL記述上は1つの信号のままにしておいても、ピンアサインのときに自動的にP,N2個のピンにアサインされるようであるが、RTL記述の入出力ポートと実際のピン名を11にするには、差動IOバッファをインスタンシエートする

module

  (input din_p

  ,input din_n

  ,output dout_p

  ,output dout_n

  ...);

/* Xilinxの差動IOバッファ */

IBUFDS ibufds_din(.O(din),.I(din_p),.IB(din_n));

OBUFDS obufds_dout(.O(dout_p),.OB(dout_n),.I(dout));

多ビットの場合はビット数分だけインスタンシエートしなければならないので、generate文を使うとよい。

genvar i;

generate for(i=0; i<=7; i=i+1) begin: diff_din

    IBUFDS ibufds_din(.O(din[i]),.I(din_p[i]),.IB(din_n[i]));

end endgenerate


[] [] []