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