FC2ブログ

[LM8]LEDチカSIMが動くまで → 完了

書籍に従い、KOZOSのソースを理解してるが、どうもHWから全ての動きが見たくなる。
H8のフリーVerilogソースがあれば嬉しいが見つからない。
なので、フリー & Verilog & 理解し易いCPU という事で、Lattice Mico8を選択。

VHDLでも良いんだけど、VHDLの良いシミュレータ知らない。VerilogならVeritak使えるし。

<Lattice Mico8のLEDチカチカSIMできるまで>
・Mico System BuilderはVMware上のCentOS6.7 i386で動作。CentOS x64ではRun Generatorが押せない。
 Windows 8.1も64bit版なのか動かなかった。
・pmi_def.vは使わない。
 components/lm8/rtl/verilog/lm8_include_all.v の `include "pmi_def.v" をコメントアウト。
・pmi_def.vを読まない事でエラーになるmoduleを現場にコピーする。
  \cp /usr/local/diamond/3.5/cae_library/simulation/verilog/pmi/pmi_addsub.v .
  \cp /usr/local/diamond/3.5/cae_library/simulation/verilog/pmi/pmi_distributed_spram.v .
  \cp /usr/local/diamond/3.5/cae_library/simulation/verilog/pmi/pmi_distributed_dpram.v .
  \cp /usr/local/diamond/3.5/cae_library/simulation/verilog/pmi/pmi_ram_dq.v . (2015.9追記)

・SWはMico System Builderでビルド。その後、Software Deploymentでhex形式の.memを生成する。
 まずはMico8用のLEDテストサンプルをそのまま使ってる。
・Veritakでシミュレーションするので、soc/kozos_msb.v内の.memファイルへのパスを変える。

//.CFG_PROM_INIT_FILE("/mnt/hgfs/onedrive/kozos/micosystem/kozos_msb/sw/kozos/prom_init.mem"),
.CFG_PROM_INIT_FILE("../sw/kozos/prom_init.mem"),
.CFG_PROM_INIT_FILE_FORMAT("hex"),
//.CFG_SP_INIT_FILE("/mnt/hgfs/onedrive/kozos/micosystem/kozos_msb/sw/kozos/scratchpad_init.mem"),
.CFG_SP_INIT_FILE("../sw/kozos/scratchpad_init.mem"),
.CFG_SP_INIT_FILE_FORMAT("hex"),


・テストベンチはリセットをLで入れて、3クロック後にHに戻してるだけ。

reset_n <= 1'b0 ;
@(posedge clk_i) ;
@(posedge clk_i) ;
@(posedge clk_i) ;
reset_n <= 1'b1 ;




ここまでやると、プログラムROMもスクラッチパッドRAMも.memが正常に読み込めてるようで、
動き出した。
そして、16.042msあたりまでシミュレーションしたところで、LEDPIO_OUT[0]がHからLへ変化した。
その後、32.078msあたりで、LからHへトグル。ちゃんと動いてるようだ。
スポンサーサイト



コメントの投稿

非公開コメント

カレンダー
01 | 2020/02 | 03
- - - - - - 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
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

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

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

この人とブロともになる

QRコード
QRコード