|
from rapidstream import RapidStreamTAPA, DeviceFactory |
|
|
|
rs = RapidStreamTAPA("rs_build/") |
|
rs.reset() |
|
factory = DeviceFactory( |
|
row=4, |
|
col=2, |
|
part_num="xcvp1802-lsvc4072-2MP-e-S" |
|
) |
|
|
|
|
|
factory.set_slot_pblock(0, 0, ["-add CLOCKREGION_X0Y1:CLOCKREGION_X4Y4"]) |
|
factory.set_slot_pblock(1, 0, ["-add CLOCKREGION_X5Y1:CLOCKREGION_X9Y4"]) |
|
factory.set_slot_pblock(0, 1, ["-add CLOCKREGION_X0Y5:CLOCKREGION_X4Y7"]) |
|
factory.set_slot_pblock(1, 1, ["-add CLOCKREGION_X5Y5:CLOCKREGION_X9Y7"]) |
|
|
|
factory.set_slot_pblock(0, 2, ["-add CLOCKREGION_X0Y8:CLOCKREGION_X4Y10"]) |
|
factory.set_slot_pblock(1, 2, ["-add CLOCKREGION_X5Y8:CLOCKREGION_X9Y10"]) |
|
factory.set_slot_pblock(0, 3, ["-add CLOCKREGION_X0Y11:CLOCKREGION_X4Y13"]) |
|
factory.set_slot_pblock(1, 3, ["-add CLOCKREGION_X5Y11:CLOCKREGION_X9Y13"]) |
|
|
|
|
|
factory.set_slot_crossing_capacity(0, 0, north=9435) |
|
factory.set_slot_crossing_capacity(1, 0, north=9435) |
|
factory.set_slot_crossing_capacity(0, 1, north=9435) |
|
factory.set_slot_crossing_capacity(1, 1, north=9435) |
|
factory.set_slot_crossing_capacity(0, 2, north=9435) |
|
factory.set_slot_crossing_capacity(1, 2, north=9435) |
|
|
|
|
|
factory.extract_slot_resources() |
|
|
|
|
|
device = factory.generate_virtual_device() |
|
rs.set_virtual_device(device) |
|
|
|
rs.add_xo_file("./opt-stage4-dot-prod.tapa/opt.hw.xo") |
|
rs.set_top_module_name("opt_kernel") |
|
rs.add_clock("ap_clk", period_ns=3.33) |
|
|
|
rs.set_vitis_connectivity_config("link_config_versal.ini") |
|
rs.assign_port_to_region(".*", "SLOT_X0Y0:SLOT_X1Y0") |
|
rs.run_dse(max_workers=1, max_dse_limit=0.9, min_dse_limit=0.6) |
|
|