# Asynchronous SDM NoC
|
# Asynchronous SDM NoC
|
# (C)2011 Wei Song
|
# (C)2011 Wei Song
|
# Advanced Processor Technologies Group
|
# Advanced Processor Technologies Group
|
# Computer Science, the Univ. of Manchester, UK
|
# Computer Science, the Univ. of Manchester, UK
|
#
|
#
|
# Authors:
|
# Authors:
|
# Wei Song wsong83@gmail.com
|
# Wei Song wsong83@gmail.com
|
#
|
#
|
# License: LGPL 3.0 or later
|
# License: LGPL 3.0 or later
|
#
|
#
|
# Synthesis script
|
# Synthesis script
|
# currently using the Nangate 45nm cell lib.
|
# currently using the Nangate 45nm cell lib.
|
#
|
#
|
# History:
|
# History:
|
# 26/05/2009 Initial version. <wsong83@gmail.com>
|
# 31/05/2009 Initial version. <wsong83@gmail.com>
|
|
|
set rm_top router
|
set rm_top router
|
set rm_para "VCN=>1, DW=>8, IPD=>1, OPD=>1"
|
set rm_para "VCN=>1, DW=>8, IPD=>1, OPD=>1"
|
|
|
# working directory
|
# working directory
|
if {[file exists work ] && [file isdirectory work ]} {
|
if {[file exists work ] && [file isdirectory work ]} {
|
file delete -force work
|
file delete -force work
|
}
|
}
|
file mkdir work
|
file mkdir work
|
define_design_lib work -path work
|
define_design_lib work -path work
|
|
|
if {![file exists file ]} {
|
if {![file exists file ]} {
|
file mkdir file
|
file mkdir file
|
}
|
}
|
|
|
# set the technology libraries
|
# set the technology libraries
|
source ../../common/script/tech.tcl
|
source ../../common/script/tech.tcl
|
|
|
# read in source codes
|
# read in source codes
|
source script/source.tcl
|
source script/source.tcl
|
|
|
# elaborate the design
|
# elaborate the design
|
elaborate ${rm_top} -parameters ${rm_para}
|
elaborate ${rm_top} -parameters ${rm_para}
|
|
rename_design ${current_design} router
|
|
|
link
|
link
|
|
|
check_design
|
check_design
|
|
|
# read in constraints
|
# read in constraints
|
echo "It will be many errors in this step. Normally they are fine. For further info. please read the comments in the constraint scripts."
|
echo "It will be many errors in this step. Normally they are fine. For further info. please read the comments in the constraint scripts."
|
source script/constraint.tcl
|
source script/constraint.tcl
|
|
|
link
|
link
|
|
|
#report loops
|
#report loops
|
report_timing -loops -max_paths 2
|
report_timing -loops -max_paths 2
|
|
|
compile -boundary_optimization
|
compile -boundary_optimization
|
|
|
|
|
define_name_rules verilog -allowed "A-Za-z0-9_" -first_restricted "\\"
|
define_name_rules verilog -allowed "A-Za-z0-9_" -first_restricted "\\"
|
change_name -rules verilog -hierarchy
|
change_name -rules verilog -hierarchy
|
|
|
write -format verilog -hierarchy -out file/${current_design}_syn.v $current_design
|
write -format verilog -hierarchy -out file/${current_design}_syn.v $current_design
|
write_sdf -significant_digits 5 file/${current_design}.sdf
|
write_sdf -significant_digits 5 file/${current_design}.sdf
|
write_sdc file/${current_design}.sdc
|
|
|
|
report_constraints -verbose
|
report_constraints -verbose
|
|
|
report_constraints
|
report_constraints
|
report_area
|
report_area
|
|
|