オンラインショップ
問い合わせ
即日発送 送料無料 佐川急便かクロネコでお届け。カード、銀行振り込み、代引き決済。
製品情報>Kintex-7 PCIe 光ボード「Cosmo-K」>開発日記>2017年10月

2017年10月

XILINXのPCIe XDMAコアによる起動不具合の原因

2017.10.13

XILINXのPCIe XDMAコアを入れたFPGAをPCにつないで起動すると、OSが起動する途中にハングアップしてしまったり、再起動を繰り返すという現象があります。

海外のforumを見ても問題は報告されています。

 

 

すべてのPCで起きるわけではなく、現象が起きるPCとそうでないPCがあります。

Kintex-7搭載のPCI Expressボード「Cosmo-K」でもこの現象が出るので、ハードの問題なのか、VivadoのIPコアのバグなのか切り分けができませんでした。

この現象は、MIGを入れてDMAとDDR3メモリを連携させたあたりから起き始めた気がするので、シグナルインテグリティの問題だったら・・と思うと量産に踏み切る覚悟ができませんでした。

Acpierr1

私の古いPC(上の写真)では、起動時にリブートしてしまうときに一瞬ブルースクリーンが出るのですが、エラーメッセージに何がかかれているかわからなかったので、画面をビデオに撮ってコマ送りで見てみました。

すると、

Acpierr2

ACPI BIOS ERRORと書かれています。これは根が深そうです。新しいPCでは画面にランダムな点がいっぱいでて再起動してしまいます。

いろいろチャレンジしてみて、ようやく原因がわかりました。

Pcie_dma_async

問題は未接続のAXIのBYPASSが存在するためのようです。

Acpierr6

M_AXI_BYPASSというポートは、BAR2にアクセスされたデータが出てくるポートなのですが、これが未接続だとPCの起動時に問題を起こすようです。

使わないのであれば、XDMAの設定でAXI_BYPASSを無効にしたほうがいいでしょう。

Acpierr4

AXI_BYPASSに適当なBRAMをつないでおくくらいではダメで、全アドレスを処理できなければならないのかもしれません。

こうしてAXI_BYPASSのポートが消えると、いままで起動できなかったPCでも問題なく起動するようになりました。

Acpierr5

 

いま、PCI Express経由でDDR3メモリ(データレート1600MHz)に6TByte程度くらいReadとWriteを繰り返していますが、エラーは一つも起きていません。

Cosmo-Kのエラー率は10^-13以下といえます。

Acpierr3

 

これで、Kintex-7搭載のPCI Expressボード「Cosmo-K」の量産に踏み切れます。


© 2017 TokushuDenshiKairo Inc. All rights reserved