不使用IOピンの処置

[] [] []


FPGAでは、RTLに記述されない不使用IOピンは(コンパイルオプションによって)弱いプルアップ付きのHiZ状態にマッピングされるので問題ないが、将来使用するためにIOピンを制約ファイルにもRTLにも記述してあるものの、RTLで内部につながってないIOピンは、そのままにしておくとまずい。

RTL記述の不使用inputは、そのままにしておいても、QuartusISEではRTLから削除されずにピンリストには残り、デバイス上は通常の不使用IOピンと同様にHiZになるようだが、ツールの仕様はいつ変わるかもしれないので、明示的に記述しておいた方がよい。

1) RTL記述の不使用inputはダミーのoutputへつないでおく

/* 不使用input */

module top

(...

,input unused_input

,output dummy

);

assign dummy = unused_input & ...;

 

◇◇

RTL記述の不使用outputは、そのままにしておくとツールで勝手に処置される(SynplifyではHiZ, QuartusではLow, ISEではbitgenERRORになった)ようである。こちらも明示的に記述しておいた方がよい。

2) RTL記述の不使用outputLowHighHiZ(week-pullup)に固定しておく

/* 不使用output */

assign unused_output= 1'b0;

assign unused_output= 1'b1;

assign unused_output= 1'bz;  // 出力がディセーブルなtri-stateバッファにマッピングされる

               // FPGA内は双方向バッファになっているのでweek-pullupも付けておく


[] [] []