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

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [trunk/] [vc/] [syn/] [script/] [constraint.tcl] - Blame information for rev 47

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 41 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
# Constraints for wormhole/SDM routers
12
# 
13
# History:
14
# 26/05/2011  Initial version. <wsong83@gmail.com>
15
 
16
# loading the baic cell constraints
17
source ../../common/script/cell_constraint.tcl
18
 
19
# ensure the basic blocks are not ungrouped for better debugging capability
20
set_ungroup [get_references -hierarchical inp_buf*]  false
21
set_ungroup [get_references -hierarchical outp_buf*] false
22
set_ungroup CB false
23
set_ungroup ALLOC false
24
 
25
 
26
######### break the timing loops in the design ##############
27
 
28 42 wsong0210
# the cross points in the VCA
29
foreach_in_collection celln  [get_references -hierarchical RCBB_*] {
30
    set_disable_timing [get_object_name $celln]/I1 -from B -to Z
31
    set_disable_timing [get_object_name $celln]/I0/U1 -from B -to Z
32
    set_disable_timing [get_object_name $celln]/I0/U3 -from A -to Z
33
    set_disable_timing [get_object_name $celln]/I3/U1 -from A -to Z
34
    set_disable_timing [get_object_name $celln]/I3/U2 -from A -to Z
35
 
36
}
37
 
38
set_disable_timing [get_cells ALLOC/*VCAO*] -from A -to Z
39
 
40 41 wsong0210
# set some timing path ending points
41
set DPD []
42
set DPA []
43
foreach_in_collection celln  [get_references -hierarchical dc2_*] {
44
    append_to_collection DPD [ get_pins [get_object_name $celln]/U1/B]
45
    append_to_collection DPD [ get_pins [get_object_name $celln]/U2/A]
46
    append_to_collection DPA [ get_pins [get_object_name $celln]/U1/A]
47
    append_to_collection DPA [ get_pins [get_object_name $celln]/U3/A]
48
}
49
 
50
set IODI [filter [get_ports *i*] "@port_direction == in"]
51
set IODO [filter [get_ports *o*] "@port_direction == out"]
52
set IOAI [filter [get_ports *i*] "@port_direction == out"]
53
set IOAO [filter [get_ports *o*] "@port_direction == in"]
54
 
55
# set the timing constraints for data paths and ack paths
56
# For better speed performance, please tune these delay and factors according different cell libraries
57
set DATA_dly 1.0
58
set ACK_dly 1.6
59
 
60
set_max_delay [expr ${DATA_dly} * 1.00] -from ${DPA}   -to ${DPD}   -group G_DATA
61
set_max_delay [expr ${ACK_dly} * 1.00]  -from ${DPA}   -to ${DPA}   -group G_ACK
62
set_max_delay [expr ${DATA_dly} * 0.30] -from ${IODI}  -to ${DPD}   -group G_DATA
63
set_max_delay [expr ${ACK_dly} * 0.75]  -from ${DPA}   -to ${IOAI}  -group G_ACK
64
set_max_delay [expr ${DATA_dly} * 0.70] -from ${DPA}   -to ${IODO}  -group G_DATA
65
set_max_delay [expr ${ACK_dly} * 0.25]  -from ${IOAO}  -to ${DPA}   -group G_ACK
66
 
67
group_path -weight 1.5 -critical_range 40 -name G_DATA
68
group_path -weight 1.5 -critical_range 40 -name G_ACK
69
 
70
set_critical_range 20 ${current_design}
71
 
72
set_max_leakage_power 0.0
73
set_max_dynamic_power 0.0
74
set_max_area 0
75
 
76
# timing path disabled by user constraints
77
suppress_message TIM-175

powered by: WebSVN 2.1.0

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