AXI HPポートのタイミングを緩和する
長い間悩んできたタイミングエラーがあります。
ZYNQのPS-PL間のインタフェースで起きているタイミングエラーなのですが、
実は、Cosmo-Zでは多数のADCの信号を束ねるために、64bitのFIFOの後、8:1マルチプレクサを通じてAXI HPポートに送っています。
図にするとこんな感じです。
見るだけでも気が遠くなりそうなロジックです。
エラーレポートを見ると、PSが出してくるaxi_hp0_WREADYから、FIFOのRD、そしてデータへと続くパスが250MHzのクロックで間に合わないということのようです。
![]()
そこで、前から気になっていたオプションを試してみました。
EDK(古くてスマン)を開いて、AXI HP0の設定を開きます。
その中にある、Use register slice on W channelの設定を、BYPASSからFULLY_REGISTEREDに変えます。
これをすると、おそらく、AXI HP0のWチャネルにレジスタが挿入されて、タイミングが緩和されるかと思ったのですが・・
ビンゴでした!
タイミングエラーが解決されて、無事綺麗になりました。
EDKの深いところにあるオプションとか、怖くてなかなか変えられませんが、今回はうまくいったようで良かったです。
| 固定リンク








コメント