昨日は、
例の本のテストベンチ編を読んだ。
Verilogはコンソール出力するにもCのprintfと似たような
$displayを使えるそうだ。ファイルへ出力する場合は
$fopenしてから
$fdisplayするそうだ。これはC言語でfopenしてから、fprintfするのと似ている。ファイルから入力するのは、
$readmembらしい。$fscanfとかないのかな?
VHDLでも93で'IMAGEを使ってreportで値を見られるようになったようだ。
テストベンチを書く際に、Verilogではtaskでタスクの外部の値も書き換えることが出来るそうだ。これは便利。悩まなくて済む。
VHDLでもprocess文で宣言されたプロシージャに限り、プロシージャの外部のsignalやvariableを変更可能だそうだ。これもとても便利である。書くのが楽になった。早速使おう。
いろんなことがわかり、とてもいい本だ。今度はPLIを読むことにする。
常々、プロの人はどのようにして回路を検証しているのか、とても気になっていた。自分でやっているのどう違うのかということだ。もっと、うまいやり方があるんじゃないかということをいつも考えていたので、この本はとてもためになった。いつか、プロの方と検証についてお話してみたい。
今、XilinxのISEの環境で、VHDLで書いた回路をVerilogで書き直しているが、`includeを使用すると、HDLソースじゃなくなることがある。どうやらincludeファイルとの検索順がまずいのかもしれない。includeファイル名を検索が早いものにして試してみよう? 他のファイルでは大丈夫なファイルもあるので。。。結局、パスがおかしかったのが原因でした。ISEのプロジェクトがあるフォルダがカレントなので、そこからのパスを書かないといけなかったのです。すべてのVerilogソースファイルをISEのプロジェクトがあるフォルダに入れて解決しました。
- 2005年11月06日 07:02 |
- 入門Verilog
-
| トラックバック:0
-
| コメント:2
verilog2001では$fscanfが使えるようです。
ncverilogでは通りました。
ここ(↓)の"verilogチュートリアル→12章システムタスク"に記述例があります。
http://japanese.sugawara-systems.com/tutorial.htm
- 2006/06/07(水) 14:55:16 |
- URL |
- #-
- [ 編集 ]