©2007 by T.IZUMI
ver.2025.4.6 ©
いずみ♡ 無断複製転載を禁ず (リンクは可)
verilog-HDL による回路設計 リハビリ課題
- 課題1:組合せ回路 算術論理演算器
- ソースコードの例 alu.v
  ※虫喰い、課題説明含む
- テストベンチの例 tb_alu.v
- 課題2:順序回路(データパス) 積算器
- ソースコードの例 accumulator.v
  ※虫喰い、課題説明含む
- テストベンチの例 tb_accumulator.v
- 課題3:順序回路(ステートマシン) 信号機
- ソースコードの例 trafficsignal.v
  ※虫喰い、課題説明含む
- テストベンチの例 tb_trafficsignal.v
- アドバイス&ヒントを兼ねて虫喰いのソースコードを置いてありますが、
できるだけ見ないようにするほうが勉強になります。
自分のソースコードができあがってから、最後に見比べて考えてみることをお薦めします。
- 理解もせずにやみくもに書きうつすのでは勉強になりません。
理解せずに書き写すくらいなら、こんなことはせずに他の勉強をしましょう。
逆に、理解の助けのためであれば何を参考にしても構いませんし、
結果としてほぼ同じソースコードになってしまったとしても全く構いません。
- 解説動画(YouTube)
初心者向け verilog 設計 チェックリスト
- 組合せ回路は assign のみ、あるいは assign と function の併用で設計し、always は使わない。
- レジスタやフリップフロップは reg として宣言する。逆に reg として宣言するのはレジスタやフリップフロップのみ。
- reg への代入は <= で行なう。
- 各 reg (のグループ)ひとつにつきひとつの always ブロックを用意し、
その(グループの)reg の代入(左辺に現れる場合)は対応する always ブロック内でのみ行なう。複数の always ブロックに現れてはならない。
参照(右辺に現れる場合)はモジュール内のどこでもOK。
verilog について
各自復習してください。
- 講義や演習で習っているはずです。その教科書や資料で復習できるはずです。
- 細かいことの“ド忘れ”程度なら web で検索すれば、verilog を解説したサイトが見つかるはずです。例えば Google 等で「verilog 文法 always assign」といったキーワードで検索してみてください。
- 「復習のためのいい本はないですか?」 → こちらで本やビデオを紹介しています。
- 「verilog が嫌だ」というのなら VHDL でも SFL でも構いません。
ツール類
この課題は、Web で入手可能なフリーのツールで、行なうことができます。
その他参考サイト
泉 知論
@
立命館大学
理工学部
電子情報デザイン学科
戻る