インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン上の推奨事項

ID 683082
日付 4/13/2020
Public

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

ドキュメント目次

1.5.1.1. パワーアップ値の指定

合成ツールで使用可能なオプションを使用すると、デザインのパワーアップ条件を指定できます。 インテル® Quartus® Primeプロ・エディション 合成は、 Power-Up Leveロジックオプションを提供します。

また、ソースコードでaltera_attribute割り当てを使用してパワーアップレベルを指定することもできます。この属性は、合成ツールがコアレジスターのパワーアップ状態を変更できないため、合成に強制的にNOTゲートのプッシュバックを実行させます。

Power-Up Levelロジックオプションは、特定のレジスター、またはデザイン・エンティティー、モジュール、またはサブデザインに適用できます。このオプションを割り当てると、そのブロック内のすべてのレジスターが値を受け取ります。レジスターはデフォルトで0までパワーアップします。したがって、この割り当てを使用して、NOTゲートのプッシュバックを使用して、すべてのレジスターを1に強制的にパワーアップできます。

大規模なデザイン・エンティティーでPower-Up Levelを論理レベルのHighレベルに設定すると、必要なインバータの数が原因で結果の品質が低下する可能性があります。また、このタイプのデザインを移行することはより困難かもしれません。

一部の合成ツールは、レジスターされた信号のデフォルト値または初期値をリード、この動作をデバイスに実装することもできます。例えば、 インテル® Quartus® Primeプロ・エディション合成は 、レジスターされた信号のデフォルト値をPower-Up Level設定に変換します。 インテル® Quartus® Primeソフトウェアがデフォルト値を読み出すとき、合成された動作は論理シミュレーション中のHDLコードのパワーアップ状態と一致します。

Verilog Register with High Power-Up Value

reg q = 1’b1; //q has a default value of ‘1’
always @ (posedge clk)
begin
   q <= d;
end

VHDL Register with High Power-Up Level

SIGNAL q : STD_LOGIC := '1'; -- q has a default value of '1'
PROCESS (clk, reset)
BEGIN
    IF (rising_edge(clk)) THEN
        q <= d;
    END IF;
END PROCESS;
デザインには、信号タイプに基づいて宣言されていないデフォルトの電源投入条件が含まれている場合があります。 VHDLレジスター信号を整数として宣言する場合、 インテル® Quartus® Prime合成では、整数範囲の左端をパワーアップ値として使用します。デフォルトの符号付き整数タイプの場合、デフォルトのパワーアップ値は最大の負の整数( 100…001 )です。符号なし整数型の場合、デフォルトの起動時の値は0です。
注: ターゲットデバイス・アーキテクチャーがaclraloadなどの2つの非同期制御信号をサポートしていない場合、異なる電源投入状態とリセット状態を設定できません。 NOTゲートのプッシュバック・アルゴリズムがレジスターを1に設定するロジックを作成すると、そのレジスターはパワーアップHighになります。合成属性または初期値を介して異なるパワーアップ条件を設定すると、合成はパワー・アップ・レベルを無視します。