FC2カウンター FPGAの部屋 CoreGenからChipScope Proを使用する2(ILAコアの生成)
FC2ブログ

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

FPGAの部屋

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

CoreGenからChipScope Proを使用する2(ILAコアの生成)

CoreGenからChipScope Proを使用する1(ICONコアの生成)”の続き。
前回、CoreGen(CORE Generator)で、ICONコアを生成した。今回はILAコアを生成して、トップモジュールのVerilogソースを変更して、ICONコアとILAコアをインスタンスして、ILAコアに観測したい信号を接続する。

ICONコアと同様にHierarchyウインドウでの右クリックメニューからNew Source...を選択する。Select Source TypeからIP(CORE Generator & Architecture Wizard)を選択して、File nameにGCT_ila と入力して、Nextボタンをクリックする。
CS_Core_Gen_7_100527.png

New Source WizardのView by FunctionのDebug & Verification からChipScope Pro を選択し、その下のILA (ChipScope Pro - Integrated Logic Analyzer) を選択する。Nextボタンをクリックする。
CS_Core_Gen_8_100527.png

Summaryが表示される。Finishボタンをクリックする。
CS_Core_Gen_9_100527.png

ILA (ChipScope Pro - Integrated Logic Analyzer)ダイアログが表示される。
1/2ページでは、Sample Data Depthを1024に、Data Port Widthを128(これは多め指定しておいて後で丁度良い値に変更します)に設定した。後はデフォルト値にする。Next>ボタンをクリックする。
CS_Core_Gen_10_100527.png

2/2ページでは、Counter Widthを4に設定した。これはトリガーをカウントできると良いかな?ということで入れた。後はデフォルト値にする。Generateボタンをクリックする。
CS_Core_Gen_11_100527.png

これで、ILAコアが生成され、Project NavigatorのDesignウインドウにGCT_ilaが表示された。
CS_Core_Gen_12_100527.png

HierarchyウインドウからGCT_iconを選択して、下のProcessウインドウのView HDL Instantiation Templateをダブルクリックすると、右のウインドウにインスタンシエーション・テンプレートが表示されるので、それを参考にトップモジュールを変更する。同様にGCT_ilaについても行う。
CS_Core_Gen_13_100527.png

使用する信号を宣言して、ILAコアのDATAを信号と下のように接続した。

    GCT_icon GCT_icon_inst (
         .CONTROL0(CONTROL0) // INOUT BUS [35:0]
    );
    GCT_ila GCT_ila_inst (
         .CONTROL(CONTROL0), // INOUT BUS [35:0]
         .CLK(clk_ddr2), // IN
         .DATA(DATA), // IN BUS [127:0]
         .TRIG0(TRIG0) // IN BUS [7:0]
    );
    assign DATA[31:0] = ddr2_write_data;
    assign DATA[33] = ddr2_read_write;
    assign DATA[34] = ddr2_addr_fifo_we;
    assign DATA[35] = ddr2_wrdata_fifo_we;
    assign DATA[36] = ddr2_addr_fifo_full;
    assign DATA[37] = ddr2_wrdata_fifo_full;
    assign DATA[62:38] = ddr2_address_cmd;
    assign DATA[63] = ddr2_rddata_valid;
    assign DATA[95:64] = ddr2_read_data;
    assign DATA[96] = ddr2_initialize_end;
    assign DATA[97] = Bitmap_VGAC_req;
    assign DATA[98] = Bitmap_VGAC_gnt;
    assign DATA[99] = Char_GP_req;
    assign DATA[100] = Char_GP_gnt;
    assign DATA[101] = Bitmap_VGAC_addr_busy;
    assign DATA[102] = Bitmap_VGAC_data_ena;
    assign DATA[103] = Char_GP_addr_busy;
    assign DATA[104] = Char_GP_wrdata_busy;
    
    assign TRIG0[0] = ddr2_addr_fifo_we;
    assign TRIG0[1] = ddr2_wrdata_fifo_we;
    assign TRIG0[2] = ddr2_addr_fifo_full;
    assign TRIG0[3] = ddr2_wrdata_fifo_full;
    assign TRIG0[4] = ddr2_rddata_valid;
    assign TRIG0[5] = ddr2_initialize_end;
    assign TRIG0[6] = Bitmap_VGAC_req;
    assign TRIG0[7] = Char_GP_req;


DATAを128本使うように宣言したが、105本のみ使用しているので、GCT_ilaコアを再生成する。HierarchyウインドウでGCT_ilaを選択して、ProcessesウインドウのManage Coresをダブルクリックする。
CS_Core_Gen_14_100527.png

CoreGenが開く。右下のProject IPからGCT_ilaを選択して、右ウインドウのActionsからRecustomize and Generate (Under Current Project Settings) をクリックする。
CS_Core_Gen_15_100527.png

Data Port Widthを105に修正して、Generateボタンをクリックして、もう一度ILAコアを再生成する。
CS_Core_Gen_17_100527.png

今日はこれで終了とする。

CoreGenからChipScope Proを使用する3(ChipScope Analyzerで波形を観察)”に続く。
  1. 2010年06月02日 05:14 |
  2. Chipscope
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1485-e2aefa10
この記事にトラックバックする(FC2ブログユーザー)