Sim's blog

電子工作はじめてみました

LatticeXP2基板でLEDチカチカ

2009-04-17 01:06:01 | FPGA
ディジタル・デザイン・テクノロジNo.1の付録FPGAボードで遊んでいます。

Synplifyという論理合成ツールをインストールしました。メールが来るのですが、ダウンロード開始から4時間以内にダウンロード完了しないといけないみたいです。

プロジェクトの作り方とか論理合成の作り方はDD誌の通りにしました。
内蔵クロックをverilogから使う方法が分からなかったので、外部クロックにしました。

テスト用のLEDチカチカのverilogソースです。<が全角になっています。
`default_nettype none
module main(
    output reg [1:0] LED = 2'h0,
    input clk);

    reg [22:0] ctr = 23'h0;
    wire ctr_en = ctr == 23'h0;

    always @(posedge clk)
        ctr <= ctr + 1;

    always @(posedge clk)
        if(ctr_en) LED <= LED + 2'h1;

endmodule

ピン配置は以下の3つを設定しました。
LED_0 74pin LVCMOS33 (緑LED)
LED_1 73pin LVCMOS33 (赤LED)
clk 65pin LVCMOS33 (外部クロック GCLK1)

困ったことです。ispLEVERのエディタを使っていると、ファイルをセーブすると自動で文法チェックをしてくれます。ところが、この文法チェックはverilog 2001だと文法エラーにしてくれます。何か設定を変えて、なんとかできないかと探し回りましたが、見つかりませんでした。メニューのSource→Toggle Auto Read Designをクリックして自動読み込みをオフにしたら文法チェックがなくなりました。HELPを見ると「Verilog Standard V2001」というプロパティをTRUEにするとよいような感じですが、状況に応じてプロパティが変わるので、どこにあるか分かりません。
Synplifyはverilog 2001も平気でした。System Verilogも受け付けるみたいです。
一応、回避方法を見つけましたが、正しい解決にはなっていません。

外部クロックですが、取り外しができるようにソケットをつけました。4ピンのソケットが入手できなかったので、8ピンのソケットを改造しました。

いらない足を切り取ってはんだづけしました。



マルツのNOH50.000-B3C-CZ2です。


回路図を見るとGCLK1はCN1のB25につながっています。外から入力した方がよかったかもしれません。

ようやっと、遊ぶ準備ができたというところでしょうか。