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

Subversion Repositories wb_dma

[/] [wb_dma/] [trunk/] [syn/] [bin/] [comp.dc] - Blame information for rev 17

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 rudi
#################################################################################
2
#
3
# Actual Synthesis Script
4
#
5
# This script does the actual synthesis
6
#
7
# Author: Rudolf Usselmann
8
#         rudi@asics.ws
9
#
10
# Revision:
11
# 3/7/01 RU Initial Sript
12
#
13
#
14
#################################################################################
15
 
16
# ==============================================
17
# Setup Design Parameters
18
source ../bin/design_spec.dc
19
 
20
# ==============================================
21
# Setup Libraries
22
source ../bin/lib_spec.dc
23
 
24
# ==============================================
25
# Setup IO Files
26
 
27
append log_file                 ../log/$active_design   "_cmp.log"
28
append pre_comp_db_file         ../out/$design_name     "_pre.db"
29
append post_comp_db_file        ../out/$design_name     ".db"
30
append post_syn_verilog_file    ../out/$design_name     "_ps.v"
31
 
32
set junk_file /dev/null
33
sh rm -f $log_file
34
 
35
# ==============================================
36
# Setup Misc Variables
37
 
38
set hdlin_enable_vpp true       ;# Important - this enables 'ifdefs
39
 
40
# ==============================================
41
# Read Design
42
 
43
echo "+++++++++ Reading Design ..."                             >> $log_file
44
read_file $pre_comp_db_file                                     >> $log_file
45
 
46
# ==============================================
47
# Operating conditions
48
 
49
echo "+++++++++ Setting up Operation Conditions ..."            >> $log_file
50
current_design $design_name
51
set_operating_conditions WORST                                  >> $log_file
52
 
53
# Turn off automatic wire load selection, as this
54
# always (WHY ???) defaults to "zero_load"
55
#set auto_wire_load_selection false
56
 
57
#set_wire_load_mode enclosed                                    >> $log_file
58
#set_wire_load_mode top                                         >> $log_file
59
#set_wire_load_model -name suggested_40K                        >> $log_file
60
 
61
# ==============================================
62
# Setup Clocks and Resets
63
 
64
echo "+++++++++ Setting up Clocks ..."                          >> $log_file
65
 
66 9 rudi
set_drive 0 [find port {clk_i}]
67 5 rudi
 
68
# !!! WISHBONE Clock !!!
69
set clock_period 5
70 9 rudi
create_clock -period $clock_period clk_i
71
set_clock_skew -uncertainty 0.2 clk_i
72
set_clock_transition 0.2 clk_i
73
set_dont_touch_network clk_i
74 5 rudi
 
75
# !!! Reset !!!
76
set_drive 0 [find port {rst*}]
77
set_dont_touch_network [find port {rst*}]
78
 
79
# ==============================================
80
# Setup IOs
81
 
82
echo "+++++++++ Setting up IOs ..."                             >> $log_file
83
 
84
# Need to spell out external IOs
85
 
86
set_driving_cell -cell NAND2D2 -pin Z [all_inputs]              >> $junk_file
87
set_load 0.2 [all_outputs]
88
 
89 9 rudi
set_input_delay   2.0 -clock clk_i [all_inputs]
90
set_output_delay  2.0 -clock clk_i [all_outputs]
91 5 rudi
 
92
# ==============================================
93
# Setup Area Constrains
94
set_max_area 0.0
95 9 rudi
set compile_sequential_area_recovery true
96 5 rudi
 
97
# ==============================================
98
# Force Ultra
99
set_ultra_optimization -f
100
 
101
# ==============================================
102
# Compile Design
103
 
104
echo "+++++++++ Starting Compile ..."                           >> $log_file
105 11 rudi
compile -map_effort low -area_effort low                       >> $log_file
106
#compile -map_effort high -area_effort high -boundary_optimization -auto_ungroup >> $log_file
107 5 rudi
 
108
# ==============================================
109
# Write Out the optimized design
110
 
111
echo "+++++++++ Saving Optimized Design ..."                    >> $log_file
112 9 rudi
write_file -hierarchy -format verilog -output $post_syn_verilog_file
113
write_file -hierarchy -format db      -output $post_comp_db_file
114 5 rudi
 
115
# ==============================================
116
# Create Some Basic Reports
117
 
118
echo "+++++++++ Reporting Final Results ..."                    >> $log_file
119
report_timing -nworst 10                                        >> $log_file
120
report_area                                                     >> $log_file
121
 

powered by: WebSVN 2.1.0

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