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

Subversion Repositories tv80

[/] [tv80/] [branches/] [restruc2/] [syn/] [syn_lsi10k.tcl] - Blame information for rev 84

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 50 ghutchis
set file_list [list tv80s tv80_core tv80_alu tv80_mcode tv80_reg tv80_mcode_base tv80_mcode_cb tv80_mcode_ed ]
2
set module_name tv80s
3
set clock clk
4
set period 30
5
 
6
# create working directories, if not present
7
set dir_list [list db work report]
8
foreach dir $dir_list {
9
  if {[file isdirectory $dir] == 0} { file mkdir $dir }
10
}
11
define_design_lib WORK -path work
12
 
13
# read in design files
14
foreach file_name $file_list {
15
  analyze -format verilog ../rtl/core/$file_name.v
16
}
17
elaborate $module_name
18
 
19
current_design $module_name
20
 
21
# set up basic constraints and library info
22
create_clock $clock -period $period
23
set_clock_skew -uncertainty [expr $period / 10.0] $clock
24
 
25
set target_library [list lsi_10k.db]
26
set synthetic_library [list dw_foundation.sldb standard.sldb ]
27
 
28
set link_library [concat \
29
      * \
30
      $target_library \
31
      $synthetic_library \
32
      ]
33
 
34
# compile
35
compile
36
 
37
# save reports and resulting database
38
report_timing > report/$module_name.timing
39
report_area   > report/$module_name.area
40
report_reference > report/$module_name.reference
41
write -format db -hier -output db/$module_name.db
42
 
43
# now adjust clock speed and compile again
44
set period [expr $period / 3.0]
45
create_clock $clock -period $period
46
set_clock_skew -uncertainty [expr $period / 10.0] $clock
47
 
48
compile -effort high
49
report_timing > report/fast_$module_name.timing
50
report_area   > report/fast_$module_name.area
51
write -format db -hier -output db/fast_$module_name.db
52
 
53
quit
54
 

powered by: WebSVN 2.1.0

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