URL
https://opencores.org/ocsvn/mem_ctrl/mem_ctrl/trunk
Subversion Repositories mem_ctrl
[/] [mem_ctrl/] [trunk/] [syn/] [bin/] [comp.dc] - Rev 28
Compare with Previous | Blame | View Log
################################################################################# Actual Synthesis Script## This script does the actual synthesis## Author: Rudolf Usselmann# rudi@asics.ws## Revision:# 3/7/01 RU Initial Sript################################################################################## ==============================================# Setup Design Parameterssource ../bin/design_spec.dc# ==============================================# Setup Librariessource ../bin/lib_spec.dc# ==============================================# Setup IO Filesappend log_file ../log/$active_design "_cmp.log"append pre_comp_db_file ../out/$design_name "_pre.db"append post_comp_db_file ../out/$design_name ".db"append post_syn_verilog_file ../out/$design_name "_ps.v"set junk_file /dev/nullsh rm -f $log_file# ==============================================# Setup Misc Variablesset hdlin_enable_vpp true ;# Important - this enables 'ifdefs# ==============================================# Read Designecho "+++++++++ Reading Design ..." >> $log_fileread_file $pre_comp_db_file >> $log_file# ==============================================# Operating conditionsecho "+++++++++ Setting up Operation Conditions ..." >> $log_filecurrent_design $design_nameset_operating_conditions WORST >> $log_file# Turn off automatic wire load selection, as this# always (WHY ???) defaults to "zero_load"#set auto_wire_load_selection false#set_wire_load_mode enclosed >> $log_file#set_wire_load_mode top >> $log_file#set_wire_load_model -name suggested_40K >> $log_file# ==============================================# Setup Clocks and Resetsecho "+++++++++ Setting up Clocks ..." >> $log_fileset_drive 0 [find port {*clk}]# !!! WISHBONE Clock !!!set clock_period 5create_clock -period $clock_period clkset_clock_skew -uncertainty 0.1 clkset_clock_transition 0.5 clkset_dont_touch_network clk# !!! Memory Clock !!!set clock_period2 10create_clock -period $clock_period2 mc_clkset_clock_skew -uncertainty 0.5 mc_clkset_clock_transition 0.9 mc_clkset_dont_touch_network mc_clk# !!! Reset !!!set_drive 0 [find port {rst*}]set_dont_touch_network [find port {rst*}]# ==============================================# Setup IOsecho "+++++++++ Setting up IOs ..." >> $log_file# Need to spell out external IOsset_driving_cell -cell NAND2D2 -pin Z [all_inputs] >> $junk_fileset_load 0.2 [all_outputs]set mem_ports_i { mc_br mc_ack mc_data_i mc_dp_i mc_sts }set mem_ports_o { mc_bg mc_addr mc_data_o mc_dp_o mc_data_oe \mc_dqm mc_oe_ mc_we_ mc_cas_ mc_ras_ mc_cke_ \mc_cs_ mc_rp_ mc_vpen mc_adsc_ mc_adv_ mc_zz mc_c_oe }set wb_ports_i { wb_data_i wb_addr_i wb_sel_i wb_we_i wb_cyc_i \wb_stb_i susp_req resume_req }set wb_ports_o { wb_data_o wb_ack_o wb_err_o suspended poc}set_input_delay -max 1 -clock clk $wb_ports_iset_output_delay -max 1 -clock clk $wb_ports_o#set_input_delay -max 1 -clock clk [all_inputs]#set_output_delay -max 1 -clock clk [all_outputs]set_input_delay -max 1 -clock mc_clk $mem_ports_iset_output_delay -max 1 -clock mc_clk $mem_ports_o#set_input_delay -max 1 -clock mc_clk [all_inputs]#set_output_delay -max 1 -clock mc_clk [all_outputs]# ==============================================# Setup Area Constrainsset_max_area 0.0# ==============================================# Force Ultraset_ultra_optimization -f# ==============================================# Compile Designecho "+++++++++ Starting Compile ..." >> $log_filecompile -map_effort medium -area_effort medium -ungroup_all >> $log_file#compile -map_effort low -area_effort low >> $log_file#compile -map_effort high -area_effort high -ungroup_all >> $log_file#compile -map_effort high -area_effort high -auto_ungroup >> $log_file# ==============================================# Write Out the optimized designecho "+++++++++ Saving Optimized Design ..." >> $log_filewrite_file -format verilog -output $post_syn_verilog_filewrite_file -hierarchy -format db -output $post_comp_db_file# ==============================================# Create Some Basic Reportsecho "+++++++++ Reporting Final Results ..." >> $log_filereport_timing -nworst 10 >> $log_filereport_area >> $log_file
