インテル® Quartus® Primeプロ・エディション ユーザーガイド: デザインのコンパイル

ID 683236
日付 12/16/2019
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

インテルのみ表示可能 — GUID: mwh1409959858382

Ixiasoft

ドキュメント目次

1.8.1.4. 初期コンストラクトおよびメモリー・システム・タスク

インテル® Quartus® Prime開発ソフトウェアでは、パワーアップ条件の推論をVerilog HDL initial コンストラクトから行います。 また、 インテル® Quartus® Prime開発ソフトウェアでは、パワーアップ設定も作成します。これには、RAMブロックが含まれます。 インテル® Quartus® Prime開発ソフトウェアでは、合成不可能なコンストラクトが initial ブロックで検出されると、エラーを生成します。

このようなエラーを回避するには、合成不可能なコンストラクト (シミュレーション専用のコンストラクトなど) を translate_off および translate_on 合成ディレクティブ内に囲みます。初期コンストラクトの合成により、合成したデザインのパワーアップ・ステートを、元のHDLコードのパワーアップ・ステートと一致させることがシミュレーションで可能になります。

注: 初期ブロックによるパワーアップ条件の推論は、一部のサードパーティーのEDA合成ツールでは行われません。合成ツール間で変換する場合は、パワーアップ条件の設定を正しく行ってください。

インテル® Quartus® Prime合成では、$readmemb および $readmemh システムタスクをサポートしてメモリーを初期化します。

Verilog HDLコード : readmembコマンドでのRAMの初期化

reg [7:0] ram[0:15];
initial
begin
$readmemb("ram.txt", ram);
end

テキストファイルを作成してメモリーを初期化する場合は、アドレスを@<location > 形式で新しい行に指定し、次の行に 110101abcde などのメモリーワードを指定します。

次の例は、RAMのMemory Initialization File (.mif) の一部を示しています。

テキスト・ファイル・フォーマット : readmembコマンドでのRAMの初期化

@0
00000000
@1
00000001
@2
00000010
…
@e
00001110
@f
00001111