2019.3.6
前へ
次へ
ホームページトップへ戻る

[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第18回]


●VHDLプログラム(回路の記述5)

今回は74HC244の記述です。

74HC244は8ビットのバッファです。
しかし今回の回路ではD6〜D0の7ビットしか使いません。
上の回路では8ビット全部を使っているようですが、よく見るとD7の入力はプルアップされているだけで、常にHが入力されています。
ですのでCPLDに置き換えた回路ではD6〜D0のみ出力するようにプログラムしています。
74HC244はOE端子にLが入力されたときのみデータ入力がそのまま出力されます。
OE=Lのときは出力はハイインピーダンスになります。
この部分のプログラムは前回の74HC173からデータラッチの部分を外したプログラムと同じ書き方です。

    process(s94in,Dinout,RB6_RC4,RC3_RC0)
    begin
                if s94in= '0' then
                        Dinout(6 downto 4)<=RB6_RC4;
                        Dinout(3 downto 0)<=RC3_RC0;
                else
                        Dinout<="ZZZZZZZ";
                end if;
    end process;
長々と書いてきましたが以上でやっとPICUSBIF回路のCPLDプログラムについての説明が終りました。
あ。
忘れるところでした。
最後にもう1行残っていました。

      RC7_RC5<=rcwk(2 downto 0);

end rtl;

RC7_RC5出力には74HC174回路から出力した内部ロジック信号のrcwkの下位3ビットがそのまま出力されますから、最後にそれを書いておきます。
この部分は単に信号の入出力関係を記述しているだけですから、そういう場合(常時無条件で成立する関係の場合)にはPROCESS文ではなくてそのまま地の文(式)として書きます。

プログラム全体の最後は
end rtl;
で終ります。

CPLD入門![第18回]
2019.3.6upload

前へ
次へ
ホームページトップへ戻る