不使用IOピンの処置

[] [] []


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

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

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

/* 不使用input */

module top

(...

,input unused_input

,output dummy

);

assign dummy = unused_input & ...;

◇◇

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

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

/* 不使用output */

assign unused_output= 1'b0;

assign unused_output= 1'b1;

// =zと書くと出力がディセーブルなtri-stateバッファにマッピングされる

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

assign unused_output= 1'bz;


[] [] []