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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3mp/] [rhumc.dc] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
/*******************************************/
2
/* Script to compile leon with synopsys DC */
3
/* Jiri Gaisler, Gaisler Research, 2004    */
4
/*******************************************/
5
 
6
search_path = {"." "/usr/local/synlibs/DesignKit_DARE_V2.0/DesignKit/IO/syn" "/usr/local/synlibs/DesignKit_DARE_V2.0/DesignKit/CORE/syn" "/usr/local/synlibs/rhumc" "/usr/local/synopsys/libraries/syn"}
7
target_library = "RadHardUMC18_CORE_WCMIL.db"
8
link_library = "RadHardUMC18_CORE_WCMIL.db rhmem_wcmil.db Post_RH_UMC018_IOLIB_WCMIL.db"
9
link_library = "*" + link_library
10
symbol_library = "generic.sdb"
11
allow_newer_db_files = "true";
12
 
13
/* constraints - tailor to your own technology. An average 0.35 std-cell tech
14
   should give you 80 - 100 MHz depending on ram access time. A 0.25 tech
15
   should run at +150 MHz. Frequency in MHz, delays in ns ...  */
16
 
17
frequency = 200
18
clock_skew = 0.10
19
input_setup = 2.0
20
output_delay = 4.0
21
 
22
/* don't touch anything from here unless you know what you are doing */
23
 
24
include leon3mp.dc
25
 
26
ungroup find(cell, "*pad*") -flatten
27
 
28
group find(cell, {"sr*", "sdc", "apb*", "uart*", "timer*", "irq*" \
29
  "ahb*", "dsu0", "rst0", "dcom*" })  -design_name amod \
30
  -cell_name amod0
31
 
32
current_instance u0_0/p0
33
ungroup -all -flatten
34
current_instance ../rf0
35
ungroup -all -flatten
36
current_instance ../cmem0
37
ungroup -all -flatten
38
current_instance ../../amod0
39
ungroup -all -flatten
40
current_instance ..
41
 
42
peri = 1000.0 / frequency
43
input_delay = peri - input_setup
44
tdelay = output_delay + 2
45
create_clock -name "clk" -period peri -waveform { 0.0, peri / 2.0 } { "clk" }
46
set_wire_load_mode segmented
47
 
48
set_clock_skew -plus_uncertainty clock_skew "clk"
49
set_clock_skew -minus_uncertainty clock_skew "clk"
50
 
51
/*
52
set_input_delay input_delay -clock clk { \
53
         "pio[15]" "pio[14]" "pio[13]" \
54
         "pio[12]" "pio[11]" "pio[10]" "pio[9]" "pio[8]" "pio[7]" \
55
         "pio[6]" "pio[5]" "pio[4]" "pio[3]" "pio[2]" "pio[1]" "pio[0]" \
56
         "data[31]" "data[30]" "data[29]" "data[28]" "data[27]" "data[26]" \
57
         "data[25]" "data[24]" "data[23]" "data[22]" "data[21]" "data[20]" \
58
         "data[19]" "data[18]" "data[17]" "data[16]" "data[15]" "data[14]" \
59
         "data[13]" "data[12]" "data[11]" "data[10]" "data[9]" "data[8]" \
60
         "data[7]" "data[6]" "data[5]" "data[4]" "data[3]" "data[2]" \
61
         "data[1]" "data[0]" "brdyn" "bexcn" }
62
 
63
set_max_delay tdelay -to { "errorn" "wdogn" \
64
         "pio[15]" "pio[14]" "pio[13]" \
65
         "pio[12]" "pio[11]" "pio[10]" "pio[9]" "pio[8]" "pio[7]" \
66
         "pio[6]" "pio[5]" "pio[4]" "pio[3]" "pio[2]" "pio[1]" "pio[0]" \
67
         "data[31]" "data[30]" "data[29]" "data[28]" "data[27]" "data[26]" \
68
         "data[25]" "data[24]" "data[23]" "data[22]" "data[21]" "data[20]" \
69
         "data[19]" "data[18]" "data[17]" "data[16]" "data[15]" "data[14]" \
70
         "data[13]" "data[12]" "data[11]" "data[10]" "data[9]" "data[8]" \
71
         "data[7]" "data[6]" "data[5]" "data[4]" "data[3]" "data[2]" \
72
         "data[1]" "data[0]" }
73
 
74
set_max_delay output_delay -to { \
75
         "writen" "romsn[1]" "romsn[0]" "read" "oen" \
76
         "iosn" "rwen[3]" "rwen[2]" "rwen[1]" "rwen[0]" "ramsn[3]" \
77
         "ramsn[2]" "ramsn[1]" "ramsn[0]" \
78
         "ramoen[3]" "ramoen[2]" "ramoen[1]" "ramoen[0]" \
79
         "sdcsn[1]" "sdcsn[0]" "sdwen" "sdrasn" "sdcasn" \
80
         "sddqm[3]" "sddqm[2]" "sddqm[1]" "sddqm[0]" \
81
         "address[27]" "address[26]" "address[25]" "address[24]" \
82
         "address[23]" "address[22]" "address[21]" "address[20]" \
83
         "address[19]" "address[18]" "address[17]" "address[16]" \
84
         "address[15]" "address[14]" "address[13]" "address[12]" \
85
         "address[11]" "address[10]" "address[9]" "address[8]" \
86
         "address[7]" "address[6]" "address[5]" "address[4]" \
87
         "address[3]" "address[2]" "address[1]" "address[0]"}
88
 
89
*/
90
set_max_area 0
91
set_max_transition 2.0 leon3mp
92
set_flatten false -design {"leon3mp.db:leon3mp"}
93
set_structure true -design {"leon3mp.db:leon3mp"} -boolean false -timing true
94
 
95
 
96
compile -map_effort medium -boundary_optimization
97
 
98
write -f db -hier leon3mp -output leon3mp.db
99
 
100
report_timing
101
report_area

powered by: WebSVN 2.1.0

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