@@ -142,8 +142,6 @@ set_msg_config -id {DRC CKLD-2} -suppress
142142set_msg_config -id {DRC REQP-1853} -suppress
143143set_msg_config -id {Timing 38-436} -suppress
144144
145- puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) Calling the encrypt.tcl." ;
146-
147145# Check that an email address has been set, else unset notify_via_sns
148146
149147if {[string compare $notify_via_sns " 1" ] == 0} {
@@ -185,6 +183,8 @@ switch $strategy {
185183 }
186184}
187185
186+ puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) Calling the encrypt.tcl." ;
187+
188188# Encrypt source code
189189source encrypt.tcl
190190
@@ -201,12 +201,20 @@ source $HDK_SHELL_DIR/build/scripts/step_user.tcl -notrace
201201puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) Calling aws_gen_clk_constraints.tcl to generate clock constraints from developer's specified recipe." ;
202202
203203source $HDK_SHELL_DIR /build/scripts/aws_gen_clk_constraints.tcl
204+ # ################################################################
205+ # #### Do not remove this setting. Need to workaround bug in 2017.4
206+ # #################################################################
207+ set_param hd.clockRoutingWireReduction false
204208
205209# #################################################
206210# ## CL XPR OOC Synthesis
207211# #################################################
208212if {${cl.synth} } {
209213 source -notrace ./synth_${CL_MODULE} .tcl
214+ set synth_dcp ${timestamp} .CL.post_synth.dcp
215+ } else {
216+ open_checkpoint ../checkpoints/CL.post_synth.dcp
217+ set synth_dcp CL.post_synth.dcp
210218}
211219
212220# #################################################
@@ -223,8 +231,9 @@ if {$implement} {
223231 set_property IP_REPO_PATHS $cacheDir [current_project]
224232 puts " \n AWS FPGA: ([ clock format [clock seconds] -format %T]) - Combining Shell and CL design checkpoints" ;
225233 add_files $HDK_SHELL_DIR /build/checkpoints/from_aws/SH_CL_BB_routed.dcp
226- add_files $CL_DIR /build/checkpoints/${timestamp} .CL.post_synth.dcp
227- set_property SCOPED_TO_CELLS {CL} [get_files $CL_DIR /build/checkpoints/${timestamp} .CL.post_synth.dcp]
234+ # add_files $CL_DIR/build/checkpoints/${timestamp}.CL.post_synth.dcp
235+ add_files $CL_DIR /build/checkpoints/$synth_dcp
236+ set_property SCOPED_TO_CELLS {WRAPPER_INST/CL} [get_files $CL_DIR /build/checkpoints/$synth_dcp ]
228237
229238 # Read the constraints, note *DO NOT* read cl_clocks_aws (clocks originating from AWS shell)
230239 read_xdc [ list \
@@ -233,7 +242,7 @@ if {$implement} {
233242 set_property PROCESSING_ORDER late [get_files cl_pnr_user.xdc]
234243
235244 puts " \n AWS FPGA: ([ clock format [clock seconds] -format %T]) - Running link_design" ;
236- link_design -top $TOP -part [DEVICE_TYPE] -reconfig_partitions {SH CL}
245+ link_design -top $TOP -part [DEVICE_TYPE] -reconfig_partitions {WRAPPER_INST/ SH WRAPPER_INST/ CL}
237246
238247 puts " \n AWS FPGA: ([ clock format [clock seconds] -format %T]) - PLATFORM.IMPL==[ get_property PLATFORM.IMPL [current_design] ]" ;
239248 # #################################################
@@ -309,7 +318,13 @@ if {$implement} {
309318 # This is what will deliver to AWS
310319 puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) - Writing final DCP to to_aws directory." ;
311320
312- write_checkpoint -force $CL_DIR /build/checkpoints/to_aws/${timestamp} .SH_CL_routed.dcp
321+ # FIXME -- THIS SHOULD BE REMOVED FROM THE FINAL SCRIPT
322+ # write_checkpoint -force $CL_DIR/build/checkpoints/to_aws/${timestamp}.SH_CL_routed_before_ddr_fix.dcp
323+ # source top_ddr_fix.tcl
324+ # checkpoint can used by developer for analysis and hence donot encrypt
325+ write_checkpoint -force $CL_DIR /build/checkpoints/${timestamp} .SH_CL_routed.dcp
326+ # checkpoint that will be sent to aws and hence encrypt
327+ write_checkpoint -encrypt -force $CL_DIR /build/checkpoints/to_aws/${timestamp} .SH_CL_routed.dcp
313328
314329 # Generate debug probes file
315330 write_debug_probes -force -no_partial_ltxfile -file $CL_DIR /build/checkpoints/${timestamp} .debug_probes.ltx
@@ -374,7 +389,7 @@ puts "AWS FPGA: ([clock format [clock seconds] -format %T]) - Finished creating
374389
375390if {[string compare $notify_via_sns " 1" ] == 0} {
376391 puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) - Calling notification script to send e-mail to $env(EMAIL) " ;
377- exec $env(HDK_COMMON_DIR) /scripts/notify_via_sns.py
392+ exec $env(AWS_FPGA_REPO_DIR) /shared/bin /scripts/notify_via_sns.py
378393}
379394
380395puts " AWS FPGA: ([ clock format [clock seconds] -format %T]) - Build complete." ;
0 commit comments