ディー・クルー・テクノロジーズ Blog

bookmark_borderBGR(Band Gap Reference)(5)

前回はとトランジスタのオフセット電圧が引き起こす問題について紹介しました。

今日は、その対策について触れたいと思います。

オフセット電圧のためループが誤った動作点に収束し、BGR電圧が起動できなくなることを防止するためには、スタートアップ回路が必要になります。

図1

スタートアップ回路はBGR電圧(VBGR)を監視していて、電圧が低いと(つまり、起動できていないと)何らかの方法で、ループが誤った動作点に収束しないようにする回路です。

誤った収束点ではBGR電圧は0.5V程度の非常に低い値となります(前回BLOG参照)。ここに収束しないように強制的に電流を流してやり、オフセット電圧を打ち消せるだけの差電圧がVaとVbに発生するようにしてやります。

図 1ではM9とM10で構成するインバータがBGR電圧を監視していて、閾値(M9とM10のL/Wで調整しています)以下の時はインバータ出力電圧Vstが高くなり、M8に電流が流れます。この電流はPchのゲート電圧を下げ、M6の吐き出し電流を増やし、BGR基準部に流れる電流を増やします。

ここまでくれば、後は圧縮アンプが自動的に正しい収束点まで導いてくれます。

きちんとBGR電圧が起動できた後は、強制的に流していた電流は不要となるので、オフさせます。

図 1でM9とM10で構成するインバータの閾値よりBGR電圧が高くなると、インバータ出力電圧Vstが低くなり、M8に流れていた電流がオフします。

図2

スタートアップ回路に依って、前回のBLOGではBGR電圧が起動できなかった、-5mV、-4mV、-3mVもきちんと起動できるようになりました。

スタートアップ回路には、いくつかの別の方法があります。

BGR電圧を直接監視しないで基準部に流れる電流を監視するものや、強制的に電流を流すのではなく、電圧を強制的に動かすものなど色々あるのですが、

  • BGRの起動がきちんと監視できるか
  • 強制的に流す電流は十分か(圧縮アンプに負けないか)
  • 起動後はオフできているか

がスタートアップ回路設計上のポイントと思います。

BGRに関しては今回でひとまず終わりにしたいと思います。

bookmark_borderBGR (Band Gap Reference) (4)

今日はとトランジスタのオフセットが引き起こす問題について紹介したいと思います。

物を作るときには必ず製造上のバラツキが発生します。

(コピーすれば同じものが2つ出来ますが、これはデジタル化しているから同じといえるのであって、この世にまったく同じものはないと思っています)

バラツキは回路の特性を大きく変えますが、差動増幅器で特に気をつけないといけないのは入力段トランジスタに発生する“相対バラツキ”です。

図1

これらの製造上のバラツキは、“モンテカルロ解析”でシミュレーションすることが出来ますが、上の図のようにシミュレーション用に電圧源を追加することで簡易的に確認出来ます。

図 2はオフセット電圧をパラメータにして、電源をゆっくり起動したときの様子です。

図2

オフセット電圧が、-2mVより低いときはきちんとBGR電圧が起動できていません。

CMOSトランジスタのVthには5mV程度のオフセットが普通に発生しますので、このまま作ってしまうと半分近くのデバイスはBGR電圧が起動出来ずに不良となってしまいます。

オフセットがあるとなぜ起動できないかというと・・・

図3

BGRの基準部分にオフセットつけた回路だけのシミュレーションをしてみると分かります。

(オフセットはアンプの入力段のトランジスタに発生するのですが、等価的に基準部にオフセットが発生し、アンプは理想的に出来ているとしたほうが、わかり易いです)

図4

VBGRに電圧を加えたときに各部の特性は上の図の様になっていて、VaaとVbが等しくなる点で収束します。(VaaとVbが等しくなるようにアンプはVBGRを制御します)

VaaとVbの差電圧をプロットすると図 5の様になります。

図5

(オフセット電圧Vofを-5mVから+5mVまで1mV刻みの変化させた結果です)

期待している動作は、横軸が1.2V付近に収束する(差電圧=0となる)わけですが、0.5V付近にも差電圧=0となる収束点があります。Vofが正であれば誤った収束点は発生しないのですが、負の場合に発生します。

こちらに収束してしまうとBGRが起動できない事となってしまいます。

次回は、この誤った収束を起こさないようにするための対策(スタートアップ回路)を紹介したいと思います。

