ボルテージアイランドとレベルコンバータ

図1.43に示すIntelのXeon 5600シリーズプロセサのように、最近のマルチコアプロセサでは、各プロセサコアはそれぞれに電源スイッチが設けられパワーゲートができるようになっていたり、コア部分と3次キャッシュなどのアンコア(あるいはノンコア)部分では電源が別に供給できるようになっていたりするものが出てきている。また、DRAMコントローラをプロセサチップに内蔵するプロセサが一般的になっているが、DRAMインタフェースの電圧はDRAMの規格で決まっているため、プロセサコアやアンコアとは別の電源系を持っている。

図1.43 Intel Xeon 5600シリーズプロセサの主要電源系統

このように独立した電源系の部分をボルテージアイランド、あるいはボルテージドメインと呼ぶ。ボルテージアイランドごとにそれぞれ最適な電圧を供給したり、あるいは使用していないコアの電源を切ったりすることにより、より電力消費を抑えて効率的にプロセサを動作させることができるのであるが、図1.43で赤線で示したボルテージアイランド間を接続する信号には注意が必要である。

図1.44に示すように、電源電圧がVdd1とVdd2と異なる電圧のボルテージアイランド間の信号を単純に接続してしまうと問題がある。送り側のアイランドの電源電圧がVdd1の場合、 High出力の信号電圧はVdd1となる。しかし、受け側のアイランドの電源電圧がVdd2である場合は、p2トランジスタのソースの電圧はVdd2であるので、このp2トランジスタのゲート-ソース間にはVdd1-Vdd2の電圧がかかることになる。

図1.44 ボルテージアイランド間を単純に接続した場合

ここでVdd2+Vt(ただし、Vtは負で-0.2V程度)よりもVdd1の電圧が低い場合は、p2トランジスタはオフにならない。入力がHighなので、当然、n2トランジスタはオンであり、p2がオンしてしまうと電源電流が流れて電力を消費する。また、Vdd2がVdd1よりもかなり高い電圧の場合は、p2トランジスタが強くオンしてしまい、出力Xが十分にLowにならないという動作不良を引き起こす可能性もある。

また、Vdd1がVdd2+Vtよりも高い場合でも、p2のゲート-ソース間の電圧が負の場合にはリーク電流が増えてしまうので、やはり、無駄な電力を消費してしまう。

このような問題を無くすため、ボルテージアイランド間を接続する場合には、レベルシフタという回路を用いてHighレベルを受け側のアイランドの電源電圧と一致させる。

図1.45 レベルシフタを使った接続

図1.45の中央部分がレベルシフタ回路で、2個のPMOS、2個のNMOSと1個のインバータからなっている。Vdd1アイランドからの信号は、インバータの入力に接続されているが、このインバータは送信側の電源と同じVdd1で動作しており、入力がHighの場合は、PMOSトランジスタは通常の動作と同様にオフする。

入力電圧がVdd1の場合は、レベルシフタのn3トランジスタはオンし、n4トランジスタのゲート電位は、入力がインバータで反転されて0Vになるので、オフとなる。n3がオンするとそのドレイン、ひいてはp4のゲート電位が0Vとなりp4がオンする。そうするとp4のドレイン電位はVdd2となり、p3のゲート電位はVdd2となる。この時、p3のソースはVdd2であり、ゲートもVdd2であるのでp3はオフとなる。ということで、p3は通常のゲート-ソース電位が0Vの場合のリーク電流となる。また、次の段のインバータへの入力電位はVdd2となるので、p2もゲート-ソース電位は0Vとなり、大きなリーク電流は発生しない。

また、レベルシフタへの入力がLow(0V)の場合は、n3、p3のペアとn4、p4のペアのオン、オフが逆になり、p4のゲート-ソース電位は0V、次段のインバータへの入力は0Vとなり、同様に、大きなリーク電流は流れない。

一方、パワーゲートで送端側の電源を切った場合は、電源側にスイッチを入れた構成では、最終的にはすべての信号は0Vとなり、AMDのLlanoのようにグランド側にスイッチを入れた場合はVddになるはずであるが、電源とグランドの間には大容量のデカップリングキャパシタがあり、切断された電源線やグランド線の電位が逆側の電位になるには通常の論理回路のスイッチ時間に比べると膨大に長いμ秒オーダーの時間が掛かる。そして、電源を切られたアイランドからの出力は中間電位を通ってゆっくりと変化していく。こうなると受け側のゲートでP、N両方のトランジスタがオンしてショートサーキット電流が流れて無駄な電力を消費してしまう。

このような場合は、図1.46のように2入力NAND回路で電源を切断する回路からの信号を受ける構成とし、他方の入力を電源制御信号(1で電源オン、0で電源オフ)としてやれば良い。

図1.46 2入力NANDゲートで中間電位入力の影響をカット

このようにすれば、中間電位がトランジスタn1のゲートに入力されても、電源制御信号が入力されているn2がオフなので、直流電流は流れない。また、出力Xもp2がオンしているのでHighに保たれ、後段の論理回路にも中間電位の入力の影響は及ばない。