インテルのみ表示可能 — GUID: mwh1409959596379
Ixiasoft
インテルのみ表示可能 — GUID: mwh1409959596379
Ixiasoft
1.5.1.1. 電源投入時の値の指定
電源投入時のレベルは、altera_attribute 割り当てをソースコードで使用して指定することもできます。この属性により、合成におけるNOTゲート・プッシュバックの実行を強制します。合成ツールは、コアレジスターの電源投入時の状態を変更することができません。
Power-Up Level ロジックオプションは、特定のレジスター、またはデザイン・エンティティー、モジュール、もしくはサブデザインに適用することができます。このオプションを割り当てると、そのブロック内のすべてのレジスターがその値を受信するようになります。レジスターはデフォルトでは 0 で起動します。したがって、この割り当てを使用し、NOTゲート・プッシュバックを使用することで、すべてのレジスターを 1 で起動するように強制することができます。
大規模なデザイン・エンティティーで Power-Up Level を論理レベルの High に設定すると、必要なインバーターの数が原因で結果の品質が低下する可能性があります。場合によっては、enable 信号の推論または二次的なコントロール・ロジックの推論により、このデザインのスタイルで問題が発生することがあります。また、このタイプのデザインは移行がより難しくなる可能性があります。
一部の合成ツールでは、レジスターされる信号のデフォルト値または初期値を読み出し、その動作をデバイスに実装することもできます。例えば、 インテル® Quartus® Prime プロ・エディションの合成では、レジスターされる信号のデフォルト値を Power-Up Level の設定に変換します。 インテル® Quartus® Prime開発ソフトウェアでデフォルト値を読み出すと、合成後の動作は、機能シミュレーション時のHDLコードの電源投入時の状態と一致します。
Verilogにおける電源投入時の値がHighのレジスター
reg q = 1’b1; //q has a default value of ‘1’ always @ (posedge clk) begin q <= d; end
VHDLにおける電源投入時のレベルがHighのレジスター
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;