bookmark_borderシステムLSI(SoC) の直面するクライシス

3つの技術クライシス

システムLSI(SoC)に搭載するトランジスタの集積度を上げる(トランジスタを小さくし、たくさん並べる)ほどLSIの演算性能は上がるのですが、同時に「電力」「複雑さ」「配線」の3つの主要な技術的課題に直面します。各クライシスに対する原因、課題、対策について簡単にまとめました。

電力クライシス

電力クライシスとは消費電力と性能のバランスの問題です。システムLSIのトランジスタを集積して動作周波数を上げれば処理能力が上がりますが、同時に消費電力が増加し、バッテリーサイズ、リーク電流の発生、発熱に影響します。逆に動作周波数を落とせば処理能力は低下します。

LSIの微細化に伴って、特にドレインーソース間のリーク電流増加が大きな問題になっています。これに対してFin-FETGAA-FETのような近年の新しいトランジスタ技術はリーク電流減少に寄与します。さらに最近はDVS(Dynamic Voltage Scaling)やDVFS(Dynamic Voltage & Frequency Scaling)といった新しいパワーマネジメント手法を導入することで、動的に電力を管理し、さらに細かく消費電力を最適化することも始まっています。電力クライシスに対処するためには、このように回路、アーキテクチャー、システム、アルゴリズムの工夫が必要となります。

複雑さのクライシス

複雑さのクライシスとは、SoCのトランジスタ数が増加するにつれて、設計の複雑性が増大することです。例えばAppleの A17proは190憶トランジスタを使用し、3nm GAA-FETプロセスを採用しています。これは、100人✖1年の設計工数を必要とするほどの複雑さです。こうした設計の複雑性の増加は、設計時間の増加、コストの増大、およびエラーの可能性の増加を招きます。

複雑さのクライシスに対する対策としては、Cベース(高位合成)やIPベースの設計化です。これらを進めることで、設計プロセスを自動化し、設計効率を向上させることができます。また、ドメイン特化型プラットフォームの構築は、設計資産を効率的に再利用し、開発時間とコストを削減することができます。

配線クライシス

配線クライシスとは、システムLSIの論理回路ブロック同士をつなぐクリティカルパスによる信号遅延のことです。トランジスタの微細化がすすみ、今はシステムLSIの中で非常に多くの論理回路ブロックを置くことができるようになりました。しかし先に論理ブロックを並べてから配線する従来の「P&R(Place & Route)」の設計方法ですと、配線長がどんどん長くなりがちです。特にクリティカルパスが長くなることは致命的で、信号遅延による非効率な回路となってしまいます。

配線クライシスに対する対策として、クリティカルパスについてはP&R設計ではなく先に配線レイアウトを最適化する「R&P(Route & Place)」による設計が最も重要です。加えてSI(Signal Integrity)PI(Power Integrity)に起因するクロストークやIRドロップに対する対策も効果的です。さらに新しい技術としてチップ間の遅延時間を大幅に短縮する3次元積層化技術も有効な手段として期待しています。

最も重要なのは電力クライシス対策

LSIのトランジスタ微細化の大きな流れの中で、私は電力クライシス対策が最も重要なカギと考えていて、技術開発に取り組んでまいりました。そこでまずシステムLSIで私が省電力化に対して取り組んだことをご紹介し、次にこれから特に有望と考えうるアーキテクチャーとして、DVFS, DVS 等について順次ご紹介しようと思っています。

bookmark_borderスケーリング則/ムーアの法則

システムLSI(SoC: System on a Chip)は、約3年ごとに0.7倍のペースで微細化が進んでいます。この微細化のトレンドのことは、スケーリング則やムーアの法則、またはデナードの法則とも呼ばれています。

スケーリング則では0.7倍のスケールダウンにより単位面積あたりの集積密度が2倍になり、同一電圧で1.7倍高速化し、消費電力が半分になる性能向上が図られます。スケーリング則と素子構造および回路パラメータとの関係について、詳しくは下図を参照してください。

下図でKはスケーリング係数(<1)であり、約3年でx0.7 です。

図1スケーリング則(デナード則)

次は、LSI低電圧化の流れについて説明します。

bookmark_borderBGR (Band Gap Reference) (3)

BGR(2) からの続きです。今日はBGR(Band Gap Reference)をその周辺回路も含めて紹介します。図1にBGR回路の基準部とアンプ部を示します。

図1

