【問題1】 Verilog HDLをマスターしよう!!完全マスター! 電子回路ドリル III(1)

「完全マスター! 電子回路ドリル」の3学期がスタート! “ハードウェア記述言語”をテーマにさまざまな問題を毎週お届けします。

» 2008年09月04日 00時00分 公開
[横田一弘 埼玉県立新座総合技術高等学校 教諭,@IT MONOist]

電子回路ドリル【3学期】始業式

 皆さん、「完全マスター! 電子回路ドリルII 【2学期】」の期末考査の結果はいかがでしたか?

 2学期の連載では“デジタル回路”をテーマに、「2進数」「組み合わせ回路」「順序回路」など盛りだくさんの内容をお届けしました。前シリーズで解説したとおり、「AND」「OR」「NOT」「フリップフロップ」の基本論理素子を理解し、これを基にデジタル回路の動作がイメージできれば、デジタル回路・技術者としてのセンスは確実に身に付いているといえるでしょう。険しい道のりですが、これまでの問題をコツコツ解いて、ご自身の技のバリエーションを少しずつ増やしていきましょう。繰り返しになりますが、“継続は力なり”です!

 さて、今回から「電子回路ドリル」の第3シリーズ(3学期)がスタートします。ご存じのとおり、最近のデジタル回路設計は「回路図」から「ハードウェア記述言語(HDL:Hardware Description Language)」へとシフトしつつあります。そこで3学期では、2学期で紹介してきた基本的なデジタル回路を踏まえ、“ハードウェア記述言語(以下、HDL)”についてさまざまな問題を出題していく予定です。

 「ちょっと待ってよ! HDLって一体何なのさ?」という方のために、3学期のスタートはHDLの紹介からはじめることにします。


HDLって何?

 HDLとは“電子回路を表現するプログラム言語”のことをいいます。HDLを使うことで、コンピュータを有効活用しながら、電子回路の設計を行うことができます。

組み合わせ回路の例 図1 組み合わせ回路の例

 用語の説明だけを聞いてもピンとこないと思いますので、HDLの例を紹介します。図1を見てください。これは2学期で登場した“組み合わせ回路”です。この回路をHDLの一種である「Verilog HDL」で表すと、

assign X = A & B | ~C;

のようになります。

 そうです、図1の回路を“論理式”で表し、HDLのコーディングをしているのです。

X = A ・ B + C

assign X = A & B | ~C;



 さらに、HDLで表された回路はシミュレータによってコンピュータ内で動かすことができます。その結果が図2です。コンピュータが作った“タイムチャート(Time Chart)”を分析することで、設計した回路が正しく動作しているかを検証できます。

回路のシミュレーション結果 図2 回路のシミュレーション結果

 さらに、HDLで設計された回路は「CPLD(Complex Programmable Logic Device)」や「FPGA(Field Programmable Gate Array)」などの電子デバイス上で実際に動かすことができます。画像1は筆者が作成したデジタル時計です。左下の黒い四角のLSIがCPLDで、このチップにHDLで書かれた電子回路をダウンロードして動作させます。

CPLDによるデジタル時計の製作例 画像1 CPLDによるデジタル時計の製作例
関連リンク:
いまさら聞けない FPGA入門

 このように、HDLによる電子回路設計はメリットが多いので、現在では回路図による設計からHDLへと移行しています。3学期では、この“新しいデジタル回路の設計技術”をマスターすることを目的とし、電子回路の技のバリエーションをさらに広げていきましょう。

 それでは、記念すべき3学期最初の宿題を発表します。まずは、気軽にチャレンジしてみてください。

次回までの宿題 ― 【問題1】

問題1

以下の回路をVerilog HDLで記述してください

問題1

答え. 解答はこちら(←クリック)



Copyright © ITmedia, Inc. All Rights Reserved.