[veritak]トラブルシューティング投票FPGAで遊ぶAlteraアルテラFPGAに続き、ITインフラで遊ぶ[veritak]トラブルシューティングシミュレーションが1usから進まないログに以下が出てた。tb_ether_top.uut.ether1.pll_ddr.altpll_component.cycloneiii_pll.pll3リセット期間を延ばしたらPLLからクロック出力出るようになったから、PLLリセット期間が短かったって事かな。シミュレーションが0nsから進まないddr2c回路を追加するとこうなる。試しにddr2c/phy_newをコメントアウトしたら0nsから進んだので、このモジュールが原因。ddr2c/phy_new/outifをコメントアウトしたら0nsから進んだので、このモジュールが原因。ddr2c/phy_new/outif/ALTPLL_ddr_readをコメントアウトしたら0nsから進んだので、このモジュールが原因。III用のVerilogソースになっている事が問題みたい。E)用に作ったPLLを使ったらシミュレーションは動いた。HOGEこんな間違いすると、途中で止まったような終わり方する。I2C_CMD_READここで止まる。"sdramc_define.v"を宣言すると先に進んだ。今後は各RTLに以下を記述しておくと宣言重複する事もなくなり良いと思う。"sdramc_define.v"`endifコンパイルが途中で止まる(3)テストベンチでこんな書き方すると、途中でシミュレーションが止まる。end原因はwhileの無限ループの中に時間を進める記述がないから。このwhileループの中で永遠に処理が行われてしまう。clk)が時間を進めてくれるから正常に動く。シミュレーション時間更新により一時停止しました。インスタンス名:tb_ddr2cこれ原因分かってみれば単純なミスだった。Lengthここで、300ns設定にして、Enableにチェックが入っていたため。チェックを外せば、300nsで止まらず、シミュレーションが先に進んだ。ファイル出力できないこう書くとファイル出力がうまくいく。endでも、if文の制御を追加すると、ファイルに何も出力されなくなる。全角スペースが入っていたからだった。