160 likes | 354 Views
教育部主辦 九十八學年度大學校院 積體電路電腦輔助設計軟體製作競賽 Static Timing Analysis with Exception Paths 教授 : 林榮彬教授 組員 : 林躍城,廖于晴. Problem definition Gate-level 的 verilog(.v) 檔案 Library(.lib) 檔案 Exception paths constraint(.sdc) 檔案 找尋 slack 最小之路徑. Introduction. Library(.lib) 檔案 使用到的 gate. Introduction(cont.).
E N D
教育部主辦 九十八學年度大學校院 積體電路電腦輔助設計軟體製作競賽Static Timing Analysis with Exception Paths教授:林榮彬教授組員:林躍城,廖于晴
Problem definition • Gate-level的verilog(.v)檔案 • Library(.lib)檔案 • Exception paths constraint(.sdc)檔案 • 找尋slack最小之路徑 Introduction
Library(.lib)檔案 • 使用到的gate Introduction(cont.)
Algorithm • Delay time和transition time計算方法 • 所有gate Delay time之計算 • 找尋slack最小之路徑 • Exception Paths處理
Delay time和transition time計算 • Nonlinear Delay Model transition loading
Example • 一般情況 Capacitance 0.001 0 0.00079 0.002 0 Transition 0.03 0.035 0.044
Example(cont.) • 外插法情況 Capacitance 0.0003 0 0.00079 0.002 0 Transition 0.01 0.03 0.044
所有Gate Delay time計算 利用Breath-First-Search(BFS)演算法 作法 max transition max transition max transition Queue A 1 E B 3 C 2 F D
所有Gate Delay time計算 • XOR與XNOR特別處理 A XOR CTRL
找尋slack最小之路徑 利用Depth-First-Search(DFS)的演算法 目前slack最小之路徑 B D A E C F
Exception Path處理 Set_false_path為A→C→E→D 目前slack最小之路徑 B D A E C F
Exception Path處理(cont.) • Set_max_delay • 將clockperiod設為 1.0 • Set_multicycle_path • 將clockperiod乘上multicycle的值 EX:set_max_delay = 1.0 EX:set_multicycle_path = 2.0 clock DFF DFF Combinational Logic
Exception Path處理(cont.) • Set_case_analysis • 情況一:如果為controlling value • 情況二:如果不為controlling value,但其他inputs都為constant • Exampleset_case_analysisA0 set_case_analysisC0 A=0 0 0 0 AND B OR Output C=0
Experimental result • 我們測試的結果
Experimental result • 主辦單位測試的結果