基準部は前回のBLOGで使ったものと同じで、アンプ部はVaとVbが等しくなるようにVBGRを制御します。

BGRの基準部の電位V1,Vbが約0.8VでGNDに近いので、電流源のスペースを確保しやすいPchを入力段を使うことが多いです。

図2

Vgp端子からGNDにむけて10uAの電流源をつけて、温度を0,25,50,75℃とパラメータにして、電源VDDを起動して時の様子です。

電源が変わっても、Vbgrはほとんど動いていません。

温度が0~75℃変わっても1.18207-1.1815=0.00057Vの変動なので・・・6.4ppm!

ちょっとよく出来すぎました(汗)

図3

上の波形は、電源を0.1usecで起動したときのもので、丸印の所にリンギングが見えます。

このままでは発振してしまう可能性もありますので、アンプに位相補償用のコンデンサ(図 1のC0)を入れます。

図4

C0=2pFとした結果をが上の図になります。リンギングが解消されて安定して起動できていることがわかります。

BGR回路は負帰還回路なので、ループの安定度を確認しておく必要があります。

そのためにはClose LoopをOpenにして、一巡伝達特性を(ぞくにμβって言います)見る必要があるのですが、上のように電源起動の様子を見ることで簡易的にループが安定しているかを確認できます。

図5

上の図はAC解析の結果です。VDDを信号源にして電源が揺すられた時に、VBGRがどれだけ揺すられるかを見ています。100KHzくらいまでは-70dBなので・・・1/3000に電源のゆれを小さくできていますが、周波数が高くなると徐々に電源の影響が出てきて、100MEGHzでは1/10にしか電源のゆれを圧縮できていません。

BGR出力にどのような性能を求めるのか、電源VDDがどのようなゆれ方をするのかに依りますが、場合によってはVBGR出力にコンデンサを追加する場合もあります。

これでBGR回路の紹介は終わりです、と言いたい所ですが重要な説明が抜けていました。

それは、“オフセット電圧の影響“です。

次回は、トランジスタのオフセット引き起こすBGR回路の問題と、その対策について紹介したいと思います。

bookmark_borderBGR (Band Gap Reference) (2)

今日は引き続きBGR(Band Gap Reference)を紹介したいと思います。

図1 BGR

図1は前回のBGRの基本部分に抵抗R1,R2を追加したものです。VBGR電圧を変化させると、右のグラフのようにVa,Vbが動きます。前回はVa,Vbに電流源を印加しましたが、今回は簡易的に抵抗を使いました。

右のグラフのVaとVbが等しくなるようにVBGRを制御します。

図2

制御には電圧制御電流源G0を使います。(電圧源で制御も出来ますが、具体的な回路にするときにPchに置き換えやすいので)この回路をサブサーキットにして、1KΩ野抵抗入れて電源V0を起動したときに様子は次の様になります。

図3

電源VCCが変化してもVBGRは1.2V付近で安定しているのが分かると思います。また温度が変化してもVBGRは動いていない事もわかるかと思います。

次回は、電圧依存電流源を実際の回路に置き換えた場合とスタートアップ回路について紹介したいと思います。

bookmark_borderBGR(Band Gap Reference) (1)

今日は電源などに広く使われているBGR(Band Gap Reference)について今回は触れてみたいと思います。

Band Gapと言われても、Bandとは? 何と何のGap?などの疑問が出てきますが、その辺りの歴史は良く知りません。ただ、Referenceと言うことから”基準“であることに間違いはないです。

基準電圧を作るには電源電圧を使う(抵抗で分圧して欲しい電圧を作る)のが一番簡単なのですが、電源電圧が変化すると、基準電圧も変わってしまいます。

回路設計をしていると、コンパレータの閾値や電流源の電流値など、電源が変化しても変って欲しくない値が必要になってきます。

こういった値を回路の中で作るには基準となるものが必要で、BGRが良く使われます。

図1 BGR

BGRを作っているのは図 1にかいた2つのダイオードと抵抗です。

特徴的なのは、抵抗が付いている側のダイオードは並列なのですが、抵抗がないほうは1つです。

この回路のVa,Vbに同じ電流を流した時に、Va,Vbの電圧を見て見ると、次のようになります。

図2

ダイオードしか付いていないVa(緑の線)はあまり傾斜が無く比較的平らになります。(つまり、電流が流れてもあまり電圧は変化しません)。一方で抵抗が付いているVb(オレンジの線)は傾斜を持っています。(抵抗があるので、電流が増えれば電圧も増えます)。

