FC2カウンター FPGAの部屋 OSERDESE2のRST
FC2ブログ

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

FPGAの部屋

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

OSERDESE2のRST

7シリーズのFPGAに使用されているOSERDESE2のRST端子は、CLKとCLKDIVに対して、1にする場合は非同期だが、0にする場合はCLKDIVに対して同期して0にする必要がある。どちらのエッジも非同期だと出力は不定だ。

Spartan6 のAtyls用のDigilent社のHDMI変換回路をZynq-7020用に改造してHDMIを出力しているが、OSERDES2 をOSERDESE2(シリアライザ)に単に変更しただけだと出力が不定になってしまっていた。その様子を下の図に示す。なお、OSERDESE2の出力は、ピンクの四角で囲った tmds_... の信号だ。
OSERDESE2_1_140504.png

OSERDESE2のRSTには、MMCMのLocked出力を反転した信号を入力している。BUFRのRSTにも、同様に、MMCMのLocked出力を反転した信号を入力している。BUFRの出力はOSERDESE2のCLKDIV入力に接続されている(MMCMのCLKOUT0の出力が5分周されている)。MMCMのCLKOUT0はBUFIOを通して、OSERDESE2のCLK入力に接続されている


Digilent社の ZYBO Base System Design を真似て、CLKとCLKDIVに対して、1にする場合は非同期だが、0にする場合はCLKDIVに対して同期して0にする回路を追加した。

process (PCLK_I, RST_I) begin -- by Digilent ZYBO Base System Design
    if RST_I='1' then
        async_sync_rst <= '1';
    elsif (PCLK_I'event and PCLK_I='1') then
        async_sync_rst <= '0';
    end if;
end process;


async_sync_rst をOSERDES2 のRST端子に入力したところ、 tmds_... の信号はちゃんとした値が出てくるようになった。
OSERDESE2_2_140504.png

OSERDESE2 RST端子については、”7 Series FPGAs SelectIO Resources User Guide UG471 (v1.3) October 31, 2012”の160ページの”Reset Input - RST”を参考にした。

これで、シミュレーションが出来るようになった。
  1. 2014年05月04日 04:48 |
  2. Zynq
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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