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

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



[第14回]


●VHDLプログラム(訂正)

前回の続きを書こうとしてプログラムリストを確認したところ、間違いがあることに気が付きました。
それを訂正する過程で、このプログラムはコンパイルしてエラーが出ないことを確認して、CPLDには書き込んだのですが、実際に正しく動くかどうかということまでは確認していなかったらしいことがわかりました。
なにしろ時間に追われるなかで作業していたものですから、動作確認はあとで時間ができたときにしよう、ま、多分動くだろうということでそのままになってしまったらしいのです。
で。
あらためて動作確認してみたのですが、案の定、動いてくれません。
それで最初に気が付いたところのほかにもまだまずいところがあることがわかりました。
全体のプログラムリストは[第10回]でお見せしました。
ミスが見つかりましたので、修正済みのリストと差し換えました。

間違っていたのは下の部分と、

    process(s98out,Dinout,rcwk)
    begin
                if s98out'event and s98out= '0' then
                        rcwk<=Dinout(3 downto 0);
                else
                        rcwk<=rcwk;
                end if;
    end process;
もう一箇所、下の部分です。

    process(s94out,Dinout,rcwk2)
        begin
                if s94out'event and s94out= '0' then
                        rcwk2<=Dinout(3 downto 0);
                else
                        rcwk2<=rcwk2;
                end if;
    end process;
どちらも s98out=’0’ではなくて、s98out=’1’、s94out=’0’ではなくてs94out=’1’にしなければいけませんでした。

本日は予期せぬミスのおかげで動作確認までするはめになってしまったため、リストを直してここまで書くだけで時間がなくなってしまいました。
上のリストの部分は前回の次に説明しようと思っていたところなので、そのように訂正しなければならない理由とあわせて次回に説明することにいたします。

あ。
リストを直したところはもう一箇所ありました。
それについても次回に説明することにいたします。

CPLD入門![第14回]
2019.2.28upload

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