このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
インテルのみ表示可能 — 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 > 形式で新しい行に指定し、次の行に 110101 や abcde などのメモリーワードを指定します。
次の例は、RAMのMemory Initialization File (.mif) の一部を示しています。
テキスト・ファイル・フォーマット : readmembコマンドでのRAMの初期化
@0
00000000
@1
00000001
@2
00000010
…
@e
00001110
@f
00001111