このVaとVbの交わる点(縦の赤いカーソル)がBGR電圧を作り出しているのです。

つまり、この交点となる電流は温度と抵抗値のみで決まっていて、電源電圧とは全く無関係なのです。計算式を使って説明しないと納得できない方もいると思いますので、やってみます。ダイオードの順方向電圧Vfと順方向電流Ifの関係式は、

で表されて変形すると

 となります。図 1の回路に当てはめると、

注)右側のダイオードは並列にm個並んでいるので、一個当たりに流れる電流はIb/mと成ります。

このVaとVbが等しくなる点の電流を計算すると、

と成りますが、逆飽和電流:Isは通常1e-15などと非常に小さな値をとるので、Ia>>Is、Ib>>Isから

と近似できます。更にIa=Ib=Ifとすると、

を得ることが出来ます・・・VtとRbgrと定数しか残っていないです。

この式の凄い所は「電源電圧や電流がどこにも入っていない!」ことです。つまり、電流Ifは電源電圧や電源電流とは無関係に決まると言うことです。

この電流Ifに抵抗Rcを付けた時に発生する電圧Vcは、

と成って、電源電圧とは全く無関係で、抵抗比と定数Ln(m)とVt(つまり温度)に依存する電圧を作り出すことが出来ます。

更にVtに依存する部分、つまり温度をキャンセルできれば、温度、電源電圧、素子の絶対値バラツキとは全く無関係な電圧を作り出すことが出来ます。

次回は、VaとVbを一致させる回路を含めて、BGR回路全体を紹介したいと思います。

bookmark_border2024年度 お花見

去年に引き続いて新入社員・中途入社社員の歓迎を兼ね、4/5に会社の近くでお花見を開催しました!

当日は雨もぱらつきましたが、交代で場所取りをする我々の熱意に負けたのか、いつの間にか雨雲もどこかへ吹き飛んでしまったようです。

こうして満開の桜が私たちを出迎えてくれました。

花冷えで風邪ひかないようにと、社長が石油ストーブを持ってきてくださいました。米パーフェクション社のアンティークだそうで、暖炉のように揺らめく炎が見れるタイプ。日が暮れてからはランタン代わりにしたり、熱燗やカップラーメン作りにも大活躍!

段ボール箱の簡易テーブル?を囲んでお酒やおつまみをいただきながらの団欒は、心も体も温まりました。終盤にかけてエンジニア達のコミュニケーションはさらに加速白熱。日ごろの労をねぎらったり、技術論、家族のよもやま話等など、満開の桜の元、それぞれ会話の花を咲かせて楽しみました。

楽しい時間を分けていただいた桜、準備をしてくれた皆さま、参加者の皆様に感謝!

bookmark_borderシステムLSIの低消費電力化技術(6)  

昨今はチャージリサイクリングによる低消費電力化の研究が活発です。その1つを今日はお話します。

チャージリサイクリングでViを下げる

以前の記事で解説した数式を1つ思い出していただきたいのですが、CMOSLSIの消費電力の算出で、Pcは(1)「C・Vi・Ve・f」もしくは(2)「C・Ve2・f」で表されます、と申し上げました。このうちViを、「チャージリサイクリング」と呼ばれる低消費電力化を図る技術についてご紹介します。

チャージリサイクリング技術とは?


ブログをご覧の皆様には基本的レベルの事ですが、重要なのであえて申し上げますと、LSIの内部ノードは、演算動作に応じてVeと0の間を遷移します。内部ノードを、0→Veにする時は電源から所定のノードへ電荷を供給し、Ve→0にする時はノードの電荷をGNDへ引き抜いています。

演算動作中、演算を実施しているノードと、これから演算を開始するノードがLSI内で同時に存在します。すなわち“Ve”へ充電したいノードと“0”へ放電したいノードが混在する。ということが頻発します。この状態でノード毎に充放電すれば、当たり前ですが消費電力量は増えますね。

チャージリサイクリングとは、あるノードをVe→0にする時、その電荷をすべてGNDへ捨てるのはもったいないので、電荷の一部を0→Veにしたい別ノードへ渡して再利用する技術なのです。

なんとも賢い方法ですね。原理図を示します。

図16 チャージリサイクリング技術(原理図)

チャージリサイクリングのメカニズム


メカニズムを簡単に説明します。

