Electronic design automation (EDA) is concerned with the design and production
... VLsI (Very Large scale Integration) integrated circuits, or as they are known.
½ ¾ ¿ ½
¾
¿
! "# $ %& %& %' (()* ! + , " &# - # . / # / # )0 1 ! +"
# 23 # 4 # #
# 5 . % 5 . # / # # # / , 6 $ # & & # & 6 7 4 # # & # 6 & 7 # 8 &# 4 5 .
!"# $! " # % & !"# '(( ) * $+&% +&
!"# , - .
9 # 5
& +& , / & $ % +&
, - !"# . . .
Specification
x=a+bc
Logic Design Partitioning
a b
Circuit Design
c
Placement
Physical Design Routing
Fabrication Compaction
Testing
Chip
/ # # !"# 0 $ '%1 1 , 1 , 2 1 , $ &3+ 3)- )4 %
1 5 .
1 , - , 1 1
2 & +& ,
+& Æ , . & +& 5 5 " . 5 - , . '678 9 $'678%: 0 +& , $ '67; !"% +& . $ 9 $'66A%: 9 $'66J%: 92I $'66A%: 92 $'66A%: 9 $'66J%: # & #
K # H& - B ) H& " & # B - , # # - H& " ? # H& , , & H& B / H& # ?
$- ? K % " ? "
B , & -
=
9 # 5
& # - , - # H&
# " 5 3 , & B # H& # " B 3 " ? , B - 2 , K , 2 , - Æ , 9H $'676%:
Initialize population to represent a random collection of parent solutions. Evaluate the fitness of all members of the population. While the population has not converged: Initialize the offspring population to be empty. While the number of offspring is insufficient do: Select two new members a and b of the parent population. Crossover a and b to produce offspring c. Add c to the offspring population. End Initialize the number of mutated members to 0. While the number of mutated members is insufficient: Randomly select a member to mutate. End Select the members of the parent and offspring populations to become the new parent population. End
& 1 ,
1 5 .
& H&, 8 - - 5 & Æ & . - 5 @
) , , 0 ., # 0 . , )
9"B $'67;: . 9 $'66J%: 9H $'676%:
@ @ . , - 1 # 1 & L ½
& L ½
)1 & ( ' . * # L ( ( L ' ' & , ( ' - B
& Æ +& , 5 & ( (M ' ' - - B
)
9 # 5
- B . & , 9H $'676%:
- B # 5 . & L '('((''( L (''(('(' , J - B '('(('(' $ % 2 . 5 5 , & ,
B # ' ' B # $ ' ' B % & $'('((''(% $(''(('('% L A L 8 B L '('((''( $ % & , , " ) # , L '('((''( '((((''( $ % $ B .% E
; J 7
/
+& " 0 !"# & +&
, '67C
1 5 .
))
!" # $ , % @ 0 , $ % # - 4 5 Æ 2
# , 5 # , # ,
, & / 5
& -
> B > , B . - , 9" 4 $'676%: # . 0 - , , 0 - $ % , & ' -
)
9 # 5
1 - , & - , . - 9/ $'66'%: 9/ $'66'%: B - H& , , , - , - - & H& 9 $'66'%: , J( '( * E( ? 4 5 & H& , 92 > $'66;%: $- , . . % / - , - 5 -
& (
' 2 H& , H& - B - & & 9! $'66J%: # H& - . , H& 2
1 5 .
)
@ H& ,,, " 9& $'66J%:
, H& 9>. " $'666%:
- $ % - $ % 0 $ % - 0 B ? ?H& . $ ;% Semi Custom Circuits
Full Custom Circuits
Cell−Based Circuits Gate−Arrays
Standard Cell Layout
Macro Cell Layout
Without Layout Restrictions
$ - , 1 , . - , B . - . . , $ % B ) 5 > 1
)(
9 # 5
$ % $ % & 9 ? $'67C%: , 9 2 0 $'676%: 9 2 0 $'66(%:
9" >. $'66(%: 9" >. $'66( %: - , , - . E; - - F G - ,5 , !"# , - A , 9 2 0 $'676%: 'E 9" >. $'66( %: 9> >. $'668%: , H& - B @ 5 H& @ - 9 $'66'%: ,
& , 9 $'66E%: 9 >. $'66E%: H& , . - H& - / 9" ! $'66A%: H& - F, G F G 5 H& B , & - F, G 2 , " - (
& H& D .
1 5 .
):
94 4 $'66A%: -
H& - 5 " , . D & H& 9" $'668%: - H , $9H $'67C%:% H& - - - # , F G , $- % / F G
, & .
# , B $ % - , D + D , - $ J 9>. 4 $'666%:% Crossover Point AB C DE F GH I J
AB C DE F GH I J
AB C DE F GH I J
E C I ADHJ B FG
E C I ADHJ B F G
E C I ADH JB F G
AHC DE I J B F G
AB C DE F I HJ G
AC I DE HGB F J
PMX Crossover
Order Crossover
Cycle Crossover
&
)0
9 # 5
- # & $?>N% B 9H $'67J%: # / B - & 9+ $'67J%: # B - $ % B - & 9) $'67J%: B - D , " ,
@ H& 0 , * * ,H& # !?4 92. 4 $'66C%: "B 9 $'666%: H& 9" $'666%: 9" . @ $'66A%: H& , 9>. 4 $'666%:
4 0 - !"# $ >, >
>>% $ % $ % 4 >> ?2 $? 2 % - , , - , # , , F G $ % $ A% H , $ % -
1 5 . Two−Step−Routing (IC, MCM)
Global Routing
)*
Free Routing (Custom Routing) (MCM, PCB)
Detailed Routing Channel Routing
Switchbox Routing
> - 5 - 5 &
$ % ) $ $ % C + , - 5 # 0 4 " * 9/ $'66E%: " , , H& 9 >. $'66;%: 9 $'668%: 9 4 ," $'668%: 9 >. $'666%: - $9 $'66;%:% 2 4 M # , !
,
)=
9 # 5 Switchbox routing problem
1
1
2
3
3
0 2
VLSI circuit
1
Channel routing problem
1
2
3
3
3
2
1
1
1
2
3
3
3
2
1
1
3 3
1
2
2
2
3
3
3
2
Possible routing solutions
1
1
0
3
2
2 3
2
2
3
4& ; # 5 -
@ . - , # H& " , - H& $ % . - - @> $9" $'677%:% ,, , , , 5 / J( , 9 $'676%: ,, , $& ,, , % - $ % , , - E;
1 5 .
)
- 9H $'66'%: H& - , - !"# , " M 94 ) $'668%:
94 $'66;%: 94 $'66J%: / , . - , !"# - H& 9 - $'66;%: , / , , , - & $ % . $ 7 9 - $'66;%:% Via
1
Net 1
0
Net 2 Pins
0
0
0 z’
y’
x’
Phenotype
z
0 0
0 1
-1 y
1 1 0 -2
1 0 2
0 0
1 0
0
2
0
x
Genotype
2 3 # # 23 - , F , G , , 5 , 5 B - , - 5 - $ % & H& , 9HI $'66C%: -
9 # 5
9 - $'66;%: , & $ , F, G% 9HI $'66C %: # A( E; - H& 9 - $'66A%: - , $ % - " 5 . @ H& 5 , 9 $'66C%: H& , - 5 , 9 H $'6CE%: 9 $'66'%: & H& 5 H& ? , $ % 5 $ 6%
Isolated Evolution
Migration
Isolated Evolution
Result
$ # 8 & # 4 & 4 ?52)*3@ & 2A. # B3 # # & # ; ## 2A , 5 / !"#
, , 5 $9H $'66'%:% . + &+ !"# 0 9+& 2 $'66C%: & !"# !"# # - , D , !"#
1 5 . %
:
@ !"# @ , !"# @
& @ ! , & 3 " +& 6A8;888 4 6EE;C76 >#? 6'(CC'C +P 6JJ;C'J +P 6AJ8;'8 + " P ! , H " $+H% + P -
'
?& 2)(3@ & 2)(3 $ #$ % & & , $ #!!& ( + ! */)&&& % *+ 00( 00 ?C # 4 23@ C 2)=:3 * - & + $ ( *+ 6) ! ?1 # 2)(3@ 1 # /& G 9 , 2)(3 6 ! ,,! *, 0 5 (. 0 3 ( 1>1 / > ?' # 2)*:3@ ' # E ' 2)*:3 , 3% 4 DE = 0= ? 2)(3 % & ,& " 1, ( + ! &&& *+ &'% *,% * ) ?> 2):3@ > C C $ $, 5 1 > # #
C - # # 2)03@ >& # # & 2)*3@ >& . 2)*3 &'% :, % ! ! ! ( ; , ! &'% - ' 6& C# ?> #, 2)*3@ > #, 2))3 % &
- & " % &&& 6 #. , % "# 96 9 2)*3 ! + /! # :, ; 9 4 # $ & C