# SPDX-License-Identifier: MIT
#
# Copyright (c) 2014-2026 FPGA Ninja, LLC
#
# Authors:
# - Alex Forencich
#

# XDC constraints for the fb2CG@KU15P
# part: xcku15p-ffve1760-2-e

# DDR4 C0
# 5x K4A8G165WB-BCTD / MT40A512M16HA-075E
set_property -dict {LOC AY22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[0]}]
set_property -dict {LOC AY23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[1]}]
set_property -dict {LOC AV23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[2]}]
set_property -dict {LOC AY24 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[3]}]
set_property -dict {LOC AK23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[4]}]
set_property -dict {LOC AV21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[5]}]
set_property -dict {LOC AV22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[6]}]
set_property -dict {LOC AT24 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[7]}]
set_property -dict {LOC AW24 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[8]}]
set_property -dict {LOC AY21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[9]}]
set_property -dict {LOC AT22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[10]}]
set_property -dict {LOC AP23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[11]}]
set_property -dict {LOC BA21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[12]}]
set_property -dict {LOC AU24 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[13]}]
set_property -dict {LOC AL22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[14]}]
set_property -dict {LOC BB22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[15]}]
set_property -dict {LOC BB25 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_adr[16]}]
set_property -dict {LOC AW21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_ba[0]}]
set_property -dict {LOC AW23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_ba[1]}]
set_property -dict {LOC BA22 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_bg[0]}]
set_property -dict {LOC BB23 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_bg[1]}]
set_property -dict {LOC BA24 IOSTANDARD DIFF_SSTL12_DCI} [get_ports {ddr4_c0_ck_t}]
set_property -dict {LOC BB24 IOSTANDARD DIFF_SSTL12_DCI} [get_ports {ddr4_c0_ck_c}]
set_property -dict {LOC AL21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_cke}]
set_property -dict {LOC BA25 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_cs_n}]
set_property -dict {LOC AR21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_act_n}]
set_property -dict {LOC AT21 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_odt}]
set_property -dict {LOC AK17 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c0_par}]
set_property -dict {LOC BB20 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c0_reset_n}]
set_property -dict {LOC AV20 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c0_alert_n}]
set_property -dict {LOC AU20 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c0_ten}]

set_property -dict {LOC AL17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[0]}]
set_property -dict {LOC AJ16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[1]}]
set_property -dict {LOC AK19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[2]}]
set_property -dict {LOC AK16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[3]}]
set_property -dict {LOC AL19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[4]}]
set_property -dict {LOC AH16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[5]}]
set_property -dict {LOC AM17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[6]}]
set_property -dict {LOC AH17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[7]}]
set_property -dict {LOC AL24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[8]}]
set_property -dict {LOC AH21 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[9]}]
set_property -dict {LOC AK24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[10]}]
set_property -dict {LOC AJ24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[11]}]
set_property -dict {LOC AK21 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[12]}]
set_property -dict {LOC AH22 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[13]}]
set_property -dict {LOC AJ21 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[14]}]
set_property -dict {LOC AJ23 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[15]}]
set_property -dict {LOC BA14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[16]}]
set_property -dict {LOC BB13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[17]}]
set_property -dict {LOC AY13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[18]}]
set_property -dict {LOC BB14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[19]}]
set_property -dict {LOC AY14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[20]}]
set_property -dict {LOC BB15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[21]}]
set_property -dict {LOC BA15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[22]}]
set_property -dict {LOC BB12 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[23]}]
set_property -dict {LOC AT15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[24]}]
set_property -dict {LOC AW13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[25]}]
set_property -dict {LOC AU15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[26]}]
set_property -dict {LOC AU13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[27]}]
set_property -dict {LOC AT16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[28]}]
set_property -dict {LOC AW14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[29]}]
set_property -dict {LOC AU14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[30]}]
set_property -dict {LOC AV13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[31]}]
set_property -dict {LOC BB18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[32]}]
set_property -dict {LOC AY18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[33]}]
set_property -dict {LOC BA19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[34]}]
set_property -dict {LOC AW19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[35]}]
set_property -dict {LOC BB17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[36]}]
set_property -dict {LOC AW18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[37]}]
set_property -dict {LOC BB19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[38]}]
set_property -dict {LOC AY19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[39]}]
set_property -dict {LOC AV17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[40]}]
set_property -dict {LOC AT19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[41]}]
set_property -dict {LOC AU18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[42]}]
set_property -dict {LOC AU19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[43]}]
set_property -dict {LOC AU17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[44]}]
set_property -dict {LOC AR19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[45]}]
set_property -dict {LOC AV18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[46]}]
set_property -dict {LOC AR18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[47]}]
set_property -dict {LOC AN16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[48]}]
set_property -dict {LOC AM20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[49]}]
set_property -dict {LOC AN18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[50]}]
set_property -dict {LOC AN20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[51]}]
set_property -dict {LOC AP16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[52]}]
set_property -dict {LOC AL20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[53]}]
set_property -dict {LOC AN17 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[54]}]
set_property -dict {LOC AP20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[55]}]
set_property -dict {LOC AR23 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[56]}]
set_property -dict {LOC AM23 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[57]}]
set_property -dict {LOC AR24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[58]}]
set_property -dict {LOC AM24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[59]}]
set_property -dict {LOC AR22 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[60]}]
set_property -dict {LOC AN22 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[61]}]
set_property -dict {LOC AP24 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[62]}]
set_property -dict {LOC AM22 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[63]}]
set_property -dict {LOC AM14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[64]}]
set_property -dict {LOC AR12 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[65]}]
set_property -dict {LOC AP15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[66]}]
set_property -dict {LOC AR13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[67]}]
set_property -dict {LOC AM15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[68]}]
set_property -dict {LOC AT12 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[69]}]
set_property -dict {LOC AP14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[70]}]
set_property -dict {LOC AP13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dq[71]}]
set_property -dict {LOC AJ19 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[0]}]
set_property -dict {LOC AJ18 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[0]}]
set_property -dict {LOC AH20 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[1]}]
set_property -dict {LOC AJ20 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[1]}]
set_property -dict {LOC AY12 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[2]}]
set_property -dict {LOC BA12 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[2]}]
set_property -dict {LOC AU12 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[3]}]
set_property -dict {LOC AV12 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[3]}]
set_property -dict {LOC AY17 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[4]}]
set_property -dict {LOC BA17 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[4]}]
set_property -dict {LOC AR17 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[5]}]
set_property -dict {LOC AT17 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[5]}]
set_property -dict {LOC AM19 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[6]}]
set_property -dict {LOC AM18 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[6]}]
set_property -dict {LOC AN21 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[7]}]
set_property -dict {LOC AP21 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[7]}]
set_property -dict {LOC AN13 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_t[8]}]
set_property -dict {LOC AN12 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c0_dqs_c[8]}]
set_property -dict {LOC AK18 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[0]}]
set_property -dict {LOC AK22 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[1]}]
set_property -dict {LOC AY16 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[2]}]
set_property -dict {LOC AV15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[3]}]
set_property -dict {LOC BA20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[4]}]
set_property -dict {LOC AT20 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[5]}]
set_property -dict {LOC AP19 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[6]}]
set_property -dict {LOC AN23 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[7]}]
set_property -dict {LOC AR14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c0_dm_dbi_n[8]}]
