fc2ブログ

[LM32]LEDチカSimが動いた

やっと動いた。ポイントは以下。
たかだかこんだけの回路でえらい時間かかってしまった。

・MicoSystemBuilder: WinXP 32bit使用(Win7 64bit, 8.1Pro 64bitではSWビルドでエラー出た)
  ※ MicoSystemBuilderでは、MSBタブでAddress GenerateからRun Generatorまで順番に実行。
    ソフト開発はC/C++タブでSWビルド後、Tool > deploymentで.memを作成。
    .memが出来たら、MSBのEBRの初期値ファイルへ設定。
・シミュレータ: Veritak使用(ModelSim Altera Starter 10.1eはvcd2wlfで失敗した※)
  ※ 最初はvcd2wlfでSegmentation Faultだったが、次はvcdのSyntax Errorが出た。
     これは最初からwlfを生成すれば良いのでは?という指摘はあるが。
・gpio.v: Veritakエラー対策で、beginにラベル名を付ける。(ModelSimはエラー出ない)
・pmi_def.vは使わず、pmi_ram_dp、pmi_addsubはlscc/diamond/3.2/ispfpga/verilog/data/pmi内使用
・VHI.vやVLO.v等は、lscc/diamond/3.2/cae_library/simulation/verilog/xp2内使用。
・4363us以上シミュレーションする(main関数直後のGPIOライトでも4363us付近から始まった)
・テストベンチは後述。reset_n極性と、GSR、PUR呼び出し&極性に注意。
  ※ GSRとPURの記述はちょっと前のブログでも書いたが、以下を参考にした。
http://www.tecstar.macnica.co.jp/product/lattice/LatticeSupportHP/manual/LatticeKKManual/Diamond_UG_Joriginal/D2.2/UGJ-D21_Simulation_v22.pdf



`timescale 1ns/1ns

module tb;
reg clk_i = 1'b0;
reg reset_n = 1'b0;
wire [31:0] LEDPIO_OUT;

lm32_dbg uut (
.clk_i(clk_i),
.reset_n(reset_n),
.LEDPIO_OUT(LEDPIO_OUT) // [8-1:0]
);

//Global reset
GSR GSR_INST(.GSR(reset_n));
PUR PUR_INST(.PUR(1'b1));

initial begin
reset_n = 1'b0;
#1000 reset_n = 1'b1;
#10000000;
$finish;
end

always begin
clk_i = 1'b0 ;
#100 clk_i = 1'b1 ;
#100;
end

endmodule

スポンサーサイト



カレンダー
08 | 2014/09 | 10
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード