配線しようとしている LUT ロードの入力が、ほかの入力とスワップされていないことを確認する必要があります。これには、次の手順に従って LUT ロードのセル入力を固定します。
- Device ウィンドウを開きます。
- ロード LUT を選択します。
- 右クリックし、Lock Cell Input Pins をクリックします。
これと同等の Tcl コマンドは、次のとおりです。
set_property LOCK_PINS {NAME:BEL_PIN} <cell object>
配置の物理合成でピン スワッピングがされないようにするには、DONT_TOUCH 制約を LUT セルに適用する必要があります。Tcl コマンドは次のとおりです。
set_property
DONT_TOUCH TRUE <cell object>
固定配線および複数の LUT ロードがあるネットに対しては、次の Tcl スクリプトを使用してすべての LUT ロードのセル入力を固定できます。
set fixed_nets [get_nets -hierarchical -filter IS_ROUTE_FIXED] foreach LUT_load_pin [get_pins -leaf -of [get_nets $fixed_nets] \
-filter DIRECTION==IN&&REF_NAME=~LUT*] {
set pin [get_property REF_PIN_NAME $LUT_load_pin]
set BEL_pin [file tail [get_bel_pins -of [get_pins $LUT_load_pin]]] set LUT_name [get_property PARENT_CELL $LUT_load_pin]
# need to handle condition when LOCK_pins property already exists on LUT set existing_LOCK_PIN [get_property LOCK_PINS [get_cells $LUT_name]]
if { $existing_LOCK_PIN ne "" } {
reset_property LOCK_PINS [get_cells $LUT_name]
}
set_property LOCK_PINS \
[lsort -unique [concat $existing_LOCK_PIN $pin:$BEL_pin]] [get_cells $LUT_name]
}