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

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

FPGAの部屋

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

ある parameter の値で、他の parameter の値を切り替える(Verilog編)

画像を表示するIPをXPSプロジェクトにインスタンス化する時に、paramterにVGA、SVGA、XGA を選んで、画像の解像度を切り替えることができると、とっても便利です。そこで、あるparameter値で、その他のparameter値を切り替えることができるかどうかやってみました。(出来ました)

Verilog HDLのソースコードです。

// parameter_test.v

module parameter_test # (
    parameter RESOLUTION = "VGA"
)(
    output wire [10:0] param_out
);

parameter integer H_ACTIVE_VIDEO = (RESOLUTION=="VGA") ? 640 :
                    (RESOLUTION=="SVGA") ?    800 :
                    (RESOLUTION=="XGA") ?    1024 :
                    (RESOLUTION=="SXGA") ?    1280 : 
                    (RESOLUTION=="HD") ?    1920 : 1920;

    assign param_out = H_ACTIVE_VIDEO;
endmodule


RESOLUTIONパラメータの文字列で、H_ACTIVE_VIDEOのパラメータ値を切り替えています。
ISE14.7でプロジェクトを作ってみました。
param_test_1_140304.png

ISimでシミュレーションしてみたところ、想定していた動作になりました。
param_test_2_140304.png

parameter RESOLUTION = "XGA"

にしてみました。
param_test_3_140304.png

問題なさそうです。これを使おうと思います。
  1. 2014年03月04日 08:59 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:0

ZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ IP1(単体テスト)

ZYBOにAXI4 Slaveバス対応のキャラクタ・ディスプレイ・コントローラを付けて、HDMI端子とVGA端子から出力を出してみようという企画だ。

元にするのは、”キャラクタ・ディスプレイ・コントローラをAXI4スレーブにする”で使用したAtlysボード用のプロジェクトだ。AtlysボードのFPGAはSpartan-6だったが、今度はZynqなので、使用しているプリミティブを変更する必要があった。これが面倒だった。BUFPLLは無くなっているし、OSERDES2プリミティブは無くなって、OSERDESE2プリミティブに変更になっていたので、Digilent社のAtlysボード用HDMI出力HDLソースをかなり書き換えた。やっと単体テストが通るようになったので、ブログに書くことにした。

最初に、AXI4 Slave Writeの波形を示す。このキャラクタ・ディスプレイ・コントローラは、Burst Write, Burst Readに対応してる。ARMプロセッサとのRead, Writeではオーバースペックだと思うが、DMAコントローラなどからのバーストアクセスにも対応している。
ZYBO_CDC_AXI_slave_1_140304.png

次に、AXI4 Slave Readの波形を示す。
ZYBO_CDC_AXI_slave_2_140304.png

最後に、VGA端子の出力、red_out, green_out, blue_out, hsync_n, vsync_nとHMDI端子の出力、TMDS_tx_clk_p, TMDS_tx_clk_n, TMDS_tx_2_G_p, TMDS_tx_2_G_n, TMDS_tx_1_R_p, TMDS_tx_1_R_n, TMDS_tx_0_B_p, TMDS_tx_0_B_n の波形を下に示す。
ZYBO_CDC_AXI_slave_3_140304.png

Digilent社のHDMI出力用のHDLコードを修正しているので、少なくともHDMI部分は GithubにPush出来ないと思う。
  1. 2014年03月04日 04:55 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0