Skip to content

Commit af451dc

Browse files
committed
chore: fpga22: add u280 floorplan directive
1 parent b05a04d commit af451dc

File tree

2 files changed

+384
-2
lines changed

2 files changed

+384
-2
lines changed

CMakeLists.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ find_package(SDx)
3131
if(SDx_FOUND)
3232
add_tapa_target(
3333
sssp-hw-xo
34-
--enable-synth-util
3534
INPUT src/sssp.cpp
3635
TOP SSSP
37-
CONNECTIVITY ${CMAKE_CURRENT_SOURCE_DIR}/link_config.ini
36+
DIRECTIVE ${CMAKE_CURRENT_SOURCE_DIR}/directive.json
3837
CONSTRAINT ${CMAKE_CURRENT_BINARY_DIR}/constraint.tcl
3938
CLOCK_PERIOD 6.250
4039
PLATFORM xilinx_u280_xdma_201920_3)

directive.json

+383
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,383 @@
1+
{
2+
"pblock_X0Y4_X3Y7": [
3+
"CgpqBucketGen_0",
4+
"CgpqBucketGen_1",
5+
"CgpqBucketGen_2",
6+
"CgpqBucketGen_3",
7+
"CgpqBucketGen_4",
8+
"CgpqBucketGen_5",
9+
"CgpqBucketGen_6",
10+
"CgpqBucketGen_7",
11+
"CgpqBucketGen_8",
12+
"CgpqBucketGen_9",
13+
"CgpqBucketGen_10",
14+
"CgpqBucketGen_11",
15+
"CgpqBucketGen_12",
16+
"CgpqBucketGen_13",
17+
"CgpqBucketGen_14",
18+
"CgpqBucketGen_15",
19+
"CgpqDuplicateDone_0",
20+
"CgpqHeap_9",
21+
"CgpqHeap_11",
22+
"CgpqHeap_13",
23+
"CgpqHeap_14",
24+
"CgpqHeap_15",
25+
"CgpqPushAdapter_0",
26+
"CgpqSwitchDemux_0",
27+
"CgpqSwitchDemux_1",
28+
"CgpqSwitchDemux_2",
29+
"CgpqSwitchDemux_3",
30+
"CgpqSwitchDemux_4",
31+
"CgpqSwitchDemux_5",
32+
"CgpqSwitchDemux_6",
33+
"CgpqSwitchDemux_7",
34+
"CgpqSwitchDemux_8",
35+
"CgpqSwitchDemux_9",
36+
"CgpqSwitchDemux_10",
37+
"CgpqSwitchDemux_11",
38+
"CgpqSwitchDemux_12",
39+
"CgpqSwitchDemux_13",
40+
"CgpqSwitchDemux_14",
41+
"CgpqSwitchDemux_15",
42+
"CgpqSwitchMux_0",
43+
"CgpqSwitchMux_1",
44+
"CgpqSwitchMux_2",
45+
"CgpqSwitchMux_3",
46+
"CgpqSwitchMux_4",
47+
"CgpqSwitchMux_5",
48+
"CgpqSwitchMux_6",
49+
"CgpqSwitchMux_7",
50+
"CgpqSwitchMux_8",
51+
"CgpqSwitchMux_9",
52+
"CgpqSwitchMux_10",
53+
"CgpqSwitchMux_11",
54+
"CgpqSwitchMux_12",
55+
"CgpqSwitchMux_13",
56+
"CgpqSwitchMux_14",
57+
"CgpqSwitchMux_15",
58+
"CgpqSwitchStage_0",
59+
"CgpqSwitchStage_1",
60+
"CgpqSwitchStage_2",
61+
"CgpqSwitchStage_3",
62+
"CgpqSwitchStage_4",
63+
"CgpqSwitchStage_5",
64+
"CgpqSwitchStage_6",
65+
"CgpqSwitchStage_7",
66+
"VertexCache_9",
67+
"VertexCache_10",
68+
"VertexCache_15",
69+
{
70+
"pblock_X4Y4_X7Y7": [],
71+
"pblock_X4Y8_X7Y11": [
72+
"pblock_X0Y8_X3Y11"
73+
],
74+
"pblock_X4Y0_X7Y3": [
75+
"pblock_X0Y0_X3Y3"
76+
],
77+
"pblock_X0Y8_X3Y11": [],
78+
"pblock_X0Y0_X3Y3": [],
79+
"tcl": "\ncreate_pblock pblock_X0Y4_X3Y7\nresize_pblock pblock_X0Y4_X3Y7 -add CLOCKREGION_X0Y4:CLOCKREGION_X3Y7\nresize_pblock pblock_X0Y4_X3Y7 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
80+
}
81+
],
82+
"pblock_X4Y8_X7Y11": [
83+
"CgpqCore_0",
84+
"CgpqCore_1",
85+
"CgpqCore_2",
86+
"CgpqCore_3",
87+
"CgpqCore_4",
88+
"CgpqCore_5",
89+
"CgpqCore_6",
90+
"CgpqCore_7",
91+
"CgpqCore_10",
92+
"CgpqHeap_0",
93+
"CgpqHeap_1",
94+
"CgpqHeap_2",
95+
"CgpqHeap_3",
96+
"CgpqHeap_4",
97+
"CgpqHeap_5",
98+
"CgpqHeap_6",
99+
"CgpqHeap_7",
100+
"CgpqHeap_8",
101+
"CgpqHeap_10",
102+
"CgpqHeap_12",
103+
"CgpqMinBucketFinder_0",
104+
"CgpqOutputArbiter_0",
105+
"CgpqReadAddrArbiter_0",
106+
"CgpqReadDataArbiter_0",
107+
"CgpqStatArbiter_0",
108+
"CgpqWriteReqArbiter_0",
109+
"CgpqWriteRespArbiter_0",
110+
{
111+
"pblock_X0Y8_X3Y11": [],
112+
"pblock_X0Y4_X3Y7": [
113+
"pblock_X4Y4_X7Y7"
114+
],
115+
"pblock_X0Y0_X3Y3": [
116+
"pblock_X4Y4_X7Y7",
117+
"pblock_X4Y0_X7Y3"
118+
],
119+
"pblock_X4Y4_X7Y7": [],
120+
"pblock_X4Y0_X7Y3": [
121+
"pblock_X4Y4_X7Y7"
122+
],
123+
"tcl": "\ncreate_pblock pblock_X4Y8_X7Y11\nresize_pblock pblock_X4Y8_X7Y11 -add CLOCKREGION_X4Y8:CLOCKREGION_X7Y11\nresize_pblock pblock_X4Y8_X7Y11 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
124+
}
125+
],
126+
"pblock_X0Y8_X3Y11": [
127+
"CgpqCore_8",
128+
"CgpqCore_9",
129+
"CgpqCore_11",
130+
"CgpqCore_12",
131+
"CgpqCore_13",
132+
"CgpqCore_14",
133+
"CgpqCore_15",
134+
"CgpqReadAddrArbiter_1",
135+
"CgpqReadDataArbiter_1",
136+
"CgpqWriteReqArbiter_1",
137+
"CgpqWriteRespArbiter_1",
138+
{
139+
"pblock_X4Y8_X7Y11": [],
140+
"pblock_X4Y4_X7Y7": [
141+
"pblock_X0Y4_X3Y7"
142+
],
143+
"pblock_X4Y0_X7Y3": [
144+
"pblock_X0Y4_X3Y7",
145+
"pblock_X0Y0_X3Y3"
146+
],
147+
"pblock_X0Y4_X3Y7": [],
148+
"pblock_X0Y0_X3Y3": [
149+
"pblock_X0Y4_X3Y7"
150+
],
151+
"tcl": "\ncreate_pblock pblock_X0Y8_X3Y11\nresize_pblock pblock_X0Y8_X3Y11 -add CLOCKREGION_X0Y8:CLOCKREGION_X3Y11\nresize_pblock pblock_X0Y8_X3Y11 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
152+
}
153+
],
154+
"pblock_X4Y4_X7Y7": [
155+
"CgpqPopAdapter_0",
156+
"PopSwitchStage_0",
157+
"PopSwitchStage_1",
158+
"PopSwitchStage_2",
159+
"PopSwitchStage_3",
160+
"PopSwitchStage_4",
161+
"PopSwitchStage_5",
162+
"PopSwitchStage_6",
163+
"PopSwitchStage_7",
164+
"SwitchDemux_0",
165+
"SwitchDemux_1",
166+
"SwitchDemux_2",
167+
"SwitchDemux_3",
168+
"SwitchDemux_4",
169+
"SwitchDemux_5",
170+
"SwitchDemux_6",
171+
"SwitchDemux_7",
172+
"SwitchDemux_8",
173+
"SwitchDemux_9",
174+
"SwitchDemux_10",
175+
"SwitchDemux_11",
176+
"SwitchDemux_12",
177+
"SwitchDemux_13",
178+
"SwitchDemux_14",
179+
"SwitchDemux_15",
180+
"SwitchMux_0",
181+
"SwitchMux_1",
182+
"SwitchMux_2",
183+
"SwitchMux_3",
184+
"SwitchMux_4",
185+
"SwitchMux_5",
186+
"SwitchMux_6",
187+
"SwitchMux_7",
188+
"SwitchMux_8",
189+
"SwitchMux_9",
190+
"SwitchMux_10",
191+
"SwitchMux_11",
192+
"SwitchMux_12",
193+
"SwitchMux_13",
194+
"SwitchMux_14",
195+
"SwitchMux_15",
196+
"VertexCache_1",
197+
"VertexCache_2",
198+
"VertexCache_4",
199+
"VertexCache_6",
200+
"VertexCache_13",
201+
{
202+
"pblock_X0Y4_X3Y7": [],
203+
"pblock_X0Y8_X3Y11": [
204+
"pblock_X4Y8_X7Y11"
205+
],
206+
"pblock_X0Y0_X3Y3": [
207+
"pblock_X4Y0_X7Y3"
208+
],
209+
"pblock_X4Y8_X7Y11": [],
210+
"pblock_X4Y0_X7Y3": [],
211+
"tcl": "\ncreate_pblock pblock_X4Y4_X7Y7\nresize_pblock pblock_X4Y4_X7Y7 -add CLOCKREGION_X4Y4:CLOCKREGION_X7Y7\nresize_pblock pblock_X4Y4_X7Y7 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
212+
}
213+
],
214+
"pblock_X4Y0_X7Y3": [
215+
"CgpqSpillMem_0",
216+
"CgpqSpillMem_1",
217+
"Dispatcher_0",
218+
"DistGen_0",
219+
"DistGen_1",
220+
"DistGen_2",
221+
"DistGen_3",
222+
"EdgeMem_0",
223+
"EdgeMem_1",
224+
"EdgeMem_2",
225+
"EdgeMem_3",
226+
"EdgeReqGen_0",
227+
"EdgeReqGen_1",
228+
"EdgeReqGen_2",
229+
"EdgeReqGen_3",
230+
"EdgeReqGen_4",
231+
"EdgeReqGen_5",
232+
"EdgeReqGen_6",
233+
"EdgeReqGen_7",
234+
"TaskArbiter_0",
235+
"TaskCountMerger_0",
236+
"VertexCache_0",
237+
"VertexCache_3",
238+
"VertexCache_5",
239+
"VertexCache_7",
240+
"VertexCache_11",
241+
"VertexMem_0",
242+
"VertexMem_1",
243+
"VertexMem_2",
244+
"VertexMem_3",
245+
"VertexMem_4",
246+
"VertexMem_5",
247+
"VertexMem_6",
248+
"VertexMem_7",
249+
"VertexNoopMerger_0",
250+
"VertexOutputAdapter_0",
251+
"VertexOutputArbiter_0",
252+
"VertexOutputArbiter_1",
253+
"VertexOutputArbiter_2",
254+
"VertexOutputArbiter_3",
255+
"VertexOutputArbiter_4",
256+
"VertexOutputArbiter_5",
257+
"VertexOutputArbiter_6",
258+
"VertexOutputArbiter_7",
259+
"cgpq_spill_0__m_axi",
260+
"cgpq_spill_1__m_axi",
261+
"edges_0__m_axi",
262+
"edges_1__m_axi",
263+
"edges_2__m_axi",
264+
"edges_3__m_axi",
265+
"vertices_0__m_axi",
266+
"vertices_1__m_axi",
267+
"vertices_2__m_axi",
268+
"vertices_3__m_axi",
269+
"vertices_4__m_axi",
270+
"vertices_5__m_axi",
271+
"vertices_6__m_axi",
272+
"vertices_7__m_axi",
273+
{
274+
"pblock_X0Y0_X3Y3": [],
275+
"pblock_X0Y4_X3Y7": [
276+
"pblock_X4Y4_X7Y7"
277+
],
278+
"pblock_X0Y8_X3Y11": [
279+
"pblock_X4Y4_X7Y7",
280+
"pblock_X4Y8_X7Y11"
281+
],
282+
"pblock_X4Y4_X7Y7": [],
283+
"pblock_X4Y8_X7Y11": [
284+
"pblock_X4Y4_X7Y7"
285+
],
286+
"tcl": "\ncreate_pblock pblock_X4Y0_X7Y3\nresize_pblock pblock_X4Y0_X7Y3 -add CLOCKREGION_X4Y0:CLOCKREGION_X7Y3\nresize_pblock pblock_X4Y0_X7Y3 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
287+
}
288+
],
289+
"pblock_X0Y0_X3Y3": [
290+
"CgpqSpillMem_2",
291+
"CgpqSpillMem_3",
292+
"DistGen_4",
293+
"DistGen_5",
294+
"DistGen_6",
295+
"DistGen_7",
296+
"EdgeMem_4",
297+
"EdgeMem_5",
298+
"EdgeMem_6",
299+
"EdgeMem_7",
300+
"PushAdapter_0",
301+
"SwitchDemux_16",
302+
"SwitchDemux_17",
303+
"SwitchDemux_18",
304+
"SwitchDemux_19",
305+
"SwitchDemux_20",
306+
"SwitchDemux_21",
307+
"SwitchDemux_22",
308+
"SwitchDemux_23",
309+
"SwitchDemux_24",
310+
"SwitchDemux_25",
311+
"SwitchDemux_26",
312+
"SwitchDemux_27",
313+
"SwitchDemux_28",
314+
"SwitchDemux_29",
315+
"SwitchDemux_30",
316+
"SwitchDemux_31",
317+
"SwitchMux_16",
318+
"SwitchMux_17",
319+
"SwitchMux_18",
320+
"SwitchMux_19",
321+
"SwitchMux_20",
322+
"SwitchMux_21",
323+
"SwitchMux_22",
324+
"SwitchMux_23",
325+
"SwitchMux_24",
326+
"SwitchMux_25",
327+
"SwitchMux_26",
328+
"SwitchMux_27",
329+
"SwitchMux_28",
330+
"SwitchMux_29",
331+
"SwitchMux_30",
332+
"SwitchMux_31",
333+
"SwitchStage_0",
334+
"SwitchStage_1",
335+
"SwitchStage_2",
336+
"SwitchStage_3",
337+
"SwitchStage_4",
338+
"SwitchStage_5",
339+
"SwitchStage_6",
340+
"SwitchStage_7",
341+
"VertexCache_8",
342+
"VertexCache_12",
343+
"VertexCache_14",
344+
"VertexMem_8",
345+
"VertexMem_9",
346+
"VertexMem_10",
347+
"VertexMem_11",
348+
"VertexMem_12",
349+
"VertexMem_13",
350+
"VertexMem_14",
351+
"VertexMem_15",
352+
"control_s_axi_U",
353+
"cgpq_spill_2__m_axi",
354+
"cgpq_spill_3__m_axi",
355+
"edges_4__m_axi",
356+
"edges_5__m_axi",
357+
"edges_6__m_axi",
358+
"edges_7__m_axi",
359+
"vertices_8__m_axi",
360+
"vertices_9__m_axi",
361+
"vertices_10__m_axi",
362+
"vertices_11__m_axi",
363+
"vertices_12__m_axi",
364+
"vertices_13__m_axi",
365+
"vertices_14__m_axi",
366+
"vertices_15__m_axi",
367+
{
368+
"pblock_X4Y0_X7Y3": [],
369+
"pblock_X4Y4_X7Y7": [
370+
"pblock_X0Y4_X3Y7"
371+
],
372+
"pblock_X4Y8_X7Y11": [
373+
"pblock_X0Y4_X3Y7",
374+
"pblock_X0Y8_X3Y11"
375+
],
376+
"pblock_X0Y4_X3Y7": [],
377+
"pblock_X0Y8_X3Y11": [
378+
"pblock_X0Y4_X3Y7"
379+
],
380+
"tcl": "\ncreate_pblock pblock_X0Y0_X3Y3\nresize_pblock pblock_X0Y0_X3Y3 -add CLOCKREGION_X0Y0:CLOCKREGION_X3Y3\nresize_pblock pblock_X0Y0_X3Y3 -remove {\n CLOCKREGION_X7Y0:CLOCKREGION_X7Y11\n}"
381+
}
382+
]
383+
}

0 commit comments

Comments
 (0)