クリティカルな問題
インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション・バージョン 19.3 で問題が発生したため、インテル® P タイル / H タイル Avalon® PCI Express* のメモリー・マップド (Avalon-MM) IP が異なるサイズの複数の BAR で構成されている場合、BAM の上位アドレスが BAR サイズに従って正しくマスクされていません。システムが BAR の物理アドレスを最高の BAR サイズに揃えない場合、ユーザー側のサイズのアドレスフィールドが正しくありません。
例えば BAR0: 64KB および BAR2: 1MB の場合、システムは次の物理アドレスを割り当てます。
BAR0 向け F021000
BAR2 向け F020000
BAM アドレスは 20 ビットです
システムが BAR0 オフセット・0x800をターゲットとする書き込みまたは読み取り要求を発行すると、BAM インターフェイスはアドレス0x10800を出力0x00800
インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション・バージョン 19.3 および 19.4 でこの問題を回避するには、アプリケーションが外部で BAM BAR コンジット (bam_bar_o) と BAR サイズを使用してアドレス・マスクを実装できます。
上記の例:
bam_address_fix = (bam_bar_o== 3'b000) を割り当てますか?{4'b0、bam_address_o [15:0]}: bam_address_o;
この問題は、インテル® Quartus® Prime 開発ソフトウェア・プロ・エディションバージョン 20.1 で修正されています。