PLDの内部回路は,ユーザーが設計したロジック機能に合わせて自由に接続できるように作られています.そのためには,ロジック機能を実現する論理素子だけでなく,接続情報の記憶素子や接続のためのスイッチ素子,汎用の配線資源が必要です.したがって,ユーザープログラマブルという利点を得た代わりに,セミカスタムICに比べると論理素子の集積度が低く,配線遅延によって動作速度も遅くなりがちです. とくに,ごく小規模な論理セルを用いるFPGAの場合,プログラマブルな部分がチップ上に分散しています.そのため,記憶素子や配線資源を効率よく配置する構造の工夫が必要です.PLDメーカーは,これらの問題を解決し,集積度や動作速度を向上させるためにさまざまなアーキテクチャを開発してきました. PLDの構造を特徴づけるおもなポイントは,記憶素子の種類と論理素子の構造です.記憶素子ではSRAM,フラッシュメモリ,EEPROM,EPROM/OTPROM,アンチヒューズなどが用いられています. また,記憶素子の違いにより,揮発性(電源オフ時に内容が消える)か不揮発性(電源オフ時でも内容が保存される)かの違いや,書き換え不能(1回だけ書き込み可)か書き換え可能(消去/再書き込み可)か,などのデバイスの使い勝手が決まります. 論理素子では,LUT(LookUp Table)型とプロダクトターム(積項)型の二つの構造が代表的です.LUTはFPGAの代表的な構造であり,プロダクトタームはSPLDやCPLDの代表的な構造です.PLDは基本的には任意のロジック機能を実現できますが,論理素子の構造によって,どのようなロジック機能に向いているかが変わってきます. また,論理素子の構造と記憶素子には相性があり,LUTはSRAMと組み合わされることが多いのに対し,プロダクトタームはEPROMやEEPROMと組み合わされるのが一般的です. おもなFPGA/CPLD製品を,記憶素子と論理素子で分類したものを表1に示します
● LUTベースのSRAM FPGA ●構造 1985年に,FPGAを最初に製品化したのはXilinx社です.FPGAの特徴は,ゲートアレイと同様に多数の基本論理セルを自由に接続してロジック機能を構築できることです. ただし,ゲートアレイではトランジスタレベルで自由に接続できる細かい(fine)論理セルを使っていましたが,集積度や動作速度を改善するためにXilinx社ではもう少し粗い(coarse)論理セルを採用しました.具体的には,組み合わせ論理を実現するためのLUTと順序論理を実現するためのレジスタを組み合わせて論理セルとしました.同社では,この論理セルをCLB(Configurable Logic Block)と呼んでいます(図2).
LUTは,入力の組み合わせによってあらかじめ決められた出力値が出てくる一種のメモリで,さまざまな組み合わせ論理を実現できます.CLB内部をプログラムすることによって,AND,NAND,OR,NOR,ExORやそれらの複合論理,1入力のFFまたはラッチ,およびそれらの組み合わせとしてCLBを定義できます.さらに,各CLBは格子状の高速配線層に接続されており,CLB間の接続をプログラムすることによって,さまざまなロジック機能を実現できます. LUTはSRAMと構造が似ており,論理素子(CLB)と記憶素子(SRAM)をチップ上に効率よく集積できることから,デバイスの高集積化,高速化に適した構造の一つといわれています.また,LUTやSRAMを汎用メモリとして利用する技術が登場し,システム指向のRAM搭載デバイスにも適した構造となっています. 以降の内容は本誌を参照ください
11月号特集トップページへ戻る Copyright 2001 宮崎 仁 |