| Line 11... | Line 11... | 
      
        | # Disable the timing loops in asynchronous cells
 | # Disable the timing loops in asynchronous cells
 | 
      
        | # currently using the Nangate 45nm cell lib.
 | # currently using the Nangate 45nm cell lib.
 | 
      
        | # 
 | # 
 | 
      
        | # History:
 | # History:
 | 
      
        | # 03/07/2009  Initial version. <wsong83@gmail.com>
 | # 03/07/2009  Initial version. <wsong83@gmail.com>
 | 
      
        | # 21/05/2011  Change to the Nangate cell library. <wsong83@gmail.com>
 | # 27/05/2011  Change to the Nangate cell library. <wsong83@gmail.com>
 | 
      
        |  
 |  
 | 
      
        | set_dont_touch mutex
 | set_dont_touch mutex2
 | 
      
        | set_dont_touch delay
 | set_dont_touch delay
 | 
      
        |   | # It is not a problem if there is no delay cells in the design.
 | 
      
        |  
 |  
 | 
      
        | uniquify -force
 | uniquify -force
 | 
      
        |  
 |  
 | 
      
        | # C-gates on control path
 | # C-gates on control path
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical c2_*] {
 | foreach_in_collection celln  [get_references -hierarchical c2_*] {
 | 
      
        | Line 36... | Line 37... | 
      
        |  
 |  
 | 
      
        | # c2n gates
 | # c2n gates
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical c2n_*] {
 | foreach_in_collection celln  [get_references -hierarchical c2n_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/U1 -from B -to Z
 |     set_disable_timing [get_object_name $celln]/U1 -from B -to Z
 | 
      
        | }
 | }
 | 
      
        |   | # It is not a problem if there is no c2n cells in the design.
 | 
      
        |  
 |  
 | 
      
        | # c2p gates
 | # c2p gates
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical c2p_*] {
 | foreach_in_collection celln  [get_references -hierarchical c2p_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/U1 -from B -to O
 |     set_disable_timing [get_object_name $celln]/U1 -from B -to Z
 | 
      
        | }
 | }
 | 
      
        |   | # It is not a problem if there is no c2p cells in the design.
 | 
      
        |  
 |  
 | 
      
        | # mutex gates
 | # mutex gates
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical mutex_*] {
 | foreach_in_collection celln  [get_references -hierarchical mutex2_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/U1 -from A2 -to ZN
 |     set_disable_timing [get_object_name $celln]/U1 -from A2 -to ZN
 | 
      
        |     set_disable_timing [get_object_name $celln]/U4 -from A2 -to ZN
 |     set_disable_timing [get_object_name $celln]/U4 -from A2 -to ZN
 | 
      
        |     set_dont_touch [get_object_name $celln]/U2
 |     set_dont_touch [get_object_name $celln]/U2
 | 
      
        |     set_dont_touch [get_object_name $celln]/U3
 |     set_dont_touch [get_object_name $celln]/U3
 | 
      
        | }
 | }
 | 
      
        | Line 55... | Line 58... | 
      
        | # c2p1 gates
 | # c2p1 gates
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical c2p1_*] {
 | foreach_in_collection celln  [get_references -hierarchical c2p1_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/U2 -from B -to Z
 |     set_disable_timing [get_object_name $celln]/U2 -from B -to Z
 | 
      
        |     set_disable_timing [get_object_name $celln]/U3 -from B -to Z
 |     set_disable_timing [get_object_name $celln]/U3 -from B -to Z
 | 
      
        | }
 | }
 | 
      
        |   | # It is not a problem if MRMA is not used in the design.
 | 
      
        |  
 |  
 | 
      
        | # tarb
 | # tarb
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical tarb_*] {
 | foreach_in_collection celln  [get_references -hierarchical tarb_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/U2 -from A -to Z
 |     set_disable_timing [get_object_name $celln]/U2 -from A -to Z
 | 
      
        |     set_disable_timing [get_object_name $celln]/U3 -from A -to Z
 |     set_disable_timing [get_object_name $celln]/U3 -from A -to Z
 | 
      
        | }
 | }
 | 
      
        |   | # It is not a problem if tree arbiter is not used in the design.
 | 
      
        |  
 |  
 | 
      
        | # cr_blk
 | # cr_blk
 | 
      
        | foreach_in_collection celln  [get_references -hierarchical cr_blk_*] {
 | foreach_in_collection celln  [get_references -hierarchical cr_blk_*] {
 | 
      
        |     set_disable_timing [get_object_name $celln]/XG/U1 -from C -to Z
 |     set_disable_timing [get_object_name $celln]/XG/U1 -from C -to Z
 | 
      
        | }
 | }
 | 
      
        |   | # It is not a problem if MRMA is not used in the design.
 | 
      
        |   |  
 | 
      
        |   | # mrma multi-resource match arbiter
 | 
      
        |   | foreach_in_collection celln  [get_references -hierarchical mrma_*] {
 | 
      
        |   |     set_disable_timing [get_object_name $celln]/*.AND_*G* -from B -to Z
 | 
      
        |   |     set_disable_timing [get_object_name $celln]/*.AND_RG* -from A -to Z
 | 
      
        |   | }
 | 
      
        |   | # It is not a problem if MRMA is not used in the design.
 | 
      
        |   |  
 | 
      
        |   | # dcb data crossbar
 | 
      
        |   | foreach_in_collection celln  [get_references -hierarchical dcb_*] {
 | 
      
        |   |     set_disable_timing [get_object_name $celln]/*.A* -from B -to Z
 | 
      
        |   | }
 | 
      
        |   |  
 | 
      
        |   | # dcb data crossbar
 | 
      
        |   | foreach_in_collection celln  [get_references -hierarchical rcb_*] {
 | 
      
        |   |     set_disable_timing [get_object_name $celln]/*.A* -from B -to Z
 | 
      
        |   | }
 | 
      
        |   | #It is not a problem if there is no rcb modules in the design.
 | 
      
        |  
 |  
 | 
      
        |   | # mnmr m-n match allocator
 | 
      
        |   | foreach_in_collection celln  [get_references -hierarchical mnma_*] {
 | 
      
        |   |     set_disable_timing [get_object_name $celln]/*.AND_OPRen* -from B -to Z
 | 
      
        |   | }
 | 
      
        |   | #It is not a problem if MNMA is not used in the design.
 | 
      
        |  
 |  
 | 
      
        |  No newline at end of file
 |  No newline at end of file
 |