BeDesignFPGA、組込システムハードウェア全般の受託開発

BeDesign

私が社会人になった当時、プログラマブル・ロジックと言えばPLD(Programmable Logic Device)でした。ベンダや内部構造、プロセス等により、PAL(Programmable Arrey Logic)、PLA(Programmable Logic Array)、GAL(Generic Logic Array)、PEEL(Programmable Electrically Erasable Logic)などと呼ばれていました。
組み合わせ回路の論理は、積項の論理和で一般化されます。2入力Exclusive ORなら、
Q = (A and not B) or (not A and B)
のように、二つの積項の論理和になります。

8から20数入力の論理積を、やはり4から20程の論理和にプログラムするデバイスがPLDです。出力にD-FFを持つ品種もありました。確か一品種だけですが、JK-FFを持つ品種も存在しました。通常FFのクロックは全出力共通ですが、出力毎に異なるクロックをプログラムできるものが、数品種だけ存在していました。
最もシンプルなものが、20pinパッケージでVcc、GNDを除く18pinのうち、出力専用が2pin、入力専用が10pin、入出力またはフィードバックに使えるのが8pinという構成の16L8です。出力にD-FFが付いたものが16R8、各D-FFのクロックが独立なものが16RA8でした。

デバイス内部プロブラム情報はJEDEC(半導体技術協会)で規格化されたフォーマットのファイル、JEDECファイルにし、これをプログラマに読み込ませてプログラムします。
デバイスベンダに依存しないプログラマの逸品が、DATA I/O社の29シリーズでした。社会人になって最初に入った会社では、当初29Aという型式のプログラマを使っていました。
よく似た名称の日本の会社、I・O DATAは当時からあり、よく間違えたものです。

JEDECファイルを作るためのコンパイラが、やはりDATA I/O社のABELでした。
積和の論理式で記述する「equations」、真理値表で記述する「truth_table」、if-then-else形式でFSM(Finite State Machine)を記述する「state_listing」の三形式でデザインを設計できました。デバイスプログラム時に掛けるテストベクタも記述できました。
論理圧縮のアルゴリズムは、いくつかのオプションが選択できました。「Presto」、「Espresso」等の言葉だけ記憶しています。

ABELの圧縮アルゴリズムにより、デザインのソースから、FFのCK、RES、Dの各入力の論理を積項の論理和の形でリスティングしたファイルを生成します。当時のVDHLやVerilog-HDLのツールは、高級輸入車が買えるほど非常に高価であり、プラットフォームも高価なワークステーション向けだったため、数万円から十数万円のABELは、私が使える唯一の論理合成ツールでした。
当時、ゲートアレイのデザインを設計した際、ABELの吐き出す積項の論理和から回路図を描きました。何年も経って、そのことを、かつてDATA I/O社にいらした三上廉司さん(現、ミカミ設計コンサルティング代表)にお目に掛かった際、笑い話にしていました。

ABELは、DATA I/O社がその部門をMinc Washingtonに分社化し、VHDLを統合したSynarioに発展します。更にABELはXilinxに買収され、FPGA設計ツールFoundationに統合されました。Xilinx以外のPLDはABELを失ったのです。FoundationにはVerilog-HDLも統合されており、次の世代の設計ツールISEはABELを捨て、VHDLとVerilog-HDLを統合した開発環境となります。これをもって、ABELは終焉を迎えたのです。
カテゴリートップ
Column
次
MetastabilityとGAL