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

# XDC constraints for the HiTech Global HTG-9200 board
# part: xcvu9p-flgb2104-2-e
# part: xcvu13p-fhgb2104-2-e

# DDR4 A
set_property -dict {LOC B36  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[0]}]
set_property -dict {LOC C32  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[1]}]
set_property -dict {LOC D34  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[2]}]
set_property -dict {LOC C33  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[3]}]
set_property -dict {LOC A35  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[4]}]
set_property -dict {LOC D38  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[5]}]
set_property -dict {LOC A39  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[6]}]
set_property -dict {LOC C38  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[7]}]
set_property -dict {LOC B39  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[8]}]
set_property -dict {LOC D33  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[9]}]
set_property -dict {LOC A10  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[10]}]
set_property -dict {LOC D39  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[11]}]
set_property -dict {LOC C34  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[12]}]
set_property -dict {LOC A38  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[13]}]
set_property -dict {LOC A40  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[14]}]
set_property -dict {LOC E36  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[15]}]
set_property -dict {LOC E38  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_a[16]}]

set_property -dict {LOC B34  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_act_n}]
set_property -dict {LOC A37  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_alert_n}]

set_property -dict {LOC C39  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_ba[0]}]
set_property -dict {LOC E39  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_ba[1]}]
set_property -dict {LOC B40  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_bg[0]}]

set_property -dict {LOC D40  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_cke}]
set_property -dict {LOC A32  IOSTANDARD DIFF_SSTL2_DCI} [get_ports {ddr4_a_ck_t}]
set_property -dict {LOC A33  IOSTANDARD DIFF_SSTL2_DCI} [get_ports {ddr4_a_ck_c}]
set_property -dict {LOC B32  IOSTANDARD SSTL12_DCI} [get_ports {ddr4_a_cs_n}]

set_property -dict {LOC A34  IOSTANDARD LVCMOS12} [get_ports {ddr4_a_odt}]
set_property -dict {LOC E40  IOSTANDARD LVCMOS12} [get_ports {ddr4_a_rst_n}]
set_property -dict {LOC D31  IOSTANDARD LVCMOS12} [get_ports {ddr4_a_par}]
set_property -dict {LOC B37  IOSTANDARD LVCMOS12} [get_ports {ddr4_a_ten}]

set_property -dict {LOC N28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[0]}]
set_property -dict {LOC N26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[1]}]
set_property -dict {LOC R27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[2]}]
set_property -dict {LOC P26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[3]}]
set_property -dict {LOC P28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[4]}]
set_property -dict {LOC R26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[5]}]
set_property -dict {LOC T27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[6]}]
set_property -dict {LOC T26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[7]}]
set_property -dict {LOC H29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[8]}]
set_property -dict {LOC G27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[9]}]
set_property -dict {LOC D28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[10]}]
set_property -dict {LOC F27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[11]}]
set_property -dict {LOC G29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[12]}]
set_property -dict {LOC G26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[13]}]
set_property -dict {LOC E28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[14]}]
set_property -dict {LOC E27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[15]}]
set_property -dict {LOC H28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[16]}]
set_property -dict {LOC L27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[17]}]
set_property -dict {LOC J28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[18]}]
set_property -dict {LOC H27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[19]}]
set_property -dict {LOC J29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[20]}]
set_property -dict {LOC M27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[21]}]
set_property -dict {LOC K28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[22]}]
set_property -dict {LOC J28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[23]}]
set_property -dict {LOC E30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[24]}]
set_property -dict {LOC B29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[25]}]
set_property -dict {LOC A29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[26]}]
set_property -dict {LOC C29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[27]}]
set_property -dict {LOC D30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[28]}]
set_property -dict {LOC B30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[29]}]
set_property -dict {LOC A30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[30]}]
set_property -dict {LOC D29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[31]}]
set_property -dict {LOC T32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[32]}]
set_property -dict {LOC T33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[33]}]
set_property -dict {LOC U31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[34]}]
set_property -dict {LOC U32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[35]}]
set_property -dict {LOC V31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[36]}]
set_property -dict {LOC R33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[37]}]
set_property -dict {LOC U30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[38]}]
set_property -dict {LOC T30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[39]}]
set_property -dict {LOC F32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[40]}]
set_property -dict {LOC E33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[41]}]
set_property -dict {LOC E32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[42]}]
set_property -dict {LOC F33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[43]}]
set_property -dict {LOC G31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[44]}]
set_property -dict {LOC H32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[45]}]
set_property -dict {LOC H31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[46]}]
set_property -dict {LOC G32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[47]}]
set_property -dict {LOC R32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[48]}]
set_property -dict {LOC P32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[49]}]
set_property -dict {LOC R31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[50]}]
set_property -dict {LOC N32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[51]}]
set_property -dict {LOC N31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[52]}]
set_property -dict {LOC N34  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[53]}]
set_property -dict {LOC P31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[54]}]
set_property -dict {LOC N33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[55]}]
set_property -dict {LOC L30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[56]}]
set_property -dict {LOC K32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[57]}]
set_property -dict {LOC M30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[58]}]
set_property -dict {LOC K33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[59]}]
set_property -dict {LOC J31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[60]}]
set_property -dict {LOC L33  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[61]}]
set_property -dict {LOC K31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[62]}]
set_property -dict {LOC L32  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[63]}]
set_property -dict {LOC J35  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[64]}]
set_property -dict {LOC G34  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[65]}]
set_property -dict {LOC G37  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[66]}]
set_property -dict {LOC H34  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[67]}]
set_property -dict {LOC J36  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[68]}]
set_property -dict {LOC F35  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[69]}]
set_property -dict {LOC F37  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[70]}]
set_property -dict {LOC F34  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dq[71]}]

set_property -dict {LOC P29  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[0]}]
set_property -dict {LOC N29  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[0]}]
set_property -dict {LOC F28  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[1]}]
set_property -dict {LOC F29  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[1]}]
set_property -dict {LOC K26  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[2]}]
set_property -dict {LOC K27  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[2]}]
set_property -dict {LOC A27  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[3]}]
set_property -dict {LOC A28  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[3]}]
set_property -dict {LOC V32  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[4]}]
set_property -dict {LOC V33  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[4]}]
set_property -dict {LOC J33  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[5]}]
set_property -dict {LOC H33  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[5]}]
set_property -dict {LOC M34  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[6]}]
set_property -dict {LOC L34  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[6]}]
set_property -dict {LOC K30  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[7]}]
set_property -dict {LOC J30  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[7]}]
set_property -dict {LOC H36  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_t[8]}]
set_property -dict {LOC G36  IOSTANDARD DIFF_POD12} [get_ports {ddr4_a_dqs_c[8]}]

set_property -dict {LOC T28  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[0]}]
set_property -dict {LOC J26  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[1]}]
set_property -dict {LOC M29  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[2]}]
set_property -dict {LOC C27  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[3]}]
set_property -dict {LOC U34  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[4]}]
set_property -dict {LOC G30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[5]}]
set_property -dict {LOC R30  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[6]}]
set_property -dict {LOC M31  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[7]}]
set_property -dict {LOC H37  IOSTANDARD POD12_DCI} [get_ports {ddr4_a_dm_dbi_n[8]}]
