;

연암과 다산 사이

블로그 이미지
문패 달고 보니까 넘 커다란 이름이네요 ^^; 행여 고래 등 사이에 끼인 새우가 되지 않기를 ㅎㅎ 연암은 고미숙님의 '열하일기, 웃음과 역설의 유쾌한 시공간'에서, 다산은 '다산연구소' (http://www.edasan.org)에서 삘 받았슴다. 잼난 놀이터가 되었으면... ^^
by 명랑만화
  • Total hit
  • Today hit
  • Yesterday hit
12-01 00:00

# Reference for Concepts :
http://en.wikipedia.org/wiki/Logic_synthesis
http://en.wikipedia.org/wiki/Static_timing_analysis
-> Synthesis and STA(Static Timing Analysis) are related very closely, due to the fact that well-defined constraints in the synthesis will reduce the violations in STA.  
( ☞ http://ya-n-ds.tistory.com/1588 : Prime Time )

** DC ( Design Compiler ) : Synthesis
~/syn > dc_sub -short -v DC_Version -Is dc_shell -64 -f ./SCRIPT_DIR/regular/compile.tcl | tee -i ./log/TargetName_LibName.log

~/syn/SCRIPT_DIR > *_define.tcl, *_constraint.tcl // Input files

~/syn/NET_DIR > *.v // Synthesized Netlist
~/syn/SVF_DIR > *.svf // Guidance file for formality
// Netlist and SVF files should be kept for ECO...

~/syn/REPORT_DIR >  // Report files to check whether synthesis is done well or not

~/syn/DB_DIR > *.ddc
// a synopsys encrypted form of your design which consists of the netlist(list of components and nets, gate level) information and the constraints
// This file can be read by the tools such as Design compiler, IC compiler and prime time.


<< *_define.tcl >>
set search_path [ concat $search_path $*_dir \ ]

# User define parameters : 0=false, 1=true
set use_clock_gating 1
set use_insert_cg 1
...

set optimize_target { time or area or time_area }

set use_file_list
set use_file_list1
...

# File list
set file_list [ list \
  ... \
  ]

set file_list1 [ ... ]

set define_list [ list \
  ... \
 ]

set top_design_name "TOP_DESIGN_NAME"

# Caution : The files which do not have module but only task or function shall not to be included in the file list.
# If the parameters in these files are necessary, they shall be included in the RTL which requires the parameters.


<< *_contraint.tcl >>
set period_overhead  [expr (0.31 + 0.133)] // [ expr 0.31 + $derate(wst, late, data, $lowest_vt) ]
set margin_ratio [expr ( 1 - $period_overhead ) ]

set CLOCK_FREQ  400
set CLOCK_PREIOD [exp (1000 * $margin_ratio / $CLOCK_FREQ)]
set CLOCK_NAME  "xi_clock"
create_clock -name $CLOCK_NAME -period $CLOCK_PREIOD -waveform [ list 0 [expr (0.5 * $CLOCK_PREIOD)] ]

set DIV_NUM  2
set GEN_CLOCK_NAME "xi_clock_gen"
create_generated_clock -name $GEN_CLOCK_NAME -source [get_pins SRC_CLOCK_PIN] -divide_by $DIV_NUM [get pins OUTPUT_CLOCK_PIN]
   ( -add -master_clock MASTER_CLOCK_NAME -combinational )

set_input_delay_ratio   0.6 // +20% margin
set_output_delay_ratio  0.6

set_ideal_network -no_propagate [fine port "xi_clock"]

set_dont_touch_network [fine port "xi_clock"]
set_dont_touch_network [fine port "xi_resetn"]

set clock_list [find "clock" "*"]
foreach_in_collection clockname $clocklist {
 set_ideal_network -no_propagate [find net $clockname]
}


## Output Constraints
set_max_fanout  16.0   $TOP_DESIGN_NAME
set_max_fanout  1.0   [all_inputs]

set_max_transition  1.0   [all_inputs]

AND

ARTICLE CATEGORY

분류 전체보기 (4418)
올드Boy다이어리 (530)
올드Boy@Jeju (83)
올드Boy@Road (131)
올드Boy@Book (58)
숨은길찾기 (14)
스펙트럼 (104)
우물밖엿보기 (32)
교회에말걸기 (226)
이어지는글들 (52)
하하호호히히 (73)
어?...아하! (125)
대한늬우스 (1641)
세계는지금 (264)
차한잔의여유 (64)
La Vita E Bella (230)
좋은나라만들기 (91)
트위터세상 (67)
사람&말 (610)
호모파베르 (20)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

ARCHIVE