FC2カウンター FPGAの部屋 ZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ IP5(MMCM)
FC2ブログ

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

FPGAの部屋

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

ZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ IP5(MMCM)

ZYBOのAXI4 Slave キャラクタ・ディスプレイ・コントローラ IP4(BUFIO, BUFR)”の続き。

前回は、PLL_BASEだと、BUFIO, BUFRに行く配線が無くてMAPでエラーになってしまった。”7 シリーズ FPGA クロッキング リソースユーザーガイド UG472 (v1.8) 2013 年 8 月 7 日”の45ページに、BUFIO を駆動するクロックとして、”同じクロック領域内の HPC を駆動する場合は、MMCM クロック出力 0 ~ 3”と書いてあったので、PLLの代わりにMMCMを使うことにした。
MMCMは周波数を決定するMとD(周波数は、入力周波数 x M / Dで決まる)に 0.125刻みの小数を使えるので、周波数を調度よく設定できるようになっている。(Dがrealなのは、CLKOUT0だけのようだ)

MMCMへの変更内容を下に示す。cdc_axi_slave.vhd と dvi_disp.vhd を変更した。MMCMの入力周波数は25MHzとした。CLKOUT[0]_DIVIDE_Fは、1 ~ 128 または2.000 ~ 128.000 の範囲 (増分幅 0.125)なので、MMCM_CLKOUT0_DIVIDEに1以上2未満の小数の分周値は設定できない。これは、周波数が高い場合はネックになるので、なるべく低い周波数のクロックをMMCMに入力して、Mの倍数を細かく設定しようということだ。
ZYBO_CDC_AXI_slave_50_140502.png

ZYBO_CDC_AXI_slave_51_140502.png

これで、論理合成後に、PlanAheadで MMCM の位置を固定した。
ZYBO_CDC_AXI_slave_49_140502.png

下に、UCFの一部を示す。

INST "system_i/cdc_axi_slave_0/cdc_axi_slave_0/dvi_disp_inst/MMCM_BASE_PIXEL" LOC = MMCME2_ADV_X0Y1;


インプリメントとビットストリームの生成が成功した。これでOKのようだ。
ZYBO_CDC_AXI_slave_52_140502.png

まだ、シミュレーションを行っていない。クロックの周波数が正しいかどうかは確認していないので、順番が逆になったが、シミュレーションを行う。今回は、インプリメント出来るかどうかのテストとなる。
  1. 2014年05月02日 04:29 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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