initial
[esdi.git] / esdi.runs / impl_1 / esdi_ctl_phy.tcl
CommitLineData
629d050f
IS
1# \r
2# Report generation script generated by Vivado\r
3# \r
4\r
5proc create_report { reportName command } {\r
6 set status "."\r
7 append status $reportName ".fail"\r
8 if { [file exists $status] } {\r
9 eval file delete [glob $status]\r
10 }\r
11 send_msg_id runtcl-4 info "Executing : $command"\r
12 set retval [eval catch { $command } msg]\r
13 if { $retval != 0 } {\r
14 set fp [open $status w]\r
15 close $fp\r
16 send_msg_id runtcl-5 warning "$msg"\r
17 }\r
18}\r
19proc start_step { step } {\r
20 set stopFile ".stop.rst"\r
21 if {[file isfile .stop.rst]} {\r
22 puts ""\r
23 puts "*** Halting run - EA reset detected ***"\r
24 puts ""\r
25 puts ""\r
26 return -code error\r
27 }\r
28 set beginFile ".$step.begin.rst"\r
29 set platform "$::tcl_platform(platform)"\r
30 set user "$::tcl_platform(user)"\r
31 set pid [pid]\r
32 set host ""\r
33 if { [string equal $platform unix] } {\r
34 if { [info exist ::env(HOSTNAME)] } {\r
35 set host $::env(HOSTNAME)\r
36 }\r
37 } else {\r
38 if { [info exist ::env(COMPUTERNAME)] } {\r
39 set host $::env(COMPUTERNAME)\r
40 }\r
41 }\r
42 set ch [open $beginFile w]\r
43 puts $ch "<?xml version=\"1.0\"?>"\r
44 puts $ch "<ProcessHandle Version=\"1\" Minor=\"0\">"\r
45 puts $ch " <Process Command=\".planAhead.\" Owner=\"$user\" Host=\"$host\" Pid=\"$pid\">"\r
46 puts $ch " </Process>"\r
47 puts $ch "</ProcessHandle>"\r
48 close $ch\r
49}\r
50\r
51proc end_step { step } {\r
52 set endFile ".$step.end.rst"\r
53 set ch [open $endFile w]\r
54 close $ch\r
55}\r
56\r
57proc step_failed { step } {\r
58 set endFile ".$step.error.rst"\r
59 set ch [open $endFile w]\r
60 close $ch\r
61}\r
62\r
63\r
64start_step init_design\r
65set ACTIVE_STEP init_design\r
66set rc [catch {\r
67 create_msg_db init_design.pb\r
68 set_param chipscope.maxJobs 6\r
69 create_project -in_memory -part xc7z007sclg225-1\r
70 set_property board_part_repo_paths {C:/Users/kremlin/AppData/Roaming/Xilinx/Vivado/2019.1/xhub/board_store} [current_project]\r
71 set_property board_part em.avnet.com:minized:part0:1.2 [current_project]\r
72 set_property design_mode GateLvl [current_fileset]\r
73 set_param project.singleFileAddWarning.threshold 0\r
74 set_property webtalk.parent_dir S:/vivado-projects/esdi/esdi/esdi.cache/wt [current_project]\r
75 set_property parent.project_path S:/vivado-projects/esdi/esdi/esdi.xpr [current_project]\r
76 set_property ip_output_repo S:/vivado-projects/esdi/esdi/esdi.cache/ip [current_project]\r
77 set_property ip_cache_permissions {read write} [current_project]\r
78 add_files -quiet S:/vivado-projects/esdi/esdi/esdi.runs/synth_1/esdi_ctl_phy.dcp\r
79 link_design -top esdi_ctl_phy -part xc7z007sclg225-1\r
80 close_msg_db -file init_design.pb\r
81} RESULT]\r
82if {$rc} {\r
83 step_failed init_design\r
84 return -code error $RESULT\r
85} else {\r
86 end_step init_design\r
87 unset ACTIVE_STEP \r
88}\r
89\r
90start_step opt_design\r
91set ACTIVE_STEP opt_design\r
92set rc [catch {\r
93 create_msg_db opt_design.pb\r
94 opt_design \r
95 write_checkpoint -force esdi_ctl_phy_opt.dcp\r
96 create_report "impl_1_opt_report_drc_0" "report_drc -file esdi_ctl_phy_drc_opted.rpt -pb esdi_ctl_phy_drc_opted.pb -rpx esdi_ctl_phy_drc_opted.rpx"\r
97 close_msg_db -file opt_design.pb\r
98} RESULT]\r
99if {$rc} {\r
100 step_failed opt_design\r
101 return -code error $RESULT\r
102} else {\r
103 end_step opt_design\r
104 unset ACTIVE_STEP \r
105}\r
106\r
107start_step place_design\r
108set ACTIVE_STEP place_design\r
109set rc [catch {\r
110 create_msg_db place_design.pb\r
111 if { [llength [get_debug_cores -quiet] ] > 0 } { \r
112 implement_debug_core \r
113 } \r
114 place_design \r
115 write_checkpoint -force esdi_ctl_phy_placed.dcp\r
116 create_report "impl_1_place_report_io_0" "report_io -file esdi_ctl_phy_io_placed.rpt"\r
117 create_report "impl_1_place_report_utilization_0" "report_utilization -file esdi_ctl_phy_utilization_placed.rpt -pb esdi_ctl_phy_utilization_placed.pb"\r
118 create_report "impl_1_place_report_control_sets_0" "report_control_sets -verbose -file esdi_ctl_phy_control_sets_placed.rpt"\r
119 close_msg_db -file place_design.pb\r
120} RESULT]\r
121if {$rc} {\r
122 step_failed place_design\r
123 return -code error $RESULT\r
124} else {\r
125 end_step place_design\r
126 unset ACTIVE_STEP \r
127}\r
128\r
129start_step route_design\r
130set ACTIVE_STEP route_design\r
131set rc [catch {\r
132 create_msg_db route_design.pb\r
133 route_design \r
134 write_checkpoint -force esdi_ctl_phy_routed.dcp\r
135 create_report "impl_1_route_report_drc_0" "report_drc -file esdi_ctl_phy_drc_routed.rpt -pb esdi_ctl_phy_drc_routed.pb -rpx esdi_ctl_phy_drc_routed.rpx"\r
136 create_report "impl_1_route_report_methodology_0" "report_methodology -file esdi_ctl_phy_methodology_drc_routed.rpt -pb esdi_ctl_phy_methodology_drc_routed.pb -rpx esdi_ctl_phy_methodology_drc_routed.rpx"\r
137 create_report "impl_1_route_report_power_0" "report_power -file esdi_ctl_phy_power_routed.rpt -pb esdi_ctl_phy_power_summary_routed.pb -rpx esdi_ctl_phy_power_routed.rpx"\r
138 create_report "impl_1_route_report_route_status_0" "report_route_status -file esdi_ctl_phy_route_status.rpt -pb esdi_ctl_phy_route_status.pb"\r
139 create_report "impl_1_route_report_timing_summary_0" "report_timing_summary -max_paths 10 -file esdi_ctl_phy_timing_summary_routed.rpt -pb esdi_ctl_phy_timing_summary_routed.pb -rpx esdi_ctl_phy_timing_summary_routed.rpx -warn_on_violation "\r
140 create_report "impl_1_route_report_incremental_reuse_0" "report_incremental_reuse -file esdi_ctl_phy_incremental_reuse_routed.rpt"\r
141 create_report "impl_1_route_report_clock_utilization_0" "report_clock_utilization -file esdi_ctl_phy_clock_utilization_routed.rpt"\r
142 create_report "impl_1_route_report_bus_skew_0" "report_bus_skew -warn_on_violation -file esdi_ctl_phy_bus_skew_routed.rpt -pb esdi_ctl_phy_bus_skew_routed.pb -rpx esdi_ctl_phy_bus_skew_routed.rpx"\r
143 close_msg_db -file route_design.pb\r
144} RESULT]\r
145if {$rc} {\r
146 write_checkpoint -force esdi_ctl_phy_routed_error.dcp\r
147 step_failed route_design\r
148 return -code error $RESULT\r
149} else {\r
150 end_step route_design\r
151 unset ACTIVE_STEP \r
152}\r
153\r