VHDLって面倒くさい
最近、仕事ではまったこと。
今のDUTとテスト環境はVHDLで、メモリモデルがVerilog。
んで、このメモリモデルに評価用のデータを展開したいんだけど、
シミュレーション上で一々やってるともの凄く時間がかかる。
テスト環境がVerilogだったら"$readmemh"で一発なんだけど、
VHDLってどうやるんだろう?
ってのが出発点。
DUTはもちろん、モデルにも手を加えちゃダメ。
要するにVHDLで階層アクセスできないか?、ってことだと考えて調べてた。
そしたらありましたよ。
使ってるシミュレータ(Modelsim)に"init_signal_driver"なんてプロシージャが。
とりあえず普通の変数に試してみる(何しろ配列は波形ビューワーで見られない)。
…問題ない。
これならいける!!、と配列に対して使ってみたんだけど何故かダメ。
なんでやー、と思ってリファレンスを見返してみたら…、
「このプロシージャはVerilogのテーブルには使えません」だと!!!
まさにそれなんだよ、使いたかったのは。
どうすんだよ、費やしたこの時間を、
これならいける、と確信して悠々と帰った昨日を。
えーと、すいません、誰かこの件について解決策を知ってる方がいたら教えてください。
ちなみに、私の中では、バインドしているSVAから"$readmemh"で良いかなー、と。
え?、だったら始めからそうしろよ、と?
確かにそうなんですが、客先がVHDLだから極力VHDLにしたいのですよ。
| 固定リンク | コメント (0) | トラックバック (0)


最近のコメント