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

Subversion Repositories async_sdm_noc

[/] [async_sdm_noc/] [branches/] [init/] [vc/] [syn/] [script/] [constraint.tcl] - Blame information for rev 41

Go to most recent revision | 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
# set some timing path ending points
29
set DPD []
30
set DPA []
31
foreach_in_collection celln  [get_references -hierarchical dc2_*] {
32
    append_to_collection DPD [ get_pins [get_object_name $celln]/U1/B]
33
    append_to_collection DPD [ get_pins [get_object_name $celln]/U2/A]
34
    append_to_collection DPA [ get_pins [get_object_name $celln]/U1/A]
35
    append_to_collection DPA [ get_pins [get_object_name $celln]/U3/A]
36
}
37
 
38
set IODI [filter [get_ports *i*] "@port_direction == in"]
39
set IODO [filter [get_ports *o*] "@port_direction == out"]
40
set IOAI [filter [get_ports *i*] "@port_direction == out"]
41
set IOAO [filter [get_ports *o*] "@port_direction == in"]
42
 
43
# set the timing constraints for data paths and ack paths
44
# For better speed performance, please tune these delay and factors according different cell libraries
45
set DATA_dly 1.0
46
set ACK_dly 1.6
47
 
48
set_max_delay [expr ${DATA_dly} * 1.00] -from ${DPA}   -to ${DPD}   -group G_DATA
49
set_max_delay [expr ${ACK_dly} * 1.00]  -from ${DPA}   -to ${DPA}   -group G_ACK
50
set_max_delay [expr ${DATA_dly} * 0.30] -from ${IODI}  -to ${DPD}   -group G_DATA
51
set_max_delay [expr ${ACK_dly} * 0.75]  -from ${DPA}   -to ${IOAI}  -group G_ACK
52
set_max_delay [expr ${DATA_dly} * 0.70] -from ${DPA}   -to ${IODO}  -group G_DATA
53
set_max_delay [expr ${ACK_dly} * 0.25]  -from ${IOAO}  -to ${DPA}   -group G_ACK
54
 
55
group_path -weight 1.5 -critical_range 40 -name G_DATA
56
group_path -weight 1.5 -critical_range 40 -name G_ACK
57
 
58
set_critical_range 20 ${current_design}
59
 
60
set_max_leakage_power 0.0
61
set_max_dynamic_power 0.0
62
set_max_area 0
63
 
64
# timing path disabled by user constraints
65
suppress_message TIM-175

powered by: WebSVN 2.1.0

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