OpenCores
URL https://opencores.org/ocsvn/async_sdm_noc/async_sdm_noc/trunk

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [branches/] [init/] [common/] [script/] [cell_constraint.tcl] - Blame information for rev 24

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 10 wsong0210
# Asynchronous SDM NoC
2
# (C)2011 Wei Song
3
# Advanced Processor Technologies Group
4
# Computer Science, the Univ. of Manchester, UK
5
# 
6
# Authors: 
7
# Wei Song     wsong83@gmail.com
8
# 
9
# License: LGPL 3.0 or later
10
# 
11
# Disable the timing loops in asynchronous cells
12
# currently using the Nangate 45nm cell lib.
13
# 
14
# History:
15
# 03/07/2009  Initial version. <wsong83@gmail.com>
16
# 21/05/2011  Change to the Nangate cell library. <wsong83@gmail.com>
17
 
18
set_dont_touch mutex
19
set_dont_touch delay
20
 
21
uniquify -force
22
 
23
# C-gates on control path
24
foreach_in_collection celln  [get_references -hierarchical c2_*] {
25
    set_disable_timing [get_object_name $celln]/U2 -from B -to Z
26
    set_disable_timing [get_object_name $celln]/U3 -from B -to Z
27
}
28
 
29
# C-gates on data path, feedback and data input are disabled from timing analysis
30
foreach_in_collection celln  [get_references -hierarchical dc2_*] {
31
    set_disable_timing [get_object_name $celln]/U1 -from B -to Z
32
    set_disable_timing [get_object_name $celln]/U2 -from A -to Z
33
    set_disable_timing [get_object_name $celln]/U2 -from B -to Z
34
    set_disable_timing [get_object_name $celln]/U3 -from B -to Z
35
}
36
 
37
# c2n gates
38
foreach_in_collection celln  [get_references -hierarchical c2n_*] {
39
    set_disable_timing [get_object_name $celln]/U1 -from B -to Z
40
}
41
 
42
# c2p gates
43
foreach_in_collection celln  [get_references -hierarchical c2p_*] {
44
    set_disable_timing [get_object_name $celln]/U1 -from B -to O
45
}
46
 
47
# mutex gates
48
foreach_in_collection celln  [get_references -hierarchical mutex_*] {
49
    set_disable_timing [get_object_name $celln]/U1 -from A2 -to ZN
50
    set_disable_timing [get_object_name $celln]/U4 -from A2 -to ZN
51
    set_dont_touch [get_object_name $celln]/U2
52
    set_dont_touch [get_object_name $celln]/U3
53
}
54
 
55
# c2p1 gates
56
foreach_in_collection celln  [get_references -hierarchical c2p1_*] {
57
    set_disable_timing [get_object_name $celln]/U2 -from B -to Z
58
    set_disable_timing [get_object_name $celln]/U3 -from B -to Z
59
}
60
 
61
# tarb
62
foreach_in_collection celln  [get_references -hierarchical tarb_*] {
63
    set_disable_timing [get_object_name $celln]/U2 -from A -to Z
64
    set_disable_timing [get_object_name $celln]/U3 -from A -to Z
65
}
66
 
67
# cr_blk
68
foreach_in_collection celln  [get_references -hierarchical cr_blk_*] {
69
    set_disable_timing [get_object_name $celln]/XG/U1 -from C -to Z
70
}
71
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.