From 6ba411294ed8e8976f1dd2a652df04ea5defd9e0 Mon Sep 17 00:00:00 2001 From: Rick Altherr Date: Thu, 4 Jan 2018 15:11:00 -0800 Subject: [PATCH] lib: xc7series: verify bitstream variants parse to same configurations Normal, debug, and per-frame CRC bitstreams differ in the commands used to write the frame data but should generate equivalent configurations. Note that this currently fails as something is wrong with normal bitstream parsing. Signed-off-by: Rick Altherr --- lib/CMakeLists.txt | 3 +- lib/test_data/configuration_test.bit | Bin 0 -> 2192111 bytes lib/test_data/configuration_test.debug.bit | Bin 0 -> 2257007 bytes .../configuration_test.perframecrc.bit | Bin 0 -> 2298099 bytes lib/test_data/configuration_test.yaml | 1680 +++++++++++++++++ lib/xilinx/xc7series/configuration_test.cc | 105 +- 6 files changed, 1785 insertions(+), 3 deletions(-) create mode 100644 lib/test_data/configuration_test.bit create mode 100644 lib/test_data/configuration_test.debug.bit create mode 100644 lib/test_data/configuration_test.perframecrc.bit create mode 100644 lib/test_data/configuration_test.yaml diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 8000b610..1102dbdc 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -62,7 +62,8 @@ if (PRJXRAY_BUILD_TESTING) target_link_libraries(xilinx_xc7series_configuration_test libprjxray gtest_main absl::span) add_test(NAME xilinx_xc7series_configuration_test - COMMAND xilinx_xc7series_configuration_test) + COMMAND xilinx_xc7series_configuration_test + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test_data) add_executable(xilinx_xc7series_configuration_packet_test xilinx/xc7series/configuration_packet_test.cc) diff --git a/lib/test_data/configuration_test.bit b/lib/test_data/configuration_test.bit new file mode 100644 index 0000000000000000000000000000000000000000..6ef4f5effd0c2204ccfd4e6d18993a376ff84bee GIT binary patch literal 2192111 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 z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfWWo{ z_I;tdVh05No+3G!acQ5VQn!3AI^DI|f-TT#9-aOkzfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjYOOW@A0=ej+EK}44R-G1qKuA5x07e#q7*XYDW zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk zc?lfo<`vHyMbmntiKY=CK!CtR1)NVN%5UWa2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyFkyi^e|y3K+{o$&H!_oX2oNAZfB*pk1PBnA zc7Y@RVG6dOnt~X|7~+A>7%SWDs`|UV0`(IhK!5-N0t9wXz;)N|*{XSV1nejIwWT)6 zuT4ahpTM3^?P5&r@z(vVpBQg_Y9l~^009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!Ct( z39J@H>)mg<{E0F)EB#w7s#avZO~ZTAuz&d&4BKd~X``~W=j*B6E=Rk~wN{JuVP3R; g|BL7U`KaB7%iJ+4%kybZZJ{l^2fPQS;XUyG0gk7izyJUM literal 0 HcmV?d00001 diff --git a/lib/test_data/configuration_test.debug.bit b/lib/test_data/configuration_test.debug.bit new file mode 100644 index 0000000000000000000000000000000000000000..3dfd7482726fae3143cfd595c1a8cc518e6904fc GIT binary patch literal 2257007 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 zjVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT z_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt( z4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T z_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj# zjVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT z_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt(4Xz_T_)mj#jVdQT_)nt( z4X(4`^FI8i!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{6 z5g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g z!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR42 z6CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDi zQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{6 z5g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g z!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR42 z6CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDi zQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{6 z5g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g z!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR426CeDiQGo{65g+`g!MR42 z6CeDiQGo{6S@5}v|1>z)sB+?i|1>Jl;5y=i|1>z)sB+?i|1>Jl;5y=i|1>z)sB+?i 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 literal 0 HcmV?d00001 diff --git a/lib/test_data/configuration_test.perframecrc.bit b/lib/test_data/configuration_test.perframecrc.bit new file mode 100644 index 0000000000000000000000000000000000000000..7179e2d32cb29210a1d084aa4e4d676424494316 GIT binary patch literal 2298099 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 +idcode: 0x362c093 +configuration_ranges: + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 0 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 0 + minor: 42 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 1 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 1 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 2 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 2 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 3 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 3 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 4 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 4 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 5 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 5 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 6 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 6 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 7 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 7 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 8 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 8 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 9 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 9 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 10 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 10 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 11 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 11 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 12 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 12 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 13 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 13 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 14 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 14 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 15 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 15 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 16 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 16 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 17 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 17 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 18 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 18 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 19 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 19 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 20 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 20 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 21 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 21 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 22 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 22 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 23 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 23 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 24 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 24 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 25 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 25 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 26 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 26 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 27 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 27 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 28 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 28 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 29 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 29 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 30 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 30 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 31 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 31 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 32 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 32 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 33 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 33 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 34 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 34 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 35 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 35 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 36 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 36 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 37 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 37 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 38 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 38 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 39 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 39 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 40 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 40 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 41 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 41 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 42 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 42 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 43 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 0 + column: 43 + minor: 42 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 0 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 0 + minor: 42 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 1 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 1 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 2 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 2 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 3 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 3 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 4 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 4 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 5 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 5 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 6 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 6 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 7 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 7 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 8 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 8 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 9 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 9 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 10 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 10 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 11 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 11 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 12 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 12 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 13 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 13 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 14 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 14 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 15 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 15 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 16 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 16 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 17 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 17 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 18 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 18 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 19 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 19 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 20 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 20 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 21 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 21 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 22 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 22 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 23 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 23 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 24 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 24 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 25 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 25 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 26 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 26 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 27 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 27 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 28 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 28 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 29 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 29 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 30 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 30 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 31 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 31 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 32 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 32 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 33 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 33 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 34 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 34 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 35 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 35 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 36 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 36 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 37 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: top + row: 1 + column: 37 + minor: 32 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 0 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 0 + minor: 42 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 1 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 1 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 2 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 2 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 3 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 3 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 4 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 4 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 5 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 5 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 6 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 6 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 7 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 7 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 8 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 8 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 9 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 9 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 10 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 10 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 11 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 11 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 12 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 12 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 13 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 13 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 14 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 14 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 15 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 15 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 16 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 16 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 17 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 17 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 18 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 18 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 19 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 19 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 20 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 20 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 21 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 21 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 22 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 22 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 23 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 23 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 24 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 24 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 25 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 25 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 26 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 26 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 27 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 27 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 28 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 28 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 29 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 29 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 30 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 30 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 31 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 31 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 32 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 32 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 33 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 33 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 34 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 34 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 35 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 35 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 36 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 36 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 37 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 37 + minor: 28 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 38 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 38 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 39 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 39 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 40 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 40 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 41 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 41 + minor: 36 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 42 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 42 + minor: 30 + - ! + begin: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 43 + minor: 0 + end: ! + block_type: CLB_IO_CLK + row_half: bottom + row: 0 + column: 43 + minor: 42 + - ! + begin: ! + block_type: BLOCK_RAM + row_half: top + row: 0 + column: 0 + minor: 0 + end: ! + block_type: BLOCK_RAM + row_half: top + row: 0 + column: 3 + minor: 0 + - ! + begin: ! + block_type: BLOCK_RAM + row_half: top + row: 1 + column: 0 + minor: 0 + end: ! + block_type: BLOCK_RAM + row_half: top + row: 1 + column: 2 + minor: 0 + - ! + begin: ! + block_type: BLOCK_RAM + row_half: bottom + row: 0 + column: 0 + minor: 0 + end: ! + block_type: BLOCK_RAM + row_half: bottom + row: 0 + column: 3 + minor: 0 diff --git a/lib/xilinx/xc7series/configuration_test.cc b/lib/xilinx/xc7series/configuration_test.cc index a1f2a623..62d8facc 100644 --- a/lib/xilinx/xc7series/configuration_test.cc +++ b/lib/xilinx/xc7series/configuration_test.cc @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -106,6 +107,106 @@ TEST(ConfigurationTest, ConstructFromPacketsWithAutoincrement) { absl::Span frame_span(frame); EXPECT_EQ(test_config->part().idcode(), static_cast(0x1234)); EXPECT_EQ(test_config->frames().size(), static_cast(2)); - EXPECT_EQ(test_config->frames().at(0x456F), frame_span.subspan(0, 101)); - EXPECT_EQ(test_config->frames().at(0x4580), frame_span.subspan(101)); + EXPECT_EQ(test_config->frames().at(0x456F), std::vector(101, 0xAA)); + EXPECT_EQ(test_config->frames().at(0x4580), std::vector(101, 0xBB)); +} + +TEST(ConfigurationTest, DebugAndPerFrameCrcBitstreamsProduceEqualConfigurations) { + auto part = xc7series::Part::FromFile("configuration_test.yaml"); + ASSERT_TRUE(part); + + auto debug_bitstream = prjxray::MemoryMappedFile::InitWithFile( + "configuration_test.debug.bit"); + ASSERT_TRUE(debug_bitstream); + + auto debug_reader = xc7series::BitstreamReader::InitWithBytes( + debug_bitstream->as_bytes()); + ASSERT_TRUE(debug_reader); + + auto debug_configuration = xc7series::Configuration::InitWithPackets( + *part, *debug_reader); + ASSERT_TRUE(debug_configuration); + + auto perframecrc_bitstream = prjxray::MemoryMappedFile::InitWithFile( + "configuration_test.perframecrc.bit"); + ASSERT_TRUE(perframecrc_bitstream); + + auto perframecrc_reader = xc7series::BitstreamReader::InitWithBytes( + perframecrc_bitstream->as_bytes()); + ASSERT_TRUE(perframecrc_reader); + + auto perframecrc_configuration = xc7series::Configuration::InitWithPackets( + *part, *perframecrc_reader); + ASSERT_TRUE(perframecrc_configuration); + + for (auto debug_frame : debug_configuration->frames()) { + auto perframecrc_frame = perframecrc_configuration->frames().find(debug_frame.first); + if (perframecrc_frame == perframecrc_configuration->frames().end()) { + ADD_FAILURE() << debug_frame.first << ": missing in perframecrc bitstream"; + continue; + } + + for (int ii = 0; ii < 101; ++ii) { + EXPECT_EQ(perframecrc_frame->second[ii], debug_frame.second[ii]) + << debug_frame.first << ": word " << ii; + } + } + + for (auto perframecrc_frame : perframecrc_configuration->frames()) { + auto debug_frame = debug_configuration->frames().find(perframecrc_frame.first); + if (debug_frame == debug_configuration->frames().end()) { + ADD_FAILURE() << perframecrc_frame.first + << ": unexpectedly present in perframecrc bitstream"; + } + } +} + +TEST(ConfigurationTest, DebugAndNormalBitstreamsProduceEqualConfigurations) { + auto part = xc7series::Part::FromFile("configuration_test.yaml"); + ASSERT_TRUE(part); + + auto debug_bitstream = prjxray::MemoryMappedFile::InitWithFile( + "configuration_test.debug.bit"); + ASSERT_TRUE(debug_bitstream); + + auto debug_reader = xc7series::BitstreamReader::InitWithBytes( + debug_bitstream->as_bytes()); + ASSERT_TRUE(debug_reader); + + auto debug_configuration = xc7series::Configuration::InitWithPackets( + *part, *debug_reader); + ASSERT_TRUE(debug_configuration); + + auto normal_bitstream = prjxray::MemoryMappedFile::InitWithFile( + "configuration_test.bit"); + ASSERT_TRUE(normal_bitstream); + + auto normal_reader = xc7series::BitstreamReader::InitWithBytes( + normal_bitstream->as_bytes()); + ASSERT_TRUE(normal_reader); + + auto normal_configuration = xc7series::Configuration::InitWithPackets( + *part, *normal_reader); + ASSERT_TRUE(normal_configuration); + + for (auto debug_frame : debug_configuration->frames()) { + auto normal_frame = normal_configuration->frames().find(debug_frame.first); + if (normal_frame == normal_configuration->frames().end()) { + ADD_FAILURE() << debug_frame.first << ": missing in normal bitstream"; + continue; + } + + for (int ii = 0; ii < 101; ++ii) { + EXPECT_EQ(normal_frame->second[ii], debug_frame.second[ii]) + << debug_frame.first << ": word " << ii; + } + } + + for (auto normal_frame : normal_configuration->frames()) { + auto debug_frame = debug_configuration->frames().find(normal_frame.first); + if (debug_frame == debug_configuration->frames().end()) { + ADD_FAILURE() << normal_frame.first + << ": unexpectedly present in normal bitstream"; + } + } }