You are here

GAL動かしてみた 第3回:GAL内部とオープンドレインの制約


カテゴリー:

前回予告したようにGAL16V8でオープンドレイン出力を実現するときの制約について書いてみます。

これ説明するためにはGAL16V8の内部構成の知識がある程度必要です。そこでデータシート記載のブロック図を見てみます。
GAL16V8 Functional Block Diagram (part)
同等の回路が並んでいるのでこれは一部分、全体の約1/3ほどです。

左側の格子状になっている部分がプログラマブルANDアレイ、右側のOLMCと書かれている部分がマクロセルと呼ばれます。

まずはANDアレイからです。

縦の線には各入力ピンからの信号とその反転信号が接続されています。例えば左端の線はピン2の信号、次はその反転信号、その次はピン1の信号といった具合です。動作モードによってはちょっと違う信号もありますが、今のところは気にしなくても大丈夫です。

横の線は省略表現で、展開した実際の回路は次のようになっています。
展開図
交点を繋いでいるのはヒューズ(実際のヒューズではなくEEPROM構造のスイッチですが、PAL時代からの名残でヒューズと呼ばれます)で、これをOn / Offすることで論理をプログラムします。

例えばI0I1が欲しければI0I1のところをOnにして残りをOffにします。

全てをOffにすると常に1が出力されます。

もしI0I0をOnにすると常に0となります。

I0I1はこれだけでは作れません。作り方はOLMCのところで説明します。

この一つのANDの結果を「積項」と呼びます。

続いてOLMCの説明ですが、入出力兼用ピンごとに1つありModeによって機能が少し異なります。Modeはデバイス全体で一つの設定です。

  1. Simple Mode
    入力専用ピンが10本、入出力ピンが8本使えます。入出力ピンはそれぞれ入力に使うか出力に使うかはプログラムで固定され、動作中に切り替えることはできません。

    Simple Mode (Output)
    これは出力に設定した場合、左から8本来ているのが前述の積項です。先ほどのI0I1は、1本目はI0I1をOn, 2本目はI0I1をOn, 残りは0固定にすれば実現できます。
    中央のXORは片方の入力がプログラムで固定され出力の極性を切り替えるためのものです。
    出力ピンから左に行っているのはフィードバックと呼ばれ、出力ピンの状態をANDアレイに戻します。積項が足りないときなどにOLMCを2つ使うことで補うことができますが、利用できる出力ピンが減る・遅延が増えるといったデメリットもあります。8つあるOLMCのうち2つにはこのフィードバックはありません。

    Simple Mode (Input)
    これは入力に設定した場合、ANDアレイからの信号は無視されます。

  2. Complex Mode
    入力専用ピンが10本、入出力ピンが8本使えます。入出力ピンは動作中に入出力を切り替えることができます。

    Complex Mode
    積項の1つが入出力の切り替えに使用され、ORに入力されるのは7本に減っています。

  3. Register Mode
    入力専用ピンが8本、入出力ピンが8本使えます。入出力兼用ピンはピンごとにD Flip-Flopを使用するか設定できます。

    Register Mode
    D Flip-Flop使用の場合、CLK, OEはすべてのOLMCで共通となり、個別に入力に切り替えることはできません。

    D Flip-Flopを使わなければComplex Modeと同様の構成になり入出力を切り替え可能です。

本題のオープンドレインはComplex Mode(Register ModeのD Flip-Flop不使用ピンでもできるはず)の入出力切り替えを利用しています。出力が0になるようXORまでの回路を固定しておき、一番上の積項が1のときは出力になり"L"を出力、0のときは入力になりHi-Z出力とするわけです。

意図した使い方ではないと思われ、制約もあります。

  • 積項が1つしか使えない。せめて4:4は無理でも2:6くらいあれば使いやすいのですが...
  • XORも使えないので極性も自由にならない。
  • Flip-Flopも使えない。

(入出力兼用)ピンに余裕があれば一旦余ったピンに普通に出力しておいてフィードバックを利用する手があります。

参考文献・関連図書: 
GAL16V8データシート, Lattice Semiconductor.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。