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

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

FPGAの部屋

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

Vivado 2104.2でSystemVerilog をやってみた3(data_types_example2)

今回は、”AR# 51327 Vivado 合成のデザイン アシスタント - SystemVerilog データ型のサポート”の data_types_example2.zip をやってみようと思う。

Vivado 2014.2 を立ち上げてプロジェクトを作成した。最初は、ZedBoardのプロジェクトを作成したが、IOピンが足りなかったので、Kintex-7 の xc7k160tfbg676-1 に変更した。

これでインプリメントが成功した。下に、IOポートの様子を示す。
SystemVerilog_14_140809.png

shortreal 型の real_out は 64ビット幅だ。realtime 型の time_out も同様に 64ビット幅だ。

どんな回路になっているか概略を見てみよう。Flow Navigator -> RTL Analysis -> Schematic をクリックした。
SystemVerilog_15_140809.png

a 入力だけに加算器とレジスタがあって、他は固定出力だった。

実際のマッピングを見るために、Flow Navigator -> Synthesis -> Schematic をクリックした。
SystemVerilog_16_140809.png

縦に長い回路になっている。下の方は固定値のIOピンのようだ。
上の方を拡大してみた。
SystemVerilog_17_140809.png

a 入力あたりだ。

論理シミュレーションを行ったところ、エラーだった。System Verilog real type portはサポートされていないそうだ。

ERROR: [XSIM 43-3190] File "C:/Users/ono/Documents/HDL/Vivado/SV_Examples/data_t_ex2/data_t_ex2.srcs/sources_1/imports/data_types_example2/real_type_example.sv" Line 31 : The "System Verilog real type port" is not supported yet for simulation.


SystemVerilog_18_140809.png

ModelSim ASE 10.1d でシミュレーションを行ったところ、問題なく成功した。
SystemVerilog_19_140809.png

最後にテストベンチ real_type_example_tb.sv を下に貼っておく。

`timescale 1ns / 1ps

module real_type_example_tb;
    parameter DELAY    = 5;

    logic clk;
    int a;
    shortreal real_out;
    realtime time_out;
    longint b;

    real_type_example real_type_example_i (.*);

    initial begin
        clk = 1'b0;
        forever begin
            clk = #10 ~clk;
        end
    end

   initial begin
        a = 5;

        @(posedge clk);    // 次のクロックへ
        #DELAY;
        @(posedge clk);    // 次のクロックへ
        #DELAY;

        a = 10;
        @(posedge clk);    // 次のクロックへ
        #DELAY;

    end

endmodule


  1. 2014年08月09日 05:46 |
  2. SystemVerilog
  3. | トラックバック:0
  4. | コメント:0