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

ID 683641
日付 9/30/2019
Public
ドキュメント目次

6.5.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 "10 10 20 20"

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

インスタンスの「a|b|c」を非矩形L字型Logic Lock領域へ割り当てます。ソフトウェアは、それぞれ4個の数字を新しい矩形として処理します。

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 "10 10 20 20"
set_instance_assignment –name PLACE_REGION –to a|b|c|d "0 0 15 15"

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

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

set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20"
set_instance_assignment –name PLACE_REGION –to e|f|g "10 10 20 20"

予約Logic Lock領域の割り当て

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

set_instance_assignment –name PLACE_REGION –to a|b|c "10 10 20 20"
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 "10 10 20 20"

# 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 "10 10 30 20"