Quartus® Prime プロ・エディションのユーザーガイド: デザイン最適化

ID 683641
日付 7/08/2024
Public
ドキュメント目次

6.7.3. Logic Lock 領域割り当ての例

次の例は、.qsf ファイル内の Logic Lock 領域割り当ての構文です。オプションで、これらの割り当ての Assignment Editor、Logic Lock Regions Window、Chip Planner に入力できます。

矩形 Logic Lock 領域の割り当て

矩形 Logic Lock 領域を左下隅の (10,10) および右上隅の (20,20) へそれぞれ割り当てます。

set_instance_assignment –name PLACE_REGION –to a|b|c "X10 Y10 X20 Y20"

非矩形 Logic Lock 領域の割り当て

完全な階層バス「x|y|z」を持つインスタンスを非矩形 L 字型 Logic Lock 領域に割り当てます。

set_instance_assignment –name PLACE_REGION –to x|y|z "X10 Y10 X20 Y50; X20 Y10 X50 Y20"

従属 Logic Lock インスタンスの割り当て

デフォルトでは、 Quartus® Prime 開発ソフトウェアは、すべての子インスタンスをその親の Logic Lock 領域に制約します。子インスタンスへの制約はすべて、その上位の制約とインターセクトします。以下の例では、「a|b|c|d」の下のすべてのロジックは、矩形 (0,0), (15,15) ではなく、(10,10), (15,15) に制約されます。これは、子の制約が親の制約とインータセクトするために発生します。

set_instance_assignment –name PLACE_REGION –to a|b|c "X10 Y10 X20 Y20"
set_instance_assignment –name PLACE_REGION –to a|b|c|d "X0 Y0 X15 Y15"

複数のLogic Lockインスタンスの割り当て

デフォルトでは、Logic Lock 領域の制約により、他のインスタンスからのロジックが同じ領域を共有することができます。これらの割り当ては、インスタンス c とインスタンス g を同じ場所に配置します。この手法は、インスタンス c とインスタンス g が大きく相互作用する場合に便利です。

set_instance_assignment –name PLACE_REGION –to a|b|c "X10 Y10 X20 Y20"
set_instance_assignment –name PLACE_REGION –to e|f|g "X10 Y10 X20 Y20"

予約 Logic Lock 領域の割り当て

オプションで、1 つのインスタンスおよびその下位にある任意のインスタンスに対し、全 Logic Lock 領域を予約することができます。

set_instance_assignment –name PLACE_REGION –to a|b|c "X10 Y10 X20 Y20"
set_instance_assignment –name RESERVE_PLACE_REGION –to a|b|c ON

# The following assignment causes an error. The logic in e|f|g is not
# legally placeable anywhere:
# set_instance_assignment –name PLACE_REGION –to e|f|g "X10 Y10 X20 Y20"

# The following assignment does *not* cause an error, but is effectively
# constrained to the box (20,10), (30,20), since the (10,10),(20,20) box is reserved
# for a|b|c
set_instance_assignment –name PLACE_REGION –to e|f|g "X10 Y10 X30 Y20"