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

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

FPGAの部屋

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

Verilogでincludeを使用せずにパラメータをポート宣言に使う

なつたんさん”Verilog のポート宣言にパラメータを使う”で、Verilogのポート宣言にパラメータを遣うときにinclude文でparameter値をインクルードしないで、モジュールの後に直接parameterを記述する記述方法の紹介があった。(下に引用させていただきます)

module add   #(parameter width = 8)


上のモジュールから使用するときはparameter文に値を入れるのと同様に書けばよいとのこと。(またまた下に引用させていただきます)

add #(.width(4) ) add_u(.clk(clk), .a(a), .b(b), .c(c));


知らなかった。
今まで、私はインクルード用のファイルにparameter文を書いて、それをmodule宣言の後でインクルードしていた。こんな感じ。

module ddr2_sdram_cont (clk_in, clk_out, reset, input_data, input_mask...);
    `include "./ddr2_cont_parameters.vh"
    
    input clk_in; // クロック入力
    output clk_out; // クロック出力
    input reset;
    input [INTERFACE_DATA_WIDTH-1 : 0] input_data;
    input [INTERFACE_MASK_WIDTH-1 : 0] input_mask;


インクルードされたddr2_cont_parameter.vhにはparameter文が書いてある。

parameter DDR2_DATA_WIDTH = 16; // DDR2 SDRAMのデータ幅
parameter INTERFACE_DATA_WIDTH = DDR2_DATA_WIDTH*2; // DDR2 SDRAMは4バースト、2倍データ幅で2回書き込む
parameter INTERFACE_MASK_WIDTH = INTERFACE_DATA_WIDTH/8; // BEの幅


今まではこのインクルード方式しかないと思っていた。
共通に使いまわす値でなければ、これからはなつたんさんが紹介された書き方で書こうと思う。
なつたんさんありがとうございました。勉強になりました。
  1. 2008年09月12日 05:32 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:2

トラ技9月号の付属テスタ基板

トラ技10月号が出た今になって、やっとトラ技9月号の付属テスタ基板が完成に近づいてきた。(下の写真)
良く見たら、液晶のしたの前のほうに抵抗とコンデンサをソケットに差し込むのを忘れていた。もう一度液晶を取って差し込んだら完成かな?
トラ技をほとんど読んでいないのだが、ソフトウェアはどうやって書き込むのだろうか?それに電源用のACアダプタも秋月で購入しないと。。。火曜日にFPGAカンファレンスに行ったときに買ってくれば良かったのだが、後の祭り。。。残念。
ついでにアヴネットのスパルタン3評価キット用に同じグラフィック液晶を購入して温度計にしようかな?
toragi10gatu_080912.jpg
  1. 2008年09月12日 04:55 |
  2. マイコン関連
  3. | トラックバック:0
  4. | コメント:7