FC2カウンター FPGAの部屋 プロジェクトにインスタンスされているIPに制約を追加する
fc2ブログ

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

FPGAの部屋

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

プロジェクトにインスタンスされているIPに制約を追加する

BUFR でクロックを分周する場合は制約を追加する必要がある(ビットマップ・ディスプレイ・コントローラ IP のHDMI 出力)”で BUFR でOSERDES のDDR モードのシリアルクロックを 1/5 にしてピクセルクロックとしているの時のタイミング制約を追加すれば、XGA解像度でもHDMI 表示がうまくいくことが分かった。

今回は、IP にその制約を追加すれば、XGA解像度でもHDMI 表示がうまくいくことを確かめる。

ZYBO_0_153 プロジェクトで bitmap_disp_cntrler_axi_master_1 を右クリックし、右クリックメニューから Edit in IP Packager を選択する。
StereoCam_50_151122.png

Edit in IP Packager ダイアログが開いた。OKボタンをクリックする。
StereoCam_68_151122.png

bitmap_disp_cntrler_axi_master_v1_project が別画面で開く。
StereoCam_51_151121.png

制約を行うために論理合成を行った。Synthesized Design を開き、Edit Timing Constraints をクリックした。

Edit Timing Constraints ウインドウで、Create Generated Clock を選択して、Duble click to create a Create Generated Clock constraint をダブル・クリックした。
StereoCam_52_151121.png

Create Generated Clock ダイアログが開いた。
Master pin (sourece) の右の … ボタンをクリックした。
StereoCam_53_151121.png

Specify Master Pin ダイアログが開いた。
Options に *pclkx5_buf* と入力して、Find ボタンをクリックした。
Result の dvi_disp_i/hdmi_tx_i/pclkx5_buf を選択し、右矢印をクリックして、Selected ペインに入力した。
StereoCam_54_151121.png

Create Generated Clock ダイアログに戻ると、Master pin (source) に入力されていた。
Derive from Source Clock Waveform の By clock frequency のラジオボタンにチェックが入っていることを確認して、Divide source clock freqency by を 5 に設定した。
Source object の右の … ボタンをクリックした。
StereoCam_55_151121.png

Specify Master Pin ダイアログが開いた。
Options に *pixclk* と入力して、Find ボタンをクリックした。
Result の dvi_disp_i/pixclk を選択し、右矢印をクリックして、Selected ペインに入力した。
StereoCam_56_151121.png

Create Generated Clock ダイアログに戻ると、Source object に入力されていた。
StereoCam_57_151121.png

OK ボタンをクリックすると制約が入力される。

Save ボタンをクリックして制約をセーブする。
StereoCam_59_151121.png

Out of Data Design ダイアログが表示された。OKボタンをクリックした。
StereoCam_60_151121.png

Save Constraints ダイアログが表示された。File name に bmdc_axim_clock と入力した。
StereoCam_61_151121.png

制約が bmdc_axim_clock.xdc にセーブされた。
StereoCam_62_151121.png

Package IP のFile Groups をクリックして、Merge change from File Groups Wizard をクリックしたが、bmdc_axim_clock.xdc は入らなかった。
StereoCam_63_151121.png

なぜだろうと思って調べてみると、bmdc_axim_clock.xdc は、Z:\ZYBO_0_153\ZYBO_0_153.tmp\bitmap_disp_cntrler_axi_master_v1_0_project\bitmap_disp_cntrler_axi_master_v1_0_project.srcs\constrs_1\new フォルダの下にあるので、グループにできないようだ。
StereoCam_64_151121.png

そこで、この bmdc_axim_clock.xdc をコピーして、Z:\ZYBO_0_153\BMDispCaL\sources フォルダにペーストした。
StereoCam_65_151121.png

現在の bitmap_disp_cntrler_axi_master_v1_project をセーブしないで終了した。
StereoCam_66_151122.png

StereoCam_67_151122.png

もう一度、bitmap_disp_cntrler_axi_master_v1_project を Edit in IP Packager で開いて、 bmdc_axim_clock.xdc を Add Source した。
StereoCam_69_151122.png

右上のPackage IP タブをクリックして、File Groups をクリックし、Merge changes from File Groups Wizard をクリックする。
StereoCam_70_151122.png

すると、Standard -> Synthesis に bmdc_axim_clock.xdc が入った。
StereoCam_71_151122.png

Review and Package をクリックし、Re-Package IP ボタンをクリックして、IPを再度パッケージ化する。
StereoCam_72_151122.png

bitmap_disp_cntrler_axi_master_v1_project をクローズするというダイアログが出てくるので、プロジェクトをクローズする。

ZYBO_0_153 プロジェクトに戻る。
Block Design ウインドウの Refresh IP Catalog をクリックする。
StereoCam_73_151122.png

下のIP Status のUpgrade Selected ボタンをクリックする。
StereoCam_74_151122.png

Upgrede Ip ダイアログが表示された。
StereoCam_75_151122.png

IP Status のRerun をクリックする。
StereoCam_76_151122.png

IPのアップグレードが完了した。
StereoCam_77_151122.png

Flow Navigatgor -> Generate Bitstream をクリックして、ビットストリームを生成した。
StereoCam_78_151122.png

タイミングのエラーは出ているが、ビットストリームが生成された。

ハードウェアをエクスポートして、SDKを立ちあげて、XGA解像度のHDMI を出力させてみたが、乱れていなかった。成功だけれども、手順が面倒だ。
特にIPパケ-ジャーでIPを修正するときに、テンポラリにプロジェクトを生成しているので、新たに生成したファイルがIPのファイル・グループにそのままでは Add できない。
  1. 2015年11月22日 08:13 |
  2. IP
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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