ノード[A]、[B]を各々Ve→0、0→Veにする場合、t1のタイミングでS1をONさせ電荷分配によってノード[A]および[B]をVe/2にします。次いでt2のタイミングでS2(GND側スイッチ)、S3(電源側スイッチ)をONし、ノード[A]、[B]を各々目標のVe/2→0、Ve/2→Veにします。この過程において、ノード[A]の放電する電荷の1/2はノード[B]を充電するために再利用されている。このチャージリサイクリング技術によって、消費電力を1/2に低減する事ができるわけです。

チャージリサイクリング技術の強誘電体メモリ応用例

さらに、図17にこの技術を強誘電体メモリ(FeRAM)へと応用した事例を示します。従来強誘電体メモリは、セルプレート線に容量値の大きい強誘電体メモリセルが接続されており、その充放電時の消費電力が大きな問題でした。

図17 強誘電体メモリ(FeRAM)への応用事例

メモリアクセスによってセルプレート選択線CP1=“1”(選択)からCP2=“1”へ切り換えるとき、まず、電荷回収用容量線CP0とCP1をSW1によってONさせ、CP1とCP0とを電荷分配させる。この時、CP1の電荷の一部がCP0へと転送されます。次にCP0とCP2をSW2によってONさせると、CP0の電荷の一部がCP2へ転送されます。
すなわち、放電すべきCP1の電荷の一部が、スイッチドキャパシタ動作によってCP1→CP0→CP2のパスで、充電すべきCP2で再利用することができるのですね。この時 CPn/CP0値を最適化すれば、およそ50%近い電荷再利用効率を得る事ができた、という事例になります。

「容量の充放電」がポイント

ポイントは、CMOSLSIで使われる電力のほとんどが「容量の充放電」で費やされている事実です。ですから、チャージリサイクリングのような「容量の充放電」をコントロールする技術は低消費電力化において重要な技術です。言い換えるなら、LSI回路設計における低消費電力化とは「ある大きな容量のノードを放電する時、その電荷をどこか他のノードに利用できないか?」が本質といっても過言ではありません。(その解決策を考えるのがLSI技術者の面白いところでもありますね)

さて、システムLSIの低消費電力化技術についてはひとまず終え、次はDVFSについてご紹介できればと思います。

bookmark_borderシステムLSIの低消費電力化技術(5)

今日はアルゴリズムの工夫による低消費電力化についてです。

動画処理の世界では、動画をフレームで記録する際に、データ線の遷移確率を減らすデータ表現等が次々に発表されていきました。今日は私が以前映像録画機器で用いた事例として「符号付き絶対値表現」を用いた低消費電力化手法を紹介いたします。

ビデオ信号のフレーム差分データ処理

記録中の映像フレームで、絵の一部が動いたか、そうではないか、をLSIで検出処理する場合、現在のフレームと1フレーム前とのビデオ信号の差を判別する処理が必要となります。15図で示した通り、この時必要なフレーム差分データは、一般に大きな容量ノードであるバスラインあるいはチップ外へ出力されることが多いので、消費電力が大きくなりがちです。またビデオ信号はフレーム間の相関が大きく、差分処理の出力が、「少し大きい」あるいは「少し小さい」値となる場合が多いです。

デジタルデータで処理する場合、通常「2の補数」で表現します。図15にも示しましたが、1サンプルごとにMSBからLSBまで表現する場合、ほとんどのビットが赤数字で示したようにデータ遷移してしまいます。このビットのデータ遷移=電力消費の発生ですから、大きな電力消費をしていることになります。

図15 符号付き絶対値表現による低電力化

符号付き絶対値表現

これに対し図15の中央のように「符号付き絶対値表現」を用いますと、この仕組みでは専用の符号ビットを持たせていますので、符号ビット自身は頻繁にデータ遷移しますが、一方で絶対値データ値のビット(LSB近傍を除く)はほとんどデータ遷移しません。データ遷移がなければ電力消費しないので、「符号付き絶対値表現」を用いると、データバスやLSIチップ間配線の様な(消費電力が大きくなる)大容量ノードでのデータ遷移の確率を減らすので、十分な低消費電力化が見込めます。

この方法によって、世の中のビデオカメラの画像信号のフレーム間処理や、水平走査線間処理等の相関の大きな信号処理の低消費電力化に成功するなど、家庭録画機器の低消費電力化と性能アップに特に有効な手法となりました。

次はチャージリサイクリングによる低消費電力化について、ご紹介します。