-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup.spq
deleted file mode 100644
index 6013c10..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup.spq
+++ /dev/null
@@ -1,69 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : cdc_setup
-// Version: 1.7.0
-//
-// Revision History:
-// Ver Date SG Ver Comments
-// 1.0.0 18-Feb-2013 5.0 Initial version
-// 1.7.0 30-Apr-2014 5.3.0 Guidware 2.0 Content Consistency
-// 1.12.0 18-Nov-2015 5.6.0 Parameter handle_combo_arc=yes added
-// 1.17.0 22-Jan-2018 2017.12 Option use_advcdc_features added
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-cdc_setup mixed
-*
-Define Clocks and Resets
-*
-This step is used to find the clocks and resets in a design. Follow steps below
-to complete initial clocks and resets constraints creation:
- 1- Understand your design clocks architecture by exploring clocks and resets
- as identified by rules run in this template. Black box clocks need to be
- resolved by assuming path through black boxes (use assume_path constraint)
- 2- Copy autoclocks.sgdc and autoresets.sgdc into a new constraint file and
- edit the clocks to provide valid clock/reset sources and remove all
- non clocks/resets signals from the file
- In addition you can also add known case-analysis under which you want to do CDC analysis.
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=clock-reset
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--mixed //allow mixed language
--enable_const_prop_thru_seq //allow to propagate beyond the sequential elements
--use_advcdc_features //Run Advanced CDC Rules in restore mode
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--enable_debug_data=yes //Enables annotation of debug information, such as clock, reset, quasi_static signals, and domain information on nets in the schematic
--hier_wild_card=no //Specifies the format of specifying hierarchies by using wildcard expressions in all the constraints used by the SpyGlass CDC solution
--handle_combo_arc=yes //propagate clocks through lib cells
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Setup_clock01 // Generates information needed for Clock Setup
-
--rules Clock_info01 // Clock candidates in the design
-
--rules Reset_info01 // Asynchronous and synchronous preset and clear candidates in the design
-
--rules Info_Case_Analysis // Constant propagation in schematic display
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check.spq
deleted file mode 100644
index 8d3689e..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check.spq
+++ /dev/null
@@ -1,137 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : cdc_setup_check
-// Version: 1.12.0
-//
-// Revision History:
-// Ver Date SG Ver Comments
-// 1.0.0 18-Feb-2013 5.0 Initial version
-// 1.1.0 05-Oct-2013 5.2 Rule Clock_check10 added
-// 1.4.0 12-Feb-2014 5.2.1 Clock_info18 removed
-// Ar_converge01, Setup_req01, Setup_port01, Setup_blackbox01 added
-// 1.7.0 30-Apr-2014 5.3.0 Guidware 2.0 Content Consistency
-// 1.10.0 17-Dec-2014 5.4.1 Setup_req01 removed
-// 1.10.2 23-Feb-2015 5.4.1 Rule FalsePathSetup added
-// Rule Setup_library01 added
-// Parameter sdc_generate_cfp added
-// Rule Ac_clockperiod01 removed
-// Rule Ac_clockperiod02 removed
-// 1.12.0 16-Nov-2016 2016.06-SP2 Rules Clock_info02 and Reset_info02 removed
-// 1.13.0 03-Feb-2017 2017.03 Added parameter report_common_reset
-// 1.14.0 26-Apr-2017 2017.03-SP1 Rules Clock_info05c, Clock_info01, Reset_info01 added
-// Rule Reset_check10 removed
-// 1.15.0 18-July-2017 2017.12 Parameter use_inferred_abstract_port added
-// 1.17.0 22-Jan-2018 2017.12 Option use_advcdc_features added
-// 1.18.0 04-Dec-2018 2018.09 QualifierSetup rule removed due to unneccessary noise STAR #9001291972
-//
-// Copyright Atrenta Inc, 2016. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-cdc_setup_check mixed
-*
-Clocks and Resets Setup Checks
-*
-This step is used to check setup correctness and completeness; it is very
-important to fix all violations reported in this step to avoid false violations
-due to incorrect/incomplete setup . Some examples,
- 1- Ensure all flops are receiving a clock
- 2- Ensure case analysis is defined preventing multiple clocks controlling
- the same flop
- 3- Ensure multiple clocks are not defined on the same clock path
- 4- Periods, edge-list and domains are defined properly for clocks
-
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=clock-reset
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--mixed //allow mixed language
--enable_const_prop_thru_seq //allow to propagate beyond the sequential elements
--use_advcdc_features //Run Advanced CDC Rules in restore mode
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--enable_debug_data=yes //Enables annotation of debug information, such as clock, reset, quasi_static signals, and domain information on nets in the schematic
--hier_wild_card=no //Specifies the format of specifying hierarchies by using wildcard expressions in all the constraints used by the SpyGlass CDC solution
--sdc_generate_cfp=yes //Inferring cdc_false_path for asynchronous clocks in different domains
--report_common_reset=yes //Reports the common reset source skipping buf/inv and MUX/combo gates acting as buffer
--use_inferred_abstract_port=yes
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Clock_info03a // Reports unconstrained clock nets
--overloadrules Clock_info03a+severity=Error
-
--rules Clock_info05 // MUX descriptions where two or more clock signals converge
--overloadrules Clock_info05+severity=Error
-
-## -rules Clock_info05a // Signals on which the set_case_analysis should be set to control MUXed clock selection
--overloadrules Clock_info05a+severity=Error
-
--rules Clock_info05b // Combinational gates other than MUXes where two or more clock signals converge
--overloadrules Clock_info05b+severity=Error
-
--rules Ac_resetvalue01 // Missing -value field of the reset constraint defined in an SGDC file
--overloadrules Ac_resetvalue01+severity=Error
-
--rules Reset_info09a // Reports Unconstrained asynchronous reset nets
--overloadrules Reset_info09a+severity=Error
-
--rules Clock_converge01 // Clocks whose multiple fan-outs converge
--overloadrules Clock_converge01+severity=Error
-
--rules Ar_converge01 //Reports a reset signal whose multiple fan-outs converge
-
--rules Reset_check03 //Reset signals that are being used at both levels to set or reset flip-flops synchronously
--overloadrules Reset_check03+severity=Error
-
--rules Reset_check11 //Asynchronous resets used as both active-high and active-low
--overloadrules Reset_check11+severity=Error
-
--rules Reset_check12 // Flops that do not get active reset during power on reset
--overloadrules Reset_check12+severity=Error
-
--rules Clock_info03b //Flip-flops,latches where the data pins are tied to a constant value
-
--rules Clock_info03c // Reports Flip-flops or latches where the clock/enable pin is set to a constant
--overloadrules Clock_info03c+severity=Error
-
--rules Setup_port01 //Reports unconstrained ports summary for top design unit
-
--rules Setup_blackbox01 //Reports unconstrained pins summary for black-boxes
-
--rules Clock_check10 // Reports clocks being used as data
-
--rules Clock_info15 // Generates clock domain information for primary ports
-
--rules Ar_syncrst_setupcheck01 // Reports constant value on functional flops in synchronous reset deassert-mode
-
--rules Info_Case_Analysis // Constant propagation in schematic display
-
--rules Clock_info05c //Reports unconstrained MUXes which do not receive clocks in all its data inputs
-
--rules FalsePathSetup //Cases where cdc_false_path constraint is not used by any crossing in the design
-
--rules Setup_library01 //Reports incomplete definition of library pins for CDC
-
--rules Clock_info01 // Clock candidates in the design
-
--rules Reset_info01 // Asynchronous and synchronous preset and clear candidates in the design
-
--ignorerules QualifierSetup //Removed due to unneccessary noise
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check_debug_help.htm
deleted file mode 100644
index 77bec19..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_setup_check_debug_help.htm
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
-
-
-
-
-
- cdc_setup_check
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-cdc_setup_check
-
-
-The aim of this goal is to check setup correctness and completeness. To avoid false analysis due to incorrect/incomplete setup, the user should fix all violations reported during this step. The violations can be debugged and fixed in the following order:
-
-
-
Analyze and fix clock setup issues reported by the following rules:
-The aim of this goal is to help the user in finding the clocks and resets. Review clocks and resets reported by Clock_info01, and Reset_info01.
-
-
-For an in-depth analysis and understanding of clocks architecture, the user can look at Setup_clock01. For viewing constant propagation in the design, the user can look at Info_Case_Analysis.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify.spq
deleted file mode 100644
index 79f5add..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify.spq
+++ /dev/null
@@ -1,245 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : cdc_verify
-// Version: 1.14.0
-//
-// Revision History:
-// Ver Date SG Ver Comments
-// 1.0.0 18-Feb-2013 5.0 Initial version
-// 1.1.0 26-Apr-2013 5.1 Rule Ar_syncrst_setupcheck01 added
-// Parameter enable_handshake removed
-// 1.2.0 06-Aug-2013 5.1.1 Rules Ac_handshake01 and Ac_handshake02 removed
-// 1.3.0 04-Oct-2013 5.2 Rule Clock_check10 added
-// Rules Ac_coherency01a, Ac_coherency02a added
-// 1.4.0 12-Feb-2014 5.2.1 Clock_info18, Ac_fifo01, Ac_cdc08, enable_fifo removed
-// Ar_converge01, Setup_req01, Ac_conv04, Ac_conv05, Ac_coherency06, Setup_port01, Setup_blackbox01 added
-// 1.5.0 16-Apr-2014 5.3 Rules Ac_coherency01a and Ac_coherency02a deleted
-// 1.6.0 30-Apr-2014 5.3 Rule Clock_sync09 removed
-// 1.7.0 30-Apr-2014 5.3.0 Guidware 2.0 Content Consistency
-// 1.8.0 21-Jul-2014 5.3.1 Enabled Ac_glitch03, allow_combo_logic
-// 1.8.1 08-Aug-2014 5.3.1 Removed Ac_conv05. Ac_conv04 description updated
-// 1.10.0 17-Dec-2014 5.4.1 Setup_req01 removed
-// 1.10.2 23-Feb-2015 5.4.1 Parameter cdc_reduce_pessimism=ignore_multi_domain added
-// Parameter reset_reduce_pessimism=remove_overlap added
-// Parameter sdc_generate_cfp added
-// Rule FalsePathSetup added
-// Rule Setup_library01 added
-// 1.11.0 11-Jun-2015 5.5.0 Rule parameter cdc_qualifier_depth added
-// 1.11.1 31-Aug-2015 5.5.1 Parameter fa_disable_sync_fifo=yes removed
-// 1.12.0 16-Nov-2016 2016.06-SP2 Rules Clock_info02 and Reset_info02 removed
-// 1.13.0 03-Feb-2017 2017.03 Added parameter report_common_reset
-// 1.14.0 26-Apr-2017 2017.03-SP1 Rules Clock_info05c, Clock_glitch05, Clock_info01, Reset_info01 added
-// Parameters check_multiclock_bbox, cdc_qualifier_depth, conv_sync_seq_depth, conv_sync_seq_depth_opt, clock_reduce_pessimism, allow_merged_qualifier added
-// Overloaded rule severity for rules Clock_sync05, Clock_sync06, Reset_sync02
-// Removed rules Reset_check10, Reset_info02, Clock_info02
-// 1.15.0 18-July-2017 2017.12 Rule Ac_glitch04, Clock_sync05a, Clock_sync06a added
-// Parameter conv_sync_as_src added
-// Parameter use_inferred_abstract_port added
-// 1.17.0 22-Jan-2018 2017.12 Option use_advcdc_features added
-//
-// Copyright Atrenta Inc, 2016. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-cdc_verify mixed
-*
-Clock Domain Crossing Verification
-*
-This step is used to verify all aspects of clock domain crossings; main CDC
-issues covered are:
- 1- Metastability
- 2- Data hold with regard to destination clock and enable
- 3- Coherency problem on reconvergent crossings
- 4- Functional correctness of FIFOs
- 5- Ensure all synchronous resets follow convention specified by reset_sync_style
- constraint
- In this step any change that may affect the setup will also be monitored and
-any setup issues (e.g. converging clocks, missing clocks definition) will be
-reported.
- For faster CDC verification closure, it is recommended to address structural
-violations by running cdc_verify_struct prior to this step.
-
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=clock-reset
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--mixed //allow mixed language
--enable_const_prop_thru_seq //allow to propagate beyond the sequential elements
--use_advcdc_features //Run Advanced CDC Rules in restore mode
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--enable_mux_sync=all //MUX Synchronization schemes
--enable_and_sync=yes //Enables the AND Gate Synchronization Scheme
--distributed_fifo=yes //Enables detection of FIFOs based on distributed memories
--enable_debug_data=yes //Enables annotation of debug information, such as clock, reset, quasi_static signals, and domain information on nets in the schematic
--hier_wild_card=no //Specifies the format of specifying hierarchies by using wildcard expressions in all the constraints used by the SpyGlass CDC solution
--strict_sync_check=yes //Allows combinational logic between the source and destination flip-flops
--fa_vcdfulltrace=allnets //Specifies the type of data that is to be dumped to the VCD file
--fa_msgmode=all //Specifies the type of assertions
--reset_reduce_pessimism=same_data_reset_flop,remove_overlap //Remove overlap between reset sync check and async reset (reset_sync02) rules
--cdc_reduce_pessimism=mbit_macro,no_convergence_at_syncreset,no_convergence_at_enable,use_multi_arc,clock_crossing,no_unate_reconv,clock_on_ports,ignore_multi_domain //Let multi-domain source synchronizers will be recognized in Ac_sync but Ac_glitch03 will continue to report the issue.
--sdc_generate_cfp=yes //Inferring cdc_false_path for asynchronous clocks in different domains
--report_common_reset=yes //Reports the common reset source skipping buf/inv and MUX/combo gates acting as buffer
--use_inferred_abstract_port=yes
--conv_sync_as_src=yes
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Ac_clockperiod01 // Missing -period or -edge fields of the clock constraint defined in an SGDC file
--overloadrules Ac_clockperiod01+severity=Error
-
--rules Ac_clockperiod02 //Clocks whose periods are rounded off by SpyGlass for lower design cycle for faster functional analysis
-
--rules Ac_clockperiod03 // Clocks with design cycles greater than the threshold value
--overloadrules Ac_clockperiod03+severity=Error
-
--rules Clock_info03a // Reports unconstrained clock nets
--overloadrules Clock_info03a+severity=Error
-
--rules Clock_info05 // MUX descriptions where two or more clock signals converge
--overloadrules Clock_info05+severity=Error
-
-## -rules Clock_info05a // Signals on which the set_case_analysis should be set to control MUXed clock selection
--overloadrules Clock_info05a+severity=Error
-
--rules Clock_info05b // Combinational gates other than MUXes where two or more clock signals converge
--overloadrules Clock_info05b+severity=Error
-
--rules Ac_resetvalue01 // Missing -value field of the reset constraint defined in an SGDC file
--overloadrules Ac_resetvalue01+severity=Error
-
--rules Reset_info09a // Reports Unconstrained asynchronous reset nets
--overloadrules Reset_info09a+severity=Error
-
--rules Clock_converge01 // Clocks whose multiple fan-outs converge
--overloadrules Clock_converge01+severity=Error
-
--rules Ar_converge01 //Reports a reset signal whose multiple fan-outs converge
-
--rules Reset_check03 //Reset signals that are being used at both levels to set or reset flip-flops synchronously
--overloadrules Reset_check03+severity=Error
-
--rules Reset_check11 //Asynchronous resets used as both active-high and active-low
--overloadrules Reset_check11+severity=Error
-
--rules Reset_check12 // Flops that do not get active reset during power on reset
--overloadrules Reset_check12+severity=Error
-
--rules Clock_info03b //Flip-flops,latches where the data pins are tied to a constant value
-
--rules Clock_info03c // Reports Flip-flops or latches where the clock/enable pin is set to a constant
--overloadrules Clock_info03c+severity=Error
-
--rules Setup_port01 //Reports unconstrained ports summary for top design unit
-
--rules Setup_blackbox01 //Reports unconstrained pins summary for black-boxes
-
--rules Clock_check10 // Reports clocks being used as data
-
--rules Ac_initstate01 // Reports a valid state of the design from which the formal analysis would actually start
-
--rules Ar_syncrstactive01 // Polarity on synchronous reset usage mismatches with -active field in sync_reset_style constraint
-
--rules Ar_syncrstcombo01 // Combinational logic in synchronous reset path mismatches with -combo field in sync_reset_style constraint
-
--rules Ar_syncrstload01 // Load on synchronous reset less than the specified max load
-
--rules Ar_syncrstload02 // Load on synchronous reset exceeds the specified min load
-
--rules Ar_syncrstpragma01 // Pragma specification on synchronous reset usage mismatches with -pragma field in sync_reset_style constraint
-
--rules Ar_syncrstrtl01 // Reports if synchronous reset is not detected in condition of first if statement
-
--rules Ac_unsync01 // Asynchronous clock domain crossings for scalar signals that have at least one unsynchronized source
-
--rules Ac_unsync02 // Asynchronous clock domain crossings for vector signals having at least one unsynchronized source
-
--rules Clock_sync05 // Checks for multi-sample inputs
--overloadrules Clock_sync05+severity=Error
-
--rules Clock_sync05a //Reports primary inputs (for which domain is auto-inferred using abstract_module constraint) sampled by multiple clock domains
--rules Clock_sync06 // Checks for multi-transition outputs
--overloadrules Clock_sync06+severity=Error
-
--rules Clock_sync06a // Reports primary outputs (for which domain is auto-inferred using abstract_module constraint) driven by multiple clock domain flip-flops or latches
--rules Ar_unsync01 // Reports unsynchronized reset signals in the design
-
--rules Ar_asyncdeassert01 // Reports if reset signal is asynchronously de-asserted
-
--rules Reset_sync02 // Asynchronous resets used in a clock domain and generated in one of its asynchronous clock domains
--overloadrules Reset_sync02+severity=Error
-
--rules Reset_sync04 //Asynchronous resets synchronized more than once in the same clock domain
-
--rules Ac_datahold01a // Reports synchronized data clock domain crossings where data can be unstable
-
--rules Ac_conv01 //same domain signals synchronized in same destination domain, converge after any number of sequential elements
-
--rules Ac_conv02 //same-domain signals synchronized in same destination domain and converge before sequential elements.
-
--rules Ac_conv03 // Convergence of synchronized signals from different source domains
-
--rules Ac_conv04 //For all control-bus clock domain crossings that do not converge, checks for uniform synchronization schemes and further checks gray encoding when formal is enabled
-
--rules Ac_coherency06 //Reports signals synchronized more than once in the same clock domain
-
--rules Ac_glitch03 // Reports clock domain crossings subject to glitches
--allow_combo_logic=yes //allows combinational logic between crossings only if the logic is within the modules specified using this constraint.
--rules Ac_glitch04 // Reports clock domain crossings subject to glitches
-
--rules Ac_cdc01a // Checks data loss from fast to slow multi-flop or sync-cell synchronized clock domain crossings
-
--rules Ac_crossing01 // Generate spreadsheet for Crossing Matrix view
-
--rules Ac_sync01 // Asynchronous clock domain crossings for scalar signals that have all the sources synchronized
-
--rules Ac_sync02 // Asynchronous clock domain crossings for vector signals that have all sources synchronized
-
--rules Ar_sync01 // Reports synchronized reset signals in the design
-
--rules Ar_syncdeassert01 // Reports if reset signal is synchronously de-asserted or not de-asserted at all
-
--rules Clock_info15 // Generates clock domain information for primary ports
-
--rules Setup_quasi_static01 // Reports likely quasi-static candidates in the design
-
--rules Ar_syncrst_setupcheck01 // Reports constant value on functional flops in synchronous reset deassert-mode
-
--rules Info_Case_Analysis // Constant propagation in schematic display
-
--rules Clock_info05c //Reports unconstrained MUXes which do not receive clocks in all its data inputs
-
--rules Clock_glitch05 //Flags asynchronous sources that converge with different domain clocks
-
--check_multiclock_bbox=yes //Clock domain crossing involving the unconstrained pins of black-box instances on destination side and receiving multiple clock are ignored
--cdc_qualifier_depth=3 //Default is infinite. This leads to some wrong qualifiers
--conv_sync_seq_depth=1 //Default to only checking Ac_conv01 to 1 flop. User can override to go deeper
--conv_sync_seq_depth_opt=yes //Optimizes Ac_conv runtime when depth=1
--clock_reduce_pessimism=latch_en,mux_sel_derived,check_enable_for_glitch,ignore_same_domain
--allow_merged_qualifier=strict
-
--rules Clock_info01 //Reports likely clock signals
-
--rules Reset_info01 //Reports likely asynchronous and synchronous preset and clear signals
-
--rules FalsePathSetup //Cases where cdc_false_path constraint is not used by any crossing in the design
-
--rules Setup_library01 //Reports incomplete definition of library pins for CDC
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_debug_help.htm
deleted file mode 100644
index fefe56a..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_debug_help.htm
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
- cdc_verify
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-cdc_verify
-
-
-The aim of this goal is to verify all aspects of clock domain crossings. Review and fix each category of CDC problems separately. The violations can be debugged and fixed in the following order
-
-
-
Ensure that the setup is clean: analyze and fix violations reported by the following rules
Ensure that the design has been properly initialized: Review Ac_initstate01 to ensure at least 80% of flops are initialized and uninitialized flops are not important for functional verification (e.g. sometimes memories are not initialized and are initialized during the execution of the design).
-
Analyze and fix the unsynchronized crossings reported by Ac_unsync01 and Ac_unsync02 rules
-
Analyze and fix other clock and reset synchronization issues reported by the following rules:
Ensure that crossings functionality is correct: Analyze and fix following rules
-
-Ac_cdc01a, Ac_datahold01a
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct.spq
deleted file mode 100644
index ab74f67..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct.spq
+++ /dev/null
@@ -1,244 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : cdc_verify_struct
-// Version: 1.14.0
-//
-// Revision History:
-// Ver Date SG Ver Comments
-// 1.0.0 18-Feb-2013 5.0 Initial version
-// 1.1.0 26-Apr-2013 5.1 Rules Ac_datahold01a, Ac_cdc01a, Ac_cdc08 removed
-// Rule Ar_syncrst_setupcheck01 added
-// Parameter enable_handshake removed
-// 1.2.0 06-Aug-2013 5.1.1 Rules Ac_handshake01 and Ac_handshake02 removed
-// 1.3.0 04-Oct-2013 5.2 Rule Clock_check10 added
-// Rules Ac_coherency01a, Ac_coherency02a added
-// 1.4.0 12-Feb-2014 5.2.1 Clock_info18, Ac_fifo01, enable_fifo removed
-// Ar_converge01, Setup_req01, Ac_conv04, Ac_conv05, Ac_coherency06, Ac_abstract_validation01, SGDC_abstract_mapping01, validate_reduce_pessimism, abstract_validate_express,Setup_port01,Setup_blackbox01 added
-// 1.5.0 16-Apr-2014 5.3 Rules Ac_coherency01a and Ac_coherency02a deleted
-// 1.6.0 30-Apr-2014 5.3 Rule Clock_sync09 removed
-// 1.7.0 30-Apr-2014 5.3.0 Guidware 2.0 Content Consistency
-// 1.8.0 21-Jul-2014 5.3.1 Enabled Ac_glitch03, allow_combo_logic
-// 1.8.1 08-Aug-2014 5.3.1 Removed Ac_conv05. Ac_conv04 description updated
-// 1.10.0 17-Dec-2014 5.4.1 Setup_req01 removed
-// 1.10.2 23-Feb-2015 5.4.1 Parameter cdc_reduce_pessimism=ignore_multi_domain added
-// Parameter reset_reduce_pessimism=remove_overlap added
-// Parameter sdc_generate_cfp added
-// Rule FalsePathSetup added
-// Rule Setup_library01 added
-// Rule Ac_clockperiod01 removed
-// Rule Ac_clockperiod02 removed
-// 1.11.0 11-Jun-2015 5.5.0 Rule parameter cdc_qualifier_depth added
-// 1.12.0 16-Nov-2016 2016.06-SP2 Rules Clock_info02 and Reset_info02 removed
-// 1.13.0 03-Feb-2017 2017.03 Added parameter report_common_reset
-// 1.14.0 26-Apr-2017 2017.03-SP1 Rule Ac_abstract_validation01 removed and Ac_abstract_validation02 added
-// Rules Clock_info05c, Clock_glitch05, Clock_info01, Reset_info01 added
-// Parameters autofix_abstract_port, check_multiclock_bbox, cdc_qualifier_depth, conv_sync_seq_depth, conv_sync_seq_depth_opt, clock_reduce_pessimism, allow_merged_qualifier added
-// Overloaded rule severity for rules Clock_sync05, Clock_sync06, Reset_sync02
-// Removed rules Ac_clockperiod01, Ac_clockperiod02, Ac_clockperiod03, Reset_check10, Reset_info02, Clock_info02
-// 1.15.0 18-July-2017 2017.12 Rule Ac_glitch04, Clock_sync05a, Clock_sync06a added
-// Parameter conv_sync_as_src added
-// Parameter use_inferred_abstract_port added
-// 1.17.0 22-Jan-2018 2017.12 Option use_advcdc_features added
-//
-// Copyright Atrenta Inc, 2016. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-cdc_verify_struct mixed
-*
-Clock Domain Crossing Verification
-*
-This step is used to verify all aspects of clock domain crossings; main CDC
-issues covered are:
- 1- Metastability
- 2- Coherency problem on reconvergent crossings
- 3- Ensure all synchronous resets follow convention specified by reset_sync_style
- constraint
- In this step any change that may affect the setup will also be monitored and
-any setup issues (e.g. converging clocks, missing clocks definition) will be
-reported.
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=clock-reset
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--mixed //allow mixed language
--enable_const_prop_thru_seq //allow to propagate beyond the sequential elements
--use_advcdc_features //Run Advanced CDC Rules in restore mode
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--enable_mux_sync=all //MUX Synchronization schemes
--enable_and_sync=yes //Enables the AND Gate Synchronization Scheme
--distributed_fifo=yes //Enables detection of FIFOs based on distributed memories
--fa_disable_sync_fifo=yes //Specifies whether functional analysis should be performed on synchronous FIFO structures
--enable_debug_data=yes //Enables annotation of debug information, such as clock, reset, quasi_static signals, and domain information on nets in the schematic
--hier_wild_card=no //Specifies the format of specifying hierarchies by using wildcard expressions in all the constraints used by the SpyGlass CDC solution
--strict_sync_check=yes //Allows combinational logic between the source and destination flip-flops
--fa_vcdfulltrace=allnets //Specifies the type of data that is to be dumped to the VCD file
--fa_msgmode=none //Specifies the type of assertions
--reset_reduce_pessimism=same_data_reset_flop,remove_overlap //Remove overlap between reset sync check and async reset (reset_sync02) rules
--sdc_generate_cfp=yes //Inferring cdc_false_path for asynchronous clocks in different domains
--cdc_reduce_pessimism=mbit_macro,no_convergence_at_syncreset,no_convergence_at_enable,use_multi_arc,clock_crossing,no_unate_reconv,clock_on_ports,ignore_multi_domain //Let multi-domain source synchronizers will be recognized in Ac_sync but Ac_glitch03 will continue to report the issue.
--report_common_reset=yes //Reports the common reset source skipping buf/inv and MUX/combo gates acting as buffer
--use_inferred_abstract_port=yes
--conv_sync_as_src=yes
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
-#-rules Ac_clockperiod03 // Clocks with design cycles greater than the threshold value
-
--rules Clock_info03a // Reports unconstrained clock nets
--overloadrules Clock_info03a+severity=Error
-
--rules Clock_info05 // MUX descriptions where two or more clock signals converge
--overloadrules Clock_info05+severity=Error
-
-## -rules Clock_info05a // Signals on which the set_case_analysis should be set to control MUXed clock selection
--overloadrules Clock_info05a+severity=Error
-
--rules Clock_info05b // Combinational gates other than MUXes where two or more clock signals converge
--overloadrules Clock_info05b+severity=Error
-
--rules Ac_resetvalue01 // Missing -value field of the reset constraint defined in an SGDC file
--overloadrules Ac_resetvalue01+severity=Error
-
--rules Reset_info09a // Reports Unconstrained asynchronous reset nets
--overloadrules Reset_info09a+severity=Error
-
--rules Clock_converge01 // Clocks whose multiple fan-outs converge
--overloadrules Clock_converge01+severity=Error
-
--rules Ar_converge01 //Reports a reset signal whose multiple fan-outs converge
-
--rules Reset_check03 //Reset signals that are being used at both levels to set or reset flip-flops synchronously
--overloadrules Reset_check03+severity=Error
-
-#-rules Reset_check10 // Asynchronous resets used as non-reset signals
-#-overloadrules Reset_check10+severity=Error
-
--rules Reset_check11 //Asynchronous resets used as both active-high and active-low
--overloadrules Reset_check11+severity=Error
-
--rules Reset_check12 // Flops that do not get active reset during power on reset
--overloadrules Reset_check12+severity=Error
-
--rules Clock_info03b //Flip-flops,latches where the data pins are tied to a constant value
-
--rules Clock_info03c // Reports Flip-flops or latches where the clock/enable pin is set to a constant
--overloadrules Clock_info03c+severity=Error
-
--rules Setup_port01 //Reports unconstrained ports summary for top design unit
-
--rules Setup_blackbox01 //Reports unconstrained pins summary for black-boxes
-
--rules Clock_check10 // Reports clocks being used as data
-
--rules Ac_initstate01 // Reports a valid state of the design from which the formal analysis would actually start
-
--rules Ar_syncrstactive01 // Polarity on synchronous reset usage mismatches with -active field in sync_reset_style constraint
-
--rules Ar_syncrstcombo01 // Combinational logic in synchronous reset path mismatches with -combo field in sync_reset_style constraint
-
--rules Ar_syncrstload01 // Load on synchronous reset less than the specified max load
-
--rules Ar_syncrstload02 // Load on synchronous reset exceeds the specified min load
-
--rules Ar_syncrstpragma01 // Pragma specification on synchronous reset usage mismatches with -pragma field in sync_reset_style constraint
-
--rules Ar_syncrstrtl01 // Reports if synchronous reset is not detected in condition of first if statement
-
--rules Ac_unsync01 // Asynchronous clock domain crossings for scalar signals that have at least one unsynchronized source
-
--rules Ac_unsync02 // Asynchronous clock domain crossings for vector signals having at least one unsynchronized source
-
--rules Clock_sync05 // Checks for multi-sample inputs
--overloadrules Clock_sync05+severity=Error
-
--rules Clock_sync05a //Reports primary inputs (for which domain is auto-inferred using abstract_module constraint) sampled by multiple clock domains
--rules Clock_sync06 // Checks for multi-transition outputs
--overloadrules Clock_sync06+severity=Error
-
--rules Clock_sync06a // Reports primary outputs (for which domain is auto-inferred using abstract_module constraint) driven by multiple clock domain flip-flops or latches
--rules Ar_unsync01 // Reports unsynchronized reset signals in the design
-
--rules Ar_asyncdeassert01 // Reports if reset signal is asynchronously de-asserted
-
--rules Reset_sync02 // Asynchronous resets used in a clock domain and generated in one of its asynchronous clock domains
--overloadrules Reset_sync02+severity=Error
-
--rules Reset_sync04 //Asynchronous resets synchronized more than once in the same clock domain
-
--rules Ac_conv01 //same domain signals synchronized in same destination domain, converge after any number of sequential elements
-
--rules Ac_conv02 //same-domain signals synchronized in same destination domain and converge before sequential elements.
-
--rules Ac_conv03 // Convergence of synchronized signals from different source domains
-
--rules Ac_conv04 //For all control-bus clock domain crossings that do not converge, checks for uniform synchronization schemes and further checks gray encoding when formal is enabled
-
--rules Ac_coherency06 //Reports signals synchronized more than once in the same clock domain
-
--rules Ac_glitch03 // Reports clock domain crossings subject to glitches
--allow_combo_logic=yes //allows combinational logic between crossings only if the logic is within the modules specified using this constraint.
--rules Ac_glitch04 //Reports clock domain crossings subject to glitches
-
--rules Ac_crossing01 // Generate spreadsheet for Crossing Matrix view
-
--rules Ac_sync01 // Asynchronous clock domain crossings for scalar signals that have all the sources synchronized
-
--rules Ac_sync02 // Asynchronous clock domain crossings for vector signals that have all sources synchronized
-
--rules Ar_sync01 // Reports synchronized reset signals in the design
-
--rules Ar_syncdeassert01 // Reports if reset signal is synchronously de-asserted or not de-asserted at all
-
--rules Clock_info15 // Generates clock domain information for primary ports
-
--rules Setup_quasi_static01 // Reports likely quasi-static candidates in the design
-
--rules Ar_syncrst_setupcheck01 // Reports constant value on functional flops in synchronous reset deassert-mode
-
--rules Info_Case_Analysis // Constant propagation in schematic display
-
--rules Ac_abstract_validation02 //Reports block abstraction mismatch with top level design
-
--rules Clock_info05c //Reports unconstrained MUXes which do not receive clocks in all its data inputs
-
--rules Clock_glitch05 //Flags asynchronous sources that converge with different domain clocks
-
--rules Clock_info01 //Reports likely clock signals
-
--rules Reset_info01 //Reports likely asynchronous and synchronous preset and clear signals
-
--validate_reduce_pessimism=all //ignore reporting on the block ports that are hanging, or have a constant or quasi static signal reaching on them
--abstract_validate_express=no //Enables low noise and low effort validation checks for hierarchical SoC flow
--autofix_abstract_port=no //Used to turn on|off autofix feature
--check_multiclock_bbox=yes //Clock domain crossing involving the unconstrained pins of black-box instances on destination side and receiving multiple clock are ignored
--cdc_qualifier_depth=3 //Default is infinite. This leads to some wrong qualifiers
--conv_sync_seq_depth=1 //Default to only checking Ac_conv01 to 1 flop. User can override to go deeper
--conv_sync_seq_depth_opt=yes //Optimizes Ac_conv runtime when depth=1
--clock_reduce_pessimism=latch_en,mux_sel_derived,check_enable_for_glitch,ignore_same_domain
--allow_merged_qualifier=strict
-
--rules SGDC_abstract_mapping01 //Reports clock mapping of an abstracted instance
-
--rules FalsePathSetup //Cases where cdc_false_path constraint is not used by any crossing in the design
-
--rules Setup_library01 //Reports incomplete definition of library pins for CDC
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct_debug_help.htm
deleted file mode 100644
index b0fc1b1..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/cdc_verify_struct_debug_help.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
- cdc_verify_struct
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-cdc_verify_struct
-
-
-The aim of this goal is to verify structural aspects of clock domain crossings. Review and fix each category of CDC problems separately. The violations can be debugged and fixed in the following order:
-
-
-
Ensure that the setup is clean: analyze and fix violations reported by the following rules:
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity.spq
deleted file mode 100644
index 8b57e37..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity.spq
+++ /dev/null
@@ -1,117 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : clock_reset_integrity
-// Version: 1.14.0
-//
-// Revision History:
-// Ver Date SG Ver Comments
-// 1.0.0 18-Feb-2013 5.0 Initial version
-// 1.4.0 12-Feb-2014 5.2.1 Ar_converge01 added
-// 1.7.0 30-Apr-2014 5.3.0 Guidware 2.0 Content Consistency
-// 1.10.1 22-Dec-2014 5.4.1 Adding starc2005 policy since STARC05-1.4.3.2 requires it
-// 1.12.0 18-Nov-2015 5.6.0 Parameter handle_combo_arc=yes added
-// 1.13.0 26-Apr-2017 2017.03 Removed timing policy and corresponding rule ClockEnableRace
-//
-//1.14.0 13-July-2017 2017.12 Overloaded rule severity for Reset_check12
-// 1.17.0 22-Jan-2018 2017.12 Option use_advcdc_features added
-// 1.18.0 04-Dec-2018 2018.09 QualifierSetup rule removed due to unneccessary noise STAR #9001291972
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-clock_reset_integrity mixed
-*
-Sanity check of Clocks and Resets
-*
-This step ensures that clocks and resets trees are properly designed and they
-are free of glitches, races, and other hazards.
- Note that most of the checks require the clocks and resets to be defined. If
-you do not have the clocks and resets definitions, you must run the setup for
-this step to define them before proceeding with verification.
-
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=clock-reset
-// -policy=starc2005
-// -policy morelint
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--mixed //allow mixed language
--use_advcdc_features //Run Advanced CDC Rules in restore mode
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--handle_combo_arc=yes //propagate clocks through lib cells
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Clock_info05b //detect clock signals converging on a combinational gate other than a MUX
-
--rules Clock_check01 //detect unexpected cells, such as latch, tristate, or XOR/XNOR gates in a clock tree
-
--rules Clock_check04 //Reports the usage of both the edges (positive and negative) of a clock
-
--rules Reset_check01 //Reports reset signals that are used in a different mode from their respective synthesis pragmas
-
--rules Reset_check02 //Reports latches, tristate signals, or XOR/XNOR gates in a reset tree
-
--rules Reset_check03 //Reports synchronous reset signals that are used as active high as well as active low
-
--rules Reset_check04 //Reports reset signals that are used asynchronously as well as synchronously for different flip-flops
-
--rules Reset_check06 //Reports high fan-out reset nets that are not driven by placeholder cells
-
--rules Reset_check07 //Reports asynchronous reset pins driven by a combinational logic
-
--rules Clock_Reset_info01 //Generates the Clock-Reset Matrix
-
--rules Clock_glitch02 //Reports clocks that are gated without latching their enable signal properly
--overloadrules Clock_glitch02+severity=Warning
-
--rules Clock_glitch03 //Reports clock signals that pass through a MUX and reconverge back on the same MUX
--overloadrules Clock_glitch03+severity=Warning
-
--rules Clock_glitch04 //Reports flip-flops that converge on a clock pin of a flip-flop through a combinational logic
--overloadrules Clock_glitch04+severity=Warning
-
--rules Clock_Reset_check02 //Reports potential race conditions between flip-flop output and its clock/reset pin
-
--rules Clock_Reset_check01 //Reports unwanted cells found in clock or reset networks
-
--rules Clock_Reset_check03 //Reports potential race condition between flip-flop clock and reset pins
-
--rules Clock_converge01 //Reports the clock signal for which multiple fan-outs converge
-
--rules Ar_converge01 //Reports a reset signal whose multiple fan-outs converge
-
--rules Info_Case_Analysis //Constant propagation in schematic display
-
-// -rules STARC05-1.4.3.2
-//-overloadrules STARC05-1.4.3.2+severity=Warning
-
-// -rules Clock_check02 # high fanout clocks needed only for netlist audit
-
-// -rules Clock_check03 # bus bits used as clocks not a design problem
-// -rules ResetFlop-ML # All the flip-flops should have either synchronous set/reset or asynchronous set/reset
-
-// -rules Reset_check12 # Reports flops that do not receive active reset when specified reset is active
--overloadrules Reset_check12+severity=Error+msgLabel=NORMAL_WARNING
--overloadrules Reset_check12+severity=Info+msgLabel=CORNER_WARNING
-
--ignorerules QualifierSetup //Removed due to unneccessary noise
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity_debug_help.htm
deleted file mode 100644
index c7dc839..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/cdc/clock_reset_integrity_debug_help.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
- clock_reset_integrity
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-clock_reset_integrity
-
-
-The aim of this goal is to check the integrity of clock and reset logic in a design. The violations can be analyzed in the following order:
-
-
-
Analyze and fix basic clock issues reported by the following rules:
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/connectivity_verify/connectivity_verification.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/connectivity_verify/connectivity_verification.spq
deleted file mode 100644
index ce8e6c6..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/connectivity_verify/connectivity_verification.spq
+++ /dev/null
@@ -1,94 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare3.0-EarlyAdopter Goal File
-//
-// Goal Name : connectivity_verification
-// Version : 5.5.0
-//
-// Revision History:
-// Ver Date Comments
-// 5.5.0 18-Jun-2015 Initial version
-//
-// Copyright Atrenta Inc, 2017. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-connectivity_verification
-*
-Easy capture of connectivity inten across IPs/SoCs and static checks to
-suppliment simulation based verification
-*
- Easy Capture of Connectivity-Intent across IP/SoC
-
- 1. Compact & portable constraints
- 2. Verify 1:1, 1:many, many:1 connections
- 3. Checking for illegal conditions
- 4. Conditional connectivity
- 5. Validate design methodology consistency across blocks and reuse at SoC level
-
- Static Checks Supplements Simulation Based Verification
-
- 1. Fast performance to quickly find basic connectivity bugs
- 2. Supports regression use model
- 3. Violations clearly state the failure root-cause
- 4. GUI based design analysis
-
- For more details about this goal, please refer to the
-SpyGlass_ConnectivityVerify_Rules_Reference.pdf file in the doc
-subdirectory of your SpyGlass installation
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=dft_dsm,dft
-
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Soc_01 // Expected node value must be achieved
-
--rules Soc_02 // Paths between user specified nodes must exist
-
--rules Soc_07 // Structure between user specified nodes exists
-
--rules Soc_08 // Paths between user specified nodes exists or not
-
--rules Soc_09 // Path between user specified nodes must not exist
-
--rules Soc_10 // Specific value on user specified nodes must not exist
-
--rules Soc_11 // Node must satisfy the specified constraint message tag expression
-
--rules Soc_12 // Node must not have the specified constraint message tag expression
-
--rules Atspeed_21 // Check required pulse pattern at specified node
-
--rules Soc_01_Info // Expected node value is achieved
-
--rules Soc_02_Info // Connection between user specified nodes exists
-
--rules Soc_07_Info // Structure between user specified nodes exists
-
--rules Soc_04 // Show design state for a given tag
-
--rules Info_Atspeed_21 // Expected pulse pattern at specified node is achieved
-
--rules Info_testmode // Display testmode simulation results
-
--rules Diagnose_testmode // Display instances that blocks testmode propagation
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/.submethodology_help b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/.submethodology_help
deleted file mode 100644
index 7706531..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/.submethodology_help
+++ /dev/null
@@ -1,10 +0,0 @@
-At RTL stage, the user may have two kind of issues
-1) Generate SDC from scratch
-2) Have the ability to check the correctness, consistency and completeness of the constraint to factilitate synthesis. This includes
-
- * Consistency of Clocks and Generated clock
- * Overwritten or Duplicate Constraints
- * Consistency of Input/Output delays, clock latency, clock uncertainty
- * Analysis of Feedthrough paths
- * Verify structural connectivity of exceptions
- * Compare two SDCs for the same design
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract.spq
deleted file mode 100644
index 99410ec..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract.spq
+++ /dev/null
@@ -1,41 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_abstract
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_abstract
-*
-Generate Abstract Port for a design
-*
-Generates the abstract port for a design
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
--block_abstract //for block abstraction
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
--rules CONS_abstract01 // rule that generate abstract port for a design
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract_debug_help.htm
deleted file mode 100644
index bb04f02..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_abstract_debug_help.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- SDC Abstract
-
-
-
-
The purpose of this Goal is to generate abstract port for a design.
- The abstracted view can be used in verifying the timing at system level.
-
The abstraction of the block is performed in correlation with the SDC
-constraints specified through sdc_data constraints. All such sdc_data constraints are processed and corresponding abstract_port constraints generated by the rule. The mode field of the abstract_port constraint specifies the corresponding sdc_data constraint. These constraints are output into sgdc file. The sgdc file path is highlighted in the message given by the rule.
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit-setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit-setup.sgs
deleted file mode 100644
index c251335..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit-setup.sgs
+++ /dev/null
@@ -1,121 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.2
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-# 1.1 28-Jul-2008 Fixed documentation issues and incorrect headers
-# (31071)
-# 1.2 23-Dec-2008 Fixed incorrect use of parameters (35516)
-#
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-##########################################################################
-# Register Variables to be used in the script here
-##########################################################################
-# Variable to check if user has SGDC file that he wants to use
-register_variable Q_ASK_FOR_SGDC 0
-# Variable to check if user has sdc file and no sgdc file
-register_variable Q_ASK_FOR_SDC 0
-#variable for sdc file name
-register_variable Q_SDC_FILE ""
-#variable for Last Setup
-register_variable Q_LAST_SETUP 0
-#Ask for current_design
-register_variable Q_CURRENT_DESIGN ""
-# Check if File Exists
-register_variable Q_FILE_EXISTS 0
-# Global SGDC File Name - Eventually to be use tagging
-register_variable Q_GLOBAL_SGDC "$PRJFILES_DIR/constraints.sgdc"
-
-set_property -show_index
-set_property -hide_step_numbering
-
-sgsSet Q_FILE_EXISTS 0
-get_property system.fileExists $Q_GLOBAL_SGDC -result_variable Q_FILE_EXISTS
-sgsIf { $Q_FILE_EXISTS == 1 } {
- set_header_state "Configure SpyGlass Design Constraint File" complete
-}
-
-set_property -step_header "Before You Start" -show_progress_bar -hide_quality_bar
-sgsIf { $Q_FILE_EXISTS == 1 } {
- create_form -label "CONFIGURE LAST SETUP" {
- get_bool -text "A SGDC file from previous setup was detected. Do you want to use the last setup?" -result_variable Q_LAST_SETUP -buttons {"Yes" "No"} -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Analyze_the_Flavor_of_SDC.htm
- }
-} sgsElse {
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Analyze_the_Flavor_of_SDC.htm
-}
-set_header_state "Before You Start" complete
-
-set_property -step_header "Configure SpyGlass Design Constraint File"
-sgsIf { $Q_LAST_SETUP == 0} {
- create_form -label "CONFIGURE SGDC FILE" {
- get_bool -text "Do you have a SGDC file?" -result_variable Q_ASK_FOR_SGDC -buttons {"Yes" "No"} -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- get_bool -text "Do you have a SDC file" -result_variable Q_ASK_FOR_SDC -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
- }
- set_property -disable_next_button
- sgsIf { ( $Q_ASK_FOR_SGDC == 1 ) && ( $Q_ASK_FOR_SDC == 1 ) } {
- show_text "You have to either specify SGDC file(with sdc_data refering to SDC file) or a SDC file which will enable spyglass to automatically create SGDC file for you. Please click back and select one of them. If you select no for both, setup will create a boilerplate SGDC file for you to populate."
- }
-
- sgsIf { $Q_ASK_FOR_SGDC == 1 } {
- set_property -enable_next_button
- get_file -type {"SGDC Files" "*.sgdc"} -fileExt { "SGDC Files" "*.sgdc" } -result_variable Q_SGDC_FILE -text "Please select the SGDC file"
- sgsExec { /bin/cp {get_variable $Q_SGDC_FILE } { get_variable $Q_GLOBAL_SGDC } }
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
- } sgsElse {
- sgsIf {$Q_ASK_FOR_SDC == 1 } {
- set_property -enable_next_button
- create_form -label "CONFIGURE SDC FILE" {
- get_file -type { "SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE -text "Please select the SDC file"
- set_sgdc_curr_design -text "Enter Current Design" -result_variable Q_CURRENT_DESIGN
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
- #get_property console.top -result_variable Q_CURRENT_DESIGN
- #set_sgdc_curr_design -text "Please select the Top Design Unit" -result_variable Q_CURRENT_DESIGN
- #get_string -text "Enter Current Design" -result_variable Q_CURRENT_DESIGN
- }
-
- sgsIf {$Q_SDC_FILE == ""} {
- set_property -disable_next_button
- show_text " You have not selected the SDC file. Please click back and select the SDC file"
- }
- sgsIf {$Q_CURRENT_DESIGN == ""} {
- set_property -disable_next_button
- show_text " No current design has been specified or selected. Please click back and select the current design "
- }
-
- set_property -enable_next_button
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE} >> {get_variable $Q_GLOBAL_SGDC} }
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
- } sgsElse {
- set_property -enable_next_button
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
- }
- }
-
- set_header_state "Configure SpyGlass Design Constraint File" complete
-} sgsElse {
- set_header_state "Configure SpyGlass Design Constraint File" skipped
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-}
-
-set_property -step_header "Setup Closure"
-sgsSet Q_FILE_EXISTS 0
-get_property system.fileExists $Q_GLOBAL_SGDC -result_variable Q_FILE_EXISTS
-sgsIf { $Q_FILE_EXISTS == 1 } {
-set_header_state "Setup Closure" complete
-show_text " Setup is complete and verified "
-} sgsElse {
- set_property -disable_next_button
-show_text " Setup is incomplete. SGDC file is missing or corrupted. Please Restart or click Back button "
-}
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit.spq
deleted file mode 100644
index 37f547e..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit.spq
+++ /dev/null
@@ -1,52 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_audit
-// Version: 1.0.1
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-// 1.0.1 19-mar-2014 rule SDC_DataSheet added
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-sdc_audit Constraints Mixed
-*
-This goal gives designers the ability to compute Design Coverage and report uncovered objects.
-*
-This audit goal gives designers the ability to compute Design Coverage and reports uncovered design objects. The goal will generate a report providing a health card for the SDC, which will include ports and registers that are not constrainted and the reason why constraints are missing on these design objects.
-
-In addition, the goal is to extract the domain information from SDC Commands. Extracted information is checked for consistency with the SGDC domain information. It informs the user about the conflicting clock domain classifications in SDC. A SGDC file is generated containing all the clock_group information inferred from the SDC constraints, which can be used for further analysis. Generated clocks' corresponding to source clocks are reported in a tabular format.
-
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
--mixed
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules SDC_Coverage // Reports how well SDC covers the design
-
--rules DomainAnalysis //extract domain infromation from the SDC constraints
--rules DomainError //Flags clock domain errors extracted from SDC commands
--rules DomainInfo //Generate domain information for interacting clocks from SDC commands
--rules Domain_SGDC_Consis //clock_group specified in SGDC not consistent with clock_group extracted from SDC constraints
-
--rules SDC_Report01 //Prints table of Generated clocks versus source clocks
--rules SDC_DataSheet //VI-85162
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit_debug_help.htm
deleted file mode 100644
index d476e54..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_audit_debug_help.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
- sdc_audit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sdc_audit
-
-
-This goal gives designers the ability to compute Constraints Coverage and report uncovered objects. Coverage is reported in terms of design objects left uncovered by the specified constraints. Design objects of interest for the rule are ports and registers. An uncovered design object is an indication of missing constraints.
-
-
-The report will identify objects not covered by any constraints and reasons for lack of coverage. If registers are not constrained, run clock_consis goal to get more details. If ports are not constrained, run io_delay goal to get more details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check.spq
deleted file mode 100644
index aacbdcb..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check.spq
+++ /dev/null
@@ -1,108 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_check
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_check-mixed
-*
-Basic Consistency and Clean Clock Definition
-*
-The objective of this step is to detect the inconsistencies in specification of clocks, generated clocks, and perform basic checks on overwritten and conflicting constraints. Without the clean clock definitions, rest of the constraint validation and exception verification would be ineffective. Overwritten and conflicting constraints may not capture the design intent correctly.
-
-The step also detects the inconsistencies in specification of input/output delays, clock latency, clock uncertainty. Such inconsistencies not only result in synthesis or static timing analysis to produce incorrect results, they can potentially allow these tools to assume a greater slack than available. This translates to insufficient or incomplete optimization by synthesis, which directly affects the QoR.
-
-Finally this goal checks that all combinational paths are constrained correctly. If a combination path is unconstrained or incorrectly constrained, then tool will perform no timing check on these paths. As a result a device's
-operation at any specified speed can not be guaranteed.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
-
--mixed
-
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--tc_ignore_te=no
--ignore_io_if_fp=yes
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
-// Check for Clock Issues
--rules Const_Struct04a // Overwritten constraint detected
--rules Const_Struct05 // Conflicting constraints detected
--overloadrules Const_Struct05+severity=Warning
--rules Clk_Gen01a // Clock not driven by a clock constraint
--overloadrules Clk_Gen01a+severity=Error
--rules Clk_Gen01b // Clock driven by a constant value or hanging
--rules Clk_Gen02 // Constrained clock not used as a clock
--overloadrules Clk_Gen02+severity=Info
--rules Clk_Gen03 // A generated clock is not in the fanout of it source clock
--overloadrules Clk_Gen03+severity=Error
--rules Clk_Gen05 // Some clocks in the same clock domain have a different root clock
--rules Clk_Gen06 // Multiple paths exist from the clock pin of a sequential cell to different clock sources
--rules Clk_Gen08 // Object on which clock is generated should not be a port
--rules Clk_Gen09 // Clock source pin is in the fanout of another clock, but is not generated by that clock
--overloadrules Clk_Gen09+severity=Error
--rules Clk_Gen22 // set_input_delay/set_output_delay has been specified on a clock port
--rules Clk_Gen23 // Incorrectly defined generated clock
-//-rules Clk_Gen23a //Formal rule for Incorrectly defined Generated clock
--overloadrules Clk_Gen23+severity=Error
-
--rules SDC_Methodology66 // set_case_analysis applied on a design object conflicts with the propagated value due to other set_case_analysis commands
--rules SDC_Methodology67 // set_case_analysis applied on the output of a flop conflicts with the value propagated at its input
--rules Clk_Lat08 // set_clock_latency is set to negative value
--rules Clk_Uncert01 // Clock_uncertainty constraint set on an object which is not a real or generated clock
--rules Clk_Uncert03 // Inter clock uncertainty not defined between synchronous clocks
--rules Clk_Uncert06 // set_clock_uncertainty is set to negative value
-
-// Check for I/O Delay Issues
--rules Inp_Del01b // Input not constrained by set_input_delay
--overloadrules Inp_Del01b+severity=Error
--rules Inp_Del03a // Input constraint associated with wrong (or, incomplete set of) clocks
--overloadrules Inp_Del03a+severity=Error
--rules Inp_Del08 // set_input_delay is set on the same input relative to multiple clocks but -add_delay missing
--overloadrules Inp_Del08+severity=Error
--rules Op_Del01b // Output has no set_output_delay constraint
--overloadrules Op_Del01b+severity=Error
--rules Op_Del03a // Output constraint associated with wrong (or, incomplete set of) clocks
--overloadrules Op_Del03a+severity=Error
--rules Op_Del08 // set_output_delay is set on the same output relative to multiple clocks but -add_delay is missing
--overloadrules Op_Del08+severity=Error
--rules Load02a // Load values are outside technology limits
--overloadrules Load02a+severity=Error
--rules Inp_Trans01a // Input transition or drive or driving cell is not defined for input
--overloadrules Inp_Trans01a+severity=Error
--rules SDC_Methodology07 // Delay value for constraint set_max_time_borrow is not within the clock period of the clock driving the latch
-
-// Check for Combinational Path Issues
--rules Combo_Paths01 // Combinational port to port path is unconstrained
--overloadrules Combo_Paths01+severity=Error
--rules Combo_Paths02 // Path specified in sdc file (through set_max_delay/set_min_delay) has max_delay < min_delay
--rules Combo_Paths03 // Combinational path has output_delay+input_delay > clock period or output_delay+input_delay > set_max_delay
--overloadrules Combo_Paths03+severity=Error
--rules Show_Case_Analysis
--rules Show_Clock_Propagation
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_debug_help.htm
deleted file mode 100644
index 3ff9f1c..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_debug_help.htm
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- sdc_check
-
SDC Check
-
-
-
The objective of this step is to detect the inconsistencies in specification of clocks, generated clocks, and perform basic checks on overwritten and conflicting constraints. Without the clean clock definitions, rest of the constraint validation and exception verification would be ineffective. Overwritten and conflicting constraints may not capture the design intent correctly.
-
The step also detects the inconsistencies in specification of input/output delays, clock latency, clock uncertainty. Such inconsistencies not only result in synthesis or static timing analysis to produce incorrect results, they can potentially allow these tools to assume a greater slack than available. This translates to insufficient or incomplete optimization by synthesis, which directly affects the QoR.
-
Finally this goal checks that all combinational paths are constrained correctly. If a combination path is unconstrained or incorrectly constrained, then tool will perform no timing check on these paths. As a result a device's
- operation at any specified speed can not be guaranteed
-
-
To debug issues with this goal, first debug all the SDC Parse violations. Such violations lead to incomplete parsing of the SDC file, and many constraints needed could have been ignored due to Parse errors
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_setup.sgs
deleted file mode 100644
index f8a0422..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_check_setup.sgs
+++ /dev/null
@@ -1,17 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.0
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-#
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-
-set_property -step_header "SDC Checks for Clocks, I/O and Feedthroughs"
-set_parameters {pt chip clk_gen01_generate_report strict tc_ignore_latch_enable tc_ignore_te ignore_io_if_fp}
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv.spq
deleted file mode 100644
index 5619ad7..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv.spq
+++ /dev/null
@@ -1,41 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_equiv
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_equiv-mixed
-*
-Constriants Equivalece Checking
-*
-The objective of this step is to ensure that versions of constraints file are equivalent for the same design. As design goes through iterations, so does constraints. This steps helps designers to ensure that design intent is preserved on account of such iterations.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
--mixed
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=const_mgmt,constraints
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Equiv_SDC // Check equivalence between two SDCs for the same design
--rules Show_Clock_Propagation
--rules Show_Case_Analysis
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_debug_help.htm
deleted file mode 100644
index f89ec09..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_debug_help.htm
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
- sdc_equiv
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sdc_equiv
-
-
-The objective of this step is to ensure that versions of constraints file are equivalent for the same design. As design goes through iterations, so does constraints. This steps helps designers to ensure that design intent is preserved on account of such iterations.
-
-
-This debug of this rule is typically iterative. The user would need to resolve equivalence issues in the following order - set_case_analysis, clocks (primary and generated), I/O Delay, Timing Exceptions and other constraints. Unless you fix set_case_analysis issues, you won't see clock related issues. This order is important to prevent noise from being reported in the equivalence. Consider the following example
-
-In this example clocks C1 and C2 are not equivalent. If clocks are not checked before set_input_delay, the equivalence will unnecessarily report the input delays to be not equivalent.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_setup.sgs
deleted file mode 100644
index 6945fa9..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_equiv_setup.sgs
+++ /dev/null
@@ -1,96 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.1
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-# 1.1 05-Aug-2010 Proper Setup manager for sdc_equiv
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-register_variable Q_ASK_FOR_SGDC 0
-register_variable Q_ASK_FOR_SDC 0
-register_variable Q_FLOW_TYPE 0
-register_variable Q_SDC_FILE_1
-register_variable Q_SDC_FILE_2
-register_variable Q_BLOCK_NAME ""
-register_variable Q_CURRENT_DESIGN ""
-register_variable Q_GLOBAL_SGDC "$WDIR/constraints.sgdc"
-
-set_property -show_index
-set_property -hide_step_numbering
-#This step will show the help
-set_property -step_header "Before You Start" -show_progress_bar -hide_quality_bar
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/sdc_equivalence_before_you_start.htm
-set_header_state "Before You Start" complete
-#In this step we get the type of flow and sdc/sgdc files
-set_property -step_header "Configure SpyGlass Design Constraint File" -prereq {"Before You Start"}
-
-create_form -label "CONFIGURE SGDC FILE" {
-# show_text "If you have a SGDC file already added to the setup, then select no for both the options"
- get_bool -text "Do you have a SGDC file?" -result_variable Q_ASK_FOR_SGDC -buttons {"Yes" "No"} -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- get_bool -text "Do you have a SDC file" -result_variable Q_ASK_FOR_SDC -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-}
-set_property -disable_next_button
-sgsIf { ( $Q_ASK_FOR_SGDC == 1 ) && ( $Q_ASK_FOR_SDC == 1 ) } {
- show_text "You have to either specify SGDC file(with sdc_data refering to SDC file) or a SDC file which will enable spyglass to automatically create SGDC file for you. Please click back and select one of them. If you select no for both, setup will create a boilerplate SGDC file for you to populate."
-}
-
-sgsIf { $Q_ASK_FOR_SGDC == 1 } {
- set_property -enable_next_button
- get_file -type {"SGDC Files" "*.sgdc"} -fileExt { "SGDC Files" "*.sgdc" } -result_variable Q_SGDC_FILE -text "Please select the SGDC file"
- sgsExec { /bin/cp {get_variable $Q_SGDC_FILE } { get_variable $Q_GLOBAL_SGDC } }
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-} sgsElse {
- sgsIf {$Q_ASK_FOR_SDC ==1} {
- set_property -enable_next_button
-# get_bool -text "Choose Yes if you would like to do block top equivalence, and no if you like to do reference implement equivalence for same top" -buttons {"Yes" "No"} -result_variable Q_FLOW_TYPE -auto_proceed -geometry { -side bottom -expand 0 }
-
- sgsIf {$Q_FLOW_TYPE == 1} {
- create_form -label "Configure SDC File" {
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_1 -text "Please select the SDC file(s) for top module"
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_2 -text "Please select the SDC file(s) for block"
- set_sgdc_curr_design -text "Enter Top Design" -result_variable Q_CURRENT_DESIGN
- get_string -text "Please enter the block name" -result_variable Q_BLOCK_NAME
- }
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo block -name {get_variable $Q_BLOCK_NAME} >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_1} -mode flatTop >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_BLOCK_NAME} >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_2} -mode block >> {get_variable $Q_GLOBAL_SGDC} }
- } sgsElse {
- create_form -label "Configure SDC File" {
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_1 -text "Please select the reference SDC file(s)"
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_2 -text "Please select the implement SDC file(s)"
- set_sgdc_curr_design -text "Enter Top Design" -result_variable Q_CURRENT_DESIGN
- }
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_1} -mode reference >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_2} -mode implement >> {get_variable $Q_GLOBAL_SGDC} }
- }
- } sgsElse {
-
- show_text "Please add a SGDC file or enable previously selected SGDC files"
- set_constraints
- }
-}
-
-set_header_state "Configure SpyGlass Design Constraint File" complete
-
-
-set_property -step_header "Set Parameters" -prereq {"Configure SpyGlass Design Constraint File"}
-set_parameters {equiv_sdc_ambiguous_clock_file equiv_sdc_constraint_file equiv_sdc_tolerance}
-set_header_state "Set Parameters" complete
-
-set_property -step_header "Setup Closure" -prereq {"Before You Start" "Configure SpyGlass Design Constraint File"}
-show_text "Please review the SGDC files created in this setup"
-set_constraints $Q_GLOBAL_SGDC
-show_text "Setup is complete and verified"
-set_header_state "Setup Closure" complete
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct.spq
deleted file mode 100644
index 146bf11..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct.spq
+++ /dev/null
@@ -1,53 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_exception_struct
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-// 1.0.1 28-Feb-2014 VI-84582 (SCG01 to SCG05 rules are added to guideware2.0)
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_exception_struct-mixed
-*
-Check Timing Exceptions Structurally
-*
-The objective of this step is to check that Timing Exceptions specified in a constraints file as are on paths which are structurally connected. This step is a pre-requisite, before the paths can be verified formally to be correct. Exceptions set on paths that are structurally not connected are redundant and increase the runtime of implementation tools.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
--mixed
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules False_Path01 // False path reference points are not connected
--rules False_Path09 // False path uses same clock in its -from and -to lists
--rules MCP01 // Multi cycle path reference points are not connected
--rules MCP05 // set_multicycle_path setup/hold over or under defined
--rules TE_Conflict01 // Overlap between different timing exceptions commands
-
--rules Show_Case_Analysis
--rules Show_Clock_Propagation
-
--rules SCG01 //SCG01 to SCG05 added for VI-84582
--rules SCG02
--rules SCG03
--rules SCG04
--rules SCG05
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_debug_help.htm
deleted file mode 100644
index f9e20d3..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_debug_help.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
- sdc_exception_struct
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sdc_exception_struct
-
-
-The objective of this step is to check that Timing Exceptions specified in a constraints file are on paths which are structurally connected. This step is a pre-requisite, before the paths can be verified formally to be correct. Exceptions set on paths that are structurally not connected are redundant and indicate the possibility of typos in specifying the exceptions.
-
-
-Before debugging this goal ensure that goal clock_consis has been cleaned. Incomplete/incorrect clock can result in noise to be generated for rules in this goal. The rules in this goal can be debugged in any order. To debug False_Path01 and MCP01, open the incremental schematic and try to traverse from the start point to see where the path is broken or blocked that causes the exceptions not to be structurally connected. If there are violations from TE_Conflict01, remove overlapping exceptions. Even though tools provide a well defined order of precedence when exceptions overlap (False Path > Multi Cycle Path > Max/Min Delay), however that order may not be what the designer intended.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_setup.sgs
deleted file mode 100644
index 1b1ff09..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_exception_struct_setup.sgs
+++ /dev/null
@@ -1,16 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.0
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-#
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-
-set_property -step_header "Check for Structual Correctness of Exceptions"
-set_parameters {tc_ignore_clk_to_clk tc_clk_pairs_for_fp strict}
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen.spq
deleted file mode 100644
index 2092c66..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen.spq
+++ /dev/null
@@ -1,48 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_gen
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Generates Constraints Mixed
-*
-This goal gives designers the ability to create SDC templates from RTL or netlist.
-*
-This goal gives designers the ability to create SDC templates from RTL or netlist. This requires the users to identify correct clock sources (in the .sgdc file)
-
-This goal is useful if you have an RTL, but, don't have the associated SDC. The template will help create a bare-bone structure, where, the actual numbers can be filled up later by the user.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
--mixed
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
-// The following rules belongs to constraints policy
--rules SDC_GenerateIncr // Generate a template constraints file for a block
-
-//The following rules belong to clock-reset policy and may be needed for debug
-//-policies=clock-reset
-//-rules Info_Case_Analysis
-//-sdc2sgdc
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_debug_help.htm
deleted file mode 100644
index c08f36a..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_debug_help.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- sdc_gen
-
SDC Generation
-
-
-
-
This goal gives designers the ability to create SDC templates from RTL or netlist. This requires the users to identify correct clock sources (in the .sgdc file)
-
-
This goal is useful if you have an RTL, but, don't have the associated SDC. The template will help create a bare-bone structure, where, the actual numbers can be filled up later by the user.
-
-
For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_setup.sgs
deleted file mode 100644
index 907f822..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_gen_setup.sgs
+++ /dev/null
@@ -1,234 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.4
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-# 1.1 28-Jul-2008 1) Fixed incorrect documentation in setup
-# (29544, 31450)
-# 2) Fixed redundancy in steps (31170)
-# 3) Enhanced to edit gensdcConstraintsfile.txt (31468)
-# 1.2 15-Dec-2008 1) New CDC Setup Manager integrated
-# 2) Console Setup improved
-# 1.3 24-Dec-2008 1) register output file issues fixed in Console
-# 2) Added comments
-# 1.4 20-Jan-2009 1) Fixed VIs 36448, 35958
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the SGS script to setup Constraints Generation
-##########################################################################
-##########################################################################
-# Register Variables to be used in the script here
-##########################################################################
-# Variable to check if clock has been saved in SGDC
-register_variable Q_SGDC_MOD 0
-# Variable to check if clock setup has been run once
-register_variable Q_RUN_ONCE 0
-# Variable to check if user wants to run clock setup
-register_variable Q_RUN_CLK_SETUP 0
-# Variable to check if file exists
-register_variable Q_FILE_EXISTS 0
-# Variable to check, if user has SGDC that he wants to user instead of clock setup
-register_variable Q_ASK_FOR_SGDC 0
-# Variable to check, if user want parametrized SDC
-register_variable Q_ASK_FOR_PARAM 0
-# Variable to check, SDC Generation has been run once. This way when user hits back button
-# and comes back to the step again, it will load the exisiting run
-register_variable Q_SDC_GEN_ONCE 0
-# Variable to check, SDC Generation has been run once incrementall. This way when user hits back button
-# and comes back to the step again, it will load the exisiting run
-register_variable Q_SDC_GEN_INCR 0
-# Variable to store whether last run was with Param or not
-register_variable Q_LAST_RUN_WITH_PARAM 0
-
-source $SPYGLASS_HOME/auxi/common_setup/init_central.sgs
-
-##########################################################################
-# Common Procedures
-##########################################################################
-## Before you start
-set_property -show_index
-set_property -hide_step_numbering
-
-register_variable USE_DESIGN_CLOCKS 1
-register_variable USE_BBOX_RESOLUTION 1
-source $SPYGLASS_HOME/auxi/common_setup/get_central_status.sgs
-
-set_property -step_header "Before You Start" -show_index
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Constraints_Generation_Setup.htm
-set_header_state "Before You Start" complete
-## Resolve Blackboxes
-source $SPYGLASS_HOME/auxi/common_setup/bb_resolution/bb_resolution.sgs
-##########################################################################
-# Setup Step 1 ...................
-# Identify all clocks using CDC Setup
-##########################################################################
-
-source $SPYGLASS_HOME/.Methodology/Clock-reset/CDC-Setup-Manager/CDC_Setup_Manager_clock_setup.sgs
-
-# Add generated SGDC file to the project with recommended constraint as clocks
- set_constraints $PRJFILES_DIR/cdc_setup_clocks.sgdc -constraints {clock} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Copy_and_Modify_autoclocks.sgdc.htm -label "Identified Clocks"
-
-# set_header_state "Review Clocks" complete
-#} sgsElse {
-## User would have reached this when he created SGDC file and hence Review of Clock Setup Wizard setup is skipped
-# set_header_state "Review Clocks" skipped
-#}
-
-##########################################################################
-# Setup Step 2 ...................
-# Use the SGDC file and generate all clocks in SDC format
-##########################################################################
-
-set_property -step_header "Choose Constraints" -hide_label -show_index -enable_next_button -set_prereq_steps {"Before You Start" "Design Clocks" }
-
-# Copy the default gensdcConstraintsFile.txt from installation and let the user edit it
-#sgsExec { /bin/cp $SPYGLASS_HOME/policies/constraints/gensdcConstraintsFile.txt $WDIR/gensdcConstraintsFile.txt }
- sgsCopyFile -file $SPYGLASS_HOME/policies/constraints/gensdcConstraintsFile.txt -target $WDIR/gensdcConstraintsFile.txt
-edit_file $WDIR/gensdcConstraintsFile.txt -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Generating_Clocks.htm
-
-set_header_state "Choose Constraints" complete
-
-# Now Run the Generation. Ask the user if he/she wants parameterized SDC
-set_property -step_header "Generate SDC file" -hide_label -show_index -enable_next_button -set_prereq_steps {"Before You Start" "Design Clocks" "Choose Constraints"}
-set_sgdc_state -enable {get_variable $SETUP_CLOCKS_SGDC}
-create_form -label "ASK_FOR_PARAMETRIZATION" {
- get_bool -text "Do you create parametrizable SDC? (Default is No)" -result_variable Q_ASK_FOR_PARAM -button {"Yes" "No"} -auto_proceed -geometry { -side bottom }
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Generate_SDC_Template.htm
-}
-sgsIf { $Q_SDC_GEN_ONCE == 0 || $Q_ASK_FOR_PARAM != $Q_LAST_RUN_WITH_PARAM } {
- sgsSet Q_SDC_GEN_ONCE 1
- sgsIf { $Q_ASK_FOR_PARAM == 0} {
- sgsSet Q_LAST_RUN_WITH_PARAM 0
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt" -auto_run -must_run -text "Running Goal Gen_Constraints to generate the chosen constraints." -auto_proceed
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Populate_SDC_Template.htm
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- } sgsElse {
- sgsSet Q_LAST_RUN_WITH_PARAM 1
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt -gen_sdc_param_file=$SPYGLASS_HOME/policies/constraints/gensdcParamSdc.txt -tc_enable_param_sdc_flow='yes'" -auto_run -must_run -text "Running Goal Gen_Constraints to generate the chosen constraints." -auto_proceed
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Populate_SDC_Template.htm
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt -gen_sdc_param_file=$SPYGLASS_HOME/policies/constraints/gensdcParamSdc.txt" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- }
-} sgsElse {
- sgsIf { $Q_ASK_FOR_PARAM == 0} {
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Populate_SDC_Template.htm
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- } sgsElse {
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Populate_SDC_Template.htm
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt -gen_sdc_param_file=$SPYGLASS_HOME/policies/constraints/gensdcParamSdc.txt -tc_enable_param_sdc_flow='yes'" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- }
-}
-
-
-set_header_state "Generate SDC file" complete
-##########################################################################
-# Setup Step 3 ...................
-# Use the seed file from Step 2 to add generate more constraints
-# This step is same as step2, except that SGDC input is different
-##########################################################################
-set_property -step_header "Choose More Constraints" -hide_label -show_index -enable_next_button -set_prereq_steps {"Before You Start" "Design Clocks" "Choose Constraints" "Generate SDC file"}
-
-# Set the constraints, so that user can now setup the seed file for a future run
-#set_constraints -constraints {"sdc_data"} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Adding_Constraints_Incrementally.htm
-# Copy the file generated in the last run, into the run directory so that user can specify the seed, without any
-# references to the path
-#sgsExec { /bin/cp $WDIR/spyglass_reports/constraints/*.sdc $PRJFILES_DIR/ }
-#
-register_variable ALL_OLD_FILE_LIST
-get_property console.SGDClist -result_variable ALL_OLD_FILE_LIST
-set_sgdc_state -disable { get_variable $ALL_OLD_FILE_LIST }
-
-register_variable Q_SDC_INCR_FILE
-register_variable Q_CURRENT_DESIGN
-create_form -label "CONFIGURE SDC FILE" {
- get_file -type { "SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_INCR_FILE -text "Please select the SDC file generated from the gen_sdc run along with seed sdc file"
- set_sgdc_curr_design -text "Enter Current Design" -result_variable Q_CURRENT_DESIGN
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Adding_Constraints_Incrementally.htm
- }
-sgsIf {$Q_SDC_INCR_FILE == ""} {
- set_property -disable_next_button
- show_text " You have not selected the SDC file. Please click back and select the SDC file"
-}
-sgsIf {$Q_CURRENT_DESIGN == ""} {
- set_property -disable_next_button
- show_text " No current design has been specified or selected. Please click back and select the current design "
-}
-set_property -enable_next_button
-register_variable Q_INCREMENTAL_SGDC "$PRJFILES_DIR/incr.sgdc"
-sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_INCREMENTAL_SGDC} }
-sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_INCREMENTAL_SGDC} }
-sgsExec { echo sdc_data -file {get_variable $Q_SDC_INCR_FILE} -mode seed >> {get_variable $Q_INCREMENTAL_SGDC} }
-set_constraints $Q_INCREMENTAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-
-# Edit the side file constaining constraints to be generated
-edit_file $WDIR/gensdcConstraintsFile.txt -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Choose_Constraints_to_be_added_incrementally.htm
-
-set_header_state "Choose More Constraints" complete
-
-set_property -step_header "Generate SDC incrementally" -hide_label -show_index -enable_next_button -set_prereq_steps {"Before You Start" "Design Clocks" "Choose Constraints" "Generate SDC file" "Choose More Constraints"}
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Populate_SDC_Template.htm
-# Now Run the Generation again. Based on what user chose last time, the option to generate parametrized SDC will be
-# jsut inherited from the last run
-sgsIf { $Q_SDC_GEN_INCR == 0 || $Q_ASK_FOR_PARAM != $Q_LAST_RUN_WITH_PARAM } {
- sgsSet Q_SDC_GEN_INCR 1
- sgsIf { $Q_ASK_FOR_PARAM == 0} {
- sgsSet Q_LAST_RUN_WITH_PARAM 0
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt" -must_run -auto_run -text "Running Goal Gen_Constraints to generate the chosen constraints."
- } sgsElse {
- sgsSet Q_LAST_RUN_WITH_PARAM 1
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt -gen_sdc_param_file=$SPYGLASS_HOME/policies/constraints/gensdcParamSdc.txt -tc_enable_param_sdc_flow='yes'" -must_run -auto_run -text "Running Goal Gen_Constraints to generate the chosen constraints."
- }
-} sgsElse {
- sgsIf { $Q_ASK_FOR_PARAM == 0} {
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- } sgsElse {
- run_setup_template $SPYGLASS_HOME/.Methodology/Constraints/rtl/gen_sdc -additionalCmd "-gen_sdc_constraints_file=$WDIR/gensdcConstraintsFile.txt -gen_sdc_param_file=$SPYGLASS_HOME/policies/constraints/gensdcParamSdc.txt -tc_enable_param_sdc_flow='yes'" -text "Running Goal Gen_Constraints to generate the chosen constraints."
- }
-}
-
-register_variable Q_FINAL_SGDC "$PRJFILES_DIR/final.sgdc"
-register_variable Q_FINAL_SGDC_EXISTS 0
-register_variable Q_LAST_SETUP 0
-get_property console.SGDClist -result_variable ALL_OLD_FILE_LIST
-set_sgdc_state -disable { get_variable $ALL_OLD_FILE_LIST }
-
-get_property system.fileExists { get_variable $Q_FINAL_SGDC } -result_variable Q_FINAL_SGDC_EXISTS
-## Here we ask the user to again create an SGDC file from last runs generated files. This will be the final SGDC file which will be used during actual goal run
-
-sgsIf { $Q_FINAL_SGDC_EXISTS == 1 } {
- create_form -label "CONFIGURE LAST SETUP" {
- get_bool -text "Final SGDC File already exists, do you want to re-use it?" -result_variable Q_LAST_SETUP -buttons {"Yes" "No"} -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- }
-}
-
-sgsIf {$Q_LAST_SETUP == 0} {
- create_form -label "CONFIGURE SDC FILE" {
- get_file -type { "SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_INCR_FILE -text "Please select the SDC file generated from the gen_sdc run along with seed sdc file"
- set_sgdc_curr_design -text "Enter Current Design" -result_variable Q_CURRENT_DESIGN
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Adding_Constraints_Incrementally.htm
- }
- sgsIf {$Q_SDC_INCR_FILE == ""} {
- set_property -disable_next_button
- show_text " You have not selected the SDC file. Please click back and select the SDC file"
- }
- sgsIf {$Q_CURRENT_DESIGN == ""} {
- set_property -disable_next_button
- show_text " No current design has been specified or selected. Please click back and select the current design "
- }
- set_property -enable_next_button
-
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_FINAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_FINAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_INCR_FILE} -mode seed >> {get_variable $Q_FINAL_SGDC} }
-}
-#sgsExec { /bin/cp $WDIR/spyglass_reports/constraints/*.sdc $PRJFILES_DIR/ }
-set_header_state "Generate SDC incrementally" complete
-
-set_property -step_header "Setup Closure" -hide_label -show_index -enable_next_button -set_prereq_steps {"Before You Start" "Design Clocks" "Choose Constraints" "Generate SDC file" "Choose More Constraints" "Generate SDC incrementally" }
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/gen_sdc_setup_closure.htm
-set_constraints $Q_FINAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-
-set_header_state "Setup Closure" complete
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv.spq
deleted file mode 100644
index ed4e52f..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv.spq
+++ /dev/null
@@ -1,42 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_hier_equiv
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_hier_equiv-mixed
-*
-Hierarchical Constriants Checking
-*
-The objective of this step is to ensure that constraints are consistent across block hierarchies. This step will help you to check consistency of Block level constraint with sub-chip/chip level constraints for clocks, I/O delays. E.g. a block may have been synthesized with a lower frequency clock (bigger clock period), but at chip level is being driven by a higher frequency clock (smaller clock period). The block may not function correctly.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
--mixed
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints,const_mgmt
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules IO_Consis04 // Sum of input delay and output delay should not exceed clock period
--rules Equiv_SDC_Block // Check Equivalence between Top and Block level SDC
--rules Show_Case_Analysis
--rules Show_Clock_Propagation
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_debug_help.htm
deleted file mode 100644
index 916032f..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_debug_help.htm
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
- sdc_hier_equiv
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sdc_hier_equiv
-
-
-The objective of this step is to ensure that constraints are consistent across block hierarchies. This step will help you to check consistency of Block level constraint with sub-chip/chip level constraints for clocks, I/O delays. E.g. a block may have been synthesized with a lower frequency clock (bigger clock period), but at chip level is being driven by a higher frequency clock (smaller clock period). The block may not function correctly.
-
-
-This debug of this rule is typically iterative. The user would need to resolve equivalence issues in the following order - set_case_analysis, clocks (primary and generated), I/O Delay, Timing Exceptions and other constraints. Unless you fix set_case_analysis issues, you won't see clock related issues. This order is important to prevent noise from being reported in the equivalence. Consider the following example
-
-In this example clocks C1 (in top) and C1 (in block) are not equivalent. If clocks are not checked before set_input_delay, the equivalence will unnecessarily report the input delays to be not equivalent.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_setup.sgs
deleted file mode 100644
index 6843945..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_hier_equiv_setup.sgs
+++ /dev/null
@@ -1,96 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.1
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-# 1.1 05-Aug-2010 Proper Setup manager for sdc_equiv
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-register_variable Q_ASK_FOR_SGDC 0
-register_variable Q_ASK_FOR_SDC 0
-register_variable Q_FLOW_TYPE 1
-register_variable Q_SDC_FILE_1
-register_variable Q_SDC_FILE_2
-register_variable Q_BLOCK_NAME ""
-register_variable Q_CURRENT_DESIGN ""
-register_variable Q_GLOBAL_SGDC "$WDIR/constraints.sgdc"
-
-set_property -show_index
-set_property -hide_step_numbering
-#This step will show the help
-set_property -step_header "Before You Start" -show_progress_bar -hide_quality_bar
-show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/hierarchical_check_before_you_start.htm
-set_header_state "Before You Start" complete
-#In this step we get the type of flow and sdc/sgdc files
-set_property -step_header "Configure SpyGlass Design Constraint File" -prereq {"Before You Start"}
-
-create_form -label "CONFIGURE SGDC FILE" {
-# show_text "If you have a SGDC file already added to the setup, then select no for both the options"
- get_bool -text "Do you have a SGDC file?" -result_variable Q_ASK_FOR_SGDC -buttons {"Yes" "No"} -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- get_bool -text "Do you have a SDC file" -result_variable Q_ASK_FOR_SDC -auto_proceed -style radio -geometry { -side bottom -expand 0 }
- show_html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-}
-set_property -disable_next_button
-sgsIf { ( $Q_ASK_FOR_SGDC == 1 ) && ( $Q_ASK_FOR_SDC == 1 ) } {
- show_text "You have to either specify SGDC file(with sdc_data refering to SDC file) or a SDC file which will enable spyglass to automatically create SGDC file for you. Please click back and select one of them. If you select no for both, setup will create a boilerplate SGDC file for you to populate."
-}
-
-sgsIf { $Q_ASK_FOR_SGDC == 1 } {
- set_property -enable_next_button
- get_file -type {"SGDC Files" "*.sgdc"} -fileExt { "SGDC Files" "*.sgdc" } -result_variable Q_SGDC_FILE -text "Please select the SGDC file"
- sgsExec { /bin/cp {get_variable $Q_SGDC_FILE } { get_variable $Q_GLOBAL_SGDC } }
- set_constraints $Q_GLOBAL_SGDC -constraints {current_design sdc_data} -html $SPYGLASS_HOME/.Methodology/Constraints/doc/Configure_SpyGlass_Design_Constraint_File.htm
-} sgsElse {
- sgsIf {$Q_ASK_FOR_SDC ==1} {
- set_property -enable_next_button
-# get_bool -text "Choose Yes if you would like to do block top equivalence, and no if you like to do reference implement equivalence for same top" -buttons {"Yes" "No"} -result_variable Q_FLOW_TYPE -auto_proceed -geometry { -side bottom -expand 0 }
-
- sgsIf {$Q_FLOW_TYPE == 1} {
- create_form -label "Configure SDC File" {
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_1 -text "Please select the SDC file(s) for top module"
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_2 -text "Please select the SDC file(s) for block"
- set_sgdc_curr_design -text "Enter Top Design" -result_variable Q_CURRENT_DESIGN
- get_string -text "Please enter the block name" -result_variable Q_BLOCK_NAME
- }
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_1} -mode flatTop >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo block -name {get_variable $Q_BLOCK_NAME} >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_BLOCK_NAME} >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_2} -mode block >> {get_variable $Q_GLOBAL_SGDC} }
- } sgsElse {
- create_form -label "Configure SDC File" {
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_1 -text "Please select the reference SDC file(s)"
- get_file -type {"SDC Files" "*.sdc" } -fileExt { "SDC Files" "*.sdc" } -allow_multiple -result_variable Q_SDC_FILE_2 -text "Please select the implement SDC file(s)"
- set_sgdc_curr_design -text "Enter Top Design" -result_variable Q_CURRENT_DESIGN
- }
- sgsExec { /bin/cp $SPYGLASS_HOME/.Methodology/Constraints/setup_template/constraints.sgdc {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo current_design {get_variable $Q_CURRENT_DESIGN} > {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_1} -mode reference >> {get_variable $Q_GLOBAL_SGDC} }
- sgsExec { echo sdc_data -file {get_variable $Q_SDC_FILE_2} -mode implement >> {get_variable $Q_GLOBAL_SGDC} }
- }
- } sgsElse {
-
- show_text "Please add a SGDC file or enable previously selected SGDC files"
- set_constraints
- }
-}
-
-set_header_state "Configure SpyGlass Design Constraint File" complete
-
-
-set_property -step_header "Set Parameters" -prereq {"Configure SpyGlass Design Constraint File"}
-set_parameters {equiv_sdc_ambiguous_clock_file equiv_sdc_constraint_file equiv_sdc_tolerance}
-set_header_state "Set Parameters" complete
-
-set_property -step_header "Setup Closure" -prereq {"Before You Start" "Configure SpyGlass Design Constraint File"}
-show_text "Please review the SGDC files created in this setup"
-set_constraints $Q_GLOBAL_SGDC
-show_text "Setup is complete and verified"
-set_header_state "Setup Closure" complete
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy.spq
deleted file mode 100644
index 2bf0128..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy.spq
+++ /dev/null
@@ -1,63 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare2.0 Goal File
-//
-// Goal Name : sdc_redundancy
-// Version: 1.0.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-//
-// Copyright Atrenta Inc, 2015. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++
-sdc_redundancy-mixed
-*
-Check for Redundancy in Constraints
-*
-The objective of this step is to remove any redundancy in the constraints and perform checks that might facilitate better retargeting. This is an optional step and solely the discretion of the design group.
-
-For more details about this goal, please refer to the SpyGlass-Constraints-Methodology.pdf file in the doc subdirectory of your SpyGlass installation.
-=cut+++++++++++
--mixed
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=constraints
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules High_Fan03 // High fanout net identified
-
--rules False_Path04a // False path specification excludes a large number of paths
-
--rules MCP04a // Multicycle path specification covers a large number of paths
-
--rules Disable_Timing02 // Clock path blocked by set_disable_timing
-
--rules SDC_Report01 // Prints table of generated clocks versus source clocks
-
--rules Clk_Gen21 // set_propagated_clock set on a virtual clock
--rules Clk_Uncert07 // No crossing exists between clocks for which inter-clock uncertainty is defined
--rules Clk_Trans16 // set_clock_transition set on virtual clocks
-
--rules False_Path03 // Unnecessary use of through in false-path
--rules MCP03 // Unnecessary use of through in multi-cycle path
-
--rules Inp_Del07a // Input constraints are incorrect relative to a range of clock period
--rules Op_Del07a // Output constraints are incorrect relative to a range of clock period
--rules Inp_Del09 // Not all pins on the same bus have the same input delay
--rules Op_Del09 // Not all pins on the same bus have the same output delay
-
--rules Show_Case_Analysis
--rules Show_Clock_Propagation
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_debug_help.htm
deleted file mode 100644
index f7bb15a..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_debug_help.htm
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
-
-
- sdc_redundancy
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sdc_redundancy
-
-
-The objective of this step is to remove any redundancy in the constraints and perform checks that might facilitate better retargeting.
-
-
-Before debugging this goal ensure that goals clock_consis, io_delay, combo_path, and structural_exception have been cleaned.
-
-
-This is an optional step and solely the discretion of the design group. Rules can be debugged in no particular order. Rule debug is similar to the other goals described in the Methodology.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_setup.sgs b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_setup.sgs
deleted file mode 100644
index 4472bc5..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/constraints/sdc_redundancy_setup.sgs
+++ /dev/null
@@ -1,16 +0,0 @@
-##########################################################################
-# SpyGlass Constraints Methodology
-#
-# Version: 1.0
-#
-# Revision History:
-# Ver Date Comments
-# 1.0 18-Jun-2008 Initial version
-#
-# Copyright Atrenta Inc, 2008. All rights reserved.
-##########################################################################
-# This is the setup file for SDC Validation
-##########################################################################
-
-set_property -step_header "Check for Constraints Redundant Constraints"
-set_parameters {clk_gen01_generate_report ignore_io_if_fp inp_percent_max inp_percent_min op_percent_max op_percent_min num_falsepath_max num_mcpath_max tc_ignore_latch_enable tc_ignore_te}
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/.submethodology_help b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/.submethodology_help
deleted file mode 100644
index 9a54500..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/.submethodology_help
+++ /dev/null
@@ -1,8 +0,0 @@
-The need for DFT-optimized design:
-
-Manufacturing test is performed by patterns automatically
-generated by ATPG (automatic test pattern generation) tools.
-To operate effectively, these tools require that the circuits
-be correctly designed for testing.
-
-This and subsequent steps directly address this issue.
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract.spq
deleted file mode 100644
index 5250913..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract.spq
+++ /dev/null
@@ -1,57 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare Goal File
-//
-// Goal Name : dft_abstract
-// Version : 5.3.0
-//
-// Revision History:
-// Ver Date Comments
-// 1.0.0 18-Feb-2013 Initial version
-// Added: Short description of rules and parameters
-// 5.3.0 20-Jun-2014 Guidware 2.0 Content Consistency
-//
-// Copyright Synopsys Inc, 2019. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-dft_abstract
-*
-Generate abstract view of the design.
-*
- This goal includes rules which will create the abstract view of design:
-
- For more details about this goal, please refer to the
-SpyGlass-DFT-Methodology.pdf file in the doc subdirectory of your
-SpyGlass installation
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policies=dft
-
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
--block_abstract // Enables abstraction setup rules
-
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
--dftTreatBBoxAsScanwrapped=on // Treat all black-boxes as scan-wrapped
-
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Soc_00 // This rule creates abstract view of current design
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract_debug_help.htm
deleted file mode 100644
index 7ffd75c..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_abstract_debug_help.htm
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
- dft_abstract
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-dft_abstract
-
-
-
The goal helps in creating an Abstract Model for a Block.
-
SpyGlass DFT supports a hierarchical SoC methodology in which a simplified abstract model of the block can be created when rule checking the block. The model can then be used in lieu of the original RTL for efficient rule checking at the top/SoC level.
-
The creation of the abstract model is done by running the dft_abstract goal on the block.
-
When using abstract models for one or more lower level blocks in a design, the dft_abstract_validate goal verifies that the constraints under which the abstraction was done are met in the current design.
-
The use of the hierarchical SoC methodology for DFT is described in greater detail in the SpyGlass SoC Methodology User Guide.
-Review the violation messages, have better understanding about the issue by bringing up the schematic if appropriate and fix the design issue. Note the fix for these issues may be very design-specific.
-
-
-Make Latches Transparent (One of the objectives of this goal)
-
-
-
Latch_08 violations (see the description of Latch_08 in the SpyGlass DFT User Guide section on Latch Rules) detect latches that are not transparent in capture mode. Non-transparent latches can be diagnosed with Info_testmode for capture.
-
Select a Latch_08 violation and display in the IS.
-
If the latch enable has a non-X but an inactive value then either a test_mode constraint should have the complementary value, or some device in the fan-in to this latch enable should produce the complementary value.
-
If the latch enable has no value, then either the logic feeding this enable should be modified so that the enable is forced active during capture or new test_mode constraints must be defined.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_bist_ready.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_bist_ready.spq
deleted file mode 100644
index 94c9a82..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_bist_ready.spq
+++ /dev/null
@@ -1,39 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare Goal File
-//
-// dft_bist_ready
-// Version: 5.4.0
-//
-// Revision History:
-// Ver Date Comments
-// 5.4.0 12-Nov-2014 Version as in 5.4.0
-//
-// Copyright Synopsys Inc, 2019. All rights reserved.
-// ----------------------------------------------------------------------------
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-dft_bist_ready
-*
-Make design amicable to bist and test-compression
-*
- This "bist ready" step provides value not only for designs with Logic BIST
-(Built-In-Self-Test) but also for designs with ATPG Compression, as the rules
-report on various forms of X-propagation which is detrimental to both.
-
- This "bist ready" step is designed to ensure that design is aligned with
-bist and test-compression requirements. SpyGlass DFT does not do the bist or
-compression insertion but rather deals with X-propagation and large fanin cone.
-
- For more details about this goal, please refer to the
-SpyGlass-DFT-Methodology.pdf file in the doc subdirectory of your
-SpyGlass installation
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
--policies=dft
--rules BIST_01
--rules BIST_02
--rules BIST_03
--rules BIST_04
--rules BIST_05
-
--rules Info_testmode
--rules Info_testclock
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice.spq
deleted file mode 100644
index efc2b1b..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice.spq
+++ /dev/null
@@ -1,151 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare Goal File
-//
-// Goal Name : dft_dsm_best_practice
-// Version : 5.5.0
-//
-// Revision History:
-// Ver Date Comments
-// 5.5.0 11-Jun-2015 Initial version
-// Added: Atspeed_07
-// Added: Atspeed_11 (and moved to top)
-// Added: Atspeed_14
-// Added: Atspeed_22
-// Added: Atspeed_30
-// Added: CG_01_shift
-// Added: CG_01_capture
-// Added: CG_01_atspeed
-// Added: CG_02_capture
-// Added: CG_02_atspeed
-// Added: CG_03_capture
-// Added: CG_03_atspeed
-// Added: CG_07
-// Added: CG_generateReport
-//
-// Copyright Synopsys Inc, 2019. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-dft_dsm_best_practice
-*
-High stuck at coverage is a necessary but not sufficient
-condition to achieving high transition coverage. This
-template contains rules that address the special needs of
-such topics as d-pin controllability, test clock domains
-and path issues.
-*
- DFT for stuck at testing involved a scan and a low speed
-capture clock. The purpose of scan was to create a state
-that both exercised and observed specific faults.
-Transition testing requires two vectors and two clocks
-fired at system speed. The first clock pulse causes a
-state transition which imposes additional DFT requirements
-beyond stuck at DFT. The second clock pulse must be from
-the same clock source as the first pulse which also imposes
-special DFT considerations.
-
- Since transition tests are performed with high speed clocks,
-false paths and multicycle paths must be taken into account
-since various faults along such paths cannot be transition
-tested.
-
- This template contains rules that address these issues,
-rules that help diagnose transition rule violations.
-
- For more details about this goal, please refer to the
-SpyGlass-DFT-DSM-Methodology.pdf file in the doc
-subdirectory of your SpyGlass installation
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=dft_dsm,dft
-
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Info_transitionCoverage_audit // Analyze transition coverage for circuit
-
--rules Info_transitionCoverage // Evaluate transition coverage for design
-
--rules Atspeed_11 // All clock sources must be controlled by an atspeed clock
--overloadrules Atspeed_11+severity=Error
-
--rules Atspeed_03 // Async logic in the functional mode should not interact synchronously in the capture at-speed mode
-
--rules Atspeed_04 // Synchronously interacting logic in the functional mode should not be clocked by asynchronous clocks in the capture at-speed mod
-
--rules Atspeed_05 // All false paths or multicycle paths in the functional mode should be blocked in the capture at-speed mode
-
--rules Atspeed_06 // All paths crossing asynchronous clock domains should be blocked
-
--rules Atspeed_07 // Clock gating for each domain in the capture at-speed mode should be done using a separate signal
-
--rules Atspeed_09 // Data pin of scan flip-flop must be fully controllable
-
--rules Atspeed_14 // Test clocks must not be used as data signals
-
--rules Atspeed_19 // Latches should be transparent in capture/captureatspeed mode or when testclocks/atspeed clocks are off
-
--rules Atspeed_20 // Asynchronous set/reset pins of all the flops should be fully controllable during capture atspeed mode
-
--rules Atspeed_22 // No merging of atspeed clocks in capture atspeed mode
-
--rules Atspeed_25 // No combinational reconvergence to flip-flops asynchronous pins
-
--rules Atspeed_30 // No combinational reconvergence to flip-flops clock pins
-
--rules CG_01_shift // Clock gating cell enables should be enabled in shift mode
--overloadrules CG_01_shift+severity=Error
-
--rules CG_01_capture // Clock gating cell enables should be controllable to on state in capture mode
--overloadrules CG_01_capture+severity=Error
-
--rules CG_01_atspeed // Clock gating cell enables should be controllable to on state in atspeed mode
--overloadrules CG_01_atspeed+severity=Error
-
--rules CG_02_capture // CGC enables should be controllable to off state in capture mode
-
--rules CG_02_atspeed // CGC enables should be controllable to off state in atspeed mode
-
--rules CG_03_capture // System enable pins on clock gating cell should be observable in capture mode
-
--rules CG_03_atspeed // System enable pins on clock gating cell should be observable in atspeed mode
-
--rules CG_07 // Detects edge inconsistency between CGC and driven flip-flops
-
--rules CG_generateReport // Generate a text report with details of all clock gating cells in design
-
--rules Diagnose_02 // At-speed paths must not be blocked by testmode signals
-
--rules Diagnose_03 // Faults blocked by false paths or multi-cycle paths
-
--rules Diagnose_04 // Faults in paths crossing clock domains cannot be tested
-
--rules Info_atSpeedClock // Displays at-speed test clock propagation
-
--rules Info_noAtspeed // Displays all registers and flip-flops specified as 'no_atspeed'
-
--rules Info_synthRedundant // Display pins that are likely to be absent in an optimized netlist
-
--rules Info_testclock // Display test clock propagation
-
--rules Info_testmode // Display testmode simulation results
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice_debug_help.htm b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice_debug_help.htm
deleted file mode 100644
index b81e58e..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_best_practice_debug_help.htm
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
-
-
-
-
-
-
-
- dft_dsm_best_practice
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-dft_dsm_best_practice
-
-
-
Select an Atspeed_09 violation in IS.
-
-
If the cause is a combinational loop, then review in the schematic viewer if a test_mode is missing or has been improperly declared. Otherwise, the design may have to be modified to allow use of a test_mode to break the loop.
-
If the case is a multiple driven net/floating net, review if a test_mode is missing or has been improperly declared.
-
If the case is a black box, then create a scan wrapper for the module.
-
If the case is a non-lockup/Non-transparent latch, then review if a test_mode is missing or has been improperly declared.
-
If the case is a non-scan flip-flop then reconsider the reasons for this to not be scannable. Create a "scan" constraint for this flip-flop to determine the coverage impact.
-
If the case is a constant value net has been reached, then review if a test_mode is missing or has been improperly declared.
-
-
Select an Atspeed_19 violation in the IS. Display the enable fan-in cone back to primary inputs to see if or how this logic should be enabled in captureATspeed mode.
-
Select an Atspeed_03 violation in the IS. Display the clock fan-in cone back to primary inputs for both flip-flops. If the root level system clocks that feed these flip-flops are synchronous, then add -domain <xx> to each of the clock constraints. If the clocks are not synchronous, then redesign the switching logic or the test_mode constraints so that the clocks are not combined in captureATspeed mode.
-
Select an Atspeed_04 violation in the IS. Display the clock fan-in cone back to primary inputs for both flip-flops. If the root level clocks that feed these flip-flops are declared asynchronous but shouldn't be, then remove or change -domain <xx> to each of the clock constraints so the clocks are in different domains. If the clocks are synchronous, then redesign the switching logic so that the clocks are combined in captureATspeed mode.
-
Diagnose_04 can be used to display faults that cannot be tested but use caution since numbers of faults may be involved.
-
Select an Atspeed_05 violation in IS mode to see paths that declared as multi-cycle or false-path in the SDC file or in SGDC file. If any path should be considered for transition testing, then remove that path from the constraint file.
-
Select an Atspeed_06 violation in IS mode to see paths that cross clock domains.
-
-
If the domains should be considered as synchronous, then add domain <xx> to the atspeed clocks
-
If the domains are asynchronous, then consider blocking the path with a design change.
-
-
Diagnose_03 may be used to view faults that are involved in false path or multi-cycle paths.
-
-
-Estimate Coverage
-
-
-
Info_transitionCoverage may be used to estimate the transition fault coverage if ATPG were run based on the current circuit and SGDC constraints.
-
If the coverage estimate reported falls below expectation, run Info_transitionCoverage_audit to find the major causes of low atspeed test (transition delay) coverage.
-
-
-Improve Coverage
-
-
-Info_transitionCoverage_audit issues a report of the major causes of low atspeed test (transition delay) coverage. The rule is not intended to diagnose these causes. Instead, the at-speed rules corresponding to a particular cause should be used for diagnosis.
-
-
-Method
-
-
-For each cause, the rule will find the cause and list the coverage that would be obtained if that cause were fixed. After the incremental coverage improvement for each cause is computed, the new total coverage is listed. This total coverage will be an increasing value that approaches 100%.
-
-
-The following categories are the primary reason for coverage data not reaching 100%:
-
-
-
Non scan flip-flops
-
-Assume all flip-flops are scannable. Force all flip-flops, except flip-flops declared with no_scan constraint, to be considered scannable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NOTE: Flip-flops that are declared as no_scan, will not be forced scannable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
NOTE: Flip-flops that are inferred as no_scan, will be forced as scannable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
At speed domains of scan flip-flops
-
-Assume all scannable flip-flops are at-speed clocked. Force all scannable flip-flops that are not clocked by an -atspeed testclock, to be launch points for transition testing.
-
-
Uncontrollable data of scan flip-flops
-
-Assume the d-pins of scannable flip-flops are fully controllable.
-
-
Feedback flip-flops
-
-Assume all scannable q to d Feedback flip-flops can launch both transitions.
-
-
Combinational reconvergence
-
-Assume all combinational reconvergences are broken.
-
-
Uncontrollable logic due to hanging terminals
-
-Assume all hanging terminals are fully controllable.
-
-
Tristate enable used for capture
-
-Assume enable pin of tristate as a capture node for all domains.
-
-
Untestable faults on SCANENABLE/SET/RESET
-
-Assume both transitions can be detected on SE/SET/RESET control logics.
-
-
PI and PO used for launch and capture
-
-Assume PIs and POs are used for Launch and Capture nodes, respectively.
-
-
Clock domain crossing
-
-Assume all scannable flip-flops are in the same domain.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_random_resistance.spq b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_random_resistance.spq
deleted file mode 100644
index d693ab4..0000000
--- a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_dsm_random_resistance.spq
+++ /dev/null
@@ -1,58 +0,0 @@
-// ----------------------------------------------------------------------------
-// SpyGlass GuideWare Goal File
-//
-// Goal Name : dft_dsm_random_resistance
-// Version : 5.5.0
-//
-// Revision History:
-// Ver Date Comments
-// 5.5.0 11-Jun-2015 Initial version
-//
-// Copyright Synopsys Inc, 2019. All rights reserved.
-// ----------------------------------------------------------------------------
-
-=template++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-dft_dsm_random_resistance
-*
-Reduce the random resistance of the design
-*
- For both stuck-at and transition faults, the presence of hard to detect
-faults has a substantial impact on overall ATPG performance. The ability
-to measure the density of hard to detect faults in a design early at the
-RTL stage is valuable. It gives the opportunity to make design changes
-to address the issue, and enables to quickly measure the impact of the
-changes. One of the best predictors of the presence of hard to detect
-faults is the random resistance of a design. This template contains
-rules that address the special needs of such topics
-
- For more details about this goal, please refer to the
-SpyGlass-DFT-DSM-Methodology.pdf file in the doc
-subdirectory of your SpyGlass installation
-=cut+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-//------------------------------------------------
-// Policy Registration
-//------------------------------------------------
-
--policy=dft_dsm,dft
-
-
-//------------------------------------------------
-// General Setup commands
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Policy Specific Parameter Setting
-//------------------------------------------------
-
-
-//------------------------------------------------
-// Rule Registration
-//------------------------------------------------
-
--rules Info_random_resistance // Does the random resistive analysis for the circuit
-
-//------------------------------------------------
-// End of Rule Registration
-//------------------------------------------------
diff --git a/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_scan_ready-08.jpg b/src/UWE_projectCode/tmp/tmp/Scripts/custom_methodology/dft/dft_scan_ready-08.jpg
deleted file mode 100644
index f4247cebaf6757bd9a790489ffb622aa4a613d85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 73154
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≤YITXmNF-0FwP}uLa{kzBBXH
zcRwsQ)g-on&@B9VgZEOQAX5~@{Ki>XdTSF`bp`BK?xaZY=XBMw3SLLPPqJ+SeA{n7
zsL@T9_tJ0pJUy56U}#AQAE#gGn>g@bUHVC*fVSoMk=C&f>-|!K8GgobIAZdgZj=aX
z)J{kHlfviuMZ6EkQl7cL49p0F*PElL!Nfg<#std2?p9vZa`aN0KSHAIhkELdsiqWX
zX)nUa+D@gNLywx#tWIyJg_2wK2FAfO;=q}tRkM_M(uYf8Oe^7vivhJKpv7c52{kxe(LFk
zS$!~*4{{`x~{{cq?=kw<&A)
zb=kPekvm_^y|RB=4MeQZ?i90ZFl1jo-_Gap)o-(
zSmy`!q8)#4%SfQarF+}y{?s}p%-zk4Q7dRBUd-KV#Mm@=#`;Gf$GbABaUXdc1sWbk
zpPd`B=NhJd9Y*gL=D0YDDl-(hEpWJHVsUQDo8xZwdp6T=bvEb~L(;_ciM^w>Z73#m
zZg_Qp>|L_A=h{_Ojdr>xEtXf6z$;(w{-#$r)u8PBgghNt+-q(A#19?hp85|R8fvcqXoXeJ4sE}4DK$>@h0C}~a-MFS
zl@?DmxtFGU*sANy1Y2B+jun;LE)vQQ8pTic2zhKX#A$2#AcWQ9&v@(vj>k6|g<&uE
z6RTSVuiE$1*}=2($}zpN+S_-$)YH9Z~KUd?UMcz5dM)VNe!wwQq+8{o$Mkjx~q}>
zi7Le&B(sU@B93qq_wxCev{JEZ>8~6pb&SdE>xA9?cj51&zg_c*5v3IAn(4dgS;`D2
zCG@!IoqcXaL#T>GjW|D*p1PeO+Fp3GQ2a5li&rOw@sNw~iGUfB1EVc?DsO1*5=Zj&
zwlgz#E^I8mKXtGVUM^KGOu2|~V@82)5bGIefSG*@S!
zPNh?hAl{`&DKMYb59BP#=21b+^*|eU{h(Vc<@!;s$%%rcKE8P>UR=LR9pY65L@OFc
zh2d2w36nSGzZ1rhuW_XG{7rNf&qRveMqr`cy>)&uhMX%tya!In>8r&UW0QT{}PxHAu9M7Nd_Wa~jpQ$jxN)V`9RiVx`GYZIr(OJl5BhVRnN
z#>z2!zlTsax9(hX>fX*{0%Mx4!PMKD_$j7cgr{Tn)T^tlH(KlLg+zU#+R`g%It1^+
z+>m1@VRI)xn;s;$7)_h>Fo^)^LmV!}-0LXnUa_x8-T|`Cm_q}EOOiVARD$lD9XuB
zdoE;Sz}$5l2+MU0#oDx|-|j{CN*wM<{(&NEQ0%K@>hf5Q)T~}UR_g=%teBg&KI>@D
zw`Lt8>z+===Ft-^`WeJ@0alVCi>f{0lxz8_Ej+5$ls*Y|gsqB*?cI@;%-B_zE$w`s
zKVq~!$uXwG`0_a8;`8j{+L$rHpUVT4IqODxnfaS2UYHF_h>zTruld%{J!x>h(Ns%F
ztsvhCWjm>@1eEFdmVqQoyW`a@w1q_pcsF7#oUc}0j80g^-ASg&mtKCWUgZKII#SGSo%%gtvRPI~QWW
zzufY_wPqVOrQZGI4)uIsx9V7x9dNdr0kxL`^$p1vc=&H=u;G@2CK-5%L-B5YBU9c5
zcO~bOs!nSg>cFKXYZDrgdYFT=u{Xv}4pp@>;b!X{;butZRpSBYWT()GVdZ@%@KKr|
zb}iV44(je&G}9F{qV!`t%b&I{=E8qY_e+lW;x(1T%-N5-#GjFsG~sv&vEU`_^HEk4
zR)g(?!IiFbO|Ul1?&`(qviG#@3qe`u?M>d4Q9n9p6Dy7563KL4sa(4RBq$)WX{cJlMe0csER}kFwH4CoEWH1`ipGdCv1`o}5M?Tn3Pz&IKP|)`jc!Ub6z%`IF0p$h#${%uh8c)tc|h#A{Gi
zKhC_lzbCJHOSwLNmO^+|mN <6|c^X%D;qlU=oAlRwhvu(7I=%!>iNdBTl;d(-#|
zSYw2QkmJ;-Vr`R@I8=bjJA;Ztq_;Me1Xd8}XB>J}I?8v`we
zcP`gi&7j2I%m0K9-(pu{R9yQ?p4d@}T5Wg1Y}K(3{o*sKNoUvk79$2u?5UFs($h|p
z)4DCv%f!`bl-!tBU2N+FO<*(y_%IDkrsuowtSkh1uDFD#5(<<=_Y7ux%v++XX+Agb
zQodyLx|>$skxb!}Ms@Fo#*;rkiHLY}$&TFCj&i?*yDS4v$j7E<2hPfOc#Zl^=FS)q
zdh|o9?{&rC+G_||6X67u`f-PB6;_Kw$7XK3*@{m?u5X$|kNz%RoRqXj&+Q-2PY9Dwsz+ZaE2BnM*QHCUfoSUZ@SW_%Xwv
z%fEM8dqum_=18j?cFH7rKNd8a)K1lki-3Z5&Fe;wI{j~(MS`}w^tbo#yiMqp46@Q=
z&JKOD-Q`VT%4}IShQ<8S=$t?>zVhTXFVM~=t}@D$+ZDx#(w#0J&
z&x%j2pYlP0gy3GqVd3vSEM-DPhjI>x{3GJA0&R$zY!B@eD&lr~k4CmccY)my&c*Ib
zH#gcl$3$6&i0gh~{40Kc4NQ}k@erOK-K;92FtqlX_S
z^9utF7-fjd5XM?RON<`mWb(wguBgQ*4eQJ*Ig3jvNvMshC)J#mCFLHkN-+f#tKW%-
zJ1C1d{V8zec}cD&F0R`)pkA*a2=VgJOzOIW|*Jeq0E>G8j
zP?=2YM=JeX{G;1
zZl>ebW0O*L)c*B}LnXmxAfd0!yY=14_ZxKql}4?PYvQe17mBnAyD!A`Zn5i}Of@BB
z|4fh!yr?b`435Y`TtP4)bkPiztg(D>Axol7=dRL(Vz`Y>#mIw~&cbPIQHm2TwntD`
zI_d`~>cUYk8o|cKD%)OC!VdahuwMU>4mST@vtr1sG77xYz9$>~3Wb-fL
z>t50P-mIH?+w$1{Re6X2l3FbAVYK1En7}C`MduIcsUS7Jj8hF^_y%Z;U3`}A)KA`Y
zz&Yivgh)kR=7Z&2cehdKXkKi+y?2?nVX>AsXUR5x#+uC68b+=czRo=yK{wuJo~M&4
zq89#0%Vkr)fpLj@(4B@EsyGvd;zu)>Xc-=w321pt8}jjIgv;?hk9Utzy_aaQ3bTrl
zK4E9XcIxJKI#Go~KTIOr->WG<`d|?eaSV|^&OiCS!On=6KQOnV|Tpw$G&*SC%>l)MJj6@Jd>FKGS
zYCx(_FqwjIxyVJ4leqYRP^1){n(45(gibj32W25w6X9IV4{DkD-M6NWA>Rm4rFrb&
zvhk=BHO0?LNxE=o^L3&D;#)k=M&65X!8=)!oJ`T~mG1gV)ng`HHj{;$_332XKf2qi
zwx?7f@k*k#-=|dDrxmR-dgkon-Sz2>17N^Nr~!tvJrvakeRLBT^An){&}+~8QY>0DEH6ou;{~1A_LUIn5=F1GH2U!D
z)Rm!tT1zZtRZZpl{NnAMQn2jtx(~r@zA_$FO)9$6&8wN2Sr<9qQw1T8t)5q_k)^_n
zP5{V$c;2R1U3-B3-3iTKj8DLm-5=DXOWs7T(MnwL+=67W{0jgnK)vrEX@#f_}}W9g?Tozm@YqQ=aI*@}nZ_
zJWGOarKF$nZ`uVdUA$>N8c@HWKD=@&hvnI+0zfWsGRKjgc?-;eaU(>!qP1>9e~b$v
zk+5n|Nqazy|0PDz??dB=y}5;k`^%Ey>W({xThMz;G=arwQg`~>0|4H|@wdA57160H
z)FZqf!zAwCROHK04n5aiDoTj