FC2カウンター FPGAの部屋 2010年12月04日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

The Simple MicroBlaze Microcontroller 7 (50MHzから25MHzへクロックを変更)

今回はSMMリファレンスデザインのクロック周波数を50MHzから25MHzに変更してみる。
今まではWorkの下にリファレンスデザインをコピーしてやっていた。今回は面倒なので、”The Simple MicroBlaze Microcontroller 6(シミュレーション)”までで出来上がっているWorkの下のリファレンスデザインフォルダをWork25Hzにコピーしてやってみることにした。

まずはISEから。50MHzクロックから25MHzの変換するDCMを追加する。Project Navigatorを立ち上げて、右クリックメニューからAdd Source...で、CoreGenのSingle DCM_SPを追加する。出てきたXilinx Clocking Wizard でInput Clock Frequency を50MHz、CLKDVにチェックして、Divide By Value を2にする。
SMM_34_101204.png

lcd_ref.vhdにDCM50_to_25MHzのインスタンスを追加する。CLKDVに接続されたclkを他の回路のクロックとして使用するように変更した。更に他の回路のリセットはreset_lockedに変更した。

-- DCM50_to_25MHz
    Inst_DCM50_to_25MHz: DCM50_to_25MHz PORT MAP(
        CLKIN_IN => Clock,
        RST_IN => Reset,
        CLKDV_OUT => clk,
        CLKIN_IBUFG_OUT => open,
        CLK0_OUT => open,
        LOCKED_OUT => dcm_locked
    );
    reset_locked <= not dcm_locked;


それから、lcd_ctrl.vhdの記述を20ns から40ns に変更した。

constant CLK_PERIOD : integer := 40 ; -- in ns 50MHzから25MHzに変更
-- constant CLK_PERIOD : integer := 20 ; -- in ns


変更は完了したので、これでインプリメントしたら、無事にインプリメントできた。
SMM_35_101204.png

次はSDK。予め、led_reg.c の7行目の”#define CLOCK_PERIOD_NS”を20から40に変更しておいて、SDK12.3を起動した。workspace をWork25Hz/sdkに指定したが、led_ref.cの7行目の”#define CLOCK_PERIOD_NS”は、20のままだった。見ているled_ref.c は以前のファイルになっているようだ。一旦、led_ref.c を削除して、Work25Hz/sdk/led_ref.c をドラック & ドロップでプロジェクトに入れた。
Xilinx ToolsメニューからProgram FPGAを選択して、Program FPGAダイアログが開いたが、Hardware Configuration内のBitstreamもBMM Fileも、以前のWorkフォルダでやっていたときのままのファイルが表示されている(下図参照)。(”The Simple MicroBlaze Microcontroller 4(リファレンスデザイン2)”参照)
ISEはフォルダごとコピーしても、コピーしたフォルダのファイルを使用(相対パス)して、上手くいくが、SDKはプロジェクトを作り直したほうが良いかもしれない?
SMM_36_101204.png

これを、現在のWorkのWork25Hzフォルダの下のファイルに変更した。ELFファイルも指定して、Programボタンをクリックして、FPGAをコンフィグしたら、問題なく文字が表示された。
SMM_23_101127.jpg

これで、動作周波数を25MHzに変更できたので、Spartan-3A Starter Kitによる画像演奏装置に組み込んで、表示を試してみようと思う。
  1. 2010年12月04日 05:58 |
  2. SMM
  3. | トラックバック:0
  4. | コメント:0