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だけやってみる。エラーがでな
ければこれを提出