# 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 C1
# 5x K4A8G165WB-BCTD / MT40A512M16HA-075E
set_property -dict {LOC AT30 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[0]}]
set_property -dict {LOC AR29 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[1]}]
set_property -dict {LOC AP30 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[2]}]
set_property -dict {LOC AR32 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[3]}]
set_property -dict {LOC AU30 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[4]}]
set_property -dict {LOC AP28 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[5]}]
set_property -dict {LOC AW31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[6]}]
set_property -dict {LOC AM30 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[7]}]
set_property -dict {LOC AR33 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[8]}]
set_property -dict {LOC AN28 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[9]}]
set_property -dict {LOC AV31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[10]}]
set_property -dict {LOC AP29 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[11]}]
set_property -dict {LOC AR31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[12]}]
set_property -dict {LOC AN30 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[13]}]
set_property -dict {LOC AN32 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[14]}]
set_property -dict {LOC AV32 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[15]}]
set_property -dict {LOC BA34 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_adr[16]}]
set_property -dict {LOC AP34 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_ba[0]}]
set_property -dict {LOC AT31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_ba[1]}]
set_property -dict {LOC AP33 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_bg[0]}]
set_property -dict {LOC AV33 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_bg[1]}]
set_property -dict {LOC AT34 IOSTANDARD DIFF_SSTL12_DCI} [get_ports {ddr4_c1_ck_t}]
set_property -dict {LOC AU34 IOSTANDARD DIFF_SSTL12_DCI} [get_ports {ddr4_c1_ck_c}]
set_property -dict {LOC AP31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_cke}]
set_property -dict {LOC AR34 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_cs_n}]
set_property -dict {LOC AU33 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_act_n}]
set_property -dict {LOC AN31 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_odt}]
set_property -dict {LOC AW26 IOSTANDARD SSTL12_DCI     } [get_ports {ddr4_c1_par}]
set_property -dict {LOC AV25 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c1_reset_n}]
set_property -dict {LOC BA31 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c1_alert_n}]
set_property -dict {LOC AT27 IOSTANDARD LVCMOS12       } [get_ports {ddr4_c1_ten}]

set_property -dict {LOC AV41 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[0]}]
set_property -dict {LOC BB39 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[1]}]
set_property -dict {LOC AY42 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[2]}]
set_property -dict {LOC BA40 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[3]}]
set_property -dict {LOC AV42 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[4]}]
set_property -dict {LOC BA39 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[5]}]
set_property -dict {LOC AW41 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[6]}]
set_property -dict {LOC BB40 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[7]}]
set_property -dict {LOC AV38 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[8]}]
set_property -dict {LOC BA37 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[9]}]
set_property -dict {LOC AW38 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[10]}]
set_property -dict {LOC AV37 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[11]}]
set_property -dict {LOC AU37 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[12]}]
set_property -dict {LOC AW36 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[13]}]
set_property -dict {LOC BB38 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[14]}]
set_property -dict {LOC AV36 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[15]}]
set_property -dict {LOC BB34 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[16]}]
set_property -dict {LOC AY32 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[17]}]
set_property -dict {LOC BB33 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[18]}]
set_property -dict {LOC AY33 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[19]}]
set_property -dict {LOC BA36 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[20]}]
set_property -dict {LOC AW34 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[21]}]
set_property -dict {LOC BB37 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[22]}]
set_property -dict {LOC AW33 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[23]}]
set_property -dict {LOC BA32 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[24]}]
set_property -dict {LOC BA29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[25]}]
set_property -dict {LOC BB29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[26]}]
set_property -dict {LOC AY29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[27]}]
set_property -dict {LOC BB32 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[28]}]
set_property -dict {LOC AW30 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[29]}]
set_property -dict {LOC BB28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[30]}]
set_property -dict {LOC AW29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[31]}]
set_property -dict {LOC AY28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[32]}]
set_property -dict {LOC AV26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[33]}]
set_property -dict {LOC BA26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[34]}]
set_property -dict {LOC AV27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[35]}]
set_property -dict {LOC AW28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[36]}]
set_property -dict {LOC AV28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[37]}]
set_property -dict {LOC AY26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[38]}]
set_property -dict {LOC AY27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[39]}]
set_property -dict {LOC AU27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[40]}]
set_property -dict {LOC AP25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[41]}]
set_property -dict {LOC AR27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[42]}]
set_property -dict {LOC AP26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[43]}]
set_property -dict {LOC AU28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[44]}]
set_property -dict {LOC AN25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[45]}]
set_property -dict {LOC AR26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[46]}]
set_property -dict {LOC AR28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[47]}]
set_property -dict {LOC AM29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[48]}]
set_property -dict {LOC AK30 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[49]}]
set_property -dict {LOC AL29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[50]}]
set_property -dict {LOC AH30 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[51]}]
set_property -dict {LOC AM28 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[52]}]
set_property -dict {LOC AJ30 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[53]}]
set_property -dict {LOC AK29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[54]}]
set_property -dict {LOC AJ29 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[55]}]
set_property -dict {LOC AL25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[56]}]
set_property -dict {LOC AH26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[57]}]
set_property -dict {LOC AL27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[58]}]
set_property -dict {LOC AJ25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[59]}]
set_property -dict {LOC AM27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[60]}]
set_property -dict {LOC AH27 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[61]}]
set_property -dict {LOC AM25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[62]}]
set_property -dict {LOC AJ26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[63]}]
set_property -dict {LOC AK13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[64]}]
set_property -dict {LOC AJ13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[65]}]
set_property -dict {LOC AL14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[66]}]
set_property -dict {LOC AH13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[67]}]
set_property -dict {LOC AK14 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[68]}]
set_property -dict {LOC AH12 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[69]}]
set_property -dict {LOC AL15 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[70]}]
set_property -dict {LOC AK12 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dq[71]}]
set_property -dict {LOC AY41 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[0]}]
set_property -dict {LOC BA41 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[0]}]
set_property -dict {LOC AY37 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[1]}]
set_property -dict {LOC AY38 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[1]}]
set_property -dict {LOC BA35 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[2]}]
set_property -dict {LOC BB35 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[2]}]
set_property -dict {LOC BA30 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[3]}]
set_property -dict {LOC BB30 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[3]}]
set_property -dict {LOC BA27 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[4]}]
set_property -dict {LOC BB27 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[4]}]
set_property -dict {LOC AT29 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[5]}]
set_property -dict {LOC AU29 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[5]}]
set_property -dict {LOC AJ28 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[6]}]
set_property -dict {LOC AK28 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[6]}]
set_property -dict {LOC AN26 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[7]}]
set_property -dict {LOC AN27 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[7]}]
set_property -dict {LOC AJ15 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_t[8]}]
set_property -dict {LOC AJ14 IOSTANDARD DIFF_POD12_DCI } [get_ports {ddr4_c1_dqs_c[8]}]
set_property -dict {LOC AW39 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[0]}]
set_property -dict {LOC AU35 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[1]}]
set_property -dict {LOC AY34 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[2]}]
set_property -dict {LOC AY31 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[3]}]
set_property -dict {LOC AU25 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[4]}]
set_property -dict {LOC AT26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[5]}]
set_property -dict {LOC AL30 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[6]}]
set_property -dict {LOC AK26 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[7]}]
set_property -dict {LOC AM13 IOSTANDARD POD12_DCI      } [get_ports {ddr4_c1_dm_dbi_n[8]}]
