Transcript Verilog
VLSI設計論
今年のみ代講
天野 [email protected]
慶應義塾大学 理工学部 情報工学科
山﨑 信行
E-mail: [email protected]
URL: http://www.ny.ics.keio.ac.jp
概要 (1/3)
フロントエンド設計(HDLを用いたLSI設計手法)
論理設計
論理検証(シミュレーション)
Cadence社Verilog-XL (Interpreter)
Cadence社NC-Verilog (Compiler)
論理合成(ネットリスト作成)
Verilog-HDLの文法
Synopsys社Design Compiler (for ASIC)
Synopsys社FPGA Compiler II (for FPGA/CPLD)
論理検証(仮配線シミュレーション)
概要 (2/3)
16bit RISC Processor (PICO-16)の設
計実習
PICO-16のアーキテクチャ
命令フォーマット
パイプライン
DMACの設計演習
CPUとDMACを用いたシステム設計演習
概要 (3/3)
バックエンド設計
レイアウト、配置配線(P&R)、クロックツリー生成(CTS)
データベース
Synopsys社(旧Avant!社) Star-RCXT
静的タイミング検証(STA)
Synopsys社(旧Avant!社) Milkyway
RC抽出
Synopsys社(旧Avant!社) Apollo/Astro
Synopsys社 PrimeTime
検証(LVS, DRC)
Synopsys社(旧Avant!社) Hercules
Mentor社 Caribre
HDL
HDL( Hardware Description Language)
Verilog-HDL
VHDL
SFL
AHDL
OrCAD HDL
…
Verilog-HDL
RTL (Register Transfer Level)
論理合成可能
記述に制限
設計すべきハードウェアを記述
BL (Behavior Level)
論理合成不可能
記述に制限なし
検証モジュール(テストベクトル)を記述
SFLとVerilog HDLの違い
クロックを明示的に記述する。
条件を付けない文は並列に実行される。
secondsのスクリプトに対応する部分は言語中に記述
合成不可能な部分との混在に注意
Cライクではなく、Pascalライク
alt文に対応するswitch文があるが制約がある
シミュレーション用テストベンチをBehavior Levelで記述
複数クロック、立ち上がり、立ち下り、非同期リセットの記述が可
能
実はPascalライクでもなく、変な構文もあるが、あまり気にしては
いけない
言語上はビット幅等に寛容でなんでもできてしまう
合成時にWarningが出るので注意
非常に簡単な例題
加減算器の設計
addsub.v : sflを知っている人は簡単すぎて
びっくりするかも
my.h: defineは別ファイルに入れておき、共通
化する
addsub_test.v: テストベンチがもしかするとよ
り面倒で理解しにくいかも
文法は坂本氏作のまとめがweb上に掲載
宿題
アカウントを取って、addsub.vをコピー
sub入力を2ビットのcom[`ComData]に変更
cp ~hunga/vlsi07/hunga/addsub.v .
“my.h”に`define ComData 1:0と入れておく
comが00ならば、inaとinbの論理積
comが01ならば、inaとinbの論理和
comが10ならば、ina+inb
comが11ならば、ina-inb
とする記述を作れ
verilog addsub.vだけやってみる。エラーがでな
ければこれを提出