,fk= ?d! 0uop0n1e3 3)0 0 3 1 - auth elab - department of...

138
. . . / . .. . : : . , hardware. , , . , , . , , real-time , , , (evolvable hardware EHW) . , . (hardware). , 7 , . , , . , , . , , fitness , . , fitness , onemax saveload. 5, VGP I. , , onemax saveload. , VGP I, Leonardo.

Upload: phunganh

Post on 01-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

��������� ��� ��� �

�. � . � . ���������

����� � ������� ��� � � � � � / � � .�

. . ����� � ������� ��� � ���� ��� � �! "$#&%�')(�*+!-,/.

021/3 (54�6-( *87:9

,. ; ! (=<><&(�,@?="�?=A/#B?DC E ()4F! #)!�,@. ��6G*H#&?I9

: KJL02M ! (=4�')N)9 0 " 02OP021/3 (54�*8. 3:0 < 0 *+!�,@Q�< (=# 3 N 1 ! RD')%�< � "�!TS/#KUV"�%�<

: � "W6T,@?IC 1 ?I9 ,P(5R=7 3 7I*+.:9 .

�X!-,@?/#)(@Y M 7)9

Z�[X\$] ^�_W`�_

� (

* 0 # 0 C)*+(I6 ( J51 N:<K! ( "X( 1 ( *+7 1:0 6G*a(�! *+?

(DC O (=<:ND' 0 <:? 0 < M ! (5b�U 1 ?:<

*c7)9

0 "�! 4$*d7I'&?K<:!T,e.:9 ,e?D! <:ND*87)*+(59, 3 ! (

*+! 9 Ce#:?:"X?�! .&4 0 ! 9 *+%�<

3K0 < 0 *c!-,eQ�< (K# 3 N 1 ! RD'L%�< 4 0

hardware. ��!

3)0 < 0 *8!-,f?K6 (=# 3 N 1 ! R�':?I! , (="X?�* 0 #)?=A/< 'I! (

,P(L#).

')UPR=? M ?

(=<B([email protected]*+7:4 7)9, U8<:(

! 4 J C 1 N 'LU245?

S 0 #I*8! 4W*a?K"�?)6h7&4�7:9 ,f(�! 0 b�( 1 '&N=gP?K<=*+(�! 4�*i7/< 0 "�6 #)C:4�7

"�?/#/#&Q�< ,e(I!

* 0 # 0 6T%j9

M ! (Ib�? 1:0 *i!-,eQ�< ' 0 *+( O A

*+?=C:9 " 1 ?DS/#I7:'Lk�*+%�< . � ( 1 ’

NK#:( (DC=*lk

7 b�A/4$7

,PkD"W?D! %�<

" 1 ?DSe#I7=')k�*l%�< , ,e(=RI! 4$*mk

( M A/<B( *87

*87B< 0 A 1)0 4�7

*+7:9 S)UV#I*i! 4�*87)9

#:A:4 7)9

, ,e(D!

Un*a4�!

0 6 <B(F! ( 1 , 0 *8. 7 0 A 1:0 4F7

'I! (I9 ( 1 , 0 *+k

,f(K#I.:9 #)A/4 7)9

4 JL0 *c!�,@k

' 0 (�C)*+U29 "X?IC " 1 ?=4 b�U 1 ?K<)*+(D! .

op<B( 0n1 Q�*87=')(

"X?IC

(K<&(�,>AB"�* 0 ! (I"XN

*87 ' 0 #)U@*c7

*+%< M ! (�b�N 1 %�< 0 b�( 1 'L? 3 Q�< , 0 6 </(�! ,e(�*+k

"�N:4 ?

(="X?�* 0 # 0 4�')(�*c!-,n?=6 0 6 <=(I! ?=! 3&0 < 0 *c!�,@?)6 (L# 3 N 1 ! R�'&?D! 4$*c7B< 0 A 1:0 4F7

'=! (I9 (:"�? M=0 ,/*+k ,e(K#I.&9

#=A&4F7)9

, N�*a(=<

0 b$( 1 ')N:g@?:<=*d(�! 4 0 real-time 0 b�( 1 '&? 3 UP9 , N="�%�9 4 0 1 ?�'/"�?�*+!-,ek 4 C)4�*c.)')(�*+(, 4 0 4�CB4$*+.=')( *d(

' 0 * 1 .B4 0 %�< , ,f(�!

3)0 <K!-,nk 4 0 4FC&4�*8.=')(�*a( 02OP0 #L! 4 4 N=' 0 </?IC C>#)!-,e?IA

(evolvable hardware EHW) 4FA)')b�%�<&(

' 0 *l( 0@1)0 RI6-4 'L(�*d(

*a?LC " 0n1 !-S&kK#/#)?/<I*d?)9 .

� 0 b�( 1 ':? 3 .

*+%�< 3)0 < 0 *+!-,eQ�<

(=# 3 N 1 ! R�':%�< 4�*+(

"�( 1 (I"�kK<:%

4FC&4�*8.:'I(�*l(, ,P(5R=! 4�*+k

(="�( 1 (I6T*i7I*c7 *c7e<

0 "�!-*dk J C/<B4�7 *87)9

C@#)?:"X?=6T7&4F.&9

*+?�C:9

. ��CI*+N

':"�? 1)0 6 <&(

4 C='=S 0 6 ' 0 ,e(�*+kK#B#=7e#)( 4 J)0PM ! (I4�')U8<:?

C/#:!�,PN (hardware).

*87/<

"W( 1 ?DAB4�( 0@1>3 ()4�6�( , 7 ?&"�?)6-(

J % 1 6 g 0 *+(�! 4 0 7 , 0 b�k=#:(�! ( ,

" 0n1 ! 3I1 kIb�?:<=*d(�! *+( SI.=')( *a( *d?IC

4 JI0PM !-()4�')?=A 0 <&NI9 0 ! M !-,e?=A 0 " 02Oq0@1/3 (54�*8. 3 ! (

*87e< 0 "r!-*+k J C/<B4W7 *87&9 0 ,/*lUi# 0 4�7&9 *+%s<

0 b�( 1 ')? 3 Q�< *+%�<

3:0 < 0 *i!-,eQr< (K# 3 N 1 ! R�':%�< . *+?

" 1 Q�*+? , 0 b�kK#&(D! ? , J *l6 g 0 *l(D! *+?

R 0 % 1 7)*8! ,eN CB"�NDS:(5R 1 ?

*a%< 3K0 < 0 *8!-,eQ�<

(K# 3 N 1 ! R='I%�< , ,@(�!

0 "r! "$#)Uq?K< "X( 1 ?=C:4 !-k=g 0 *+(I! 7

MD1 ()4$*87 1 ! ND*+7I*+( 0 "W6 *d?=C R=Un'L(�*a?=9

4 0 M ! kIb�? 1)0 9 M 7I':?:4�! 0 AB4 0 ! 9 .

*+? M)0 A=* 0n1 ?

, 0 b�k=#&(�! ? , 3 6 < 0 *+(�! 7 " 0@1 ! 3)1 (=bt.

"�( 1 (�' 0 * 1 !-,fQ�< 'I?/<:k M %�< 3 ! (

*+7/<

0 ,e*+U8# 0 4�7 *l%<

# 0 !-*+?DC 1/3 !-Q�< M ! (=4$*+(IA 1 %s4F7)9 ,e(I! ' 0 *+kK#/#&( O 7:9 , ?D! ?/"�?=6 0 9 (K"�?�* 0 #)?IA><

*d?=C&9 * 0 # 0 4�*+U29 (=<:(="�( 1 ( 3 % 3 .:9 *+%�< 3)0 < 0 *c!-,nQ�<

(=# 3 N 1 ! R�':%s< . ��(

0 "XN�' 0 <)( M CB? , 0 b$kK#&(D! ( ,

" 0n1 ! 3I1 kIb�?DCB< *i!-9 '&?K<Bk M)0 9 0 "�! #)? 3 .:9 , C:"X?/#)? 3 ! 4F')?IA fitness

,e(I! 4FCe<:RI.I,>7&9

* 021 ')( *c! 4�')?=A ,

?=! ?/"�?=6 0 9 0 ,e* 0 #)?=A/<

S)()4F!�,@k SI.)':( *d(

0 <:NI9 3K0 < 0 *8!-,@?IA (K# 3 N 1 ! R=')?=C . E U2S)(D! ( , ?L!

')?/<=k MI0 9 C>"�?K#B? 3 ! 4 ':?�A fitness

,f(�! 4�C><&RD.I,@7)9

* 0n1 'L(�*+! 4$':?=A , U J ?�C><

4 JL0uM ! (I4�* 0 6 3 !-( *+7e<

C>#)?/"�?)6h7)4 7:9

*+%�<

4 C 3 , 0 , 1 !-'IUc<)%�< 0 b ( 1 ':? 3 Q�< onemax

,P( !

saveload. *+?

, 0 b kL#&(�! ? 5, M 6 < 0 *+(I! 7 ( 1/J !�* 0 ,/*+?/<I!-,>.

,f(F! *l?

4�Ae<:?&#)?

0 <I*a?&#)Q�< *+?DC

0 " 0PO2021/3 (�4�*i. 3:0 < 0 *+!�,@Q�<

(K# 3 N 1 ! RD'L%�< VGP I. � ?

' 0V3 (K#=A)* 0n1 ?

, 0 b kK#)(I! ? 0 6 <B( ! *+? Un,e*+?

, *a?

?:"X?)6-?

" 0n1 ! #B( '=S)k=< 0 ! *

’ (="�?�* 0 #:UP4F'L(�*d( " 1 ?:4 ?D')?)6-%s4F7)9 # 0 !-*a?LC 1e3 6-(59 N&#)%�<

*+%�< " 1 ?=(=<B(�b 0n1 RIUc<I*+%�< ':?K<)k M %�< , ,e(IR)Q�9

,@(�!

*a?=C

* 0 #)!�,@?IA 0 " 02O20@1>3 (I4$*+. 3)0 < 0 *8!-,@Q�< (K# 3 N 1 ! R='I%r< 3 ! (

*d( " 1 ?DS/#).=':( *+(

onemax ,n(D!

saveload. �5"W6T4 7:9

"�( 1 U J ?:<=*a(�! , 7

"�( 1 ?�CB4�6�(=4�7 *l?DC

* 1 N="X?=C

4 A 3 ,2#:! 4F7)9 *+%s< Ce#)?/"�?D! ?IA=' 0 <)%�< 0 b�( 1 'I? 3 Q�<

,e(D! (="W?�* 0 #)U24�')(�*d(

4�Ae<=R 0 4�7)9 *+?=C 0 " 02OP0n1e3 (I4$*c. VGP I, ' 0 *d? Leonardo.

Page 2: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

� U8#)?=9, 4�*l?

U2S M ?I')?

, 0 b�k=#B(�! ? 3 6 <&?&<I*+(I! ,fk="�?D! 0 9 "�( 1 ( *c7 1 ./4 0 ! 9 ,P(�! 02O k 3 ?:<=*+(�! 4 CI'/" 0n1 kI4 'L(�*d( , (="�N

*c7e<

' 0 #)U@*87

*d%�< 3)0 < 0 *8!�,fQ�<

(=# 3 N 1 ! RD')%�< ,f(�!

*’ (:"�?�* 0 #)U24 ')( *d( " 1 ?:4 ?D')?)6-%s4�7)9 *+?=C 0 " 0uOP0n1e3 (I4$*8. 3)0 < 0 *+!-,eQ�<

(K# 3 N 1 ! RD'L%r< .

Abstract The last years, there is an increasing interest of the scientist community, for

the hardware implementations of genetic algorithms. They, consist a good search and powerful optimization method, and they are applied to the solution of a wide range of problems. In spite of that, the nature of some problems, makes it impossible to come up with the solution, so then the target is to find a good enough answer to the problem.

The question that arises from studying different applications of genetic algorithms, is how effective genetic algorithms are at finding an expectable good solution, according to changing environment and in case of real time implementations, for example at robotics, measurement systems, and evolvable hardware (EHW). The application of genetic algorithms at the above systems makes the acceleration of their processing speed very important. This could be achieved with a suitably designed hardware. This work is divided in seven chapters, explaining the steps of designing a special processor, for the speed enhancement of genetic algorithms applications. At the first chapter, the theoretical base knowledge about genetic algorithms and the relative work done, are treated.

At chapter 2, are presented the description of parametric unit for the implementation of crossover and mutation operations, which are called reproduction genetic operators.

The next two chapters, describe the units for selection, fitness calculation and

termination condition, which perform basic stages of a genetic algorithm. Moreover, the fitness calculation and terminating condition units, have been specially designed for the implementation of onemax and saveload genetic applications.

At chapter 5, the architecture and instruction set of the designed genetics’

algorithms processor VGP I, are explained. The largest chapter is 6, which includes the simulation results of the

performance of all units that are referred above, and the simulation of the final genetics’ algorithms processor, for the case of onemax and saveload problems. There are also, presented the way that the implemented applications converge to their solution, and the synthesis results of VGP I, with Leonardo.

Finally, at chapter 7, there are some notes and extracted conclusions from

the study of genetic algorithms, and the simulation results of VGP I.

Page 3: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

�������������

����������� ��� �������� �!�#"%$ &'�%()�*��+#� , &,", -�%.*$0/ 1�"2& �3�4� ��0��+ �5� � �6�87 9���:()��; �)�*� �6�*< �)&,�4�� 9�47%=*� � "2>9. �� ���7?�*>9. 1%�?&@"%�A���%.��#"%$)< B37?�C�#"0$�< , �4� 7 �D�)$*��� �4�*< EF70�3�#"G$?< �H��7 I9�)� �3�J� �H&K�?&'+#�87 L ��.)&M �� �3�D1)��+N��7 O�&'������0�:.�+P"21)< . Q"R�� �S�< �D1)< &,�G()�*��+#�*< , $��6�:. 1 9�)���5TA(0(*� �1 �4�9. (:&K.?&@�D�#"2>9. �:�0()S8��� /����9. �* -S �D1 �3"U�: 9� ; �D1?< hardware 7%�0�� ���+P1��5$�< �4��7)< , 1 �: ���+#� �C70.�&M �;:(:&@�4�*� V)&D���4+N���C1 �A1�< �4�:=����41*�4�*< &M �&RW'&'�%(�����+#� < �4��7)< , �X& �8=�TR�C1 �)& �D12. software 7%�?�: ���+Y10�C1 �H�87�< . ZX� �� ��8�4TD��&R�3�)� �A1�< �*&!�)T,�D1�< �4�9. (?&M.)&@�4�#"U>[. ���2()S*��� / �)�9. , $��6��. � � =)&'�*� �*�3�)S*< &D.)S�< 9�)�?(*�0������ �!� \US8�)&D.��87 &] �&'W]&@�%(?���3�D$ ()&].�&@�4�#"2>9. ���2(�S*�*� / ���9. , 1 9�)����8�)�)+#���31 �D1?< �?&U�#�H�87��%(0+#�*< �87*�6��� (�� � ��7�� &RB5� �*�)�:(�TR< "U�8� 1 ��C�?�870�+#����1 �4�9. �� �� �4&K�?&'��*; �H�[. �D1?< ��%.)/�&R�C$)< �6� 7 �)& �6� Leonardo.

Q �4� �51��)&'+ � �*7*�JS , /�� $?/�&K�?� .�� &'7%=)��:� �5�D$0�3� , �4��. &M ��#V%�)TD ��9. �41)< &'�%(���� +#�*< �)�87 &] �+P"2��7*�0� "U�*/81%(�1*�D$ " . Q . ^-�P"U�:�?�G_`�81 , (�� � �412. "U�*/��)�8$%(�1)�1 , 7% ����3�D$*��� W,1 "U� � &].%/*; �*��70.%�31 �5�!10. ��*�)&'+ � &M.?�*�8=)S?��1%�5$�< �)�87 �)& �H� �7%()"2&@"2�*� ��TD.�� \G$��A1���� , �4� �: ���+#� �� -� �4&!�)&R+ �3�D�)��B�$ 9�0�*< �4� (:&K.)�#"2S8�4&,�)� \,1��D$)�)�C�H� &RW'&K�)� � �S*�)&M.0�87 7G�)�#"2��� (evolvable hardware, EWH), "2�*� &,"G�);*/�1?�31)< �*1%=?��.�>9. (Machine Learning). a �+P�1�< &'7G=�� ��� �3�4> /�&@�*�); �6�:. 7% ��8b-$)B5� � ��� ��; "%�6���)� ^ . cC� V�V����*+ � , (*� � �4� < �7��*V?� 7,�)T'< ���7 �?�87 9�)���5T]B�&'�)& �5�D1 �)$*bd1 V)�*��P"U>9. � �%=*�#"U>9. �� ���B5;��5&]�9. , �D1%. 9�)���B5�8�); �4��7 C "2>9�*�#"2� (�� � �!10. 72���� ��:+Y10�31 �4�9. 9�)��V:�)1��?;C�H�d. onemax saveload [19], "R�� (�� � �D10. 7� �S��*&,� W@1 �*�#&'7?/��0.��&R�[. ���4� Internet, �� ’ S% ��*7 9�)��T@"27�be��. "R;* ����#&]< ��.0� B�*�)T'< . ZXTK�)�)< /�� $�/*&D�0� .0� &@72=)� �*� �5�D$��� , �4��. �)T@"2�4� �?� " . f . Og&]�*�)����+#��1 , (*� � �4�%. ����.�&@� ��)S �4�9. V*�#V%�?+#�9. , «Genetic Algorithms in Search, Optimization, and Machine Learning» �6�87 D. E. Goldberg "2�*� �H� «An introduction to genetic Algorithms» �41�< Melanie Mitchell, �6� �: ���+#� �� ��)��&R+ =)/ 1�"U�:. � � � �*+P�4&@�?� =*�*$0�C�N��� , S��3�%. �*B5�8��; �4� /)&'�F�:1*�4�#"2S 70 �S�V*�)/8�)� �J�9. (:&K.?&@�D�#"2>9. �:�0()S8��� /����9. . h "2�4>�V���� �*< 2005, O�&'�X�3�:�?�%.�+P"%1 f%�#��.%.%�"U�: ��8�2����7 iX���C� �)�#"G$

Page 4: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

1

��j���klj5m[�on�j9p�q

r�s,t3u vxw�ygw………………………………………………………………………………………………3

z�{5|[}�~�}��N� 1 � sM�8s'�,�l�?�Cu

� v*�5�*t��N�����C� - SIMD 1.1 Og&R���)1*�D�#"%$ &@� �X�:(��9(�$ …………………………………………………………………………….4

1.1.1 �#�3�4� ���N",$ ��.��)� ���*�*$ …………………………………………………………………..4 1.1.2 f%&M.)&,�J�P"U��+ �6&K�)&R�3�4T'< …………………………………………………………………….4 1.1.3 a d� �?�:(�$ (Selection) "R�� �372.�; �*�D10�C1 "2� �J�:�0��12�)S8�41*�4��< (Fitness Function)………5 1.1.4

L &R��+N� ��.%�*\,$*�D10�31�< �D1?< �)�0�31�< (space search)…………………………………….6 1.1.5 I- ��)S)< ()&M.?&@�4�#"2S�< ���2(�S*�*� / ���*< ……………………………………………………….7 1.1.6 Q8�%()"'�)� �C1 �H�[. (�&].)&U�4�N",>9. �:�0(�S*�*� /8�)�9. ……………………………………………..7

1.2 a5B5� �*���%()T'< �4�9. (:&K.?&@�D�#"2>9. �:�G(?S ���#/����[. ………………………………………………………..8 1.3 SIMD(Single Instruction Multiple Data)…………………………………………………………8 1.4 �3�:�� ��:+P10�31 �4�9. (?&K.)&'�D�N",>9. �:�%(�S*�*� /*�)�[. �& 7G�)�#"US …….………………………………………10 z�{5|[}�~�}��N�

2 � v5�8���3uYw��xw �Gw��

v5sG�#�,��*t���u � � � � � �3� �3� t���xw�� (crossover)

� � � ��s'�,��v�v ��� w�� (mutation) ��s

�,v������ (hardware).

2.1 ��&@�N��� ���D$?< ��&R���8��T!.)�9. (�� � �D1 ����.�;)��� �*� �����6�8���)���31�< (crossover unit)……………………..17 2.1.1 ��&@�#�)� ���4$)< ��&R�*���)TD.)�9. (�� � �D1 ����.�;*��� ��� ���3�H� �:�)���31�< (datapath)………………...17 2.1.2 a5�#���#"2TR< �?�:.�;*�)&'< ………………………………………………………………………19

2.1.3 ����&D(%=?�*< (�� � �6�:. =)&'�#�*� ���4$ �*&M�)�8��TD.��9. ���#�)�3�6� ���)���31�< …………………………….20 2.2 ��&@�N��� ���D$?< ��&R���8��T!.)�9. (�� � �D1 ����.�;)��� �)&,�4;��G�?�*W@1?< (mutation unit)…………………………..23 2.2.1 ��&,�#��� �5�D$)< ��&R���*�)TK.)�9. ()� � �D1 ����.�;*��� �)&@�4;:�%�?��W,1�< (mutation unit)………………...23 2.2.2 ����&D(%=?�*< (�� � �H�?. =�&U�N��� ���!$ �*&]���8�)T].%�9. �)&,�4;:�G�?�*W@1)< ………………………………..25 2.3 a3� ���P"RS � �%=)&R+P� "2� �6��=)���*1)�4>9. ...…………………………………………………………………27 z�{5|[}�~�}��N�

3 � ve�8���uYw��-w �2w��

vesG�#�,��)t���u � � s'�F� v��%���8� (selection)

��s �0v��P�)�

(hardware) 3.1 ��&@�N��� ���D$?< ��&R���8��T!.)�9. (�� � �D10. ����.�;*��� &K 9� �:�?()$�< (selection unit)..…………………………..29 3.2 ���)&D(G=���< ()� � �4�%. =�&M�N�:� �3�4$ �*&R���8�)TM.?�[. &M �� �)�:(�$)< …..…………………………………………..30 3.3 f�&K.2.�$)�D�*� &'< -� �)�:(?�[()$)< �47%=)��+#�9. � �*� / ��>9. �)& LFSR (Linear Feedback Shift Registers)…31 z�{5|[}�~�}��N�

4 � ���)� � � ������ve�%�3���x��� � fitness (FCU)

� � � ������� � � �x�%�8�:���w8�

�,s,t5� � �,� �x��� � (TCU)

4.1

L &,�*� (*���)Bx$ �J�9. 9�0� V%��1���; �4�9. onemax "2�*� saveload……………………………………….34 4.2 �x&U�#�)� �3�4$)< �)&'�)�8�)TD.)�d. ����.�;*����< 7� ��:���%(�� �5���8� fitness "2�*� ���:.0;��:��< �372.)/�$*",1)< �H&@���)��D� �C����� …………………………………………………………………………………………..34 4.3 �F�)&D(G=��)< �H�[. ����.�;*���9. 70 ��?�?�?()� ������� fitness "U� � �C70.�/8$)"G1)< �4&@�*�?� �D� �C�)�*� …………..……36

Page 5: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

2

z�{5|[}�~�}��N� 5 ¡�¢ s � � � �x����� s'��s � s,t�� � �5�G�

�esK�8sM�2�l�?£�� � v)�5� t3�¤�������

5.1 Q �2.��?�)� &D.*�J�%�)>9. �J��7 &] �&MWR&@�2()�*���D$ ()&M.?&@�4�#"2>9. �?�0(�S �)� /����9. VGP I………………………….38 5.2 I9�%=)�P�4&,"G�H�:.��P"2$ �6��7 &M �&'W]&,�%(����3�D$ (�&].)&U�4�N",>9. �:�0(�S*�*� /8�)�9. VGP I…………………………….41 5.2.1 ��&,�#��� �5�D$)< ��&R���*�)TK.)�9. �6� 7 &K �&RW'&,�G()�*���4$ ()&D.�&@�A�#"2>9. �:�%(0S �)� /��)�9. ………………...41 5.2.2 ����&D(%=?�*< �H��7 &M �&'W]&,�%(����3�4$ ()&D.)&'�D�N",>9. �:�0(�S*��� /*�*�9. ……………………………….43 5.2.3

L � �);)�*&@� ()�)� 9���:()��; �)�)� �4�*< &'"%�4TK�?&'�51)< (?&D.)&@�4�#"2��� �:�%(0S ���#/�����7 ()� � �41%. &D �+ ��70�31 �H�d. 9�?�8V���1*��;�4�d. onemax "U� � saveload………………………………………………..43 z�{5|[}�~�}��N�

6 } ���*�,s4v�¥,�-� � � � 6.1 I- ��8�H&K�?T'�3�)� �4� 9������� ���)+#���1�< �41)< �?�:.�;*�)�*< �8� � �5�J�*�*�����1)< (crossover unit)……………45 6.2 I- ��8�H&K�?T'�3�)� �4� 9������� ���)+#���1�< �41)< �?�:.�;*�)�*< ��&U�H;:�%����W'1)< (mutation unit)…………………61 6.3 I- ��8�H&K�?T'�3�)� �4� 9������� ���)+#���1�< �41)< �?�:.�;*�)�*< &M 9� �0�:()$)< (selection unit)……………………76 6.4 I- ��8�H&K�?T'�3�)� �4� 9������� ���)+#���1�< �41)< �?�:.�;*�)�*< 70 ��?�)�%(�� ��)�8� fitness "R� � �A1)< ����.�;*����< �7%.?/8$�"01�< �4&,����� �!� �5���8� ………………….…………………………………………………………..83 6.5 I- ��8�H&K�?T'�3�)� �4� 9������� ���)+#���1�< �6� 7 &'� �8�#"U�8� &M �&]WR&@�G(:�*�3�D$ VGPI �)& �J� Modelsim...……….85 6.6 I- ��8�H&K�?T'�3�)� �4� �C�0.%/*&]�31?< �H�87 &U� �*�#",��� &] �&'WR&U�%(?���3�D$ VGPI ��& �4� Leonardo Spectrum……88 z�{5|[}�~�}��N�

7 ¡ � �)��s,t���x� � � � Q*7*�% �&,��;��C��� �6� …………………………………………………………………………………...96 r }�¦ }�¦§�¨©�[}

}

………………………….97 r }�¦ }�¦§�¨©�[}

ª …………………………111 r }�¦ }�¦§�¨©�[}

�………………………….112

ª � ª ~9���g�¦�}�|F� } ………………………… 134

Page 6: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

3

��j���k¤�¬«9­®«

ZX� �4&K�?&@7*�6��+ � =*�)S%.�� � -���� �41*��&'+P�H� � �4� � 7�WR�:.�S*�*&D.0� &].��8� � B5T,���%. �D1)< &M 9� �5�D1��?�:.��N",$)< "@�8� .?S8�D1*�6�*< , (*� � �4� < 7,�)�: ����#$��X&@� < �4�9. (?&M.)&'�D�#"U>[. �:�%(�S*��� /����[. �5& hardware.

h � (?&M.)&@�4�#",�)+ �:�0()S8��� /��)�*� , �: �� �4&!�)�*�G. �)� � "2�:�)$ �)TR/*���*� ��.���\,$*�D10�31)< , TM.0� � �8=*7��?S ��T]�3� V*&!�*�4� ���J�� -�*+#1��31?< ",�*� &RB5� �*�)S�\]�:.��H� � �3�41%. &M �+ �*70�31 ��:�,�)>9. "2�*� �4&D�)&]+P��< � � �*B��*��&,�!�N",>9. �*&,�4�*W'� �4��7)< 9�)��V:�)1��?;C�H�[. . L � � ’ S:��� � 7)�J; 1 B3���1 "2;� ���� �[. 9�0� V%�)1��*; �4�9. , ",��/�� �3�4; �)�8�2.)� �!1 �D12. &U�)��&R�31 �41�< V)TK�*�A� �3�41)< ���%�51)< , "U� � T,�4�C� &]+ .��*� � �*"U&@�D$ 1 &@�)�)&]�31 ��� �*< � ��"@&U�H; "2�:��$?< ���?�31�< � =)&,�D�#"2; �)& �*7��4TR< -�87 9�?���B5T,�)�?.*�4�*� . �¯.0� &'�)>��D1��)� ���7 ��.�� "2�2 9�4&@� �: ©S �D1 �)&D�)T@�A1 �H�[. �*� �*B5S8���9. &RB� �*���%()>9. , &D+ .?� � "U� �4; �S��5� �� ��8�4&D�)&'��)�C�4�#"2��+ &]+ .%� � � � ()&D.�&@�D�N"R��+ ���2()S8�)� / �?�8� �3�41%. &'�*�?&'�31 � � �*< �8 ����*&'"%�4; "R����$)< ���)�1�< , S*�4��. &RB����)S:\U�%.8�H�8� �3& real-time &RB5� ���)�?(:T'< , S� ���< �X& �?�8�� �� �4�#",; �C7)�5�!$)�)� �4� , �& �7��5�D$��*� �4� �)&,�D��$)�X&'�9. , "2�8� (?&M.��#"U; �X& �7)�3�!$)�)� �4� &'W'&!�*� �X�S��*&].%�*7 7G�)�#",��� (evolvable hardware EHW) ��*��B5�9.)� ��& �4� &,�)&]/*+ ����� �4� �4��7 �&,���#V);��G�?�%.8�H��< .

� &'B5������:()$ �6�9. (�&D.)&@�D�#"@>d. ���G(?S8�)� /8�)�9. �5�4� -� �)�� �;�.�� �370�3�D$)�)�C�6� , "U�*/8� ���J; �� ���0�*+P�D1��A1 �D12. &M 9�N�°;�=)7%.)�1 �!1?< 7G�:�? ©��+¤1)�$)< �J�*7�< . I©7��6S �� �� ��&R+ .%� �C7*�)V*&]+ �)& ",� �H;��2��1%�?� �*=*&R��� �*�3�)TD.�� 72���#"@S (hardware).

Q �D10. ���%�*����� &@�2()����+N� , 1 �: ���+#� =)�F��+ \U&U�H� � �& 7 ",&RB5;��?� � � , �&@��� (*�);*B��.��4� � �J� V�$��*� �6� �H�87 �8=�&R��� �*������ &!.)S)< &'�#���#"U�8� &] �&'WR&U�%(?���3�D$ (��#� �41%. &M 9�N�4;:=*72.��31 �41�< &,"G�HTK�)&]��1�< �4�9. &'B5�C�����G()>9. �H�g. (?&M.)&'�!�N"U>[. ���2(�S*��� /*�)�[. . Q�°� 9�)>��H� "U&'B5;��0� � � , =��J+ \U&@�6�C� �H� /*&R����1��A�P"RS 7% �S�V*�)/ ��� �4�9. (:&K.)&,�D�#"2>d. �:�%(0S ���#/����d. , "U�8� &] d� ��)TR�?. ©� �0�87��5� ;�\R&@�4� � 1 � �%���3�41��*� S �D1��6� &M �+ �4��7 /�T@�)��6��< �3& �*� ;*B� ��&R< �81��)�)�C� &,���&'� < . Q �4� ��&'���H&@�)� "2&]B�;:�?� � � , (�+ .)&@�4�*� 1 �&,��� ()�)�*B3$ ��C�?�8��&@�D�)�#"2>9. �)�%.�;*�*�9. (�� � �D12. &@"2�4TD�)&'�31 �H�g. �)&'�#�4��7*�G()� >[. ��� �*�3�4�*�*�%���31�< "U� � �)&@�4;:�0���*W,1�< , ��� �� -�)+#&'< �* -�*�4&K�:���0. �H�87�< �6&K�:&'�3�4TR< ��.)�� -����:(?�[(*$?< �4�9. (�&D.)&@�4�N",>9. ���2(�S*��� /8�)�9. . ZC� &M �S �)&D.%� ��7�� "2&RB;:�)� � � , �&@��� (*�?;*B3�*72. �!� < �)�:.2;���&R< &M d� �:�?()$�< , 7% ��?�?�?()� �C�)�*� fitness "@� � �7%.?/8$�"01�< �4&,���)� �D� �3�)��� , ��� �% ���+#&R< &@"0�4&!�)�8�0. V)�*��P"R; V*$)��� �4� &M.�S)< (�&].)&@�D� "2��� ���2(�S*��� /8�)�*7 . iCT@V)� � � , ��� �?�:.�;*�)&'< 7G ��:�?�?()� ��*��� fitness "2�*� �72.)/8$�"01�< �H&@���)��4� �3�)��� , TK=���7%. � =)&'�*� ���3�4&R+ (�� � �D1%. 72���� 9��+#1)�C1)< �6�[. �37G(�",&,"%���#�*TD.��9. &RB5� ���)�:(?>[. onemax "U� � saveload. Q �4� "@&'B;:�)�*�#� 5, ��+ .�&@�H� � 1 � �%=*�#�4&@"0�4�%.��#"G$ "@�8� �J� �3�2.��%��� &D.��H�:��>9. �J�*7 &M �&RWM&,�%(����3�D$ (:&K.)&,�D�#"2>d. ���2(�S*��� /*�)�[. VGP I. ZX� �)&D()�:���)�4&@�?� "@&'B5;:�)�8� � &R+ .�� � �4� T,"G�H� , �H� �� ���+ � �&@�)� �0���V�;:.)&'� � ’ �: �� �H&A�:T'��*� �4� 9�?����*�)��+#���31)< �)&M�N�4��7*�G(?+#� < S?�?�[. �4�9. 9�?���:.)�)B3&,��/*T].��4�9. �*�%.�;*�*�9. , "@��/*>�< "2�8� �4�87 �4&D���N"R�8� &] �&'W]&@�%(?���3�D$ (?&M.)&'�!�N",>9. ���2()S8�)� / �)�9. ()� � �6� g�0�%��V���$)�)� �J� onemax "R� � saveload. a �+#�1)< �� �)TD=)�:.)�4� � , 1 �� ����7)��+ ���C1 �6�87 �D��S� ���7 �3�G(�"M�)� ��1�< �4�9. 7%�?�: ���� ���)�)&D.���. &]B�� ���)�?()>9. ",�*� �� �� �H&K�?T'��*� �6� ��G.)/)&M��1?< �6��7 &M �&RW'&'�%(?� �3�A$ VGP I, �)& �4� Leonardo.

ZXTK�)�)< , ���4� T@V)�)�8�)� "U&'B5;:�)�8� � (?+ .?�?.*�4�*� "@;: ��8� &R< �� �)� �41*��$?�&@� < "U� � &RW';:()�%.*�J�*� �7*�% �&,��;��C��� �6� , �� �S �!10. �)&K�)T'�D1 �4�9. ()&D.)&@�4� "2>�. �:�%(?S ��� /8���9. "2�*� � ’ �� �� �4&K�?T'�5�)� �4� 9�?����*�)��+#���31)< �4�87 &K �&RW'&,�G()�*���4$ ()&].�&@�4�#"2>9. �:�0(0S ��� /8�)�9. .

Page 7: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

4

± j-²³q��9q�k��

1 �5j�p�j�´dk ± �³k

qg���X�³��kYµ�n¯��k

- SIMD 1.1 ¶ {C·�¦�¨�§��Yz�¨

{e�N¡�}���·���¨

1.1.1

� �5�,��t��Y��� � � ��� t5�� �

h � ()&D.)&@�A�#"2��+ ���G(?S8�)� /8�)�8� �:.�� "@�:���0B�/�1*"U��. �� �S �4�:. John Holland �4� 1960 "2�*� ��.)�� 9�!�%=?/ 1�"U�:. �� �S �4�%. + �*� � �?��\,+ �)& �*� � � �?;*��� B5�8�#�D1*�4>�. "2�*� �372.)&@�2(�� �H>[. �J�*7 , �3�J� ���.)&M d� ���4$��)� � �4�87 Michigan "U�C�6; �D� < �*&'"2�*&@�4+N&]< 1960 "2�8� 1970. h

� �%=*�#"2S)< �5"2�% �S*< �4��7 Holland �)&M. $��H��. � �*=)&'�*� ���3�)S*< �:�G(:S8��� /*�)�9. , (�� � �D1%. &] -+ �)7��31 �37G(*"U&@"0���#�)TD.��9. 9�0� V%�)1��); �4�9. , �:�%�?; 1 �)&R/*���8�#"2$ �)&K�)T,�!1 �4��7 B� � .)���)T].���7 �D1�< 9���)� ����?�:(�$?< , S: ���< � 7)�4S ��7:�*V)�)+ .�&'� �5�D1 B��0�C1 "@�8� �D10. ��.);� 9�!7)W,1 �D�0S� ��d. �)& �6�87?< �: ��)+ �*7�< 1 TD.%.��8� � �D1?< B�7���#"%$)< 9�?�������)�?(*$?< .?� �% ©�8�?T'�&'� .�� &,� � ��=)/*&R+ �& �7%���D$��)��J� 7� -�%�)�?()� �3�4>9. . h

()&M.�&,�D�#"2S)< �:�%(0S �)� /8���*< �J�*7 Holland $��6��. �*� � ��T'/)�����)< &]W'TK��� W@1�< &D.�S)< x�)1�/�7��5���8� =��)���)���X�¬�);�6�[. �& TD.)� .�TR� ��*10/87?�3��S , =���1?�C�N���� ���� >9.*�4�*< �J1 B370�3�#"0$ &D 9� �?�?(*$ �)& �J&D�)&'�5�4T'< &,�� �.)&@70�3��TD.%�*7�< �� -S �D1 ()&].�&@�4�N"G$ S: ���< ��� ���3�H� ���)���31 , �)&@�4;:�%�0��W@1 ",� � ��.*�!� �3�D�)��B5$ . Q�& ��.)�:���%(�+#� �*& �A1 B��?�C1 , �J� =*�)���)�:�5>��)� �6� &D.�S)< �8�HS8�)�87 �� ��*�4&K�:���0.��6�C� �: �S (��%.�+#�*� � , �* �S �4� �� ���+ � �J� "R��/�TD.)� &,",B��);�\,&,� �*� � � ��� S �D1��6� "U�8� &]+¤.0� � ��70.�� �4$ 1 ��.��� �� ��;*�3�6�*�3$ �4�*7 ��& �7%()"2&@"2�*� ��TD.�&R< &M ��#�D�)&M 9�4T]< (�� � �6��7)< 7� ��G�)�?()� ���4T]< �D�#�)T'< ( . = . 0,1). Q��J� &] �S8�)&D.�� , (�� � �)S?(?��7)< �7%.)�4�8�?+#� < , �)& �D10. TD.G.)���#� �J�*7 ()�%.�� ��+#�*7 &D.%.��*&]+P�4�*� ",�*� 1 �4�#�*$ �)& �D1%. �: ��)+ � �&'�*� (*�0; B5&@�H�8� , 1 �: -�)+#� ��.)�*B3T,�)&@�6� � ��#� �7%()"2&@"2���#�)TD.�� ��< allele. ¸�& �D1 ��� �*�3�H�8�*�0���31 &].G.��)&'+P�6� � ��.8�6�:�%�)�%(*$ (��%.�� �)+#�9. �)&,�4�*W@� =*�)���)�:�5�g��; �4�9. , �)& �D12. �)&,�4;:�%�?�*W@1 �*&'�4� V?;��2�)�%.*�J�*� �D7%=?� + � "U;� ����#� (��%.�+#��� � �& �D7%=?�*+#&'< /)T'�&,�#< �3�4� =������?S*������ , &!.)> ��& �A1%. T].G.?��� � �!1?< ��.��D� �5�D���)B�$?< &!.0.��)&]+P�4� � 1 ��.8�4� �5�D�)��B3$ �D1)< �*� ; �4�*W@1)< �6�d. ()�%.�� ��+#�9. �& TM.?� =������*S�����)� . h

��G=��#"US�< (:&!.)&@�D�#"US�< ���2()S*��� / �?�*< �6�87 Holland 7% d$*�?W'& �*� � �)&K();%�*1 "@� � .��*�4���*+ � ",�*� �� �� �HTK�?&'�& �6� /)&'�F��1*�4�#"2S 7� �S�V)�*/ �0� SG�)�9. �4�9. (?&D.�&@�A�#"2>d. ���2()S8�)� / �)�9. , /)T@�4��.��4�*< �4� < ��G=�T'< �D1)< 70 -�:�)�G(*� �3�4�P"2$)< &RW'TK�)� WU1)< (computational evolution). ZX� �4&!�)&@7)�4�*+#� =��?S:.�� � �4� S8��� � ��&@�4�*W,� �4�9. S*�)�9. (�&].�&,�D�#"U�:+ �:�%(?S8�)� /8�)��� , ���D�0� �D1%(��N",TR< &RW'TD��� W@1?< "2� � &'WR&K�)�P"2�D�#"2S)< 9�0�:()�)�8����� �4�#���S*< , TD=*�*7%. �*�#&'7)�:70.)/�&]+ �3�4� ��1���&M+#� &@"@&'+ .?� ��*7 � S8�?�*< (?&D.�&@�A�#"2S�< �?�0()S8�)� /�����< �&@�*� (*�0;*B�&'� "@; �!� -�%��� �*� �*B� ��&,�D�#"2S �: �S �6�%. ��G=��#"US ()&D.�&,�D�#"US �:�%(?S ��� /8�)� �4�87 Holland. Q $)�)&@��� , ",7*"M�?�*B�8�)���0. �8� ;�Be�8�?&'< -� �)�:�0�0��(?T'< �4��7 �* ��?��� ()&D.�&,�D�#"U�8� �:�%(0S ���#/�����7 . Q �J� �� �); �*�41��?� i , -� �)� �6+ /*&,�4� � TD.�� �*� "0��S �?&'W@�#"@S , S �%��. ���7 �372.���.*�!� ���%.*�6� � �3$)�)&@�?� �C72=�.); �3�D1 �)&D�)T@�41 �4�9. (?&D.�&,�!�N"U>[. ���2(?S8��� /*�)�9. .

1.1.2

� sM��s'�2�Y�)�Cu �,sDv5s,�5�,¥,�

.�T]� ()&D.:� ; , �3�4�:. ()&D.�&,�!�#"@S �:�%(0S ��� /���� "U�*/�� �0+#\R&@�4�� �: �S TM.�� ��%.0�:��� �6&K�:&'�3�4>9. , ��87 �7%.?�870;8\R�*7G. WR�:.�; "2�*� �)&@�4�:�0�0; ��� �*72. �J� &] d� �)&D(���TD.%� ; �4���*� , ��TK��1 �4��7 �D�)TD=)�:.)�4�*< ��)1�/*70���?�8� . h � 9� � "U�8� .0��+ �4&K�:&M���4T]< ()&].�&@�A�#",>9. �:�%(0S ��� /*�)�[. (�� � �41�. �� �?�� -;�.�� �)&'�#�4��7*�G(?+#� , &'+ .?� � ��� �4&!�)&'�5�4T'< �*� ���3�H� ���)���31�< (crossover) "2�*� ��&'�4;:�2�)�*W@1)< (mutation). f�&D.:�N",; , TM.�� ; �4�*�)� �6��7 x�)1�/�7��5���8� �� �� �?&]+ .%� �: �� �6&K�)&R+P�J�*� �� �S TD.%� $ �&@�*� ���5S8�4&,��� =*�)�������3>��)� �6� . L � �)S������ � , "U;*/*& =*�)�g��S��5�g�*� �� �� �?&]+ .�� �C70.%+#�5�4� �J� � �8 �S T].�� $ �&,��� ���S �4&@�?� (���.%+#�*� � .

h ",��/��*��� ���?S�< �4�9. �� ���� �;�.�� , �0 �� ��&]+ .?� (�+ .)&@� �*& "G�)�#�D$��)� � �H� �7G(*"@&U"0���#�)TD.)� 9����< �)���31 9�?S8V���1)��� $ \G$��41��)� ���7 �:.*�D� �*&'�4�� -+#\R&@�4� � .

Page 8: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

5

h �4&D��&R�3�D$)< �*� ���3�J�*�*�����31)< �� �);:()&'� �870� .�TR� ; �4����� ( 9� /���.�TR< ���0�&,�#< ), �: �S ��7)� &] 9� �)&K(?S8�)&].%� ; �J� �?� ( (?�:.�&]+#< ). O�&'�F��>g.*�6�*< S8�4� "R; /�& ; �4� �?� �� ��8�4&D�)&'+P�6� � �� -S T!.)� =�������S�����*� , �H� �� -��+N� &]+ .)�*� ��� � �&'�N��; �� -S ��7?�*���N"R; b-1�B5+#� (bitstring), ��&'���#"2��+ �� �S �4��7)< �C72.�$?/*&U� < �D�?S� -��7)< �*� ���3�H� ���)���31�< ���7 7G�?�: ��8� �*�G.*�6� � �5& hardware �3�D1 �372.�T!=�&@� � , &R+ .��*� � singlepoint crossover "@� � two-point crossover ( $ double-point). I�7*�6��+ ��� �D�0 -�*� �8� �*���6�8�*�?�g�51)< , ����\U+ �)& �6��7)< uniform

crossover "2�8� arithmetic crossover �%.)���*;�\R�%.*�4�8� T,�4�� ",� �4; Michigan. ¹F�)��� � � 7� -S%�)�8� ��8� �4�% -�*� �*� ���3�H� ���)���31�< , mixing, integer mean, allele mixing, ��87 7%���� ���� ���0.��4� � �5& 7G�)�#"2S �&,��� (��);)B5�:.��6�C� �3�H� "@&'B;:�)�*� � 2. L � �?�C"R;�4� �)+ .)&@�6� � �*� � �5�G.*�4���*1 �8=�1��)� �D�#"2$ �&,��� ()�)�*B3$ , �4�9. 9�?�*�:.��*Be&'�)/�TD.*�4�d. �4�% ��9. �*� �*�3�4�*�*�����31)< .

11001|011 + 11011|111 = 11001|111 º ) Single Point Crossover: »2¼d½4¾ ¿UÀC»?Á2Â[½ Á?à Ä:Å?Æ »Ç]à ¼*Ã0È É-½4Â�Ê?Ë8Ì5Ç%Í%»0Á%Âd½ Á:à ΠÁ%Ã?Æ�à , Ï Â9½ Ä*Á%Å Ä�È%Ð3¿2Ê�»3½H Ã-½ ¼*Ì%Ñ*Á*»%Ò Á-½6ÆC¿0Ò ¾�Â�ÆCÓUÎ�Ð8Ã0Ð�Á%Âd½ Â�¼*Ô Á?Ã0Ð ¿RÐ* À Ã2Ð5¿,Â Ï Âd½ Ãd½ È�¼*Ô%¾*Ã-½4¼ »�Ò Â�¼*Ô Á%Ã%Ð Î�¾�¾�à Ä�» Ï Î8Õ*» ¼)©½AÉ5Ç . 11|0010|11 + 11|0111|11 = 11|0111|11 Ö

) Two Point Crossover: ×�¼d½4¾ ¿UÀ8Ã0Ð�Á%Âd½ É0È8à Ä�Å0ÆC»�ÇK Àg½6 Ð) É-½4Â�Ê�Ë*Ì-½!Ä�Á�»Ç Á�à Î�Á?Ã?Æ�à , Ï Â9½ Ä*» Ï Î*Õ*» Â)¼�Ô0À*Ã%Ð*à Ã-½ ¼ Ì2Ñ Á%Ã�½ Ï Âd½ Ã�½ Á8»U¾ »2È*Á%Â�ÇRÃx½ Ê0 Ì2Â Ï Á�Ø�Ì*»0Ò ¾)Â:ÆÓUÎ:Ð*Ã%Ð�Á%Âd½ Â�¼8Ô Á%Ã0Ð ¿RÐ* À8Ã0п2 , »UÐ�Ñ Ã-½ Ê�Â*Ì0Â Ï Á%Ø*Ì�»�Ò Æ »�Á2Â3ÙRÚ Á%Ë%Ð »2¼d½4¾ »,À)Æ¿'Ð�Ë%Ð Ä�Å�Æ »ÇAË�Ð ¾�Â�Æ Ó2Î%Ð�ÃGÐXÁ2Â[½ Â�¼*Ô Á%Ã%Ð Î�¾�¾�à À�Ã2Ð3¿U . 11001011 + 11011101 = 11011111 Û ) Uniform Crossover: Ü©ÝGÞ'ß`à?á%â ãXä%ÝGÞ,å:ß Þ]æ�ç0å?èlå ç%å*á�å?é)Þ'êCá%ë,ì ( à2ä%Ý%è6íUß6å ) å�î�ï äGî�ä?ßlä*íUê*î�ä:Þ2ë î�å�Þ2ðRá:å . 11001011 + 11011111 = 11001001 (AND) ñ

) Arithmetic Crossover : ç2áGòXó�ß4ô�ä%î�ä:ß°ä:õ2Ý%Þ2å:ß å á@ßlö�ô%ò�Þ]ß`é*ä%è Þ2ëM÷:ë,ó:Þ2ð,ì , à2ß°å Þ'ò�Ý í,òô�ß°ä?æ�áGà,è6å Ý�ð]ä:æ ô)ðM÷�ä%æ*ì ÞRä:æ î)÷%òXöGæ)óCô?ä:õ . ø ù4ú!û)úRü3ùDý?þ ÿ)ú@ù��:û%û�������þ , üú ���*ù��*ú]ü � ÿ)ú ù���� ù4ú!û)úRü3ùDý ��� �*ü3ù���������ü �)þ ����ú�� ���,ú'ù���� ������� ÿ! "��� ��#$ ù���%)þ ��%�� &�����ú'#þ , &"� � ��� #(�)����&�ú*� �+�"� �"�'� � ù,�8ÿ"� , #-�"��.*�:û!/0�*ù�*þ ÿ���.��"�Rþ ù+%��!��#úRþ �:û0û!��&!�]þ ü3ù� ���"�Fÿ! �ü���ÿ!� ù���% &"�"�"��� . 1�%���ý!����þ � ÿ)ú,ù��:û%û!���*� ü %)ÿ�23�� ��ú�� üú .���#$��� � #$��ü4��ü3ù� ù,��% #�û!�"��%%ü5ÿ!��� , .���� ÿ)ú@ù�� ù�� #(���"��þ ù+��þ ú'5 �6��ÿ!��&*ý�þ ù���% ù4ú!û)úRü3ùDý ��� ��ü�ù����!�!��ü ��þ . 74� ú����� ÿ)ú,ù��:û%û!���*��þ #8��% %2û"��#8�3� ������ù��� üú hardware, ú* �!��� mutate singlepoint drift, singlepoint randomize, multipoint, allpoint. 1.1.3 94:<; =?>�@BA (Selection) C!D6; EGF�H3I�J�KML3ENL C�D�K*D!=�=BLO=6P�KML!K*D�Q (Fitness Function) R úS#0� û!�M&*ý �"���!5T���)ú'ù��6� ü�ùU�"� ù+�� �#8� ÿ*ú ùU��� ��#(�! � ú�#0� û��V&�����ù��� ù�� � ù���ÿ!� ù,��% #�û!�"��%)üÿ!��� #(��% #0�" �.2ú��#ù,��� ��� %�#(��ü3ù���O� �3� �*ü�ù���!�!�güT� .'�6� ��#$ ù,� ��#(�� � �"� #0����.*��W8��%O� ù� ��%�� �"�S� ÿ!�Dû�� , ý ù,� �ùU�*ÿ!� &�� � ùX��� ú�5T�)��ÿ!��&*ý ÿ)ú,ù��:û%û!���*��þ . Y�ú�����.O�'þ ��#( ùX� þ ü)%���ý"�)úZ� þ ÿ)ú��� "����%)þ ú�#G� û���&)ý�þ , ú' �"��� � roulette wheel ý fitness proportionate selection, tournament selection .*��� rank selection. R ÿ!���"���"�*þ roulette wheel, ü8%O��� ü�ùU� ùX��� ú�#0� û���&�ý ù,��% � ù, 8ÿ!��% ù���% #�û�����%�ü3ÿ���� ÿ�ú #0� �����" *ù+�*ù� ù�� û� �&!� ù+��þ ù��#ÿ*ý�þ .*�ù��?û0û��%û� ù+�)ùU�*þ ù���% #0���*þ ù,� �����"��� ü3ÿ!� :û"�0� ù,�[� ù�� ÿ3/0� .�� ù��:û%û!�Gû! *ùX�)ù�� þ .Z���*ú � ù ÿ"��% ù,�3% ù\�!�V�!�"��ù��*þ #�û!�"��%0ü3ÿ!��� . 1�ù���� ù���#$� úS#G� û"��&�ý)þ tournament selection, &�� � ùU�"� .O���!���"� üCÿ3 .'���)ú &����!�S� , úS#G� û!�X&�����ù���� ù+%M������ ��%"� � ù��*ÿ!� , ��#8 ù,� ��#$�"]� ù�� .�� ù��:û%û!�Gû! *ù4ú���� ( ÿ�úV&���û"�*ù4ú��!� fitness), ú�#0� û!�+&�ú,ù���� ÿ)ú .*��#(��� � #0����.*���!����� ü�ÿ!�V�!� #G� ���"�" 8ù\�*ùU� � , .���� ù,� û!� &! *ù4ú���� .Z�ùU�:û%û"�%û�� ú�#(� û!�V&?ú@ù��6� ÿ)ú #G� �"���" ù��:ù,� 1- � . ^0_�`a�b c `+d!a�e8c�b f+e-g h!c�i!j"b c�k�lOi!f�m n f o f+i!p�h!q�`�f*d�l k�g p�n�e(c�d"r `+g o!s0t `c�_ eBh�l�u�_"n o c�q , p"e0a `,c t `�q�e(c f+e0g h�c�i�j�b roulette wheel. $e(a `+l t r�h�h�l , vOp�`r `�l o3w u!c�k�c fSeGg h�c�i�j!b rank selection, v*r�u!f r�`Uc o c v'p6`Up6`Ur�n4n6f�`�p�g n)q o!xByGt p o f `+l t

Page 9: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

6

`\g o j vOp�`�p�h*h�lMh�a�`\l�`�r�b `�c�_ , vOp�g n `+l n _ t!wVz f�g p l fVe0g h�c�i�j i�m t f*`Up6g p t r�h�c�i!p o f `+l u w n l `�c�_ p6`Ua o c�_ n ’ p�_�`�j `\l t vZp6`Ur�`�p�{*l , e$p�d!r o f `+l t `Xg o j vZp)`p�h�h!l�h�a�`+l!`�p�b . | `+g o j v'p6`Up�hOh�l�h�a�`+l!`�p�b , i"g p `Xl t c"e$c�m p w i!g t f n6_"}*j�`+l�n l nB`+l t e0d�c�lMi�c�q o f t l e(p�d"r�i3d"p x c , e0d�c�vMq�e0`�f�g p�e$a `+l n6_ t r6d�`�l"n l vOp�`p�hMh�lOh"a�`�l�`p�b . | `�f+h!f�_!`�p�m�p , p�e(c�`�f+h!fSm `�c v�d�g�`�j�d�g c vZp6`Ur�`�p�{*l!b ` y~t e0g u�p t�s[t h�q�nTf y~t ( p�`�a o!y0t ) vOp�g e(f*d"m h�l"�(j!b `Uc�_�b nB`+l t fSe(a o f t l i�f t g r , f t!s `�p�_�`a z d!c t p f'{�p�d!`�r)`,p�g p�e$a `,c f�vOr!n `�c�`�f e0d�a���h�l o p .

�g�p e8p�d!r�k�f�g i o p , p t `,c }*l�`Uc�q o f t c fSm t p�g l f�v o r�u�l�nTl vOp t a t"y0t `p�{�g t a o l!n6l"b /

`,p�_�`Uc"e$c�m�l�n l"b , `a�`�f l nB_ t r�d�`+l�n)l!b vZp)`p�h�h!l�h�a�`+l�`p�b `X_"e(g�v*r wXz f�g wSt p nB`Uc�g z f�m�c e(c�_ p�{�g c�h!c�i!fSm `+l t p�v�d"m��!f�g p `�l!b `�p�{�g t a o l�n l"b / `�p�_�`c�e(c!m�l�n l"b `c3_ vOp t a t p e(r t�y n6f w�t p n6q t c�h�c e$p6d"f z a o f t�y0t k!f�g i o r�` y[t f�v*e8p�m]k�f�_"n l�b . �6e(m n l!b , o e8c�d"f�m t p e(f�d�g h�l x u�c3q t v'p�g r�h�h"p v�d�g]`+j!d�g p , a�e y b l e(c�h�_"eBh�c�v'a�`\l�`�p j i�f t g�vZa�`+l�`p `�c�_ vZp t a t p .

�f t g�vOa�`�f*d!p , a�`�p t `�c z d y�o a!n y�o p f�d o l t f�q�f�`�p�g y b o g p n6q t u�f�`+l k�g p�k�g�v�p�n6m�p ( e . z . wSt p n q t c�h!c if then else vOp t a t"y0t e8c3_ n6_ t k w c t `�p�g o f*`�p�{�q `�c�_!b

i3g p `Uc t w h!f+i z c o g p�b n _�n vOf�_�j!b robot), `�a�`�f l n6_ t r�d!`+l!n6l v*p6`Up�h�h�l�h�a�`+l!`Up�b e0d w e0f�g t p o f�`+d!j!n6f�g `\l t n6_ t c�h!g�vMj n)_ o e(f�d�g x c�d�r `+l�b k�g�p!k�g�v*p!n6m�p�b e(c�_ fZv�`Uf+h!f�m�`�p�g e$p�d!r `Xl h"f�g]`�c�_�d�i�m�p o f o c t"y�o!wSt"y0t v�p t a t"y0t . 1.1.4 �$�*�6�]� �3�3���M���O���$�6� �O��� �$�!�N��� (space search) �

f `�l z d!j!n l ` y0t i!f t f�`�g�v s0t p�hMi!a�d�g u o!y[t , k!f t _�e(r�d z f�g e(f�d�g c�d�g n o a�b nB`�c e(f'k�m�c p t p�}Mj�`�l�nTl!b , a�e y b p�e$p!m�`+l�n l n)_ t"wVz f�g�p�b , q�e$p6d"{*l"b e(p)d�p�i s i y0t v . p . ��g i!f t f�`�g�vOc"m p�h�i�a�d"g u o c�g w+z c�_ t `+l t g�v*p t a�`+l�`p `+l�b p�e(a�`,c o l�b o f�`,r��!p�n)l!b ` y~t eGg u!p t!s0t h!q�nTf y-t n `�c z!s d�c p t p�}Mj!`+l"n6l!b h3q�nTl!b . ��`UnTg vZp�`�r `+l t p t p�}*j�`+l�n l h!q"n6f y0t o f `,c�_!b i!f t f*`+g v�c3q!b p�h�i�a�d�g u o c�_!b , f�m t p)g h"g i�a�`�f�d!c e0g u�p t a!b c fVi�vSh y ��g n o a�b n6f wSt p `�c�eGg�vZa p�v�d"a�`�p�`�c h�q�n)l!b vZp�g l e(p�d"f o e8a�k�g n l e(f�d!p�g�` w d y �!p�u o g p�m�p�b p�q�{�l�n l"b / f+h!r�`+` y n6l"b .

� t p e0d"p�v�`�g�vOa e0d�a��"h"l o p n6f o f�d!g�v w b f x p�d o c�i w b i�f t f�`�g�v s0t p3hOi!a�d!g u o!y0t , f�m t p�g `Uc

e0d�a��Mh�l o p `,c�_ eBh!j"u�c�_!b (problem of crowding). �Tc x p�g t a o f t c p�_�`�a c x f�m h!f*`�p�g nT`Xl t i!d�jMi�c�d�l p t p�e$p6d"p�i y i�j v*r�e(c�g y[t p6`�a o�yGt (individuals), `�p c�e(c"m�p w+z c�_ t _!�GlOh"a�`,fZd�l `+g o j v�p�`�p�h�h!lMh!a�`Xl!`�p�b , w `�nTg s n `,f v*p6`p3h�p o �!r t c�_ t `�c t eBh�l�u�_�n o a . �4c p)d t l!`+g�v*a p�e$c�` w h!f'n o p p�_�`c�q `,c�_ x p6g t c o3w�t c�_ fSm t p�g l f\h�r�`+` y n l `+l!b k�g p�n�e8c�d�r�b `�c�_ eBh�l�u�_�n o c�q , v'p�g v'p6`�r n)_ t!w e(f�g p l e(p�d!f o e$a�k�g nBl i�d�jOi"c�d�l"b e(f*d"p�g�` w d y ��fXh�`m y nBl"b .

��g e0g u�p t!w b nB`+d�p�`Xl�i"g]v w b p�e(c x _�i!j!b `�c�_ e8p�d!p�e(r t�y e0d!c���h"j o p)`c�b f�m t p�g l p3hOh�p�i�j `�c�_

`\q�e$c�_ f+e-g h"c�i�j�b , c k�g p o c3g]d"p�n o a�b `+l�b vZp�`�p�h�h!lMh�a�`+l�`�p�b (fitness sharing), vZp�g l p�e(c x _Oi�j k�g p�n `,p�q�d y n l"b e(p�d�a o c�g y0t p�`�a o!y[t . ��`�n)g , p�e(c x f*qMi!f*`�p�g c `�q"e$c�b f�e(g h!c�i!j"b roulette wheel j fitness proportionate, f t�s e0d!c�`�g o!s0t `�p�g c�g `Xq�e(c�g tournament vZp�g rank selection. | wSt�t c�g p `,c�_ k�g p o c�g�d!p�n o c�q v'p6`�p�h�h"l�h�a�`\l�`�p�b (fitness sharing), e(f�d�g h"p o �!r t fZg `Xl t f+h!r�`+` y n l `+l!b v�p�`�p�h�h!lMh!a�`Xl!`�p�b f t a�b p6`�a o c�_ , p t r�h"c�i�p o f `�l t e8p)d�c�_�n6m�p e8p�d!a o c�g yGt p�`a o3y0t nT`Uc t eBh3l"u�_�n o a .

�f t g�vOr , c�g `\d"a�e(c�g p t p�e(p�d�p�i y i"j!b e�p�m }'c�_ t n�e(c�_�k�p�m c d"a�h�c n `�l t f�eGg]`�r z _ t nTl f�q�d"f'n l!b

h3q�nTl!b o f i!f t f*`Xg�v�a p�h�i!a�d�g u o c , vZp�g i!g p `�c h!a�i"c p�_�`Ua , v*r�u!f `+q"e8c�b e0d w e(f�g t p f+e0g h w i!f*`�p�g e0d�c�n6f*v�`+g�vZr , p t r�h�c�i"p o f `+l x q�n)l `�c�_ f�vOr�nB`Uc�`�f eGd�c���h�j o p�`�c�b . � vOr�u�f `Xq�e$c�b k�g p�n8`p�q�d y n l!b e(c�_ f�vO`�fVh�f�m�`�p�g n6f k�g p x c�d�f�`+g]v w b e0f�d�g e0` s n6f�g b e0d"c���h�l o r�` y0t , wVz f*g k�g p x c�d!f�`Xg]v w b g k�g a�`�l�`�fSb .

�g p

e(p�d!r!k�f�g i o p c `+qOe(c�b two j double point crossover, k�f t p�h�h�r�}*f�g e$c�h"q `p z d y�o c�n s�o p6`p v*p�g n6_ t f�e s b k!f z p�h!r�f�g f�q!v*c�h!p `�p vZp�`�p�h�h"l�h!a�`�f�d�p z d y�o c!n s�o p�`Up , f t!s c `+q�e(c�b uniform crossover f'm t p�g p�e(c"k�c�`�g�v'a�`,fZd!c!b y b e0d�c�b `+l k�_ t p)`a�`+l!`Up f�{'fMd"f*q t l�n l!b `c�_ z3s d!c�_ p t p�}Oj�`Xl�n)l!b h!q!n6f yGt , f x a�n6c t o e(c�d�fSm t p p t p�e(p�d"r�i"f�g h!q�n4f�g b `�fVh�f�m y b k3g p x c�d"f�`\g�v w b p�e(a `+g b k!f�k�c o!w+t f�b [13].

Page 10: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

7

1.1.5 �0�8�6 6� ¡T���!���O¢�£" 4� �"��¡? �¤ ¢¦¥�§��4� ��g o l z p t g n o c!m _�h�c�e$c!m�l"n l�b `�c�_ p�eBh"c�q i!f t f*`Xg�v�c3q p�h�i!a�d�g u o c�_ , f�m t p�g p�eBh!r l p t `�g i�d�p x j p�h�h�lMh�c�_ z g sGt (strings) �(l x m y0t , vZp�g l p t `p�h�h"p�i!j ` o l o r�` y0t `�c�_�b . � p�eBh"a�b i�f t f�`+g�vZa�b p�h�i!a�d"g u o c!b , c c�e(c!m c�b k!m t f�g vOp�h�r p�e(c�`,fVh w n o p�`p n�f e(c�hOh!r e0d�p�v�`+g�vZr e0d�c��"h"j o p6`�p p�e8c�`�f+h"f'm�`�p�g p�e(a `+d"f�g b `�f+h!fSnB` w b , `�c t `�f+h!f�n `\j ¨�©*¨Tª�¨�«T¨�¬O­�¬�®�¯ , °�±]¨!² ³´¨�µ'«B­-²�¶�¯ vOp�g ·4¸M³º¹�»O»�¨�¼S¶�¯ . | f x p6d o c�i�j `,c�_ e-d s `c�_ `,fVh!f'n `+j , e(f*d�g h�p o �!r t f�g eGg u!p t a�`�f�d!l p t `�g i�d�p x j ` y[t z d y�o c"n y~o r�` y0t `+l!b `\d wVz c�_"n6p�b i!f t f'r�b , o f o fVi!p�h!q�`�f*d�l `�g o j v'p6`Up�hOh�l�h�a�`Xl!`�p�b , n `+l t f�e(a o f t l i!f t f�r .

� `�fXh!f'n `+j�b ¨�©M¨6ª�¨�«T¨6¬*­�¬*®3¯ , p�e(c�`�fVh�f�m wVt p f�m�k!c�b fVe0g h�c�i"j!b vZp�g i!g p `c t p�eBh!a i!f t f*`+g�v*a p�h�i!a�d"g u o c e0d!c�`�f'm t f�`,p�g roulette wheel [1].

�fM`\r `+l t f x p6d o c�i3j `+l!b ¨�©O¨6ª�¨�«T¨�¬O­�¬�®�¯ , l

k�g p�n `,p�q�d y n l o e(c�d�f�m t p fSeGg�`�f*_ z u�fSm nTf k�_�c ��j o p�`�p . ½Tp�`,p�d z j t , a�h�p `�p z d y�o c"n s�o p�`�p `c�_ eBh3l"u�_�n o c�q z!y d"m }Zc t `p�g n6f }Zf�q�i�l vZp�g nB`+l n _ t"wVz f�g p n _ o ��p�m t f�g k�g p�n `p�q�d y n l n6f v�r�u�f w+t p p�e(a `,p }*f*qMi!l p�_�`r .

� `+q�e(c�b `Xl�b °�±]¨�² ³º¨�µZ«B­-²�¶�¯ e(c�_ _�h�c�e$c�g f�m�`�p�g fSm t p�g c single point crossover. ��c n l o f�m�c

nT`�c c"e(c�m c e0d�a�vOf�g�`�p�g t p n6_ o ��fSm °"±]¨�²B³º¨�µ'«?­-²�¶ , h"p o ��r t f�g p6v w d"p�g f'b `+g o3w b p�e$a 1 y b `,c o j�vOc!b `,c�_ z d y<o c�n s�o p6`c�b l o fSm�c t w+t p . ��`�n6g , k�f t _"e$r�d z f*g e(f�d"m e0` y nTl t p o l nT_ o �!fSm p t `Up�hOh"p�i�j i�f t f�`+g]v'c�q _Oh�g�v�c3q o fZ`,p�{�q ` y0t z d y�o c�n y<o r6` y[t .

| h!f�g�`�c�_�dOi"m�p `Xl�b ·6¸O³¾¹�»O»�¨�¼S¶�¯ , e$p�m }Zf�g p�e8c x p�n)g nT`+g vOa v*p�g k!f�_�`�f�d!f�q"c t `p d�a�h�c n `+l

n6_ t c�h"g�v*j h�f�g�`c3_�dOi!m p ` y0t i!f t f�`+g]v s[t p�h�i�a�d�g u o!y0t . | ·6¸O³¾¹"»*»!¨�¼�¶ fSm t p�g p"e(p�d"p!m�`+l!`+l n6f e(f*d"m e0` y n)l e(c�_ o f `�g b k�_�c e0d s `�f'b h�f�g�`c�_!d�i"m]f�b z r t f�`,p�g z d�j�n g o c i!f t f�`�g�vOa _Mh3g vOa , o f p�e$c�` w h!fSn o p c p�h�i!a�d"g u o c!b t p o l o e8c�d!fSm t p ��fXh�`�g y u�fSm e(f�d�g n6n6a�`�f*d!c . | o f�`�r�h�h�p�{�l n)_ o �!p�m t f�g o f o g p o g�vOd�j e0g u�p t a�`+l�`p , vZp�g fSm t p�g l `�_ z p�m�p p�h�h�p3i!j `\l"b `Xg o j!b f t a�b �(l x m c�_ `\l"b p�vZc�h"c�_�u�m�p�b . | n6_ z"t a�`+l�`p o f*`�r�h�h!p�{*l"b i!g p v'p�h�r p�e(c�`�f+h w n o p�`Up f�m t p�g `Xl�b `�r�{�l�b `+l!b o g p�b o f�`�r�h�h�p�{�l�b p t r z m h"g�fSb o fZ`,p x c�d w b �(l x m y0t . 1.1.6 ¿6�O¡ £Z� ¢]�G� �'ÀÁ� ¡?�V�����*¢º£"ÂÁ� ����¡? �¤ ¢]¥�§!ÀÁ� Ã

`+g b k�g r x c�d!fSb f x p6d o c�i w b ` y0t i!f t f*`+g]v s[t p�h�i"a�d"g u o!y[t , f�e(g h w i!f�`�p6g `,c fSm�k�c�b `c�_ `+d"a"e$c�_ `,f�d o p6`+g n o c�q `�l!b f x p)d o c�i�j�b `�c�_ p�h�i�a�d�g u o c�_ v*p6g f�q�d�f�n6l!b h�q�n l�b . ��`�n)g , n6f v�r�e(c�g p e0d�c��Mh�j o p�`Up , a�e y b p�_�`a `,c�_ vO_�v'h y~o p�`+g]v'c�q k�g p o f�d�g n o c�q (circuit partitioning) i"g p f�_�v'c�h"a�`,fZd�l v�p�g p�e$c!k�c�`\g�v*a�`�f*d�l x _�nTg�v�j n z f�k"m]p�nBl (layout), k!f t _�e8r)d z f�g l � w h!`+g n `�l h"q!n)l v*p�g n _ t f�e s b , f'm t p�g p�d�vZf�`\j l f*q�d!fSn l o g p�b e8c�h"q v�p�h�j�b h�q�n l"b . ^(_�`a nBl o p�m t f�g `,fZd o p6`�g n o a `�l!b f�v�` w h!f�n l�b `Uc�_ p�h�i!a�d"g u o c�_ o f�`�r p�e(a c�d"g n o!w+t c p�d�g u o a i"f t f s0t . ^ t `�m u�f�`p , a�`p t `�c e0d�a���h�l o p p�e(p�g]`Uf'm p�v�d�g���j h3q�nTl , a�e y b n6f p6d�g u o l�`+g�v w b f x p)d o c�i w b , `�a�`Uf c `�f�d o p6`+g n o a!b f�vO` w h!fSn8l�b `�c�_ i�f t f�`+g]v'c�q p�h�i!a�d"g u o c�_ n6_ o �!p!m t f�g o f `+l n qOi�v�h!g nBl `Uc�_ i�f t f*`Xg]v*c�q _�h�g�v�c3q `Uc�_ eBh�l�u�_�n o c3q n `Xl n)_�i!vOf�vOd�g o!w+t l h3q�nTl . � _�e(c�h�c�i!g n o a�b `�c�_ p)vOd�g �!c�q�b z d!a t c�_ n)q�i"v'h�g n l!b `�c�_ i�f t f�`�g�vOc�q p�hOi!a�d!g u o c�_ k�f t f'm t p�g o g p p�eBh"j _"e8a�u�fSn l .

��g Alden H. Wright vOp�g Yong Zhao [14], p�n z c�h�j�u�l�vZp t o f `+l t f x p6d o c�i!j o g p�b

fSe w vO`�p�n l"b ` y0t Markov chain models, nTf o g p f�_�d!q�`�f*d�l , p�e(a `,c t p�eBh�a i!f t f�`\g�v*a , v'p6`+lMi�c�d!m p ` y~t i�f t f*`Xg]v s0t p�h�i�a�d"g u o�y0t .

Ã`c o c t ` w h�c Markov c�g p3h"_�n g k y ` w b vZp�`�p�n `�r!n f�g b f�m t p�g eBh�l!u�_�n o c!m . Ã

q o!x6y0t p o f `+l t fVe w v�`�p�n6l `�c�_ Markov chain model n6f o c t ` w h�c ³UÄ'Å6¨�Æ�¨�¯ ÅT¸�± «6±¦² ³�±�ÇO®�¯ ¨�©O¨�È�®T³�¶�²�¶�¯ (Random Heuristic Search) ` y0t i!f t f�`\g�v s0t p�hMi�a�d!g u o!y0t , p"e(a `c t Vose, e(p�d w+z f�`,p�g l e0g u�p t a�`+l�`p o f*`�r)��p�nBl"b p�e(a w+t p eBh3l"u�_"n o a nT`�c t f�e(a o f t c .

�f `,c t a�d�c hill – climbing f'{�fVh!g]vM`+g�vZa�b p�h�i"a�d"g u o c�b , f t�t c�f'm�`�p�g l o l fXh!r�`\` y n l `+l!b

v�p�`�p�h�h!lMh!a�`Xl!`�p�b nTf v*r�u!f ��j o p . � p�_"nT`+l�d�r hill – climbing p�hMi�a�d�g u o c!b , f'm t p�g f*v*f'm t c�b e(c�_ k�f t p�h�h!r�}*f*g `\l t v*p�`�r�nT`�p�n6j `�c�_ n6f w+t p ��j o p p t k�f t w\z f�g p�_!{�l�u�f�m l vOp�`Up�hOh�lOh!a�`�l�`�p . ^0_!`�a n)l o p�m t f*g

Page 11: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

8

a�`+g k�f t p t p t f s[t f*`�p�g c e(p�h�g a!b eBh"l!u�_"n o a�b , p t k�f t f�m t p�g v'p�h"q�`�f*d"c�b c v'p�g t c�q�dMi!g c�b eBh!l!u�_"n o a�b y b e0d�c�b `�l t v*p�`�p�hOh�lOh"a�`+l�`�p , k�l�h�p�k�j p t k�f t w\z c�_ t a�h�p `p o!w h�l `�c�_ t"w c�_ eNh"l!u�_"n o c�q o f+i!p�h!q�`�f*d�l j m�k�g p `+g o j vOp�`p�h�h�l*h!a�`+l�`Up�b p�e(a `�p e(p�h�g r o!w h�l . Ã`+l t f*d�i"p�n�m�p [14], p�e8c�k�fSm z u3l�v�f a�`+g o g p vOp�`�lMi�c�d"m p p�_"n `�l�d!r hill - climbing p�h�i�a�d"g u o�yGt ,

n6_�i!v�h"m t fZg p�nT_ o e0` y `�g�vZr . Ãl o p t `�g�vOa nT_ o e w d�p�n o p p�e8c�`�fXh!f�m , `c i!fXi!c t a�b `Xl!b f+i�i�_�l o3w+t l!b

n6q�i!v�h�g n6l!b n `+l � w h�`�g nB`+l h"q"n6l o f p t p o f t a o f t c z d�a t c n)qOi�v�h"g n l�b , i"g p k3g p x c�d�f�`�g�v w b n6_ t p)d!`Xj!n6f�g b _�e8c�h!c�i!g n o c3q vZp�`�p�h�h!lMh!a�`Xl!`�p�b , `�c�_ p�_�n `+l�d�r hill - climbing i"f t f�`+g�v'c�q p�h�i�a�d"g u o c�_ z�y d!m�b f x p�d o c�i"j o f*`�r�h�h�p�{�l"b . � h!a�i"c!b z d�j�n l�b o a t c k�g p�nB`p�q�d y n)l!b f'm t p�g l k�_"nBv'c�h"m�p `,p�_�`Ua z d�c t l!b p t r�h!_�n l!b ` y0t `,fVh!f'n ` s0t p t p�e(p�d"p�i y i!j!b .

1.2 ÉTÊ[�ÌË$Í�Î�Ï�ÉT¿ Ð6Ñ<Ò Ï6É?ÒGÉ4Ð6ÓÕÔ8Ñ<Ò �(Ö0Ï3Î�ËBÓ¦×�ÍÌÑ<Ò

�f t g�vZr w+z fZg p�e(c!k�f�g z u�f�m u!f y d�l!`Xg�vZr vZp�g f o e(f�g]d�g�vZr , a�`+g c�g i�f t f�`+g vOc"m p�h�i"a�d"g u o c�g p�e(c�`�fVh!c�q t wSt p g n z _�d"a o!w n�c p t p�}Mj�`�l"n6l!b h"q"nTl!b nTf n)q t u!f�`�c�_"b z�s d�c�_"b p t p�}Oj�`Xl�n)l!b [1]. � p�eBh�a�b

i�f t f*`+g�v*a!b p�hMi!a�d�g u o c�b e$c�_ e(f*d�g i�d�r x f*`�p�g n `�c �!g �"h�m�c `�c�_ Golberg [1], p t p�k�f�g�v t q!f�`�p�g v�p�`�r�h�h!lMh!c!b i�g p `�l t f�e$m h!_"nTl e(c�hMh s0t e0d�c���h!l o r�` y[t . �

f `\d!c�e(c�e(c�g�l o3wXt f�b f�vOk�c z!w b `\l"b p�eBh�j"b , c�g i!f t f�`+g vOc�m p�h�i�a�d�g u o c�g ��d!m n vZc�_ t f x p6d o c�i�j n4f w+t p o fVi�r�h"c p�d�g u o a fSeGg nB`Xl o c t g�v sGt e0d�c���h!l o r�` y[t vOp�g o c t ` w h y0t , a�e y b o f*d"g�vZr p�e(a `�p e(p�d!p�vZr�` y [8].

Ød y `,m�n8` y b c�g i!f t f*`Xg�v�c�m p�h�i�a�d�g u o c�g , z d�l"n6g o c�e8c�g c�q t `�p�g n4f k�g r x c�d�p e0d"c���h�j o p�`�p

�!f+h�`+g n `�c�e(c"m�l�n)l!b , i�g p e8p�d!r�k�f*g i o p p6d"g�u o l�`�g�vMj ��fVh!`+g n `Uc"e(c�m�l!n)l , n)_ t k�_"p�n `�g�vOr e0d"c���h�j o p�`�p �!f+h�`+g n `�c�e(c"m�l�n)l!b a�e y b l x _�n)g]vOj n z f�k!m�p�nBl (layout) f t a!b vO_�v+h s<o p)`�c!b , v'p�g job-shop scheduling. � p�_!`�a o p�`c�b e0d"c�i�d"p o�o p�`�g n o a!b f�m t p�g fSe(m�n l"b wSt p e(f�k�m c z d"j!n)l!b ` y0t i!f t f�`\g�v s0t p�h�i!a�d"g u o3y0t , i"g�p `+l t f'{ w h!g {�l e0d!c�i�d�p o�o r6` y0t _"e$c�h"c�i!g n ` s0t e�c3_ f x p�d o a�}Zc t `�p�g n6f n6_�i!vOf�vOd�g o3w+t p }�l�`+j o p�`,p .

| f�v o r�u�l"n l o l z p t!s0t (Machine Learning) f'm t p�g w+t p�b `Uc o!w p�b n `c t c"e(c"m�c wVz c�_ t z d�l"n g o c�e$c�g�l�u�f'm e(c�h�h w b f x p�d o c�i w b ` y0t i�f t f�`+g]v s[t p�h�i�a�d"g u o!y0t (

�. ^ .), a�e y b l `�p�{�g t a o l�n l

v�p�g `�p }Ol�`+j o p6`�p e0d!a���h!f��(l"b i!g p e$p6d"r�k!f�g i o p `�c�_ vOp�g�d�c�q j `\l!b e0d y `�fU٠t g�vOj"b k!c o j"b . ��g �. ^ . z d�l"n g o c�e$c�g c�q t `Up�g n `+l t f�{ w h�g {�l ` y0t t f*_�d y[t g]v s0t k�g�v�`�q y0t �!fVh3`+g n `,c�e(c�g s0t `p�b `+g b `Xg o!w b ` y0t

�!p6d s0t (weights) `�c�_!b , v'p6g n)_ t f�e s b `Xl t g�vZp t a�`+l�`p f*v o r�u�l�n)j�b `�c�_�b , f�e8m�n l"b n `+l t f�{ w h!g�{�l ` y0t v�p t a t"y0t i!g p `�p n6_�n8`\j o p6`p `�p�{�g t a o l�n l!b vZp�g ` y0t p�g n6u�l�`+j�d y0t p t m z�t fZ_�n l"b ` y0t robot.

Ã`+l t c�g]v'c t c o m]p , c�g

�. ^ . z d�l�n)g o c"e$c�g�j�u�l�v'p t i�g p `+l t p t r�e0`X_�{�l p�e(c�k"c�`�g�v s0t

nT`+d!p�`+l*i�g�v s[t v�p�g `\l t f o!x r t g n8l c�g�vZc t c o g�v s[t p�i�c�d s0t . �g p `+l t o c t `�f+h"c�e8c"m�l�nBl x _�n)g�vZr

e0d�c�n `,p�`�f�_�a o f t!y[t n _�n `+l o r�` y0t , a�e y b vZp�g l o f*`�r�hMh!p�{*l f t a�b p�`�a o c�_ vZp�`�r `+l k�g r6d�vOf�g p `+l!b } y j�b `�c�_ , c�g]v'c�h"c�i�g�v sGt x p�g t c o3wXt!y0t a�e y b l k�g r�u�fSn l x _�n g�v s0t p�e(c�u!f o r�` y0t , l n _ o �!m y n)l vOp�g f'{ w h�g {*l e(p�d!r�n6g]`Uc�_ n6f {'f t g n8`\j , wXz c3_ t z d�l"n6g o c�e(c�g�l�u�f�m i"f t f�`�g�vOc"m p�h�i"a�d"g u o c�g . ^BhOh"r v*p�g nB`Ul t m k�g p `\l i!f t f�`+g�vOj eBh�l�u3_�n o c�q , z d�l�nBg o c�e(c�g j�u�l�v�p t

�. ^ . i!g p `\l t p�e$r t `+l�n8l f�d y `+j"n4f y0t a�e y b « ½4r6` y

p�e(a e$c�g f'b n6_ t u�j�vOf'b u�p fSm t p�g wVt p i!c t m�k�g c ��g s n g o c fS{'fVh�g�v�`\g�v*r ;».

�f `�c�_�b

�. ^ . o f+h"f*`�r�`�p�g l f'{ w h!g {Zl vZc�g t�y0t g�v s0t n)_�nB`+l o r�` y0t , a"e y b p�_�`+j n6f p�e(c�g]v*m�f'b

f t `�a o!y[t v'p�g l f'{ w h!g {Zl `+l"b nT_ t f�d�i!p!n6m�p�b v*p�g f+e0g�vZc�g t"y~t m�p�b n6f n _�nB`Xj o p)`p multi-agent. 1.3 SIMD(SINGLE INSTRUCTION MULTIPLE DATA) �

f t g�vZr c a�d!c�b SIMD f t�t c�f�m `+l t f�v�` w h�f�nTl o g p�b p�eBh!j!b f t `,c�h"j!b nTf e8c�hMh�r k�f�k�c o3w+t p `,p�_�`Ua z d�c t p . | e(p6d�r3hOh�lOh�l f+e�f�{'f�dOi!p�nTm p _�e8c�h w {�f y~t (subword parallelism) p�e(c�`,fVh!f'm o g p o c�d x j SIMD z p o lMh�c�q vZa�n `�c�_"b , l c�e$c!m�p e(f*d�g i!d!r x f*`�p�g p"e(a `�l t Ruby B. Lee [5]. |

Page 12: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

9

e(p�d!r�hOh!l�h�l f�e(f'{�f�d�i�p�n6m�p _�e(c�h w {�f y-t , w+z f�g f�g n�p z u�fSm n `,c n q t c�h�c p6d z g�`�f�vO`�c t g]vMj!b f t `Uc�h s0t (ISA) ` y~t o g�v�d"c�f+e�f�{'f�dOi!p�nB` sGt , o f p x c�d o j `\l t o fXi!r�h�l p t r�i�v*l i"g p e$p6d"r�hMh!lMh!l f+e(f�{'f�dMi�p�n m p k!f�k�c o!w�t�y[t , e(c�_ e(p6d�p�`+l�d"f'm�`Up�g nTf e0d�c�i�d�r o�o p�`Up f+e(f�{'f�d�i"p�n6m p�b f�g�vZa t p�b , �!m t `f�c vOp�g i!d"p x g]v s0t .

½Tp�`,r `�l t e(p�d�r3hOh!l�h�l fSe(f�{'f�dMi�p�n6m p _�e(c�h w {Sf y~t , o g p h w {*l l c�e8c�m�p fSm t p�g o g p k�fSk�c o!w�t l o c t r�k"p _"e8c�h!c�i"g n o c�q , k�g p�g�d"f�m�`p�g n6f o g]vOd!a�`�f*d"f�b o c t r�k�f'b , c�g c�e(c!m�f�b v*p�h�c�q t `�p�g _�e(c�h w {'fZg b . |

m�k�g p h�f�g�`c�_!d�i�m�p o e(c�d!f'm t p f x p)d o c!n `�f�m e(p6d�r3hOh�l*h!p vZp6g nT`Xg b _Oe(c�h w {�f*g b . �~g _"e$c�h w {'f�g�b o e(c�d"f�m t p f'm t p�g k�g p x c�d!f�`�g�v sGt o fXi!f'u s0t , o f `�c eGg c z d!j�n g o c o�w i!fSu�c�b t p f'm t p�g 16 �$l x g�r , a�n6c t p x c�d!r `Xl t fSe(f�{Sf�d�i�p�n6m�p nTf e(c�h�_ o!w n�p . �Tp o fVi w u�l 8 j 32 �Gl x m y[t , f'm t p�g f�e$m�nTl"b z d�j�n)g o p i�g p o f�d�g�v w b e(f*d�g e0` s nTf�g b , p�h�h�r _"e8c�h!f'm e$c t `�p�g nTf p�v�d�m��!f�g p . Ú-f y d�l�`+g�vZr c�g _�e(c�h w {�f�g b o e(c�d"f'm t p fSm t p�g fSe0g�vOp�h!_Me0`,a o f t fSb j o l , t p i�f o m }*c�_ t o f�d"g]v s b j eBh�j�d y b `+l t h w {*l , t p _�h�c�e8c�g c�q t `,p�g nTf hardware j software vZp�g t p e(f�d�g w+z c3_ t p�v�f�d"p�m c�_�b j v*g t l�`+j"b _�e$c�k�g p�n `c�h"j!b p)d"g u o c�q�b .

Ã`+l t

e0d�r�{*l , c�g _"e8c�h w {Sf�g b f'm t p�g o l fSeGg]v*p�h"_�e0`,a o f t f�b , i�f o m }Zc�_ t eBh�j�d y b `�l t h w {�l vOp�g _Mh�c�e8c�g c�q t `�p�g n4f hardware. ^�_�`Ua `�c _Oe(c�n6q t c�h�c `�l!b e$p6d"r�h�h�l*h�l�b f+e(f'{�f�dOi!p�n6m�p�b _�e$c�h w {'f y~t , p t p xBw d!f*`�p�g fSe(m�n)l!b y b e(p�vOf*`Up6d�g n o!w�t c�b e$p6d"p�h�h!lMh!g n o a�b (packet parallelism).

Ã`�c�_"b f+e�fS{�f�dOi!p�nB` w b MAX MMX vZp6g VIS, c�g _Oe(c�h w {'f�g b f'm t p�g p�v w d!p�g c�g , p�h�h�r l g k w p `�l!b

e(p�d!r�hOh!l�h�l�b f�e(f'{Sf�d�i�p�n6m�p�b _�e8c�h w {�f y0t o e(c�d!fSm f�e(m�n l�b t p f x p�d o c�n `,f�m v*p�g n6f _�e(c�h w {�f�g b v�g t l!`+j"b _�e(c"k�g p�nT`�c�h!j!b .

�g p f�_�d w'y b i t�y nT`+j h!f�g `�c�_�dOi�g�vOj o c t r�k�p o e(c�d�fSm t p z3y d�g n `�fSm nTf o c t r�k�f'b e(p�d"r�hMh!l�h y[t _"e(cMh w {�f y[t , o f e(c�h�q o g�v�d"j fSeGg]�"r�d!_ t n6l n `,c _�h�g�vZa .

�g p e8p�d!r�k!f�g i o p , wSt p�b 64 �(l x m y[t p�u�d"c�g nB`�j!b p)vZf�d!p!m y[t n6f n _ o eBh"j�d y<o p `�c�_ k�q�c , o e(c�d�f�m t p z!y d�g n `�f�m n6f 4

p�u�d�c�g n ` w b p�v w d!p�g y0t _�e(c�h w {'f y~t ` y0t 16 �Gl x m y0t , o eBh�c�vZr�d"c t `Up�b o f�d�g�v s b `�c vOd!p�`�c�q o f t c nTf `\d"m]p nBl o f�m�p ` yGt 16 �$l x m y[t . � t p�b ` w `,c�g c�b f*g k�g vOa�b p�u�d�c3g nB`�j"b fSe0g�`+d w e(f*g t p f�vO`�fVh!fSnB`�c�q t , ` w n6n6f*d�g b e0d�c�n6u w n6f*g b ` y0t 16 �(l x m y0t j o g p p�eBh�j e0d!a�n�u�f�n l ` y[t 64 �0l x m y0t , nTf wSt p t p�eBh"a v�q�v�h�c d"c�h�c�i!g c�q `�c�_ f�e(f'{�f�dOi!p�n `+j . | fSe0g �!r6d"_ t n8l n4f vOa"n `�c�b fSm t p�g e$c�h�q o g�v�d!j , f x a!n6c t z d�l"n g o c�e$c�g c�q t `Up�g c�g m k�g c3g z f�g�d"g n ` w b k�f'k�c o!wSt"y0t , vZp�g n `�g�b k�_"c e(f�d�g e0` s n6f�g b . � t p�b o g�vOd!c�fSe(f�{'fZd�i�p�n `+j!b superscalar o f k3_�c ALU, o e8c�d!f�m t p _Oe(c�n `\l�d"m�{'f�g 8 e$p6d"r�hOh�lOh!f�b h�fZg]`�c�_�dMi�m�f�b o f o a t c w+t p f'{�r�u�_�d"c p�d z fSm]c vOp�`p z!y d�l!` s0t , e(p�d"r o ’ w+t p 24- u�_!d!c p)d z f�m�c v�p�`�p z3y d"l�` s0t , `c c�e$c�m�c u!p p�e$p�g]`�c�q t `Up t p t z d�l�n g o c�e$c�g c�q t `�p t 8 p t f�{�r�d�`\l�`�f'b p t f�{'r�d�`Xl�`�f'b o c t r�k�f'b ` y0t 16 ��l x m y0t . ^(_�`�a x p t f*d s0t f�g , a�`�g l c�d�i!r t"y n l i�g p e(p6d�r3hOh�lOh�l"b fSe(f�{Sf�d�i�p�n�m�p�b _�e$c�h w {'f y~t , f'm t p�g f�e(g u�_ o l�`�j i3g p fSe(f�{'fZd�i�p�n ` w b e(c�h!_ o!w n y0t f*g k�g�v�c3q n v*c�e8c�q , p3hOh"r vOp�g i�g p fSe(f�{Sf�d�i�p�n ` w b i�f t g�vZc3q n vZc�e(c�q , c�g c"e(c"m�c3g k�g p�u w `�c�_ t j"k�l z f*g�d�g nB` w b k�f�k!c o!w+t"y0t o f e0d�c�n6p t p6`�c�h!g n o a h w {�l"b (word - oriented).

��g eGg c n6_ z�t!w b h!f�g�`�c�_!dMi�m�f�b n6f e$c�h�q n l o p t `Xg�vZc�q!b _"e8c�h!cMi�g n o c�q�b i!g p f�g�vOa t p vZp�g ��m t `�f�c

f'm t p�g r�u�d!c�g nBl vOp�g p x p�m�d"f'n)l p6v*f*d!p�m y0t , a�e y b v'p�g i�g p `+l t e(f*d"m�e0` y n)l _�e(c�h�c�i!g n o!s0t i!f t g�vZc�q nTvOc�e(c�q . | k�g p x c�d"r f�m t p�g a�`Xg l p6vMd!m��!f�g�p e(c�_ p�e$p6g�`�fSm�`�p�g fSm t p�g n6_ z�t r o g�v�d�a�`�f*d�l 16 j p�vZa o l o a t c 8 �Gl x m p . �Û`,n)g , l e�p�d�r3hOh�lMh!l e0d�a�n�u�f�nBl _"e(cMh w {�f y~t vOp�g l e(p�d�r3hOh�l�h"l p x p�m�d!f'n l _�e$c�h w {'f y~t f�m t p�g c�g e0d s `�f�b k�_�c f t `�c�h w b e(c�_ e~d�c!n `�m u�f t `,p�g n6f w+t p t 32 �$l x m y0t l 64 �$l x m y0t fSe(f�{Sf�d�i�p�n `+j i!f t g�vZc�q nTvOc�e(c�q i�g p fSeGg�`�r z _ t n8l `\l!b f+e0fS{�f*dMi!p�nTm�p�b e(c�h!_ o!w n y0t .

Ãl o p t `Xg�vOj k�g p x c�d�r nB`Xg b f t `�c�h w b o f�`,p�{�q ` y0t p6d z g�`�f�vO`�c t g]v s0t c o r�k�p�b f t `�c�h s0t (ISA)

��d!m n vOf*`�p�g n `c i!fVi�c t a�b z f�g�d!g n o c�q ` y[t _�e(f*d z f�g h�m n6f y~t . ÜNa�i y `�c�_ o g�vMd!a�`�f�d!c�_ p�d�g u o c�q �$l x m y0t n4f o g p _"e(cMh w {*l , _�e0f�d z f*g h"m�nTf�g b o e(c�d!f+m t p n6_ o �3p�m t c�_ t n _ z"t a�`�f*d"p . � x a"n6c t e(c�h*h w b _�e(f�d z f*g h"m nTf�g b o e(c�d!f�m t p n6_ o �3c�q t n6f o g p p�e h3j f t `�c�h!j e0d�a�n�u�f�nTl"b j p x p!m�d�f�n l!b o f e(p�d!r�hOh!l�h�l f�e(f'{�f�d�i�p�n�m�p _�e(c�h w {�f y~t , o l p�e8c�`�fVh�f�n o p�`�g�v�j p t `�g o f�` s eGg n l r)d!`Xg y0t o l vZp t c t g�v s0t _�e(f�d z f*g h"m nTf yGt o e�c�d�fSm t p fXh!p�`\` s n6f�g vZr�u�f v w d!k�c�b f�v�` w h"f'n l!b p�e(a `Xl t f x p�d o c�i�j e(p�d�r�hOh�l�h"l!b f*vM` w h!fSnBl"b _�e(c�h w {Sf y~t .

Ãf p�d�g u o l�`�g�v�j o c t r�k!p , l _�e(f�d z f'm h�g n8l p�i t c�fSm�`�p�g vOp�g `�c p�e8c�` w h!f�n o p h!p o ��r t f�`,p�g nTf o c�d x j modulo 2n i�g p _Me(c�h w {'f�g b n �$l x m y[t .

�g p e(p)d�r�k�f*g i o p , i�g p 8- �$l x m y0t _"e$c�h w {Sf�g b , c

p�d�g u o a!b (255+1) mod 256 fSm t p�g 0. (0_�`a fSm t p)g `Uc fSe0g u�_ o l�`�a p�e(c�` w h!f'n o p a�`�p t _Oh!c�e(c�g c�q o f p�d�g u o l!`Xg]vMj k!f�m�v�`+l i!g p w�t p t vO_�v'h�g�vZa p�e(c o c t"y `+j ` y~t 256 n `c�g z fSm y0t ). | n6_ t r6d�`+l�n l modulo, nT`+l C _"e(c t c�f�m e0d"a�n�u�f'n)l vOp�g p x p�m�d!f�nBl p6v*f*d!p�m y0t .

Page 13: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

10

Ãf p)d!g u o l�`Xg�v�j o f e0d!c�n�p t p6`�c�h!g n o a f�g�vZc t c"n `c�g z f+m y[t (pixels), a�e$c�_ c�g `+g o3w b

e(p�d!g n `r t c�_ t w+t p f�q�d"c�b z d s<o p�`�c!b , o g p ` w `�c�g p p)d"g u o l�`Xg�vOj o c t r�k!p f�m t p�g o l f�e0g u�_ o l!`+j , p x c�q o g p o g�vOd�j p�h�h!p�i!j n `\l t wVt `p�n)l `�c�_ z d s�o p)`c�b o e(c�d"f�m t p e0d�c�v*p�h!fSm o g p o f+i"r�h!l p�h�h�p3i!j n `�c `,fVh!g�vZa z d s�o p e . z . p�e(a h!f�_!vOa n4f o p�q�d!c . �Tk s fSm t p�g e0g c z d!j"n6g o l l p)d!g u o l�`Xg�v�j vZc�d!f�n o c�q , a"e$c�_ o g p u�f�`Xg]vMj _�e(fZd z f�m h�g n6l , e w d"p p�e$a `,c o fXi!p�h!q�`fZd!c p t p�e(p�d!g n `,r o f t c p6d�g u o a n �0l x m yGt , e0d�c�v*p�h�f�m `+l t `�f+h�g�vOj `+g o j `�c�_ p�e$c�`fVh w n o p6`�c�b t p fSm t p)g l o3w i!g n `+l k�_ t p6`+j .

Øp�d!a o c�g p o g p

p�d t l�`�g�v�j _�e(f�d z f'm h"g n6l vZr�` y p�e(a `´c o g�vOd"a�`�f�d�c p�d!g�u o a e(c�_ k3q t p6`�p�g t ’ p t p�e8p�d"p�n `�p�u!f�m n6f n �(l x m�p , e0d�c�vZp3h�fSm `fVh3g vOr `c p�e(c�` w h!f'n o p t p e(r6d"f�g `+l t o g�v�d�a�`�f�d�l k�_ t p�`+j `\g o j . �Tc p�e(c�` w h"f'n o p o e(c�d�fSm t p vZp�u�c�d�g n8`,f�m y b wSt p�b e0d�c�n6l o p�n o!w+t c�b j o l p�d�g u o a�b , e8p�d"r�i"c t `�p�b e0d�c�n6l o p!n o!wVt c�_ j o l v'c�d�f�n o c�q . Ý h"f'b c�g 3 p)d z g�`�f�vO`�c t g]v w b , MAX MMX vZp)g VIS _Oh"c�e�c�g c�q t p�d�g u o l�`Xg�vOj o c t r�k"p . ��g MAX MMX _Oh!c�e8c�g c�q t f�e(m n6l!b e-d�c!n l o p!n o3w�t c v'p�g o l v*c�d!f�n o a .

�g p `�g�b p)d z g�`�f�v�`c t g�v w b n6p t `\l t VIS,

e(c�_ k�f t w+z c3_ t p�d�g u o l!`Xg]v*j vOc�d!f+n o c�q , o l p t p o f t a o f t f'b _"e(f�d z f*g h�m�n4f�g b o e8c�d!fSm t p w+z c�_ t z f�g]d"a�`,f�d!fSb f�e0g e0` s n6f*g�b . �6e$m n l!b c r o fSn6c�b w h�fVi z c�b `Uc�_ h�c�i!g n o g]vZc�q vOp�g z f�g�d�g n o a�b ` y0t _�e(f�d z f*g h"m nTf yGt o e(c�d!fSm t p e0d�c�vZp3h w n6f�g _�e(c��!r�u o g n l `+l!b h�f�g�`c�_!d�i"m p�b , n6_Mi�v�d�g�`\g�v'r o f p�d z g�`�f�v�`,c t g�v w b e$c�_ p�_�`Ua o p�`�p z f*g�d"m }Zc t `p�g `+l t _�e(f�d z fSm h�g nTl o!w n y p6d�g u o l�`�g�v�j"b v�c�d!f�n o c�q . Þ

e(r)d z c3_ t e(c�h"q z d!j�n g o p e(p�d"r�i y i!p `Xl!b f t `�cMh�j�b e(p�d�r�h�h�l�h"l!b r�u�d�c3g n6l"b , fSe(p t p z d�l�n)g o c"e$c�g s0t `p�b `�c t k3g p z3y d�g n o!w�t c p�u�d�c�g n `\j `�c�_ n)_ o eBh�l!d s<o p�`,c�b y b e0d"c�b k�_�c .

�g p

e(p�d!r!k�f�g i o p , c o!w n�c�b a�d"c�b k�_�c p6d�g u o!sGt f'm t p�g `Uc r�u�d!c�g n o r `,c3_!b k�g p `�c�_ 2. ^(_�`�a fSm t p�g g nTc�k�q t p o c o f o g�p c�h"m nTu3l!n6l k�f�{�g�r vZp�`�r w+t p �Gl x m c , o f�`�r `+l t e0d"a�n4u�f+nBl . �Û`n6g `,c �Gl x m�c `+l!b _�e(f�d z f'm h�g nBl"b i�m t f�`,p�g o f*`�r `+l t c�h�m�n4u�l�n l `c e(g c n6l o p t `+g vOa �(l x m�c vOp�g f�e$c o!w+t"y b p�e$p�h�f�m x f�`�p�g `,c e0d!a���h"l o p `\l!b _"e(f�d z fSm h"g n l!b n6_ t k�_"r�}Zc t `p�b o g p p�eTh�j p)vZc�h�c�_�u�m p k�_"c h�f�g�`�c�_�d�i"g s0t n6f o g p p�eBh3j f t `Uc�h�j , f t"s e$p�d�r�h�h!l�h�p �!fVh�`\g s[t f�`�p�g l h!f�g]`�c�_�dOi!m�p .

� t p p6v'a o l e8p)d�r3i y i!c `Xl�b f t `c�h�j�b e(p�d�r3h*h!l�h�l!b r�u�d�c�g n6l!b f'm t p�g c�g f t `Uc�h w b e(p�d!r�hOh!l�h�l�b c�h�m�n�u�l�n l�b vOp�g e0d�a�n4u�f�nTl"b , c�g c�e8c"m�f'b c�h3g nTu"p�m t c�_ t w�t p p�e$a `�p c�d�m]n o p6`p vOp�`�r o f*d�g�v*r �$l x m�p e0d�g t `+l t r�u�d"c�g nBl `c�_ r�h�h�c�_ c�d�m�n o p6`�c!b . ^0_!` w b f'm t p�g e(c�h�q z d�j�n6g o f'b y b e(c�h�h�p�eBh"p�n g p�n o a�b p)vZf�d!p!m y[t vOp�g r�u�d�c�g n)l n `�c�g z fZg y k s[t .

��g f t `�c�h w b , PshL v'p�g PshR f�v�`�f+h"c�q t e(p6d�r3hOh�lOh!f�b c�h�g n�u�j�nTfZg b ` yGt _�e(c�h w {�f y-t , a�e8c3_ `�p

�(l x m�p f�{ w d z c t `p�g p"e0a o g p _�e8c�h w {�l p3hOh!r k�f t fZg n6r�i�c t `�p�g n `�l k�g eBh"p t j _"e(cMh w {�l . �BvO`�fVh!c�q t c�h�g n4u�j"n4f�g b n �$l x m y0t , v'p�g o e(c�d�c�q t f�e(m n6l!b t p z d�l!n6g o c�e8c�g�l�u�c�q t i!g p `,c t e(c�h�h�p�eBh"p!n g p�n o a _�e$c�h w {'f y~t o f u�f*`+g�v w b j p�d t l�`Xg�v w b k�_ t r o f�g b `�c�_ 2. � x a�n�c t p�_�` w b c�g f t `c�h w b _Mh�c�e$c�g c�q t `�p�g o ’ wSt p t c�h�g n6u�l!`+j , k�f i�m t f�`�p�g w h"f+i z c�b i"g p _"e(f�d z f'm h�g n6l n4f Psh f t `,c�h w b .

��g e(p)d�p�e$r t!y f*g k�g]v w b f t `Uc�h w b wVz c�_ t fZg nTp z u�f'm nTf f+e0fS{�f*dMi!p�nB` w b i!f t g]v'c�q nBv*c"e(c�q , a�e y b

c�g MMX, ix86, PA-RISC v*p�g MAX-2, vOp�g p�e8c�`�fXh!c�q t c�g]v'c t c o g]vMj _Mh�c�e$c!m�l�nTl o g p�b o c�d x j�b SIMD. Ã`+l t e8p)d�c�q�nTp f*dMi!p!nTm p , z d�l�n g o c�e8c3g f�m�`,p�g l wVt�t c�g p `+l�b e(p6d"r�h�h!lMh!l"b f�e(f�{'f�d�i"p�n6m�p�b _�e(c�h w {'f y~t ,

n4f f*g k�g�v w b f t `,c�h w b , i"g p `+l t _Oh!c�e(c�m�l"n6l f t a�b i�f t f�`+g]v'c�q p3hOi�a�d�g u o c�_ n6f _Mh!g�vOa .

1.4 ß8Ö�Î��8Î~Óºà$¿6à ÐTÑ�Ò Ï�É?Ò$É4Ð8Ó¦Ô$ÑáÒ �(Ö0Ï3Î�ËBÓ¦×áÍ-Ñ<Ò ¿ É ßBÖ0ÓºÔ$Î � O. Kitaura vZp�g c�g n)_ t f�dOi"r�`�f'b `�c�_ [3], e0d!a�`�f�g t p t o g p p�d z g]`Uf*v�`�c t g�vOj i"g p `+l t _Oh"c"e$c�m�l�n l n4f FPGA f t a�b `+d!c�e8c�e$c�g�l o3w�t c�_ i!f t f*`+g�vZc3q p3hOi!a�d"g u o c�_ n6f n z3w n)l o f `�c t p�eBh"a i!f t f*`+g]v'a `c�_ Goldberg, o f n v�c�e(a `�l t p�e$c x _Oi�j v'r�e$c�g y[t v'p�u�_"n `�f*d�j�n6f y0t h�a�i y z d�j�n l!b `Xl�b `�f z"t g�vOj!b k�g c z3w `f�_!n6l"b (pipeline).

| e0d s `\l vOp!u�_�n ` w d�l"n6l e$c�_ p t p�g�d!fSm�`�p�g f�q�v*c�h�p , fSm t p�g f*v*f'm t l e(c�_ e0d!c�vOqOe0`�f�g p�e(a `Uc

i�f\i�c t a!b a�`+g i3g p `Xl o f*`�r��!p�n)l nT`+l t"w p i�f t g r z d"f�g r�}'fZ`,p)g t p _�e(c�h!c�i�g n `�c�q t a�h"p `Up t"w p o!w h�l , o f p�e(c�` w h�f�n o p `\l t p t p o c t j o�wXz d�g `Xl t w {'c�k�c `�c�_ `,fVh!f*_�`p�m�c3_ o!w h!c�_!b p"e(a `�c pipeline. |

Page 14: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

11

e(p�d!p"e(r t�y vOp�u�_�nT` w d�l�n l p!m�d!f�`�p�g p�e$a `+l z d!j"n l `c�_ `+d!c�e(c�e(c�g�l o�wXt c�_ i!f t f*`+g�vZc3q p�h�i"a�d"g u o c�_ p t `�m `c�_ p�eBh!c�q i!f t f�`\g�v*c�q . � p3hOi"a�d!g u o c�b p�_�`Ua!b , c t c o r�}Zf�`�p�g SSGA (Steady State Genetic Algorithm) v�p�g k�f t wVz f*g i!f t g w b p�h�h�r p t `�g�v*p�u�g n `,r vZr�e(c�g c e$p�h!g a o!w h�c�b o f `�c v*p�g t c3q!d�i�g c e$c�_ k�l o g c�_�dMi�f�m�`p�g vOr�u�f x c�d�r . | k�f*q�`�f*d�l vZp�u�_�nB` w d�l�nBl c x f�m h!f*`�p�g nB`+l t p t r3i"v�l _�h"c"e(c"m�l"n6l!b nTf _Oh�g�v�a , f t a�b ��d�a z c�_ i"g p i3d"p o�o g]vOj p t p�}*j�`Xl�n l (loop) vOp�g f�v�` w h"f'n l `Uc�_ `+d!a�e(c�_ f�eGg h�c�i"j!b roulette wheel. � `+d!a�e(c�b p�e(c x _Oi�j�b `\l"b vOp�u�_�nB` w d�l�nBl"b n `�l t fSe0g h�c�i!j , o�wXz d�g `�f*d o p�`Xg n o c3q `�c�_ ��d�a z c�_ , w i�v�f�g�`�p�g vZp)`p�d z j t n `c t e(f�d!g c�d!g n o a `c�_ z�s d�c3_ p t p�}Mj!`+l"n6l!b , e0d s `�p o f k�_"p�k�g�vMj p t p�}�j�`+l�nBl , v�p�g vZp�`�a"e0g t n `+l t _Oh"c"e$c�m�l�n l i�d�p o�o g�vMj�b p t p�}Mj!`+l"n l�b n `�c t e(f*d�g c�d�g n o�w+t c z!s d�c .

Ã`Xl t e0d!r�{�l z d�l"n g o c�e$c�g c�q t `Up�g k�_�c n6_ t k3_�p�nB`Xg�v w b o c t r�k�f'b i�g p vOr�u�f `�d!a�e$c p t p�}*j�`+l�n l!b , c3g c�e$c�m�f'b

n6_ t k w c t `Up�g o f�`�p�{*q `c�_�b . �Û`,n)g l z d!j"n l `�c�_ _Oh�g�vZc�q p�_!{�r t f�`�p�g , a o�y b k�f t f'm t p�g v*p�u"c�d�g n o!w�t c `�c o!w i!f�u!c�b `�c�_ hardware e(c�_ e0d w e(f�g t p z d�l"n6g o c�e(c�g l!u!f�m vZr�u�f x c�d!r , p�hMh�r f�{�p�d�`r6`�p�g p�e$a `Xl t v y k�g�vOc�e(c�m�l�n)l ` yGt e8p)d�p o!w `+d y~t `�c�_ f�v'r�n `c�`�f e0d"c��"h"j o p6`�c!b vZp�g `Uc�_ `Xd!a�e(c�_ n)_ t k�_"p�n o c�q `+l!b k�_"p�k�g�vMj�b vZp�g i!d!p o�o g�vOj!b p t p�}Oj�`�l"n l�b i!g p `+l n z f'k�m p�nBl `c�_ p t `�m n `c�g z c�_ _Oh�g�vOc�q .

�4p e0d!c��"h"j o p6`Up e0c�_ fSeGg h!q�c t `Up�g o f `+l t _�h�c�e(c"m�l"n6l `�c�_ SSGA f�m t p�g `�c e0d!a���h�l o p

f*q�d!fSnBl"b o fVi�m�n `,c3_ `\l"b n)_ t r�d�`+l�n l!b f(x)=|-(x-a)2+b|, l c�e(c�m�p p�e8c�`Uf+h!f�m `\l n6_ t r6d�`�l"n l v�p�`�p�h�h!lMh!a�`Xl!`�p�b `c�_ e0d�c���h�j o p6`�c!b vOp�g `´c e0d!a3��h!l o p Knapsack. | p�d z g]`�f�v�`�c t g�vOj `�l!b o l z p t j!b H3, a�e y b c t c o r�n `+l!v*f , _Mh!c�e(c�g j!u�l�v*f nTf FPGA ATT2C40(43K gates), vZp�g l n6_ z"t a�`+l�`p h�fZg]`�c�_�dMi�m�p�b `c�_ d�c�h�c�i�g c�q 33

�| z, k�f t j�`�p t k�_ t p)`a t p f�e(g�`�f�_ z u�f'm i"g p `,c k�f�q!`�f�d�c e0d�a���h�l o p ,

k�g a�`�g k�f t _�e0j�d z f k�g p!u w n6g o c�b z!s d!c!b n `�c FPGA i!g p `+l f�g n�p�i y i"j ` y[t vOp�`�p z"y d�l�` s0t k�g c z3w `f�_!n6l"b . � z d!a t c!b f�q�d!f'n l"b `�c�_ o fXi!m nB`�c�_ `\l"b n)_ t r6d�`�l!n)l�b , _Oe(c�h�c�i�m�}�f*`�p6g n `p 30,3ns, f t�s c z d�a t c�b f�e$m h"_"nTl"b `�c�_ e0d"c���h�j o p�`�c�b knapsack ��d w u�l�v�f 121,2ns, i"g p `+l t o l z p t j | 3 o f `�c d�c�h"a�g `,c3_ FPGA t p h�f�g�`c�_�d�i�f�m nT`�p 8,25

�| z. � z d!a t c�b f+e(m h!_"n6l!b ` y0t e0d"c���h"l o r�` y0t n `�c

software, o f `�c t p�eBh!a i!f t f*`+g�v*a p�h�i�a�d"g�u o c e0d!c�vOq�eG`,fZg 250 vZp�g 730 x c�d w b o f+i"p�h�q!`�f�d�c�b , f t"s o f `,c t p�h�i�a�d"g�u o c SSGA e0d�c�vOq�e0`�f�g 220 vZp�g 470 o fXi!p�h!q�`�f*d"c�b , p�e(a `c t z d"a t c f�e8m h"_!n6l!b n `+l t hardware _Mh�c�e$c�m�l"n l , i!g p `c e0d s `Uc vZp�g k�f�q�`f�d!c e0d�a��"h�l o p p t `�m nB`�c�g z p .

��g Tu Lei Zhu Ming- cheng vOp�g Wang Jing-xia, _Oh"c"e(c�m�l!n�p t w�t p i!f t f*`+g�v*a p�h�i"a�d"g u o c nTf FPGA, o f n vZc�e8a t p f'm t p�g k�_ t p�`�j l f x p6d o c�i�j `Uc�_ n `\l o fVh w `+l vOp�g _Oh!c�e0c"m�l!n)l `�c�_ f�{'fVh�m�{*g o c�_ _Oh�g�v�c3q (evolvable hardware/ EHW).

Ã`\l k�l o c�n4m f�_�n j `�c�_"b [6], e(f�d�g i�d"r x f�`�p�g l n _ t c�h!g�vMj

p�d z g�`�f�v�`,c t g�vMj i�g p `�c o c t ` w h!c `�c�_ i!f t f*`+g�vOc�q p�h�i"a�d"g u o c3_ , v*p�g n `�c ` w h!c!b e(p)d�p�`�m�u!f t `�p�g p�e(c�`,fVh w n o p�`p n q t u!f�n6l!b v*p�g `�p z q�`�l�`�p�b f�e(f'{Sf�d�i�p�n�m�p�b f t"s e(p�d�r�h�h�l�h�p f'{�lOi!f�m�`�p�g w+t p�b `+d!a�e8c�b z d�j"n l�b `,c3_ _�h"g]v'c�q n6f EHW. Ý n6c t p x c�d�r `,c n z f�k�g p�n o a , e8p�d!p�`+l�d!fSm�`�p�g a�`�g z d�l�nBg o c�e(c�g�fSm�`�p�g _Oh�g�vZa o l z p t j!b v�p�`�p�nB`r�n6f y0t v'p�g k�g c z!w `�f�_�n l o f�`�p�{�q ` y0t k�g p x a�d y0t o c t r�k y0t e(c�_ f�e(g�vOc�g t"y0t c�q t o f�`,p�{�q `c�_�b , c�g c"e$c�m�f'b o e$c�d�c�q t t p ��d"m nBv'c t `�p�g n6f vOp�`,r�n `�p�nTl f t fZd�i�a j p!k�d!p t j , (active/sleeping state). | o c t r�k"p f�e(f'{�f�d�i"p�n6m�p�b p�e(c�`�fVh�f�m�`Up�g p"e(a e w+t `Uf r�h�h�f�b , `+l o c t r�k�p i�f t g r�b , f�e0g h�c�i!j"b , k�g p�n `,p�q�d y n l"b , o f*`�r�hMh�p�{�l!b vZp�g e(p)d�p�i y i�j�b `�_ z p�m y0t p�d!g u o!s0t . | o c t r!k�p fVh w i z c�_ , fSm t p�g o g p o l z p t j fVh w i z c�_ vOp�`p�nT`Ur�n6f y0t , l c�e(c�m�p e(p6d�r�i"f*g 5 n6j o p6`Up f+h w i z c�_ f�{�a!k�c�_ , i�g p `+l t f t f�d�i�c�e$c!m�l�n l ` y0t vOp�`r3hOh�lOh y0t vOr�u�f x c�d"r o c t r�k y0t , vOp�g k w+z f�`�p6g 4 n6j o p�`�p p�e(a `+l t o c t r�k�p fSe(f�{Sf�d�i�p�n6m�p�b i�g p `�c t w h�fVi z c p�vOc�h�c�_�u�m p�b `\l!b o l z p t j"b vZp�`�p�nB`�r!n6f y0t . �6e8m�n l"b l p�d z g�`�f�v�`�c t g�v�j k�g p�u w `�f�g k�g f�eGg x r t f�g p f�g nTa"k�c�_ / f'{�a!k�c�_ , v�p�g h!p o �"r t f*g 3 nTj o p�`p f�{ y `�f*d�g�vOr i3g p w h�f\i z c `Uc�_ n6_!n `�j o p�`�c�b , `�p run i�g p f*v�v'm t l�n)l , reset vOp�g clk.

Ã`+l i!f tMt j�`�d�g p e(p�d�p�i y i�j!b `�_ z p�m y0t p6d�g u o!s0t , z d�l�n g o c�e(c�g�j�u�l"vOp t LFSR.

Ã`+l o c t r!k�p

fSe0g h!c�i!j"b f x p�d o a�n `+l!vOf c `+q"e$c!b roulette wheel, n)`\l o c t r�k"p k�g p�nT`�p�q�d y nTl!b c `+qOe0c!b Single Point Crossover, f t!s l o f�`�r�h�h�p�{�l i!g t a�`p t n6f `+_ z p�m c �$l x m�c o f eGg u!p t a�`�l�`,p (1/512). | o c t r�k!p i�f t g r�b z d�l"n6g o c�e(c�g f'm�`Up6g i!g p p�d z g�vOc"e(c"m�l!n6l `�c�_ eBh!l"u�_"n o c�q vZp�g _�e(c�h�c�i!g n o a a�h y0t ` yGt fitness, v�p�g n `\l t e(c�d!fSm�p o f k�g p x c�d"f*`+g�v*a `+d�a�e$c y b o c t r�k!p p�e$c�u�j�vZf�_�n l"b ` y0t t"w'y[t p�`�a o!y0t e(c�_ e0d�c�vMq�e0`Uc�_ t o f�`�r `\l k�g p�n `p�q�d y n l vOp�g o f�`�r�hOh�p�{�l . � _�e$c�h�c�i!g n o a�b `�l!b nT_ t r�d!`Xl!n6l!b v�p�`�p�h�h!lMh!a�`Xl!`�p�b , w d z f�`�p�g p�e$a o g p f'{ y `�f�d�g�v�j o c t r�k!p (fitness evaluation model), l c�e(c�m p p t `+g h"p o ��r t f�`,p�g `+l n6_ t r)d!`+l"nTl f t a�b FPGA vZp�g h!p o �!r t f�g _�e(a��Gl f'{ y `�f*d�g]v w b e(p�d!p o!w `+d!c�_!b . �6c FPGA, o f `�l n6f�g�d!r `�c�_ wXz f�g e0d"c�i!d!p o�o p6`Xg n `�f'm p�e$a `�p r�`�c o p `Uc�_ eBh�l�u�_�n o c�q `�c�_ i�f t f�`+g]v'c�q

Page 15: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

12

p�h�i!a�d"g u o c�_ , `�p c�e8c�m�p e(f*d�g wXz c�_ t `Uc�_!b v s k�g�vOfSb k�g p o a�d xTy n)l!b (configuration codes) `+l!b h�c�i!g�v�j"b n6_ t r6d�`+l�n l"b `c�_ FPGA. �4p e(f�g�d�p o p)`�g�vOr p�e�c�`�f+h w n o p�`Up , w k�f�g {'p t a�`�g `�c FPGA `�c�_ i!f t f*`+g�vZc3q p�h�i�a�d�g u o c�_ w `\d"f�{'f 1000 i"f t f w b n6f 0,15sec o f n6_ z�t a�`Xl�`�p d�c�h!c�i�g c�q 20MHz, vZp6g j�`p t 1000 x c�d w b eGg c i3d�j�i�c�d�c�b p�e(a `+l t _�h�c�e8c�m�l�nBl nTf WS ` y0t 200MHz.

Ã`+l t f*d�i"p�n�m�p [4], c G. Koonar vZp�g c�g n _ t f�dOi!r�`�f�b `c�_ , e0d"c�`�f�m t c�_ t o g p p�d z g�`�f*vM`�c t g]vOj i�g p

`\l t _�h�c�e(c"m�l"nTl ` y0t i�f t f�`+g�v s0t p�h�i�a�d"g u o!y0t , v*p�g `\l t f x p�d o c�i�j `�c�_!b n `�c e0d�a���h�l o p `c�_ v�_�v�h y�o p�`+g�v*c�q k�g p o f�d�g n o c�q (circuit partitioning) i!g p `�c t p6_�`a o p�`,c x _�n g v�a n z f�k�g p�n o a VLSI.

| p�d z g]`Uf*v�`�c t g�v�j f x p6d o a"}*f*g w�t p n)_ t k�_"p�n o a k�g c z!w `�f�_�n l"b vZp�g e$p6d"p�h�h!lMh!g n o c�q , i�g p `+l t

p�e(a�vO`�l"n l `Up z q�`+l�`�p�b wXt p t `+g �. ^ . e(c�_ �3p�n6m }Zc t `p�g nB`Uc software. | o c t r�k!p z d"l"n g o c�e(c�g fSm 6

_�e$c o c t r�k!f�b vOp�g `�d!f�g b f'{ y `�f�d!g�v w b o�t j o f'b . ^0_�` w b f�m t p�g l v*q�d"g p o c t r�k"p fVh w i z c�_ , l o c t r�k!p fSe0g h!c�i!j"b , l o c t r�k�p k�g p�n `�p�q�d y n l!b v�p�g o f*`�r�h�h�p�{�l�b , l o c t r�k�p vZp�`�p�hMh!lMh!a�`Xl�`,p�b (fitness), l o c t r�k"p ` y0t vOp�`p z!y d�l!` s0t f\h w i z c�_ , vOp�g c e(c�h�_OeBh w vO`+l!b o�t j o l"b . �~g f�{ y `�f*d�g�v w b o"t j o f�b f�m t p�g l o�t j o l vZp)`,p�hMh!l�h"a�`+l�`p�b , z d y�o c!n y�o r)` y0t v'p�g o�t j o l `c�_ netlist. �~g v*p�`�p z!y d�l�` w b f+h w i z c�_ , z d�l"n g o c�e$c�g c�q t `Up�g i�g p `\l t fZ_�fVh�g {Sm�p y b e0d!c!b `Uc t vZp�u�c�d�g n o a `c�_ o j�v�c3_!b ` y0t z d y�o c�n y�o r)` y[t , `,c�_ p�d�g u o c�q ` y0t nets, `c�_ o f+i w u"c�_"b `�c�_ eBh"l!u�_"n o c�q , `Xl�b p�e(p6d�m�u o l!n)l!b ` y0t i�f t f s0t i!g p `Uc t `,f�d o p6`+g n o a , v'p�g ` w h!c!b ` y[t e0g u�p t c�`+j!` y0t k�g p�nB`Up�q�d y n l!b vZp�g o f�`�r�hMh�p�{�l!b i!g p vOr!u�f e0d�a���h�l o p . � `\q�e$c�b fSe0g h"c�i!j!b e$c�_ z d�l�n g o c�e8c�g f'm�`Up�g p�e(a `+l t p t `Um n8`c�g z l o c t r!k�p f�m t p�g c tournament, f t"s v�p�`�r `\l k�g p�nT`�p�q�d y nBl f x p�d o a�}*f�`�p�g c `�q�e8c�b uniform crossover. � x a�n4c t w+t p�b `+_ z p�m�p e(p�d!p�i�a o f t c�b p6d"g�u o a�b 8 �Gl x m y0t f'm t p�g o g v�d"a�`,f�d"c!b p�e$a `�c t d�_"u o a k�g p�n `�p�q!d y nBl"b v*p�g o f*`�r�h�h!p�{*l"b , c3g h!f�g�`c�_!dMi�m�f�b p�_!` w b f*v�`�f+h"c�q t `�p�g .

Ã`�l n6_ t�w+z f�g p , o f `+l t e8p)d�p3i y i�j f t a�b t!w c�_

eBh3l"u�_�n o c�q , l o c t r�k!p vOp�`p�h�h�lMh�a�`\l�`p�b e(p6d"r�i�f�g `+g b `+g o!w b vOp�`�p�hMh3lMh�a�`Xl�`p�b k3g p��3r�}'c t `,p�b h w {*l e0d�c�b h w {*l p�e$a `+g b o�t j o f�b z d y<o c�n yáo r6` y0t v'p�g v*c o ��g�vOc�q v*p�`,p�h"a�i!c�_ (netlist).

Ã_�i!vOf�vOd�g o3wXt p

v�p�u�c�d�m�}'f*`�p�g i"g p vZr�u�f z d y�o a"n y�o p ( v�q!v�h y<o p ) p t k�l o g c�_�dMi�f�m�`p�g p�e(a p�_!`�a k�g p�vZc�eGj (cut) n `+l k�g p�n q t k�f'n)l ` y0t n `c�g z f+m y[t `c�_ vO_�v�h s~o p�`c�b h�a�i y v*p6vZc3q vO_�v�h y�o p�`�g�vZc�q k�g p o f�d�g n o c�q ` y0t nT`�c�g z f'm y0t `�c�_ vO_�v�h s~o p�`c�b , c�e8a�`�f k�f t k�g p��!r�}*c t `�p�g r�hOh!f�b h w {�f*g b p�e(a `+l o�t j o l . � w h�c�b , l o c t r�k"p fVh w i z c�_ p�e(c�`�fVh�f�m o g p o l z p t j v'p6`�p�nT`�r�n6f y0t .

| e0d!c�`�f*g t a o f t l p�d z g�`�f�v�`,c t g�vOj i!d!r x `+l�vZf nTf VHDL vOp�g f�e$p�h3l�u�f*q�`�l�v*f o f e0d�c�n�c o c"m y n l

`\l"b h!f�g�`�c�_�dOi"m�p�b `+l!b nB`c Modelsim. | n)q t u!f�n l e0d"p�i o p�`�c�e$c�g]j�u�l!vOf n4f Virtex part xcv50e `+l!b Xilinx ISE 4.1. � f+e�fS{*f�dMi�p�n8`\j"b

�. . f�e0g�`�_�i z r t f�g 100 x c�d w b �3fVh!`�m y n l `+l!b `p z q�`+l!`Up�b

fSe(f�{Sf�d�i�p�n6m�p�b n6f n)q�i!v�d!g n)l o f o g p _Mh�c�e(c!m�l"n6l h�c�i!g n o g]v*c�q . � Shin ’ichi Wakabayashi vZp�g c3g n)_ t f�d�i�r6`�fSb `�c�_ [13], e(p�d�c3_�n6m p�n�p t `c GAA chip (Genetic Algorithm Accelerator), o g�p LSI _�h"c"e(c�m�l�n l f t a�b i"f t f�`+g�vZc�q p�h�i�a�d"g�u o c3_ . | vZp�g t c�`c o m�p `,c�_ n6f n z!w n)l o f r�h*h!c�_!b f�d"f*_ t l!` w b , j�`�p t l _Oe(c�n `�j�d�g {*l k�_!c `Xq"e y0t k�g p�nT`�p�q�d y n6l!b l k�_ t p o g�vMj fSe0g h!c�i!j `c�_ `Xq�e$c�_ i!g p vOr!u�f }'f�q�i�c�b z d y�o c!n y<o r�` y-t n `�l t f�v�` w h"f'n l `c�_ p�hMi�a�d�g u o c�_ .

��g `+q�e$c�g k�g p!nB`Up�q�d y n6l!b e8c�_ f�e0g h w i�c t `�p�g k�_ t p o g�vZr , fSm t p�g c�g doublepoint vOp�g uniform crossover, c�g c�e$c!m�c�g o e(c�d�c�q t t p f x p�d o c"n8`c�q t n f e(c�h�h�r e0d"c���h�j o p�`�p vOp�g wXz c�_ t k3g p x c�d�f�`+g�v w b g k�g a�`+l!`�f�b .

�g p `+l t fSe0g h�c�i"j `�c�_ `�q�e8c�_ k�g p�n `,p�q�d y nBl"b , z d�l�n6g o c�e$c�g�fSm�`�p�g o g�p e0d"c!n6p�d o a!n)g o l

nT`+d!p�`+l*i�g�vOj , l c�e(c!m p wXz f�g y b f'{�j�b . Ãf vZr�u�f z d yáo a�n y�o p `c�_ eBh�l�u�_�n o c�q p�e(c"k�m�k�f�`�p�g wVt p o�w `+d!c

f+h�g]`+g n o c�q , e(c�_ k�f+m z�t f*g e$a�n4c v'c t `�r fSm t p�g p�_!`Ua n `+l t f�e8m h�_�n l `�c�_ e0d!c3�"h!j o p6`Uc!b . Ã`�c t

_�e$c�h!cMi�g n o a `�c�_ o3w `�d!c3_ fVh"g]`+g n o c3q , _"e(f�g n w d z c t `p�g c�g e8p�d!r�i"c t `�f�b p�e8a x p�nTl!b p (0,25 j 0,5) v*p�g fSe0g�d�d"c�j"b � (0-1], vZp�u s b vOp�g w+t p o�w `+d"c fVh�g�`�g n o c�q ` y-t e0d"a�i"c t"y0t n6f 4 e0d"c�lOi"c�q o f t f�b i�f t g w b . �4c `�f+h�g]v'a o!w `+d"c i!g p `+l t fSeGg h�c�i�j `c�_ `�q�e$c�_ k�g p�n `p�q�d y nBl"b , _"e(cMh!c�i"m }Zf�`�p�g vO_�d�m y b p�e(a `Uc o�w `Xd!c f+h�g]`+g n o c�q vZp�g p t f'm t p�g o fVi�p�h"q�`�f�d�c j m�n4c p�e$a `,c vZp6` s-x h"g fVh!g�`�g n o c3q , e(p)d�r o f�`�d!c�b e(c�_ v�p�u�c�d�m�}'f*`�p�g p�e(a `Uc t z d�j"nT`+l , `�a�`�f `�p z d y�o c"n s�o p�`�p f'm t p�g p�d�v�f�`�r vOc t `Ur n `�l h�q�n l vZp�g c `�q�e8c�b k�g p�n `,p�q�d y n l"b e(c�_ f x p6d o a"}*f*`�p�g f�m t p�g c doublepoint crossover.

Ã`+l t p t `m�u�f�`+l e(f�d�m e0` y nBl ,

f x p�d o a�}�f*`�p�g uniform crossover.

Page 16: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

13

�4c GAA chip e(f*d�g h�p o �!r t f�g 8 o c t r�k�fSb , `+l t o c t r�k�p f�e0g h�c�i!j!b , _"e$c�h!c�i!g n o c�q o!w n6l!b `\g o j"b vZp)`p�h�h"l�h�a�`Xl!`�p�b , e(p6d�p3i y i!j"b `\_ z p!m y[t p�d�g u o3s0t , k�g fSeGg x r t fZg p�b o f `+l o"t j o l `�c�_ n6_!n `�j o p�`�c�b , k�g f�eGg x r t f*g p�b o f `+l t f'{ y `Uf*d�g�v�j o c t r!k�p _Oe(c�h�c�i!g n o c�q `�g o j!b v*p�`�p�hOh�lOh!a�`Xl!`�p�b vOp�g k�g�f+e0g x r t f�g p�b i!g p f+e0g�v*c�g t�y0t m�p n `c {Sf*vOm t l o p vZp�g n8`c ` w h�c�b `\l"b f�e(f'{Sf�d�i�p�n�m�p�b o f `�c t _�e$c�h!cMi�g n `+j , vOp�g `+l t o c t r�k"p fVh w i z c�_ , `Xl!b n6_ t c�h!g�v�j!b h�f�g�`c�_�dOi!m p�b `�c�_ c�h"c�v�h!l�d yáo�w+t c�_ . �){ y `�f�d�g�vOr e(f*d�g h!p o ��r t f*`�p�g l o�t j o l `�c�_ n _�n `+j o p)`c�b , l c�e(c!m�p e(f*d�g wVz f*g `p z d y�o c�n s�o p6`Up , `Xg b `\g o�w b v�p�`Up�hMh3l�h�a�`�l�`�r�b `�c�_!b , v*p�g eNh"l�d�c x c�d�m�f�b i!g p e0d!c�l�i�c�q o f t f�b i"f t g w b e$c�_ z d�l"nTg o c�e(c�g c�q t `�p�g nT`�c t _�e(c�h"c�i�g n o a `�c�_ o3w `+d!c�_ fXh�g�`+g n o c�q . ��e(m nTl"b , z r)d!g t i�f t g�v'a�`+l!`Up�b , l o c t r�k�p _�e8c�h"c�i"g n o c�q ` y~t `�g o!s0t v*p�`,p�hMh�lOh"a�`+l�`,p�b , f�m t p�g w+t p FPGA n6_ t k�fSk�f o!wSt c f'{ y `�f*d�g�vOr .

�4c c�h�c�vSh�l�d y<o!w+t c , n z f�k�g r�n `�l�vOf n6f Verilog HDL v�p�g e0d!c"nTc o c�g s u�l�v�f i!g p vZr�e(c�g�f'b n6_ t p)d!`Xj!n6f�g b .

Ãq o!xTy0t p o f `Xl t e0d"c"n6c o c!m y n l `Uc c�h"c�v�h�l!d y�o�w+t c w+z f�g o!w i�g nT`+l n6_ z"t a�`+l�`�p

d�c�h"c�i!g c�q 50 MHz, i�g p _Oh"c"e(c�m�l!n)l n `+l t `,f z!t c�h�c�i�m�p CMOS 0,5 o m. ��g Paul Graham vOp�g Brent Nelson [2], p t p�h�q�c�_ t `�g b h!f�g�`,c�_�dOi�g]v w b k�g p x c�d w b o f*`�p�{�q k�_!c

k�g p x c�d"f*`+g�v s0t `+d�a�e yGt f�e$m h"_!n6l"b `�c�_ e0d"c���h�j o p6`�c�b `�c�_ e y h�l�`�j e$c�_ `,p�{�g k�f�q�f�g , c�g c�e8c�m�c�g f�m t p�g l _Mh�c�e(c!m�l!n6l i�f t f�`+g]v'c�q p�hOi�a�d�g u o c�_ n6f _Mh!g�vZa v'p)g h!c�i�g n o g�v'a . | _Mh!c"e$c!m�l"n l n6f _Mh!g�vOa p�e(p�g�`�f'm 4 FPGA n ’ w�t p board `�c�_ Splash2 vOp�g `+d wXz f�g nT`�p 11MHz. | _Oh!c�e8c�m�l�n l `Uc�_ h"c�i!g n o g�v*c�q i�d!r x `+l�v*f n6f C++ vZp)g f�v�`�fXh w n `\l�vOf n ’ w+t p workstation HP PARISC ` y[t 125 MHz. � z d!a t c�b f*vM` w h!fSnBl"b n `�c h�c�i"g�n o g�vOa p�e$c!k�f+m z u�l!vOf , e$r t"y p�e(a 4 x c�d w b o f+i!p�h!q�`�f*d"c�b p�e(a `�c t p t `Um�n `,c3g z c z d"a t c f�v�` w h!f�n l�b nTf _�h"g�vZa . | k�g p x c�d!r p�_�`�j , p�e$c!k�m�k�f*`Up�g nTf z p)d�p)vO`+l�d"g n `�g�vOr `c�_ _Mh!g�v*c�q a�e y b , c w h�fVi z c!b v*p�h y k�g c o!w+t l"b h!c�i�g�vOj"b , l nT_ t j�u�l"b h!c�i!g�vMj e(p�d!p�i y i!j!b k�g f�_�u�q t n6f y~t , l p�e(c�`�fVh�f�n o p�`Xg]vMj g f�d�p�d z m�p o�t j o l"b , vZp�g l e(p�d"p�h�h!l�h�m�p fine v*p�g coarse grain.

| n _ t f�g n x c�d"r `�l!b o c t r�k"p�b fXh w i z c�_ v�p�h y k3g c o�w+t l!b h"c�i"g]v*j!b nT`+l t fSeGg�`r z _ t n)l `+l!b fSe(f�{Sf�d�i�p�n6m�p�b , w i�v�f�g�`p�g n `c i"f+i!c t a�b a�`+g `Uc n6q"nT`+l o p {�c�k!f�q"f�g h�m i"c�_"b j vZp t!wXt p t , vMq�vSh!c�_!b i"g�p `Uc t _�e$c�h!cMi�g n o a f t f*dMi s0t k�g f*_�u�q t n6f y~t k!f�k�c o3wXt!y[t , i�g p `\l t f�vO` w h!fSn8l k3g p�v'h"r�k y nTl!b , `Xl t p�e(c!u�j!v*f*_"n l v'p�g p t r�v�`+l�n l `Xg o!s0t n `�c�_!b vOp�`�p z3y d!l�` w b vOp�`�r `�l k3g r�d�v�fZg p v�h"j"n6f y0t n6_ t p)d!`Xj!n6f yGt vZp�g f+e0g n `+d!c xTs[t (calls vZp)g returns). ^0_!`Ua f�e0g�`�_�i z r t f�`�p�g o f `+l z d!j!n)l � w h!`Xg n ` y0t o l z p t"s0t vZp�`�p�nB`�r!n6f y0t , n6_ t j!u�c�_"b vO_�v�h s�o p�`c�b e(p)d�p�i y i�j�b k�g f�_"u�q t n6f y0t ( p�e(p6d"g u o l�` w b , e(c�h�_"eBh w v�`�fSb v . p .), v'p�g o!w n�c�_ p�e(c�u�j!vOf�_�n l"b ( vOp�`�p z!y d!l�` w b ) f�g k�g�v*c�q n vOc�e(c�q . | p�e(c�`,fVh�f�n o p�`�g�vMj g f*d!p�d z m�p o�t j o l!b , p t p x w d"f*`�p�g nB`c i�fVi�c t a�b a�`�g `�p workstation o f*g c t f*v�`Uc�q t nT`+g b p�e s h!f�g f�b `\l"b o"t j o l"b cache, f t!s `�c _Mh!g]v'a n z f�k�g r�nT`+l"vOf i�g p p�{Zg c�e8c�m�l�n l vOp�`,r 100% `�c�_ f*q�d!c�_!b o"t j o l!b n4f v�d�m�n g o p nBl o f�m�p `�c�_ p�hMi�a�d�g u o c�_ .

| n6_ t f*g n x c�d!r `+l"b e�p�d�p3hOh�l�h�m�p�b nB`�c _*h�g�vZa o e(c�d"fSm t p z3y d!g nB`�f+m nTf k�_�c v�p�`Xl�i�c�d�m�fSb , e(p�d!p�hOh!l�h"m�p _��$l�h!j"b p t r�h"_"n6l"b (fine grain) vOp�g z p o l�h!a�`,f�d�l!b p t r�h!_�nBl"b (coarse grain). | e0d s `+l f�m t p�g n6f f�e(m e(f�k�c o f*`�p x c�d!r�b v'p)`,p z�y d!l�`+j v*p6g fSeGg�`�_�i z r t f*`Up�g o f `,p�_�`�a z d!c t l f�vO` w h!f�n l nT`�c�g z f*g y k s[t f�dMi�p�n)g s0t n8`,c c�h�c�v'h�l!d y�o3w+t c . � t p e�p�d�r�k�f�g i o p p�_�`Uc�q , f�m t p�g o g p p�eBh�j p�d�g u o l!`Xg]vMj k�g c z3w `�f�_�n l , p�e$c�`�f+h"c�q o f t l p�e$a p x p�g�d w `+l vZp6g nB`�l n)_ t"wVz f�g p w+t p t p!u�d"c�g nB`Xj v*p�g w+t p o eBh�c�v n qOi�vOd�g n l�b o f vZp6`Up z!y d!l�` w b k�g c z3w `�f*_"n6l"b f t k�g r o f'n6p .

Ã’ p�_!`+j t `+l t e(f*d"m e0` y n l , l

v�p�u3_�n ` w d�l!n6l (latency) f�m t p6g 3 vMq�vSh�c�g p�h�h�r c d�_�u o a�b fSe(f�{�f�d�i�p�n4m�p�b (throughput) f�m t p�g o g p p x p�m�d!f'n)l / e0d�a�n�u�f�nTl / n qOi�vMd!g nBl n6f vOr�u�f vOq�vSh"c .

Ãf p t `Um]u�f'n)l o f `,p e�p�d�p�e8r t!y , l e8p�d!p�h�h"l�h"m�p z p o l�h"a�`�f*d�l�b p t r�h�_�n)l!b (coarse grain), e(f�d"g h�p o ��r t f�g `+l t `�p�_!`�a z d"c t l h�fZg]`c3_�dOi"m�p 4

c�h!c�v'h�l!d y~o�wSt"y0t FPGAs, vOp�g `+l o f*`�p�{�q `�c�_"b f+e0g]v'c�g t�y0t m�p a�n�c t p x c�d!r `�l t f�v�` w h!f�n l ` y0t h�fZg]`�c�_�dMi!g s0t fSeGg h!c�i�j!b , k�g p!nB`�p�q�d y nTl!b , o f�`�r�hMh�p�{�l!b v�p�g _�e(c�h�c�i!g n o c�q `�l!b nT_ t r�d!`Xl!n6l!b v�p�`�p�h�h!lMh!a�`Xl!`�p�b (fitness).

�4p e(f*g�d"p o p)`�g�vOr p�e8c�`�f+h w n o p)`p e(c�_ e0d!c�vOq�e-`Uc�_ t k!f�m z!t c�_ t , a�`�g l e(p�d"p�h�h�lOh"m p fine grain

( _��(lMh�j�b p t r�h!_"n6l!b ), e(p�d w\z f*g o!w i!g n `�l n6_ t f*g n x c�d"r nT`�p eBh!f'c t f�v�`\j o p�`p `+l!b _�h�c�e$c�m�l�nBl"b `�c�_ i�f t f*`+g�v*c�q p�hMi!a�d�g u o c�_ n6f _Oh�g�vOa . �6e8m�n l!b w+z f�g p�e8c�k�f�g z u�f�m e(f�g�d�p o p6`Xg�vOr , a�`\g o f�`\d"r�f�g y b wSt p�b e(p�d!r�i�c t `�p�b fSeGg�`�r z _ t n8l�b , e(r t�y p�e(a 38 x c�d w b i!g p `+l h!f�g�`�c�_�dOi"m�p `+l�b fSe0g h"c�i�j"b . ��g f+e0a o f t f'b v�q�d"g�f'b n6_ t f�g n x c�d w b , e0d!c�v�p�h"c�q t e(f*d!m e(c�_ 3 x c�d w b fSe0g�`�r z _ t n l `+l�b fSe(f�{�f*dMi!p�n4m�p�b n6f r�hOh!p

Page 17: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

14

` o j o p�`p `,c�_ i�f t f*`+g�vOc�q p�h�i!a�d!g u o c3_ . �âv'eBh�l"{*l p�e(c�`�fVh�f�m `�c i!fVi�c t a�b `+l"b o fVi�r�h"l!b z d�c t g�vOj!b n�e$p6`�r�h�l�b vOp�`�r `+l t f�vO` w h!fSnBl `�c�_ i!f t f�`\g�v*c�q p�h�i�a�d!g u o c�_ n6f h�c�i"g n o g�v'a , i�g p `\l t e(p)d�p�i y i�j `\_ z p�m y0t p�d�g u o!s[t . �Û`n)g , o g�p f+e0g�`�r z _ t nTl e�fZd!m e(c�_ 10%, o e$c�d!f�m t p f�e0g]`�f�_ z u�fSm o a t c o f `+l t e(p�d!p�i y i!j `+_ z p!m y0t p�d�g u o�s0t v*p�`�r `�l t f�v�` w h!f'n l o g p�b p�eBh�j�b f t `�cMh�j�b .

��g Stephen D.Scott, Ashok Samal v*p�g Sharad Seth [12], e$p6d"c�_�n6m�p�nTp t w+t p t eBh!j�d y b h�fZg]`�c�_�dMi!g�vOa i!f t f�`�g�vOa p3hOi�a�d�g u o c , _�h�c�e(c�g c3q o f t c n6f _Mh!g�v'a , `�c n q�n `+l o p HGA (Hardware-Based Genetic Algorithm). � n z fSk�g p�n o a�b w i�g t f n4f VHDL v�p�g o f `+l t e0d"c!c�e0`+g�vOj t p z d�l!n6g o c�e(c�g l!u�f�m y b n)_ t f�e(f'{�f�dOi!p�n `+j!b o f `+l t vOf t `+d!g�v�j o c t r�k!p fVe(f'{�f�d�i�p�n6m�p�b ½ .

�. � ., f t a�b _�e8c�h"c�i!g n `\j . � z d�j"nB`Xl�b e0d�c�i�d�p o�o p�`Um�}'f�g `�c FPGA, `,c c�e$c"m]c _�h�c"e(c3g f�m `+l t n6_ t r�d�`�l"nTl v*p6`p�h�h�l�h�a�`\l�`p�b e(c�_

e0d�a�v*f*g�`p�g t p �!fVh3`Xg n `c�e$c�g]l�u�f�m .

Ã`�c front-end `c�_ n6_�n8`\j o p�`c�b HGA e(f�d!g h�p o �"r t f�`�p�g wSt p p�eBh�a e0d"a�i�d!p o�o p

fSe0g�vOc�g t"y0t m p�b e$c�_ `+d w+z f�g n `,c t _�e(c�h!c�i!g n `\j , i!g p `�l t e(p)d�c z j p�e$a `c t z d�j�n `+l ` y0t k�g p x a�d y0t e(p�d!p o�w `+d y0t `�c�_ i!f t f�`+g�vZc�q p3hOi!a�d!g u o c�_ , `Uc t v'p�u�c�d�g n o a `+l"b n)_ t r)d!`Xl!n6l"b vOp�`�p�hMh!lMh�a�`\l�`�p�b i!g p `,c t e0d"c�i!d"p o�o p6`Xg n o a `�c�_ FPGA, vZp�g `,c t v*p�u"c�d"g n o a `�c�_ n j o p�`c�b f�v�vZm t l"n6l!b h!f�g�`�c�_�dOi"m p�b `�c�_ HGA. �6e(m�n6l!b `�c e0d�a�i�d"p o�o p p�_�`,a h�p o �!r t f�g `,c nTj o p `,f�d o p�`\g n o c�q `\l!b fVe(f'{�f*dMi!p�n6m p�b p�e8a `�c t HGA. �4c back –end `Uc�_ n _�n `+j o p)`´c�b p�e(c�`,fVh!fSm�`Up�g p�e$a `�c _Mh!g�vOa HGA. | o c t r�k"p Memory Interface Module (MIM), p�e(c�`�fXh!f�m `Xl t vMq!d�g p o c t r�k�p fVh w i z c�_ `c�_ HGA, v*p�g `�l o c t p�k�g�vMj k�g�f+e0g x r t f�g r f�eGg]v'c�g t�y[t m]p�b `Uc�_ o f `,c f�{ y `�f*d�g�vOa e(f�d"g��!r�h�h�c t . ��g _"e$a�h�c�g e(f�b o c t r�k�fSb , _Oh"c"e0c�g c�q t `�p�g n6q o3xTy0t p o f `�c t p�eBh"a i!f t f�`+g�vZa p�h*i!a�d!g u o c `�c�_ Goldberg vOp�g f�m t p�g c�g o c t r!k�f�b v�p�`�p�h�h!lMh!a�`Xl!`�p�b , k�g p�nB`�p�q�d y n6l!b vZp�g o f*`Ur�h�h"p�{�l!b , e(p)d�p�i y i�j"b �8fZ_�k�c�`X_ z p�m y0t p�d!g u o!s0t v*p�g p�v�c�h�c�_"u"m]p�b eBh!l"u�_�n o c�q . | `�fVh�f�_�`�p!m p o c t r�k!p , {�f*v�g t r `+l t k�g c z3w `�f*_!n)l h�p o ��r t c t `�p�b o!w h�l eBh3l"u�_�n o c�q p�e$a `�l t

�äã�� vOp�g e(f*d t!s0t `�p�b `�p n `+l o c t r�k�p fSeGg h�c�i�j!b .

�4c n q�n `+l o p HGA, fVh w i z u�l�v*f z d�l�n g o c�e8c�g s0t `�p�b `+d�f�g b n)_ t p6d�`�j!n6f�g b vZp)`p�h�h!l�h�a�`+l�`p�b , v�p�g _�h�c�e8c�g�j�u�l�v�f nB`Uc BORG board, `�c c�e(c�m c p�e$c�`�fVh!fSm�`�p�g p�e8a e wVt `�f FPGAs `\l"b Xilinx v*p�g o e(c�d�fSm t p n6_ t k!f�u�fSm o f `�c bus f t a�b PC. ^$hOh"r l o l z p t j HGA, p�e(c"k�fSm z u�l�v�f o fVi�r3h"l i"g�p `�c e(p�d!p"e(r t�y board v*p�g w `�n6g z d�l�n g o c�e$c�g�j�u�l!v*p t f�e0g eBh w c t FPGAs, i�g p `+l t _Mh�c�e8c�m�l�n l ` y0t o c t r�k y0t vOp�`Up�h�h�l*h!a�`+l!`Up�b , f�e(g h"c�i�j"b vOp�g

�äã��.

�4c e0d y `�a�`�_�e8c n6q"n `\l o p HGA, z d�f�g r�n `�l�vOf e(f�d"m�e$c�_ 6% e�fZd�g n6n6a�`�f�d�c�_"b vOq�v�h�c�_!b

d�c�h"c�i!g c�q , p�e(a a�`Xg nB`�l t _Oh!c�e(c�m�l!n)l `,c�_ p�eBh�c�q i�f t f�`+g�vZc�q p�h�i�a�d�g u o c�_ nB`�c h!cMi�g n o g�vOa (software), n6f Silicon /Graphics 4D/440 o f ` w n6n6f�d�g b MIPS R3000 CPUs, p"e(a `�c�_!b c�e(c"m]c3_!b v�p�u w+t p�b `\d wVz f*g n `p 33MHz.

� Ulrich Nehmzow [10], fZv�` w h�f�n6f e(f�g�d!r o p�`�p f�v o r�u�l"n l�b n6_Mi!vOf�v�d�g o!wSt!y[t g�v*p t c�`�j�` y0t n4f k�_�c p�_�`�a t c o p vOg t l�`r robot, o f `+l z d"j�n l f t a�b x _"n6g�vZr f t n y�o p�` y�o!w+t c�_ i�f t f�`+g]v'c�q p�h�i!a�d"g u o c�_ (PEGA, Physically Embedded Genetic Algorithm). �4p k�_�c o g�v�d�r robot, e(c�_ z d�l"n g o c�e$c�g�j�u�l!v*p t nB`Up e0f�g]d"r o p�`p k�g w u!f�`�p t p�g n�u�l�`+j�d�f�b _�e w d�_�u�d y0t , _"e w d!l z!y0t , x _�n)g]vZc�q xTy `�a�b v�p�g p�g n�u�l!`+j�d!f'b e$m�f'n)l!b , f t�s f�m z p t `Xl k�_ t p�`�a�`\l�`p `+l"b o f�`�p�{�q `�c�_�b f�e(g�vOc�g t"y0t m p�b z d�l"n g o c�e$c�g s0t `,p�b _�e w d!_"u�d!f�b p6vM`�m t f�b v*p�g p t `�p�h�h�r�n6n4c t `�p�b eBh!l�d�c x c�d"m�f'b o f d�_�u o a o g�v�d"a�`,fZd!c p�e(a 200Baud, a�`p t ��d"m nBv'c t `�p t n4f p�e$a�n `p�n l o g�v�d�a�`,fZd�l `�c�_ f t a�b o�w `+d!c�_ . � `+d!a"e(c�b n6_ o e(f*d�g x c�d!r�b vZr�u�f robot, fS{�p6d�`�g a�`�p t p�e$a `�c v y k�g�vZc�e(c�g�l o3w+t c z d y�o a!n y�o p , `�c c"e(c�m�c f o e(f�d!g�f'm z f `+l nT`+d!p�`XlOi�g�v�j fVh w i z c�_ . ½Tr!u�f robot, k�g w u�f�`f k�_!c z d yáo c�n s<o p)`�p , `�c f t f�d�i�a `�c�_ c"e(c�m c�_ f*v�`Xg o c�q�`�p t l vOp�`p3hOh!lMh!a�`Xl�`�r , vZp�g `�c vZp�h�q"`�f�d�c e�c3_ f�m z f ��d!fSu�f�m y b f�vOfSm t l `+l n `�g i o j , s n `�f p t `�c f t f*dMi!a k�f t p�e$c�k�f�g�v t q!c t `p t vZp)`p3hOh!l�h"a�`�f�d!c t p z d�l�n)g o c"e(c�g c�q�`,p t y b k!fZq�`,fZd�l fSe0g h!c�i!j `c vOp�h!q�`�f*d"c . G_�`a�b c `\d"a�e(c�b f x p�d o c�i"j!b , w+z f�g y b p�e(c�` w h!f'n o p `+l t p�e(c x _�i"j e0` s n6l!b `\l"b `+g o j"b vOp�`Up�hOh�lMh�a�`+l�`p�b .

Ãf a�h�p `�p e(f�g]d�r o p)`p , p�vZc�h"c�_�u�j�u�l!vOf l k3g p�k�g]v*p�n�m�p e8c�_ e$p�d!c�_"n6g�r�}Zf�`p�g nT`+l n6_ t�wVz f�g�p .

^�d z g�vZr `�p robot, f�vO`�fVh!c�q"n�p t `\l t v y k�g�vZc�e$c�g l o!wSt l n `+d"p6`�lMi!g�v�j `�c�_ f t f�dMi�c3q z d y~o c"n s-o p�`c�b i3g p c�d"g n o!w+t c z d!c t g�v*a k�g r!nB`+l o p , v*p�g e$p6d"r�hMh!lMh�p _�e(c�h"a�i�g }Zp t `\l t v*p6`Up�h�h�l�h�a�`+l!`Up `c�_ z d y<o c�n s�o p6`c�b .

�f�`�r p�e(a `c vOp�u�c�d�g n o�w�t c z d�c t g vOa k�g r�nB`+l o p , v*r�u!f robot {Sf�v�g t c�q�n6f `+l t

p t p�}Mj�`�l�nTl `c�_ r�h�h"c�_ robot, s n `,f f x a"nTc t ��d�m�n v*c t `�p t p t `�g]vMd�g n `Ur t p r6d z g }Zf l f+e0g�vOc�g t"y0t m p

Page 18: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

15

o f*`�p�{�q `Uc�_!b , p t `Up�hOh!r�n�n6c t `p�b `�p z d y-o c"n s�o p�`Ur `�c�_!b vOp�g `\g b p t `m n `�c�g z f�b `�g o�w b v�p�`�p�h�h!lMh!a�`Xl!`�p�b p�_�` s0t .

Ã`+l n6_ t"w+z fZg p c p�h�i�a�d"g�u o c!b PEGA, v*p�u!a�d"g }*f w�t p n)_�i!vOf*vMd�g o�w+t c f�m]k"c�b

k�g p�n `,p�q�d y n l"b vZp�g o f�`,r�h�h!p�{*l"b . Ý nTc t p x c�d"r `Xl k3g p�nT`Up�q!d y nTl n8`,c t e(p�d"p�e8r t"y p�h�i"a�d"g u o c , p t `,c h!p o �!p t a o f t c z d y�o a�n y�o p f�m t p�g vZp�`�p�h�h!lMh!a�`�f�d�c p"e(a `,c `�c�e~g�vZa , `�a�`f `,c o g n6a `�c�_ `,c�e(g�vZc�q p t `+g�v*p�u!m n `,p)`p�g p�e(a `Uc p t `Um n `�c�g z c o3w d�c�b `�c�_ h�p o �!p t a o f t c3_ , k�g p x c�d!f�`+g�vZr k!f t n)_ o ��p!m t f�g k�g p�n `,p�q�d y n l .

Ã`+l t e(f�d!m e0` y n6l e(c�_ `�c `\d wVz c t z d yáo a"n y�o p f'm t p�g z f�g�d�a�`�f*d"c p�e(a `�c `�c�e0g�vZr

v�p�h�q!`�f�d�c , w+t p `X_ z p!m c �$l x m�c `c�_ `+d wXz c t `,c�b p t `Xg�v�p�u�m nB`�p�`p�g p"e(a `c vOp�h3q�`�f*d"c , o f e(g u�p t a�`+l�`p 30%. ^ t k�f t n)_ o �!p�m t f�g p�_�`a , f x p�d o a�}Zf�`�p�g o f�`,r�hMh�p�{*l o f eGg u!p t a�`+l�`�p pm e(c�_ f�{�p�d!`�r6`�p�g p�e(a `\l t v*p6`Up�h�h"l�h"a�`�l�`�p `Uc�_ z d y�o c�n s�o p6`Uc!b , v*p�g fSm t p�g pm= [R(100-F)]/100, R o g p n `�p�u�f*d"r e$c�_ fSe0g h wVz u�l�vOf 0,3. Ã

`�c e-d s `c e(fSm�d!p o p `+l�b x y `Ua�`�p�{Zl!b , `,p robot o p�u�p!m t c�_ t t p v*g t c�q t `Up�g e0d�c�b `�c xBs b . Ã`+l t e(f�d�m�e0` y n l p�_�`\j , l n6_ t r6d�`+l�n l vOp�`�p�h�h�lOh"a�`Xl�`p�b f t a!b z d y�o c"n sáo p�`�c�b , k!m t f�`,p�g p�e$a `+l

n z�w n l Fp= 100L/T, a�e$c�_ L fSm t p�g c p�d!g u o a�b ` y0t f�e(p t p3h"j��8f y0t `c3_ e0d"c�i!d"r o�o p6`´c�b , v'p6`�r `+l k�g r�d�v*f*g p ` y[t c�e(c"m y(t `,c robot wVz f�g o e0d"c"n `�r `c�_ `c eGg c w+t `,c t c xTy b , v'p6g T f+m t p�g c n6_ t c�h"g]v'a�b p�d�g u o a!b f+e(p t p�h!j��8f y0t `Uc�_ e-d�c�i�d!r o�o p�`�c�b . �4c z d yáo a"n y�o p z!y d!m }Zf�`p�g n6f ` w n4n6f�d�p e(f�k!m�p , a"e(c�_ vOp!u w+t p p t `�g nB`�c�g z fSm n `�g b e(f�d!g e0` s n f�g b e(c�_ `�c e(f�d�g n6n6a�`�f�d!c xTy b e$c�_ h�p o �3r t f�`�p�g y b f'm�n�c�k"c�b p�e$a `�c�_!b p�g nTu�l�`+j�d�f�b , f�m t p�g o e0d�c�nB`r , k�f�{�g r , p)d"g n `,f�d"r j e$m]n y .

Ãf vZr�u�f e(f*d"m�e0` y n)l c�g

v�g t j�n6f�g b e(c�_ f�m t p�g k3_ t p6`�a t p e0d"p�i o p)`,c�e(c�g�l�u�c3q t fSm t p�g o e0d�c�nT`Ur , k�f'{�g r vOp�g p�d!g n `,f�d"r . | vOr�u�f v�m t l�n)l p t r3h�c�i�p o f `+l t fSm�n6c!k"c p�e(a `�c�_"b p�g n6u�l�`+j!d"f�b , fSm t p�g f�vOf'm t l e(c�_ p�{�g c�h�c�i!fSm�`�p�g vOp�g n6_ t f�e s b l n y n `+j vOm t l�n l u!p wVz f�g o fXi!p�h!q�`f�d�l `Xg o j vOp�`�p�h�h�lMh�a�`+l�`´p�b . | `Xg o j v�p�`Up�hMh3lMh�a�`+l�`p `,c�_ z d y<o c�n sáo p6`�c�b p�_!{�r t f�`�p�g nTf 30 i�f t g w b n `,c 100% e(f�d!m e8c�_ `+l!b � w h!`+g n `�l"b `+g o j"b `+l!b .

Ã`�c k�f*q�`�f*d"c e(f'm�d"p o p , `p robot o p�u�p!m t c�_ t t p p�e$c x f*qMi!c�_ t f o e8a�k�g p , v*p�g l n6_ t r)d!`+l"n l

v�p�`�p�h�h!lMh!a�`Xl!`�p�b n `�l t e(f�d�m e0` y n l p�_�`Uj f�m t p�g FA=100A/T, a"e0c�_ ^ f'm t p�g c p�d�g u o a�b ` y0t fSe(p t p�h!j��8f y0t `,c�_ e0d!c�i�d�r o�o p6`Uc!b v*p6`�r `Xg b c�e$c�m�f'b k�f t p t g z"t f*q!fZ`,p�g vOp t�w�t p p t `\g�v*f'm o f t c p�e$a `,c�_!b eBh�p�٠t c�q!b p�g n4u3l�`\j�d!fSb _"e w d"_!u�d y0t , e0g c vZc t `r p�e(a c�d�g n o!wVt l p�e$a"n `�p�nTl e0d�c�b `c n _ t c�h!g�v*a p�d�g u o a f�e(p t p�h�j��8f yGt `�c�_ e0d"c�i�d!r o�o p�`�c�b . | v y k�g]v'c�e$c�m�l�nBl `�c�_ z d y�o c!n s�o p�`�c�b e(f*d�g h"p o �!r t f�g ` w n�nTf*d"p e(f�k!m�p , o f `c v'p�u w+t p t p p t `�g n `�c�g z f�m n `�l t p�e$a�vOd�g n6l ` y[t p�g n6u�l!`+j�d y0t _�e w d!_"u�d y0t p"e(a p�d!g n `�f*d"r , k�fS{*g�r , k�f�{�g r j p�d!g n `,f�d"r , j p�e$a e8c�_!u�f t r .

Ãf v*r�u!f e(f'k�m�c

v y k�g�vOc�e(c�g f'm�`Up�g l h!f*g�`�c�_�dMi�m p / p�e(a�vMd�g n l ` y[t vOg t l�`+j!d y~t .

Ã`+l n6_ t"w+z f�g p o f wVt p e(f�m�d�p o p , c Ulrich Nehmzow p�e w k�f*g {�f a�`�g o f `+l z d�j�nBl `�c�_

i�f t f*`+g�v*c�q p3hOi!a�d!g u o c�_ , `�p robot o e(c�d"c�q t t p o r�u!c�_ t e s b t p p"e(c x f�qOi"c�_ t `�p f o e(a!k�g�p vOp�g e(p�d!r�hOh!l�h"p t p vOg t c3q t `�p�g e0d�c�b `�c xTy b . �Tc z d y�o a!n y�o p z!y d"m }Zf�`�p�g n f ` w n�nTf*d"p e(f�k!m�p , e(c�_ `Uc v�p�u w+t p p t `�g�n `c�g z f�m n `+l t f t f�d�i�c�e$c"m�l�nBl ` y0t p�g n6u�l�`+j�d yGt _"e w d"_!u�d y0t , p�e$a k�f�{�g r vOp�g p�d�g nB`f�d!r , p�e(a p)d"g n `�f*d"r , p�e$a k�f'{�g r j p"e0a e(c�_�u�f t r . ½6r�u!f e(f�k!m�p v y k�g�vOc�e(c�g f'm�`Up6g vOp�`p6d z j t i�g p `Xl t fSe0g h!c�i!j `+l"b p�e8c x _Mi!j"b f o e$c�k!m y0t , j `Xl�b e-d�c!n w iOi�g n l!b nB`c xTy b v*p�g n `�l nT_ t!wXz f�g p i�g p `Xl t v�p�`�r�h�h!lMh�l vZm t l�n8l .

Ã`�c z�s d!c e�c3_ w i�g t f `c e(f�m�d"p o p , l e0d�c�n w i�i!g n l `,c3_ xTy `�a!b f�eGg h w\z u�l�v*f `Xg b

e(f*d�g n�n�a�`�f�d!f�b x c�d w b y b vOp�`�p�h�h�lOh!a�`,f�d�l `�fXh�g�v*r , v'p�u s b `Up�_!`Ua z d!c t p o f `+l t f t�w d�i�f�g p p�_�`+j `�p robot, p�e wSx f�_�i�p t `�p�_�`,a z d�c t p `,p f o e(a"k�g p . �6e8m�n l"b , e0d!p�i o p�`Uc�e8c�g�j"u�l�vOf e0f+m�d"p o p i�g p `+l t p t p�}�j!`+l�nBl `c�_ r�h�h"c�_ robot, o f v�p�`�r�h�h!lMh�l v y k3g]vZc�e$c"m�l�n l vOp�g n _ t r�d�`�l"n l v�p�`Up�hOh�lMh�a�`�l�`Up�b FRS= 100-T, a"e(c�_ ��p f�m t p�g c z d!a t c!b e$c�_ z d�f�g r�}*f�`�p�g `�c w+t p robot i"g p t p f�e0g]v'c�g t!y0t j!n6f�g o f `�c r�hOh"c .

Ã_ t c��$m�}Sc t `�p�b ` ’

p�e(c�`,fVh w n o p�`p f x p�d o c�i�j!b `,c3_ i"f t f�`�g�vZc�q p�h�i�a�d!g u o c�_ nT`+l t f�v o r�u�l"nTl e(c�h�h s0t e~d�p�i o r)` y0t `,p�_�`Ua z d�c t p , nT`Xj!u�l�vZf w�t p `�fVh!g]v'a e(f'm�d!p o p , nTf k�_"c x r�n4f�g b .

Ã`Xl t e0d s `+l x r�nTl `�c�_ e(f�g�d"r o p�`,c�b ,

`,c robot, w e0d!fSe(f t p o r�u!f�g `\l t fSe0g h"c�i�j o g p�b p�e(a `Xg b `\d"f�g b nB_ o e(f�d�g x c�d w b ( xTy `�a�`Up�{�l , p�e(c x _*i�j f o e(c�k!m yGt j p t p�}Mj!`Xl!n6l `�c�_ r3hOh�c3_ ) vZp�g t p vMg t l"u�fSm p t r�h�c�i�p . | `Xg o j vZp�`�p�hOh�lMh�a�`+l�`,p�b i"g p vZr�u�f z d y<o a�n y�o p fSm t p�g eBh w c t l o3w n6l `+g o j v'p6`�p�h�h"l�h�a�`Xl!`�p�b , e8c�_ e0d"c�v*q"e0`�f�g p�e(a `\g b `+d!f�g b n6_ o e(f*d�g x c�d w b .

Ã`+l k!fZq!`�f�d!l x r�n l , `Uc�_ e(f�g�d"r o p�`,c�b `�p robot, e0d!c�n6e8p�u�c�q t t p o r�u!c�_ t `+g�b

`\d"f�g b n _ o e0f�d�g x c�d w b , o f k�f'k�c o!w�t l n `+d!p�`�l�i"g�vOj f�e(g h"c�i�j"b n6_ o e(f�d�g x c�d"r�b . �å`,n g `Up e0d s `p 60sec f*vM`,m o l�n l�b `�c�_ t!w c�_ z d y<o c�n sáo p�`�c�b , fSe0g h w i�f�`�p�g / o p�u"p�m t f�`p�g l x y `�a�`p�{�l j l p�e$c x _Oi�j f o e(c�k!m yGt , `Up f�e8a o f t p 100sec f�e(g h w i!f�`�p�g / o p�u�p!m t f�`�p�g l p�e(c x _�i�j f o e$c�k"m y0t j l p t p�}Oj�`+l�n)l

Page 19: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

16

`,c�_ r�h*h!c�_ robot, vOp�g p t n `c ` w h!c�b `�c�_ z d�a t c�_ k!f t ��d�f�u!f�m robot p�d z m }ZfZg e0d�c�v�p�u"c�d�g n o!w�t l p t p�}Mj�`�l�nTl . �4p p�e$c�`�f+h w n o p�`�p w k�f�g {'p t a�`+g , `,c v*r�u!f robot f�e yÌx fVh�f�m�`�p�g p�e(a `Xl t f�e0g�vZc�g t"y0t m�p `Uc�_ o f `�c r�h�h"c , v�p�g a�`�g c n)_ t k�_�p�n o a�b e0d�c�fVi!vOp�`�f'n `+l o!wVt�y[t n _ o e0f�d�g x c�d s[t , vOp�g f x p6d o c�i�j `Uc�_ i"f t f�`�g�vZc�q p�h�i!a�d"g u o c�_ PEGA, fVh!p�`\` s0t c�_ t `�c z�s d"c p t p�}*j�`+l�n l"b h"q"nTl!b .

Øp�d ’ a�h�p p�_!`�r vZr�e$c�g�f'b

f x p�d o c�i w b k�f t w�x `�p t p t n `\l � w h!`�g�n `�l h!q�nBl i3d�j�i�c�d�p n6f n z�w n)l o f r�h�h�f�b , o f `c n6_�i�vOf*vMd�g o!w�t c i�f t f*`+g�v*a p�h*i!a�d!g u o c , c c�e(c!m c�b o e(c�d�f�m t p f�m t p�g `fVh!f'm y b p�vZp�`�r�hMh!lMh�c�b i�g p v*r�e8c�g f�b f x p�d o c�i w b .

� Mohammad S. Sharawi [11] v�p�g c�g n6_ t f�dMi�r�`�f�b `Uc�_ , z d�l�n)g o c"e$c�m�l�n�p t o g p _Mh�c�e$c�m�l"n l i�f t f*`+g�v*c�q p�h�i�a�d�g u o c�_ n f _�h!g�v*a i!g p `�l t e0d!c�fSe(f�{'f�dMi�p�n�m�p n)l o r)` yGt p"e0a p�g n�u�l!`+j�d!f'b , s nB`�f t p e(p�d w+z c t `�p�g � w h�`�g n `�f'b o f�`\d�j�n4f�g b nTf f+e(a o f t c nB`r�k�g c w {�_�e t l!b f�e(f�{'f�dOi!p�n6m�p�b v�p�g p t `Um h"l��$l"b `+l!b eBh3l�d"c x c�d�m�p�b (IIPP, Intelligent Information Processing and Perception).

� `+q"e(c�b k�g p!nB`�p�q!d y nTl!b e8c3_ f x p�d o a�}*f�`�p6g f�m t p�g k�g p x c�d!fZ`\g�v'a�b p�e$a `�c�_"b n _ t j�u�f�g b

`\q�e$c�_"b , ��p!n�m�}*f�`�p�g n `+l t f+h!r z g n `�l `�g o j n x r�h o p�`c�b vOp�g c t c o r�}*f*`Up6g Half Siblings and a Clone. ½)p�`�r `�l t f�v�` w h!f'n l `+l!b k�g p�nB`�p�q�d y n)l!b , z d�l�n g o c"e(c�g fSm�`p�g `,c z d y<o a�n y<o p o f `+l t o fVi�p3h"q�`,fZd�l `\g o j fitness y b c w+t p�b i�c t!w p�b , f t�s c r�hOh"c!b i!c t!w p�b f�e(g h w i�f�`�p�g p�e$a `�p _"e$a�h!c�g e(p z d y<o c�n s�o p6`p . � k!f�q�`,f�d!c�b i�c t"w p�b fSe0g h w i�f�`�p�g n)q o!x y0t p o f `\l t `�g o j o g p�b e$p�d!p o!w `+d!c�_ e(c�_ v�p�u�c�d�m�}'f*`�p�g p�e(a `�c z d!j"n `\l , w `�n)g s nB`f p t `�c n x r�h o p `Uc�_ f'{�f�`p�}*a o f t c�_ z d yáo c�n s<o p)`�c!b fSm t p�g o g�vOd!a�`,f�d"c p�e8a p�_!`Xj t `�l t e$p6d"r o f�`\d"c , `a�`�f fSe0g h w i!f*`�p�g `�c n6_Mi�v�f�vOd�g o!w+t c z d y�o a"n y�o p y b k!f�q�`�f�d!c!b i!c t�w p�b , k�g p x c�d!f�`\g�v*r c k�f*q�`�f*d"c�b i�c t�w p�b f�m t p�g w+t p�b `�_ z p!m�c�b p6d�g u o a�b .

�f�`,r `�c t

e(p�d!p"e(r t�y `+d!a�e(c fSe0g h"c�i�j�b ` y0t i!c t�w�y0t , l k�g p�nB`Up�q�d y n6l e(c�_ f*vM`�f+h!fSm�`p�g p�e(c�`�fVh�f�m o g�p o c�d x j `,c�_ `+qOe(c�_ uniform crossover. �4c n q"n `�l o p _�h�c�e(c"m�l�n l!b `c�_ i!f t fZ`\g�v'c�q p3h*i!a�d�g u o c�_ i3d"r x `+l�v�f n6f VHDL vOp�g c eBh3l"u�_�n o a!b ` yGt z d y�o c�n y�o r�` y[t p"e(c�`Uf+h!f�m�`p�g p�e$a f�e(f�{'f�dOi!p�n6m�p ` y0t o f*`+d�j�n6f y0t o f `X_ z p�m�f'b `\g o�w b (fused o f�`\d�j"n4f�g b ).

Ã`Xl n)_ t"wVz f�g p e0d"p�i o p6`�c�e$c�g fSm�`�p�g c _�e(c�h�c�i"g n o a�b `�c�_ n x r�h o p�`�c!b vOr�u�f z d y<o c�n s�o p6`c�b , n)q o!x6y0t p o f `�c c"e(c�m�c i�m t f�`,p�g l p t p�e(p�d�p�i y i�j , o f `�fVh!g]v'a nTvOc�e(a `+l t f�q�d!f'n)l o!w `+d�l!n6l!b o f `�c o g�vOd"a�`�f�d�c n x r3h o p . �6c n6q"nT`+l o p e(c�_ e(f�d�g i�d�r x `�l�v�f n `�c [11], p�e$c�`,f\h�f�m vOp�h�j

k�g�f+e0g x r t f�g p fSe0g�v*c�g t"y0t m�p�b o f�`�p�{�q ` y~t p�g n�u�l!`+j�d y[t vZp6g ` y0t t f*_�d y0t g�v s0t k�g�v�`+q y[t , n6f e0d!p�v�`Xg�v w b f x p�d o c�i w b e0d"p�i o p�`�g]v'c�q z d�a t c�_ (real time). ��g G.M. Megson vOp�g I.M.Bland [7], e�p�d�c�_�nTm p�nTp t `\l t p6d z g�`,f�vO`�c t g�vOj f t a�b i�f t f�`+g]v'c�q p�h�i!a�d"g u o c�_ _Mh�c�e$c�g�l o!w+t c�_ n6f _Mh!g�v*a , v'p�g `\l z d!j"n6l `\l"b `�f z"t g�vOj"b pipeline vOp�g f x p)d o c�i�j ` y0t n6_ t l"u�g�n o!w+t!y[t `�f z�t g�v s0t n)q t u�f'n l"b n6f k�g r�`Up�{*l (systolic array synthesis techniques), n `�c C v s k�g�vOp `,c�_ i!f t f�`\g�v*c�q p�h�i"a�d�g u o c�_ . | p�e(a"k�f�g {�l `+l�b z d�l!n6g o a�`\l�`Up�b f x p�d o c�i�j!b ` y0t e$p�d!p"e(r t�y `,f z"t g�v s[t (systolic array synthesis techniques) n6f o fVi!r�h!c f*q�d"c!b p�h�i"a�d�g u o!y0t , j�`p t c n vOc�e(a�b p�_�`�j"b `+l�b f*dMi!p!n6m�p�b . �6p r�`�c o p `c�_ eBh�l�u�_"n o c�q nB`c i!f t f�`\g�v*a p3h*i!a�d�g u o c e(c�_ _Oh"c"e(c�g j!u�l�vZf n6f FPGA j!`�p t 4, f t"s c d�_�u o a�b f+e(f�{�f*dMi!p�n4m p�b j�`Up t 16 f*vOp�`�c o�o q�d"g p i"c t m�k�g p p t r k�f�_�`�f*d"a�h�f�e0`�c .

Page 20: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

17

æÌç$èåé-ê0éäë¦ì

2 í ê-ìïî-ìåë´ð�ñNð

òð0ñ

êÌçGë

òì íáóGô ë]éáñ

õë]é�ñ

òé íáó$ö ñ$ð0ñ

(CROSSOVER) æ0éäë

÷ çòé-êGê0é<ø[ð�ñ

(MUTATION) ñNç

í êÌëÕæ[ì

(HARDWARE) 2.1 ù(ú?û�üTû]ý�þTÿ?ý �Ìú������Áú���� (DATAPATH) ��û � þ ÿ ����������� �Ìû��[ý�þ���0ü��~ýTÿ$ý

(CROSSOVER UNIT)

H ��������� �"!$#�% & �('") *+�$,�-".+&+) crossover *�/���!��0% ,�& �21$�3�4�"�5% �(' .�� &+6��3&�7+!98:6�' , ;�/�8<) &��=�(> 1?&+@A��!9%�B5���3&�� 6C�D�A, C 1?E:.+� 1�& �('") F+� F$�"� �=@+>+1G'9) #��0,=�0�(��1HEI, &A�G#9;�!�� @=* 8�, gaul [15]. JK�4' 6L�$,9MON �2� & , �5P2�2�3-+B����3&�� � M(���(#$N"�+) �('") �9�2���D���"!$#�% &+) �Q'") *"�$,�-+.=&+) .�� &+6C�3&+7+!�8<6C'") 6L� �R�=� 1?; (hardware). 2.1.1 ùTSGUWV�UWXCYRZ+[ \�S�\K]C^ _a`"bc` d�U�e YRf ^+]�`AgL\�e \CU�eLXCYHeCh"VLbiXTf [ (crossover datapath) j �Q�A�?�3E<,=�3&+) �3��, C 1HE<.�� 1H& #"� & �4' .+� &=6��3&+7=!"8<6k' , 1H&��3&A#+!�-+l��$,+�m&+� 7 .�� &�l��+!"�?�3� 1R��% �(!9;A/n�+� .+� &=6C��&�7=!"8<6C'�) , ��� �A/n�+% ��� �2l�&�!+*9;=B2��,=�D&�� 6o� &�1R�?!9&+% ���9) . J��3� /&k!9-k!"�4'"*"& p .=% ,"�2�3&�� � 1RE<.+� 1�&K) �Q'�) F=� FA��� ��@�>=1R'�) /n�=� &KlC�+!�- �3' . � &+.+� 1�&+6K% & �('9) .+� &+6C��&�7=!�8<6�'�) #+� & &L1�M�!"&�� �+��) . q N �?� !+� 6��(>") ."�2.+�=*"Ma,98�, /���� /I!9���3�0% ,"�2�3&�� .�7r,$&L�3&+� ,"& �?1R�3�O�A�a% &A,"-A�9�9#"& *"� �('R, �a,+�D�9�+> , M(,"& 6k�$#�1R��1G!+� *"Ma,�� �Q7$/n� .�� &"6��3&�7"!"8:6�'") , *"� �4'r, 1H&+@=�=.+>G#+'r6�' �('") �2� .=��1�>") *���,�-+.=&+) �O�"M(#GN ��� .

s /I!"E��(' 6L�$,�-L!=�Q'�6L' .=� &+6C��&�7+!�8<6C'") ga_singlepoint_crossover_integer_ chromosome �Q'�) F+� F$�"� �=@+>+1�'") gaul, .+� &+6��D&��=!"EI,���� (matches) �D& N�!98* ��6LE�*+&��D& �3�=� /�&��3M�!�& 1?&�� �4'9) *='+�3M�!�&+) , *"� .=� &=6C��&�7=!"8I6�' &=/��9��7 6C'�*+�5% �+� . p��+�m; 6L'�*+&"% ,��?� ;��3� 1H&K@A�+!�% BH�?�3&�� M(,=& 6L'+*"�0% � /��+� #�% ,=�2�3&�� ' .+� &=6C��&�7=!"8<6C' * � &+/n����MO�"�56C*�& ;G�"& �D& #9�9,9% .�� & ,$& &�,+�(� #=!9&+l�� 7r, &�/�; �('R, &�!$N=> *"MONK!=� �?1R�5% ,�� �m� 6�'=*"�2% � , &A/�; �Q' *K'=��M?!�& 6��3� #�� � 1R&+� &�/�; �m��, /�&��3M2!�& 6C�('R, 1H;�!+' 1H&�� �D& �$/�;9�A� � /�& #A�9,9% .�� & &=/�; ��1��5% ,�� �3� 6�'�* �a% � * MON+!+� �D� �3M4�"�+) �3��� NK!�8�*+��6�E:* &��m�") ,�& /��?!9-+6L�=�$, &�/�; �m�$, /&k�DM?!"& 6��D� # � � 1R&+� &=/�; �4'r, *K'=��M?!�& 6C�('$, 1�;�!"' . s 6��G,9-�!=�('96C' ga_crossover_integer_singlepoints �0% ,$&�� ' �?1R�3MO�"�56C' �Q'�) /�&L!r&�/-A,"8 .=� &+.�� 1R&"6�% &+) , #=� & 1H-+@+� N+!"8t*�;=6K8*"& �m�=� #"�$,�;��3��/n�+� �D�=� /&k�3M2!"& 1H&�� �('") *+'+��MH!"&+) , @+�28t!�EI,=�3&K) ;��3� �+� .=��� #���,��2% ) MON �=�$, % 6K� /C� >�@��+) N+!"8�*"�=6L8�*"-L�m8I, .

u � & �('$, �G�"�$/��=% '"6k' �m8I, /�&L!$&+/n-�,"8 6L�$,r&k!"�(>r6��a8I, � NA�?� !+� 6��(>9) .=�2."�=*"Ma,"8I, /��=� �a/�&�!+1H�2% �5% ,�&�� *+� & 6L�?� !9- &A/�; /n�$�=�r/T�9M?1$���a) ��� �$/��=% �+� 1?&=@=�+!�% B��=�$, �3��, �(!�;=/� &=,=�4� #"!"&=l�>") �D8�, #"�$,=� .�%�8I, 6��('$, �a/n;+*"�a,=' #"�(,�� - . vL� 6k'"*+�0% � �3'�) .=� &=6��D&�7=!"8<6C'9) �a/I� ��M(#"�2�3&�� �3�$N"&+% & . w 6L�A, &+l���!"- �3' 6C�R,�-�!+�('r6C' ga_doublepoint_crossover_integer_chromosome, &�l���!9- ��� 6�/n-+6�� *"� 6L� .��r� 6L'+*"�0% & �3��� NK!�8*"��6LEt*"&��m�") , 1H&�� �('r, &=,r- �9�A#"' * ‘ &��"�3- �3& 6'�* �0% & , &�,+�(� #+!r&�l�> �3�+� #A�O,9�?�(� 1H�=7 �R�+� 1R�=7 ��8�, #��$,"M28�, 6C�m& /�&�� .�� - . J��$#�1?�?1R!+� * MO,9& , �3& .=�"� 6L'+*"�0% & �0% ,=&+� &�1?M?!�&L� �=� &�!"� @=*+��% l1 1H&�� l2 *"���3&�P27 �3�=� 0 1?&�� �3��� *+>�1R�=�") �3��� NK!�8�*"�=6LE�* &��3�=) , �3� �A/�+% � �5% ,�&�� � &�!+� @�*�;") �38I, #9�A,�� .�% 8I, 6C�3� N+!"8�*";�6C8t*�& . vL& #"�$,�% .+� & 6��('R, /��?!9% /I�38<6C' /n�+� �2P5�?�3-=BH�?�3&�� @"�28t!���7R,+�3&+� &�1RM�!�&+� ��� &�!+� @+*"��% , *"� �O�"-AN � 6C�m� &�!"� @=*+; x�'"lL% 8I, 4. y�l�;�6��$, l2 > l1, #�% ,=�$,+�D&�� � � �0P?>") &�,+�(� #+!r&�l�M5) #"�$,=� .=% 8I, : &=/; �Q'$, &�!$N"> *"M(N+!+� �3' @"M26C' l1 ��& #"�$,�% .+� & &=,=�3� #"!�-+l���,=�m&�� &=/n; �3�A, /�&���M?!"& 6��m� #=� � 1R&+� &=/n; �Q'G, *+'+�3M?!9& 6C�('R, 1H;�!�' , 6L�(' 6k�r,�MON �2� & &=/�; �(' @"Ma6�' l1 *"MON !+� �(' @=M06C' l2 ��& #"�$,�% .�� & &A,+�3� #+!r-�lL��,=�3&+� &=/�; �(' *K'=�3M�!�& 6��3� #=� � 1H&�� &=/�; �3�$, /�&L�3M?!9& 6C�('$, 1R;�!"' , �(,�E �3� �r/n;A�"�=� /I� #"�(,"�?�3� 1R; �$����1H; &�/�; �Q' @=M26L' l2 8z) �3� *+>=1?�=) �3�=� N+!"8�*"�=6LE�*"&��3�+) &=,=�3� #"!"-=l����3&�� 6��3& /�&+� .=� - ;=/8�) 6C�4'r, /I!�E�3' /��?!9% /<�m8z6C' . s 6L�$,"-�!"�('"6L' ga_crossover_integer_doublepoints ��1G���O�"�0% �('$, .�� &+.=� 1R&"6L% & /n�=� /���!=� #"!"-+l��4'+1H� /�&�!9&�/-A,"8 , #"� & 1R-"@=� N�!98*";"6L8�*"& �38I, #"�$,"M28�, . vo� ���+� 1�; (hardware) *"� �3�+�") /n�A�"�$/��"M�1G���2) , �0% ,$&L� &k!"1R�2�3; 1H&�� #=� & �4� ) /��?!"� /I�3E<6L�?� ) �38I, 6L�$,9&k!"�4>"6L�58�, ga_doublepoint_crossover_integer_chromosome 1H&�� ga_ crossover_ integer_

doublepoints *+� �Q' .�� &�l���!9- ;��4� @+& /I!"M0/��a� ,=& /�&k!r-=#���,=�m&L� �4�RN"&+% & ��� &L1HM?!"&�� �=� @=�?�Q� 1��"% &�!"� @=*+��% l2

Page 21: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

18

1?&�� l1, * �?�3&+P�7 ��� � *+'9.=Ma, 1R&+� �3�+� *+>"1��=�") �3��� N+!�8t*"�A6�E�*"&��D�+) , �+� �=/n��%W�=� �?1?l!9-�B5�+�G, �3& .=��� 6�'=*"�2% & /n�=� NK!='96k� *+�$/���� �+7R,��D&�� 6C�(' . � &=.+��15&+6K%W& �4'") .�� &+6��3&�7+!98:6�'") . J��(' 6C�R,"MON"��� & , ' 6C�R,�-�!+�3'�6C' .=� &K6C�D&�7=!98:6�'9) ga_crossover_integer_mixing, &A/��"- &�,"&�*+� #r,A7"��� �3& N+!"8<*+��6�E:* &��m& �38�, #"�$,"M28�, 1?&�� �3& /��?!r,"- -+@=��1R�D& 6C�4'r, �0/�;�*"�(,A' #"�(,=� - . {|�36L� , #=� & 1?-+@=� N�!98*";"6�8t*"& &�/�=l�&+6K%�B5�?��&�� , &=,r- �9�A#r& *"� *+� & �3�GN &=% & * �2�3&�F$�+'"�4> &�, &��=�(> �(% ,�&�� .+� -KlC�+!=' �3��� *+'9.=�0,�;=) , �3� NK!�8�*+;�6L8�* & �D�=� /�&���M?!"& , ’ &A,+�3� #+!r&�lL�5% 6��3� #�� � 1?&�� &�,��D% 6��3��� N"& �('9) *='+�3M�!�&+) 6��4'r, 1?;�!=' , .+� &+l���!"�2�(�W15- ,�& #9% ,��=�r, �+� &=,"�4� #=!"&+l�M5) &A,+�m% 6C�D��� N"& .

s �3�GN &=% & *"�?�3&+FA�"'+�4> �"&+*+F"-=,��2� �(� *"> #+� & 1?-+@=� NK!�8t*+;�6L8�* & , 1H&�� 6C�R,=�0/�E�) �D� �3MO�"�") �38<, &=,+�3� #+!�&"l�EI, 1R&�� ' .='+*=� �+�+!G#9% & ��� � ,"M0��� /�� '�@��r6L*+�=7 ���O�9�?� EI,"�?� ;��3&�, �2P5&=,+�}�"'"@=�0% �3� /��">�@=�") �m8<, N+!"8t*��=6o8*�-���8�, .

s /�&k!9&A/~-A,"8 6L�$,r-k!"�('r6' .+� .�'"*=� �=�=!$#"�(% &�,�-A#+1$' #=� & �('R, /I!���6L@�>"1$' ,�M2�+� �$����15�+7 #�� & �('$, &�,+�(� * �2�3E:/�� 6C> �('") . v�� * ;$,�� /��� N+!"��� -=B����3&�� �a% ,r&�� � 1?&=@+��!"� 6C*";") �0,$;+) �3�$N"&+% ��� &�!=� @+*"��7 , 1H-+@+� l���!9- , #�� & �('$, �0/I� �r�A#�> �('�) 1R&��m-=�R�+'��+'�) &=,=�4� #"!"&+lC>�) �D8I, NK!�8�*"�=6L8�*"-L�38I, &=/�; �3�+��) #9�9,"�5% ) 6C�D& /�&+� .=� - .

s 6��$,r-k!"�('r6' ga_crossover_integer_mean, &�/��+�m�(�"�0% �D�=, M?1$�3� �(!�;=/� .�� &"6��&�7+!�8<6L'") /��=� /��?!=� #"!�-+l��?�3&�� &=/�; �(' F"� F���� ��@�>=1R' #"�a,9�?�(� 1REI, &9�$#9;�!=� @=*"8I, 1R&+� 6k�R,�.=�"-=BH�?� �D����) #9�$,";��3��/n�=�") F+!"% 6C1H�A,=�3&+) �3�$, *+M56�� ;�!"� �38I, #r�A,=� .�%W8I, . {|�m6L� &=,r- �9�A#r& * � �3� -=@�!9��� 6*9& �38I, &A,+�D% 6��D��� N 8I, #A�9,"� .A%W8I, , &�/�; �3�=�") .+��� #���,��0%�) , &�, &��+��; �5% ,�&�� @"�?�3� 1R;") &�1HM?!9&k� �+) , 6C�D� #"� � �3� &=,=�D% 6C�3�=� N"� #A�9,9% .�� � �5% ,�&�� ��� '+*=� -+@+!��=� 6k*"& �m8I, #9�A,�� .A%W8I, 1H&�� 6C�4'r, 1R;+!=' ��� *+� 6K; �3�+� &+@�!r�+% 6L*+&��D�=) �38<, #��$,+� ."% 8I, &��"P�'�*"MO,"� 1R&��D- M(,"& . J+� &A,+�3% @=�?�Q' /��2!"% /I��8�6L' , 6��m� &A,+�3% 6C�3��� NA� #"�$,�% .�� � �3��� #+� ��� /��?!r,�-��0� ' �(� *K> ����� *+� 6K��7 �3�=� &+@+!��"% 6�*�&��3�+) �38I, #9�A,"� .A%W8I, *"�2% �A, Ma,r& , �0,=E �3� 'A*+� -+@+!"�=� 6�*�& �38I, #"�$,=� .�%W8I, /���!$,"-+�2� 6C�('R, 1H;�!�' .

s /�&k!r&+/n-�,=8 .+� &K. �W15&+6L% & *"�?�3&+l���!�-+) #9�O,"���4�W15��7 �G�"� 1R�=7 �O/�&�,"&A��&+*+F"-A,"�?�3&+� # � & �m� /��+>r@+�=) �38I, #r�A,=� .�%W8�, .

vo� datapath /��+� ��� 6�-A#"�2�3&�� #"� & �3'$, &A,+�3� *"���3E:/�� 6C' �('9) /�&L!�&=/�-�,"8 .=� &K.=��15&K6�% &�) , *r/���!��2% ,9& �?*r/��?!"� M4N �?� �4� ) M(,R,���� �0) �4'9) /n&�!"&A�R�='$�9% &+) 1H&�� �4'9) &A/��+>") �a,"�m�A�">") *+� �0/��2P5�?!G#A&+6�%W& /n�A�R�"EI, ."�2.+�=*"Ma,98�, (SIMD). {|�36C� M(N+�=�"*"� �(' .��R,"&��m;��('"�m& 6K� M(,"&A, 1G7"12�9� ,�& ��1G�3�(�"��7"*"� �('R, /n&�!"&�/�-=,�8 .+� &+.�� 1H&+6�% & /��+� /��2!+� #+!�-+l��?� ' 6L�$,r-L!=�('96C' ga_crossover_integer_mean #�� & ;A��& �m& #"��,$%W.=� & �38I, .+��� #��$,"M28I, �3&��+�D;9NK!���,$& . u � & �D� 6L1��=/; &��=�3; N+!+'r6k�W*��=/��� �=7$,=��&�� �2� .�� 1H�=% &+@�!"�=� 6C�3M5) , &KlL&���!9M?�3�5) 1?&�� �9�"� 6L@+'=�3M5) /�� � �?1r�3�4�"��7r, .=�5P?� - �$��% 6�@ '96C' .

s �3�O�9�?�+�3&+% & 6L�$,r-L!=�('96C' .+� &+6C�3&�7"!�8<6�'�) /��+� �$�9�=/n�=� �=7=*"� �5% ,"&�� '

ga_crossover_integer_allele_mixing, ' �A/��"% & .=�0, &+l�>R,=�2� 1�&�,"MO,9& NK!�8�*9;+6L8�*�& -+@ � 1r�3� 1�&+� .+'=*+� �=�+!G#A�a% �?1 ,"M2�=� ;9�A& �3& .+�2.���*"M(,$& . J+�$#=1?�?1$!"� * MO,r& , �0/�� �"M(#����3&�� �4�RN+&"% & �D� /n�+� @+& &=,=�3� #+!"&"lC�5% 1?-+@=� #A�9,9% .�� � , *"� ���A, M(�"�4#$N � �a,r;+) �(�GN"&"% ��� boolean &�!+� @�*"�=7 , � �A/n�"% �=) &=, �5% ,�&+� .=� -=l���!r�+) �3��� *+'9.=�0,�;=) 6L�=*"F"&+% ,"�?� &�,+�4� #+!9&�l�> �3��� #9�$,=� .=% ��� �3�+� /n&L�mM�!"& 6C�D� #=� � 1H&�� �D� � &=,"�m% 6C����� N"�+� #���,A� ."% ��� �Q'�) *"'+�3M2!"&+) 6C�('$, 1R;�!"' . J+� &=,"�m% @+���(' /���!�% /I�38z6k' , �3� #r��,$%W.=� � �m�+� /n&���M?!�& *"���3&�F+� F"-+B��2�3&�� 6��('$, 1?;�!=' 1�&+� ��� &=,=�m% 6��3�=� N"� #"�$,�% .�� � �3'�) *='+��M?!�&+) 6��� #+� � . vo� 6+N�>�* & 4.1.1 .+�(% Nr,=��� �D�A, N �2�W!A� 6��(> .=�2.���*"M(,"8I, /��=� *=/��!"�0% , ’ &A,+�3� *"���38:/% 6C�2� �4� ) /�&�!"&�/�-=,$8 /���!A� /I�3E<6L��� ) 6L�G,9&�!+�(>r6C�08I, .=� &K6C�D&�7=!r8�6�'9) , �=� �=/n�"% �2) 6��G,9&A,+�3E�,+�D&�� 6L�G,">�@=8z) 6C� .+� -+lL��!��5) �2l�&�!+*��A#9M2) #"�(,"�?�3� 1REI, & �R#";�!�� @�*98�, .

Page 22: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

19

Special Paralleladder

Special Paralleladder

16 16

Special ParallelSubtractor

Special ParallelShifter

Special ParallelShifter

Special ParallelShifter

16 16

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

0 1 2 3Mux

1616 16

F(15:12) M(15:12) M(15:12) F(15:12) M(3:0) F(3:0)M(7:4) F(7:4)F(11:8) M(11:8) F(3:0) M(3:0)F(7:4) M(7:4)

ms(4)ms(3)

16 16

M(11:8) F(11:8)

44444444

444 4 44 44 4 4 44 44 4 4

ms(4)ms(2) ms(4)ms(1) ms(4)ms(0) ms(4)ms(3) ms(4)ms(2) ms(4)ms(1) ms(4)ms(0)

D12 D8 D4

D12 D8 D4

D12 D8 D4 D12 D8 D4D12 D8 D4

K12 K8 K4

��UWg$d�VLeL^L^ e 2.1.1 ù~S�U�V�UWXCYRZ+[ \�S�\K]C^ _H`"b�` d�UWe YGf ^K]=`"gL\Ke �R��]��z]L��f XTf [ \LUWeL�I�+VKb�` YGh��zb` \LU�eKXCYHekh VLbiXTf [ .

q�� .��$� &�!"� @�*"�=% 16 x�'"lo% 8I, 6��('$, �5% 6��".=� �m�+� N"�?� !+� 6C�(> .=�5.=�=*+M(,"8I, �0% ,r&�� �3& .=�"� N !"8*"�=6oE�*"&L�D& �38I, #9�A,�M58�, , �D& ��/��=% & MON"�+�G, �0/I� �"�4#"�2% * � �(' .=� &".�� 1R&"6�%W& �4'9) �a/�� �"�A#�>") (selection) �D��� #"�4,"�?�(� 1H�=7 &A�r#�;�!�� @ *9��� . J��('R, M2P0�+.�� �3�=� NA�H� !+� 6C�3> ."�2.+�=*"Ma,�8I, /I!"��1R7$/I�D���R, . �"� N !"8*"�=6oE�*"&L�D& , �D& �$/~��% & &A,+�3� 6��3�=� N"��7R, 6C�3� #�� � 1�&L� 6C�('r, 1H;�!�' .

p�,"-A���$#"& *"� �D� /�E<) M4N ����*"� @"M26L�2� �('R, &A,�&=/&k!r-+6��D&+6k' �D��� /I!$��F$�">=*"&����+) , �3� 1H-+@+� N !"8*";=6o8�*"& *�/���!"�0% ,"& /���!=� M4N+��� 4 #"��,$% .+� & �38I, 4bit, 2 �38I, 8 bit > Ma,�& �38I, 16 bit, �3� �=/n�=% � 1?&+@A��!9%�B5���3&�� &=/�; 6�>�*+&��D& �O�AMO#RN+�+� /��+� 6��3M4��,��$,+�3&�� 6��(� ) �H� .+� 1RM0) *"�9,"-".+�2) 1R&�� 6C�3���9) /��A����/C�AMH1r�3�2) 4 6�� 1.

s *+�$,�-+."& �(�"MO#RN ��� , *"� �3& 6L>=*"&��3& /� � 6C�3M4�r,=�2� , 1H&+@=�+!�% BH�?� �Q' .=� &=.�� 1H&=6L% & .�� &+6�D&�7+!98<6C'") /��=� /I!9;�1R��� �m&+� ,"& ��1$�3�4�"�56C�3�2% .

2.1.2 ú�UW\LU���_5[ ^K]�`AgL\�SR[ q �2� .+��15;+) /�&L!r-A�$�='R�"�=) &+@�!r��� 6C�(>") , �2% ,9&�� *=� & �2� .=�W1G> �(!���/n�=/���%�'�6�' �(,�;+) &+/��r��7 /�&�!"-A�R�"'$���=� &+@�!r��� 6C�3> 16 xn'�l�% 8I, , *"� 1R&���-A�$�='R�+' /:!9�A6�@=>+1R' �0/�� /��"M5�$, /��G�"EI, AND. q�� /I7��"�2) M(N"���R, 6C�D;AN"� �m�$, MO�9�O#$N"� .�� -=.+��6�'�) �3�=� 1$!r&��3�+�A* Ma,r��� , M2�36C� E<6C�3� ,=& �2% ,r&k� .+�R,�&��(> ' !"7r@�*=� 6C' �3��� *+>+15�+��) �3��� #��$,=� ."% ��� 6��3� NK!�8*";�6L8t*"& 6C�D&�@"�?!"�=7 *">+1��+��) 16 x�'"lo% 8�, , * � �3& 1R&��3-A�$�"'G�"& 6�>�*+&��D& �(��M(#$N"��� . {��D6�� , �D& 6k>"*"&k�3& �O�"M4#$N �=� D12D8D4, 1R&=@"��!"% B5�=�$, �D�A, �(!9;A/�� *+� �3�$, ��/��=% � �?1R�3�O�A�2%��3&+� ' -+@�!9��� 6k' 1?-+@=� lL�+!"- , .+'G�9&+.�> &�,=-$�"�9#9& * � �Q� ) �Q� * Ma) /��+� ��&�*+F9-=,����R, � �?� .+� 1�;") &"@�!��+� 6C�(>") *r/���!��2% ,9& �?1R�3�O�A�a% 4 /I!���6L@+M56L�2� ) ��&��=��;AN+!��$,"& ��8�, 4 x�'�l�% 8<, , > 2 /I!$�+6K@=M56L�2� ) �38I, 8 x�'rl�% 8I, > �3M4�9�+) *+� & /I!";A6�@"�a6�' #���,=� ."% 8I, 16 x�'rlL%�8I, . p��=�D; , �5P2&�!+�3-���&�� &�/�; �m�$, �(!�;�/n� /n�=� &�,��3� * �?�D8:/n% B��=�"*"� �3� ��1�-K6C�3�+�3� /I!�;�F$� 'A* & . JL�(' 6L�$#"1R�?1R!=� * M4,+' M�!"�2�$,"& , @"�a8t!"�0%��3&�� ;��4� �D� *K>=1H�=) �3�=� N+!"8�*"��6CE�*"&��3�+) �5% ,�&�� 16 x�'9lC% & 15&�� *�/���!"�0% ,=& /��?!+� M(N"�?� 1, 2, > 4 #9�$,�% .�� & �38I, 16, 8 1�&�� 4 x�'9lC% 8I, &A,+�m% 6C�3�+� N+& .

Page 23: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

20

q �?� .��W15;+) /n&L!�-=�G�"'G�9�+) &+l�&��W!�M?�Q'�) �5% ,�&+� � �3!���/��A/��+� '=* M(,��+) &+/��r;+) /�&�!�-=���+'$�r�+) &+l�&�� !"M��4'") , *+� �0/I� /��"M5�9, /�7$�9�2) OR 6L� 1R&��3-=�G�"'��"& 6L'=*"�2% & E<6C�3� ,�& �O�9MO#rN"�?�3&�� 1H&�� /�-$�+� ' .+� -+.=��6C' 1R!"&��3����* M4,"��� . v�� &=/��+�3MO�9�26�*"& �0% ,"&+� ,�& .�% ,����3&�� ' .+�R,=&��D;��('"�3& �O�"M(#GN �=� �38I, /I!"-+P2�58�, , M��36C� E<6��m� ,9& �0% ,�&�� .��R,�&��(> *+� & &KlL&"%�!9�26L' 16 xn'�l�% 8I, , 2 &KlL&�� !�M56L�?� ) 8 xn'9l�% 8�, > 4 &+l�&+� !"M26L��� ) 4 x�'�l�% 8I, . voMO�"�") � ��� .=� 1R;") /n&L!�-=�G�"'G�9�=) �A��� 6K@�'+�3>�) , /I!"&$#+*�&L�m��/���� �0% * � 1�&L�3-A�$��'$�"' !�79@�*+� 6�' /n-�,+�3& ."�2P�� - �$��% 6�@ '"6L' , 1H&�� &=,r- �9�9#A& *+� �3& �Q!�% & 6C>"*"&��3& �4��M(#GN ��� D12D8D4, M4N �?� �0/I� /T�9M2�$, .��R,�&���;��4'"�3& &=/��+*�;�,�8<6'9) �38I, #9�A,�� .=% 8I, 1R&+� P0�ON 8!"� 6��(> .+�0P?� - �9�9% 6L@�'96k' �3�=� 1?&=@=�0,�;=) . JL�('R, �=�"6K% & �5% ,�&+� M(,�&K) �Q!��=/��$/���� '"*"MO,"�") &A/��";") 16 x�'rl�% 8�, /�&L!r- �R�+'��+'�) l�;�!=�38<6C'") �A�"� 6L@+'=�(>") *+� /I!"��6L@�>+1�' /��R�"EI, AND #+� & �m�$, MO�A�Q#rN+� .�� -�.��"6C'�) �D��� &k!�� 6C�3��!��=7 xn'"lL% ��� 6��4'R, &�* M06L8�) �(/~; *"�(,+' .=�2P�� ;��3��!"& @+M06C' . 2.1.3 ����S4dL�o]K[ d�U�e YH] ` �kS?U�VCU�XCYGZ \�S�\K]L^K_a` b` \kU�eLX�Y�eLh+Vob�X�f+[ J��('r, /&k!9��7r6L& �0,$;��('"�m& �4�"M(#GN �+�=*"� �(' .+�$,r&k��;��3'=�3& �3��� (datapath) N+��� !=� 6C�3> ."�2."��*"M(,"8�, , ,9& *$/~��!��5% ,�& �?1R�3�(�"�0% *"� �3& 1R&��D-=�G�+'R��& 6�>A* &���& �4�"M(#GN ��� 1H&+@=�2*K� - &=/�; �3� ) �9�2���D���"!$#�% �5) .+� &=6C��&�7=!"8<6C'�) /n�+� 6C�r,$&=,"�3EI,��D&�� 6L�$,�>"@=8�) , 1R&�� /���!=� #=!"-+lL��,=�3&�� 6L� C &+/n; �Q' F=� F���� �A@�>"1G' #A�O,"���(� 1RE�, & �R#�;+!=� @+*"8�, gaul.

u � & �3' *"�2% 8<6C' �38I, 6k'+*9-��38I, �O�9MO#$N"��� , /n&�!"&��3'+!��5%��m&�� ;��3� �D& 6C>�*+&��D& �4�"M(#GN �=� D12 1?&�� D4 �5% ,�&�� &=/n�A��7+�38<) % .�� & 6L� 1R-+@+� /��?!�% /I��8:6�' .�� &+6L�3&�7+!�8<6L'") 1H&�� #+� & 1H-+@=� *K>=1H�=) #"�$,=� .=% ��� , 6L�$,9�a/�E�) �=��6C� &+6C�(� 1H- &=,=�D% #�� & �(!"% & &+/n&+����� 7r,=�D&k� .=��� 6�>A* &��D& �O�"M(#GN ��� ��� � NA�?� !=� 6C�(> ."�2.=�+*"M(,=8I, ��& L(1) = D12= D4 15&k� L(0)=D8. O /I% ,"&�1�&+) 2.1.1 .=�5% N�,"�a� �D& 6�>A* &��D& �(�"M4#$N ��� , �2% 6K�=.=�+� 6��3� N"�2� !+� 6C�Q> .=�2."��*"M(,"8�, , M?�36L� Ez6C�3� ,"& ��1G�3�(�"�0%���&�� 6L8<6��D- ' /I!�Et�4' 6L�$,�-L!=�3'"6k' .=� &"6C�3&�7"!"8:6L'�) , ;�/�8�) /��2!=� #+!9-�l����3&�� 6��4'r, /�&�!"-A# !$&KlL� 2.1.1, #"� & �D� B���7G#9�=) ��8�, N !"8�*"��6�8�*"-��38<, /��=� �a/I� �"MO#9�?�3&L� 1�-+@+� l���!"- 1?&�� &=/n���3�(���5% �5% 6��+.�� 6�D� NA�?�W!A� 6��3> ."�2.=�+*"M(,=8I, .�� &"6��&�7=!"8<6L'") . {|�36C� &=,=�4�W*"�?��8:/n% BH�?�3&+� ' /:!9E�(' 6L�$,�-L!=�3'"6k' ga_singlepoint_crossover_integer_chromosome 1H&L� ."% ,"�$,��D&�� �3& 6C>"*"&k�D& �O�AMO#RN+�+� �D� � datapath # � & 1R-=@+� 6C'�* �a%W� .�� &+6��D&�7"!"8:6�'�) *"� *"MO#"� 6��(' �4� *�> �D� *+>"1��") �3�=� NK!�8�*"�"6LE�*"&��3�+) , 1R&+� #�� & �3� ) 3 .+� &+lL��!����(� 1RM5) /I�2!+� /I�3E<6L��� ) *+>"1R�=�") �38I, #9�A,�� .�%�8I, (16, 8, 4).

w ��&=, ��� *+>=1H�=) �3�+� #r�A,=� .�%W� � �5% ,�&+� ms(4:0) = 00000 .=�0, M4N �?� ,"; '+*9& ' 1 � 6L�$,9-k!"�4'"6L' , *"� �Q'G, M(,$,9��� & �('�) .=� &+6C�3&+7+!�8<6C'9) 6L� M(,=& 6�'=*"�2% � �3�=� BH�?7G#A� �") �38I, N�!98*9�=6L8t*�-L�38I, 1R&"@+E�) �m& N�!98*"�"6LE�*"&k�D& * �?�3&+l�M?!9�A,=�D&�� &L*"�?�3-+FA��'+��& , &=/�; �3�+��) #��$,"�0%�) 6C�m& /&�� .�� - . �

û��������-ý 2.1.1 �=�=���"�(� �(���3�9�9��� � � � �r�G�� �� � �2� ¡+�0¡"� � �a¢r£�¢ ��� � ¡�� � � �(�L¤  �£���¥ �L� �+¦ �$§ ��¥ � �R¨ �

©Rª «$¬a­0¬ ®m¯�°3±0²0³2´ ²(®3µ�¶5µ�· ­ª ¸2®3¸a³ « °º¹?»"¹

Ga_

Singlepoint Crossover

© ¼r« ®3½�³ ¸0µ ¬ · ­0¬(¾ ¶2»K· ¼R¿

l1

À ª Á ³ ¿  ³Q¹�µ�¸0½W³a´ (bit) L(1) L(0) Z(1) Z(0) Ms(4:0)

0 ≤l1≤1 0 16 X X X X 00000 0 ≤l1≤1 1 16 X X X X 01111 0 ≤l1≤2 0 8 X X X X 00000

0 ≤l1≤2 1 8 X X X X 00011 0 ≤l1≤2 2 8 X X X X 01111 0 ≤l1≤4 0 4 X X X X 00000 0 ≤l1≤4 1 4 X X X X 00001 0 ≤l1≤4 2 4 X X X X 00011 0 ≤l1≤4 3 4 X X X X 00111

Page 24: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

21

0 ≤l1≤4 4 4 X X X X 01111 à ÄCÅRÆ�Ç�È+ÉQÊ$Ä�Ê ga_crossover_integer_singlepoints() Ë2Ì Æ"Í+Î Ê Ë�Ï$É3Ð4Ñ"Ë2Ä�Ê É(Ê"Ò Ó�Í�È9Í=ÓnÇ=Æ�Ô Õ Î Í Õ Î ÏHÍ+Ä�Ì Í+Ò ÍAÑ$ÑrÇ Ö�Î Í ÏHÇ+×+Ë Ø�È9ÔÙ"Ú�ÄLÔtÙ"Í , ÏHÍ�Î ÄCÅRÆ"Ë(Ó�Û�Ò É�Í Ó�Í�È�Í+ÓnÇ�Æ=Ô Ä�Ü=Ù�Í�É�Í Ë4Ñ"Ð(ÖGØ Ý=Å , ÄCÉ3Ý�Æ Ó�Ì Æ�Í�ÏRÍ 2.1.1 Ï5Í=Ñ�Þ�ÓIÉ3Ý=Å$Æ ÉQÊGÆ

Õ Î Í Õ Î ÏRÍ=ÄKÌ�Í Í�Å=É(Ü , Ù"Ë É4ÊrÆ ËaÓ�Í=ÆrÇ Ñ"Ê=ß�Ê É(Ê9Ò Õ Î Í=Ä�É3Í�Þ=È"Ô<ÄCÊ9Ò Í�Å"É(Ü�Ò Ä�Ë Í�È+Î ×�Ù�Ú Ï�Þ+Ï0Ñ9Ô�Æ Ú�ÄLÝ Ë2Ì Æ�Í�Î Ý Í�È=Î ×�Ù�Ú=Ò É3ÔIÆ Ø+È"Ô�Ù9Ý+ÄLÔ�Ù"ÇkÉ3Ô�Æ É3Ý+Å ÏHÇ+×+Ë Ö9Ý$Æ"ÐaÍ . àáÄLÝAÆ Í+âCÝ�ÈrÇ É4Ê

Õ Ë2Þ"É3Ë?È"Ê Ó�ËHÈ"Ì ÓIÉ�Ô:ÄLÊ Õ Î Í�Ä�ÉmÍ�Þ"È�Ô<Ä�Ê�Ò , ÓnÝ=Å Ó~ËHÈ"Î Ö+È�ÇKâ�Ë2Î Ê ÄLÅ$Æ�ÇLÈ=É3Ê"ÄkÊ

ga_doublepoint_crossover_integer_ chromosome(), É3Í ÏHÍkÉ�ÇAÑ$Ñ=Ê$ÑrÍ ÄLÜ=Ù"Í�É3Í ËOÑ"Ð(ÖGØ Ý�Å Ö�Î Í ÏHÇ+×=Ë Ó�Ë�È�Ì ÓIÉ3ÔIÄ�Ê Ù+Ü"ÏRÝ=Å"Ò Ö9ÝAÆ�Î Õ Ì Ý=Å Ï5Í�Î Ö=Î Í Ï�Ç+×"Ë ãHË?ÞRÖ�Ý"Ò ÄCÊ"Ù"Ë2Ì ÔIÆ Õ Î Í+Ä�ÉDÍ�Þ=È"Ô<ÄCÊ9Ò , Õ Ì Æ�Ý�Æ=É3Í+Î ÍAÆ+É3Ì Ä�ÉmÝ+Î Ø"Í Ä�É3ÝAÆ Ó�Ì Æ"Í�ÏHÍ 2.1.2. ä<Ë x Ä�Ê=Ù"Ë?Î ÛIÆ�Ý$Æ+É3Í+Î ÏHÍ�É3Ç É�Í Ö$ÆRÔzÄ�É3Ç , Ý�Î Í Õ Î Ç+âLÝ�È9Ý�Î Ú�È�Ý�Î .

å�æ�ç�è�é�è<ê

2.1.2 �A�+�r�+�4� �Q�A�Q�G����� � � � ���G�  �� � �2� ¡"�0¡=� � �0¢�£�¢ �=� � ¡L� � � �(�K¤  =£���¥ �L� ¡�� ¦ �A§ �C¥ � �R¨ �

©$ª «R¬2­0¬ ®m¯�°4±0²0³0´ ²(®3µ�¶0µ�· ­ª

ë�®(¸0³ « °º¹�»=¹

Ga_ Doublepoint Crossover

© ¼?« ®4½ ¬ ¸0µ ¬2¿m­(¬a¾ ¶5»�· ¼�¿

l1,2

À ª Á ³ ¿  ³3¹�µ�¸(½�³0´ (bit) L(1) L(0) Z(1) Z(0) Ms(4:0)

0 ≤l1,2≤1 0,1 16 X X X X 01111 0 ≤l1,2≤2 0,1 8 X X X X 00011 0 ≤l1,2≤2 0,2 8 X X X X 01111 0 ≤l1,2≤2 1,2 8 X X X X 01100 0 ≤l1,2≤4 0,1 4 X X X X 00001 0 ≤l1,2≤4 0,2 4 X X X X 00011 0 ≤l1,2≤4 0,3 4 X X X X 00111 0 ≤l1,2≤4 0,4 4 X X X X 01111 0 ≤l1,2≤4 1,2 4 X X X X 00010 0 ≤l1,2≤4 1,3 4 X X X X 00110 0 ≤l1,2≤4 1,4 4 X X X X 01110 0 ≤l1,2≤4 2,3 4 X X X X 00100 0 ≤l1,2≤4 2,4 4 X X X X 01100 0 ≤l1,2≤4 3,4 4 X X X X 01000

ì Ó�Ì Æ"Í�Ï�Í+Ò 2.1.2, Î Ä�Ø+Þ9ËHÎ ÏRÍ+Î Ö�Î Í É(Ê Ä�ÅGÆ9Ç�È=É(Ê9ÄCÊ ga_crossover_integer_doublepoints(), Ù"Ë É(Ê Õ Î Í+â�Ý+È�Ç Ú�É(Î Ê ÄkÅRÖ+ÏRË2Ï$È=Î Ù"Ð(Æ+Ê ÄLÅ$Æ9Ç�È=É(Ê9ÄCÊ ÓIÈrÐaÓ�Ë?Î Æ"Í Ë�Ï$É3Ë4Ñ"Ë2Ä�É3Ë2Ì É3Ú"ÄLÝ=Å"Ò Ï$Þ=Ï0Ñ"Ý=Å"Ò , Ú�Ä�Ý É3Ý Ó�Ñ Ü�×=Ý"Ò É3ÔIÆ ØKÈ9ÔÙ"Ý�ÄLÔ�Ù+Ç�É�Ô�Æ Ï�Ç+×"Ë ÖAÝ9Æ"Ð0Í . í�Å"É3Ú Ä�ÅAÙ+î"Í"Ì Æ�Ë2Î Ë2â�Ú+ÄKÝ$Æ ×=Ë2ÔtÈ�Ë0Ì�É3Í�Î Ú+É4Î Ö=Î Í Ï?Ç=×+Ë ÏrÞ=Ï2ÑrÝ

Õ Î Í+×+Ð2É3Ý+ÅAÙ Ë Õ Å9Ý É3Å$Ø"Í+Ì Ý�Å�Ò Í�È"Î ×�Ù�Ý�Þ9Ò , Ý+Î Ý=ÓÝAÌ Ý+Î Ë2Ì Æ�Í�Î Õ Î Ç=â�Ý�ÈrÝ�Î Ù Ë2É3Í�ï2Þ É3Ý�Å9Ò . ä�Ë É(Ê ÄkÅrÆ$ÇLÈ=ÉQÊ$Ä�Ê ga_crossover_integer_mixing(), Í=ÓnÝ+âoÍ+ÄLÌ ã�Ë�ÉmÍ�Î Ê É4Î Ù"Ü ÉDÔIÆ Ä�Ê�Ù"ÇkÉDÔIÆ Ë(Ñ�Ð(Ö$Ø"Ý�Å É�Ô�Æ ÓnÝAÑ"Å$Ó�Ñ"Ë�ÏGÉ�Û�Æ Í=Æ�ÇAÑ"Ý$Ö�Í Ù"Ë É4ÊRÆ É4Î Ù+Ü Ù+Î Í+Ò É3ÅGØ"Í+Ì Í+Ò Ù"Ë�É3Í�î$Ñ+Ê"É4Ü"Ò , Ê Ý=ÓnÝ"Ì Í ÍAÆ Ë5Ì Æ�Í�Î Õ Î Ç+âLÝ�È=Ê É3Ý=Å Ù+Ê Õ ËaÆ9Ú=Ò , É3Ý ØKÈ9Ô�Ù"Ú"ÄLÔ�Ù"Í ÉmÝ=Å Ó�Í�É3Ð�È"Í Í+Æ=É3Î Ö"È�Ç+â�Ë�É3Í�Î ÄCÉDÝ Ö"Î Ý , Ï5Í�Î É(Ê"Ò Ù"Ê+É3Ð2È"Í+Ò Ä�É(Ê$Æ Ï?Ú�È=Ê , ÄkÅrÆ�ËaÓÛ�Ò Ë5Ì Æ�Í+Î ms(4:0)=00000 ÄCÉ(ÊrÆ ÓIÈ�ÛtÉ(Ê Ó�Ë�È�Ì ÓIÉ3ÔzÄkÊ , Ë(Æ�Û Ú+ÉmÍ=Æ Ê Ù"Ë?É3Í+îAÑ"Ê+É4Ü Ë5Ì Æ�Í�Î 0 É�Ý ØKÈ9ÔÙ"Ú�ÄLÔÙ"Í É4Ê"Ò Ù+Ê=É3Ð�È"Í+Ò Í�Æ�ÉQÎ Ö+ÈrÇ�â�Ë?ÉDÍ�Î Ä�É3Ý Ö+Î Ý ÏHÍ�Î É�Ý�Å Ó�Í�É3Ð?È9Í ÄCÉ3ÊRÆ ÏHÚ�È+Ê , ÝAÓÚ�É3Ë ms(4:0)=01111. à ÄLÅ$ÆrÇkÈ"É(Ê�ÄCÊ ga_crossover_integer_mean() ÍAÓ~Í�Î É3Ë2Ì Ø È+Ü$Ä�Ê É�Ô�Æ Ë�Î Õ Î ÏHÛIÆ Ù"Ý�Æ$Ç Õ Ô�Æ , Ï�Í+Î É�Ô:Æ Ä�Ê�Ù"ÇkÉDÔIÆ ËOÑ"Ð4Ö$Ø Ý�Å L(1), L(0), Z(1), Z(0), Ú=Ó�Ô:Ò Ï�ÍK×=Ý+È�Ì ã5ÝAÆ=É�Í�Î ÄCÉDÝAÆ ÓÍkÈ9ÍkÏ5ÇLÉmÔ ÓÌ Æ$ÍLÏHÍ Ö=Î Í Ï?Ç+×=Ë Ó�Ë?È9Ì ÓIÉ3Ô<ÄCÊ . ðoÓnÌ Ä�Ê�Ò , Í�ÓIÍ+Î É3Ý�ÞRÆ+ÉDÍ�Î Õ Å�Ý Ë0Ó�Î Ó�Ñ9Ð2Ý�Æ ÄLÜ+Ù�Í�É�Í ËOÑ9ÐOÖ$ØAÝ�Å ctrlm ÓÝ�Å ÏRÍ"×=Ý+È"Ì ã2Ý=ÅrÆ

Page 25: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

22

Í�Æ É3Í ÄCÜ�Ù Í�É3Í Ë4Ñ"Ð(ÖGØ Ý=Å ms, É3Í Ý=ÓnÝ�ÌWÍ ÏRÍ=×+Ý+È$Ì ã�Ý=ÅrÆ É3Ý Í�Ó�Ý�É3Ð4Ñ"Ë2ÄLÙ+Í ÓIÈ"Ý"Ð?ÈGØ Ý$Æ+ÉmÍ+Î Í=ÓÚ É(Ê Ù"Ý$Æ"Ç Õ Í Ë(Ñ�Ð(Ö$Ø"Ý�Å , Ü Í=ÓnÚ Ç=Ñ�Ñ"Í ÄCÜ=Ù"Í�ÉDÍ ÓnÝ+Å ÓIÈ�Ý�Ï�ÞrÓIÉ3Ý=Å$Æ Ù"Ë?É3Ç Í�Ó�Ú ÓIÈ9Ç+ï2Ë?Î Ò Ä�ÉmÝ datapath, Ú=ÓnÔzÒ Ï?Í+×AÝ�È9Ì�ã5Ë2Î Ý Ö9ËaÆ"Ë2É3Î�ÏHÚ+Ò ÍAÑ$ÖrÚ�È"Î ×�Ù"Ý=Ò , ÏRÍ�Î Ó�Í�È"Ý Å9ÄkÎ Ç+ã5Ý$Æ�É�Í�Î Í�Æ�ÍAÑ=Å"É(Î ÏHÇ ÄCÉ3Í Ë(Ó~Ú=Ù"ËaÆ�Í . ñ É�ÄCÎ , Í=ÆrÇ=ÑrÝAÖ�Í Ù"Ë ÉmÝ Ù+Ü+Ï5Ý+Ò É3Ý�Å Ö9ÝAÆ�Î Õ Ì Ý=Å , ÉDÍ ÄkÜ"Ù"Í�ÉmÍ Ë(Ñ"ÐOÖRØ Ý�Å Ñ"Í�Ù+î�Ç=Æ9Ý�ÅRÆ ÍAÆ9ÇAÑ"Ý9Ö"Ë5Ò ÉQÎ Ù+Ð0Ò , ËaÆ"Û É3Í Ä�Ü�Ù"ÍLÉmÍ Ó�Ý�Å Ë4Ñ"Ð(ÖGØ Ý�ÅrÆ ÉDÝ�Å9Ò ÓÝAÑ=ÅrÓ�Ñ"Ð2ÏGÉ3Ë5Ò Ñ9ÍkÙ+î"Ç=Æ9Ý ÅrÆ É(Î Ù"Ð2Ò Ó�Ý=Å Ë5ï0ÍkÈ"É3Û:Æ+ÉDÍ�Î Í=Ó�Ú É�Í ÄCÜ=Ù"ÍLÉDÍ ÏRÍ�ÉDÇ+ÄÉDÍ+ÄLÊ"Ò Ó�Ý�Å ÓIÈ�Ý+ÏGÞrÓIÉmÝ+ÅGÆ Í=ÓÚ É(ÊRÆ Ð0ï2Ý Õ Ý ÉmÝ+Å ÓIÈ"ÛÉ3Ý=Å Í+×�È"Ý=Î ÄCÉ(Ü . ò$Î Í Ï5Ç�×"Ë 4 ß�Ê�â�Ì Í Í=ÓÚ É3Í 16 É�Ý�Å Í�Ó�Ý�ÉmË(Ñ"Ð2ÄCÙ9ÍkÉ�Ý=Ò É4Ê9Ò ÓIÈ"ÚAÄ�×"ËaÄ�Ê"Ò , ÄLË Ó�Ë?È9Ì�ÓIÉDÔ�ÄLÊ Ó�Ý=Å ÐOØAÔ 4 ßnÊ9â�Ì Í Ù+Ü=ÏHÝ+Ò ÖAÝ9Æ"Î Õ ÌWÝ=Å , Ë2ï2Ë2É3Ç+ã5Ë?É3ÍLÎ Í�Æ Ë?ÏHâÈ"Ç=ãHÝ=Å$Æ Ð(Æ�Í�Æ Í�È$Æ�Ê+É(Î Ï?Ú ÍkÈ"Î ×�Ù�Ú Ü 0, Ý�ÓnÚ�É3Ë Ä�É3Ý Ö"Î Ý Ó�Ë?È$Æ9Ç�Ë2Î Ê É4Î Ù+Ü (sum-1)/2, Ê É(ÈrÌ�É(Ê ËaÓ�Î Ñ�Ý$Ö+Ü Ï?Í�Î ÄCÉ(ÊRÆ ÏRÚ�È"Ê É3Ý Í+ÓnÝ=É3Ð(Ñ"Ë2ÄCÙ"Í sum/2. óIÎ Í+â�Ý+È�Ë?É3ÎWÏ�Ç Ý Ö=Î Ý+Ò ÓÍ�Ì�ÈrÆ�Ë2Î ÉQÊ$Æ É4Î Ù"Ü sum/2 ÏHÍ�Î Ê ÏRÚ+È+Ê É(ÊRÆ É3Î�Ù"Ü (sum+1)/2, É�Í ÝAÓ�Ý=Ì Í Í=ÓÝ�É3Ë(Ñ"Ý=Þ$Æ ÉQÊ$Æ Õ Ë?Þ+ÉDË?È+Ê Ë0Ó�Î Ñ"Ý$Ö=Ü Ä�É3Ý�Å9Ò Ó�Ý$Ñ=ÅRÓnÑ�Ð�Ï$ÉmË5Ò . ñ É3ÄkÎ Ù"Ë 4 ß�Ê"âoÌ Í Ù+Ü+Ï5Ý+Ò Ö9ÝAÆ�Î Õ Ì Ý=Å , Ú�ÓnÔ�Ò Ï5Í�×�Ý�È�Ì ã5Ë?É3Í�Î Í=ÓÚ É3ÊRÆ Ë(Æ=É3ÝAÑ�Ü , É3Í Ä�Ü=Ù"Í�ÉDÍ ÏHÍLÉmÇ+ÄCÉDÍKÄkÊ9Ò e3e2e1e0 Ë2Ì Æ�Í�Î Ë�ÏRË0Ì Æ�Í ÓnÝ=Å Ï�ÍK×�Ý�È�Ì ã5Ý�ÅRÆ É(Î Ò É3Î Ù"Ð2Ò É3ÔIÆ ÄCÊ=Ù"ÇLÉ3Ô�Æ Ë(Ñ�Ð(Ö$Ø"Ý�Å Ms(3:0). àáÄLÝ�Æ Í+âLÝ�È9Ç ÉmÝ Ä�Ü�Ù"Í Ms(4), Ä�É(ÊRÆ Ó�Ë?È9Ì ÓIÉ3Ô�Ä�Ê ÅGÑ"Ý$Ó�Ý=Ì�Ê9ÄkÊ9Ò É3Ý�Å ÄkÅRÖ+ÏRË2Ï$È�ÎWÙ"ÐOÆ"Ý=Å É4ÞrÓ�Ý�Å Õ Î Í=ÄCÉ�Í�Þ=È"Ô<ÄCÊ�Ò , ÓnÍ+Ì�È$Æ9Ë?Î Ä�É3Í=×+Ë2È"Ç ÉQÊ$Æ É(Î Ù+Ü 1 Ö"Î Í Ï5Ç+×=Ë Ù�Ü"ÏRÝ=Ò Ö9Ý$Æ=Î Õ Ì�Ý=Å . ôoÍ ÄkÜ+Ù9ÍkÉDÍ ÏRÍ�ÉDÇ=Ä�É3Í"ÄCÊ"Ò Õ ËaÆ ÄCÊ"Ù"Ë?Î ÛIÆ�Ý$Æ+ÉmÍ�Î ÄCÉ3Ý

Õ Î ÇAÖ+È�Í�Ù"Ù+Í É3Ý�Å Ø Ë2Î È+Î Ä�É(Ü Õ Ë Õ Ý Ù Ð(Æ"Ô�Æ É4Ê9Ò Ù"Ý$Æ"Ç Õ Í+Ò Õ Î Í+ÄCÉDÍ�Þ=È"Ô<ÄCÊ9Ò , ÓIÈ9Ý�ÏGÞrÓIÉmÝ+ÅRÆ Ú=Ù+ÔzÒ Ù"Ë ÉQÊ Ø+È"Ü�ÄCÊ Í=Ó�ÑAÛ�Æ ÄCÅGÖ+ÏRÈ=Î É�Û�Æ ÄCÉ�Ý Í=Ó�Ý�É3Ð(Ñ�Ë5ÄCÙ"Í É3Ê�Ò Ç"×�È�Ý�Î ÄCÊ"Ò É3ÔIÆ ÖAÝ9Æ"Î Õ ÌWÔIÆ . õ É(ÊrÆ Ó�Ë�È"Ì ÓIÉ3Ô<ÄkÊ ÓÝ=Å Ê Ù Ý$Æ�Ç Õ Í Ø Ë2ÎWÈ$Ì ã5Ë?É3Í�Î 2 Ö�Ý�Æ$Ì Õ Î Í ÉDÔIÆ 8 ß�Ê�â�Ì ÔIÆ , ÓIÈrÍ=Ö=Ù"Í�É�ÝAÓ�Ý=Î Ë2Ì�ÉmÍ+Î Ý Ì Õ Î Ý=Ò ÐOÑ9ËOÖrØ"Ý+Ò , Ú�Ù Ô<Ò Ù+Ë Õ Î ÍKâLÝ�È"Ë�É(Î Ï�Ç ÄCÜ=Ù"ÍLÉDÍ ÏRÍ�ÉDÇ+Ä�ÉmÍ+ÄLÊ"Ò , É3Í Ý=ÓnÝ�Ì�Í ÏRÍ=×+Ý+È�Ì ãHÝ9Æ+ÉDÍ�Î Ú�Ó�Ô�Ò Ä�É3Í Ó�Í�È"Í�Ó�Ç=Æ$Ô Í+ÓnÚ É ’ Í=Ó�Ý�É3Ð(Ñ�Ë5ÄCÙ"Í É4Ê"Ò ÓIÈ�ÛtÉ(Ê�Ò Ç+×+È"Ý Î Ä�Ê�Ò . äzË 8 ß�Ê9â�Ì Í Ù+Ü"Ï�Ý"Ò Ö"Ý$Æ=Î Õ Ì Ý�Å , ÅRÓ�ÇLÈGØ"Ý=ÅrÆ

2 ß�Ê�âLÌ Í Ï�ÍLÉDÇ+ÄCÉ3Í=Ä�Ê9Ò s1s0, Ö"Î Í ÏRÇ=×+Ë ÖAÝ9Æ9Ì Õ Î Ý , É3Í ÝAÓ�Ý"Ì Í ÏRÍ+×=Ý+È�Ì ã�Ý+ÅRÆ É(Î Ò É4Î Ù"Ð5Ò É3Ô<Æ Ms(3:0) = s1s1s0s0. ìIÓ�Ú�É3Ë Í=Æ Ï5ÇK×=Ë Ð(Æ�Í Í=Ó�Ú É3Í

Õ Å"Ý ÖrÝ�Æ�Ì Õ Î Í Ë5Ì Æ"Í�Î Í�È$Æ"Ê=É3Î ÏRÚ Ü ÙKÊ Õ ÐOÆ , É�Ý ÍAÆ+ÉmÌ Ä�É3Ý=Î Ø+Ý ß�Ê�â�Ì Ý Ï�ÍLÉDÇ+ÄCÉmÍ+Ä�Ê�Ò Ñ�Í�Ù+î9Ç=Æ�Ë?Î É3ÊRÆ É4Î Ù+Ü 1. õ É(ÊrÆ É3Ë4Ñ"Ë?Å"ÉmÍ+Ì Í Ó�Ë?È�Ì ÓIÉ�Ô�ÄLÊ , ÉDÌ ×=ËaÆ"ÉmÍ�Î ÓnÍ�È"Ú=Ù"Ý+Î Í Ý�Î É3Î Ù"Ð2Ò É3ÔIÆ ÄCÊ"Ù"Ç�É3ÔIÆ ËOÑ9ÐOÖ$ØAÝ�Å É3ÔIÆ Ó�Ý$Ñ=Å�Ó�Ñ9Ë?ÏrÉ3Û�Æ , ÄLÞ=Ù"â�ÔIÆ�Í Ù"Ë Õ Î Í+â�Ý�È9Ë?É(Î ÏHÇ ÄCÜ=Ù9ÍkÉ�Í ËOÑ9ÐOÖrØ"Ý�Å . ôoËOÑ Î Ï�Ç ÄCÉQÊ$Æ Ó�Ë?È�Ì ÓIÉDÔ�ÄLÊ Ó�Ý�Å ÉmÝ ÖAÝ9Æ9Ì Õ Î Ý ×+Ë2Ô�È"Ë2Ì�ÉDÍ�Î 16 ß�Ê�â�Ì ÔIÆ , Å$ÓnÇLÈGØ Ë�Î ÐaÆrÍ ßnÊ�â�Ì Ý Ï�ÍLÉmÇ+Ä�É3Í+ÄCÊ�Ò y É3Ý ÝAÓ�Ý�Ì Ý ÉDÌ ×+Ë?É3Í+Î Ä�É3Ý 1, Ú�ÉDÍ=Æ

sum ≤ 0, ÏHÍ�Î Ï?Í=×+Ý�È9Ì ã�Ë�Î ÉmÍ ÄCÜ=Ù"Í�ÉDÍ ËOÑ9ÐOÖ$Ø"Ý+Å É�Ô�Æ Ó�Ý9Ñ"Å�Ó�Ñ�Ë�Ï$É3ÛIÆ Ô<Ò Ë2ï�Ü�Ò : Ms(3:0)=yyyy. ôoÍ ÄLÜ+Ù�Í�É3Í ËOÑ9ÐOÖ$Ø"Ý+Å Z(1) ÏHÍ�Î Z(0), ÏRÍ"×+Ý�È�Ì ãHÝ=Å$Æ Ó�Ô<Ò ×"Í ÖrÌ Æ�Ë�Î Ê ÓIÈ�Ú=ÄK×+Ë2ÄLÊ Ü Ê Í"â�Í=Ì�È"Ë5ÄkÊ Ù"Ë É3Ý 1 ÄLË ÏRÇ=×+Ë Ö�Ý�Æ$Ì Õ Î Ý , ÏRÍ�Î Ä�É(ÊRÆ Ý�ÅrÄKÌ�Í Í=Æ=É4Î ÓIÈrÝ+Ä�Ô<Ó�Ë?ÞrÝ�ÅRÆ ÍAÓ�Ú É3Ý$Æ

Õ Ë�Þ+É3Ë2È"Ý Ú�È$Ý 16 ß�Ê9âLÌ�ÔIÆ ( ÓIÈ"Ý=ÄK×+Ë?ÉDÐ2Ý Ü Í+â�Í�Î È"Ð�É(Ê ), ÉDÝ ÓIÈ�ÛtÉmÝ ßnÊ"âLÌ Ý ËOÑ9ÐOÖ$Ø"Ý�Å Z(1) ÉmÍ 12 ö ÷?ø�ù 4 ö únû�ü�ý ø ÷Hø�ù þ3ÿ �����+þ����"ÿ Z(0) þ3ÿ 8 ö ú�û�ü�ý ÿ , ø�"þmý�Cþ�ÿ�ù �"ø . ������������

2.1.3 ��������� � ! "$# %'&)(+* %�, � -�, ��./� �/021�34.65

�7028 (/* ga_crossover_integer_mean

9;:2<;=�>?=

@BADCFE G7H�I G @FJLK�JLM >B: NO@FNOH < CQPSR�P TU:�V H�W X H PSJYN7ZLH[I

(bit) L(1) L(0) Z(1) Z(0) Ctrlm(1:0) Ms(4:0) 4 0 0 1 1 01 1e3e2e1e0 8 1 0 0 1 10 1s1s1s0s0 16 1 1 0 0 11 1yyyy

\oø ^]�_"ø�þ3ø �?`�a b'� ÿc Ctrlm �2ý ��ø�ù d�e$�+þmø 00 b=ù ø f�`)�7g þ(ù g c�d�f)`9ÿ�ù dh�7g d��S�=ù dIþ�i�/�?ù g , �?÷Rþ�f�g ød�f þ(û;� c'`"ÿ$d�ÿAý�û�kû þ(û�g /c;��e^�"þ(û$Lû$g ga_crossover_integer_mean() jlknm jho�p jrq[s t$u v u�w�k+o�s xzy�k{;t u�j�| y ’ u}jlk}y�q ~�p�xz�)u^yBu y�k�m �nqSs�o�s x�y � ��q7��kn��p7t���t . ��p?~�k�� � ~�q�s�y�km�o'�)��u y���� x/m't)�+o�y ��xl�)� ga_crossover_integer_allele_mixing, m'~)k�j�ks qO��y�u�s x�q y�|�x+k+m)� v { v ~$k�m$� o�k;~�k)��s k+{ , |�x/k qO� t;u/s y�k j�~�)wk�� y��ht ��k�t$s ����ht v �+w�q ��k}o)� v u+s ��s u v ��w�q

Page 26: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

23

�no�����|x�����u . ��q v ��w�q v { v ~�k ��s u y �2t q[j�s ~$k;��� y��ht xz�$�n�+y��ht q?~�p?�2��km ~)u+��n��t�q�y�u+s m;j�|���� p7t$u y�m'�nu��u q[j�s ~�q?�n��p?t)k �4�)��� k l3, y�k k�jlk��k �$jlk+o$qO� t$u p���qSs y �;t y�s���� 0 � 1 v u+s ut)�n~�k��)u ut q[� t)u+s 1, y�k x/m;� v q v o�s �np t$k v �w�q ��k}o)� �$k;t$����s k y�k}m ��s k}m jho�k�p�oS�nq�y�u+s u�j�| y�k�t j�u/y�pSo$u , qFt�� y �)� v |+o���� uj�| y��;t ����y�p�o)u , ��s u��/k+o$qSy s v � s x}��{)q�s yBk u�t�y�� xzy�o�k�/k . ��y�x^s j��$t�y�u q�� t�u�s � ’ u}m�y � y � x^m�t;�/oy �)x^� ms(4) = 0, v u+s v ��w�q �zk+o�� ut;�~$k���u ��q y�k �� v k�� y�k}m �$k;t�s ����km , y�u m$j�|)~�kns j�u xz���$u/y�u qF~�p �'�nk�m ms, ~�u+��n��t$km;t y�s � v u^yB��~;~$�;~�q7� y s���p�� , |�j���� �zu�� t�q�y�u�s xzy�k)t jl� t;u v u 2.1.4.

�+y�k$t j�u/o$u v �^yB� j�� t$u v u w�q���o�q7�Yy�u}s |}y�s y�k x��$��u q?~�p�����k+m d qO� t$u+s y�k ut�y��LwqSy�k y�k�m y�m'�nu�� k}m x����u+y�k�� l3, pSy�x^s ��xzyBq |}yBut y�k y�m'�nu���k x/���$u q�� t�u+s 1, jho�������u+yFs t$u q7j4s ~$p ��q�y�u/s y�k u�t�y�� x�y�k�s ��k ��k)t)���ns k ��s u y�k�t �$s k uj�| y�k;t j�u/y�p�o�u v u}s y�k �)k;t$� �+s k y ��� v |}o��)� u}j�| y��;t ����y�p�o�u , q t�� xzy ��t j�qSo$��jhy��hx�� jrknm y�k y�m;��u�� k x^���)u q[� t�u+s 0, t$u j�q�o$t;��q�s x�y�k ��s k y�k uty���x�y�k�s �)k ��k;t$� �}s k y �)� ����y�pSo$u�� , v u+s xzy��'t v |}o�� y�k}m j�u+y�p�o)u , v u+y ’ u�t�y�s xzy�k�s ��� u . �������� ���¡

2.1.4 ¢$£�¤;¥�¦ ¥ §�¨�©�ª'«$¬+­ ª�® ¥ ¯�® ¥�°/¦ ¥/±2²�³�°�´

¦7±2µ ¬/­ ga_crossover_integer_ allele_mixing

¶�·S¸�¹�º

»$¹ ¼S½L¾[¿À¹?Á (bit)

Ms(4:0) 4  Ã7Ä�ÅSÆYÇ7ÈLÄ

Ms(4:0) 3  à Ä�Å�ÆLÇ7È�Ä

Ms(4:0) 2  Ã7Ä�ÅSÆYÇ7È�Ä

Ms(4:0) 1 Â�Ã?Ä ÅSÆYÇ7ÈLÄ

4 0 d000 00d00 000d0 0000d 8 - - 0 dd00 000dd 16 - - - 0dddd

2.2 ÉhÊ�ËÀÌ�Ë Í+ÎzÏlÍ Ð�Ê�Ð�ÑUÒ�Ê6Ó�ÔUÓ Õ�Ë Ö Î�Ï ÒUÑ�Ó�Ö4Ð�Ö Ò�Ê^Î}Ö�×�×6Ö�Ø�Ï6Í (MUTATION UNIT) 2.2.1 ÉÚÙ'ÛLÜ�ÛLÝzÞ2ß�à á+ÙSá�âzãnä[å�æçå è�Ûêé Þ2ë ã�â}å�ì/á+é ã�Ù[ÞDì�íí/é�î�ënà (mutation unit) ï�ð ñ+ð ò�ñ�ð�ó2òô�õ�ö�÷ ønö�ù�únû2û�ò�üSý�÷ , þ�ÿ�� �'û)ÿ�þlÿ}ð ÿ ��� ù�ò+ð ô�ö hardware þ�ö��ð û$ò/ø��$ú � ÿ� � ù ý û�öDðLù�ÿ�����)õ�ò ù�� �

ô � � ò���ù���ô/ö�� � þ�ÿ�� ñõ � ÿ � ù�ò}ð ô/ö C ó�� ñ+ð�óSò ò}þ�� ù�ý ��ð �;û�ð ÿ����ó2ý gaul, ôzù�ÿ

þ�ò���ú���ù�ýø)ò � . � ô�� � ú��ù ý�ôzý ga_mutate_integer_singlepoint_drift, ò � ù�ð ���ú��6ö[ð �)û)ò ù�ò �����Uø�ÿ$ô���ø�ò+ù�ò òþ�� ù�ÿ � þ�ò+ù �!�$ò ôzù�ÿ �ð ÿ óOò+ð ö[þ�ð û"�#)ÿ � ù�ò+ð ù��$�$ò�õ�ò � � ò ���%��ø%�ô���ø�ò óOò+ð � � ò �ÿ � õ�ñð ÿ ô ’ ò��ù�� ù�ÿ �&�"��ø"�ô'��ø�ò , ù�ÿ ÿþ�ÿ$õYÿ þ(�"��ó2ö�ð�ù�ò}ð � ò �;þ�ÿ$ôzù�öOõ ønö�ù�ú;û;û)ò+ü�ý . � ønö�ù�únû2û)ò�ü�ý ù�ÿ�� )ÿ � ð ñ�õ�ÿ�� ò��ù�ÿ �

��ò öOõ � ò}ð ý þ(���ô'�ö�ô/ý � ý ò���ò�õ)�$öOôzý ù�ÿ�� 1 òþ�� ù ý � ò�����ð�ó*� ù�ð�ø�� ù�ÿ� , ö � � óDò^ù+��þ�ð � þ(�)ò&$ønò+ù�ÿ$þ�ÿnð ö õ�ù�ò}ð � û$ö�$��ÿ�÷ ù ý$÷ � �7ò�÷ ùFð�ø��)÷ ùBÿ� �ÿ � ð ñ$õYÿ�� , ó2ò}ð ò �

ö[õ � ò}ð ønö,�ò�û � ù�ö!��ý òþ-� ù ý � ø"���ð ô�ù ý ò+ó!�!�$ò�ð�ò ùFð ø�� þ�ÿ�� þ�ò�õ)� � öSð ù�ÿ $ÿ � õ�ñð ÿ ù+�}ù�ö ù�ÿ �ÿ � õ ñ+ð ÿ û�ò/ø���ú � ö�ð ùFý � öFû�ú.��ð ô�ù�ý ò+ó!�!�$ò+ð ò ù�ð�ø�� , ö � � ò � �#��öSð ù ð�ø"� øðLó��"��ù�ö!��ý ò$þ(� ù ý � ö û�ú.��ð ôzù�ý ò+ó*���$ò/ð ò ù ðLø�� ù�ÿ�� $ÿ � ð ñ$õ�ÿ&� ù���ù�ö þ�ò�õ)� � ö�ð ù ý � ø"���ð ô�ù ý ò/ó����$ò+ð ò ù ð�ø�� . /�ö��0�"� � ù�ò+÷ ��ù ð ù�ÿ ö�ó2ú�ô�ù�ÿ}ù�ö þ(�"����û$ý�ø)ò ò � ù ð ønö�ù+� þlõ21Dö�ù�ò+ð ø�ö ���"��ôzý �3�)ô^ð�ó*� �

ò��$ð �nø&� �, ý þ(�"��ù�ý þ�ö���õ þhù4� ô^ý , ù�ÿ òþ�ÿ+ù+�?û�ö�ôzø�ò ù ý)÷ þ(��ú�üSý$÷ � ò öOõ � ò+ð ø�ö,�ò�û � ù�ö���ÿ ò�þ-�

ù�ý ø&�,ð ô�ù�ý ��ö�ù�ðYó*� ò+ó!�5��ò�ð�ò ùFð ø�� þ�ÿ�� ø$þ�ÿ�$öOõ � ò û)ú���ö�ð ù�ÿ �ÿ � õ�ñ}ð ÿ , ô^ý�ø)ò+õ � ö7ð �}ù ð ù�ÿ ó*��ò+ù�ÿ � ø�ö � ÿ öOü6��ñÿ� òþ�� ù ý � þ(�"��ô'�ö�ô�ý ��ò ö õ � ò+ð 1, ÿ$þ-�+ù�ö ù+�+ù�ö ô � ø"� � � ò ø�ö ù�ÿ � òû�%���ð �}ø�ÿ �ò þ(�"�7þ�ö�ð ù�ÿ �ÿ � õ�ñnð ÿ

� ò û�ú���ö�ð ù ý � ö?û)ú��ð ô�ù�ý ùFð�ø�� þlÿ&� öOõ � ò+ð ù�ÿ ø�ý$ñ�� � . 7�ö ù ý � þ�ò��$òþ�ú � � �$þ����öOô^ý , ñ�ö � ó8�$õ � öSù�ò}ð ò � ò.�óDò�õ ò ý �2û$ÿ$þ�ÿ$õYý$ôzý ô/ö �2ûð�ó5� ø&�!�$ÿ�÷ ù ý)÷ ñ�ö � ù�ö!��ý$÷ þ�ö��$õ þhù���ôzý)÷ , �þ�ÿ�� ù�ÿ òþ�ÿ+ù �?û)ö�ô/ø�ò ù�ý$÷ þ(��ú+üSý$÷ ö�õ � ò+ð ø�ð�ó$�8�+ù�ö!��ÿ ù�ÿ�� øý�ñ$ö � ��÷ , ö6� �$ô/ÿ � ù��}ù�ö ù�ÿ òþ�ÿ+ù��Fû�ö�ô/ønò ��ò öOõ � ò�ð �;û�ò 1, ÿ�þ��+ù�ö ò�ù �}ø$ò/ù�ò ÿ ø"���ð ô�ù�ÿ�÷ �öSù ð�ó5�÷ þ�ÿ�� ÿ��$õ 1Sö�ù�ò/ð ôlùBÿ þ(�"�&�$û�ýø�ò . 9

ù ý ô:� � �#�nöSð ò ý ô�� � ú���ù ý�ôzý ga_mutate_integer_singlepoint_randomize, ö�ó2ù�ö?û�ö�õ ù ý � ò � ú���ö�ô�ý

� ��ò�÷ ù����nòõ�ò�÷ ù�ð�ø��$÷ ô ’ � � ò ù��*��òõLò ö[þhð û)ö#�ø"� � ÿ �ÿ � õ�ñð ÿ , ö � ��÷ ù�����ò�õ ò ö[þ�ð û)ö#nø"� � ÿ�� �&�"��ø�ÿô'��ø�ò/ù�ÿ÷ .

Page 27: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

24

9ù ý ô � � ú��ù ý)ôzý ga_mutate_integer_multipoint ò � ù ð ��)ú��zÿ � ù�ò+ð ��û�ò ù�ò ������ønÿ$ô���ø�ò+ù�ò

òþ�� ù�ÿ � þ�ò/ù+�!��ò ô�ù�ÿ �ð ÿ , $ð ò ó�ú���ö ������ø"��ô���ø�ò óSò+ð óDú��ö �ÿ � õ ñ�ð ÿ , ö7þ4ð û"��$öSù�ò+ð ô � ø&� � � ò ø�ö ù ý � þhð ��ò � ��ù ý�ù�ò ø�öSù�ú�û;û�ò�üDý�÷ , ò �

þ(�)ÿôzù�õ;��ö�ù�ò+ð � ò��/ò�ð;�$ö�õYùBò+ð ù�ÿ 1 òþ�� ó2ú��ö �ÿ � õ�ñ}ð ÿ . 7 ö�ù�ú ù�ý � þ(�%�ô���ö7ôzý �õ � ö�ù�ò+ð ÿ �?û)ö#$��ÿ�÷ ù�ý�÷ ù ð�ø��$÷ ù�ÿ��

� �7ÿ� �ÿ � ð ñ�õ ÿ� , ��þ���÷ ò+ó8��ð<�"��÷ ó�ò}ð ôzù ý � þ(���UùFý ô�� � ú:��ùFý�ô/ý . � ga_mutate_integer_allpoint, ö þhð ñ��ú ô/ö óSú���ö $ÿ � õ ñ�ð ÿ , ô � ø%��� � ò ø�ö ù�ý � ù�����òõLò ù ð ø�� ùBÿ� random_int(3), �$þ�ÿ�� ��ù�ò �

þ�ò�õ=� � ö�ð ù�ý � ù�ð�ø�� 1, ò��$üOú � ö�ùBò}ð óSò+ùBú � � ò ý ùFð ø�� ù�ÿ�� �ÿ � ð�ñ$õLÿ�� , ö � � ��ù�ò � öOõ � ò�ð 2 ø�öDð � � ö�ù�ò+ð óDò^ù�ú 1 ý ùFðLø�� ù�ÿ� $ÿ � ð ñ$õ�ÿ� .

9ö ÿ�þ�ÿ�ð òñ��2þ�ÿ+ù�ö úû'û�ý þ�ö���õ þhù�� ô^ý , ñ�ö �

ò�û�û�ú�1SöSð ý ù ð�ø"� ùBÿ� )ÿ � ð ñõ�ÿ�� . >?�6��ò�ð�ò , ø�öSù�ú ù ð ÷ ònû2û$ò..��÷ ô�ùFð ÷ ù�ð ø&�7÷ ù�� � �ÿ � ð ñ$õ)� �

, þ(�)ò&$ønò+ù�ÿ$þ�ÿnð ö õ�ù�ò}ð � û$ö�$��ÿ�÷ , �ð ò ù�ý � þ�ö���õêþhù��rôlý �$þ�ö����nö�õ û�ð ô/ý�÷ , �$þ-� ÷ ô�ù�ò þ�ò��$ò$þhú � � . ï ��öSð;�ð ôzù��$÷ ñöOñ$ÿ+ø"� � � �

þ�ÿ�� ø�þ�ÿ��ö õ � ò þ(�$ò�$ø�ò+ù�ÿþ�ÿð<�;ô�ö�ð ù�ò þlò���òþ�ú � � ö7õ�ñý ù ý�÷ ø�öSù�ú�û;û�ò�üSý$÷ ñ�õ � ö�ù�ò+ð ôlùBÿ þ�ò:��ò/óSú/ù�� ñð�ú.&�;ò+ø�ø)ò 2.2.1. @Uû$öO÷ ÿ+ð þ�ò��$òþ�ú � � ô�� � ò��ù���ô�ö�ð�÷ �Sû�ÿ$þ�ÿ�ð ÿ �*� ù�ò�ð , ønö ù�ÿ �

þlò���ò+óSú+ù�� �nö�ð)�$ð ôzù�� ñöOñ$ÿ+ø"� � � �,

ô�ö � � ò � � þ�ò:��ò�þ�ú � � ó � ó7û$ÿ��$÷ ò � ú�û�ÿ��ò ø�ö ù ý � þ�ö6�)õêþhù��rôlý ù ý�÷ ø�öSù�ú�û;û)ò+ü�ý�÷ . A�ù�ô/ð ò � únû)ÿ%)ò ø�ö

ù�ý � ò�þ-����ò�ô/ý ù ý�÷ ø�ÿ � ú+ñ$ò�÷ ö?û%�#8��ÿ�� , þ(�)ÿôzù�õ;��ö�ù�ò+ð � ò"��ò�ð;��ö�õYù�ò+ð ù�ÿ 1 òþ�� ù�ÿ �ÿ � õ ñ�ð ÿ þ�ÿ� ó�ò���ÿ��)õ21OöSù�ò+ð óDú��ö �/ÿ��$ú , óSò+ð ôzù�ý ô�� � ���nöDð ò ø�ö ù ý �$ÿ�����ö�ð ò B�ý%�zõ;� �

óSò+ù�ú�ô�ù�òôzý)÷ , ù�ò ó2ò+ù�úû2û�ý'û)ò ó8�$ò+ù�ÿ � ønö � ò ù ý$÷ þ(�%�ô���ö�ôlý)÷ , �õ � öSù�ò}ð ÿ ��û�ö#*��ÿ�÷ ù ý)÷ ùFðLø���÷ ù�ÿ�� $ÿ � ð ñ�õ�ÿ&� þ�ÿ�� þ(��ÿ+ó � þhù�ö�ð ó2ò�ð ò � ú�û$ÿ$�ò , þ(�)ÿ}ó � þhù�öSð ý ò��$��ðLó�� ù�ð�ø�� � ý ù�ð ø�� ø�öSù�ú ù�ÿ � �Fû�ö#8��ÿ , ô�ùFý � ��üOÿñ$ÿ ù ý�÷ ø$ÿ � ú�ñò�÷ ø�öSù�ú�û;û�ò�üSý$÷ . � ô�nö7ñ�õ ò�ôzý ù ý�÷ ø�ÿ � ú�ñ�ò�÷ ò���ù,�)÷ ð�óSò � ÿ;þ�ÿ�ð ö[õ ù ý ô'� ô�ù�� û�öDð�ùBÿ&���*$õ�ò ù�ý$÷ ø�ö�ùBú�û;û�ò+üSý$÷ , �ð ò ùC�$ö�ð ÷ ù � þ�ÿ�)÷ )ÿ � ð ñõ;� �

óSò�ð ���"��ø�ÿ$ô � ønú+ù�� �, �;þ�� ÷ �#�ð � ö ôzù�ò þ(�$ÿ}ý$�ÿ � ønö � ò �ð ò ù�ý � ø�ÿ � ú�ñ�ò

ñ�ð òôzùBò � �"��ôzý$÷ . A ù�ô/ð �2þ�ú:�*��ö�ð ý ñ&� � ò/ù���ùFý�ù�ò ønö�ù�únû2û�ò�ü�ý�÷ ö � ��÷ ���%��ø$ÿ�ô���ø)ò^ùBÿ÷ öOõ�ù�ö ô/ö � � ò �ÿ � õ�ñnð ÿ ù4� � 16 B�ý"�/õ � �

, ö[õ�ù�ö ô/ö ñ&�)ÿ )ÿ � õLñnð ò ù�� � 8 Bhý%�/õ)� �

� ù�� û$ÿ�÷ ô/ö 4 )ÿ � õ�ñnð ò ù+� � 4 B�ý%�/õ)� �

. � ö7þhð û�ÿ%"� ó2ú���ö þ�ö6��õ þhù�� ô^ý�÷ , óSò���ÿ���õ 1Sö�ùBò}ð ôzùBÿ ô � ôzù ý�ø�ò ò�þ�� ù�ò ô���ø�ò+ù�ò ö?û%�#$��ÿ�� ô�ùFð ÷ öSð ñ}ð�ó*�7÷ ø�ÿ � ú�ñ�ö�÷ , ù�ÿ � ò����$ÿð�ô�ù,� óDò+ð ò���ò�ð)�%��ù ý , ù�ò ô:��ø�ò^ù�ò ö?û"�,$�nÿ� ôzù�ÿ � � û$ö�$��ÿ ù ý)÷ ô � � ú���ùFý�ô/ý�÷ ø�öSù�ú�û;û�ò�üSý$÷ ck0(ck01, ck00), ck10, ck20, óDò^ð ù ý � ôlù�ò��ö���ú ct0, ý ÿ�þlÿõ�ò ö7õ � ò+ð 000M(3)000M(2)000M(1)000M(0), ø�ö M(3:0) ô3�$ø�ò+ù�ò ö?û%�#$��ÿ�� ð ò óDú���ö þ�ö!�)õ þhù���ô^ý ø���ó2ÿ���÷ ùBÿ� �ÿ � ð ñ�õ ÿ&� , ó2ò�ð óSú���ö �ÿ � õYñð ÿ .

Page 28: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

25

Special ParallelSubtractor

Special Paralleladder

cto16

MuxBdir

Mux3 Mux2 Mux1 Mux0sr3 sr2 sr1 sr0

C3

rd(3) rd(2) rd(1) rd(0)

16

16

C2 C1 C0

Muxck20

Muxck10

Mux2

Ck0

2 1 01 01 0

0000 0000 0000 0000

0 1 20 1 2 0 1 2 0 1 2

0 1

father

Mut

ct1(15:12) ct1(11:8) ct1(7:4) ct1(3:0)

sr2 sr1 sr0

dirdirdir dir

sr3

L12L8L4 K12K8K4

Ð ÛLì;è�Ü�é^ã/ãné 2.2.1 É�Ù'ÛLÜ/ÛÀÝzÞ2ß�à á+ÙSá�â^ã}ä[å�æ å èÚÛLé Þ2ëå ã�âå�ì/á�é ã�Ù�ÞDìíí6é+îSë�à 2.2.2 D í�Ù�èE^â+à è�ÛLé ÞSâå E�Ù'ÛLÜ�ÛLÝzÞ2ß á/Ù�á/â/ãnä[å�æUå ã�Ù�Þ2ì�í�í�é+îSë�à @ ù�ò �

ô���ø���ö�õ ø�ö�ù�ú;û;û�ò�üSý ô�ö � � ò � þ�ö!��ð ô/ô��+ùBö!�$ò ���"��ø�ÿ$ô � ønò+ù�ò , ø�ö ó2ú$þ�ÿ}ð ò þ4ð ��ò � �}ù�ý�ù�ò , ù �}ù�ö ý ö � ù�ÿ)û�� ��ò þ(���[þ�ö�ð � ò ó2ò���ÿ��$õ 1Dö�ð þlÿ}ð ÿ ö�õ ñ�ÿ�÷ ø�ö�ùBú�û;û�ò�ü�ý)÷ òþ-� ù�ò ù���ô�ô/ö!��ò �'û)ÿ�þ�ÿð;�$ô/ðYø)ò öOõ�ñ}ý ô��ø���òõ � ö�ð óDò+ð þ�ÿ�ð ÿ �ò ö�õ � ò+ð ù�ÿ ø���ó2ÿ�÷ ù�ÿ� �ÿ � ð ñ�õ ÿ� ô�ö ó2ú���ö ���"��ø%��ô��Uø$ò .

9 � � ö þ�� ÷ ö�ó2ù���÷ òþ�� ù�ÿ opcode ùFý)÷ ö � ù�ÿ;û���÷ , ù�ÿ ÿþ�ÿ$õLÿ óOò��$ÿ��$õ 1Sö�ð ù�ý ø�ö�ù�úû'û�ò�ü�ý ö[õ � ò}ð òþ�ò��)ò�õYùFý�ù�ò 2 B4ý8��õ�ò ö � ù�ÿ�û���÷ ð ò ùBÿ � ó2ò"�ÿ��$ð ôzø"� ù�ÿ�� ö�õ ñ�ÿ���÷ ù ý�÷ ø�öSù�ú�û2û�ò�ü�ý)÷ MK ó2ò�ð 2 B4ý%�/õ�ò ð ò ù�ÿ ø��ó2ÿ�÷ ù�ÿ� �ÿ � ð ñ�õLÿ�� GL.

9ù ý � þ(�"��ù�ý ô:� � ú:��ùFý)ôzý ö?û.�C8��ö�ù�ò/ð ù�ÿ ó2ú���ö ô/ýønö[õ ÿ ù�ÿ�� ������ønÿ�ô'��ønò+ù�ÿ÷ , ñ+ý2û$ò�ñ�� ó2ú���ö �ÿ � õ�ñnð ÿ ù�ÿ ÿþlÿ$õYÿ ö�õ � ò}ð þ4ð �$ò � �

� ò ø�ö�ùBò�û'û�ò.�.�ö�õ , óOò/ð ù�ÿ ö�õ�ñ�ÿ÷ ù ý)÷ òû2û$ò.��)÷ ùFý�÷ ù ð ø���÷ ùBÿ&� ò � ú�û)ÿ%�ò ø�ö ù ý � ùC�$�$ò�õ�ò ø�ö�ù�ò��;û�ý�ù,� dir, ý ÿ$þ�ÿõ ò �}ù�ò �

öOõ � ò+ð 0 )õ � öSù�ò}ð ò � üDý)ôzý ù�ý$÷ ù�ð ø��$÷ ù�ÿ&� �ÿ � ð ñ�õ�ÿ�� ó2ò+ù�ú � � ò , ö � � �+ù�ò � ö7õ � ò�ð 1 ô:��ø"��ò�õ � ö�ð ønö[õ<��ôzý ù�ÿ� $ÿ � ð ñ�õ�ÿ� ó2ò+ù�ú � � ò . ï þ�ò��)ò+ó2ú+ù�� þ�õ � ò^óOò�÷ ñ�öOõ � � ö�ð �;û�ö�÷ ù ð ÷ þhð ��ò � �7÷ þ�ö!��ð þ ù+��ô�öDð ÷ ö[þhð û)ÿ."��÷ ù�ÿ�� ô^ý$ø�öOõ�ÿ&� ø�ö�ùBú�û;û�ò+ü�ý�÷ . 9ý�ø�ö�ð � � ö�ùBò}ð �+ùFð �}ù�ò �

ù�ÿ ô�ýø�ö�õ ÿ ø�ö�ù�ú�û�û$ò�ü�ý)÷ öOõ � ò+ð 4, ø�ö ø���óSÿ�÷ )ÿ � ð ñõ ÿ�� 4 B4ý"�/õ�ò , � ��ù�ò � ù�ÿ ô�ý$ø�ö7õ�ÿ ønö�ù�úû'û�ò�üSý�÷ ö7õ � ò+ð 2 ø�ö ø"��óSÿ�÷ )ÿ � ð ñõ ÿ�� 8 B�ý8�zõ�ò , � ù��?û�ÿ�÷ ��ù�ò �

ù�ÿ ø���óSÿ�÷ �ÿ � ð ñ�õ�ÿ� ö7õ � ò�ð 16 B�ý���õ ò óDò}ð ù�ÿ ô/ýønö[õ�ÿ ø�öSù�ú�û;û�ò�üSý$÷ 1 ù�ÿ �&�"� ø��$ô � ønò þrò���ò^ø"� � ö�ð ò � ö7þ4ý��"�Oò�ôzù�ÿ ò�þ�� ù ý � ñð�ò�ñðYóDò�ô+õLò ù ý�÷ ønö�ùBú�û;û$ò�ü�ý�÷ .

Page 29: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

26

F

Ë�Ó�ÖHG�Ö�Í 2.2.1 I�J"K�L�M�L N�O.PCQ%R8S�T Q�U L

K N M�V O�O L�WYX M6Z*[ S�T ga_mutate_integer_single_point_drift (Dir = 0/1)

\�]8^$_a`a_ b4c�d,eafag6h f�b,i<j6i<k ` ] l b l g ^ dnm6o&m

p / p Ga

Mutate Integer

singlepoint Drift

\$q8^ b,r<g l i _ k `�_Ys j�o�k q�t

u ]�v g t w g�m!i l rxg�h (bit)

rd(3:0)

M(3:0)

1 0 ≤l1≤1 0 16 0000 0001 2 0 ≤l1≤1 1 16 0000 0000 3 0 ≤l1≤2 0 8 0000 0001 4 0 ≤l1≤2 1 8 0000 0100 5 0 ≤l1≤2 2 8 0000 0000 6 0 ≤l1≤4 0 4 0000 0001 7 0 ≤l1≤4 1 4 0000 0010 8 0 ≤l1≤4 2 4 0000 0100 9 0 ≤l1≤4 3 4 0000 1000 10 0 ≤l1≤4 4 4 0000 0000

y z�{ | p�}5p�~ 2.2.2, ��{ |���� � p �3��� p � p ���"�#�*�&�� �"� p ���*| z��!�%{ z(���H��� ���"�$z���{;�"�:� ~ ��� ~ �"�!�����6��� ~ ���*|���������� � ~ �������.��� p�� � ~ ga_mutate_integer_singlepoint_randomize, }*p ��� ���8| ��z���{ p �az(� �"�#�%�!� p � �,�*� p { p z���� � ���$|�{;��� � � p z����"�6� ��� p ���$� p { p �Yz�{ ��� ~ ���;��� . � ’ p �"��� ���*| z�����{;z(�����:� �"�Y| z p {;�6�6� �"���"� z���� p � p �a{ | p � � ���;��� �+��� ���$� p { �� ���"� p ��� ~ �������$�"��� dir, �6� ���'�%| ����| z����$|������ � ���$| � � �"��� �+� p z���� �C�.�6��� p z��� ��{ |��6� p ����� p �*�"� � ����� p { p �,�;��� p z�� ���$| � � ���"� ��� ~ �.�#|*|�������� p�~ �C��� p {<�(| p ���;���"�(| . ���x� �H� ���

2.2.2 I.J�K8L�M�L N�O�P�Q�R%S�T Q�U L

K N M�V O*O L"W6X M6Z�[ S�T ga_mutate_integer_singlepoint_randomize (Dir = X)

\�]8^$_6`C_ b c�d,eafag6h f�b,i<j6i<k ` ] l b l g ^ dnm�o"m

Ga Mutate Integer

singlepoint randomize

\�q8^ b�r)g l i _ k `a_Ys jao�k q*t

u ]6v g t w g�m�i l r<gYh (bit)

rd(3:0)

M(3:0)

0 ≤l1≤1 0 16 1111 0000 0 ≤l1≤1 1 16 0000 0000 0 ≤l1≤2 0 8 0011 0000

0 ≤l1≤2 1 8 1100 0000 0 ≤l1≤2 2 8 0000 0000 0 ≤l1≤4 0 4 0001 0000 0 ≤l1≤4 1 4 0010 0000 0 ≤l1≤4 2 4 0100 0000 0 ≤l1≤4 3 4 1000 0000 0 ≤l1≤4 4 4 0000 0000

Page 30: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

27

  ���$|8�������8�3� ga_mutate_integer_multipoint, �����%�:�;�"��z-��� �a{ ����| z-{ | p:}�p 2.2.1, �a�3������| p z��"� p �:� ��� �Y{ ��� p } ����� �8��|${<���;� ����� z(�"� } �6�;� p � | p �"��� p �$� p �"����{ , ������� �(| p �"� } ��z���� p z�� � p |����,��� p , }!p � � �� p ��� }*p ��{ p p ���C� � } ���,�"��{)� p � �"� p �%� p � p �"�$|�{;�� p ���� ���"�¡�����'�¢� p � � ~ z���� � � �!�+�����6� p � . £'�#�"� ~ ������| p ������� ���$| ���*|������C�$��� ga_mutate_integer_allpoint, ��{ | p � �az�{;��� ~ z-�.�*�"�(| } � } �%�(| ( ��� p }*p � � p ����|${;��� p ����� �����¡�"�.�'�¢� p ��� ~ ), }*p � � �� p �����"� �6{ | p � �3���*| p z���� p �:� ���� �C����z���� �"�!� �.�$� p�� � ~ � ��� } ���"� �%�%|�� ��{;��� � �,�&�¢�"�;� �4� . ¤¥�4��� �a� �����.| p z���� p �:� � ���6{ �����"� �(| p �&� �C�$| ���;��� �#|%� ~ ���$� p {;�� p ��� ���%�� , ����� ��� � � �!� p ����&��|$� �8�.|�{;��� � � p ��z��"������{ p � � �8�3� }*p �4� 1, p ����� � ��� p { |%�5� ���,� � p �"�¦�'�!� � �%�.|"��� p �#�%�#�$�"��� �3��� ���"� p �������$�"��� dir ���8| ���;��� 0, �#|"� p |��+{ ��� �� � p p | p z��"� p �:� ��� �Y{ ���,� � p ��{ |%�5� p � p {)�"�Y�3� }�p �+� 1, � p �"�H���6� ���*| ���;��� 1. §¨�"� ~ ��z����$�"�!� }!p � � z�����{;z(���(�3� | p p z���� p ��� � ���6{ ���C� �+� ����|�{;��� � ����| � p p ���"� � �!� }�p �"�%�%�� , ���*|"�Yz�� ~ �4��� � � p � �����"�6� � z�{ | p�}*p�~ 2.2.1, ��� p ��� ~ �$z-��z������ z(�������6� ~ 2, 5 }5p � 10. ©�z�{)��� ~ p |��.�%�%� p �"� � � ��� } � ~ ���$|�� �"{;�� z���� �"�!�+� �3�,�*| �Y|��+�%��� �"� ��� z�����{)� GL, � p � ��� p � p �������$�"��� L(1:0) Ck0(1:0) Ck10 Ck20, � p ��ª%��|���*| ��� ~ z p � p�} ���+� ���;�"� ~ .

���x� �H� ��� 2.2.3 I�J�K�L"M�L

NCO$P�Q$R�S�T Q�U L M S�« ¬ L�­ S&®U;¯ K$°

M S�T

K"J ¬�S�T�± Q�S.«�U ²�³ S�T u ]�v g t w gCm�i l r<gYh (bit)

GL

L(1:0)

Ck0(1:0)

Ck10

Ck20

16 11 11 10 1 1 8 10 10 01 0 0 4 00 00 00 0 0

2.3 ´ µ<¶�µx·"¸ ¹�º&»:¼!½<¾ ·�¹�¿5¹&»ÀÁº�Â�¿#ÃÅÄ   �����"��� �6� �&� } �� p ���&�6{ �� }*p � p �"�¡�����+�Æ| , �YzÇ� ª"�&�*�"��� p � p z�� ����| p |8��� } � | p ��� p ª"�����$|�� p � � | p ���%���?�%|�� p � � p ���+�.���"�$| p ��8� �,�;�"� ~ }�p � � ���$| �Yz�� � ����� p ��{ p �����"� �(| p �"� ��� �.�Y|����,� } � p �8�"���� �&�"� . ¤¨����� p z p �;������|�� p � �%�Y|�� } � 4 ���;�6�����8|����!� ~ , �Yz���� �� ��&� ~ } ����� � ���8� z���� ��� p ª"�����$|�� p � ����� ��� �&� ~ , }5p � ����� ���*|��,�&�!� p ��{ |���� p � �&� p � � p ���"����� � �"�!���.�8� p�� � , p |%�&�8�.� p �&� ���$| ��z���"��|�� �a|����.��� , � ’ p z��� �#�"�a��� p � p �&����� �$|� p � z��.|�� p ����� ~ ���6����� ~ ���(| ��%� z(�������"���"�"�Y|��Ç| ��� �5�%��*|������(| p |"�.�$|"�(��� ~ , z(�"� ~ p |���� }5p � ����� p ��� �+�(| z p � p � �Æ| ��� �"�(| ��� }�p � |��������"� � ~ . ¤È� ��� ���,�*| ��8��{ p ������� �����$|�� p � ���"� ��� �6�%��*|����6� ~ �3���*| ��{ �����.� ����� �!� �� } ��� p �$�.�6{;�� }!p � p �&�¢�����4�(| .   �� ���8��*|"�:� addrod, �6{ | p � ��z��������$|�� ��� p ���*| p |��.�$|"����� ��� � bus ���� z p ���6� p }!p � �,�8| ���$��� p � � ��� � bus �+��� �"� �&� , �a���"����| WB1 = 1, ��|"� � addrpf �6{ | p � � ���;�6�����8|���� z��� p |���� ��� �� �&�a{ ���C��| p |"�%�8|������ �4� ~ ��������� p�~ }�p � � ���$| �#�*��� p �3� ��� ~ } ��"� ~ , �6� ������| WB2 = 1. §¨�"� ~ ��� p ���*| p z(�����$�"� �,� ~ z��!�%{ z(������� ~ | p ���"� � p ���+�%���%�.|�� ������� p � � �����*| {;�&� p ���a��� , p | ��� ����� �� �������$|8����� ~ ������z�{ z(�4����| , �����8���;�"�.z���� �a{)� p � �a| p ����� p ��� �$z��.{;� ��{ |"�5� p � 0 ��� p | ���"��ª&�6{ p ����� � z��5�"{ z(� �¦��� , }!p � �6{ | p � � �&�*��� �6{;�����.� ~ � p ��{ �"� ��� ����� p �Yz�{=�C���!É�� ~ ���$��� p � � ~ �C� ~ } ��"� ~ ��� ��� p z(�*��� AND, � �%z��"{ p z p �"���"�!� ��� �+�#�&� } � ����� p ��z�{)������ÉÇ� ~ �,�$��� p � � ~ WB2 � ��� ��� �5�%��8|��:� addrpf. ¤È�+��� �� p | �a{ | p � {;�&� � ~ �� ��� �5�%���$|������ ~ , ��� p ª"���6��� p � � { ��� p ��� ��� , p} �$�������"�Y{ }5p �������"����� �az�� � �!�$� p ��{ p }�p � ����� ���*|"�#�.�!� p ���%��� �!� p � �"�$|�� � ��� � ~ � ~ |%� p �,�;�"� � ��� ��� �!�8��*|�� � addrod. Ê0�5� � ��� ���$|%���6��� �"� ��� Leonardo, ��� RTL ������ p �&� p �4� �!� �&� } � p �$�"�6{;� }5p � p �&�¢�������Ç| , � p { |��6� p � z p � p�} ����� . £'� �6� �� } � p �$�"��{;� }5p � p �"�¡���.� �¦| , �����%�:�<����z��&� ��{=� p � ��� p ���$| p z����&� } �!�%��� � �¦| �����H�&�.�'�0�&���+�Æ| }5p � � �Æ| ���;�"�Ç| }!p � p �$�&�!�.������+� ~ ����� ~ }�p � � } �H��� }�p�~ ����� ��� VHDL, �"{ |"�!� p � � ��� z p �%��������� p Ë .

Page 31: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

28

� »3Ì�Í�¹ 2.3.1 RTL Î:» Ì�Í&¹ ¿�¾�Ï ¼�µ2¶�µ)·%¾�Ð ¹�º»'¼�½ o Ï ·"¹�¿�¹�»:ÀѺ�Â&¿6Ã¡Ä ¹ÒÓ¸ ¿* ÎÔÐ�Ä&Õ�¼�ÎÔ Í�¼ ¿�¾

Leonardo Î?¼ ¿�¼Y»�Ä&¾�Ö ¾.×3½2¹ ASIC 013

Page 32: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

29

����������� � 3

� ��������������

� ��� ���� � �

����� ���� �������� � ���

(SELECTION) � �

� ��!���

(HARDWARE)

3.1 "# $ % $ &('*)+& ,�#-,�.�/�#10�2�0 3-$ 4 ' )�0 /�.�0*4�,�4 #15�$ 6�.�37)�& (SELECTION UNIT )

8 9;:=<�>?< @ ACBED FG:HFJI(KGLCMGN�M OP< Q ACR KGISMJT?FJQ :VU< WEIEO?BED U�:=>G< WEQ(KPX;TSMG:V< AC< D OJ:YMZMSB?A[>P< :VD AC\]9GQ?^�NM

F?<�:H\E_;`aMJ@7:bN�M OG< Q AcI :d< Fe<�fhg Q(>Z9G:H^ I f]Q(AiQS9;Nj>GR?AlkM AiNmM 9->JN�K;IJ@7N�K?T(AnNM (chromosome register file), fbQ(< 9->PRJ@7<oKJISU�IP< :b^ AnI :H< F?<�fdg Q(>p9;:b^ I fdQ7AiQS9?N�>?RGAlk�M fhQ(AnQSWZWGRpWEgeACRGAnQ-D (fitness register file), AnI IJU�IP^ I Lq9;:=< QPU�IS_(RJf]:d\JK?LYMJ:HD An< D AC< KGLHD AnRGD @*\]MJT(>?AnRJ@rRGD fhQ(AnQSWZWGRpWEgeA[RPAnQ-D (fitness) AnNM 9;>GNjKGIP@sN�KGT7AiN�M AnIP\ U WGRJ_?\J@7KGIe` . 8 < U�:d>P< UAnk�@7:d< D @*\aMZQ7>PA[BZ@r:bN�M U�IP\ \pWGIZU�Ie< I(`]MeAiQe< , :H^ MaQ7< R A[\p9;QP^�Q :VU�< WGIEOGB :CMPgGD B F?\aI 9?>GN�KGIG@7N�KGTtAnN�M , AnQ IZU�IG^�Q @+AnR @7\ZMJLC9?:d< Q \Gu7^�@rAnQSM?AiQe< K?:dAnTSWZWaQ-vhR B F?< QP@*AcQ(`P>GN�@*R . wrU+^ @*RGD \]WJIJU�I?< Ie`]M?AlQ(< , R :YU�< WEIEO?B :CMJgPD 9?>GN�KJI?@-kjKJQ(AcI?D (individual) f]QSWG`PAn:d>JIe\ QPU�g FP\EI Ax\Z9EQ(^ Q :YU�< WJ:CO?KGLCMJQ fdQ(< R :YU�< WGIZOPB Fe\JI fhQSWG`?An:=>EN�M , KG:dAnT Q?U�g F?\JI @7\pOGfZ>J^�@s:=< D @7: FP\GI y :=`]O?R Ax\Z9EQ?^�Q :VU�< WS:qOGK?LxMGNM 9;>GNjKJIG@7NjKET(AnNM .

zI @(9?BPKGQ 3.1 F?:C^ 9ZMG:d< AnI datapath, KG: AnI ISU�IJ^�I \]WJIJU�Ie< :Y^{AnQ(< fbT(_G: LCMJQ(D QPU+g AiIP\JD 4

F?< Q?u7I(>J:dAC<�f]IP`GD AC>EgPU�IP\GD :CU< WGIEOGBJD . |

ACR U>Gk�A[R U�:=>G^ UAnN�@7R , OP< Q AxRaM :YU�< WGIZOPB KG< Q?D An\Z9GQ?^ Q?D FP< :H`G_P\ZMa@+RED QeU+Q(<�An:Y^}AnQ?< LCMJQ-D fa`PfHWaI?D >EISWJIZOP< I?` , fhQ(< @*AiI AnLqWGIGD AnI?\ fp`GfHWJI?\ OG>JT?ur:dAnQ(< , @*AnISM fhQtAiQS9;Nj>GRPAnB ADR1, R Ax\Z9GQ?^�Q :YU< WG:qOGK;LxM?R An<�K?B F;< :V`G_P\ZMa@*RED QPU+g AnI LFSR1.

zg(Ac: , R LHvbIPF?IGD AnIP\ MUXA1, :Y^ MJQ(< R AC\p9GQG^{Q Q(\PACB

A[<�K?B Fe< :V`J_?\ZMa@*RJD , :bu7gP@7IZM F?:CM :dfpAn:CWG:Y^}AcQe< R :CM?AlISWGB u7ge>?AnN�@tRED AlIP\ Qt>]9?<�fdIP` U*W?Ra_(\a@*KGI?` @*AlI Q(>Z9S:H^�I fbQ7AnQS9;Nj>JRPAck�M 9;>GNjKJIG@7NjKET(AnNM , B R :CMPAnISWJB \pU�ISWaISOJ< @7KGIe` AnNM Ax< KGk�M fhQ7AlQSWZWGRZWag(ACRGAlQ-D AcNmM 9->EN�KGIG@7N�KGT(AnNM AlIP\ U WGRJ_?\a@tK;IP` .

~ @7ISM Q?urIe>ET ACRaM U�:d>J^ UAnN�@7R :VU< WEIEOGBJD F?\JI Ax\]9GQP^ NmM Fe< :=\a_?`pMG@7:bNM @+AcI;\GD fdQ(AcQ;9GN�>PRGAnLHD ADR1 fdQ(< ADR2, Ie< ISU�IJ^oIP< U�:=>J< LC9?IP\aM AC<�D FP< :=\J_P`aMJ@7:H<�D AlI(\ U+Q(AnL=>EQ fhQ(< A[RGD K?RPAcL=>JQ-D QJM?Al^�@*AiIe< 9;Q , Q(\?Aig KJU+I(>J:H^ MJQ OJ^ MP:d< @7: LCMGQ fd`?fYWEI >EISWJIZOP< I?` , :YurgJ@*IZM I?< FP\GI fhQ7A�Q;9GN�>?RPAnLbD F(< :h\a_(`]MJ@7:bNM WSQ(KPX;TSMJIP\ZM AC< D Ax<oKGLHD AnNM LFSR1 f]Q?< LFSR2 QSM?Ai^�@*AnI?< 9GQ . wrU�< WGLCOJ:dAnQe< I @7\ZOGf]:=f]>P<�K;LCMZI?D AC>GgSU�I?D \]WJIJUIJ^�RG@tRGD , :YurgP@-ISM @*AcI 9;:=<�>J< @*ACB FP:bFPIeKGLYMJN�M U�I?\ Q?urIe>ET ACR FP< Q?@*AcQe`?>JN�@ R fhQe< AnR KG:=AcTSWZWGQ?v=R LC9G:=< W?RJur_?:Y^ \ZU�g?��R R U�:H>G^ UAnN�@*R fbQtAnT ACR]M IJU�IG^�Q O;< Q AiIe\JD FP\GI OSIEMG:Y^�D LC9;:=< :YU< WG:x9;_P:Y^ R ^�Fe< Q F?<�:H`E_;\aMJ@7R . ��Ai@ < FP: 9->J:d< T y :hAcQ(< MPQ \aU�T(>p9;:=< fhQ?_e\a@*AiL=>?RJ@rR F;\GI f]`PfbWGNM O?< Q ACRaM \]WJIJU�IG^{RJ@*R AnRGD :YU< WGIEOGBJD Fe\JI FP<�Q?usI(>J:=A[<�fdkM An\p9;QP^�NM F?< :=\a_e`]MJ@s:HNM .

� @7\ZMETt>GAxRE@*R :VU�< WJISOGBGD ga_select_one_bestof2, U�:=>G< WaQ7KPXGTJMP:H< AxR]M :VU�< WEIEO;B FP\GI

A[\p9;QP^oNM Ax<�KGkM Fe< :d\a_e`]MG@7:HNM QPU�g AnQ LFSR1 f=Qe< LFSR2, f]Q?< :VU< WaISOPB An:xW?<�fhT ACRGD Fe< :=`a_?\pMG@7RGD AcIe\ Q(Aig(KJIP\ :dfd:b^ MZI?\ U�I?\ Lq9G:d< AxR]M \P��RZWEg(An:H>?R A[<�K?B ACRED @t\]MJT(>?A[RZ@ RED fhQtAiQSWZWGRZWag(ACRPAiQ-D . ��RpWEQ?FeB , f=Q(AnT A[R F?< Tt>Gf]:H< Q :nMJg?D fd`?fYWGIP\ AiIe\ >JIZWJISOJ< IP` , OE^ MG:dAnQe< QSMJTSOaMJN�@*R Fe\aI AC\Z9EQ?^�N�M An<�KGkM AnIe\ Q(>Z9S:H^�Ie\ fhQ(AnQP9GNj>GRPAnkM f]Q(AiQ;W]W?R]WJg(AnR?AlQ?D , Ie< IJUIJ^�:HD QPM?Ax< @ AlI?< 9GIP`ZM @ Ax< D A[\p9GQG^�:HD F?<�:H\J_P`aMJ@7:H< D , f]Q?< @7`ZOGfZ>J<�@7R Q(\PAck�M , km@rAn: @*AnIZM fbQtAcQS9?N�>GRPACB AiIe\ U�Q(AnL=>EQ ADR1 MJQ OP>EQ?u An:H^ R FP< :=`E_P\ZMa@+R KG: AnI KG:COGQSWG`PAn:d>JI fitness.

� An< K?B init=0, k�@*Ac: MaQ K?RZM QPU�I(fYWG:b^�:=AnQ?< QPU+g ACR F?< Q?FP<{fhQ?@(^�Q :YU�< WGIZOPBED R BaF(R

\aU�T7>p9;IP\J@7Q AC< K?B Fe< :H`J_?\]MJ@*RGD @*AiIZM fdQ(AcQ;9GN�>JR?ACB AiIe\ U�Q(AnLd>JQ , R ISU+IP^�Q Q(>Z9G<ofdT :Y^ MGQe< KPRGFP:CMP<�faB .

� @ \]MPLC9G:=< Q ACRGD U�Q(>JQPU+TPMJN @7\]MJT(>?ACRa@ RJD :VU< WGISOJBGD :b^ MGQe< R @t\aMZT7>PACRE@tR

ga_select_two_bestof2, R IPU+IP^�Q :VU�< WELqOG:H< fbT-_P: u7I?>JT AiISM fhQ;WJ`?Ac:h>GI individual OJ< Q f]TP_?: OGISMJLbQ QPU�g LCMGQ Ax\]9GQ?^�I

y :H`ZOaI?D AC<�KGkM . �

@7\ZMaT7>PACRE@tR \pWEISU�IP< :V^�AiQ(< KG: AcIEM 9;:=<�>J< @*ACB F?:YF?IPK?LYMZNM U�Ie\ U>EI(An:H^ MG:hAcQ(< @ AlI @?9?BPKGQ 3.1, @s: Fe\EI fp`GfHWEIe\JD >JIZWGIpOP< I?` .

|AiIZM U>Gk�AcI f]`PfYWEI O;>ZT?u1:HAnQ(< R Ax<�K?B ACRGD

F?<�:H`E_;\aMJ@7RJD AnI(\ U�Q7AnL=>EQ ADR1, KG: A[R Fe< Q(FP<ofbQ(@-^ Q U�I(\ U�:=>G< O?>JT?u ACRGf]: U�Q(>JQPU�TPMaN . |AiIZM FP:=`?Ac:h>GI

fa`PfHWaI >JISWaISOJ< I;` , :YU�< WGLCOJIJM?AlQ(< U�TPWP< Fe\EI Ax\]9?QG^�:HD FP< :=\J_P`aMJ@7:H< D fdQ(< @*\]O?f]>J^ MEIEM?AnQ?< , g?KGN�D U>ELVU�:H< MPQ LC9GI(\]M AC< K(B Fe< T?urIe>?R QPU�g ACRZM U>GIPRZOaI(\SK;LCMJN�D :YU< WJ:xO?KGLYM?R F?< :H`J_e\]MJ@7R @rAnISM f]Q(AiQ;9GN�>PRGACB ADR1,

Page 33: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

30

f=Q(< @r\pMG:YU�k�D init=1, L=Ai@*< km@ Ai: QPM :YU�< WJ:COG:H^ ^�Fe< Q FP<�:H`G_P\ZMJ@7R QeU+g AnQ LFSRs MZQ QSWaWaT y :h< fhQ7AlT 1 R f=T?_P: :YU< WG:qOGKGLVMJR FP<�:H`E_;\aMJ@*R U>GIPD @7`ZOJfZ>?< @7R .

|AnR @7\ZMJLC9G:=< Q @rAnISM fhQ(AnQP9GNj>GRPACB ADR2 O?>JT-ur:=AnQ?<

R An<�K?B ACRJD Fe< :H`J_?\pME@*RJD , U�IP\ U>aI(fd`JUAn:d< F(< T?urI?>?R QPU�g :=f=:H^ M?R @*AnIJM ADR1 f=Q(AnQ;9ENj>?RGACB , R ISU�IP^�Q Ac:qWG<{fhT :Y^ MGQe< :dfd:b^ MSR U�Ie\ QJMeAn< @rAnIe< 9;:H^ @ AiI 9->EN�K;gJ@7N�K?Q KG: AxR K;:[OSQSWP`?Ai:=>?R Ax<�KGB @r\pMGT(>GAxRG@7RGD f=Q(AnQSWZWGRpWGg?AxRGAnQ(D , QPU�g AiI FG:h`GAn:=>GI y :d`pOEIPD An\Z9GQ?^ NM F?<�:H\E_;`aMJ@7:bN�M .

LFSR1

LFS

R2

1 0

MUXeq

comp1comp1

ADR2ADR1

Fitnessregister

file16x16

COMPARATOR>

COMPARATOR

=

4bit

EPI

ADR1

init

com

p

LFSR2

LFSR2(0)

LFSR2(3:1)

EPI

comp1

LFSR2 4bit

4bit

ADR1

ADR2

COMPARATOR

=ADR1

initLFSR1

1 0

MUXeq

com

p

LFSR1(3:1) 4bit

LFSR1(0)

4bit

4bit

16bit 16bit

wadr1wadr2

LFSR2 4bitLFSR1

rds rds

LFSR1

Fatherfitness

Motherfitness

we1

we2

Fatheraddress

motheraddress

0 1 MUXL1

FL

LCOUNT1

0 1 MUXL2

LCOUNT2

FL

FL

LCOUNT1

LD

LCOUNT2

0 1 MUXA1

0 1 MUXA2

1 0 MUXF1

1 0 MUXF2

1 0 MUX1

1 0 MUX2

0 1 MUXadr1

0 1 MUXadr2

4bit

&P�r�7�;� 3.1 "��d� �*�o�*�]�?� �7�H�s�t�;�h�;�j� � � � �p� �7�o�-�*���a�7����� �V��� �1�Z���?� 3.2 #(6#13Z"�.�& 3?$ 4 's.�0 "�# $�%1$�&?' ) ,�#-,�.�/�# 0+2j0 # 5�$ 6�.�3s)1& �Z<�Q AxR]M \ZWaIPU+IP^{Ra@ R AlNM Fe\aI U>Jk�AnNM U�:d>S< UAckm@s:VN�M An\Z9GQ?^ Q?D :qU< WSIEOGBJD , AiQ @ BJK?Q(AiQ :CWJLCOZ9GI(\ AnI?\ U�Q7>aQPU�TSMGN 9;:H<�>?< @*A[B FP:HFJI(KGLCMGNM WGQeK?XGTJMJIe\]M Ax< D An<�KGLHD AnIP\ U�Q(>JQ(f]T(AnN U�^ MPQ?f]Q .

zI

@rBPKGQ :xWGLCOp9;I?\ EPI, U>EIef]`ZUAn:d< 1 QPU�g ACRZM QSU+I(fdN�Fe<�fhISU�I?^�Ra@+R AnIe\ opcode AnRGD :qMGAlISWGBGD :YU< WGIEOGBJD .

5�$�0r4��r4�& 3.2.1 �S ?¡a¢?£C¢

¤C¥J¦C§p¨E©(ª §?« ¢ £H¬p­

ªd¥Z©?®�©(¯ ¬Z°r¬ £ ªd¨ ¢ ¯ ¢P± ¤H®« ¥Z©J§  J±

|BPKGQ7AiQ :qWGLxOZ9;IP\

wr^ F?IPD An\Z9JQ?^�Q?D :VU�< WaISOGBGD Init rds wadr1 wadr2 EPI FL LD w7U�< WGIEOGB KP< Q-D An\p9;QG^�Q?D

Fe< :H`G_P\ZMa@*RED 0 1 1 0 1 0 0

wsU�< WGIZOPB FP\GI An\Z9EQ(^ N�M F(< :H\G_P`ZMa@7:bN�M 0 1 1 1 1 0 0

Page 34: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

31

~ @7ISM Q?urIe>GT ACR @7\ZMGT(>GAxRG@7R :YU�< WJISOJBGD ga_select_one_bestof2, @*AlI AnLqWEI?D AnI?\ fZ`JfHWEIe\ >EISWJISOG< IP` O;>JT-u*:dAlQ(< R :YU< WG:COJg(KG:CM?R Fe< :d`J_P\ZMa@*R @*AnISM fdQ7AnQS9;N�>PRGACB ADR1(wadr1=1), :CMGk AnI @*BPKGQ :CWJLCOZ9GI(\ init=0, k�@*Ac: MaQ \JU�T(>Z9G:d< Fe\]MGQ(Alg(ACRGAnQ :VU< WSIaO;BJD fbQ(< ACRJD Ax< K?BGD F(< :h`E_e\]MJ@7RGD U+Ie\ BaF(R \aU�T7>p9;:=< @ AlIJM fhQtAiQS9;Nj>GRPAnB Q(\GAng .

� @*\aMZT7>PA[RJ@*R ga_select_two_bestof2, U>JQSO?KEQtAnIZU�I?< :H^{AiQ(< @7: F?\JI fZ`GfHWEI;\GD , gPU+Ie\ f]Q(AnT

AcISM U>Jk�AlI fd`?fVWSI F?:CM Fe< Q?urL=>E:=< QPU�g AxRaM :dfZAiLqWG:b@*R ACRGD U�>JIPRZOGIP`PKG:CMPRGD @*\]MGT(>?AnRJ@7RGD , :CMJk fhQ(AnT AcISM FG:h`GAn:=>GI fd`?fVWSI O;>JT-u*:dAnQe< I f]Q(AiQP9GNj>?RGAxBED ADR2(wadr2=1), fhQe< init=1, OJ< Q ACR]M QPU�IGu+\]OPB :COpO;>JQ-u+BED AxRGD ^�F?< Q?D Fe< :d`a_e\]MJ@*RGD @rAnIZM F?:V`?An:d>JI fbQ7AnQZ9?N�>PRGACB .

5�$�0r4��r4�& 3.2.2 �J ?¡Z¢?£C¢ ¤[¥S¦[§p¨J©(ª §?« ¢ ¤H®« ¥J©Z§J¦ ± £H² ®�©7ª ga_select_one_bestof2 ³ ¢ « ga_select_two_bestof2

|BJK;Q(AlQ :xWGLCOZ9GIe\ ´ `GfVWGIP<

>JISWGIZOP< IP`

wr^ F?IPD :VU�< WJIZO?BJD Init

Rds

Wadr1

Wadr2

EPI

FL

LD

Ga_select_one_bestof2 0 0 1 0 1 0 0

1 µl¶ Ga_select_two_bestof2 0 0 1 0 1 0 0

2 µl¶ Ga_select_two_bestof2 1 0 0 1 1 0 0

·s¸ ¹*ºJ»;¼ ½C¾G¿xÀZÁ;¸P FL, Á-ÃPÄE¹tÅo»J¸JÆ�¸eÅ ½YÇ}Èi¼(Å ÀPÅ ¼ Èc¸EÉ ÂaÆ�¸S¾E¸SÀJÅ ¹*»GÊ ÈCÄJË ÈCÅ »-ºJË Ìh¼7Èl¼S¾Z¾GÄZ¾aÊ(ÈCÄGÈl¼-Ë Èc¸e ÌhÍ?ÎP½ Á;ÃGÏj»J¸G¹7Ðj»E¼(Èn¸?Ë Èl¸? ½=Å ÑeÅ�Ì]¸PÒ ¼(ÃZÁS½HÇ ¸? Ìh¼eÈn¼SÁ;ÏjÃGÄ?ÈnÐÉ Á-ÃJÏ�»J¸?¹-Ïj»EÍtÈnÏÉ , »?½ ÈCÄaÉ ½=Å Ñ(Å ÌZº ½YÉPÈn¸S¾Jº FIT À?Å ¼ ¼(ÃZÁ?Å�Ìh¸PÆ�¸JÇ}Äa¹*Ä , Æ+¸e Æ�½HÃPÅ À;ÃJÍ?Ór½=Èn¼(Å ¼SÉJ¼S¾GÂPÈCÅoÌbÍ ¹*Èc¸ Ìh½HÓrÍP¾a¼tÅ ¸ 5. Ô7Æ+Ç{¹7ÄJË , Ê(Èi¼SÉ ½HÌZÈn½C¾J½bÇ}Èn¼?Å Ä ½=Å ÑeÅ�Ì]º ½qÉGÈn¸S¾Jº LD(=1) Ó*Ê?Ã?ÈlÏ�¹*ÄJË Èn¸P ¼(ÃpÁ;½YÇ�¸e Ì]¼(Èi¼;ÁGÏ�ÃPÄ?ÈiÐÉ Á;ÃGÏj»G¸P¹sÏ�»GÍ7ÈiÏ�É , ¸eÅ ÑPÅ�½dÂaÎeÒ]ÉG¹7½HÅ Ë Æ+¼(ÃG¿xÁ?¸ZÉ?Èn¼?Å ¼PÆ�Ê ¼SÉ?ÈnÇ ¹*Èn¸eÅ ÁS¼ Æ�½HÑJÇ�¼ ÈCÄEË ½qÉGÈn¸E¾GºGË , Lcount1 Ì]¼?Å Lcount2. Õt¼(ÈlÍ ÈCÄaÉ ½=Ì]Èn¿q¾G½Y¹ Ä ÈCÄJË ½CÉ?Èn¸E¾GºJË ¼(ÂPÈnºGË Ñ?½CÉ ¼P¾]¾JÍ?Öb½=Å Èn¸ ¼(ÃZÁG½HÇ�¸ Ìb¼7Èn¼SÁ;Ï�ÃPÄGÈnÐÉ ÈCÄGË ¹7ÂZÉEÍtÃGÈxÄG¹7ÄJË Ì=¼(Èn¼;¾d¾;Äp¾EÊeÈCÄ?Èn¼?Ë (fitness register file), ½bÓrÊP¹7¸ZÉ ¹7ÂP»?×G¼GÇ ÉG½=Å »GÊZÉG¸ ¼PÆ�¸PÎeºGÌd½dÂJ¹*Ä ½bØHÏ�Èn½dÃ?Å�ÌdÐ�É ÈnÅ�»JÐÉ ¹*Èn¸ ¼7ÃpÁ;½HÇ ¸ Ìd¼(Èc¼;ÁGÏ�ÃPÄGÈnÐÉ ÈnÏÉ Á?ÃGÏ�»;¸S¹rÏm»;Í(ÈnÏÉ . Ù?½ ¼eÂ?È[º ÈCÄ]É Æ�½dÃJÇ ÆÈiÏ�¹*Ä , ÑG½VÉ ¾G¼e»?×GÍJÉJ¸ZÉeÈc¼eÅ ÂJÆ�ÊeÚ�Ä ¸PÅ ¼?Æ�¸PÎ?ÄPÌ]½HÂG»G¿qÉG½bË ÑeÅ ½HÂGÎPÒZÉa¹r½VÅ�Ë ¹*Èn¸PÂGË Ìh¼(Èn¼SÁ;ÏjÃJÄ?Èl¿bË Ñ(Å ½=ÒaÎ?ÂpÉE¹*ÄGË ADR1 Ìb¼7Å ADR2. 3.3 Û7Ü Ý�Ý�Þ1ßtà�á�Üsâ ã*ä�à(ä�Û;åjÛ-Þ+â ßeæ ç1ä�áoå�Ý ä�à�á è�é�å�Ý é�Ü LFSR (LINEAR FEEDBACK SHIFT REGISTERS) ê�Å ÀG½CÉZÉ?ºPÈ[ÃPÅ ½HË Ú�½dÂJÑP¸?ÈxÂZÁS¼?Ç�Ï�É ¼(ÃPÅ ÎP»;Ð�É Á-ÃPÄJ¹7Å�»G¸SÆ+¸eÅ ¸?ÒpÉ?Èi¼eÅ Ì=¼(ÈnÍ ÌbÊ(ÃJ¸SÉ ¹7½ ÂZ¾a¸PÆ�¸?Å�ºa¹7½=Å Ë ÀS½qÉG½dÈCÅ�Ì]Ð�É ¼;¾]ÀEÊeÃ?Å Î?»GÏÉ . ê�Å ÀG½CÉ]ÉPºPÈ[Ã?Å ½HË ¼eÂ?Èc¿VË ×G¼?¹-Ç�ÖH¸JÉ?È�¼(Å ¹r½ Ìb¼tÈn¼SÁ;Ï�ÃPÄGÈn¿HË ¸Z¾GÇ ¹sÎeÄJ¹rÄJË »;½ À;ÃJ¼(»?»PÅoÌ]º ¼SÉJÍ?Ñ?ÃJ¼G¹+Ä , Linear Feedback Shift Registers (LFSRs). ÕsÍ-ÎP½ Look-Up-Table (LUT) ¹s½ ¹tÂG¹rÌ]½HÂPº Èn½xÁGÉJ¸E¾E¸EÀGÇ ¼(Ë Virtex™ º Virtex-II »PÆ�¸?ÃG½HÇ ÉJ¼ Ñ?Å ¼(»G¸(ÃJÓ7Ï�Î?½VÇ Ï�Ë ¿qÉE¼?Ë 16-bit Ì=¼(Èn¼SÁ;ÏjÃJÄ?ÈxºGË ¸S¾aÇ�¹sÎ;ÄE¹*ÄGË (SRL16 macro). ÙeÂaÉJ½VÆ�Ð�Ë , ¸eÅ ¹tÂE¹*Ì]½HÂG¿HË Virtex ÂZ¾a¸PÆ�¸;Å ¸PÒaÉ ¼PÆ�¸(Èc½q¾E½H¹7»?¼(ÈnÅ�ÌdÍ LFSRs Ìh¼(Å Æ�¼7ÃJ¿qÁ;¸PÂZÉ »?Å ¼ ¹*ÄG»G¼SÉ?ÈnÅ�Ìpº »G½bÇ�Ïm¹rÄ ¹7½ Á-ÃPºG¹7Ä ÂZ¾GÅ�Ìd¸?Ò , ¹7½ ¹7ÒpÀ?ÌZÃJÅ ¹tÄ »G½ ½VÉJ¼P¾d¾G¼(ÌZÈnÅ�Ì]Í flip-flop ¹s½ ÑP¸?»G¿HË PLD. ëZÅ ¼ Æ�¼(ÃGÍ?Ñ?½HÅ ÀJ»G¼ , ¿qÉG¼ LFSR 16 ¹ Èl¼?ÑJÇoÏ�É »ZÆ�¸(ÃJ½YÇ ÉP¼ Â]¾J¸JƸPÅ ÄGÎP½YÇ ¹7½ ¿VÉE¼ »;ÊZÉJ¸ LUT [16]. ì

Ì]¼(ÃEÑeÅ Í »?Å ¼-Ë ÀS½qÉaÉPº?ÈxÃGÅ ¼(Ë Ú+½hÂGÑJ¸(ÈnÂpÁ;¼PÇ�ÏÉ ¼(ÃPÅ Î?»GÐÉ ½bÇ ÉZ¼(Å Èn¸ LFSR. ·s¸ LFSR Ñ?Å ¿=ÃpÁ;½dÈn¼(Å »G¿b¹7Ï »?Å ¼-Ë ¼(Ìh¸E¾S¸;ÂEÎPÇ ¼(Ë (2N − 1) Ì]¼(Èn¼G¹ ÈlÍ?¹7½bÏÉ , ÊJÆ�¸( N ½HÇ ÉJ¼eÅ ¸ ¼tÃJÅ ÎP»GÊ?Ë ÈcÏ�É Ìd¼(Èc¼;ÁGÏ�ÃPÄGÈnÐÉ ¹*Èl¸ LFSR. ·-¼ Æ�½HÃGÅ ½qÁ;Êe»G½CÉJ¼ ÈnÏÉ Ìh¼(Èn¼;ÁSÏjÃPÄGÈnÐÉ ¸S¾GÅ ¹(ÎG¼?Ç ÉJ¸?Â]É ÑP½HØdÅ Í Ìd¼(ÈnÍ »?Å ¼ ÎG¿H¹7Ä ¹r½ Ì]ÍPÎ?½ ÌpÒ?ÌC¾G¸ ÃE¸S¾J¸SÀGÅ ¸PÒ .

ì ¼SÉGÍGÑ(ÃJ¼P¹ Ä ¼PÆ�Ê ÆÃE¸(Ìb¼(ÎJ¸(ÃGÅ ¹t»G¿YÉJ¸eÂGË Ìb¼7Èn¼SÁGÏjÃGÄPÈn¿bË (taps), Æ�½=ÃZÉE¸eÒ]É ¹r½

Page 35: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

32

Ì=¼(Èn¼SÁ;ÏjÃJÄ?Èl¿bË Æ�¸; ×-ÃJÇ ¹ Ìb¸SÉPÈn¼(Å ¼(Ã?Å ¹rÈn½=ÃGÊ?Èn½=ÃE¼ ¼?Ór¸;Ò ÆÃJÐ�Èn¼ Æ�½dÃJÍP¹s¸;ÂaÉ Ï�Ë ½HÇ ¹7¸PÑG¸eÅ ¹7½ Æ�Òp¾G½bË XOR. ·s¼ LFSRs ¿xÁ;¸eÂ]É Æ�¸Z¾Z¾G¿YË »;½=Èi¼t×Z¾GÄPÈc¿HË : • ·7¸JÉ ¼(Ã?Å Î?»GÊ ÈnÏ�É ×?ÄP»GÍ(ÈnÏÉ (stages) ¹*Èn¸JÉ Ì=¼(Èl¼PÁGÏjÃGÄPÈCº ¸E¾EÇ�¹7Î?ÄZ¹rÄJË . • ·7¸JÉ ¼(Ã?Å Î?»GÊ ÈnÏ�É taps ¹+Èi¸ »G¸EÉG¸ZÆ�Í7ÈxÅ ¼PÉJÍ?ÑeÃG¼G¹tÄGË . • ·*ÄaÉ ÎP¿b¹*Ä Ì]ÍPÎ?½ tap ¹rÈn¸ stage Èn¸e Ìd¼7Èi¼;ÁEÏjÃ?ÄGÈCº ¸Z¾JÇ ¹rÎ;ÄG¹7ÄJË . • ·*ÄaÉ ¼(ÃZÁ?ÅoÌdº ¹7ÂZÉEÎeºPÌ]Ä ½HÌZÌ]Ç ÉPÄa¹*ÄGË Èl¸P Ìh¼(Èn¼SÁ;ÏjÃJÄ?ÈCº ¸S¾EÇ�¹-ÎeÄJ¹rÄGË , ¹7ÂZÁaÉPÍ ¼SÉG¼PÓr½=ÃEÊ(»G½CÉeÄ Ì=¼eÅ Ï�Ë ÀS¿h»-Å ¹r»G¼ ÈxÄGË Ìh¼tÈiÍ?¹*Èi¼?¹*ÄJË ( “FILL” state).

Ù?½ ¿VÉJ¼ Ìd¼(Èn¼PÁGÏ�ÃSÄ?È[º ¸Z¾JÇ�¹-Î(Äa¹*Ä Èc¸ »Gº?Ìd¸?ÂJË í , Æ�¼GÇ�Öb½=Å ¹*ÄP»G¼JÉeÈnÅ�ÌhÊ ÃJÊZ¾J¸ . ëJ½xÉPÅ�Ì=Í , ÊJ¹7¸ »G½CÀG¼S¾GÒPÈn½dÃJ¸e »?ºPÌh¸eÂEË ½HÇ ÉE¼eÅ ¸ Ì]¼(Èi¼;ÁGÏ�Ã?ÄPÈnºGË ¸S¾EÇ ¹7Î?ÄZ¹rÄJË , ÈnÊG¹(¸ ƽHÃGÅ ¹7¹(Ê?Èn½=ÃE¸ ÑeÅ ¼(Ã?Ìd½bÇ Ä Æ+¼(ÃJ¼PÀJÏ�À?º ¼(Ì=¸E¾E¸eÂJÎPÅ ÐÉ ÆÃJÅ É ÈCÄaÉ ½CÆ�¼PÉJÍS¾?ÄJÚ�Ä ¼(Ìh¸E¾S¸;ÂEÎJÇ{¼?Ë . îïÈn¹7Å , ÀPÅ ¼ Ìd¼?ÎG¸(ÃSÅ ¹r»G¿qÉE¸; »-ºPÌh¸PÂGË Ìb¼7Èn¼SÁGÏ�ÃPÄGÈCº ¸Z¾GÇ ¹sÎeÄJ¹rÄJË , Ä ÑeÅ Í(Ã?Ì=½VÅ�¼ Æ�¼(ÃJ¼PÀEÏ�ÀGºJË Ñ(Å ¼?Ó*¸?ÃG½HÈCÅ{ÌhÐÉ ¼(Ì]¸S¾a¸eÂEÎeÅ ÐÉ Ì=¼?ÎS¸(ÃEÇ�Öb½dÈn¼(Å ¼?Æ�Ê Èn¸JÉ ¼(ÃPÅ ÎP»GÊ Ì]¼(Å ÈnÄ ÎG¿H¹*Ä ÈnÏÉ taps Æ�¸P Á-ÃPÄa¹*Å »?¸ZÆ�¸?Å ¸;ÒaÉ?Èl¼?Å ÀJÅ ¼ ÉG¼ Æ�¼(Ãa¼;ÁSÎ?½VÇ Èn¸ Ú�ÄJÓrÇ�¸ Å ¹-¸(ÈCÅ »GÇ�¼?Ë ¼PÉZÍ-ÑeÃE¼?¹tÄGË (parity feedback bit).

ê ¹*ÂaÉZÑ?ÂJ¼?¹*»EÊ?Ë ÈnÏ�É taps Èi¸e Ì]¼(Èi¼;ÁGÏ�ÃPÄ?Ènº ¸S¾aÇ�¹7ÎeÄE¹tÄGË , Ìh¼eÅ Ä Î?¿V¹ Ä Èi¸eÂJË ¹7ÂZÁaÉJÍ ¼JÉG¼?Ó*¿dÃG½=Èi¼(Å Ï�Ë ¿YÉJ¼ Æ�¸S¾JÂGÐÉJÂP»G¸ , Ì]¼?Å ½dÌdÓ ÃGÍPÖh½=Èn¼?Å ÀGÅ ¼ Æ�¼(ÃaÍ-ÑP½HÅ À?»G¼ , Ï�Ë P(x) = 1 + X3 + X7, ÊZÆ�¸e Èc¸ “1” ¸PÑeÄ]ÀJÊ?Ë Æ�¼(ÃJÅ�¹*ÈiÍSÉG½dÅ Èi¸ X0, Æ�¸P ½YÇ ÉG¼eÅ Ä ¿HØH¸GÑP¸GË Èn¸P Èn½C¾J½dÂPÈi¼(Ç ¸e Ìd¼(Èc¼;ÁGÏ�ÃPÄGÈCº (stage) ¹rÈl¸JÉ Ì=¼(Èn¼SÁ;ÏjÃJÄ?Èxº ¸E¾EÇ ¹rÎPÄG¹tÄEË , X3 ½VÇ ÉE¼(Å Ä ¿YØH¸?ÑG¸PË Èn¸P ×Pº?»E¼tÈi¸?Ë 3 Ìh¼(Å X7 ½YÇ ÉZ¼(Å Ä ¿VØb¸?ÑP¸GË È[ÄJË ÆÒZ¾JÄGË XOR.

Ù(ÈCÄ ¹7Â]ÉG¿qÁG½dÅ ¼ , Èc¸EÉEÇ ÖH¸JÉPÈn¼(Å »G½dÃ?Å�ÌdÍ ¹*ÄG»G½HÇ ¼ , ¹rÈn¼ ¸ZÆ�¸GÇ ¼ ÆÃJ¿YÆ�½hÅ ÉE¼ ÑG¸PÎ?½CÇ ÆÃa¸G¹7¸SÁPº ÀJÅ ¼ Èi¼ LFSRs Ìb¼(Å Èn¼ Æ�¸E¾GÂJÐÉJÂ?»J¼ Æ�¸P Á;ÃPÄJ¹rÅ »;¸EÆ�¸?Å ¸PÒZÉ?È�¼(Å ÀGÅ�¼ ÈCÄZÉ Æ�½HÃ?Å À?Ãa¼(Ó º Èl¸?ÂJË . • ·s¸ Èn½x¾G½dÂPÈn¼?Ç ¸ tap Èc¸; Ìh¼7Èl¼PÁGÏjÃGÄPÈCº ¸Z¾JÇ�¹-ÎeÄE¹*ÄJË ½HÇ ÉE¼(Å ¸ ¸PÑeÄ]ÀGÊPË “1” Ìh¼(Å Æ�ÍPÉPÈi¼ Á-ÃGÄJ¹7Å�»G¸SÆ�¸PÅ ½HÇ�Èl¼(Å ¹rÈn¸ »E¸SÉJ¸PÆ+Í(ÈxÅ ¼JÉJÍPÑ(ÃE¼?¹*ÄJË Èi¸e Ìd¼(Èn¼PÁGÏ�ÃPÄPÈ[º ¸Z¾JÇ�¹-Î(Äa¹+ÄEË . • ·r¸ »Pº?Ìh¸?Ë Èn¸? Ì]¼(Èl¼SÁ;Ï�ÃPÄ?Ènº ¸p¾GÇ ¹sÎeÄJ¹rÄJË »ZÆ�¸(ÃE½YÇ ÉG¼ ½bØH¼SÁ;ÎP½YÇ ¼PÆ+Ê ÈCÄ]É »?½CÀJ¼P¾JÒ?Èn½dÃPÄ ÈiÍ?Ø=Ä Èn¸e Æ�¸Z¾PÂGÏ�ÉPÒP»G¸P . • ê ÊeÃG¸PË »G½qÀE¼;¾GÒPÈn½dÃPÄGË ÈnÍ-ØhÄGË Èl¸? Æ�¸S¾JÂGÏ�ÉJÒP»G¸? , ½HÇ Éa¼7Å Èn¸ ¹rºS»;¼ Æ�¸; ¹7ÂZÉaÑ?¿H½HÅ ÈxÄ]É Èi½q¾GÅ�ÌZº ¿HØb¸PÑ?¸ ¹rÈCÄZÉ Æ�ÒZ¾PÄ XOR »G½ ÈxÄaÉ ½VÇ�¹s¸PÑP¸ Èi¸( Ì=¼(Èl¼PÁGÏ�ÃPÄ?ÈCº ¸S¾aÇ{¹-ÎeÄE¹tÄGË . ð�½CÉ ¼PÉa¼tÈ[ÃJ¸?Ó7¸GÑP¸eÈc½HÇ Èl¸JÉ ÂaÆ�¸S¾G¸pÀ?Å ¹t»;Ê Å ¹7¸(ÈnÅ »EÇ{¼?Ë , »?½ Èn¼ ÂJÆ�ÊZ¾G¸PÅ Æ+¼ taps, Èn¼ ¸JÆ�¸?Ç ¼ Ìb¼-ÎJ¸(ÃJÇ Öb¸SÉGÈn¼(Å ¹rÈn¸ Æ+¸S¾JÂGÐÉSÂG»G¸ .

·s¸ »;¿qÀGÅ ¹*Èl¸ »Pº?Ì]¸GË »-Å ¼-Ë ¼(Ìd¸S¾E¸eÂaÎGÇ�¼?Ë (L), ÀPÅ ¼ ¿xÉG¼SÉ Ìd¼7Èn¼SÁ;Ï�Ã?ÄPÈnº ¸E¾EÇ ¹7Î?Äa¹+ÄEË »-ºPÌh¸PÂGË N ¼JÉG¼?Ó*¿dÃG½=Èi¼(Å Ï�Ë m- ¼tÌb¸S¾G¸PÂEÎSÇ�¼ , Ì]¼(Å Ìd¼?ÎG¸eÃJÇ Öh½=Èn¼(Å ¹tÂaÉSºGÎGÏ�Ë ¼eÆ+Ê ÈCÄ ¹(ÁG¿b¹tÄ : L = 2N − 1. ëSÅ ¼ Æ�¼(ÃGÍGÑ?½HÅ ÀG»G¼ , ¿CÉJ¼ LFSR ¸eÌZÈnÐ stages ÎP¼ ¿CÁ;½=Å ¹tÒaÉP¸p¾E¸ m- ¼7Ìh¸E¾E¸eÂaÎ(Å ÐÉ »Pº?Ìb¸?ÂJË 255. ñ

¼(ÃG¼(Ì]Í(ÈlÏ ÀJÇ ÉG½=Èi¼tÅ ¼PÉZ¼-Ór¸eÃJÍ ¹r½ ¸eÃ?Å ¹t»;¿CÉG½HË Å ÑPÅ ÊeÈCÄ?Èc½VË ¹*Âa¹eÁ;¿=È[Å ¹*ÄGË (Correlation). ò Æ�Í7ÃpÁ;¸PÂZÉ Æ+¸S¾p¾G¸JÇ ¹7ÂpÉGÑPÂJ¼?¹r»J¸?Ç taps ƸP Æ�¼tÃaÍPÀJ¸?ÂpÉ m-sequences »G½ »?Å�ÌZÃaÊ ÑeÅ ¼(¹rÈl¼?Â?ÃJÏj»G¿CÉJ¸ ¹7ÂG¹eÁG½dÈxÅ ¹7»GÊ . Ù(Â]ÉG½VÆ�Ð�Ë , ½HÇ ÉE¼(Å ÑPÂZÉa¼7ÈnÊ ÉJ¼ ¸eÃGÅ ¹*Èc½HÇ ¿VÉa¼ ¹7ÒZÉJ¸S¾E¸ taps, ÀJÅ ¼ ¿qÉG¼JÉ Ì=¼(Èl¼PÁGÏjÃGÄ?Èxº ¸Z¾GÇ ¹sÎeÄJ¹rÄJË ¹*Èi¼(ÎG½=ÃJ¸?Ò »?º?Ìh¸PÂGË , Ð�¹*Èn½ ÉP¼ Æ�¼(ÃJÍSÀG½dÅ »?Å ¼ ¹7ÂZ¾]¾G¸EÀGº m- ¼7Ìb¸S¾J¸?ÂZÎ?Å ÐÉ »G½ »PÅoÌpÃEÊ cross correlation. ·s¿q¾S¸PË , ¸ ¼(ÃPÅ ÎP»;ÊPË ÈcÏ�É ¼PÉJ½bØHÍ(Ã?ÈCÄGÈnÏÉ m- ¼tÌh¸S¾J¸?ÂaÎeÅ ÐÉ (S), ÀPÅ ¼ Ñ?½HÑJ¸(»G¿CÉa¸ »?º?Ìb¸?Ë Èc¸e Ì=¼(Èn¼SÁ;ÏjÃJÄ?Èxº ¸S¾aÇo¹(Î?ÄJ¹7ÄGË , Ìb¼(ÎJ¸(ÃaÇ�Öb½dÈn¼tÅ Ï�Ë : S ó (L − 1) ÷ N. ê�Å ÀS½VÉ]ÉeºGÈCÃPÅ ½bË Ú+½=ÂEÑP¸(ÈnÂpÁG¼?Ç ÏÉ ¼(ÃPÅ Î?»GÐÉ Æ¸P Á-ÃPÄE¹tÅ�»G¸JÆ�¸PÅ�ºJÎeÄ?Ìh¼SÉ ¹*È[Ä »;¸EÉEÍ?ÑP¼ ½VÆÅ ¾S¸EÀGºJË , ÆÃE¸(ÌpÒaÆÈl¸?Â]É ¼SÆ�Ê ÈnÄZÉ ¼tÃ]Á?Å�Èn½=ÌaÈl¸JÉPÅ�ÌZº Èl¸? ¹(ÁGºP»G¼(Èn¸GË 3.3.1. ·t¸ ¹sÁ;ºP»J¼ ÆÃE¸?¿hÌ]Â?Ú+½ ¼JÆ�Ê Èl¸ ÆÃEÊSÀPÃG¼?»?»G¼ , LFSR testbench.exe [17].

Page 36: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

33

âeôrõ-ö-÷ 3.3.1 LFSR ö7õ?øGù7úGû 8 ö;ü ö;ýxþ ÿ����dù ö7õ-øJù7û ÷tøEù � ù7ú���� ÷(û 28 = 256.

ëZÅ�¼ ÈCÄZÉ ¼PÉaÍ(Ñ?ÃG¼P¹7Ä , Ê(Èn¼JÉ ÊE¾E¸PÅ ¸PÅ ¿YØH¸?ÑJ¸(Å ¼SÆ�Ê ¹7ÂZÀGÌ]½HÌZÃPÅ�»;¿CÉZ¸?ÂJË Ìd¼7Èl¼SÁ;Ï�ÃPÄPÈc¿HË ½VÇ ÉG¼eÅ »PÄEÑ?¿CÉ ÈcÊeÈn½ Èn¸ ¼PÆ�¸(Èn¿x¾G½b¹*»G¼ ÈCÄEË »?Å ¼(Ë ½dÅ ¹7ÊJÑ?¸P Æ�ÒZ¾JÄGË XOR ½HÇ ÉJ¼?Å 1 Ì]¼?Å ¿dÈn¹*Å ½bÇ ÉZ¼(Å ÑeÂ]ÉG¼(Èxº Ä ½=»;ÓrÍSÉPÅ ¹*Ä ÈCÄGË È[Å�»?ºJË ÊS¾E¼ »(ÄaÑ?¿CÉ , ¹*ÈCÄ]É ¼7Ìd¸S¾E¸PÂGÎSÇ ¼ . ·s¸ ¹7ÂZÀGÌ]½=Ì]ÃPÅ »G¿VÉJ¸ LFSR, Æ�¸; Á-ÃPÄE¹*Å »G¸JÆ�¸eÅ ½YÇ{Èn¼(Å À?Å ¼ ÈCÄaÉ Æ�¼(ÃG¼SÀEÏ�ÀGº ÈiÏ�É ÑeÂa¸ Èn½=È[ÃJ¼(Ú�ºGÓ*Å ÏÉ ÈxÂ]ÁG¼?Ç�ÏÉ ÑeÅ ½HÂGÎPÒZÉa¹7½bÏ�É , ¹*ÈnÄZÉ »?¸ZÉJÍ?ÑG¼ ½VÆ�Å ¾E¸SÀJºGË , ½YÇ ÉP¼?Å À;ÃJ¼(»?»G¿VÉE¸ ¹*½ VHDL ÌhÐ�ÑeÅoÌb¼ Ìh¼eÅ ÑJÇ ÉJ½dÈn¼eÅ ¹rÈn¸ Æ+¼(ÃGÍ(Ã?ÈxÄG»G¼ ë .

Ù(Èn¸ ÁG½HÅ�ÃGÅ ¹+Ènº Ñ?½VÑ?¸P»;¿VÉaÏÉ ÈnÄJË »J¸SÉEÍ?ÑS¼-Ë »G½dÈnÍS¾]¾J¼-Ø=ÄEË , À?Å ¼ ÈxÄ]É Æ�½=ÃaÇ�ÆÈcÏm¹7Ä ¼SÉ?ÈnÅ�Ìd¼(ÈnÍG¹ Èl¼?¹7ÄGË

½YÉJÊ?Ë ÈxÂ]Á;¼PÇ ¸? ÀE¸SÉJÅ�ÑJÇ�¸P »G½ »?Å ¼ ÈxÂZÁS¼PÇ�¼ ÈxÅ�»?º Á-ÃPÄE¹tÅo»J¸JÆ�¸eÅ ½YÇ}Èi¼(Å ¿CÉG¼ LFSR, 16 Ú�ÄGÓ7Ç�ÏÉ , ½bÓ7Ê?¹(¸ZÉ ÈnÊG¹(¸ ½bÇ ÉJ¼eÅ Èn¸ »?¿CÀPÅ ¹rÈl¸ »?º?Ìh¸PË ÀE¸SÉJÅ�ÑJÇ ¸? . Ù7Èl¸ Æ�¼(ÃG¼eÌ=Í(ÈnÏ ¹eÁ-ºJ»?¼ Æ�¼(ÃG¸PÂJ¹7Å Í?Öd½HÈn¼(Å Ä ¼(ÃZÁ?Å�Èc½=Ì]Èn¸SÉJÅ{Ì]º Èn¸e Á;Ã?ÄJ¹*Å »G¸PÆ�¸eÅ ¸PÒG»G½VÉJ¸P LFSR.

âPô õ-ö;÷ 3.3.2 LFSR ö7õ?øEù*úGû 16 ö;ü ö-ýlþ�ÿ���hù ö-õ(øGù-û ÷tøGù � ùrú����÷(û 216 = 65536.

Ù(Èn¸?ÂJË ÀJ½CÉG½HÈCÅ{Ìb¸?ÒJË ¼E¾ZÀGÊ?ÃJÅ�ÎP»;¸;ÂGË , ½HÇ Éa¼(Å ½VÆ�Ç�¹7ÄGË ¼PÆ�¼eÃG¼?Ç�ÈxÄGÈCÄ Ä Æ+¼(ÃG¸PÂJ¹-Ç�¼ ÈiÏÉ LFSR ¹*ÈCÄ »G¸JÉZÍ-ÑJ¼ ½C¾G¿qÀ]Á;¸e , ÀJÅ ¼ Èn¸ZÉ Ì=¼PÎ?¸eÃGÅ ¹*»GÊ È[ÄJË ½dÌdÍ?¹*Èc¸;Èc½ ¾J½dÅ�Èn¸(ÂPÃZÀaÇo¼?Ë . �j¾E¼ Èn¼ È[ÂZÁJ¼-Ç ¼ Ú�ÄGÓ7Ç�¼ Æ�¸e ¾S¼(»P×;ÍSÉJ¸PÂZÉ »G¿=ÃE¸?Ë ¹7½ ¹7ÂZÀPÌ]½dÌZÃJÅ�»?¿CÉJ½bË ¼PÆ�¸?ÓrÍ?¹7½dÅ Ë È[ÄJË »;¸ZÉPÍGÑ?¼?Ë ½q¾S¿[ÀaÁG¸( , ¼SÉGÍS¾E¸EÀE¼ »G½ ÈCÄJÉ ¾S½hÅoÈn¸PÂ?ÃpÀEÇ�¼ Æ+¸e ½hÌaÈn½q¾E½HÇ�Èn¼(Å ÌhÍ?ÎP½ Ór¸eÃJÍ , ¾J¼(»?×GÍJÉJ¸SÉJÈn¼(Å ¼PÆ�Ê Èi¸ LFSR Æ�¸P ÑPÇ ÉP½dÈl¼(Å ¹*Èl¸ ¹eÁ?ºG»G¼ 3.3.2. ·s¸ Æ�¼7ÃZ¼(Ì=Í(ÈnÏ ¹eÁ?ºG»G¼ ¾JºGÓ7ÎeÄ?Ìh½ ½VÆ�Ç ¹ ÄJË ¼eÆ+Ê Èn¸ ÆÃEÊSÀ?Ãa¼(»?»G¼ [17]. ê Ì=Ð�ÑPÅ�Ìd¼?Ë Èn¸P ¹r½ VHDL, ½YÇ ÉJ¼(Å À;ÃJ¼(»?»;¿xÉJ¸PË ¹tÒ?»EÓ*ÏÉG¼ »?½ ÈnÄ ¾a¸SÀGÅ�ÌZº Èl¸? ÆÃa¸(Ä]ÀJ¸PÒ?»G½CÉJ¸P LFSR, »G½ ÈnÄ Ñ(Å ¼?Ór¸?ÃGÍ Èn¸ »G¿CÀG½HÎG¸PË ÈnÏÉ Ú�ÄaÓ Ç Ï�É Ìb¼7Å Èn¸ »?ºGÌ]¸PË ÈnÄJË ¼7Ìb¸S¾a¸eÂJÎGÇ�¼(Ë .

â?ôrõ(ö-÷ 3.3.3 LFSR ösõ?øGùtúGû 13 ö-ü ö;ýxþ ÿ����dù ö-õ-øGù(û ÷7øGù � ù7ú���o÷(û 213 = 8192.

Page 37: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

34

�������������� 4

� ������� �

! " �#�$�&%'��( � � ! FITNESS (FCU) )� �

� ���)���*�

( ! �,+�-� -.( /)�,0 � �1/)��( � � ! (TCU)

4.1 ã�Ü1à á�Û-à(ä$2jÞ ßråjÝ ã�à�3*45�Þé�ä�ß7åjÝ ONEMAX 6*ä�á SAVELOAD

ì ¹*ÂaÉZÍ7ÃPÈ[ÄJ¹*Ä Ìh¼(Èn¼P¾p¾GÄp¾GÊ?ÈxÄ?Èc¼?Ë ÈnÏÉ ÆÃJ¸e×J¾JÄ?»JÍ(ÈcÏ�É onemax Ì]¼?Å saveload ÑPÇ ÉP½dÈl¼(Å ¹r½ C

Ì=ÐmÑ?Å�Ì]¼ [19], ¹ Èi¸ Æ+¼tÃEÍtÃGÈxÄG»G¼ 7 . Ù(Èc¸ Æ�ÃZÊ(×Z¾GÄP»E¼ onemax, Ä ¹tÒZÀGÌH¾GÅ ¹*Ä ½VÆÅoÈxÂ]ÀZÁEÍPÉJ½=Èn¼(Å ÊeÈi¼SÉ ×?ÃE½HÎ?½HÇ Á;ÃGÏ�»GÊJ¹rÏ�»G¼ »G½ Èn¸

»G¿CÀ?Å ¹rÈn¸ ¼7ÃJÅ Îe»GÊ »E¸SÉJÍ?ÑGÏÉ . Ù(ÈCÄ]É Æ�½=ÃaÇ ÆÈnÏ�¹ º ÈnÄJË ¹7ÂpÀ?Ì]½HÌZÃGÅ�»G¿VÉPÄEË Âp¾G¸ZÆ�¸GÇ{ÄJ¹7ÄJË ¹7½ ÂZ¾PÅ�ÌhÊ , ¼?Â?ÈlÊ ¹7Â?»P×G¼?Ç ÉG½hÅ Ê(Èi¼SÉ Èi¸ Á-ÃJÏj»EÊP¹7Ï�»G¼ ¾J¼(»?×EÍPÉJ½=Å ÈnÄpÉ ÈnÅ�»?º FFFF.

ì ¹*ÂaÉZÍ7ÃPÈCÄE¹tÄ Ìh¼7Èl¼S¾Z¾JÄZ¾EÊ(ÈnÄPÈn¼-Ë

Æ�½dÃPÅ ¾J¼(»G×GÍPÉJ½HÅ , ¹*ÈCÄ]É Æ�½=ÃaÇ�ÆÈnÏ�¹*Ä ¼7ÂPÈnº , ÈCÄ]É ¼SÆ ¾;º »G¿=ÈCÃ?ÄE¹tÄ Èc¸; ¼(ÃPÅ ÎP»?¸PÒ ÈnÏÉ »G¸SÉaÍ(ÑJÏÉ ‘1’ ¹*Èn¸ Á;ÃGÏj»GÊP¹sÏ�»G¼ . ·s¸ ÆÃaÊ(×Z¾PÄG»G¼ saveload, ¼?Ór¸?ÃJÍ ÈxÄaÉ ½HÒ?ÃJ½b¹*Ä Á?ÃGÏj»E¸P¹7Ð�»G¼7Èl¸?Ë »G½ ¹7ÂpÀ?Ì=½hÌaÃSÅo»G¿CÉ?Ä È[Å�»?º , Ä ¸JÆ�¸SÇo¼ »JÆ�¸?ÃG½VÇ Éa¼ Ìh¼?ÎP¸?ÃJÇ�Öd½HÈn¼(Å ÌdÍ?Î?½ Ó7¸eÃGÍ ¼PÆ�Ê Èn¸ Á(ÃJºE¹*ÈCÄ , Ìb¼(Å »?Å ¼ Æ�Å Î?¼JÉPº ½bÓ*¼7ÃJ»?¸ZÀPº ÈCÄGË Ì=¼(ÈnÍ Èc¸EÉ Stewart Adcock ½YÇ Éa¼tÅ Ìb¼tÈcÍ ÈCÄ]É ¼PÉJÍSÀaÉZÏ�¹*Ä Ñ?½bÑP¸?»G¿VÉaÏ�É ¼PÆ�Ê ÑGÇ ¹*Ì]¸ , Ä ½hÒ?ÃE½H¹7Ä Èn¸e ¹rÄP»G½HÇ ¸e Æ�¸P ½VÇ ÁG½ Èn½HÃ?»G¼7ÈlÇ ¹7½=Å ÆÃPÅ É ÉG¼ ¼(ÃZÁGÇ�¹7½dÅ Ä ¼eÆ�¸JÎ(ºJÌ]½HÂJ¹*Ä ¹ Èn¸ ÑJÇ�¹*Ìd¸ .

ñ¼(Ã ’ ÊZ¾J¼ ¼eÂ?ÈnÍ Ä

¹7ÂZÀGÌ]½=Ì]Ã?Å »;¿CÉPÄ ½HÓr¼tÃJ»;¸EÀGº »JÆ�¸(ÃJ½bÇ ÉP¼ Á-ÃPÄJ¹7Å »;¸SÆ+¸(Å ÄGÎG½VÇ »G½ Æ�¸S¾p¾E¸PÒGË ÈCÃGÊJÆ�¸(ÂJË , ÊSÆ�Ï�Ë ÀPÅ ¼ Æ�¼(ÃGÍGÑ?½HÅ ÀG»G¼ ÉZ¼ ¼PÆ�¸eÈc½q¾E¿H¹r½HÅ Ñ(Å ¸eÃGÎJÏ�ÈCº Ì]½HÅ�»G¿CÉJ¸e .

ì ¹7ÂZÉaÍtÃGÈCÄa¹+Ä Ìd¼7Èi¼;¾]¾PÄZ¾EÊ(ÈnÄPÈn¼?Ë Èn¸eÂ

ÆÃE¸(×p¾?ºJ»;¼(Èl¸?Ë saveload, Æ�½dÃPÅ ¾J¼(»G×?ÍJÉP½YÅ ¹tÒ]À?ÌZÃJÅ ¹*Ä Èn¸e ÆÃa¸?Ë ½VÆ�½HØb½HÃZÀJ¼-¹(Ç�¼ Á?ÃEÏ�»G¸G¹7Ð�»G¼(Èn¸?Ë »;½ È[ÄZÉ ÆÃa¸?½CÆmÅ ¾E½qÀG»G¿VÉGÄ ÈnÅ�»?º , Ìh¼eÅ ÈCÄaÉ ¼(ÒEØ=Äa¹ Ä ÈCÄJË ÈxÅ�»GºGË Ì]¼(Èi¼;¾]¾?Äp¾EÊeÈ[Ä?Èl¼?Ë , ¼JÉGÍS¾J¸ZÀG¼ »G½ Èn¸ ×G¼?Î;»;Ê ¸?»G¸eÅ Ê?ÈCÄPÈi¼(Ë . 4.2 ç�Ü�á�àráoâ(ßrÞ�â 8�Ü98$3�é�Ü Ý+åjÝ é 3�Ýrä)8�ä�â æ�ã'3)5,3�Û(á�â é*3�æ FITNESS 6*ä�á é 3�Ýrä)8�ä�â âJæÝ�è�Þ,6�Þ+â ßrÜ*à�éä�ß*áoâ7é13�æ Ù(Èn¸ ¹eÁ;ºP»J¼ 4.2.1, ÑPÇ ÉG½=Èi¼(Å ¸ Á;½hÅoÃJÅ ¹*ÈCºEË Ñ?½YÑ?¸P»?¿CÉaÏmÉ ÀPÅ ¼ ÈxÅ Ë »G¸ZÉJÍ?Ñ?½bË ÂZÆ+¸S¾a¸SÀPÅ ¹7»G¸eÒ Ì=¼(Èn¼S¾Z¾GÄp¾GÊ?ÈxÄGÈn¼(Ë (fitness) Ìd¼(Å ¹ Â]ÉJÎPº?ÌpÄGË Èi½=Ã?»G¼(ÈnÅ ¹*»G¸eÒ . ê�Å »G¸EÉGÍGÑ?½VË Øb½qÁGÏ�ÃGÇ Öd¸?ÂZÉ ¹ Èn¸ ¹eÁ-ºJ»;¼ ¼PÆ�Ê È[Å Ë Ñ(Å ¼(Ì]½=Ìh¸e»?»;¿CÉJ½HË À;ÃJ¼e»?»G¿bË . Õt¼(Èn¼(ÃZÁPºaÉ , ÀGÅ ¼ ÈxÄ]É ½VÆ�Ç ¾GÂa¹+Ä ÈiÏÉ ÆÃG¸;×J¾JÄ?»JÍ7ÈnÏ�É onemax Ì]¼?Å saveload »G½ ÈCÄ Á(ÃGºJ¹ Ä ÀG½nÉP½dÈCÅ�Ì]¸PÒ ¼P¾pÀEÊ(ÃJÅ Îe»G¸? , Á-ÃGÄG¹tÅ�»G¸ZÆ�¸;Å ½bÇ}È�¼7Å Ìd¸?Å ÉSº ¼(Ã]Á?Å�Èn½=ÌaÈn¸ZÉPÅ�ÌZº , Ä ¸SÆ�¸PÇ ¼ Æ�½dÃPÅ ÀPÃGÍGÓr½=Èn¼(Å Æ�¼(ÃE¼(Ì]Í(ÈiÏ . � ¹7¸SÉ ¼GÓ ¸?ÃJÍ ÈCÄ »G¸SÉJÍ?ÑJ¼ ÂZÆ+¸S¾a¸SÀ?Å ¹7»?¸PÒ Ìh¼(Èn¼P¾p¾GÄZ¾aÊeÈ[ÄPÈn¼?Ë (fitness calculation unit), ¿xÉG¼ ×G¼?¹7Å�Ì]Ê ¹*Èi¸PÅ ÁG½bÇ ¸ Æ�¸e Á-ÃJÄG¹tÅ »?¸ZÆ�¸?Å ½HÇ{Èi¼(Å ½HÇ ÉJ¼eÅ Ä »G¸EÉEÍPÑ?¼ »?¿dÈCÃPÄE¹*ÄJË ÈnÏÉ »G¸ZÉJÍ?ÑGÏÉ (one’s counter), ÊJÆ�Ï�Ë Æ�½dÃPÅ ÀPÃEÍ?Ó*½dÈn¼(Å ¼PÆ�Ê ÈCÄ]É Æ�¼7ÃJ¼?»?½dÈCÃPÅ�Ìaº ×PÅ ×S¾JÅ ¸JÎeºGÌZÄ ¼tÃJÅ Î;»?Ä?ÈnÅ�Ì]ÐÉ ¹ Èn¸PÅ Á;½HÇ�ÏÉ [18].

ì »G¸ZÉJÍ?ÑG¼

¼(Â?Ènº ÂZ¾J¸JÆ�¸PÅ�½YÇ{Èn¼?Å ¹7Â]ÉJÑeÂE¼P¹ ÈxÅ�Ì=Í , ÀGÅ ¼ ÑPÅ�¼?Ó7¸(ÃE½=ÈCÅ�ÌhÍ »;½[ÀE¿HÎ(Ä ½=Å ¹7ÊPÑGÏ�É Ìh¼eÅ »?ºGÌZÄ ÆmÃE¸S¹rÎG½=Èn¿bÏ�É , Ìd¼(Å ¸ ¼JÉ?ÈnÇ ¹*Èc¸eÅ ÁG¸GË VHDL ÌhÐ�ÑeÅ�Ìh¼?Ë , ÑJÇ ÉJ½dÈn¼eÅ ¹*Èl¸ Æ�¼7ÃaÍtÃGÈCÄP»G¼ ë . ��Èn¼PÉ Èn¸ ÌZÃa¼tÈc¸;ÒG»G½VÉa¸ ½dÅ ¹(ÊGÑP¸? ½HÇ ÉE¼(Å 0, ¹7Â?»P×G¼?Ç ÉG½hÅ ÆÃJÊJ¹rÎP½H¹7Ä Ìh¼eÅ Èi¸ ¼?Æ�¸?Èn¿q¾E½H¹ »J¼ ÑPÇ ÉG½dÈn¼eÅ ¼JÆ�Ê ÈnÄ ¹eÁ;¿Y¹ Ä (1). :

⋅−⋅= −= +

1K0i )1i( widthi:1widthXS (1)

;=<?> @ACBEDGFGDIH�JLKMON > P,FGHRQ P <TS @ > PVUWA XYH > @J KU�P,UWJ FZQ <\[ J BRJ [ F]Q @�UR^EU 16 _ >R` Q S N , UWJ P [ HaEKEF < HU�J < UEA KEF < H ><?b KUINRaE^ S N , c [ KEdRa�NRUEACN < J e < JLKM]e Cin = 0, F `�f @=UIN P�H [ BRK [=< U�P�U�J FZQ <T[ J P�H f @9gEFO@ > , Width = 1, ^EJ f=< J P�HRU@ < QLgEFhN <T[ J UEJ KRURNRaE^�FZe (1bit) KF <T[Yikj < U�Ae , D [ J K = 16, D [ g�l�e <mf @9U F]Q N [ J < U K b DnUEe <?> e F]J @ f ^RUWA @9F _ >o` Q [ .

Page 38: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

35

genconst

One’s counter One’s counter

MotherFather

Comparator == Comparator ==

Comparator >

1 0Mux F

Terminatingcondition unit

Fathersfitness

Mothersfitness

B AComparator >

1 0Mux D

Fathersaddress

Mothersaddress

Best fitnessBest fitness

address

Solution’sfitness

Comparator ==

Flag T

Fitnesscalculation unit

FIT

CON

16bit 16bit16bit

16bit 16bit

Zero fill

Zero fill

HALT

5bit 5bit

1bit

5bit

Bestfitness

address

Bestfitness

p�q�r9s�t

4.2.1 uwvyx�zx�{�| rY} ~9vZ~9� sE�k����� | �#� s � �� ~ ��� ��*�R���R��x�{ s �9� fitness � t x {)� ���r �E� } |nv]z s�t |Cx�{ s �9� . � KURNRaE^ [ ARP�U�c�U�BJ @KU j D [=<m[ cIc > c fW<T>E<T[ e , c [ KEda�NF]J <T[ XEH S K�UE@=l K [=<T[

<TS N BRURNRM S N , D [ J @9AIN�^WA [ @ < JLDna ACP.U�c�U�B�Q �GFGJ < J e [ N < Q�@ < U�J XF]e < JLKM]e D [E<T[ cyc > c fE<?>E<�[ e . � [ Ha�cIc > c [ @ < UIN < M?cU�e < UWA D j D]coU HUIcU�BJ U j P.U�A @9A�KEd [ Q NF�J U ARP�UIcU�BJ @�K f e <mS N fitness, BEH�a ` UIN <T[ J U�J D [=<\[ X S H >E< MOe , D [ c j< F�H�U=A fitness D [ J <?> e [ N < QL@ < U�J X > e ^WJ F j g=ACNR@ b e < UWA . �,A <�f @9A�Kd [ Q NF�J D [=< a <?> N F�D < M?cFO@ > <?> e FON < U�c b e ARP,UycU�BJ @�K�U j D [=<�[ cIc > c fW<�>�<�[ e KEF FIT(=1), gEF S Hl�N <T[ e <?> N P [ H [ P�a�N S KU�NRaE^ [ ,

S e KM?cU�e < U�A < Fhc�JLDGU j FOP,F i F�HCB [ @ <?b B�FhN�F < JLDnl�N [ cIB f HRJLg�K S N . � ARP,U�c�U�BJ @K f e <T> e < JLK b e D [=<m[ cIc > c fE<?>�<m[ e , BEJ [ D�aEgEF BUINM [ @�ARKYd [ Q NF]J K�F < U�N F i�b e < H f P,U . ��HCXEJLDCa > < JLK b < UWA X�H S K�U�@�l*K [=< UEe @9AyBDIHRQ NoF <m[ J KF <?> N @ <T[ gEF]Ha P,UWA F]J @Ya�B�F�J U XYH b @ <?> e .

Page 39: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

36

� @ j BDIHRJ @ > BoQ NRF <T[ J KF 16 XNOR P j c�F]e J @=UE^�AIN [ KRQ [ e , l*@ < F BJ [ DCaEgEF _ >R` QLU F�J @ f ^RUWA , [ N FZQ N [ J QL^EJ U KF < U [ N < Q�@ < U�J XU _ >o` Q U <�> e genconst, N [ P�H�UWD j P < F]J @ <�> N g�MZ@ > F]DCFZQ N > K�UINRa�^ [ . ; ACNFkP�l�e > M i UE^�Ue < UWA DGaYg�F @�ACB�DoH�J <�b J @ f=<�>�<�[ e , F]Q N [ J 16 _ >�` Q [ D [ J f @9U P,F�HEJ @=@ fW< F�HRFZe KU�Noa=^F]e P,F�HJLM�X�F�J , <mf @9U P�J U f KU�J U FZQ N [ J < U [ N < QL@ < U�J X�U XYH S K f @ S K [ K�F <?> � >�< U j KFhN > @ <T[ gEF�H�a genconst. � @ <T[ g�FGHRa genconst, UEHRQ �nF <T[ J @ <�> VHDL,

S e constant D [ J BJ [ <?> N P�HU�@�U�K�U�Q S @ > DnaEgEF P�H�U=dyc b K [=< UEe KP�UEHF]Q N [ [ cyc [ X�g�FOQ [ P�ca > < J K b <T> e @ < UIN DCl�^�J�D [ , [ cIcRa FZQ N [ J FkP�Q @ > e ^�AIN [9<\f N [ FZQ N [ J [ P,U�g > DGF]AEKM?N > @�F D [=<\[ X S H >E<�b D [ J N [ BHRa ` F <T[ J @ <T> ^�J [ ^�J�D [ @=Q [ [ HCXEJLDCUIP,U�Q > @ > e < UWA FOP,F i F�HIB [ @ <?b , BRJ [ <T> N Ayc�U�P�UEQ > @ > < U�A FGDGaE@ < U < F P�HUEd�c b K [=< UEe .

�*J P,U�c�AoP�cM]D < F]e D D [ J F XEH > @JLKRU�PVUWJ U j N <�> N M i UE^�U < UWA @9AIBDIHRJ <?b [ NRJL@ fW<?>E<�[ e S e _ >o` QLU FOP�J cU�B b e . � < @J , f=<\[ N > D [9<\[ cIc > c f=<?><\[ < U�A P [=< MGH [ F]Q N [ J KFhB [ c j�< F�H > [ P f <�> e K >< M�H [ e , <\fE< F < U _ >R` QLU FkP,J coU�B b e B�Q NF <T[ J KUINRaE^ [ , D [ J FOP)J cM�BF <T[ J < U XEH S K f @ S K [ < UWA P [9< M]H [ D [ J > ^�J F j gWACNR@ b < UWA , B�J [ <T> N P�H�UEl�g > @ > [ P,URg b DCF]AI@ b < U�Ae @ < U�Ae F�J ^�JLD�U j e D [9<T[ X S H >�< MZe , best fitness D [ J best fitness address,

[ N < QL@ < UWJ X [ . ��J [ <�> N < F�cEJLD b f K S e [ P,U�g b DCF]A�@ > < o A D [ c jE< F�HRUEA fitness, @9AEK�d [ Q NFnJ D [ J K�J [ [ D f K [ @ j BEDIHRJ @ > KF <?> N P�HRU > B�UWAKEM?N S e [ P,URg > DCF]ARKMkN > , < J�K b D [ c j�< FGHRU=A fitness, U�P fW< F [ N P�H�UWD j _VFnJ NRM]U D [ c jE< F�HRU fitness @�F @WX�M]@ > KF < U P�H�U > BU j KF?NRU , D [ J F]D < F?cRFZQ <T[ J > FhN < U�c b AoP,U�coU�B�J @KU j D [�<�[ cIc > c f=<�><T[ e (FIT=1),

<\fE< F < U N�M]U [ A <Tf fitness g [ [ P�UEg > DnF�A < FOQ @ < URN D [=<T[ X S H >E<�b best fitness, @ < U < M�cU�e < UWA D j DOc�U�A HRUycU�BJ U j .

� KMhBEJ @ <?> < J K b D [=<T[ cIc > c fW<?>E<T[ e , P�HRUWD j P < F�J [ P f <�> N M i U�^EU < UEA K�F < H >�<Tb KRU�NoaY^ S N , BJ [ < U XYH S K f @ S K [ F�DnF]Q N�U P�U�A F]Q N [ J QL^�J U K�F <?> N FOP)J cRF�BEKMON > @ <�[ g�F�H�a genconst. �,A <?b > < JLK b FOQ N [ J (16)10 = (10000)2 D

[ J @�ACNFkP,l�e , BRJ [ < U�N X [ H [ D <?> H�J @K f <TS N < JLKl�N D [9<�[ cIc > c f=<T>�<m[ e , [ P [ J < U j N <T[ J D [=< a F?cRa�X�J @ < U 5 _ >R` J a . �YP,F�J ^ b f K S e , < U F�J ^WJLD f [ HIXF]QLU D [�<T[ X S H >< l�N D [9<\[ cyc > c f=<�><T[ e MhXFGJ KM?BF]gU�e 16 x 16, P�H�U�@ < QLg�F?N <\[ J <m[ P�HRl <�[ K > ^EF?NRJ�DZa , l�@ < F N [ FOQ N [ J M < U=J KF]e P�HU�e [ PVU�g b DnF]A@ > UEJ < J KEMOe D [=<�[ cCc > c f=<T>E<\[ e @ < U F]J ^WJLD f [ HyX�FOQLU .

;=<?> @ACNMhXFGJ [ , P,F�HJ BHRa ` F <m[ J > KU�NoaY^ [ @�ACNRg b D > e < F]HEK [�< J @�K�U j . ;=<�> N P,FGHRQ P <\S @ > <TS N P�H�U=dyc > K�a <TS N P,UWA AIcoU�P�U�J U j N <T[ J , X�HF�J a��GF <T[ J P,F�HJ @9@ fW< FGHRU [ Ao@ <?> H b [ N < J KF < l�P)J @ > , BF�BU�N f e P,U�A @ > K [ Q NRF]J fW< J U B�FkNF < J�D f e [ cCB f HRJ g=KRUEe @ <�[ K [9< a , F `�f @9U�N MhX�F�J dEHRFZgEF?Q > [ DIH�JLd b e c j @ > P,UWA � >�< FZQ <T[ J . � < @J , D [�< a <?> ^EJ a=HEDnF�J [ < UEA F�c�MhBCXEUEA F j HRF]@ > e � >E< U j KFkN > e c j @ > e (CON =1),

< U D [ c j< F�H�U fitness, < U U�P�UQLU FOQ XF [ P,URg > DCF]A < FZQ P�HU > BoUWA�K�M?N S e @�AIBRDIH�Q NRF <m[ J K�F < U K�MhBJ @ < U

(10000)2 D[ J [ N P�H�UWD j _�F]J J @ f=<T>�<T[ , @ < U < M�cUEe < UWA D j D]c�U�A HRU�c�U�BJ U j < U @ b K [ HALT P�HUED j P < FGJ KURNIaY^ [ . �)A <Tf @ > K [ Q NF�J fW< J <Tf=< F M?XF�J @ <�[ K [9<?b @9F�J > FGD < M?cRFZ@ > < UEA BF�NF < JLDGU j [ cCB f HJ g=KRUEA B�J [ [ N [ � bE<T> @ > c j @ > e , ^�J f=< J [ A <?b M?X�F�J dEHF]gF]Q . �

< JLK b D [�<m[ cIc > c f=<T>�<m[ e <�> e c j @ > e D [ J > ^�JLF j g�AoNR@ > < UWA [ N < QL@ < UWJ X�UWA XYH S K�UE@=l K [=< U�e – c j @ > , ^Q NIURN <T[ J @ <?> N M i U�^U [ P f < U=A�e D [9<�[ X S H >< M]e best fitness D [ J best fitness address,

[ N < Q @ < UEJ X [ . 4.3 �=�,�' Iu.¡ p ¢�£*¤ ¥�¡*¤¦,§�£ ¤ ¨�©,¡)�,¡  =ª p ¥�¡w¨ FITNESS «¦�ª p ¨$¤V¬*­)«,­ p ¢��®V¥$¦.¢�ª p ¥1¡w¨ � M�cF?ByX�U�e B�J [ <?> N P [ H [ P,a�N S K�U�Na�^ [ F?Q N [ J P,U�c j [ P�c f e , D [ J b ^ > MhX�F]J BoQ NRFGJ M�KKEFZ@ > [ N [E` UEHRa @ <T[ P [ H [ P,aRN S . �RJ [ D [ c j�< FGH > D [9<T[ N fW> @ > <?> e BF?N�J�D b e FnJLD f N [ e , c [ KEda�NRF <T[ J AIP f _ > D [ J < U FnJ ^EJLD f [ HyX�FOQLU D [�<m[ X S H >�< l�N D [=<\[ cIc > c fW<?>E<�[ e (fitness register file).

;=<?> N P,F]HQ P <\S @ > ARP�UIcU�BJ @�KU j <\S N < JLKl$N D [=<T[ coc > c fE<�><T[ e , [ P [ J < FZQ <T[ J M�N [ D j D]cRUEe H�U�cRU�BJ U j , f P,UWA UWJ < JLKMZe D [=<m[ cCc > c f=<T>E<T[ e P [ HRa�B�UIN <m[ J @9AIN^�A [ @ < J�DZa D [ J [ P,URg > DCF j URN <T[ J @ < U FGJ ^WJLD f [ HyX�FOQLU D [9<\[ X S H >�< l$N D [9<T[ cIc > c f=<T>�<T[ e (fitness register file), gEM < URN <�[ e we1=1 D [ J we2=1, <m[ U�PVU�Q [ [ P,U < FhcU j N <m[ @ b K [=<�[ FkP,Q < HRF�_ > e F�BIBEH [Y`b e . ¯�U @ b K [ FIT,

< QLgEF <T[ J @ <?> N < JLK b 1 KF <?> N FGD < MhcFO@ > <?> e @�AIBDCF�DCHEJ K�M?N > e cF]J < UWAHIBoQ [ e , D [ J P,HUWD j P < FGJ [ P f <T> N [ P,U�D S ^�J�DZU�P�UQ > @ > <T> e [ N < Q @ < UWJ X > e F�N < UIc b e , F `9f @9UIN P [ H [9<?> HF?Q <T[ J > cF]J < UWAEHyB�Q [ e <?> e K�U�N�aE^ [ e (fitness calculation unit, FCU), @ <�[ P�c [ Q @�J [ c�FnJ < UWA�HIBoQ [ e < U�A < FhcRJ�DGU j F?P,F i F�HCB [ @ <?b .

Page 40: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

37

� KURNa�^ [ <?> e @�AoNRg b D > e < FGHEK [=< J @9KU j , ^F XYHRFGJ aW�ZF <m[ J D [ N�M?N [ @ b K [ Fhc�MhBCXEUEA P [ HRa K f NRU < U @ b K [ CON, FkP,Q < HRF�_ > e F?ByBEH [=`�b e < U�A D [=<�[ X S H >E<?b P,U�A P.FnHEJ M?XF�J < U @ b K [

< FGHEK [=< J @9KU j HALT. �9P�Q @ > e , @ <�[ P�c [ QL@�J [ c�F�J < U=A�HIBoQ [ e < UEA FOP,F i F�HCB [ @ <?b BF?NRF < JLD�l$N [ cyB f HEJ g=K S N , < U @ b K [ CON c [ K=d�a�NRF�J <?> N < J K b 1,

fW<T[ N FGD < Fhc�F]Q <T[ J > FkN < U�c b FhcM?ByX�U�A < UEA P�H�U > B�UWARKM?N S e AoP�U�cUyBEJ @�K�MkNoUWA [ P,U < FhcMO@K [=< UEe D [�<T[ coc > c fW<T>�<T[ e .

Page 41: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

38

����������� � 5

��� ������ ��� � �

�������������� ����

���"!#� � $�%&!

�����'�(� ) � %*!

5.1 +-,.0/�1�/ 2�.03'/�1�4�. 3�/�, 265�28792�:6;=<>+�3�? ;�26.�283�@ A�4�. <�1;B/C:6@ED�F�4G. VGP I HCI JLKNMOKQPRITSVUXW Y=Z[JX\^]XIT_-`BUBI , KbacY�ITPdWEY^e PgfXe I h^I Y�ITPgKQ]O\�Pif^PjY-e PkUmlLe , Y=n�Y�ITPgU^opM KVI h^ITSrqce KNM-PjU=ZOqbe J^I Y JL]^spJLU^]-f KNn�KtacKQ]pJ=Y^u�WTY , u'K uvowJ^S[]LI u�f `LK PgU x^]L\=MOU PRfXe KNn�KcabKb][JXYyu'WTYye n0Uml Ymn�Y^I�PjKbWzPdY^I u�PgU software. {�Y�]LY�Sw|�Pj} n�Kr]-I J^]O|^~�KbPgY�I PdU u�owMLUpZLU KRM-PgU[ZX�M PgU^l KbI hBIESVUmo KRn�KcabKQ]wJLY^u�PRs n�U-l umxBKthmI |^u�P�f-SwK KQI h�I Sw| JXITY Pgf[M lwZLU[n�U-WTfLuvf Kc~�Y�]L`LUOJO�#M JLKRMXKrPRITSr�M Y=Z[J�\�]XI _B`B}�M . �vY�PdY']pxyswM PdU `^s^ScU^e KRM-PgUOZLsLe , ScY'I SwY�P ’ KNn�qrSpPgY^u'f PjUml ScY'PgY=xL}�]^fLPRs KtM-PgU=Z��M IR, U^]XW �rKrPgYmI u�PgY 16 bit.

� ]pxyITSV| n"Kb]^I J^]X|^~�KQPkYmI f KNM-PkU=ZXs LD, f U=n�UXWEY Y-n�U^PgKiZXKcW KNM-PgU[Z-s J-I Y ~�\�]-Pg}�u�f PgU-l KQI hmIEScUmo Y�][xLKcWTUml SwY�PjYBxL}�]^f-Pj�M x^]L}�`^UXu�}#`B|�Pd}M (chromosome register file) `LK PgUXM Y�][xLI�SV\ n�ZLfX_-lXu'`B\ . � U n�ZOKbUXMXqQS[Pgf-`LY x^]^s�u�fXe P�fXe u'lpJ^SQKVS�]-IT`LqRM-fXe KNM-PgU[Z-sLe u�xLKQP�ITSr| `^K `^I Y Y-n�ZLs KNM^PjUOZLs ~�\�]-Pg}�u�fLe PgU^l Y�]wxBKbW U^l SrY'PdY=xB}�]-f-Pk�>M x^]L}�`XUXu�}G`X|�Pk}>M , q�JLSwKbITPgYmI u�PgU JLKiJOU=MX\^e PifLe oXn�Y�]XarfLe PjUml KQI hmITSwU-o Y�][xLKcWTUml SVYvPjY-xL}G]Lf-Pg�M x^]L}G`OU=u�}�`L|�Pg}M , qrPgu�I ��u�PkK u'K Sw|^_-K Swo^StZLU ]XU[ZLUOJLI U^o ~�U^]^Pg��MXUXM-PgY�I h^lXU SVYvPgY=xB}�]=fLPgqbe u�PkU Y�][xLKcWTU SVY�PgY-xL}G]Lf-Pg�M x^]L}�`LU-u�}#`B|�Pg}M , `BK PgI e PiIT`Lqce PdU^l JLKRMXKrPRITSwU-o l[ZXIESrU^o . � Y n�KbhXWTY SQ|-_^K K�M^PjUOZ^sLe n�Y�]XU^l�u0I |-�rUXM-PdY�I Y-M[Y-ZXl^PiITSQ\BPkKQ]XY n�Y']�Y�Sw|�Pg} :

LD Opcode GL LCOUNT1 LCOUNT2 1000 X X X X X X X X X X X X � KNMLITSr| , PgU opcode PRfXe KNM^PdU[Z^sXe KtW MLYmI PgU n�KbhLW U PRfOe KNMLPgUOZLsLe n0UBl x^]^f�u�I `OU-n�U-ITKtW�PgY^I JXI Y PkU=M SVY�_XU�]-I u'`L\ PjU-l KNWThLUmlLe PRfLe K�M^PgU[Z-sOe , SVYmI Ymn�U^PgK�ZOKbWzPjY�I Y-n�\ 4 ��fL~'WTY , n]X|=J^`OY n0Uml u�fL`XYyW MLKNI \mPRI u'l[MXU=ZXIESc| `Xn�U^]XU-o[M M[Y n�KQ]LI JL]XY^~'U^owM JLI Y PdU u'lpJLSwKQSw]^IT`BqiMLU KNn�KtabKr][JXYyu�Pgs 24 = 16 KRM^PjUOZLqce hmI Y^~8U�]XKQP�ITSwU-o Pio�n�U-l . �yPRf[M nKb]XW nPk}#u�f PifOe KNM^PgUOZLsXe ~�\�]LPg}�u'fLe PgU opcode n"Y-W�]�MXKQI PgfwM PRI `ys n0Uml ~�Y-W MXKrPgY'I n0Yv]OYmn0|=ML} .

� KNM-ITSV| , f PgI�`Ls PgU-l opcode hLW MXKrPdY'I n�Y�]XY'Sc|'Pg} JXI Y Sr|y_-K KRM-PgU=ZXs acK�xL}�]^I u�Pg| . � U n�KbhXWTU GL, n�Kr]-I J-]L|L~�KrI JLKRM-ITSr| PgU `Ls^SrU^e PdU-l JLUXM=I hXWTUml u8K Sr|^_^K x�]O}�`L\-u'}�`BY 16 ��fX~�WT}M . �^o-`L~�}M-Y `LK PgU umxLKchmI Y^u�`L\ PgU-l KRn�KbabKr]pJBY^u�Pgs , PgU `^sXSwULe Y�lLPg\ `Xn�U^]LKNW MOY KbW MLY^I 4, 8 s

16 ��f�~�W Y . ��Pgf uvlwJ^SwKQSw]^I `LqtM-f KRMmPkUOZLs , PgU n�KbhLWTU Yml-Pk\ hLKRM KNn�f-]LKb|-�VKQI PRf ZXKrITPdU^l-][JOWTY PgfLe ~�\m]^Pg}�u�fOe PdU^l KrI hBIESVUmo Y']pxBKbW UBl SwY�PdY=xB}�]-f^Pj�>M , ScY�I u�lwMLKNn���e f PiIT`^s PjUml `XY^e KcW M[Y�I Y^h-I |^~�U�]Xf . ��PgY Ktn�\m`BKRMXY hml�U n"Kth-WTY Pg}M PgKcu�u�|�]�}M ��f�~�WE}M , LCOUNT1 SrY^I LCOUNT2, n�KQ]LITqixBU[M^PgYmI U-I hmI KblX_^opMOu'KQI e Pg}M SVY�PgY=xB}G]Xf^Pg�M , PkUml KbI hBIEScUmo Y�]pxBKbW Uml SwY�PgY-xX}�]^f-Pg�M x^]L}�`LU-u'}�`L|�Pg}M , U�I U-n�U-WTU-I n]L\^SwKNIEPgYmI M[Y J^]�Yy~�U-o�M u�PgU Pkq�ZLULe PRfLe KRM^PgUOZLsXe .

� Y h-lXU PgK�Z=KQl-PkY-WTY ��fL~'WTY PRfXe KRM^PgUpZ^sXe `BqRMXUmlwM Y=x�]LfXu'IT`LU=n0U^W�f^PgY , SrY�I u�lwMLK�n���e f PgI `ys PgU^lLe KtW M[Y'I Y^h^I |^~'U�]-f . {�Y�]LY�Sw|�Pj} n�Kr]^I J^]X|^~�KQPjY'I f KRM^PgUOZLs DIA, `^K P�fpM U-n�UXWEY n]�Y-J-`LY�PgU[n�U^I UmowM^PgY^I \=Z�Y PkY hmI Y^_^q�u0I `XY KbW h�f hmI Y^u�PkYmo^]X}�u'fLe . DIA Opcode GL CK

Page 42: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

39

0010 X X X X X X X X X X X X

� U KtWTh-U^e Pgf h-I Y-u�P�Y'o-]X}�uvfOe SVY^_-U^]XW �VKQPjYvI Y-n�\ PkU n�KbhLWTU CK PRfLe KRM^PgUOZLsXe hmI Y^u�PdY^o-]L}�u�fXe . ��PRf�M KNM-PjU=Z-s h^I Yyu�PjYmo^]X}�u�fLe 7 ��fX~�W Y n�Yv]�Y'`LqRMXUml�M Y=xy]LfXu'I `BUOn�ULW�f^PdY . H n�Yv]�Y'Sr|'Pg} n0W M[Y'SVY�e h-KcW xXMLKbI PRfwM Sr}�h-I�ScU-n�UXW�f�u�f , J^I Y SV|^_^K Pgo[n0U h^I Y-u�PkY�o-]X}�u�fXe n�U�l q�xBKrI n�KQ]LI J^]XY^~6KRW u�PgU SwKt~�|=ZOY�I U 2. 5�@z.�<�A�<�+ 5.1 A0���'�z�X���>���z�B�9� ���E� �L�y�X� �r�-��� ���E�y���V�v�B�'�(�9�B�

 O¡Q¢r£Q¤t¥c¦z§w¢p¨r©

Assembly

CK ª W h^U-e hmI Y-u�PgY^o-]L}�u'fLe

DIA I 000 Ga_singlepoint_crossover_integer_chromosome DIA II 001 Ga_doublepoint_crossover_integer_chromosome DIA III 011 Ga_crossover_integer_singlepoints DIA IV 111 Ga_crossover_integer_doublepoints DIA V 110 Ga_crossover_integer_mixing DIA VI 100 Ga_crossover_integer_mean DIA VII 101 Ga_crossover_integer_allele_mixing

� Y n�KbhXWTY P�fLe KRMmPkU�ZBsXe `BKbPg|BZwZOY^aQfLe KtW M[Y'I PkY KcaQsOe : MET Opcode GL MK 0001 X X X X X X X X X X X X ��PgU=M n�W MXYvSVY 5.2, ~'Y-W MXKrPgY'I f Sw}�hmITSVU=n0U^W�fXu�f JXI Y PjU Sr|^_^K KtWTh-U^e `LKrPg|=Z[Z�YyaQfOe . 5�@z.�<�A�<�+ 5.2 A0�����$�O�m�����z�B�9� ���z� �L���[� �p�E�8��� «^�r�r�X¬-¬6��­r�^�

 O¡Q¢r£Q¤t¥c¦z§w¢p¨r©

Assembly

®K ¯�° ±^²-³ ´Lµr¶g·B¸w¸O¹^ºQ» ³

MET I 000 Ga_mutate_integer_singlepoint_drift MET II 001 Ga_mutate_integer_singlepoint_randomize MET III 010 Ga_mutate_integer_multipoint MET IV 011 Ga_mutate_integer_allpoint

¼ ¸O½=¾ ²^³ ¿ ²BÀ ÁBÂ-»�Ã�Ä ´ ² ¿ ² Ä ²-Å[Æ ¶g¹�Ä ¾-Ä ¹ ¶ ² µ ° ±^²L³ ¶R» ³ ´OµQ¶g·-¸p¸=¹^ºQ» ³ 3 Ç�»OÈ ° ¹ µ ° Æ ¹'Ä , » Å ¿0¹vÂOºQ» ¿ ² ¸�¸LÉ Æ µQÄ ± É Æ ´LµQ¶k·=¸[¸X¹yºQ» ³ , Êr¹�Ä Ër¶gÃvÄ À ¿�·'ÂpÁBµbÄ ±-À[Æ ¹�¶g½^¶R»^¶j¹ µN¿�ËrÊ[¶g¹^Ã'» ³ Ã8µ ¿�µrÂ-Ä Ã'Ãy½�¶gµb ²-ÀL³ ¶ Å ¿ ²mÀO³ ´^µb¶g·=¸w¸L¹^ºQ» ³ . Ì�µ ¶R» Æ ¿�¹'ÂX¹�ÊV·v¶jÍ µ Æ ¶ ² ¸-Î , µrÊ[¶gµi¸Lµ ° ¶k¹�Ä » ¸=µVÄT¶ ²BÀ Âw¾ ° ¹ ¶R» ³ µR¿Ä ¸ ² ¾BÎ ³ , ¶kÍ Æ ¾ ²[Æ ËbÍ Æ ¾LÄ ¹ ¶�» Æ ¿�µQÂO¹vÄT¶kËQÂXÍ µN¿�µcºbµbÂ[¾O¹�à ° ¹ ¶ ²^ÀX³ à Š´XÈ�Í Æ ¹ ´Bµ ¶ ² ¾Oµ Æ µb¶RÄEÊV½ ¹=¸[¾O½mÂLÄ Ï-´ ² . EPI

Page 43: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

40

Opcode GL SK 0011 X X X X X X X X X X X X Ð ² ¿�µ ±-°T² ¶i» ³ µ Æ ¶ ² ¸LÎ ³ µt¿�Ä ¸ ² ¾-Î ³ , SK ÊV¹^Ï ²  °�Ñ µVÄ ´Lµ ¶R» Æ ¶gÄ ´yÎ ¶ ²-À ¶ ² µ ° ±^²-³ ¶g» ³ µt¿Ä ¸ ² ¾-Î ³ . Ò ¶ ²XÆ ¿ ° Æ ¹vÊc¹ 5.3 È8¹ ° Æ µb¶g¹�Ä » ÊwÍ ± Ä�Ê ² ¿ ²L° »[Ã�» ¾-Ä ¹ Êr·^ÏLµ Ë Æ ¹ ¹-¿�½ ¶k¹ ¶gËbÃyÃ'µQÂO¹ µ ° ± » µt¿�Ä ¸ ² ¾-Î ³ , ¿ ²^À Ë�Á ²�ÀpÆ ¹ Æ ¹O¸ À Ï-µ ° Ã�¶ ² ÊQµbÈ�·O¸L¹^Ä ² 3. Ó�ÔzÕ�Ö�×�Ö�Ø

5.3 ×�Ù(Ú�ÛzÜLÝ^Þ�Ývß àyá9à â Û�ã

ÜOä�åXæ æpßEÚyÝ'ç

æQÞ�Û è6Ý â�é ç

êOëQìríQîtïcðzñwìpòró

Assembly

SK ¯�° ±^²-³ ´Lµr¶g·B¸w¸O¹^ºQ» ³

EPI I 00 Ga_select_one_random EPI II 01 Ga_select_two_random EPI III 11 Ga_select_one_bestof2 EPI IV 10 Ga_select_two_bestof2

FIT Opcode GL LCOUNT1 LCOUNT2 FK 0100 X X X XX X X X X X X X Ì�µ ¶R» Æ µ Æ ¶ ² ¸-Î FIT, ¿ÂO¹B¾X´L¹�¶ ² ¿ ² ÄTµ ° ¶d¹�Ä ² À ¿ ² ¸ ² ¾^Ä Ã�´L½ ³ ¶gÍ Æ ÁyÂXÍ�´ ² Ã'Í�´L·'¶dÍ Æ ¶R» ³ Æ Ëc¹ ³ ¾Oµ Æ Ä · ³ , Êw¹^Ä » ¹X¿ ² ÏmÎLÊwµ À Ã0» ¶kÍ Æ ¶RÄ ´BÉ Æ Êr¹'¶g¹[¸[¸-»[¸�½^¶R»-¶k¹ ³ ¿ ²^À ¿Â ² Ê Å ¿¶ ²-À[Æ Ã�¶ ² µtÄ ± ÄEÊr½ ¹vÂwÁ^µ ° ² ÊV¹v¶g¹=ÁBÍ�Â=»L¶gÉ Æ Êr¹�¶k¹=¸[¸-»w¸L½m¶g»^¶g¹ ³ (fitness register file).

Ð'¹ ¿�µ ±L° ¹ ¶R» ³ µ Æ ¶ ² ¸-Î ³ opcode ÊV¹�Ä gl µQÊwÈ�ÂX· ÑV²-À[Æ ¶d¹ °T± Ä ¹ ½-¿0Í ³ Êw¹mÄ Ã�¶gÄ ³ ¿Â ² »[¾ ²mÅ ´Bµ Æ µ ³ µ Æ ¶ ² ¸XË ³ . Ð ² ¿"µ ±L°T² FK, Êw¹^Ï ²  ° Ñ µQÄ ¶RÄ ³ à À[Æ Ï�ÎXÊwµ ³ ¸=µQÄT¶ ²^À Âp¾ ° ¹ ³ ¶R» ³ ´ ²[Æ · ± ¹ ³ À ¿ ² ¸ ² ¾XÄTÃ'´ ²mÅ ¶gÄ�´OÉ Æ ÊV¹v¶g¹=¸�¸X»[¸L½m¶g»-¶g¹ ³ , ± »p¸=¹ ± Î ½�¶j¹ Æ ¸O¹�´^ôX· Æ µQÄ ¶g» Æ ¶iÄT´LÎ 0 ´-» ± Ë Æ , ² Ä ¶RÄ ´LË ³ Êw¹�¶j¹B¸w¸^»r¸L½�¶g»^¶d¹ ³ ¿ ²-À ¿Â ² Ê Å ¿¶ ²-À[Æ ¹-¿ ² Ï-»^ÊVµ ÅX²[Æ ¶g¹^Ä ÊV¹ Æ[²XÆ ÄEÊr· Ã�¶gÄ ³ ± Ä µ À Ï ÅpÆ Ã'µbÄ ³ ¿ ²mÀ ¿�µbÂ^Ä Ë�Á ²-À[Æ ² Ä ÊV¹�¶g¹-ÁXÍ�Â^»-¶gË ³ ± Ä µ Å Ï À[Æ Ãv» ³ ¶�» ³ ´ ²[Æ · ± ¹ ³ µN¿�Ä ¸ ² ¾LÎ ³ . Ò ¶R» Æ ¹ Æ ¶ ° Ï^µr¶i» ¿�µQ ° ¿�¶dÍ�Ã�» , ¿ ²�À FK=1 » µ Æ ¶ ² ¸LÎ FIT µrÊp¶kµ�¸Lµ ° ¶g¹�Ä ¾-Ä ¹ ¶i» Æ ¹vÂwÁ�Ä Ê ² ¿ ²-° »OÃv» ¶ ²^À ¹'ÂpÁBµ °T²-À Êw¹�¶j¹BÁLÍ�Â^»-¶gÉ Æ ¶gÄ ´BÉ Æ Êr¹�¶g¹=¸�¸-»w¸L½m¶g»-¶g¹ ³ , µbÈ�½Là ²XÆ ¶ ² ¹�Â[Á=µ ° ² Êw¹�¶d¹-ÁLÍ�Â^»-¶gÉ Æ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ , ¿�µQÂLÄ Ë�ÁBµQÄ ¶gÄ ³ ¶RÄT´LË ³ ÁyÂOÍG´ ² Ã8ÍC´L·'¶jÍ Æ ¶ ²-À ¹�ÂpÁ^ÄTÊ ²BÅ ¿�¸X»LÏ À Ã'´ ²mÅ , ÊV¹mÄ ± µ Æ Ë�ÁLµrÄ

À ¿ ² ¸ ² ¾^Ä Ã�¶gµ ° ÊV¹�´^Ä · ¶RÄ ´^Î ÊV¹'¶d¹=¸[¸L»p¸=½m¶R»L¶d¹ ³ ¾^Ä ¹ ¶g¹ ÁyÂXÍ�´ ² Ã'É�´B¹�¶d¹ ¹ À ¶g· . Ð8½�¶dµ ² Ä ± Ä µ À Ï ÅwÆ Ã'µQÄ ³ ¶gÍ Æ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ Êr¹�Ä ¶gÍ Æ ¹ Æ ¶ ° Ã�¶ ² Ä ÁOÍ Æ ¶gÄ�´OÉ Æ ÊV¹v¶j¹=¸[¸L»[¸X½�¶g»-¶k¹ ³ ¹ À ¶kÉ Æ , ±-° ÆO²OÆ ¶g¹^Ä ¹m¿0½ ¶k¹ ¿�µ ±-° ¹ ¶R» ³ µ Æ ¶ ² ¸^Î ³ LCOUNT1 Êw¹^Ä LCOUNT2, ¾XÄ ¹ ¶ ²=Æ ¿"¹�¶dËrÂX¹ ÊV¹�Ä ¶R» ´-»^¶gËrÂX¹ ¹ Æ ¶ ° Ã�¶ ² Ä ÁL¹ . õ(Ã�¶gÍ ¾-Ä ¹ ¶�» Æ assembly ¿�µrÂ^Ä ¾^ÂO¹^È�Î ¶gÍ Æ ± Ä ¹^È ² ÂOµQ¶gÄ Ê ²^Å ¶ Å ¿ ²-À µ Æ ¶ ² ¸XÉ Æ FIT, ²  ° Ñ µQ¶g¹^Ä Í ³ FIT I, » µ Æ ¶ ² ¸-Î FIT ´Lµ FK = 1, Êr¹^Ä FIT II » µ Æ ¶ ² ¸-Î FIT ´Lµ FK = 0. CON Opcode GL 0101 X X X X X X X X X X X X ö CON ¹-¿ ² ¶kµ�¸Oµ ° ¶R» Æ µ Æ ¶ ² ¸XÎ , ´Lµ ¶R» Æ ² ¿ ²X° ¹ µtºbµQ¶�· Ñ µQ¶g¹�Ä ¹ Æ ÄTÊw¹ ÆX² ¿ ² Ä µ ° ¶k¹�Ä » à À�Æ ÏmÎLÊ[» ¶gµrÂ-´L¹'¶RÄ Ã'´ ²-Å ¶ ²^À ¾=µ Æ µQ¶RÄTÊ ²-Å ¹-¸p¾O½mÂLÄ Ïm´ ²^À , Êw¹mÄ » µQÊw¶dËR¸LµbÃ�Î ¶R» ³ ¹-¿�¹'ÄT¶gµ ° Ë Æ ¹ Æ Ê Å ÊN¸ ²  ² ¸ ² ¾-Ä ²mÅ . ÷ ¿�¸=· , ¹ Æ Ä Ã^Á Å µbÄ » à À[Æ Ï�Î-Êw» ¶dµrÂ^´L¹�¶iÄ Ã�´ ²-Å , Ã�¶ ² ¶gËi¸ ²-³ ¶ ²�À Ê Å Êc¸ ²^À µQÊ�¶gË�¸OµbÃ�» ³ ¶ ² ÃvÎL´L¹

Page 44: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

41

¶gµrÂ-´L¹'¶RÄ Ã'´ ²-Å ¶ ²BÀ ¹=¸[¾L½mÂLÄ Ï^´ ²BÀ HALT, ¶ ° Ï-µr¶g¹mÄ Ã�¶R» Æ ¶RÄT´^Î 1(high). Ð8½m¶gµ » ¸ Å Ã�» µ ° Æ ¹�Ä ± Ä ¹^Ï-ËcÃ�Ä ´^» Êw¹mÄ ² µt¿�µbºcµQÂp¾=¹^Ã�¶RÎ ³ Ã�¶g¹^´L¹v¶k· Æ ¹ ¶RÂLËiÁBµQÄ ¶ ²=Æ ¾Lµ Æ µr¶iÄTÊQ½ ¹O¸�¾X½�ÂLÄ Ïm´ ² , ± Ä ¹�¶g»^ÂXÉ Æ ¶g¹ ³ ¶i» Æ Êc¹'¶g·-Ã�¶k¹^Ã�Î ¶ ²mÀ ´LË�ÁyÂLÄ Æ ¹ ¾ ° Æ µbÄ reset. JMP Opcode GL jump address 0111 XX X X X X X X X X X X ö µ Æ ¶ ² ¸^Î JMP, µ ° Æ ¹�Ä ¹-¿�¹'ÂX¹ ° ¶g»-¶R» µ Æ ¶ ² ¸LÎ ¾LÄ ¹ ¶R» Æ Ã ÀpÆ µRÁ^Î µbÊ[¶kË�¸OµbÃ�» ¶ ²^À ô^ÂX½[Á ²-À ¶ ²^À ¾Oµ Æ µQ¶RÄTÊ ²-Å ¹B¸w¾X½^Â-Ä Ï^´ ²mÀ , ´BËiÁyÂ-Ä ¶g» Æ µN¿ ° ¶kµ À ºr» ¸ Å Ã'» ³ . Ì�µr¶g· ¶R» Æ µrÊp¶kË�¸LµtÃ�Î ¶R» ³ ¿ÂX¹-¾X´^¹�¶ ² ¿ ² ÄTµ ° ¶g¹^Ä ´LµQ¶k·�ôL¹^Ãv» Ã8µ Êw¹-Ï ² Â-Ä Ã�´^Ë ÆX² , ¹-¿�½ ¶g» Æ ± Ä µ Å Ï À[Æ Ã�» ¶ ²mÀ ¿�µ ±-° ²-À µ Æ ¶ ² ¸XÎ ³ jump address, Ãv»L´^µ °T² ¶ ²-À ¿Â ² ¾LÂL·m´^´L¹'¶ ²^³ . 5.2

Ö�ø�ù"ÔTú�û6×6ú�ü#Õ�Ô$×�ý ú'ü�þ

û�Ó�û�ÿ�û�ø��-Ö"Ø^ú�ý

�yû�Õ�û�ú'Ôz×��GÕ

Ö����yü�ø�Ô����CÕ

VGP I

Ò ¶ ² ÃmÁyÎ=´L¹ 5.2.1 È'¹ ° Æ µQ¶j¹�Ä ¶ ² block ± Ä ·=¾^ÂO¹�´-´L¹ ¶ ²-À µN¿�µbºcµbÂ[¾X¹yÃ�¶RÎ ¾Oµ Æ µb¶RÄEÊrÉ Æ ¹=¸[¾L½mÂLÄ Ï�´OÍ Æ ´Lµ Á^Â^Î�Ã�» ¶g» ³ ¶kµ�Á Æ Ä Ê[Î ³ ± Ä ² ÁLËQ¶gµ À Ã0» ³ (pipeline). Ð ² ´LËQ ²L³ ¶ ²-À ÁBµVÄTÂ^Ä Ã�¶gÎ ± µ ±L² ´LË Æ Í Æ ºbµiÁBÍG °�Ñ µrÄ Ã�¶ ² ÃmÁBÎ-´L¹ , ¹-¿�½ ¶ ² ´LËQ ²^³ µ�¸OË�¾[Á ²^À ¶ ²-À µN¿�µcºtµQÂ[¾O¹�Ã�¶gÎ . ÷ Ê ² ¸ ²BÀ ÏLµ ° ¹ Æ ¹=¸ À ¶gÄ�ÊrÎ ¿�µQÂLÄ ¾^ÂX¹yÈ�Î , ÊV¹�ÏLµ Æ ½ ³ ¹-¿�½ ¶j¹ ±-ÀX² ¹ À ¶j· ´LËQÂ^» ¶ ²mÀ µt¿�µbºcµQÂp¾=¹^Ã�¶RÎ . 5.2.1

ù�æpÛ ��Ûzá�� é ç ÚyærÚ�Ý������BÙ� �VÝ��

æbÞ�æ��ræ�� â ã'á�� é â æ��mæ��QÛ$Ü���� ã-è â � ��ÛEå!�LÙ"�

Ò ¶ ²=Æ ÁBµVÄTÂLÄ Ã�¶gÎ ± µ ±-² ´LË Æ Í Æ ¶ ²mÀ µR¿�µcºbµQÂw¾L¹^Ã�¶iÎ , à ÀwÆ ¹ Æ ¶kÉ Æ ¶j¹vÄ ² Ä Á^µbÄTÂ^Ä Ã�¶gË ³ ± µ ±-² ´LË Æ Í Æ ¶dÍ Æ ´ ²=Æ · ± Í Æ ¿ ²mÀ ¿�µQÂ-Ä ¾BÂX·^È9¶g»-ÊQ¹ Æ Ã8µ ¿Â ² »[¾ ²mÅ ´Bµ Æ ¹ ÊrµtÈ�·B¸O¹�Ä ¹ . Ð ² µbÄ ± ÄEÊc½ ¹�Â[ÁLµ ° ² Êr¹'¶j¹=Á^Í�Â-»L¶gÉ Æ Á^ÂLÍ�´ ² Ã8ÍC´O·v¶kÍ Æ , ¸=¹m´yôX· Æ µrÄ ¶gÄ ³ µbºcÍG¶gµbÂ^ÄTÊwË ³ ¶�Ä�´LË ³ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ sonex, daughtex ¾LÄ ¹ ¶g» Æ ¹-¿ ² Ï�ÎXÊwµ À Ã'Î ¶ ²BÀL³ , Ã�¶iÄ ³ ± Ä µ À Ï Å[Æ Ã'µrÄ ³ ¿ ²^À ±^° ÆX²[Æ ¶d¹�Ä ¹-¿�½ ¶g¹ ¹ Æ ¶ ° Ã�¶ ² Ä ÁL¹ ¿�µ ±L° ¹ ¶g» ³ µ Æ ¶ ² ¸XÎ ³ LD. õ ¶dÃ'Ä , ² Ä ¶RÄ ´LË ³ sonex ÊV¹vÄ daughtex, ¹-¿ ² Ï^»-ÊVµ ÅX²[Æ ¶g¹^Ä Ã�¶RÄ ³ ± ÄTµ À Ï Å�Æ Ã�µbÄ ³ ¶ ²^À ¿�¹�¶gËrÂL¹ Êc¹'Ä ¶i» ³ ´^»L¶gËQÂO¹ ³ ¹ Æ ¶ ° Ã�¶ ² Ä Á=¹ . #6¹�¶d· ¶R» ± Ä ·�Â^ÊVµVÄ ¹ µVÊ�¶gË�¸OµbÃ�» ³ ¶R» ³ ¿�¹�ÂL¹=¿�· Æ Í µ Æ ¶ ² ¸LÎ ³ , » ´ ²=Æ · ± ¹ µN¿Ä ¸ ² ¾LÎ ³ ¿�¹'ÂXËRÁLµQÄ ¶iÄ ³ ± ÄTµ À Ï Å�Æ Ã'µQÄ ³ ¹=¿�½ ¶g¹ ¿�µ ±L° ¹ LCOUNT1 Êw¹^Ä LCOUNT2, ¶R» ³ µ Æ ¶ ² ¸^Î ³ LD, ½=¿�Í ³ ´X¿ ² ÂXµ ° Æ ¹ µN¿0¹=¸-»LÏLµ À ¶kµ ° ´Lµ�¸=µV¶kÉ Æ ¶g¹ ³ ¶R» Æ ¹�Â[Á^ÄE¶jµQÊ[¶ ²[Æ ÄTÊwÎ ¶�» ³ ´ ²=Æ · ± ¹ ³ µt¿�Ä ¸ ² ¾XÎ ³ . ö ¿�¹'Â[¹-¿"· Æ Í ± Ä ¹ ± ÄEÊc¹�à ° ¹ µrÊp¶gµR¸Lµ ° ¶k¹�Ä ½XÃ�µ ³ È ² ÂOË ³ Á^ÂLµrÄ · Ñ µQ¶k¹mÄ ¾XÄ ¹ ¶�» Æ ¹�Â[Á^ÄEÊ ² ¿ ²X° »[Ã�» ¶ ²^À ¿�¸B»[Ï À Ã�´ ²-Å . $�½[¾LÍ ±BÀ�Æ ¹'¶g½^¶R»-¶j¹ ³ ¶g¹ À ¶d½[Áy ²=Æ » ³ µ�¾[¾LÂL¹^È�Î ³ ±mÀ�² Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ Ã'µ ÊQ·^Ï^µ Ê Å Êb¸ ²  ² ¸ ² ¾XÄ ²-Å , ¹X¿�¹�ÄT¶ ²^Å[Æ ¶j¹�Ä 8 Ê Å Êb¸ ² Ä µt¿�¹ Æ ·=¸L»-Ç�» ³ ¶R» ³ µ Æ ¶ ² ¸LÎ ³ È�½mÂ^¶gÍ�Ã�» ³ , ¾-Ä ¹ ¶ ² à À ¾LÊwµrÊpÂ^Ä ´^Ë ÆX² ´LË�¾LµtÏ ²L³ ¶ ²mÀ µQÄ ± ÄTÊ ²mÅ ¹vÂwÁBµ °T²-À ÊV¹�¶g¹=ÁBÍGÂX»^¶jÉ Æ Á�ÂOÍ�´ ² Ã'Í�´L·�¶gÍ Æ .

Ò ¶R» à ÀpÆ ËRÁLµQÄ ¹ , µ ° Æ ¹mÄ ¹=¿�¹'Â�¹ ° ¶g»-¶ ² ¾XÄT¹ ¶R» Æ ² ¸ ² Êt¸^Î-ÂOÍ#Ã�» ¶R» ³ ± Ä ¹ ± ÄEÊV¹^à ° ¹ ³ ¹vÂwÁ^ÄTÊ ² ¿ ²-° »LÃv» ³ , ² À ¿ ² ¸ ² ¾^Ä Ã�´L½ ³ ¶gÍ Æ ¶�Ä ´BÉ Æ ÊV¹�¶g¹B¸w¸L»p¸L½^¶i»^¶g¹ ³ , ¾XÄT¹ ½O¸O¹ ¶g¹ Á^ÂLÍ�´ ² Ã�É�´L¹�¶g¹ ¶ ²^À ¹�Â[Á^ÄEÊ ²-Å ¿�¸^»OÏ À Ãv´ ²-Å . õ ¶jÃvÄ ´Lµ ¶�» Æ µQÊw¶gËR¸XµcÃ0» ¶�» ³ µ Æ ¶ ² ¸BÎ ³ FIT I, » ´ ²[Æ · ± ¹ µN¿�Ä ¸ ² ¾XÎ ³ ¿�¹�ÂLËiÁ^µrÄ ¶gÄ ³ ± Ä µ À Ï Å[Æ Ã'µQÄ ³ ¶gÍ Æ ¿�µ ±-° Í Æ LCOUNT1 Êw¹mÄ LCOUNT2 ¶R» ³ µ Æ ¶ ² ¸^Î ³ . Ì�µ ¹ À ¶g½ Æ ¶ ²[Æ ¶RÂ�½-¿ ² µN¿Ä ¸=Ë�¾ ²=Æ ¶j¹vÄ , ¶g¹ Á^ÂLÍG´ ² Ã'É�´X¹'¶d¹ ¹X¿½ ¶gÄ ³ ¹ Æ ¶ ° Ã�¶ ² Ä Á=µ ³ ÏLËbÃ'µbÄ ³ , Êc¹'Ä ¿�¹�ÂO·B¸w¸-»w¸L¹ ² Ä ° ± Ä µ ³ ± Ä µ À Ï Å�Æ Ã�µNÄ ³ µbÈ�¹�Â^´L½ Ñb²XÆ ¶g¹�Ä Ã�¶ ² µbÄ ± ÄTÊQ½ ¹vÂwÁBµ ° ² Êw¹�¶j¹-ÁLÍGÂL»^¶gÉ Æ Êr¹�¶g¹=¸�¸-»w¸L½m¶g»^¶g¹ ³ , µ Æ É Ã�¶ ² ¶gË�¸ ²L³ ¶ ²�À Ê Å Êb¸ ²-À ¶R» ³ µ Æ ¶ ² ¸LÎ ³ ¾^ÂO·-È ²[Æ ¶j¹mÄ Ã�¶ ² ¿�¹�ÂO¹m¿0· Æ Í ¹�ÂpÁBµ ° ² ÊV¹�¶g¹BÁ=ÍGÂ-»L¶gÉ Æ ² Ä ¶gÄT´BË ³ ÊV¹v¶j¹=¸[¸X»[¸O½�¶i»L¶g¹ ³ ¶kÍ Æ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ . ö ´ ²=Æ · ± ¹ FCU À ¿ ² ¸ ² ¾ ° Ñ µQÄ ¶gÄ ³ ¶RÄT´BË ³ Êc¹'¶g¹=¸[¸X»[¸O½�¶g»-¶g¹ ³ , Á^ÂL»[Ã�Ä ´ ² ¿ ² Ä É Æ ¶j¹ ³ à À[ÆX±^À ¹yÃ�¶gÄTÊpÎ ¸ ² ¾XÄ�ÊrÎ . õ ¶gÃ'Ä Ã8µ Êw·^Ï-µ Ê Å Êb¸ ²  ² ¸ ² ¾-Ä ²^Å ´^µ ¶R» Æ µ Æ ¶ ² ¸XÎ FIT I À ¿ ² ¸ ² ¾ ° ÑV²=Æ ¶j¹�Ä ² Ä ¶RÄT´LË ³ ÊV¹v¶g¹=¸�¸X»[¸L½m¶g»-¶g¹ ³ ¶ ²^À ¿�¹'¶gËrÂX¹ Êw¹^Ä ¶g» ³ ´^»^¶gËbÂL¹ ³ ÊV¹mÄ Ã�¶ ² ¶gË�¸ ²-³ ¹ À ¶ ²BÅ ¶ ²mÀ Ê Å Êt¸ ²-À , ² Ä ¶gÄT´^Ë ³ ¹ À ¶gË ³ ¹-¿ ² Ï^»-ÊVµ ÅO²OÆ ¶g¹^Ä Ã�¶gÄ ³ ¹ Æ ¶ ° Ã�¶ ² Ä Á^µ ³ Ï^ËRÃ�µbÄ ³ ( °T± ÄTµ ³ ´Bµ ¶RÄ ³ Ï^ËcÃ'µbÄ ³ Ã�¶ ² ¹'ÂpÁBµ ° ² Êr¹�¶g¹-ÁLÍ�Â-»-¶kÉ Æ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ ), ¶ ²^À µNÄ ± ÄEÊ ²mÅ ¹'ÂpÁBµ °T²mÀ Êr¹�¶g¹-ÁOÍGÂ-»^¶jÉ Æ Êr¹'¶j¹=¸[¸-»[¸�½�¶�»-¶j¹ ³ .

Page 45: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

42

INSTRUCTIONMEMORY

PC 8bit

IR 16bit

CSR

CONTROL UNITLFSRS

Control

SPECIALCHROMOSOME

REGISTERFILE

16 x 16

SELECTION

UNIT

Datapath

CROSSOVERUNIT

MUTATIONUNITSPECIAL

FITNESSREGISTER

FILE

FITNESSCALCULATION

UNIT

TERMINATINGCONDITION

UNIT

MUX S MUX D

MUX A MUX BLDLD

sonex daugtex

MET MET

HALT

HALT

GO

pien

ilen

Father address

Mother address

father mother

Bestfitness

address

Bestfitness

Fathers fitnessMothers fitness

son

daughter

Ø&% é �yã 5.2.1 Block

Ú�ÛEä â �'ã��'�yã �VÝ��

æbÞ�æ��cæ�� â ãyá(� é â æ��^æ��pÛ Ü)�"� ã=è â�� ��Û å*�yÙ� VGP I.

Ò ¶R» à ÀwÆ Ë�Á=µQÄ ¹ ´Bµ µrÊ[¶gË�¸OµbÃ�» ¶gÍ Æ ± Ä ¹^È�½^ÂLÍ Æ ¶ Å ¿�Í Æ µR¿�Ä ¸ ² ¾^Î ³ ( µ Æ ¶ ² ¸�É Æ µN¿�Ä ¸ ² ¾LÎ ³ ), ¿Â ² Ê Å ¿¶ ²-À[Æ ¹-¿�½ ¶R» ´ ²[Æ · ± ¹ µt¿Ä ¸ ² ¾LÎ ³ , ² Ä ± Ä µ À Ï ÅpÆ Ã'µbÄ ³ ¶gÍ Æ Á^ÂLÍ�´ ² Ã�Í�´L·�¶gÍ Æ , ¶g¹ ² ¿ ²-° ¹ ¿ÂX½�ÊVµQÄE¶j¹mÄ Æ ¹ µN¿�µcºbµbÂ[¾X¹yÃ�¶ ²^Å[Æ Ã Å ´XÈ�Í Æ ¹ ´Lµ ¶ ²-Æ ¾Xµ Æ µb¶RÄEÊc½ ¹=¸[¾L½^Â-Ä Ïm´ ² . ¼�Ä ° ± Ä µ ³ ± Ä µ À Ï Å�Æ Ã�µbÄ ³ ¿�¹�ÂLË�Á ²=Æ ¶g¹�Ä Êr¹�Ä Ã�¶d¹ ±-ÀL² µbÄ ± ÄTÊV· ¹�Â[ÁLµ ° ¹ Êc¹'¶g¹=ÁBÍ�Â-»X¶gÉ Æ . ÷ Æ ¹=¸ À ¶iÄEÊwÎ ¿�µbÂ^Ä ¾^ÂO¹�È�Î ¸LµbÄT¶ ²mÀ Âp¾ ° ¹ ³ ¶�» ³ ´ ²=Æ · ± ¹ ³ µR¿�Ä ¸ ² ¾LÎ ³ À ¿�·�ÂpÁBµQÄ Ã�¶ ² ÊwµcÈ�·=¸O¹mÄ ² 3.

¼CÄ ± Ä µ À Ï ÅwÆ Ã8µQÄ ³ ¶gÍ Æ ÁyÂXÍ�´ ² Ã�Í�´^·�¶jÍ Æ ¿Â ²^³ µt¿�µbºbµrÂp¾L¹^à ° ¹ , ¿�¹�ÂO¹�´LË ÆL²-À[Æ ¹^¿ ² Ï�»XÊwµ À ´BË Æ µ ³ Ã�¶ ²^ÀX³ ÊV¹�¶g¹=ÁLÍ�Â-»^¶gË ³ ± Ä µ Å Ï À[Æ Ã�» ³ Êc¹�Ä µ ° Æ ¹�Ä ± Ä ¹yÏ-ËtÃ�Ä ´Lµ ³ ¾-Ä ¹ ¶gÄ ³ µt¿�½�´Lµ Æ µ ³ µ Æ ¶ ² ¸LË ³ ¹ Æ ¹^¿�¹�ÂX¹=¾L;XÎ ³ ( ± Ä ¹^Ã�¶j¹ Å ÂLÍ�Ã'» ³ ÊV¹�Ä ´BµQ¶k·=¸[¸�¹�ºb» ³ ). +XÄ ¹ ¿�¹'Â[· ± µbÄ ¾L´L¹ , ¹ Æ µQÊw¶gµ�¸Lµ ° ¶g¹mÄ ´-Ä ¹ µ Æ ¶ ² ¸^Î ¶ Å ¿ ²-À ± Ä ¹LÃ�¶g¹ Å ÂLÍ#Ã�» ³ , ¶g½m¶kµ ¶ ² Ã'Î-´L¹ µ�¸OË�¾[Á ²mÀ MET=0, Êr¹�Ä ² Ä Ëtº ²^±=² Ä ¹X¿�½ ¶i» à ÀpÆO±BÀ ¹LÃ�¶gÄ�ÊrÎ ´ ²XÆ · ± ¹ ± Ä ¹LÃ�¶g¹ Å ÂLÍ#Ã�» ³ µ ° Æ ¹mÄ ± Ä ¹^Ï^ËRÃ�Ä ´Bµ ³ Æ ¹ ¹-¿ ² ¶gµ�¸LËcà ²-À[Æ ¶g» Æ Ëb¹ ¾Lµ Æ Ä · , Êc¹�Ä Æ ¹ ¹-¿ ² Ïm»LÊwµ À ¶ ²^ÅpÆ Ã�¶ ² ¶kË�¸ ²^³ ¶ ²^À Ê Å Êc¸ ²-À µQÊw¶gËR¸LµtÃ0» ³ ¶i» ³ µ Æ ¶ ² ¸-Î ³ Ã�¶ ² µQÄ ± ÄTÊr½ ¹�ÂpÁBµ °T² ÊV¹�¶g¹=ÁLÍGÂL»^¶gÉ Æ , ¹ Æ ¶iÄTÊV¹^ÏmÄ Ã�¶gÉ Æ ¶g¹ ³ ¶j¹ Á^ÂLÍ�´ ² Ã'É�´L¹�¶j¹ -¾ ²[Æ µ °E³ , ¹^¿�½ ¶g¹ ² ¿ ²L° ¹ ¿Â ² Îw¸XÏL¹ Æ .

Ò µ ¿�µb ° ¿¶kÍ�Ã'» µQÊ�¶gË�¸OµbÃ�» ³ µ Æ ¶ ² ¸-Î ³ ´LµQ¶k·=¸[¸L¹^ºQ» ³ , MET=1, ÊV¹mÄ ¶j½�¶gµ µt¿�Ä ¸LËR¾ ²XÆ ¶j¹vÄ ¶g¹ ´Lµr¶g¹=¸p¸=¹=¾^´LË Æ ¹ ÁyÂXÍ�´ ² Ã8ÉG´X¹'¶g¹ ¾-Ä ¹ ¹ Æ ¶iÄTÊQ¹�¶d·yÃ�¶j¹^Ã�» ¶gÍ Æ ¿�¹-¸XÄTÉ Æ ÁyÂOÍG´ ² Ã'ÍG´O·v¶kÍ Æ . ¼#Ä Á^µrÄTÂ-Ä Ã�¶gË ³ ± µ ±-² ´LË Æ Í Æ ¶gÍ Æ ´ ²[Æ · ± Í Æ ´LµQ¶k·=¸[¸X¹^ºr» ³ Êr¹�Ä ± Ä ¹LÃ�¶g¹ Å ÂLÍ#Ã�» ³ , ÊV¹^Ï-É ³ Êc¹�Ä » ¸LµQÄT¶ ²BÀ Âw¾ ° ¹ ¶ ²^ÀX³ ´Lµ ¶ ²XÆ Êc¹v¶k·=¸[¸X»[¸ ² Ëi¸LµR¾pÁ ² , ±^° ÆO²OÆ ¶g¹^Ä ¹ Æ ¹=¸ À ¶gÄTÊw· Ã�¶ ² ÊrµcÈ'·B¸O¹�Ä ² 2. ¼CÄ ´ ²XÆ · ± µ ³ FCU Êw¹�Ä TCU, ´X¿ ²  ²mÅwÆ Æ ¹ ¹ Æ ¶gÄ�ÊV¹'¶d¹^Ã�¶j¹yÏ ²^ÅwÆ ¹ Æ ·=¸ ² ¾X¹ ´Lµ ¶ ² ± µ ±L² ´BË ÆL² ¿ÂX½�ôw¸^»X´^¹ .

Ò ¶R» à À ¾^ÊVµQÊ[ÂLÄT´LË Æ » ¿�µV ° ¿¶gÍ�Ã�» À ¸ ² ¿ ²^° »XÃ�» ³ , ½�¶d¹ Æ µQÊ[¶gµi¸Lµ ° ¶g¹mÄ µ Æ ¶ ² ¸^Î ¶ Å ¿ ²-À FIT, µQÊw¶g½ ³ ¹m¿0½ ¶ ²XÆ À ¿ ² ¸ ² ¾-Ä Ã�´L½ ¶gÍ Æ ¶gÄ ´BÉ Æ Êw¹�¶g¹=¸w¸^»w¸X½-¶R»^¶g¹ ³ , Ã�¶ ² ¶gËi¸ ²^³ ¶ ²mÀ Ê Å Êc¸ ²-À µQÊ�¶gË�¸OµbÃ�» ³ ¶�» ³ µ Æ ¶ ² ¸XÎ ³ , ±-° Æ�²=Æ ¶k¹�Ä ¿�¸^»- ² È ²  ° µ ³ ¾-Ä ¹ ¶ ² ·�¶ ² ´ ² ´^µ ¶ ² Êw¹=¸ Å ¶jµQ ² ´^ËRÁ^Â^Ä µQÊVµ ° Æ » ¶�» Ã�¶gÄ ¾-´^Î fitness. ¼�Ä ¿�¸^»L ² È ²  ° µ ³ ¹ À ¶gË ³ µ ° Æ ¹mÄ » ± Ä µ Å Ï ÀwÆ Ãv» ¶ ²-À Êw¹=¸ Å ¶kµV ²^À ÁyÂ�ÍG´ ² Ã�É�´X¹'¶ ²-³ ÊV¹�Ä » ¶RÄT´-Î ÊV¹v¶g¹=¸�¸X»[¸L½m¶g»-¶g· ³ ¶ ²-À . ö ¸=µVÄT¶ ²BÀ Âw¾ ° ¹ ¶gÍ Æ ´ ²=Æ · ± Í Æ FCU Êw¹�Ä TCU, ¿�µQÂXÄ ¾^ÂL·LÈ�µr¶g¹�Ä Ã�¶ ² ÊVµbÈ'·-¸O¹�Ä ² 4.

Page 46: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

43

5.2.2 ,è�æ â %�Ýyç �VÝ�� æbÞ�æ��ræ�� â ã�á�� é â æ��Bæ��pÛzÜ-��

ãXè â�� ��ÛEå!�^Ù.� ö ´ ²[Æ · ± ¹ µR¸LËi¾[Á ²-À , ¿�µQÂ^Ä ¸O¹�´-ôB· Æ µbÄ ¶ ²=Æ ¹=¿ ² ÊVÍ ± Ä Ê ² ¿ ² Ä »-¶RÎ ¶jÍ Æ µ Æ ¶ ² ¸OÉ Æ , ² Ä ² ¿ ²L° µ ³ ± Ä ¹�ôL· ÑV²[Æ ¶j¹mÄ ¹-¿�½ ¶�» Æ ´ Æ ÎX´^» µ Æ ¶ ² ¸OÉ Æ Êr¹�Ä ¾^Ä ¹ ¶g» Æ ¿�¹�ÂL¹=¾OÍ>¾LÎ ¶gÍ Æ Ã'»^´X·'¶gÍ Æ µR¸XËR¾[Á ²^À ¸L¹^´�ôO· Æ µQÄ À ¿0½�Ç�» ¶RÄ ³ ¶gÄT´^Ë ³ ¶gÍ Æ Ç�»�È ° Í Æ ¶ ²-À LFSR ¶ ²mÀ ÃmÁyÎX´B¹�¶ ²^³ 3.3.3.

Ò ¶�» È�·-Ã�» ¶R» ³ ¹-¿ ² ÊcÍ ± ÄTÊ ² ¿ ²^° »XÃ�» ³ , ¿�¹�ÂX·=¾ ²OÆ ¶g¹^Ä ¶d¹ Ã�Î=´L¹'¶j¹ pien ilen, ¶g¹ ² ¿ ²X° ¹ Á^Â^»�ÃvÄE´ ² ¿ ² Ä ²-Å[Æ ¶j¹�Ä Ã�¶g» Æ ¿�µQ ° ¿¶kÍÃ�» µ Æ ¶ ² ¸OÉ Æ ¿ ² ¸[¸OÉ Æ Ê Å Êb¸OÍ Æ , ËQ¶gÃ'Ä É#Ã�¶jµ Æ ¹ ´^» ¾-ÂL·^È6µV¶k¹�Ä Æ ËN¹ µ Æ ¶ ² ¸^Î ³ Ã�¶ ²=Æ ÊV¹v¶g¹=ÁBÍ�Â=»L¶RÎ µ Æ ¶ ² ¸OÉ Æ (DEC), Êw¹�Ä Æ ¹ ´�» ¾ ° Æ µb¶g¹vÄ Æ Ë ² IF, ¿�¹�ÂX· ´L½ Æ�² Ã�¶ ² ¶gË�¸ ²-³ µbÊ[¶gË�¸OµbÃ�» ³ ¶R» ³ µ Æ ¶ ² ¸XÎ ³ . Ò ¶R» ´ ²[Æ · ± ¹ µ�¸=Ë�¾wÁ ²^À , ¾-Ä ¹ µt¿ ° ¶dµ À ºb» ´Bµ�¾O¹-¸ Å ¶gµbÂ^» ³ ¶g¹-Á Å ¶�»-¶j¹ ³ µtÈ�¹�ÂL´L½ Ñ µQ¶g¹�Ä ¶gµRÁ Æ ÄTÊ[Î ± Ä ² ÁBËV¶kµ À Ã'» ³ , ´Lµ ¶ ²[Æ ¹-¿0¹�Â-Ä Ïm´^»^¶gÎ ¿Â ² ¾-ÂL·^´�´O¹�¶ ²^³ (PC, Program Counter), ¶ ²OÆ Êw¹�¶j¹-ÁLÍGÂ^»L¶iÎ µ Æ ¶ ² ¸XÉ Æ (IR, Instruction Register), ÊV¹'Ä ¶ ²[Æ ÊQ¹�¶g¹BÁ=ÍGÂ-»^¶gÎ Ã�»-´O·�¶gÍ Æ µR¸LË�¾wÁ ²mÀ ¾LÄ ¹ ¶ ² datapath(CSR Control Signals Register). ö à ÀwÆL± µtÃ�´ ² ¸ ² ¾ ° ¹ ¶ ²mÀ ¶R´LÎ^´X¹'¶ ²-³ µ�¸OË�¾[Á ²^À , ´Lµ Á-Â^ÎOÃv» ¶gµ�Á Æ ÄTÊpÎ ³ ± Ä ² ÁLËQ¶kµ À Ã�» ³ , ½-¿�Í ³ È�¹ ° Æ µr¶g¹'Ä Ã�¶ ² ÃmÁyÎX´L¹ 5.2.1, ±L° Æ µQ¶k¹�Ä Ã'µ ÊwÉ ± ÄTÊw¹ VHDL Ã�¶ ² ¿�¹�ÂL·�Â^¶g»-´X¹ + . ¼ ¹-¿ ² ÊVÍ ± ÄEÊ ² ¿ ² ÄT»-¶gÎ ³ (control unit), ¿�µQÂLÄ ¸X¹�´^ôL· Æ µVÄ ¶gÄ ³ ´ ²[Æ · ± µ ³ µR¸LË�¾wÁ ²^À ± Ä ¹-Ã�¶g¹ Å ÂLÍ�Ã�» ³ , ´Lµr¶g·=¸[¸�¹yºV» ³ , µt¿Ä ¸ ² ¾^Î ³ , À ¿ ² ¸ ² ¾^Ä Ã'´ ²BÅ ÊV¹v¶j¹=¸[¸L»[¸�½�¶R»-¶j¹ ³ Êw¹^Ä ¶gµbÂ^´L¹v¶�Ä Ã'´ ²-Å . ö ´ ²-Æ · ± ¹ µ�¸=Ë�¾wÁ ²^À ± Ä ¹-Ã�¶k¹ Å ÂLÍ�Ãv» ³ Êw¹�Ä ´LµQ¶k·=¸[¸L¹^ºQ» ³ ±L° Æ µr¶g¹�Ä µt¿ ° Ã�» ³ Ã'µ ÊwÉ ± ÄTÊQ¹ VHDL Ã�¶ ² ¿�¹'ÂX·�Â^¶g»-´L¹ + . Ò ¶�» Æ ¿�µV ° ¿¶gÍ�Ã'» À ¸ ² ¿ ²X° »[Ã�» ³ Ã'µ Ë Æ ¹ Ê Å Êb¸ ² , ² Ä ´ ²XÆ · ± µ ³ µi¸LËR¾[Á ²�À ¹-¿�¸X· ¹-¿ ² ÊrÍ ± Ä Ê ² ¿ ² Ä ²-Å[Æ ¶R» Æ µ Æ ¶ ² ¸LÎ , ¸�¹'´-ôL· ÆL²[Æ ¶d¹ ³ À ¿�½mÇ�» ¶R» ³ ¹X¿�¹�ÄT¶ ²mÅ ´Lµ Æ µ ³ ¶ À ÁX¹ ° µ ³ ¶gÄE´LË ³ ¹m¿0½ ¶ ² LFSR, µ Æ É Ã�¶i» Æ ¿�µQ ° ¿¶gÍ�Ã�» µ Æ ¶ ² ¸^Î ³ ¿�µQÂLÄ Ã�Ã8½�¶gµQÂOÍ Æ Ê Å Êb¸XÍ Æ ¸O¹m´yôX· Æ µr¶g¹mÄ À ¿�½-Ç» Ë Æ ¹ ³ µcÃ'ÍG¶kµVÂLÄTÊw½ ³ ¹=¿�¹'Â-Ä Ï�´-»^¶RÎ ³ ¶jÍ Æ ´ ²XÆ · ± Í Æ µ�¸LËi¾[Á ²mÀ , ¾LÄ ¹ ¶R» Æ ¹-¿�¹-¾�½�ÂXµ À Ãv» Æ Ë ²BÀ IF Êw¹mÄ decode.

Ì�Ä ¹ µ Æ ¶ ² ¸^Î µ Æ ½ ³ Ê Å Êc¸ ²-À À ¸ ² ¿ ² Ä µ ° ¶j¹�Ä Ã8µ ¶R ° ¹ ô-ÎL´L¹�¶g¹ ¸L½O¾LÍ ¶ ²-À pipeline, Ã�¶ ² ¿ÂXÉ�¶ ² Ã�¶g· ± Ä ² à À ´yôX¹ ° Æ µbÄ Instruction Fetch (IF), ½-¿ ²-À ± Ä ¹'ôX· Ñ µQ¶g¹�Ä ¹-¿0½ ¶g» ´ Æ ÎX´^» µ Æ ¶ ² ¸LÉ Æ » µ Æ ¶ ² ¸^Î µQÊVµ ° Æ » ¿ ²-À ôy ° Ã�Êwµb¶g¹vÄ Ã�¶R» ± Ä µ Å Ï À[Æ Ã�» ¶ ²mÀ PC, ² ² ¿ ²L°T²^³ ¹ À ºb· Æ µr¶g¹mÄ Êw¹�¶g· Ë Æ ¹ ¾^Ä ¹ ¶i» Æ µN¿0½m´Lµ Æ » µ Æ ¶ ² ¸XÎ . Ò ¶ ² ± µ Å ¶gµQ ² Ã�¶j· ± Ä ² » µ Æ ¶ ² ¸^Î ± Ä ¹^ô^· Ñ µQ¶k¹�Ä ¹-¿�½ ¶ ²=Æ ÊV¹�¶g¹-ÁLÍGÂX»^¶RÎ µ Æ ¶ ² ¸LÉ Æ Êr¹^Ä ¹-¿ ² ÊcÍ ± ÄTÊ ² ¿ ² Ä µ ° ¶g¹�Ä (DEC, Decode), µ Æ É Ã�¶ ² ¶kµ�¸Oµ À ¶k¹ °T² Ã�¶g· ± Ä ² Ë�ÁBµQÄ ¾-ÂO¹^È�µ ° ² ÊV¹v¶j¹=ÁBÍ�Â^»-¶gÎ ³ ¶gÍ Æ Ã�»L´L·�¶dÍ Æ µ�¸=Ë�¾wÁ ²^À ÊV¹�Ä µrÊ[¶jµ�¸Lµ ° ¶g¹mÄ » µ Æ ¶ ² ¸LÎ , µbÈ�½-à ²OÆ Ã�¶gËi¸ ÆL²OÆ ¶j¹mÄ ¶g¹ ÊV¹v¶j·=¸[¸L»p¸L¹ Ã�Î=´B¹�¶j¹ µ�¸OË�¾�Á ²�À Ã�¶ ²[Æ ÁLµbÄ�ÂXÄ Ã�¶iÎ ± µ ±X² ´LË Æ Í Æ ¶ ²mÀ µN¿�µbºcµbÂ[¾L¹^Ã�¶gÎ (EX, Execute).

¼ µt¿�µrºNµrÂ[¾X¹yÃ�¶RÎ ³ ¸LµrÄT¶ ²-À Âp¾Lµ ° , µbÈ�½-à ²=Æ ± µ Æ Ë�ÁBµQÄ Ã À ´Lô^µ ° Halt =1, ÊV¹�Ä ² ± Ä ¹�ÊQ½O¿¶�» ³ ¸OµQÄE¶ ²-À Â[¾ ° ¹ ³ ¶ ²mÀ µ ° Æ ¹�Ä ¹ Æ�² ÄTÊ[¶g½ ³ (GO=1). ¯ ¿ ° Ã'» ³ , ¶ ² µcºbÍ�¶gµbÂ^ÄTÊw½ reset Ã�¶ ²[Æ µN¿�µbºcµbÂ[¾X¹yÃ�¶RÎ ¿Â ² ÊV¹=¸Oµ ° ´-» ± µ Æ Ä Ã�´L½ ¶gÍ Æ Êw¹�¶j¹=Á^Í�Â-»^¶jÉ Æ ¶ ²^À µR¿�µNºcµQÂw¾L¹^Ã�¶RÎ ÊQ¹mÄ ¶ ²[Æ ¿Â ² µQ¶ ² ÄE´X· Ñ µrÄ ¾XÄT¹ ¶g» Æ µN¿�½^´^µ Æ » µtÈ�¹�Â^´ ² ¾LÎ . 5.2.3

Ó0ã&��ä�ÚyæpÛ â �Bã Þ/��Ý â ��ä����yã0�VÝ�ç æpÜ1�2�Rè�ærá9àBç â æ��yæ��wÛzÜLÝ�3

ã[è â�� ��ÛEå)�yÝ�� â ÛEã �pà)�

æNÞ�ß è��Lá9à

�rÙ.� Þ/�8Ý�4�è�à��Bä0�VÙ��

onemax ÜLãvÛ

saveload +OÄ ¹ ¶R» Æ µR¿ ° ¸ À Ã'» ¶gÍ Æ ¿# ² ôX¸L»-´X·'¶gÍ Æ onemax Êc¹'Ä saveload, ¶ ² ¿�ÂX½[¾^ÂX¹^´^´L¹ ¿ ²^À ¿�µQÂLÄTËiÁBµQÄ » ´ Æ Î=´y» µ Æ ¶ ² ¸�É Æ (ROM), ±^° Æ µV¶k¹�Ä ¿�¹�ÂO¹mÊw·�¶gÍ . +=Ä ¹ Æ ¹ ºtµ�ÁBÍ� ° à ²-À[Æ ² Ä Êw¹�¶d¹-ÁLÍ�Â^»-¶gË ³ Á^ÂLÍ�´ ² Ã'Í�´L·�¶gÍ Æ ¹X¿�½ µQÊVµ ° ÆO²mÀX³ ¶gÍ Æ ¶RÄT´LÉ Æ Êr¹'¶j¹=¸[¸-»w¸X½�¶�»-¶g¹ ³ , ÁyÂL»XÃ'Ä�´ ² ¿ ² Ä ²mÅwÆ ¶d¹�Ä ² Ä Ã À ´^ô ² ¸-Ä Ã'´ ²-° CR ÊQ¹�Ä FR, ¹ Æ ¶ ° Ã�¶ ² Ä ÁO¹ . Ó��

�=â �'ã(���^ã �*� é ��àmç æ��&�cÝ-è��"� á�æ assembly

�r�� VGP I

LD CR0, CR1 LD CR2, CR3 LD CR4, CR5 LD CR6, CR7 LD CR8, CR9 LD CR10, CR11 LD CR12, CR13

Page 47: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

44

LD CR14, CR15 FIT I FR0, FR1 FIT I FR2, FR3 FIT I FR4, FR5 FIT I FR6, FR7 FIT I FR8, FR9 FIT I FR10, FR11 FIT I FR12, FR13 FIT I FR14, FR15

16 EPI IV DIA VI FIT II CON JMP 16

NOP NOP ö µQÊw¶gËR¸XµcÃ0» ¶ ²-À ¿0¹�ÂL¹-¿�· Æ Í ¿Â ² ¾LÂX·�´^´L¹�¶ ²^³ , ¿Â ² à ² ´ ² Ä É Æ µQ¶g¹^Ä ´^µ ¶ ² Modelsim Êr¹�Ä ¶ ’ ¹-¿ ² ¶gµi¸LËcÃv´B¹�¶d¹ ¿ ²BÀ ¿Â ² Ê Å ¿¶ ²mÀwÆ ±-° Æ�²=Æ ¶g¹�Ä Ã�¶ ² ÊwµcÈ'·=¸L¹mÄ ² 6. Ò ¶ ² ¶gË�¸ ²-³ ¶R» ³ µ Æ ¶ ² ¸^Î ³ JMP, µQÊ[¶jµ�¸ ²-Å�Æ ¶g¹�Ä ±-ÀL² NOP µ Æ ¶ ² ¸OË ³ , µcÈ�½Xà ²[Æ ¹-¿�½ ¶R» Ã�¶gÄ ¾-´^Î ¿ ²-À ¾ ° Æ µQ¶g¹�Ä IF ¶R» ³ µ Æ ¶ ² ¸^Î ³ JMP, ¿�µr ÆX²^ÅpÆ ±-ÀO² Ê Å Êb¸ ² Ä ¾LÄ ¹ Æ ¹ µrÊ[¶gµi¸LµcÃ�¶gµ ° Êw¹^Ä Ã�¶ ² ´LµQ¶k¹^º Å ± µ Æ ¿ÂXËt¿�µQÄ Æ ¹ à À ´-ôBµ ° ² ¶gÄ ± ÎX¿ ² ¶gµ ·B¸w¸ ² [ µ Æ ¶ ² ¸XÎ NOP=(0000000000000000)].

JMP IF DEC EX NOP IF DEC EX NOP IF DEC EX

EPI IV IF DEC EX

Page 48: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

45

����������� � 6

����������������������

�����!

"$#&%'#)(�%+*-,/.-0 6.1 12# � 6.2, "$#&%'.-0'3 � *54�.76 � # � � ’ #8"$. �:9<;8= 3/>8# � # ��?8

"%[email protected]>8.8BDC�3 ?+ > 9 � . Modelsim, � C6 >'.768*�E�C6 "�.A0

9 1 �:9<; .-FG6 ���!

;H9I� � .-0�%H('B 9� ��?8 E � #-3 � #&F�%'CJ3 ?+ 1K# � > 9L� * ;H; #AM ?8

#86 � B!3 � . � N # . �-�L�

"%'.�3&.O>'. �!P 3 9I�! , N % ? 3 � >8.7"$. � 9 B � # � ? >G6-Q�> ? � C6

N %+C�>7.�3OC�>'* � C6 � C6 # �SR >8C6 , ? .8"$.8B!# ,/.A% �LP 6 9L� # � #&% N-� 1T* > 9 � 0 N #�B 9� ��� > =� 1K# � #8" R

��? 6 .8"$.8B!# "$#O% =<N .76 � # � � # N %8C�>8.83 P >8# � #

� C�6 (+.76 = C6 ( � # 6'#

9 ,/#&%5>7.�3 � .-FG6 3 ’ #A0 � * , . � �:9<;+9 3 �:=� #868#-"U#&%+#+(+C(-Q ( E � #-3 � #VF�%'CJ3 ? 1T# � > 9L� * ;G; #AM ? ), 9 6 P 3 9 #A0 �SR � . 3 ? > 9 BW. E 9 6

; #�>)X)*)6'.76 � # � 07" R-Y$? . � ( 9 6G6)Q � % �!9� � 0 N #�BWC6 #&% � Z > P 6 3 9 0 ; .7"[.8B ? 3 ? 0 ;8� 1T.-F , "%+.V1 9I� > = 68.-0 6+# (HB 6 9I� 9 0�12. ;+R8�:9 %8# 12# � 3\0G6 � .A> R)�:9 %+# .

=<;+9 ( N . R+; C6 � C6 E-0G6+# �:P 6 " 9 % � " �:P 3 9 C6 . ]A"$B!3 ?+ N % ? 3 � >8.7"[. �!9 B � # � . #�"�.A1TC�E � 12.8"�. �D?7� Q ��?+ >8.76'*AE8# 9<;+= ( N .A0 , . .)"U.8BW. ; #�>8X�*86 9�� �^� 1K# � * ;G;�?H;+9� 9I� 3 R E�.-0 "%+.V1 9^� > = 67.A0 6'#

9 1 �L9<;+9 3 �L9 B ? E � #-3 � #AF�%'CJ3 ? Q ? > 9L� * ;G; #AM ? , 1T# �

3 �:=<; 6 9^� � # 3/Q�>8# � # 9<;+= ( N .-0 ,

R "�C #V0 � * " 9 % � (�%+*-,@.76 � # � 3 � . 1 9 ,/* ; # � . 2, 3 � .76 N�9�� % � 3 � Q E 9 E8.A> = 6+C6 ��?+

1T# � * ;H;�?G;8?+ >+.767*5E8# . _�%8. � . "$#&% R 6 E 9 6 9 6'E � #A, = % 9I� , .

� % R "U. 9 " � ; .+(+Q � C6 E � 9 0 Z FG683 9 C6 � C�6 # �:R >8C6 ( � # �^? 6

9 1 �L=<;+9 3 ? �L?+

E � #-3 � #VF�%'CJ3 ?+ Q ��?8

> 9L� * ;G; #AM ?+ , 12# � =L� 3 � 3 ���! "%+.83�.A>8. � P 3 9��! "[*)6 � #

9 " � ;+= (8.76 � # � . � BDE �!9� Z-= 3 9I� # �SR >7C6 , .7" R8�:9 3 9 1T* Z�9 9 " R > 9 6+. 1TF-1 ; . . � 6 = . � ('.76 9 B ; #�>8X�*86'.76 � # � #8" R �L�

BDE �!9� E �!9 0 Z FG6'3 9I� 1T# � 9 B 68# � � # #-"$. �:9<;+= 3�>+# � # ��?+

"%+. ? (8.-F�> 9 6 ?+ "�%8*AM ?+ #868#�"�#&%+#7(8C(�Q . `

’ #8"$. �:9<;8= 3/>8# � # "%[email protected]>7.�B!C�3 ?+ ��?8 >'.767*5E8# 9 " � ; .+(�Q , 3 9 3\0G6'E-0+#-3/> R > 9 ��? >7.76+*-E�# 9<;+= ( N .A0 , "$#&%'.-0+3 � *54�.76 � # � 3 ��? 6 "[#&%'*)(�%8#�,/. 6.3. a � # 3OC�3 � Q "%+.83�.A>8.8B!C�3 ? , ; #O>-X+*)6+.76 � # � 07" RVYU? � # " 9 % � 9<N�R > 9 6'#

� .-0 #&% N�9 BW.-0 12# � # N Cb% ?'�:P 6 1T# � # ;H;�?G;+R)�L?'� # (fitness register file), 1K# � 9 , R [email protected] "�% = " 9I� 6'# " 9 % � =<N�9I� �L� �^� > =� 1K# � # ;H;+?H;+R8�L?7� # RH; C�6

� C6 N %+Cc>8.83@Cc>8* � C6 , ( � #

� .-0 � FG"$.-0 9 " � ; .7(8Q one/two best of two, #&% N5� 1^* N % ? 3 � >8.7"$. � 9 B � # � ?

9 6 � . ; Q FIT 3�0H(�1 9 1G% � > = 6'.-0 � F'"U.-0 , ( � #

��?

, R % � C�3 ? � .-0 #&% N)9 B!.-0 1T# � # N Cb% ?7�:P 6 1T# � # ;G;�?G;'R)��?'� # . ]�1 �:9 68Q #)6+#-,/.A%+* 3 ��? 3�0H(81 9 1G% � > = 6 ? 9 6 � . ; Q ('B 6 9L� # � 3 � . 1 9 ,/* ; # � . 5, 3 � . .)"U.8BD. " 9 % � (-%+*�, 9L� # � � . 3\FG6+. ; .

9 6 � . ;+P 6 � .-0

9I� E � 1T.-F 9 " 9 M 9 %H(+#A3 � Q ( 9 6 9L�L� 1 P 6 # ; ( R % � Z >+C6 . d�3&.76 #A,�.A%8* �L�

�:� > =� � 0 N #�B!C6 E �!9 0 Z FG6'3 9 C6 , #A0 �L=�

"[#&% =<N .76 � # � #-" R �L�

( 9 6G6-Q � % �!9� "$#&%'#)(+C(8Q � 0 N #-B!C�6 #&% � Z > P 6 , "U.-0 " 9 % � (�%+*A, �L? 1T#)6 3 � . 1 9 ,/* ; # � . 3.

6.1 e�fUg�h�iAj�i@k�lmenhVe f$o/g�kOgclcgJpDq�k�r�k h�r�k lcgJs/e$t$e�k t�p!e�kAhAeUuo�q�k�r�k (CROSSOVER UNIT) v�% NA� 12* E�B 6 9L� # � � . testbench 3 9 vhdl, ( � #

� .76 =w;+9 ( N .

��?+ ;89�� � .-0�%H(HB!# E � #A3 � #AF�%8C�3 ?8 .

a 9 6 � 1 R)�:9 %+# , 3 � # " ; #�B!3 � # = 6 � #5M ?8 ��?8 >8.76'*AE8# E � #A3 � #VF�%8C�3 ?8 3 9 = 68#86

9 " 9 M 9 %H(+#A3 � Q , ? 9 6 � . ; Q

"[.-0 9 1 �:9<;+9 B � # � 9 B 68# � ?

crossover (DIA) 1T# � � . 9 B!E�. �:?8 E � #53 � #AF-%+C�3 ?+ 12# Z .V%'BD4 9L� # � 3 9 3�0G(�1 9 1G% � > = 6'. " 9 E-B!.

��?+ 9 6 � . ; Q (opcode). v�" R

�^? 6 9 6 � . ; Q , 9 "$B!3 ?8 1T# Z .A%'BW4 9L� # � � . >�Q-12. � .-0 N %8C�>8.83 P >8# � . GL. �-�L? 6 "%'.A1 9I� > = 6 ? " 9 %+B " � C�3 ? ,

� . opcode ; #O>-X8*86 9I� �L? 6

��� >-Q 000 ( � # , R % � C�3 ? , 1T# � �L? 6

�L� >8Q 010 ( � # 9 1 �:=<;89 3 ? E � #A3 � #AF-%'C�3 ?+ .

LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; Entity test_cr is port( son,daughter : OUT std_logic_vector(15 DOWNTO 0):="0000000000000000" );

Page 49: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

46

end test_cr; Architecture testbench_cr of test_cr is Component crmutall port ( clk,reset : in std_logic:='0'; opcode : in std_logic_vector(2 downto 0):="000"; --instruction GL : in std_logic_vector(1 downto 0):="00"; INSTRK : in std_logic_vector(2 downto 0):="000"; --instruction kind addrf, addrm : in std_logic_vector(3 downto 0):="0000"; --addressfather/mother --------------load------------------------------ sonex, daughtex : in std_logic_vector(15 downto 0):="0000000000000000"; ---------------gia crossover-------------------- l1, l2 : in std_logic_vector(2 downto 0):="000"; l3 : in std_logic:='0'; --boolean -----------gia mutation------------------------- MP : in std_logic_vector(1 downto 0):="00";--apo LFSR diri : in std_logic:='0'; -- apo lsfr gia to dir random_boolean : in std_logic:='0'; --apo lfsr gia apofasi elegxou random3 : in std_logic_vector(1 downto 0):="00"; -- >> ct1 : in std_logic_vector(15 downto 0):="0000000000000000"; ------------------------------------------------- son, daughter : out std_logic_vector(15 downto 0) ); end component; for U1 : crmutall use entity work.crmutall(part1); signal clk,reset : std_logic:='0'; signal opcode, INSTRK : std_logic_vector(2 downto 0):="000"; --instruction signal GL : std_logic_vector(1 downto 0):="00"; signal addrf,addrm :std_logic_vector(3 downto 0):="0000"; --addressfather/mother --------------load------------------------------ signal sonex, daughtex : std_logic_vector(15 downto 0):="0000000000000000";--apo LFSRs ---------------gia crossover-------------------- signal l1, l2 : std_logic_vector(2 downto 0):="000"; signal l3 : std_logic:='0'; --boolean -----------gia mutation------------------------- signal MP : std_logic_vector(1 downto 0):="00";--apo LFSR signal diri,random_boolean : std_logic:='0'; -- apo lsfr gia to dir signal random3 : std_logic_vector(1 downto 0):="00"; -- >> signal ct1 : std_logic_vector(15 downto 0):="0000000000000000"; begin clk <= not clk after 50 ns; U1: crmutall port map(clk,reset,opcode, GL,INSTRK, addrf, addrm, sonex,daughtex, l1,l2, l3, MP, diri, random_boolean,random3,ct1,son, daughter); process begin -----Prwta fortwvw stis diey8ynseis 0&1 me load kai meta crossover --1)--ld=1---- reset <='0'; opcode <= "000"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; sonex <= "0000111100101100"; --0F2C daughtex <= "1110001110001101"; --E38D

Page 50: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

47

wait until clk ='1'; ------------------dia =1---------- ------------------- ga_singlepoint crossover integer chromosome-------------------------- --2) l1=0 genelength=4/8/16bit reset <='0'; opcode <= "010"; --crossover INSTRK <="000"; --instruction kind GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; wait until clk ='1'; --3) l1=1 genelength=l6bit or l1=2 gl=8bit or l1=4 gl=4bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; wait until clk ='1'; --4)l1=2 genelength=4bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "010"; wait until clk ='1'; --5) l1=3 genelength=4bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "011"; wait until clk= '1'; --6) l1=4 genelength=4bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "100"; wait until clk ='1'; --7) l1=0 genelength=8bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; wait until clk ='1'; --8) l1=1 genelength=8bit reset <='0'; opcode <= "010"; INSTRK <="000";

Page 51: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

48

GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; wait until clk ='1'; --9) l1=2 genelength=8bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "010"; wait until clk ='1'; --10) l1=0 genelength=16bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; wait until clk ='1'; --11) l1=1 genelength=16bit reset <='0'; opcode <= "010"; INSTRK <="000"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; wait until clk='1'; ---------- ga_crossover integer doublepoint --12) l1,2=0,1 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "001"; wait until clk='1'; --13) l1,2=0,2 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "010"; wait until clk ='1'; --14) l1=0,3 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "011";

Page 52: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

49

wait until clk ='1'; --15) l1,2=0,4 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "100"; wait until clk ='1'; --16) l1,2= 1,2 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; l2 <= "010"; wait until clk ='1'; --17) l1,2= 1,3 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; l2 <= "011"; wait until clk ='1'; --18) l1,2= 2,3 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "010"; l2 <= "011"; wait until clk ='1'; --19) l1,2= 3,4 4bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l1 <= "011"; l2 <= "100"; wait until clk ='1'; --20) l1,2= 0,1 8bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "001"; wait until clk ='1'; --21) l1,2= 0,2 8bit

Page 53: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

50

reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "010"; wait until clk ='1'; --22) l1,2= 1,2 8bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l1 <= "001"; l2 <= "010"; wait until clk ='1'; --23) l1,2= 0,1 16bit reset <='0'; opcode <= "010"; INSTRK <="001"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l1 <= "000"; l2 <= "001"; wait until clk='1'; -- ga_crossover_integer_mean() --24) ms<-1e3e2e1e0 reset <='0'; opcode <= "010"; --crossover INSTRK <="100"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; wait until clk ='1'; --25) ms<-1s1s1s0s0 reset <='0'; opcode <= "010"; --crossover INSTRK <="100"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; wait until clk ='1'; --26) ms<-1xxxx reset <='0'; opcode <= "010"; --crossover INSTRK <="100"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; wait until clk='1'; ----ld reset <='0'; opcode <= "000"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; sonex <= "0000111100101100";

Page 54: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

51

daughtex <= "1110001110001101"; wait until clk ='1'; -------ga_crossover_integer_mixing 110 --27)l3=0, son <= mother 4bit reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk ='1'; --28)l3=1, son <= father reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk ='1'; --29)l3=0, son <= mother 8bit reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk ='1'; --30)l3=1, son <= father reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk ='1'; --31)l3=0, son <= mother 16bit reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk ='1'; --32)l3=1, son <= father reset <='0'; opcode <= "010"; --crossover INSTRK <="110"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk ='1'; ------ga_crossover_integer_allele_mixing 101 --33)4bit 1os kyklos fortwvw tov data_dc me 3 reset <='0'; opcode <= "010"; --crossover INSTRK <="101";

Page 55: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

52

GL <= "00"; addrf <= "0000"; addrm <= "0001"; wait until clk='1'; --34)l3=0 son <=mother, 4bit 2os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk='1'; --35)l3=1 son <=father, 4bit 3os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk='1'; --36)l3=1 son <=father, 4bit 4os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk='1'; --37)l3=0 son <=mother, 4bit 5os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk='1'; --- --38)8bit 1os kyklos fortwvw tov data_dc me 1 reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; wait until clk='1'; --39)l3=0 son <=mother, 8bit 2os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait until clk='1'; --40)l3=1 son <=father, 8bit 3os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101";

Page 56: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

53

GL <= "10"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk='1'; --41)l3=1 son <=father, 16bit 1os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l3 <= '1'; wait until clk='1'; --42)l3=0 son <=mother, 16bit 2os kyklos reset <='0'; opcode <= "010"; --crossover INSTRK <="101"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; l3 <= '0'; wait; end process; end testbench_cr; ��� . 3 N Q�>8# 6.1.1, ,@#AB 6 9L� # � ?

9 "$# ; Q Z�9 0'3 ? � .-0

� F7"U.-0 E � #A3 � #VF�%+C�3 ?+ ga_ singlepoint_ crossover_ integer_ chromosome, ( � #

9 " � ;+9 (5> = 68. >-Q�12. (+.76 � E8BD.-0 �L9 3O3@*&%'C6

Y$? ,�BDC6 . �-� .76

"�% P�� . 1KF�1 ; . %8. ; .7( � .-F , � #

N %+C�>'.83 P >8# � # 3 �L� Z�= 3 9I� 0 ( � # � .76 "$# �:= %+# 1^# � 1 ( � #

�^? > ?'�:= %8# , ; #�>8X�*86'.-0G6

�:�! 9 M�C �:9 % � 1 =� ��� > =� 0F2C 12# � E38D.

�-� . 9 " R > 9 6'. 1KF-1 ; . #A0 �L=� . � ��� > =�

E � #�3 � #V0�% P 67.76 � # � 3 � . 3 ? > 9 BD. "U.-0 12# Z .V%+BW4 9�� ? � 0 N #AB!# > 9L� #OX ;8?'� Q l1. ]@, R [email protected] #O% N�� 1K* 9 " � ;+= ( 9L� # � � .

3 ? > 9 B!. 0, E 9 6 "U#&%+# �L? % 9 B � # � 6+# "%'.V1TF7" �:9I� 3 � .76 E 9 F �:9 %8. 1TF-1 ; . > 9L� #&X8. ; Q � C6 N %8C�>7.�3OC�>'* � C6 . �����! 07" R+; . � " 9� " 9 % � " �LP 3 9^� , "$.-0

� . 3 ? > 9 BD. E � #�3 � #&F�%'C�3 ?+ 9 " � ;+= ( 9L� # � E � #A,�.A% 9L�^� 1 R , ,�#�B 6 9L� # � #)" R ��� 1T0A>'# � .A>8.A%', =� R8�L� #&1G% � X P� =<N)9I� " 9 % � (-%+#�, 9 B 3 � .-0 "UB 6'#&1 9� 9<;+= ( N .A0 ( � #

� . N�9I� % � 3 � Q E 9 E�.A> = 6'C6 ��?+

>+.767*5E8# E � #�3 � #VF�%'C�3 ?+ , 3 � . 1 9 ,/* ; # � . 2. x � 3 � , ( � # "U#&%8*�E 9I� (�>+# 3 � .76 1KF-1 ; . %+. ; .+( � .-F "U.-0 � . � 0 N #�B!. 3 ? > 9 B!.

9 B 6+# � 1, #)6 � # ;G; *-3O3 9L� # � � . (+.76'B!E � . > 9 � # ;8� ( R)�:9 %+. 3 ? >7#86 �L� 1T*

Y�? ,�BD# , 3 � # N %8C�>8.83 P >8# � # � C6 ('.76 = C6 "[.-0

9 B N #86 #-"�. Z-? 1 9 0 �:9 B 3 � .76 "%+. ? ('.AF�> 9 68. 1KF�1 ; . , 0F2C, E38D.

Page 57: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

54

k-y/zO{5| 6.1.1 e}�~A�2�S�/�2�[{5|A�2| �K�5� ����|O�/�K|��A�5�����5� ga_singlepoint_crossover_integer_chromosome ( {OzO�8~O� �/~-�A������~�� 4 ��)�m��| )

� E � #A3 � #AF�%8C�3 ? 3 9 #-" ;'R 3 ? > 9 B!. >G"$.V% 9 B 6+#

9 ,/#&%5>7.83 �:9 B 9 "UBW3 ?+ , Z-9 Cc% P 6 � # R8�L� � # N %8C�>8.83 P >8# � # =<N .V0G6 >-Q�12. 8

Y$? ,@BWC6 . x � 3 � � . "$#&%+#&12* � C 3 N QA>'# E8B 6 9I� �L� 1H0�>+# � .O>7.A%8, =� , 3 �L�! .8"$.8B 9� "U#&%+# ��? % 9 B � # � # ;G; #)(8Q � C6 ('.76 = C6 > 9 #V0 �SR 6

� .76 � F7"U. E � #A3 � #VF�%8C�3 ?8 ( � #

� # 9 " � ;+9 (5> = 68#

3 ? > 9 B!# 0,1,2. �-�:�!

07" R7; . � " 9� " 9 % � " �:P 3 9I� 9 " � ;+9 (5> = 6+C6 3 ? > 9 BDC6 E � #�3 � #VF�%8C�3 ?8 , E 9 6 "[#&%8# �L? % 9 B � # � # ;H; #)(�Q , # ;G; *

� # N %8Cc>+.83 P >8# � #

� C6 ('.76 = C6 " 9 %76'.-FG6 #@> 9L� *VX ;�?'� # 3 ��? 6 9 " R > 9 6 ? ( 9 6 � * . _/#&%+# �L? % 9 B � # � 9 "�BD3 ?8 , R)��� "%+*)(�>+# �L� 3 9 1T* Z�9 1GF�1 ; .

9 " � ;+= ('.76 � # � . � BWE � 9� E � 9 0 Z FG673 9I�! (8.76 = C6 1T# � . � # ;G; #+( =� (+B 6'.76 � # � "[*)6'C 3 ��� "%+. ? (+.-0�> = 68C 0'"�. ; .H( � 3�> = 6 9� �L� > =� N %+Cc>8.83@Cc>8* � C6 . d�[email protected] #�,/.V%'*

��? 6 " 9 %8B!" � C�3 ? "U.-0 � . (H.767BDE � .

=<N�9I� >-Q�12. 16

Y�? ,�BD# , �:R8�L9

� #A0 � BD4 9L� # � > 9 � . N %8C�> R 3@Cc>8# 1K# � #86 � . 3 ? > 9 BW.

9 " � ; .+(8Q l1 9 B!67# � � . 0, E 9 6 "�#O%8# �:? % 9 B � # � # ;K; #)(+Q 3 � # N %8C�>8.83 P >8# � #

� C6 ('.76 = C6 , 9 6 P

R)� #86 9 B 67# � l1=1,

�:R)�:9 � .

N %+C�> R 3OC�>'# � .-0 "$# �L= %+# #)6 ��� (�%'*A, 9L� # �

3 ��? 6 1 R % ? , 12# � �L?8 > ?'�:= %8# 3 � . ( � . . `# 3�Q�>8# � # son, daughter

9 B 6+# � . � = M�.�E8. � #-" R ��?

>7.76+*-E�# E � #�3 � #VF�%+C�3 ?+ , 12# � 3 � .

�:=<; . � .-0 1HF�1 ; .-0 (-%+*A,@.76 � # � 3 � .76 1T# � # N Cc% ?'� Q N %+C�>7.83@C�>'* � C6 1T# � #�"$. �:9<; .-FG6 � .-0 6 = .-0 (+.76 9 B .

Page 58: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

55

k-y/zO{5| 6.1.2 e}�~A�2�S�/�2�[{5|A�2| �K�5� ����|O�/�K|��A�5�����5� ga_singlepoint_crossover_integer_chromosome ( {OzO�8~O� �/~-�A������~\� 8 /16 �����m��| )

����? 3�0G6 =<N)9I� # , . � 1K05>7# � .A>+.V%+, =� � .-0 3 N Q�>+# � . 6.13 "U#&%8.-0'3 � *A4�.-0G6

�L� 9 M R E-.-0 �L?8

>+.767*5E8# E � #A3 � #VF�%+C�3 ?+ , ( � # ��? 6 " 9 %'B�" � C�3 ? � .-0

� F'"U.-0 ga_doublepoint_crossover_integer_chromosome > 9 >-Q�12. (8.76 � E�B!.-0

�:9 3O3�*&%+C6 Y$? ,/B!C6 . � � �L� > =� � C�6

� 0 N #-BDC6 3 ? > 9 B!C6 l1, l2, 1T# Z .A%'BD4�.76 � # � R "$C 3 � .76 "UB 6'#&1T# 2.1.2.

Page 59: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

56

k-y/zO{5| 6.1.3 e}�~A�2�S�/�2�[{5|A�2| �K�5� ����|O�/�K|��A�5�����5� ga_doublepoint_crossover_integer_chromosome ( {OzO�+~&� �/~-�A������~�� 4 �����m��| )

d�[email protected] #-,/.A%'*

��? 6 " 9 %8B!" � C�3 ? "�.-0 � . 12* Z�9 (H.768B!E � .

=<N�9I� >�Q-12. 8 Q 16

Y�? ,�BD# , . � #86 � B!3 � . � N�9� = M�.�E�. � �L?8 >+.767*�E�# E � #A3 � #VF�%8C�3 ?8 , ( � # 1T* Z�9 3�0G68E-0+#�3�> R � C6 E-0+.

� 0 N #-BDC6 3 ? > 9 B!C6 "$.-0 9 " � , = % 9I�

# ;H; #)(+Q � C6 (+.76 = C6 , ,/#�B 67.76 � # � 3 �:�! 1K0�>+# � .O>7.A%8, =� � .-0 3 N Q�>8# � . 6.1.4.

Page 60: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

57

k-y/zO{5| 6.1.4 e}�~A�2�S�/�2�[{5|A�2| �K�5� ����|O�/�K|��A�5�����5�

ga_doublepoint_crossover_integer_chromosome ( {OzO�8~O� �/~-�A������~\� 8/16 �������| )

�����! 1K05>'# � .A>8.V%+, =� � .-0 3 N Q5>7# � . 6.1.5, "U#&%+.-0'3 � *A4�.76 � # � �

’ #)"$. �:9<;+= 3�>'# � # �^?+

E � #�3 � #VF�%+C�3 ?+ � FG"$.-0 ga_crossover_integer_mean ( >8Q�1K. (+.76 � E8BD.-0 4/8/16

Y�? ,@BW# ) 12# � ga_crossover_integer_mixing.

a � # "U#&%8*�E 9I� (�>+# , 3 � . E 9 F �:9 %+. 1KF�1 ; . %+. ; .+( � .-F , 9 1 �L9<;+9 B � # � ? "% Pm�:? 3�0G6'*&% ��? 3 ? > 9 >8Q�1K.

(+.76 � E8BW.-0 �:9 3O3�*&%+C6

Y$? ,�BDC6 , 1K# � � # N %8C�>'.-3 P >8# � # "%+. 9 " 9 M 9 %G(+#A3�B!# E8B 68.76 � # � #-" R

� .76 "�%8. ? (H.-FA> 9 6'. 1TF-1 ; . %8. ; .7( � .-F , 032C ( � # � .76 "$# �S= %+# 1T# � EF8D ( � #

�^? 6 > ?7�:= %+# . � F�>8,/C6'# > 9 ��? ; .7( � 1HQ

� .-0 # ; ( R % � Z >'.-0 1T* Z�9 (+.76'BDE � . � C6 "$#&%'#-"$*868C

N %+Cc>8.83�Cc>8* � C6 # Z %'.8BW4 9L� # � M 9<N Cb% � 3 � * , ( � # "[#&%8*�E 9I� (�>+#

� . * Z %+. � 3�>'# � C6 (8.76 � E�B!C6 3 �L� Z�= 3 9I� 1K* Z-9 N %8Cc>'.-3 P >7# � . #-" R 3 C 0, "%+.-1KF'" �:9I�

(11001)2 , E ?K; #�EVQ 3�0�>)X)#-B 6 9I� 07" 9 % N)9 B ;8� 3 ? 12# � =L� 3 � � . #)"[. �:=<;+9 3/>8# �:9<;�� 1^* "%+.V1TFG" �:9I�

(1001)2, #&%G6?7��� 1 R- . x � 3 � 3 � . ('.76'BDE � .

� .-0 ( � .-0 " 9 %76'* 9I� ? �L� >8Q

� .-0 > � 3O.-F � .-0 # Z %+.8B!3�>'# � . � C6

(+.76 � E8BWC6 > 9 BW.76 = 6'# E ?K; #-EAQ (1100)2,

9 6 P BDE � # ��� >)Q

=<N)9I� 1T# � � .

? > � * Z %+. � 3�>'# � C6 (+.76 � E-B!C6 "[.-0

" 9 %76+* 9^� 3 �:? 6 1 R % ? , 9 , R [email protected]

� . ;�� ( R)�:9 %+. 3 ? >'#)6 �L� 1 R 1

� .-0 # Z %+.8B!3�>'# � . , N *86 9L� # � .-F � C Q * ;G; C > 9 ��? 6 . ; BW3 ZA? 3 ? .

����? 6 "[#&%'.-F83O# ,/*-3 ? � .-0 3 N�9 E � #�3�>+.-F , #A0 � .VF � .-0 � FG"$.-0 E � #-3 � #VF�%8C�3 ?+ , E 9 6 N % ? 3 � >8.8"�. � Q ZV? 1 9 1T#O> � *

�:9<N 6 � 1KQ #86 ��� > 9L�:P " � 3 ?8 � C6 07" 9 % N)9I� ; BD3 9 C6 , 9 , R 3O.76 3�12.8" R� 9 B 68# � > R 6+. ?

# ;H; #)(+Q � C6 N %8C�>'.-3OC�>7* � C6 .

Page 61: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

58

k-y/zO{5| 6.1.5 e�}�~V�2�S�/�2�[{5|A�2| �K�A� ����|&�/�T|\�5�A�����5� ga_crossover_integer_mean ( {OzO�+~&� ��~-�5������~�� 4/8/16 �����m��| ) �8|O� ga_crossover_integer_mixing

Page 62: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

59

k-y/zO{5| 6.1.6 e�}�~V�2���\�I��{5| �K�V� ����|O���2|��A�V���[�5� ga_crossover_integer_allele_mixing ( {OzO�+~&�

�@~5�5���\��~�� 4 �����m��| )

Page 63: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

60

k-y/zO{5| 6.1.7 e�}�~V�2���\�I��{5| �K�V� ����|O���2|��A�V���[�5� ga_crossover_integer_allele_mixing ( {OzO�+~&�

��~-�5������~�� 8/16 �������| )

Page 64: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

61

6.2 eJfUg�h/iAji@k/lme�hVe f�o/g�kOgcl�gJpWq�k�rUk h�rUk l�gJs�e$t$enk l�i@hVe�j�j�e���r�k (MUTATION UNIT) ��� #

9 " R > 9 68# , "�#O%8.-0'3 � *A4�.76 � # � � ’ #)"[. �:9<;+= 3/>8# � # �L?8

"%+.83&.O>'.8BWC�3 ?8 > 9 � . Modelsim, �L?8

>+.767*5E8# "$.-0

9 1 �:9<;89 B �^? ;89I� � .-0�%H(HBW#

��?8 > 9L� * ;G; #5M ?' .

`. #&% N�9 B!. vhdl "$.-0

N % ? 3 � >8.8"�. � 9 B � # � ( � # � .76 =<;+9 ( N .

;+9I� � .-0�%H('BD# �L?+ >+.767*5E8# > 9L� * ;G; #AM ?+ , E8B 6 9L� # � "$#O%'#&12* � C . LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; Entity test_mut is port( son,daughter : OUT std_logic_vector(15 DOWNTO 0):="0000000000000000" ); end test_mut; Architecture testbench_mut of test_mut is Component crmutall port ( clk,reset : in std_logic:='0'; opcode : in std_logic_vector(2 downto 0):="000"; --instruction GL : in std_logic_vector(1 downto 0):="00"; INSTRK : in std_logic_vector(2 downto 0):="000"; --instruction kind addrf, addrm : in std_logic_vector(3 downto 0):="0000"; --addressfather/mother --------------load------------------------------ sonex, daughtex : in std_logic_vector(15 downto 0):="0000000000000000"; ---------------gia crossover-------------------- l1, l2 : in std_logic_vector(2 downto 0):="000"; l3 : in std_logic:='0'; --boolean -----------gia mutation------------------------- MP : in std_logic_vector(1 downto 0):="00";--apo LFSR diri : in std_logic:='0'; -- apo lsfr gia to dir random_boolean : in std_logic:='0'; --apo lfsr gia apofasi elegxou random3 : in std_logic_vector(1 downto 0):="00"; -- >> ct1 : in std_logic_vector(15 downto 0):="0000000000000000"; ------------------------------------------------- son, daughter : out std_logic_vector(15 downto 0) ); end component; for U1 : crmutall use entity work.crmutall(part1); signal clk,reset : std_logic:='0'; signal opcode, INSTRK : std_logic_vector(2 downto 0):="000"; --instruction signal GL : std_logic_vector(1 downto 0):="00"; signal addrf, addrm : std_logic_vector(3 downto 0):="0000"; --addressfather/mother --------------load------------------------------ signal sonex, daughtex : std_logic_vector(15 downto 0):="0000000000000000";--apo LFSRs ---------------gia crossover-------------------- signal l1, l2 : std_logic_vector(2 downto 0):="000"; signal l3 : std_logic:='0'; --boolean -----------gia mutation------------------------- signal MP : std_logic_vector(1 downto 0):="00";--apo LFSR signal diri, random_boolean : std_logic:='0'; -- apo lsfr gia to dir signal random3 : std_logic_vector(1 downto 0):="00"; -- >> signal ct1 : std_logic_vector(15 downto 0):="0000000000000000"; begin clk <= not clk after 50 ns;

Page 65: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

62

U1: crmutall port map(clk,reset,opcode, GL,INSTRK, addrf, addrm, sonex,daughtex, l1,l2, l3, MP, diri, random_boolean,random3,ct1,son, daughter); process begin -----Prwta fortwvw stis diey8ynseis 0&1 me load kai meta crossover --1)--ld=1---- reset <='0'; opcode <= "000"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; sonex <= "0000111100101100"; --0F2C daughtex <= "1110001110001101"; --E38D wait until clk ='1'; ------------------MET=1---------- ------------------- 1) ga_mutate_integer_singlepoint_drift 000 --2) l1=0 genelength=4bit dir=0(+) reset <= '0'; opcode <= "001"; --mutation INSTRK <= "000"; --1) GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --3) l1=0 genelength=4bit dir=1(-) reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --4)l1=1 genelength=4bit + reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --5) l1=1 genelength=4bit - reset <='0'; opcode <= "001"; INSTRK <="000";

Page 66: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

63

GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk= '1'; --6) l1=2 genelength=4bit + reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "10"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --7) l1=2 genelength=4bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "10"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --8) l1=3 genelength=4bit + reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "11"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --9) l1=3 genelength=4bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "11"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --10) l1=0 genelength=8bit +

Page 67: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

64

reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --11) l1=0 genelength=8bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --12) l1=1 genelength=8bit + reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --13) l1=1 genelength=8bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --14) l1=0 genelength=16bit + reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00";

Page 68: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

65

ct1 <= "0000000000000000"; wait until clk ='1'; --15) l1=0 genelength=16bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; --16) l1=1 genelength=16bit - reset <='0'; opcode <= "001"; INSTRK <="000"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000000000000000"; wait until clk ='1'; ---------- ga_mutate_integer_singlepoint_randomize 001 --17) l1=0 4bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk='1'; --18) l1=0 4bit - reset <='0'; opcode <= "001"; INSTRK <= "001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --19) l1=1 4bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000";

Page 69: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

66

addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0010101101011010"; --2B5A wait until clk ='1'; --20) l1=1 4bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --21) l1= 2 4bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "10"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011000001011010"; --305A wait until clk ='1'; --22) l1=2 4bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "10"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --23) l1=3 4bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "11"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0111100101111011"; --797B wait until clk ='1'; --24) l1=3 4bit - reset <='0'; opcode <= "001";

Page 70: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

67

INSTRK <="001"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "11"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --25) l1=0 8bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --26) l1= 0 8bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011000101011011"; --315B wait until clk ='1'; --27) l1=1 8bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101001000"; --3948 wait until clk ='1'; --28) l1=1 8bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk='1';

Page 71: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

68

--29) l1=0 16bit + reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000100001011100"; --085C wait until clk='1'; --30) l1=0 16bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "00"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000100001011100"; --085C wait until clk='1'; --31) l1=1 16bit - reset <='0'; opcode <= "001"; INSTRK <="001"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '1'; -- apo lsfr gia to dir random_boolean <= '0'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0000100001011100"; --085C wait until clk='1'; -- 3) ga_mutate_integer_multipoint 010 --32) if random boolean=1 analoga me to dir dra sto point pou eimai (arxika point=11) -- apo exo stov epomevo kyklo paei ex1 4bit random boolean=0 dir =0 reset <='0'; opcode <= "001"; --mutation INSTRK <="010"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; diri <= '0'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk ='1'; --33) ex1 4bit random boolean=1 dir=1 reset <='0'; opcode <= "001"; INSTRK <="010"; GL <= "00"; addrf <= "0000"; addrm <= "0001";

Page 72: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

69

diri <= '1'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou random3 <= "00"; wait until clk ='1'; --34) ex1 4bit random boolean=1 dir=0 reset <='0'; opcode <= "001"; INSTRK <="010"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; MP <= "01"; --apo LFSR l1=0(mutation point) diri <= '0'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou random3 <= "00"; ct1 <= "0011100101011010"; --395A wait until clk='1'; --35 ex1 diri <= '1'; wait until clk='1'; --36 ex1 diri <= '0'; wait until clk='1'; ----- --37)ex0 8bit random boolean=1 dir=1 reset <='0'; opcode <= "001"; INSTRK <="010"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; diri <= '1'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou wait until clk='1'; --38) ex1 8bit random boolean=0 dir=0 reset <='0'; opcode <= "001"; INSTRK <="010"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; diri <= '0'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou wait until clk='1'; --39) ex1 8bit random boolean=1 dir=1 diri <= '1'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou wait until clk='1'; --40) ex0 16bit ld GL <= "11"; wait until clk='1'; --41) ex1 16bit random boolean=1 dir=0 reset <='0'; opcode <= "001"; INSTRK <="010"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; diri <= '0'; -- apo lsfr gia to dir random_boolean <= '1'; --apo lfsr gia apofasi elegxou wait until clk='1';

Page 73: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

70

-------ga_mutate_integer_allpoint 011 --Otav random3 = 00 --42)ex0 4bit reset <='0'; opcode <="001"; --mutation INSTRK <="011"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; random3 <= "00"; wait until clk ='1'; --43)ex1 4bit ++ reset <='0'; opcode <= "001"; --mutation INSTRK <="011"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; random3 <= "01"; wait until clk ='1'; --44)ex1 4bit -- reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; random3 <= "10"; wait until clk ='1'; --45)ex1 4bit reset <='0'; opcode <= "001"; --mutation INSTRK <="011"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; random3 <= "00"; wait until clk='1'; --46)ex1 4bit -- reset <='0'; opcode <= "001"; --mutation INSTRK <="011"; GL <= "00"; addrf <= "0000"; addrm <= "0001"; random3 <= "10"; wait until clk='1'; --47)ex0 8bit reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; wait until clk ='1'; --48)ex1 8bit ++ reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "10"; addrf <= "0000";

Page 74: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

71

addrm <= "0001"; random3 <= "01"; wait until clk ='1'; --49)ex1 8bit ++ reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "10"; addrf <= "0000"; addrm <= "0001"; random3 <= "01"; wait until clk='1'; --50)ex0 16bit reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; random3 <= "11"; wait until clk='1'; --51)ex1 16bit-- reset <='0'; opcode <= "001"; INSTRK <="011"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; random3 <= "10"; wait until clk='1'; --52)ex0 16bit reset <='1'; opcode <= "001"; INSTRK <="011"; GL <= "11"; addrf <= "0000"; addrm <= "0001"; wait; -- end process; end testbench_mut;

v�% NA� 12* , 9<;+= ( N�9L� # � .

� F7"U. > 9L� * ;G; #5M ?8 , "$.-0 0 ; .7"$. � 9 B ? 3�0G6'*&% �^? 3 ? ga_mutate_integer singlepoint_drift.

�A? >'#)6 �L� 1 R % R7; . "[#-BD4L.A0G6 . � � 0 N #AB 9� > 9L� #&X ;8?7�:=� ( 9 6 � 1K* 3 �:? 6 > 9L� * ;H; #AM ? , 1T# � 9I� E � 1 R8�:9 %8# 3 ��? 3\0G(�1 9 1H% � > = 6 ? 3�0G6+*&% �:? 3 ? � .

� 0 N #AB!. 3�Q5>7# diri 1T# Z .A%'BD4 9I� #86 3�05>)X 9 B #AF8M ? 3 ? ?

> 9 BWC�3 ? 12# � * 1 >'.768*�E-# � .-0 1T* Z�9 (8.76 � E8BW.-0 "�.-0

9 M 9L� *A4 9L� # � . ]O"�B!3 ?8 � . � 0 N #�BW. 3�Q�>+# MP 1T# Z .A%'BD4 9I� � . (8.76'B!E � . "$.-0 "% R 1 9^� � # � 6'# 0'"�.83 �:9 B > 9L� * ;H; #AM ? .

��� . 3 N Q�>+# 6.2.1 ,�#�B 68.76 � # � � # #-"U. �L9<;+= 3�>7# � # ��?8

"�%8.83O.O>7.�B!CJ3 ?+ ��?8 >7.76'*AE8# > 9L� * ;H; #AM ?+ , R8� #)6

9 1 �:9<;+9 B � # � . � F'"�. > 9L� * ;G; #AM ?+ ga_mutate_integer singlepoint_drift.

� F5>',/C68# > 9 ��? 3�0G6'*&% �^? 3 ? , > 9L� * ;H; #AM ? 3�0�>)X�#�B 6 9I� > R 6'. 3 � .

N %+C�> R 3@Cc>8# � .-0 "$# �L= %+# ,

9 6 P � . ( 9 6 9L��� 1 R 0 ;8� 1 R ��?+

> ?7�:= %+# "U#&%+#&> = 6 9I� #)6+# ;K; .8BWC � . . �59

1T* Z�9 " 9 %'B!" � C�3 ? ? > 9L� * ;G; #AM ?

9 1 �L9<;+9 B � # � 3 9 = 6+#)6 1TF-1 ; . , 1T# � 3 � . 3 N Q�>+# "U#&%8.-0'3 � *A4�.76 � # � � ’ #8"$. �L9<;+= 3/>8# � # ( � # >)Q�1T. (+.76 � E�B!.-0 4, 8 Q 16

Y�? ,�BDC6 .

Page 75: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

72

k5y\z&{5| 6.2.1 e�}�~A�2�<�\�I��{5|V�2| �K�5� {5�I�2�8���/|O�I�A� �K�8}�~�� ga_mutate_integer singlepoint_drift

( {Oz&�+~O� �\~5�5���\��~�� 4/8/16 ��)�m��| )

Page 76: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

73

k5y\z&{5| 6.2.2 e�}�~A�2�<�\�I��{5|V�2| �K�5� {5�I�2�8���/|O�I�A� �K�8}�~�� ga_mutate_integer

singlepoint_randomize ( {OzA�8~O� �/~-�5������~�� 4 �������| )

��� . "U#&%+#-"�*868C 3 N Q�>8# ,�#AB 6 9L� # � "$C #)6'* ; .7(+# > 9 � . 3 ? > 9 B!. > 9L� * ;G; #5M ?8 , E ?H; #AE-Q ��? 6

�^� >8Q "[.-0 "U#-B�%G6 9I� � . 3�Q5>7# ��� , 3\0�>�X8#�B 6 9I� ? #86 �:� 12# � *�3 � #�3 ?

� .-0 1T# � * ;H;�?G; .-0 (H.76 � E8BD.-0 #�" R � . #86 � BD3 � . � N .

(+.76'BDE � . � .-0

� 0 N #�B!.-0 #O% � Z >'.-F ct1, . .7"$.8B!. "U#&%8*8( 9S� # � #-" R > � # ( 9 6H6�Q � % � # � 0 N #�BDC6 #&% � Z > P 6 . d�"$C

>'"$.V% 9 B 6'# 3�0�>7" 9 %+*)6 9I� 1T#86 9 B , � . � 0 N #AB!. 3\Q�>+# diri E 9 6

9 " ? % 9 *A4 9I� � . #-"U. �:=<;+9 3�>'# � .-0 3�0G(�1 9 1G% � > = 6'.-0

� F'"�.-0 > 9L� * ;G; #5M ?8 . ]A"$B!3 ?+ , R "$C E 9 B N 6'.-0G6 � # #-"U. �L9<;+= 3�>7# � # ,

9<;+= ( N�9L� # � 3@C�3 � * � . >-Q-1^. (+.76 � E-B!.-0 #)" R � . 3�Q�>8#

9�� 3 R E8.-0 gl, � . .7"$.8BD. 12# Z .A%+BW4 9L� # � #8" R

��? 3�0H(�1 9 1G% � > = 6 ?

9 6 � . ; Q > 9L� * ;H; #AM ?+ "[.-0 9 1 �:9<;+9 B � # � .

. 3 N Q�>8# 6.2.3

9 B 6+# � ? 3�0G6 =<N�9I� # ��?+

"%+.83O.&>'.8BDCJ3 ?+ > 9 � . Modelsim � .-0 3 N QA>'# � . 6.2.2,

( � # > 9L� * ;G; #5M ? B!E � .-0 � F7"U.-0 # ;G; * ( � # >-Q�12. ('.76 � E8BD.-0 8 12# � 16

Y�? ,@BW# .

Page 77: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

74

k5y\z&{5| 6.2.3 e�}�~A�2�<�\�I��{5|V�2| �K�5� {5�I�2�8���/|O�I�A� �K�8}�~�� ga_mutate_integer

singlepoint_randomize ( {&z5�8~O� �/~-�A������~�� 8/16 ��5�m��| )

����? 3�0G6 =<N�9I� #

9 M 9L� *A4 9L� # � ? > 9L� * ;G; #AM ? � FG"$.-0 ga_mutate_integer_multipoint,

R "�.-0 1T# � * ��? 6 9 1 �:=<;+9 3 ?

��?8 ; #�>)X)*)6'.76 � # � 0'" RAY$?

� # � 0 N #-B!# 3�Q�>8# � # diri, random_boolean.

`. "% P�� .

� 0 N #�B!. 3/Q�>8# 12# Z .A%'BD4 9I� � .76

� % R "U. # ;H; #)(�Q � .-0 (+.76 � E�B!.-0 , 9 6 P

� . E 9 F �L9 %+. � 0 N #-BD. 3�Q�>8#

9 " � � % = " 9I� Q R7N��

�L? 6 > 9L� * ;H; #AM ? . x � 3 � > 9 1K# � * ;G;�?K; . 0 ;8� 1 R

9<;8= ( N .76 � # �L? 6 �L� >)Q

��?8 > 9L� #VX ;-?'� Q random_boolean,

9 B 68# � EA0G6'# �:R 68# 0 ; .)"U. �W?'Z�9 B ? > 9L� * ;G; #AM ? > 9 9 " � Z 0�> ?'� Q " � Z #86 R)��?'� # .

����? 6 " 9 %+B�" � C�3 ? "U.-0 � . >-Q-1^. � .-0 (+.76 � E8B!.-0

9 B 6'# � 4 Y�? ,@BW# ,

? > 9L� * ;G; #AM ? 3�0�>8X�#�B 6 9�� 3 9

1T* Z�9 = 6'# #)" R � # 4 (+.767BDE � # , 3 9 1K* Z�9 1GF-1 ; . %+. ; .+( � .-F 12# � 3�0G6'. ;8� 1T*

N % 9�� *54�.76 � # � 5 1KF�1 ; . � 9 1 �:=<;+9 3 ?+ ��?+ 9 6 � . ; Q > 9L� * ;G; #AM ?+ #V0 � .-F

� .-0 � F'"�.-0 . �

9 " � " ;+= .76 1KF�1 ; . N % 9I� *A4 9L� # � #O% N�� 1K* ( � # ��?

E � #�> R %+,/C�3 ? � .-0 0 ;8� 12.-F , 1T# � *

� % R "$. P 3 �:9 68#

; #�>)X)*)6 9L� # � 0G" R-Y$? 3 � .-0 0G"$. ; .7( � 3/>8.-F � . 1T# Z .A% � 3�> = 67. >-Q�12. (H.76 � E8BD.-0 . x � 3 � , ( � #

�^? 6 " 9 %+B " � C�3 ? 8 Y$? ,/B!C6 >�Q-12. ('.76 � E8BD.-0 , #8"$# � � .-FG6 � # � 3

1GF�1 ; . � %+. ; .7( � .-F , 9 6 P ( � #

�L? 6 " 9 %'B!" � C�3 ? 16 Y�? ,�BDC6 >-Q�12. ('.76 � E8BD.-0 #�"�# � � .-FG6 � # � 2 1KF�1 ; . �

%+. ; .7( � .-F .

Page 78: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

75

k5y\z&{5| 6.2.4 e�}�~A�2�<�\�I��{5|V�2| �K�5� {5�I�2�8���/|O�I�A� �K�8}�~�� ga_mutate_integer_multipoint ( {OzO�8~O� �@~5�5���\��~�� 4 / 8/ 16 �����m��| )

` 9<;+9 0 � #5B!. � FG"$. > 9L� * ;G; #AM ?+ "$.-0 9<;+= ( N�9L� # � 9 B�6'# � #V0 �SR� "$.-0 " 9 % � (�%'*A, 9L� # � #-" R

��?

3�0G6+*&% �:? 3 ? ga_mutate_integer_allpoint. `

’ #-"U. �w9<;8= 3�>8# � # ��?8

"�%8.83O.O>7.8BDC�3 ?+ ,/#-B 6'.76 � # � 3 � . 3 N Q�>8# 6.2.5.

�’ #&0 � Q

��? 6 " 9 %+B�" � CJ3 ? , ; #@>)X�*86 9L� # � 0'" RVY�?

� . � 0 N #-B!. 3\Q5>'# random3,

� . .7"$.8BD. #86 9 B!6'# � 0, E 9 6 # ;G; *A4 9I� � . N %8Cc> R 3@Cc>8# ,

9 6 P > 9 �^? 6 ��� >-Q 1

� . (H.767BDE � . "U.-0 9 M 9L� *A4 9L� # � #&0+M�*)6 9L� # � 1T# � *

> � # >8.76'*AE8# , 1T# � > 9 �^? 6 �L� >-Q 2 ('B 6 9L� # � > 9 BDC�3 ? 12# � *

= 68# . d�"[C 3 �L? 6 "%'. ? ('.-FA> 9 6 ? 3�0G68*O% �L? 3 ? ,

R7; # � # ('.76+B!E � #

9 M 9L� *A4�.86 � # � 3 ’ #A0 �LR 6 � .76 � F7"[. > 9L� * ;H; #AM ?+ , = 68# 3 9 1T* Z�9 1GF�1 ; . %+. ; .7( � .AF , 9 6 P = 6'# 1GF�1 ; . %8. ; .+( � .-F #O% N5� 12*

N % 9I� *54 9L� # � ( � # � .76

1T# Z .A% � 3�> R � .-0 >-Q�12.-0 ('.76 � E8BD.-0 "$.-0 Z #

N % ? 3 � >'.)"U. �!?+Z�9 B 3 � .-0 0G"$. ; .7( � 3/>8.-F .

Page 79: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

76

k-y/zO{5| 6.2.5 e}�~A�2�S�/�2�[{5|A�2| �K�5� {A�2�2�)���/|O�I�5� �K�+}�~\� ga_mutate_integer_allpoint ( {&zO�+~O�

�@~5�5���\��~�� 4 / 8/ 16 �����m��| ) 6.3 e�fUg�h�iAj�i@k�l�e�hVe f$o/g�kOgclcgJpDq�k�r�k h/r�k l�gJs/e�t$enk i�f$p!j$gJ�OrUk (SELECTION UNIT) � � �:= 3@3 9 % �! E � #A,�.A% 9L�^� 1 =� 3�0G6'#&% � Q'3 9I� 9 " � ; .+(�Q , "[.-0 0 ; .)"[. �!9 B ? >8.76'*AE8#

9 " � ; .+(+Q , 9<;+= ( N .86 � # � > 9 � .76 "$#O%'#&1T* � C 1 P E � 1T# E-.A1 � >-Q . `. component topselfit " 9 % � ; #O>-X8*86 9I� � .

9I� E � 1 R #O% N)9 BW. 12# � # N Cc% ?'�LP 6 12# � # ;G;8?G;8R8�L?'� # , � . LFSR

� .A0 3 N QA>'# � . 3.3.1, 12# � � .76 #8"$.A12C�E � 1T.7"$. �!?'� Q ( � # � # 3�Q�>8# � #

9<;+= ( N .-0 �L?+

>+.767*5E8# 9 " � ; .H(�Q . ]A"�B!3 ?8 3 �:=<; 6+.76 � # � � # 12# � * ;G;8?G; # 3�Q�>8# � # 9<;+= ( N .-0

1T# � 3 � . 9�� E � 1 R #&% N)9 BW. 1T# � # N Cb% ?7�:P 6 1T# � # ;G;8?H;HR)��?'� # , E 9 E8.A> = 6'.-0

R8��� N % ? 3 � >7.8"�. � 9 B � # � 3 �L?

E � #AE � 12#A3OB!# 9 " � ; .7(8Q .

LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; Entity test_sel is Port (IL : out std_logic:='0'; --instruction load PI : out std_logic:='0'; -- PC increment PL : out std_logic:='0'; --Load PC RL : out std_logic:='0'; --Load C control signals register CSR addrf,addrm : out std_logic_vector(3 downto 0):="0000" --addr1 addr2 ); end test_sel; Architecture testtop of test_sel is

Page 80: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

77

Component topselfit port ( clk, reset : in std_logic:='0'; d, f : in STD_LOGIC_VECTOR(15 downto 0):=(others=>'0'); --eisodoi sto fitregfile lcount1, lcount2 : in std_logic_vector(3 downto 0):="0000"; -- ta lcount apo evtoli LD EPI,FIT,FK : in std_logic:='0'; SK : in std_logic_vector(1 downto 0):="00"; IL : out std_logic:='0'; --instruction load PI : out std_logic:='0'; -- PC increment PL : out std_logic:='0'; --Load PC addrf, addrm : out std_logic_vector(3 downto 0):="0000" ); end component; for U1 : topselfit use entity work.topselfit(top); constant CLK_PERIOD : time := 100 ns; signal clk : std_logic; signal reset,EPI,FIT, FK : std_logic:='0'; signal lcount1, lcount2 : std_logic_vector(3 downto 0):="0000"; signal SK : std_logic_vector(1 downto 0):="00"; -- signal d, f : STD_LOGIC_VECTOR(15 downto 0):=(others=>'0'); begin CLKGEN_PROCESS: process(clk) begin if (clk = 'U') then clk <= '1'; else clk <= not (clk) after CLK_PERIOD/2; end if; end process; U1: topselfit port map(clk,reset,d,f,lcount1,lcount2,EPI,FIT,FK,SK,IL,PI,PL,addrf,addrm); process begin --grafw arxika kapoia timi sto fitfile gia elegxo kai kapoies diey8ynseis --gemizw to fitfile reset <= '0'; SK <= "00"; lcount1 <= "0000"; --0 lcount2 <= "0001"; --1 EPI <= '0'; FIT <= '1'; FK <= '1'; d<= "0001001111010101"; --13D5 sto 0 f<= "1001111100011011"; --9F1B sto 1 wait for CLK_PERIOD; -- reset <='0'; lcount1 <= "0010"; --2 lcount2 <= "0011"; --3 FIT <= '1'; FK <= '1'; EPI <= '0'; d<= "1101010110100111"; --D5A7 (1) f<= "1001111100011011"; --9F1B (2) wait for CLK_PERIOD;

Page 81: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

78

-- reset <='0'; lcount1 <= "0100"; --4 lcount2 <= "0101"; --5 FIT <= '1'; FK <= '1'; EPI <= '0'; d<= "0001010110100111"; --15A7 (3) f<= "0110111100101011"; --6F2B (4) wait for CLK_PERIOD; --- reset <='0'; lcount1 <= "0110"; --6 lcount2 <= "0111"; --7 FIT <= '1'; FK <= '1'; EPI <= '0'; d<= "0001001110100001"; --13A1 (5) f<= "1001101100011011"; --9B1B (6) wait for CLK_PERIOD; -- reset <='0'; FIT <= '1'; lcount1 <= "1000"; --8 lcount2 <= "1001"; --9 EPI <= '0'; FK <= '1'; d<= "0001001111010110"; --13D6 (7) f<= "1001111100011010"; --9F1A (8) wait for CLK_PERIOD; -- reset <='0'; lcount1 <= "1010"; --10 lcount2 <= "1011"; --11 EPI <= '0'; FIT <= '1'; FK <= '1'; d<= "0000010110100111"; --05A7 (9) f<= "1000111100011011"; --8F1B (A) wait for CLK_PERIOD; -- reset <='0'; lcount1 <= "1100"; --12 lcount2 <= "1101"; --13 EPI <= '0'; FIT <= '1'; FK <= '1'; d<= "0000010100100111"; --0527 (B) f<= "1000111000011011"; --8E1B (C) wait for CLK_PERIOD; -- reset <='0'; lcount1 <= "1110"; --14 lcount2 <= "1111"; --15 EPI <= '0'; FIT <= '1'; FK <= '1'; d<= "0000010000100111"; --0427 (D) f<= "1000111000101011"; --8E2B (E) wait for CLK_PERIOD; ---telos eggrafis tou fitfile --one random EPI=1

Page 82: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

79

reset <='0'; FIT <= '0'; EPI <= '1'; SK <= "00"; FK <= '0'; wait for CLK_PERIOD; --two random reset <='0'; EPI <= '1'; SK <= "01"; wait for CLK_PERIOD; --one best of 2 (C, D) --mono avagvwsi apo fitfile reset <= '0'; EPI <= '1'; SK <= "11"; wait for CLK_PERIOD; --ga_seslect_two_bestof2 reset <= '0'; EPI <= '1'; SK <= "10"; wait for CLK_PERIOD; reset <= '0'; EPI <= '1'; SK <= "10"; wait; end process; end testtop;

`. 3 N Q5>7# 6.3.1 "�#&%+.-0'3 � *54 9I� �L? 6 #)"[. Z Q�1 9 0'3 ?

�L� > P 6 1T# � # ;G;8?G;+R)�L?'� # , "[.-0 E-B 6'.76 � # � C 9 BD3O.-E8. � 3 � . testbench, 9 , R 3O.76 E 9 6 " 9 % � ; #O>-X8*86 9L� # � #&1 R > ?

? >'.768*�E-# 0G"$. ; .7( � 3�>'.-F

1T# � # ;G;8?G;+R)�:?7� # 12# � �L9 %5>'# ��� 3�>+.-F . � E � #AE � 12#�3&BD# , R % � C�3 ?+ � .-0 #&% N�9 B!.-0 1T# � # N Cc% ?'�SP 6 1T# � # ;G;8?G;+R)�:?7� # , 9 1 �:9<;89 B � # � 3 � .-0 "% P�� .-0 8 1GF-1 ; .-0 %+. ; .7( � .-F , > 9 ��? 6

9I� E � 1GQ 9 6 � . ; Q #O% N5� 12.8"U.8B ? 3 ?8 FIT.

�A9 1K* Z�9 1TF-1 ; . %8. ; .7( � .-F #-"$. ZA? 1 9 F'.76 � # � . � �:� > =� 1T# � # ;G;�?H;HR)��?'� # , 3 �L�!

1T# � * ;G;8?G;+9� Z�= 3 9^� � .-0 #&% N�9 B!.-0 12# � # N Cb% ?'�:P 6 12# � # ;G;-?G;'R8��?7� # , 3 9 E � 9 0 Z FG6'3 9I� "[.-0 E8B 68.76 � # � #-" R � # " 9 E�B!# lcount1/2 ��?+

9I� E � 1KQ 9 6 � . ; Q FIT, 1T# � 12# Z .A%8BD4L.76 � # � #8" R

� . testbench, ( � # � .76

=<;+9 ( N . 3 ��? 6 "$#&%'.-F+3&# ,�*A3 ? . ��� .

�L=<; . ��?+ E � #AE � 12#�3�B!# , � . 3�Q�>8# mem E � # Z-=L�:9I� � # " 9 % � 9<N�R > 9 67# � .A0 9I� E � 1K.-F #O% N)9 BD.-0 1K# � # N Cc% ?7�:P 6 12# � # ;G;8?G;+R)�L?'� # , � # .8"$.8BD#

N % ? 3 � >7.8"�. � .-FG6 � # � 3 �^? 3�0G6 =<N�9I� # ( � # ��? 6 9 1 �:=<;+9 3 ?

� C�6 E � #A,/.V% 9L�L� 1 P 6 � % R "$C6 9 " � ; .7(8Q .

��� # 3 N Q�>'# � # 6.3.2 1T# � 6.3.3, "�#O%8# �:? % 9 B � # � ? 0 ; .8"$.8B ? 3 ? � F'"�C6

��?8 9 6 � . ; Q EPI.

��� . 3 N Q�>8# 6.3.2, "%'.83�.A>+. �!P 6 9L� # � ?

9 " � ; .7(8Q > � # Q E-0+. � 0 N #�BWC6 E �!9 0 Z FG6+3 9 C6 . x � 3 � > 9 SK=00, 3 � . �:=<; . � .A0 1KF�1 ; .V0 %'. ; .7( � .-F (�%8*5, 9L� # � ?

� 0 N #-B!# E � 9 F Z 0G673 ? 3 � .76 "�# �:= %+# , #8" R �:�!

4 "% P��L9� 9 M R E�.-0 � .A0 LFSR � .-0 3 N Q5>7# � . 3.3.1, . � .7"$.8B 9� #-"[. �:9<; .-FG6

� . 3�Q�>+# lfsr1 3 � . 3 N Q�>+# . `. 3/Q�>7#

lfsr2, #8"$. �:9<;+9 B � # � #)" R �L�!

4 �:9<;89 0 � #-B 9� 9 M R E�.-0 � .-0 LFSR, 1T# � "U#&% =<N�9I� ��? 6 � 0 N #-BD# E � 9 F Z 0G683 ? ( � # ��?

> ?'�:= %8# . x � 3 � , 3 � . E 9 F �:9 %8. � F7"U.

9 " � ; .+(�Q SK=01, "U.V0 "%'#8(�>8# � .8"$. � 9 B � # � 3 9 = 6'#)6 1GF�1 ; . %+. ; .7( � .-F , 9 " � ;8= (+.76 � # � E-0+.

� 0 N #-B 9� E � 9 0 Z FG673 9I�! #-" R �:�!

�^� > =� � C6 3 ? >'* � C6 lfsr1 1T# � lfsr2 1K# � #�"$. ZV? 1 9 F'.76 � # � 3 � .-0 1T# � # N Cc% ?'�:=� E � 9 F Z 0G6'3 ?+ � .V0 "�# �L= %+# 1K# � �L?+ > ?'�L= %+# #86 � BD3 � . � N # , 3 � . �:=<; . � .-0 1KF�1 ; .-0 .

��� . 3 N Q�>'# 6.3.3 9 "$# ;�?'Z-9 F 9L� # � ?

3OC�3 � Q 9 1 �L=<;+9 3 ? � C6

� F7"[C6 9 " � ; .7(-Q

ga_select_one_best of2 1T# � ga_select_two_bestof2. x � 3 � "�#&%+# �L? % 9 B � # � , R8�L� 1T# � * ��? 6 0 ; .8"U.8B ? 3 ? ��?+

"% P��L?8 3/0G67*O% ��? 3 ?8 , 9 " � ;+= (8.76 � # � � 0 N #-BD# . � E � 9 0 Z FG6'3 9I�! 2 12# � 13, . � .)"U.-B 9� #)6 �L� 3 � . � N .-FG6 3 9 ��� > =� 1T# � # ;H;�?K;+R8�^?'� # D5A7 12# � 8E1B, 3�0G6 9 " P� > 9L� * ��?

3\FG(�1G% � 3 ? 9 " � ;+= ( 9L� # � ? E � 9 F Z 0G673 ? 2, ( � #

Page 83: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

80

6'# (�%+#A, �:9 B 3 � .76 1T# � # N Cc% ?'� Q E � 9 F Z 0G6'3 ?8 � .-0 "$# �:= %+# . � 9 "[#&% R >'. � . � % R "�.

9<;+= ( N .86 � # � . � E-0'. 3�0G(�1H%'BD3 9��! , ( � #

��? 6 0 ; .7"$.8B ? 3 ? �^?+

3�0G6'*&% ��? 3 ?+ 9 " � ; .H(-Q ga_select_two_bestof2.

k-y/zO{A| 6.3.1 f$�V~&��~�{5~\�����[� |A}�~&�8zO�8�K�����A� �K� {5 �� �8|A�T|8�-���¡��¢A�K���2|O� �/�2~ �K����� �+¢ |��8y@�K��~ �8|A�2|-yV�£������ �� �+|A�2|8�-�/�G�/¢A�K���2|O� , �^���2~8��z FIT �K�'}�~\� (FK=1).

Page 84: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

81

k-y/zO{5| 6.3.2 f$�O~O��~�{5~��D����� ��}c� �/~7�/z5� {O��|O� z ����~ �K�7y@|��D��� �����¡�)�)�8�����2��� .

Page 85: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

82

k-y/zO{5| 6.3.3 f$�O~O��~\{5~��D����� ��}c� �/~'��z5� �K�8}�~�� ga_select_one_bestof2 �8|�� ga_select_two_bestof2

Page 86: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

83

6.4 ����������� ���������

�����������������������

�����

�������������

����!��"������� FITNESS # ��� ���$� �%���������&�

� �$'�� # ���

���$� �(�����)����� *,+�-/. 021�-354 67-8. 9;:=<?>A@B- :C<EDF6G-�H238>5I�0�J 67K(. LB-8.C42M�K�. H8N$-/:O-/>CD +�LO-QP RS0�670/:8:CT8:OU67T2670�J (fitness calculation unit, FCU) RV0�D 6?TCJ L=-C.C4�MC0J +�HV.CWQX�RVTCJ 67<Y3�L=0�67D +�L=-BP (termination condition unit, TCU), @�3=TC+�D LB-ON�-�D <YIZ6[0�D - N$03C0�R\467K RE]�MBDFR\0�J <^:/9;>8@=-�H +�< VHDL (testbench), RV0QD 6[0 02N�-6_<;:O9Y+�L�06[0 6?TCJ N(35-�+-LO-2IFK&+�T=J L=< 67- Modelsim 1�0I .C-8.�670QD L�< 6?T L=-Q3=1`X RVHCL=0�6[-QL=-�3=1�](. +�67- +�@�X2L=0 6.4.1. Library ieee; Use ieee.std_logic_1164.all; Entity testu3 is port( bestad : out std_logic_vector(3 downto 0):="0000";--oi pi8aves lyseis bestfit : out std_logic_vector(4 downto 0):="00000"; -- >> fatherfit,motherfit : out std_logic_vector(15 downto 0):="0000000000000000";

--d,f gia fitness reg file halt : out std_logic:='0' ); end testu3; Architecture rtltestu3 of testu3 is -- Component topu3con port(clk, reset : in std_logic:='0'; instruction : in std_logic_vector(15 downto 0):="0000000000000000"; father, mother : in std_logic_vector(15 downto 0):="0000000000000000"; maddr, faddr : in std_logic_vector(3 downto 0):="0000"; bestad : out std_logic_vector(3 downto 0):="0000";--oi pi8aves lyseis bestfit : out std_logic_vector(4 downto 0):="00000"; -- >> fatherfit,motherfit: out std_logic_vector(15 downto 0):="0000000000000000"; --d,f gia fitness reg file halt : out std_logic:='0' ); end component; For U1 : topu3con use entity work.topu3con(rtl_u3); constant clk_period : time := 50 ns; signal clk : std_logic; signal reset :std_logic:='0'; signal instruction,father,mother : std_logic_vector(15 downto 0):=(others =>'0'); signal maddr,faddr : std_logic_vector(3 downto 0):="0000"; begin U1 : topu3con port map(clk,reset,instruction,father, mother,maddr,faddr, bestad,bestfit,fatherfit,motherfit,halt); process(clk) begin if clk='U' then clk <= '1'; else clk <= not clk after clk_period/2; end if; end process; process begin reset <= '1'; wait for clk_period; reset <= '0'; instruction <= "0100000000000000"; --FIT father <= "0100100110101000"; mother <= "0000011110001000"; maddr <= "0010"; faddr <= "0101"; wait for clk_period; instruction <= "0101000000000000"; --CON father <= "0100100110101011";

Page 87: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

84

mother <= "0000011110000000"; maddr <= "0010"; faddr <= "0000"; wait; end process; end rtltestu3;

�2a bcBd

6.4.1 ��e�fQg\h?i�jEk!cBdgSd

e�l�f�k$f�cBf�m nok�pBq

gSnsr

cBftrBu�v�nsr

FCU w d�x TCU. y

67-C. N(3=]s6[- RVP2RS:C- 35-/:O-/>2D -QP >OI .C<E670D reset, RE0D +�HV.2<zN�]�J L�T5M�<{.5IF|Y-C.26[0D 670 N�<E32D <?@�U2LB<}.=0 6_K�. RV06G0/@BK�32T�6[]�. best fitness R~0QD best fitness address, 670 -CN�-CIF0 <~R\1`3=42|E-C.2670D +�67- +Q@�X=L=0 02N�U 6_0 +�X2L=0�6G0 best fit RS0�D bestad, 02.26[IF+`6G-2D @B0 . � RE0�670/:8:CT8:OU67T2670 67K(. >=-8.29zK(. , N(3=-QRVPVN(67<~D L�T L�TOM2<z.2DFRAX , N�03CUO:/- N$-�H -2D >O-O.=<zI�J <zI .50�D L�TCM�<?./DFR\4 @B3=K%L=-=+�]�L=0�6[0 , R\0�W�]�J HVN�4�3V@=-2H8. 10 L�TOM2<z.2DFRE4 +`6?T 6}DFL�X 67TCJ +�670�W2<E3C4�J +�PA>�R83=D +�TOJ , T -CN�-CIF0 <~RV1`3O4Q|S<~6_0D LB< 6[- +�X2L=0 tmpgen.

y67- M2<YP=67<~3O- RVP2RY:O- 3C-O:O-/>CD -BP , <~RV67<;:=<zI�670D - M2<~P=67<~3=-=J 6?P5N$-�J 6?T=J <z.�6G-8:�XCJ FIT, R\0674 67-/.

-CN�-2I - H8N�-O:O-/>5IF|Y-C.26[0�D -�D 67DZL=9SJ R~06G02:A:BTA:OUQ6?T�6[0�J , 67K(. @�3=K�L=-/+�K�L=467K(. 67K(. >5-C.C9YK(. (fatherfit,

Page 88: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

85

motherfit) RV0QD +�6_- 679}:=-�J 0H=6G-�P 02N�-CWT2RV<YPO-/.2670�D +�6[- <~D M�DFREU 038@=<YIF- RV06[0B@=K�32T�67](. R~0670/:8:=TA:=U�6}T=670J , <;.=] +�6[-/. R\0�6G0/@BK�3�T267X best fitness, >B3C4�1�<E670QD T L=<;>O0/:2P=67<~3=T 6?D LX R~0670/:8:=TA:=U�6}T=670J 0CN�U 0�H2679SJ N�-QH 9;@=-�HV. N(3=-QRVPC�$<ED . ��+�RV<EL2LB9?.C0 M=U2WQT=RV< T 6?DZL=X 67-2H N$0679E3C0 IFMQD 0 L=< 6?T5. 67DFL�X 6?TCJ +�670�W=<~3C4�J +�PA>BR83CD +`TCJ , tmpgen, ]&+`67< +`6[- 6_9;:=-=J 6G-2H M2<EP�67<Y3=-BH RAP=R{:O-QH N�03=067T�3C<SIZ670D T L=9?>�D +�67T 67DFL�X R~06G02:A:=T8:OU6}T=670�J .

y67-C. 6?3OIZ6G- RAP�Rz:C- 38-/:O-/>=D -2P , 9}@�<ED >=3=021�<YI T 6}DFL�X 6?TOJ L=9?>2D +�6?T=J RS0�6_0/:A:=T8:CU�6?T26_0J +�67-C. 0C.�67I +�6_-QD @=- RV06[02@=Ks3=T�6}X , RS0�D RV0674 6}T M2D 432RV<ED 0 0�H26[-P 6G-�H RAP=RY:C-�H 3C-8:C-/>=D -2P , N(3C02>CL�06[-2N�-2D <zI�670�D

+�P8>=R83CDF+�T L�< 6^TA. L=9?>2D +�6^T 6}D�L2X RE0�6[0/:8:CT8:CU67T26_0J , ]&+`6G< +�< N�<E3=I N(67K&+�T D +�U6?T=670�J , +�6[- 679?:C-�J 67-QH R5P2RY:5-�H , .=0 >23=0�1`67<zI - RV0670/@BK�3/T�6^XCJ 67-�H ��T51`I -BH 67<Y3�L=0�6}D +�L=-2P ( +�X=L=0 halt). ��3O4B>=L=067D 0H�6GU +�H�L2�=0�I .=<\D RV0QD +`6?TV. 03A@�X 67-�H 6_9~6703�67-2H RAP�Rz:O-BH N�3C-�+�-QL=-CI�K&+�TCJ , - <?N�<Y�Y<E3A>=0�+`6?XOJ +�670�L�06[4 .20 :/<\D�67-2H�3A>/<{I RV0QD T :=PC+�T MCI .=<~670�D 0/N�U 67- @�3=K�L=U=+�K�L=0 +�6?T M�D <~POWBH5.C+�T bestad. 6.5

�����&����(���������Q�

�����&���������������$�

�����

��$�F�t� � "�� ��� ���

�`� ��� # � � �������$��"/������� VGP I

��� ���

MODELSIM

y67- +�@�X2L=0 6.5.1 1�0�I .C<E670QD T <{N�I :=H5+�T 6[-H N(38-��8:�XCL�06[-2J onemax 02N$U 6[-/. VGPI.

��03=06?T=3=<{IZ6_0QD U�6?D - 0/:8>CU3CD W�L=-�J +�HA>BRY:5I .C<~D +�67T :=PC+�T +�< 912169 ns N�<E3CI N�-2H , RV0�D M�<SMC-L=9;.O-QH UQ67D 6_- 3O-O:OUQD 6?T=J N(35-�+�-LC-CI�K�+�TCJ 679YWT=RV< 100ns, @�3C<ED 4�+�6?T=RE0C. 9121 RAP�Rz:=-2D 3O-/:C-8>�D -�P , >=D 0 .C0 N(3O-RAP=�$<YD 4�6[-QLO- N�-2H .C0 9?@=<~D 67T8. <{N�DFW2H2L=T�6?X 67D L�X RV0670/:5:2TV:=UQ67T�670�J (fitness). �tU67< 67<Y3�LC0�67I |\<\D T :/<\D�67-2H�3A>OIF0 6G-2H <zN�<z�Y<~3V>=0�+`6?X , <?.2T2LB<~3O]�.O-O.�670�J LC0�J L=< 6_- +�XCLB0 stop (==halt), 6G- -2N$-CI�- :O0QL��C42.C<ED 6^T8. 67DFL�X 1, R\0QD N$03=9;@/-/.2670�J L=0�J <{N�D N$:O9Y-8. 6?T M2D <{P=W2H8.C+�T 67-�H 067U2L�-2H – :CP=+�T 6[-BH N(35-�A:BX/LB06[-2J , R~0�W2]�J RV0QD 67TA. 67DFL�X RE0�6G02:V:2T8:OU6}T=674�J 6G-�H 0�6[UQL=-2H 0�H267-�P . � <{N�I :BH8+`T 67-�H N(3O-Q�C:CX�LC0�67-2J saveload, <zN(DF6}HV>A@B4/.=<E670D L=<E674 0�N�U 8769 R8PCRY:=-2H=J 3O-/:C-/>=D -2P , U/N�K�J 1�0�I .2<E670QD +�6[- +�@XCL=0 6.5.2. ��- IFMBD - N(3OU/>23O0L�L=0 , N�-QH N�<~3CD >�3O41�<~6_0QD +�6?T5. N�03=4/>B380�1�- 5.2.3, 9Y6?3=<S�z< >2D 0 6?TV. N�<E3CI N(67K&+�T RE0D 67K(. MQHO- N(3=-2�C:CT�LC4�6GK(. , L=< M2D 01t-3C4 6?T +�670�W2<E3C4 genconst(==temgen), +�6?T L=-O.=4=M�0 HCN�-O:O-O>�D +�L=-QP 6?D L�](. RV06[0B:V:2T8:OU67T2670�J (FCU). ��6_+�D +�6?T8. N�<~3CI N(6_K�+�T 6G-�H N(3C-��8:2X=L=06G-�J onemax, T +�670�W2<E3C4 0QH�67X :50L��=4/.=<YD 6?TV. 67D L�X FFFF, <?.C] +�6?T8. N�<\3=I N(67K�+�T 6[-2H saveload :=0�L�O42.C<~D 6?TV. 6}D LX D1EC. � HCN�-O:O-O>=D +�LOU�J 6_-BH @3OU/.5-QH <ERA6_9;:=<S+�TCJ 67-�H >C<?.=<Y6?DFRV-2P 0B:V>CU�3�D WLO-QH , LCN$-3O<YI .C0 >5I .C<ED >O.CKs35IF|E-8.�6G0�J 02N�U 67- 0�N$-�679;:O<Y+`LO0 6?T=J +�PA.OW2<Y+�T=J ( <{.5U6?T2670 6.6), 6?T L�9}>=D +`6}T +�[email protected]}T=670 :/<\D�67-2H�3A>OIF0�J 67-�H 3C-/:5-/>CD -2P . ��6G+�D >�D 0 +�[email protected]?T=6G0 :O<~D�6G-�H238>OIF0�J 67-QH <?N(<z�Y<E3A>=0�+`6?X 390MHz, T N�<E3CI�-CM�-2J 67-�H 3O-/:5-/>2D -2P <YI .C0D 2.56⋅10-9sec=2.56ns, -2N�U�67< 6_- N(3O]s67- N(3CU��/:CT�LO0 LCN�-Q3O<YI .20 <zN(D :2HOW�<zI +�< 9121⋅2,56≅23350ns=23.35 L s, <z.C] 67- M=<\P=67<~3O- N(3=U2�/:=T2L=0 +�< 8769⋅2,56≅22449ns=22,449 L s.

Page 89: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

86

�2a�b�cBd

6.5.1 �te�m i���k$p

g\f��

e&ltf��Vi`b�cBdQg\f�q

onemax, d�e��

g\fBr

VGP I

Page 90: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

87

�Qa�b�c�d

6.5.2 �tesm i��=k�p

gEf��

e&l�f��8i`b�c�d�gEf�q

saveload, d�e��

g\fQr

VGP I �8DF0 6?T5. <zN�-8N�67DZREX N$03=-2HO+�IF02+�T 67-2H 6?3=U8N�-QH +�PA>�R?:=D +`TCJ 67-2H >O<{.=<Y6}D�R\-QP 02:A>OUQ3=D WQL=-QH +�6?D J N�03=0CN�42.8K <Y1�0�32L=-O>/9{J , M=I .=-8.Q6[0D 6G0 M2D 0/>�354�L=L=0�6[0 6.5.3 RV0�D 6.5.4. ��6[+�D , +`6G- MQD 4/>�3O0L2LB0 6.5.3, N�03=-2HO+�D 4�|S-O.�670�D -2D 6^D L=9YJ RV0670/:8:=TA:/UQ67T2670�J +�< N�-C+�-/+`6[U %, K�J N(3O-�J 6_-/. 0/.�6GI +�67-�D @�- 0�3CD WLOU 67K(. R5P2RY:OK(. 38-/:O-/>CD -2P , >=D 0 67- N(3CU��/:CT�LO0 onemax. � L=9?>�D +�6?T 67DFL2X R\0�6_0/:A:=T8:5U6?T26[0�J 02.26?D +�6[-QD @=<zI +�< N�-C+�-C+`6GU 100%. ��- M2D 4/>�3C0�LLO0 6.5.4, 02.267D +�67-2D @=<YI +�6?T +�PA>=Rz:�D +�T 67-�H N(3O-Q�8:=X2L=067-=J saveload.

Page 91: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

88

5056.25

62.5

87.593.75 100

0

20

40

60

80

100

���Q� �/�V�2� �A�C�^�Q���

�8� � �5��� � �

  ¡¢£

¤¥¦¥§§ ¨§© ¦¨¦¥ª %

«5¬Y­ ®S¯1 50 56.25 62.5 87.5 93.75 100

13 19 20 24 1608 9121

°�±�²C³�´�µ�¶�¶�µ

6.5.3 ·�¸�¹�ºE»?¼�½E¾ ¶�µ º µ ¾!¿ ³!À ¼ ± ¾$Á� ºE¹�à ³ »{Ä�»Yº ±�À ¹�¿

µ ¼ ³tÅ´`±�Æ/¶ ¹�à ³�±�µ

º\¹ ¸ ´�Å�Ç ¼`Á ¶Bµ onemax

62,575

81,2587,5

93,75 100

0

20

40

60

80

100

ÈtÉCÊ ËVÌAÍ8Î ÏSÐOÏ^Ñ8Ò$Ó

É8Ô Ñ ÔEÕ=Ê Ô Ð

Ö ×ØÙ

ÚÛÜÛÝÝ ÞÝß ÜÞÜÛà %

áVâ?ã äEå1 62,5 75 81,25 87,5 93,75 100

12 32 88 416 3584 8769

æ�ç�èCé�ê�ë�ì�ì�ë

6.5.3 í�î�ï�ðEñ?ò�óEô ì�ë ð ë ô!õ é!ö ò ç ô$÷�ø ðEï�ù é ñ{ú�ñYð ç�ö ï�õ

ë ò étûê`ç�ü/ì ï�ù é�ç�ë

ð\ï î ê�û�ý ò`÷ ìBë saveload

6.6 í(î�ïðSñ?ò�óEô ìQë ð ë ô$õ/ú ü ñEô!÷�ø ðEï�ù ñ ç�þ�ç�ö ï�õ ñYî�ñVÿYñ ê2é�ë ô�ð�� VGPI

ì ñ ðSï Leonardo Spectrum ���

������� ������������

����

��������������

, ��!

��"$#�&%�'(�)�*�+

VGPI, ,.-���(����)/

�.���.�� ��/1032

�"�)%��)032)�4. 5

6'�0�70�%�/ ���8���, ,�-

���6����!/ � �9���.:��)%;2

��!

�� 6�;�9��/<03�!�

�)%�/ �)�(�!�

�= ���>?�

���!

�.�"�)/1��!�������/ './ �

8���

����6�"�

-���@�

��

� A(���9���9'

-� ASIC 0,13u,

07����>B� 07�)/

� ���8'./ �*C�

�* �A��(D)�����

�93/E��. �%�'-���

F��

��"$#G&%�'9���*8+

, D9�"4H�

0G�I���)%

- J&���/

�9�"D

��

�(�9�;�.�"2)�/

���8'./ ������

03���K (�*��7%.�������

. L �"4B�

:��

-��7��)/

, �?%��.0��6�?�7/

D!C/

� �� ��(�(��/107D��

��%�/1�.��D��

�? ���>?�

-���)/

36999, 8�.>

� �K� '�/ �*��

, 6�;�@C+

�� 6A6��D�8����

�(&/EF�. �%6'

-���

�?%��)07���?�$/

392,9MHz. M�!�IN�2.�;�9����)�

D���4B�

��OD!P"�

, D!�/

��/ �

�?���.� not

�*�� ,,�!�������

�8A6���(�(�('

-�

, ,�-��7/

�����!Q� �;$�����

�@�;���.G�@���

4 �=�6�($�

��

��

Leonardo, -���!/

, ;����FD

���

��$4R%�����

- D)�/

� �� 6���6�./103D.�

�)%./ �)��D��

�? ���>?�

-�;�)/

�"&%

-���!

9250 �?������

.

Page 92: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

89

S �)%��)0�2)F4 :��

-��7��!/

�.���9�� ��/1032

, ��

����'�G�9���

072���

component ����

VHDL, ��!

��"$#�&%6'(�I�*8+.

******************************************************* Cell: fitfile_16_4_16 View: beh_fit_unfold_1572_0 Library: work ******************************************************* Cell Library References Total Area Cell Library References Total Area AO10NHS core9gphs 3 x 14 42 gates AO21HS core9gphs 1 x 10 10 gates AO23HS core9gphs 38 x 14 537 gates AO2HS core9gphs 60 x 10 605 gates AO3HS core9gphs 80 x 10 807 gates EOHS core9gphs 4 x 20 81 gates FD7QHS core9gphs 80 x 36 2905 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 77 x 4 311 gates ND2HS core9gphs 112 x 6 678 gates ND3HS core9gphs 9 x 8 73 gates ND4ABHS core9gphs 5 x 14 71 gates ND4HS core9gphs 5 x 10 50 gates NR2AHS core9gphs 8 x 8 65 gates NR2HS core9gphs 8 x 6 48 gates NR3ABHS core9gphs 1 x 10 10 gates NR3HS core9gphs 6 x 8 48 gates NR4HS core9gphs 5 x 10 50 gates OR2HS core9gphs 1 x 10 10 gates Number of ports : 76 Number of nets : 526 Number of instances : 504 Number of references to this view : 1 Total accumulated area : Number of GND : 1 Number of gates : 6401 Number of accumulated instances : 504 ******************************************************* Cell: datapath_sel View: rtl_sel_unfold_1529 Library: work ******************************************************* Cell Library References Total Area AO10NHS core9gphs 2 x 14 28 gates AO11HS core9gphs 6 x 14 85 gates AO4HS core9gphs 1 x 12 12 gates AO5AHS core9gphs 4 x 16 65 gates AO6NHS core9gphs 2 x 10 20 gates ENHS core9gphs 6 x 20 121 gates FD2SQHS core9gphs 8 x 40 323 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 18 x 4 73 gates MUX21HS core9gphs 8 x 16 129 gates MUX21NHS core9gphs 8 x 12 97 gates ND2HS core9gphs 2 x 6 12 gates ND4HS core9gphs 2 x 10 20 gates NR2AHS core9gphs 1 x 8 8 gates NR2HS core9gphs 5 x 6 30 gates fitfile_16_4_16 work 1 x 6401 6401 gates 1 1 GND Number of ports : 67 Number of nets : 121 Number of instances : 75 Number of references to this view : 2 Total accumulated area : Number of GND : 2 Number of gates : 7423 Number of accumulated instances : 578 ******************************************************* Cell: mut_sub View: spasub_16_unfold_1653_0 Library: work

Page 93: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

90

******************************************************* Cell Library References Total Area Cell Library References Total Area AO20NHS core9gphs 4 x 14 56 gates AO6NHS core9gphs 4 x 10 40 gates EOHS core9gphs 8 x 20 161 gates IVHSX05 core9gphs 8 x 4 32 gates NR2HS core9gphs 4 x 6 24 gates NR3HS core9gphs 4 x 8 32 gates Number of ports : 51 Number of nets : 52 Number of instances : 32 Number of references to this view : 2 Total accumulated area : Number of gates : 347 Number of accumulated instances : 32 ******************************************************* Cell: mut_spadder View: spadd_16_unfold_1554_0 Library: work ******************************************************* Cell Library References Total Area AO7NHS core9gphs 16 x 10 161 gates IVHSX05 core9gphs 16 x 4 65 gates ND2HS core9gphs 12 x 6 73 gates ND3HS core9gphs 4 x 8 32 gates Number of ports : 55 Number of nets : 68 Number of instances : 48 Number of references to this view : 2 Total accumulated area : Number of gates : 331 Number of accumulated instances : 48 ******************************************************* Cell: abit16_sub View: sub_16_unfold_1328_0 Library: work ******************************************************* Cell Library References Total Area AO20AHS core9gphs 1 x 12 12 gates AO20NHS core9gphs 2 x 14 28 gates AO6NHS core9gphs 5 x 10 50 gates EOHS core9gphs 4 x 20 81 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 7 x 4 28 gates NR2HS core9gphs 4 x 6 24 gates NR3HS core9gphs 4 x 8 32 gates Number of ports : 52 Number of nets : 46 Number of instances : 28 Number of references to this view : 2 Total accumulated area : Number of GND : 1 Number of gates : 256 Number of accumulated instances : 28 ****************************************************** Cell: abit16ripple_c_adder View: add_16_unfold_1294_0 Library: work ******************************************************* Cell Library References Total Area AO5AHS core9gphs 8 x 16 129 gates AO7NHS core9gphs 4 x 10 40 gates EN3HS core9gphs 12 x 28 339 gates ND2HS core9gphs 4 x 6 24 gates Number of ports : 52 Number of nets : 60 Number of instances : 28 Number of references to this view : 2 Total accumulated area : Number of gates : 533

Page 94: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

91

Number of accumulated instances : 28 ******************************************************* Cell: sparegfile_16_4_16 View: beh_ram Library: work ******************************************************* Cell Library References Total Area AO10NHS core9gphs 32 x 14 452 gates AO21HS core9gphs 1 x 10 10 gates AO23HS core9gphs 272 x 14 3841 gates AO2HS core9gphs 240 x 10 2421 gates EOHS core9gphs 4 x 20 81 gates FD7QHS core9gphs 256 x 36 9295 gates IVHSX05 core9gphs 93 x 4 375 gates ND2HS core9gphs 48 x 6 290 gates ND3ABHS core9gphs 1 x 10 10 gates ND3HS core9gphs 6 x 8 48 gates ND4ABHS core9gphs 32 x 14 452 gates ND4HS core9gphs 32 x 10 323 gates NR2AHS core9gphs 4 x 8 32 gates NR2HS core9gphs 14 x 6 85 gates NR3ABHS core9gphs 1 x 10 10 gates NR3HS core9gphs 9 x 8 73 gates NR4HS core9gphs 1 x 10 10 gates OR2HS core9gphs 1 x 10 10 gates Number of ports : 76 Number of nets : 1091 Number of instances : 1047 Number of references to this view : 1 Total accumulated area : Number of gates : 17818 Number of accumulated instances : 1047 ******************************************************* Cell: mut_cr_mem View: dall_unfold_1345 Library: work ******************************************************* Cell Library References Total Area AN2HS core9gphs 1 x 10 10 gates AO10NHS core9gphs 6 x 14 85 gates AO1HS core9gphs 3 x 10 30 gates AO21HS core9gphs 4 x 10 40 gates AO2HS core9gphs 77 x 10 777 gates AO3HS core9gphs 5 x 10 50 gates AO52HS core9gphs 1 x 12 12 gates AO6NHS core9gphs 4 x 10 40 gates AO7HS core9gphs 1 x 8 8 gates AO9HS core9gphs 4 x 12 48 gates ENHS core9gphs 1 x 20 20 gates EOHS core9gphs 3 x 20 61 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 33 x 4 133 gates MUX21NHS core9gphs 7 x 12 85 gates ND2HS core9gphs 24 x 6 145 gates ND3HS core9gphs 12 x 8 97 gates ND4HS core9gphs 16 x 10 161 gates NR2AHS core9gphs 3 x 8 24 gates NR2HS core9gphs 14 x 6 85 gates NR3HS core9gphs 5 x 8 40 gates NR4HS core9gphs 3 x 10 30 gates VCC core9gphs 1 x 1 1 VCC abit16_sub work 1 x 256 256 gates

1 1 GND abit16ripple_c_adder work 1 x 533 533 gates mut_spadder work 1 x 331 331 gates mut_sub work 1 x 347 347 gates sparegfile_16_4_16 work 1 x 17818 17818 gates Number of ports : 118 Number of nets : 407 Number of instances : 234 Number of references to this view : 1

Page 95: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

92

Total accumulated area : Number of GND : 2 Number of VCC : 1 Number of gates : 21267 Number of accumulated instances : 1412 ******************************************************* Cell: datapath_all View: rtldall_unfold_1713 Library: work ******************************************************* Cell Library References Total Area AO11HS core9gphs 1 x 14 14 gates AO1HS core9gphs 2 x 10 20 gates AO3HS core9gphs 1 x 10 10 gates AO5AHS core9gphs 1 x 16 16 gates AO5HS core9gphs 1 x 14 14 gates AO5NHS core9gphs 3 x 14 42 gates AO6AHS core9gphs 1 x 12 12 gates AO6HS core9gphs 8 x 10 81 gates AO6NHS core9gphs 1 x 10 10 gates AO7HS core9gphs 22 x 8 178 gates EN3HS core9gphs 4 x 28 113 gates ENHS core9gphs 26 x 20 524 gates EO3HS core9gphs 2 x 28 56 gates EOHS core9gphs 16 x 20 323 gates FD1QHS core9gphs 24 x 28 678 gates FD2QHS core9gphs 1 x 34 34 gates FD2SQHS core9gphs 9 x 40 363 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 27 x 4 109 gates MUX21HS core9gphs 5 x 16 81 gates MUX21NHS core9gphs 10 x 12 121 gates ND2HS core9gphs 16 x 6 97 gates ND3HS core9gphs 2 x 8 16 gates ND4ABCHS core9gphs 1 x 14 14 gates ND4HS core9gphs 5 x 10 50 gates NR2AHS core9gphs 5 x 8 40 gates NR2HS core9gphs 10 x 6 61 gates NR3HS core9gphs 3 x 8 24 gates NR4HS core9gphs 5 x 10 50 gates datapath_sel work 1 x 2 2 GND 7423 7423 gates mut_cr_mem work 1 x 1 1 VCC 2 2 GND 21267 21267 gates Number of ports : 90 Number of nets : 329 Number of instances : 215 Number of references to this view : 1 Total accumulated area : Number of GND : 5 Number of VCC : 1 Number of gates : 31844 Number of accumulated instances : 2203 ******************************************************* Cell: controlsel_fit View: mealy_selfit Library: work ******************************************************* Cell Library References Total Area AO21HS core9gphs 1 x 10 10 gates AO3HS core9gphs 1 x 10 10 gates FD1QHS core9gphs 1 x 28 28 gates IVHSX05 core9gphs 7 x 4 28 gates LD1QHS core9gphs 9 x 18 163 gates LD3QHS core9gphs 1 x 22 22 gates ND2HS core9gphs 4 x 6 24 gates ND3HS core9gphs 1 x 8 8 gates NR2AHS core9gphs 1 x 8 8 gates NR2HS core9gphs 3 x 6 18 gates NR3HS core9gphs 1 x 8 8 gates

Page 96: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

93

NR4ABHS core9gphs 1 x 12 12 gates NR4AHS core9gphs 1 x 12 12 gates VCC core9gphs 1 x 1 1 VCC Number of ports : 20 Number of nets : 42 Number of instances : 33 Number of references to this view : 2 Total accumulated area : Number of VCC : 1 Number of gates : 353 Number of accumulated instances : 33 ******************************************************* Cell: controlcr_mut View: mealy_crmut_unfold_1533 Library: work ******************************************************* Cell Library References Total Area AO10NHS core9gphs 1 x 14 14 gates AO11HS core9gphs 1 x 14 14 gates AO14HS core9gphs 3 x 14 42 gates AO14NHS core9gphs 1 x 16 16 gates AO17HS core9gphs 3 x 12 36 gates AO20DHS core9gphs 1 x 12 12 gates AO35HS core9gphs 3 x 12 36 gates AO3HS core9gphs 3 x 10 30 gates AO52HS core9gphs 2 x 12 24 gates AO6HS core9gphs 1 x 10 10 gates AO7HS core9gphs 5 x 8 40 gates AO8HS core9gphs 2 x 10 20 gates AO8NHS core9gphs 1 x 14 14 gates FD1QHS core9gphs 1 x 28 28 gates FD4SQHS core9gphs 2 x 42 85 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 27 x 4 109 gates LD1QHS core9gphs 11 x 18 200 gates LD2QHS core9gphs 7 x 18 127 gates ND2HS core9gphs 11 x 6 67 gates ND3ABHS core9gphs 2 x 10 20 gates ND3HS core9gphs 5 x 8 40 gates NR2HS core9gphs 8 x 6 48 gates NR3ABHS core9gphs 4 x 10 40 gates NR3HS core9gphs 6 x 8 48 gates NR4ABCHS core9gphs 1 x 12 12 gates VCC core9gphs 1 x 1 1 VCC Number of ports : 55 Number of nets : 134 Number of instances : 114 Number of references to this view : 2 Total accumulated area : Number of GND : 1 Number of VCC : 1 Number of gates : 1136 Number of accumulated instances : 114 ******************************************************* Cell: CSR View: arcsr_unfold_1464 Library: work ******************************************************* Cell Library References Total Area FD2QHS core9gphs 1 x 34 34 gates FD2SQHS core9gphs 42 x 40 1694 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 7 x 4 28 gates OR2HS core9gphs 1 x 10 10 gates Number of ports : 101 Number of nets : 97 Number of instances : 52 Number of references to this view : 1 Total accumulated area : Number of GND : 1

Page 97: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

94

Number of gates : 1767 Number of accumulated instances : 52 ******************************************************* Cell: pipeline_con View: arch_pipe_unfold_1836 Library: work ******************************************************* Cell Library References Total Area AN2HS core9gphs 1 x 10 10 gates AN3HS core9gphs 1 x 12 12 gates AO1HS core9gphs 4 x 10 40 gates AO20CHS core9gphs 1 x 12 12 gates AO23HS core9gphs 1 x 14 14 gates AO2HS core9gphs 3 x 10 30 gates AO3HS core9gphs 4 x 10 40 gates AO6NHS core9gphs 4 x 10 40 gates AO7HS core9gphs 4 x 8 32 gates CSR work 1 x 1767 1767 gates 1 1 GND ENHS core9gphs 4 x 20 81 gates EOHS core9gphs 1 x 20 20 gates FD1QHS core9gphs 13 x 28 367 gates FD2SQHS core9gphs 19 x 40 767 gates GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 28 x 4 113 gates LD1QHS core9gphs 1 x 18 18 gates MUX21NHS core9gphs 2 x 12 24 gates ND2HS core9gphs 8 x 6 48 gates ND3HS core9gphs 5 x 8 40 gates ND4HS core9gphs 1 x 10 10 gates NR2HS core9gphs 10 x 6 61 gates NR3ABHS core9gphs 1 x 10 10 gates NR3HS core9gphs 7 x 8 56 gates NR4HS core9gphs 3 x 10 30 gates VCC core9gphs 1 x 1 1 VCC controlcr_mut work 1 x 1136 1136 gates 1 1 GND 1 1 VCC controlsel_fit work 1 x 353 353 gates 1 1 VCC Number of ports : 53 Number of nets : 205 Number of instances : 131 Number of references to this view : 1 Total accumulated area : Number of GND : 3 Number of VCC : 3 Number of gates : 5134 Number of accumulated instances : 327 ******************************************************* Cell: vga_processor View: proall Library: work ******************************************************* Cell Library References Total Area GND core9gphs 1 x 1 1 GND IVHSX05 core9gphs 1 x 4 4 gates IVHSX12 core9gphs 1 x 18 18 gates datapath_all work 1 x 31844 31844 gates 5 5 GND 1 1 VCC pipeline_con work 1 x 3 3 VCC 3 3 GND 5134 5134 gates Number of ports : 45 Number of nets : 88 Number of instances : 5 Number of references to this view : 0 Total accumulated area : Number of GND : 9 Number of VCC : 4

Page 98: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

95

Number of gates : 36999 Number of accumulated instances : 2533 Info, Command 'report_area' finished successfully ->report_delay -num_paths 1 -critical_paths -clock_frequency Using default wire table: area_0K Clock Frequency Report Clock : Frequency ------------------------------------ clk : 392.9 MHz GO : N/A U1/decod(3) : N/A Critical Path Report There are no paths that violate user specified options or constraints

Page 99: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

96

THU�VXWZY?W\[^]

7 _�`baXc U?d�W _ea Wgf*W

58�;�

�"�)%(�.���)�

7%�'����

-�,

� '�/ �( �./ �

�?%����)�"2.��3/ �

�?%;�.���8'�'K/ �����

�4?�

'���(&�/10�>?�

�9�;'�D!%�/ �K�K4?� �.��D

,/ ��:��!%(&8/10�+

��0��9�?/ 2

. S �)%��. (�*/ 2.�*C��07

�.�6�.�. ��/10&2

� �!AK

,.-�����

��;D��

�?%(�9'.%��������@�/JD.�K8���.

��"G#$$%6'(�)�*C+

'(8��3C/<03>?�

�9�6'(D!%�/ �!��4?�

, ��

�*0��6�"D

����

AI%����@/ ���6�"�

-����+

��!

�� ,/1��:��)%�&C/1072

�?%��KN6�K+.���)��

, N� ��8/ �*��6�h�

-�������

07�)/

�.�6�

J+�8�;�*���

�����*�(�

�.��D

�8���

$ .%��

�"

,9-� �K�6��$4?�

. i� AI%�/

��+��K3%��

�8A�&/

�"��%6�� ��*/ �����

- �8���

�K�'�2.���

���.+(�.���

hardware ��9�(�"��/1+���G4?�

�4?�

'9 ��78/10�>=� �9��'�D)%�/ �.��4j�

, ��

8�

����%�:�+

����A����.+��

03�)����*�2����4?�

, 4H�

�?%6���

��9�

����8'6A��

03�!/

�K

�"7%./ �!%�/ �*�K�����. �� C%�D9�"�. ��

8�k/ �(�('K+��

, ,/ ���*�����%�4Z�*���

07�)/

��$�2.���(��#&���

, G:�D9���6�

� ����7 .��

-� �"7%./ ���)��N�2.��&Q�)/

. l

VGP I, ,/1��:��&%�$/

����D

��. ��

�?%;�)��'��.����8����

������"�!/ +���$/ �

��

��./10&D

, 4B�

�?%��.�

8�6�

7 �8��/ #-� �O�!

�?%;���I:��&%�7/

�*��;�

�?%����)��%.���6'.+

Q�K

��

,/ �.:��)%�78/1032

�?%;�)N���+����)��

, �K�7�92

J�9��F�I�

��D��6� 8���

������2

,� ��O�(���6'./ �����!�

0��)F�9�;���7��D!8������

����

6��/E03D

0G��/

-�*4Z�

0��!/

8�

���6��2

,� Q&%.����8/ �@�K�.�

, $:�D��I�6�

A)%(&/ 2

J�9��F�)/

��/ '�D!Q&%��

�! ��*��.%(2

06%�/1�+.%./ �

�&%������/ �@�K�.�

��(�

8�h�#G&%�'����

-���

. m � -�@�(�

����29���('(�

��

��

�?%;D9'.%��������

, ����

�"&%�/ �8A�&/

� �;�!+��I�

8�.��9�(>?�

��.

��"G#$&%�'����*8+

, -���)/

, 6�;�@C+

� &0���8��G�O�

,/ ��:��!%(&8/103�!�

��6�"�.

,/ ���*�����%;4B�����

, ��7�29�6����#7���

0��!/

��?/ ���9'�+��

, 0G�)��>H�

07��/

��$>b%.������� ,/ �):��)%(&8/103�.�

�.+�03�! (�

'��6�./

,�-�!

(4, 8 + 16

P���:-�

) + AK%�4k������>B���)F���

(4,8, 16 P"�6:

-�), >H�*�

�(�

�?%��.'��K�)F���"�!/

-Q�!/

Q�9A��.�7%.�

�*��'�0���/ ���

��8�

�����*�

���

&0�2�����!�

�?%��KN���+.���)����

. 5 ��8�6�(�9�.�/<0�+

��"�70�Q���@�

��.

��"$#$$%6'������+

, Q�

�.+�03�.�

�4?�

A�%�4B���.��4B��2�F4?�

, -�;�)/

, 6�;��FD

���

#G��"$%���2 ��

16 P=�(:

-�

. m � -

�*��� � ����6�"�

-�����

��A��./10�+��

hill-climbing, -�(�)/

, ����)QD

�;�

��?/1��KA��6��7/

��?/ �����$�6� 8���

��"$#G$%6'����

-� �4?�

'�8��&8/103>=�

�K��'�D!%�/ �!��4?�

. 5

����:�4?�.� ��

�!�O�!�8����������F� �*��'.0$��/ �����

, ��

�9���9>j�

G:��)%.���('9>j�

'9 �(&8/10�>?�

�9�;'�D!%�/ �K�K4?�, �?%��!0��6�?Q&/

D)�/

-���!/

�?%(4R�&�(�! ��I���

�*�����.�

-���

� ����O�.�

��(�

,/ �I�*��!��%(4B�����

���!

G:��)%���DJ7��)/

, 07����>B�

0&2���

��6�O���

�8A�7/

,/ �.:���%�78/10��$�

/,/ D!8�����

. n��*/

� C���"���

����

G:��@%��KD9�����07

integer mean, ,

�� �9�6�;2

J$/

0&�)F2

�"�(���

��

'( ��78/107D

��./103D

, ,�-��$/

�O�(���

'�%.+�'��)%(�

�!�O�!��8��G�*���

�"�6�.� 0G���.�2

�*C�

�������

�.���(2

�@%�'�

- ���

�7%.���)

-�*$/

, ,,�!�K� �(�!

03�!/

8�(�

�.���) ;�

-���

��&Q2K������#7���

. l

'9 ��78/107D�� �9�6'(D!%�/ �.�����

�"��

6�;�.�O�!/

-��!/

�.���)Q �(

- �O�)%��.���(�.'.+

��K

�������.�

'9 �(&8/103�.�

, 07��/

��

032���

70�Q� ������

��(D��

� ��G�*8+ �.���.�"�)%��9'�4?'.+��

( ,/ ���*F�)��%;4H�@���

, ��7�29�6�(�)#7���

), ��

�����

��� ���

����8/107����/ �*Q�!��� F�

�"�9��/ 2

, �6�"D)�

,8�

��"2@%�A��. ;�

#$8A�4R%�/ �*�2

� �O�K��/ D.�

0G��/

� �������

���K���. ��*�(D��

AK%�4R���.��4g��2��4j�, �?%��!03�.��>?��F���

������:O �'.+

��9�(�h�

-�������

��;D��

�)0&DK���

N.+���������

Q�!

'(8�.$8/E0G�!�

�9�;'�D!%�/ �K���. ��

6��/<0GD

.

l ��"�#77%�'�����8+(�

VGP I, �����!Q ��

- ��6�

/,�.��/107D

8%�D��"�

������78���

8�(�

�� .���"&%�/ :��!%�2��

�4?�

/,/ �)8+��4?�

�4?�

'���(&�/10�>?�

� ��G�*�>?�

�.�(�.�"�)%��9'�4?'�+��

03��/

��?/ �(�9'�+��

, ��

,/ ��:*��%�78/1072

�?%;�)N6�.+����)��

+ ��

��7��)N��.���9DK�K8���

�"&%./ N�29�6���6�

. o ���8'�/ �*��

�� 6A6��D������

�(&/E��. .%6'

-���

��.

��"G#�7%6'��I�*8+

(392MHz),

�O ���2,$/

��

8/ �

�?%��.�I��2I�.$/ $�

��?/1Q2KA� 6�;�����

��(�

��"$#G&%�'����

-���

'���(&8/103>?�

�9�;'�D!%�/ �K�K4?�.

Page 100: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

97

��������������� �

C ������������� ����� �����! "� #�$�%��&��� '�(�)*(��+���,�-) �. !'�/�0.� $"1�2-) [15], '*��� �3#54�� �6(� �(879�3:8� �")*�";<��0��!'�2�'�%�� ����� �=�>) (?;<� *#!'�% . /********************************************************************** ga_crossover.c

ga_crossover – Genetic algorithm crossover operators. Copyright @ ©2000-2003, Stewart Adcock <[email protected]> All rights reserved. The latest version of this program should be available at: http://gaul.sourceforge.net/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Alternatively, if your project is incompatible with the GPL, I will probably agree to requests for permission to use the terms of any other license. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY WHATSOEVER. A full copy of the GNU General Public License should be in the file “COPYING” provided with this distribution; if not, see: http://www.gnu.org/

Synopsis: Routines for performing GA crossover operations. These functions should duplicate user data where appropriate. To do: Merge static crossover functions by passing datatype size. **********************************************************************/ #include “gaul/ga_core.h” /********************************************************************** 1)ga_singlepoint_crossover_integer_chromosome() synopsis: `Mates’ two chromosomes by single-point crossover. Parameters: return: last updated: 18/10/00 **********************************************************************/ static void ga_singlepoint_crossover_integer_chromosome( population *pop, int *father, int *mother, int *son, int *daughter ) { int location; /* Point of crossover */ /* Checks */ if (!father || !mother || !son || !daughter) die(“Null pointer to integer-array chromosome structure passed.”); /* Choose crossover point and perform operation */ location=random_int(pop->len_chromosomes); memcpy(son, mother, location*sizeof(int)); memcpy(daughter, father, location*sizeof(int)); memcpy(&(son[location]), &(father[location]), (pop->len_chromosomes-location)*sizeof(int)); memcpy(&(daughter[location]), &(mother[location]), (pop->len_chromosomes-location)*sizeof(int)); return; } /********************************************************************** 2)ga_doublepoint_crossover_integer_chromosome() synopsis: `Mates’ two chromosomes by double-point crossover. Parameters:

Page 101: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

98

return: last updated: 31/05/01 **********************************************************************/ static void ga_doublepoint_crossover_integer_chromosome(population *pop, int *father, int *mother, int *son, int *daughter) { int location1, location2; /* Points of crossover. */ int tmp; /* For swapping crossover loci. */ /* Checks */ if (!father || !mother || !son || !daughter) die(“Null pointer to integer-array chromosome structure passed.”); /* Choose crossover point and perform operation */ location1=random_int(pop->len_chromosomes); do { location2=random_int(pop->len_chromosomes); } while (location2==location1); if (location1 > location2) { tmp = location1; location1 = location2; location2 = tmp; } memcpy(son, father, location1*sizeof(int)); memcpy(daughter, mother, location1*sizeof(int)); memcpy(&(son[location1]), &(mother[location1]), (location2-location1)*sizeof(int)); memcpy(&(daughter[location1]), &(father[location1]), (location2-location1)*sizeof(int)); memcpy(&(son[location2]), &(father[location2]), (pop->len_chromosomes-location2)*sizeof(int)); memcpy(&(daughter[location2]), &(mother[location2]), (pop->len_chromosomes-location2)*sizeof(int)); return; } /********************************************************************** 3)ga_crossover_integer_singlepoints() synopsis: `Mates’ two genotypes by single-point crossover of each chromosome. Parameters: return: last updated: 12/05/00 **********************************************************************/ void ga_crossover_integer_singlepoints( population *pop, entity *father, entity *mother, entity *son, entity *daughter ) { int i; /* Loop variable over all chromosomes */ /* Checks */ if (!father || !mother || !son || !daughter) die(“Null pointer to entity structure passed”); for (i=0; i<pop->num_chromosomes; i++) { ga_singlepoint_crossover_integer_chromosome( pop, (int *)father->chromosome[i],

Page 102: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

99

(int *)mother->chromosome[i], (int *)son->chromosome[i], (int *)daughter->chromosome[i]); } return; } /******************************************************************** 4) ga_crossover_integer_doublepoints() synopsis: `Mates’ two genotypes by double-point crossover of each chromosome. Parameters: return: last updated: 31/05/00 **********************************************************************/ void ga_crossover_integer_doublepoints( population *pop, entity *father, entity *mother, entity *son, entity *daughter ) { int i; /* Loop variable over all chromosomes */ /* Checks */ if (!father || !mother || !son || !daughter) die(“Null pointer to entity structure passed”); for (i=0; i<pop->num_chromosomes; i++) { ga_doublepoint_crossover_integer_chromosome( pop, (int *)father->chromosome[i], (int *)mother->chromosome[i], (int *)son->chromosome[i], (int *)daughter->chromosome[i]); } return; } /********************************************************************** 5)ga_crossover_integer_mixing() synopsis: `Mates’ two genotypes by mixing parents chromosomes. Keeps all chromosomes intact, and therefore do not need to recreate structural data. Parameters: return: last updated: 27/04/00 **********************************************************************/ void ga_crossover_integer_mixing( population *pop, entity *father, entity *mother, entity *son, entity *daughter) { int i; /* Loop variable over all chromosomes */ /* Checks */ if (!father || !mother || !son || !daughter) die(“Null pointer to entity structure passed”); for (i=0; i<pop->num_chromosomes; i++) { if (random_boolean()) { memcpy(son->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); memcpy(daughter->chromosome[i], mother->chromosome[i], pop->len_chromosomes*sizeof(int)); ga_copy_data(pop, son, father, i); ga_copy_data(pop, daughter, mother, i); }

Page 103: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

100

else { memcpy(daughter->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); memcpy(son->chromosome[i], mother->chromosome[i], pop->len_chromosomes*sizeof(int)); ga_copy_data(pop, daughter, father, i); ga_copy_data(pop, son, mother, i); } } return; } /********************************************************************** 6)ga_crossover_integer_mean() synopsis: `Mates’ two genotypes by averaging the parents alleles. Son rounded down, daughter rounded up. Keeps no chromosomes intact, and therefore will need to recreate all structural data. Parameters: return: last updated: 18 Jun 2004 **********************************************************************/ void ga_crossover_integer_mean( population *pop, entity *father, entity *mother, entity *son, entity *daughter ) { int i, j; /* Loop over all chromosomes, alleles. */ int sum; /* Intermediate value. */ /* Checks. */ if (!father || !mother || !son || !daughter) die(“Null pointer to entity structure passed.”); for (i=0; i<pop->num_chromosomes; i++) { for (j=0; j<pop->len_chromosomes; j++) { sum = ((int *)father->chromosome[i])[j] + ((int *)mother->chromosome[i])[j]; if ( sum > 0 ) { ((int *)son->chromosome[i])[j] = sum/2; ((int *)daughter->chromosome[i])[j] = (sum + 1)/2; } else { ((int *)son->chromosome[i])[j] = (sum – 1)/2; ((int *)daughter->chromosome[i])[j] = sum/2; } } } return; } /********************************************************************** 7)ga_crossover_integer_allele_mixing() synopsis: `Mates’ two genotypes by randomizing the parents alleles. Keeps no chromosomes intact, and therefore will need to recreate all structural data. Parameters: return: last updated: 30/04/00 **********************************************************************/ void ga_crossover_integer_allele_mixing( population *pop,

Page 104: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

101

entity *father, entity *mother, entity *son, entity *daughter ) { int i, j; /* Loop over all chromosomes, alleles. */ /* Checks. */ if (!father || !mother || !son || !daughter) die(“Null pointer to entity structure passed.”); for (i=0; i<pop->num_chromosomes; i++) { for (j=0; j<pop->len_chromosomes; j++) { if (random_boolean()) { ((int *)son->chromosome[i])[j] = ((int *)father->chromosome[i])[j]; ((int *)daughter->chromosome[i])[j] = ((int *)mother->chromosome[i])[j]; } else { ((int *)daughter->chromosome[i])[j] = ((int *)father->chromosome[i])[j]; ((int *)son->chromosome[i])[j] = ((int *)mother->chromosome[i])[j]; } } } return; } /********************************************************************** ga_mutate.c

ga_mutate – Genetic algorithm mutation operators. Copyright ©2000-2004, Stewart Adcock <[email protected]> All rights reserved. The latest version of this program should be available at: http://gaul.sourceforge.net/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Alternatively, if your project is incompatible with the GPL, I will probably agree to requests for permission to use the terms of any other license. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY WHATSOEVER. A full copy of the GNU General Public License should be in the file “COPYING” provided with this distribution; if not, see: http://www.gnu.org/

Synopsis: Routines for performing GA mutation operations. These functions should duplicate user data where appropriate. **********************************************************************/ #include “gaul/ga_core.h” /********************************************************************** 1)ga_mutate_integer_singlepoint_drift() synopsis: Cause a single mutation event in which a single allele is cycled. Parameters: return: last updated: 01/09/00 **********************************************************************/

Page 105: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

102

void ga_mutate_integer_singlepoint_drift( population *pop, entity *father, entity *son ) { int i; /* Loop variable over all chromosomes */ int chromo; /* Index of chromosome to mutate */ int point; /* Index of allele to mutate */ int dir=random_boolean()?-1:1; /* The direction of drift. */ /* Checks */ if (!father || !son) die(“Null pointer to entity structure passed”); /* Select mutation locus. */ chromo = (int) random_int(pop->num_chromosomes); point = (int) random_int(pop->len_chromosomes); /* • Copy unchanged data. */ for (i=0; i<pop->num_chromosomes; i++) { memcpy(son->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); if (i!=chromo) { ga_copy_data(pop, son, father, i); } else { ga_copy_data(pop, son, NULL, i); } } /* • Mutate by tweaking a single allele. */ ((int *)son->chromosome[chromo])[point] += dir; if (((int *)son->chromosome[chromo])[point]==RAND_MAX) ((int *)son->chromosome[chromo])[point]=0; if (((int *)son->chromosome[chromo])[point]==-1) ((int *)son->chromosome[chromo])[point]=RAND_MAX-1; return; } /********************************************************************** 2) ga_mutate_integer_singlepoint_randomize() synopsis: Cause a single mutation event in which a single allele is randomized. Parameters: return: last updated: 01/09/00 **********************************************************************/ void ga_mutate_integer_singlepoint_randomize( population *pop, entity *father, entity *son ) { int i; /* Loop variable over all chromosomes */ int chromo; /* Index of chromosome to mutate */ int point; /* Index of allele to mutate */ /* Checks */ if (!father || !son) die(“Null pointer to entity structure passed”); /* Select mutation locus. */ chromo = (int) random_int(pop->num_chromosomes); point = (int) random_int(pop->len_chromosomes);

Page 106: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

103

/* Copy unchanging data. */ for (i=0; i<pop->num_chromosomes; i++) { memcpy(son->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); if (i!=chromo) { ga_copy_data(pop, son, father, i); } else { ga_copy_data(pop, son, NULL, i); } } ((int *)son->chromosome[chromo])[point] = (int) random_int(RAND_MAX); return; } /********************************************************************** 3) ga_mutate_integer_multipoint() synopsis: Cause a number of mutation events. This is equivalent to the more common ‘bit-drift’ mutation. Parameters: return: last updated: 21/07/00 **********************************************************************/ void ga_mutate_integer_multipoint(population *pop, entity *father, entity *son) { int i; /* Loop variable over all chromosomes */ int chromo; /* Index of chromosome to mutate */ int point; /* Index of allele to mutate */ int dir=random_boolean()?-1:1; /* The direction of drift. */ /* Checks */ if (!father || !son) die(“Null pointer to entity structure passed”); /* Copy chromosomes of parent to offspring. */ for (i=0; i<pop->num_chromosomes; i++) { memcpy(son->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); } /* • Mutate by tweaking alleles. */ for (chromo=0; chromo<pop->num_chromosomes; chromo++) { for (point=0; point<pop->len_chromosomes; point++) { if (random_boolean_prob(GA_MULTI_BIT_CHANCE)) { ((int *)son->chromosome[chromo])[point] += dir; if (((int *)son->chromosome[chromo])[point]==RAND_MAX) ((int *)son->chromosome[chromo])[point]=0; if (((int *)son->chromosome[chromo])[point]==-1) ((int *)son->chromosome[chromo])[point]=RAND_MAX-1; } } } return; }

Page 107: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

104

/********************************************************************** 4)ga_mutate_integer_allpoint() synopsis: Cause a number of mutation events. Each allele has equal probability of being incremented, decremented, or remaining the same. Parameters: return: last updated: 28 May 2002 **********************************************************************/ void ga_mutate_integer_allpoint(population *pop, entity *father, entity *son) { int i; /* Loop variable over all chromosomes */ int chromo; /* Index of chromosome to mutate */ int point; /* Index of allele to mutate */ /* Checks */ if (!father || !son) die(“Null pointer to entity structure passed”); /* Copy chromosomes of parent to offspring. */ for (i=0; i<pop->num_chromosomes; i++) { memcpy(son->chromosome[i], father->chromosome[i], pop->len_chromosomes*sizeof(int)); } /* • Mutate by incrementing or decrementing alleles. */ for (chromo=0; chromo<pop->num_chromosomes; chromo++) { for (point=0; point<pop->len_chromosomes; point++) { switch (random_int(3)) { case (1): (((int *)son->chromosome[chromo])[point])++; if (((int *)son->chromosome[chromo])[point]==RAND_MAX) ((int *)son->chromosome[chromo])[point]=0; break; case (2): (((int *)son->chromosome[chromo])[point])--; if (((int *)son->chromosome[chromo])[point]==-1) ((int *)son->chromosome[chromo])[point]=RAND_MAX-1; break; default: /* Do nothing. */ break; } } } return; } /********************************************************************** ga_select.c ********************************************************************** ga_select - Genetic algorithm selection operators.

Page 108: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

105

Copyright ©2000-2004, Stewart Adcock <[email protected]> All rights reserved. The latest version of this program should be available at: http://gaul.sourceforge.net/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Alternatively, if your project is incompatible with the GPL, I will probably agree to requests for permission to use the terms of any other license. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY WHATSOEVER. A full copy of the GNU General Public License should be in the file "COPYING" provided with this distribution; if not, see: http://www.gnu.org/ ********************************************************************** Synopsis: Routines for performing GA selection operations. This selection routines return TRUE if the selection procedure has run to completion, otherwise they return FALSE. They may potentially return NULL for the selected entities. This is valid behaviour and doesn't necessarily indicate that the selection producedure is complete. On the first call to these routines in a given generation, pop->select_state is gauranteed to be set to zero. These routines are then free to modify this value, for example, to store the number of selections performed in this generation. The ga_select_one_xxx() functions are intended for asexual selections. The ga_select_two_xxx() functions are intended for sexual selections. Checking whether the mother and father are different entities is optional. The calling code is welcome to not use any of these functions. These functions return a pointer to the entity instead of an id because, potentially, the entities may come from a different population. It may be important to use the value held in the pop->orig_size field instead of the pop->size field because the population size is liable to increase between calls to these functions! (Although, of course, you are free to use whichever value you like in user-defined functions.) To do: Reimplement stochastic universal selection etc. using this callback mechanism. Reimplement probability ranges: mutation_prob = mutation_max - (mutation_max-mutation_min)*i/pop->orig_size; **********************************************************************/ #include "gaul/ga_core.h" /********************************************************************** 1) ga_select_one_random() synopsis: Select a single random entity. Selection stops when (population size)*(mutation ratio)=(number selected) parameters:

Page 109: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

106

return: last updated: 30/04/01 **********************************************************************/ boolean ga_select_one_random(population *pop, entity **mother) { if (!pop) die("Null pointer to population structure passed."); if (pop->orig_size < 1) { *mother = NULL; return TRUE; } *mother = pop->entity_iarray[random_int(pop->orig_size)]; pop->select_state++; return pop->select_state>(pop->orig_size*pop->mutation_ratio); } /********************************************************************** 2)ga_select_two_random() synopsis: Select a pair of random entities. Selection stops when (population size)*(crossover ratio)=(number selected) parameters: return: last updated: 30/04/01 **********************************************************************/ boolean ga_select_two_random(population *pop, entity **mother, entity **father) { if (!pop) die("Null pointer to population structure passed."); if (pop->orig_size < 2) { *mother = NULL; *father = NULL; return TRUE; } *mother = pop->entity_iarray[random_int(pop->orig_size)]; do { *father = pop->entity_iarray[random_int(pop->orig_size)]; } while (*mother == *father); pop->select_state++; return pop->select_state>(pop->orig_size*pop->crossover_ratio); } /********************************************************************** 3)ga_select_one_bestof2() synopsis: Kind of tournament selection. Choose two random entities, return the best as the selection. Selection stops when (population size)*(mutation ratio)=(number selected) parameters: return: last updated: 30/04/01 **********************************************************************/ boolean ga_select_one_bestof2(population *pop, entity **mother)

Page 110: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

107

{ entity *mother2; /* Random competitor. */ if (!pop) die("Null pointer to population structure passed."); if (pop->orig_size < 1) { *mother = NULL; return TRUE; } *mother = pop->entity_iarray[random_int(pop->orig_size)]; mother2 = pop->entity_iarray[random_int(pop->orig_size)]; if (mother2->fitness > (*mother)->fitness) *mother = mother2; pop->select_state++; return pop->select_state>(pop->orig_size*pop->mutation_ratio); } /********************************************************************** 4) ga_select_two_bestof2() synopsis: Kind of tournament selection. For each parent, choose two random entities, return the best as the selection. The two parents will be different. Selection stops when (population size)*(crossover ratio)=(number selected) parameters: return: last updated: 25 May 2004 **********************************************************************/ boolean ga_select_two_bestof2(population *pop, entity **mother, entity **father) { entity *challenger; /* Random competitor. */ if (!pop) die("Null pointer to population structure passed."); if (pop->orig_size < 2) { *mother = NULL; *father = NULL; return TRUE; } *mother = pop->entity_iarray[random_int(pop->orig_size)]; challenger = pop->entity_iarray[random_int(pop->orig_size)]; if (challenger->fitness > (*mother)->fitness) *mother = challenger; do { *father = pop->entity_iarray[random_int(pop->orig_size)]; } while (*mother == *father); challenger = pop->entity_iarray[random_int(pop->orig_size)]; if (challenger != *mother && challenger->fitness > (*father)->fitness) *father = challenger; pop->select_state++; return pop->select_state>(pop->orig_size*pop->crossover_ratio); } A ��0����,B��C2 ��D )�(8�6��� # C �E���5�F����� '*� � �C� ;-0!#��, �%*1����C� onemax �,��� saveload, [19]. #define NUM_BITS_IN_WORD 32 // clrmask array -- For a maximum size of 32 bits unsigned int clrmask[32] = {

Page 111: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

108

0x00000001, /* bit-0 mask */ 0x00000002, /* bit-1 mask */ 0x00000004, /* bit-2 mask */ 0x00000008, /* bit-3 mask */ 0x00000010, /* bit-4 mask */ 0x00000020, /* bit-5 mask */ 0x00000040, /* bit-6 mask */ 0x00000080, /* bit-7 mask */ 0x00000100, /* bit-8 mask */ 0x00000200, /* bit-9 mask */ 0x00000400, /* bit-10 mask */ 0x00000800, /* bit-11 mask */ 0x00001000, /* bit-12 mask */ 0x00002000, /* bit-13 mask */ 0x00004000, /* bit-14 mask */ 0x00008000, /* bit-15 mask */ 0x00010000, /* bit-16 mask */ 0x00020000, /* bit-17 mask */ 0x00040000, /* bit-18 mask */ 0x00080000, /* bit-19 mask */ 0x00100000, /* bit-20 mask */ 0x00200000, /* bit-21 mask */ 0x00400000, /* bit-22 mask */ 0x00800000, /* bit-23 mask */ 0x01000000, /* bit-24 mask */ 0x02000000, /* bit-25 mask */ 0x04000000, /* bit-26 mask */ 0x08000000, /* bit-27 mask */ 0x10000000, /* bit-28 mask */ 0x20000000, /* bit-29 mask */ 0x40000000, /* bit-30 mask */ 0x80000000 /* bit-31 mask */ }; // BITS(word,m,n): bits m downto n of word unsigned int get_bits(unsigned int word, int m, int n) { unsigned int result_word=0; // bits m to n of instr */ result_word = ((word<<((NUM_BITS_IN_WORD-1)-(m))) >> (((NUM_BITS_IN_WORD-1)-(m))+(n)) ); return result_word; } // ADDBITS(word,bit_operand,m,n): add bits m to n to word from bit_operand unsigned set_bits(unsigned inword, unsigned bit_operand, int m, int n) { int i; unsigned outword = 0; outword = inword; for (i=n; i<=m; i++) outword = outword & (~clrmask[i]); for (i=n; i<=m; i++) outword = outword | ( ((get_bit(bit_operand,i-n)) << i) & (clrmask[i]) ); return outword; } // Target text for saveload_raw static int target_text[8] = {0x09, 0x0E, 0x08, 0x06, 0x01, 0x04, 0x07, 0x0D}; //!Instruction onemax behavior method. // FTOMAX: Onemax fitness void ac_behavior( ftomax ) { unsigned int local_allele; unsigned int population_size,num_chromosomes,len_chromosomes,size_alleles; int fitness_int,best_fitness_ever; unsigned int /*i,*/j,k,m; unsigned int evaluated_indiv_addr,best_fitness_addr; num_chromosomes = SRB[0];

Page 112: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

109

len_chromosomes = SRB[1]; size_alleles = SRB[2]; population_size = SRB[7]; // Initialize fitness for selected individual fitness_int = 0; if (rtyp == 0x8) evaluated_indiv_addr = cp2rs2; else if (rtyp == 0x4) evaluated_indiv_addr = RB[cp2rs2]; else if (rtyp == 0x1) evaluated_indiv_addr = SRB[5]; else if (rtyp == 0x2) evaluated_indiv_addr = SRB[6]; else if (rtyp == 0x6) evaluated_indiv_addr = cp2rs2; // Loop over chromosomes in individual. for (j=0; j<num_chromosomes; j++) { local_allele = 0; // Loop over alleles in chromosome. for (k=0; k<len_chromosomes; k++) { if (rtyp==0x6) local_allele = get_bits(SRB[evaluated_indiv_addr], size_alleles*(k+1)-1, size_alleles*k); else local_allele = get_bits(CRB[evaluated_indiv_addr], size_alleles*(k+1)-1, size_alleles*k); for (m=0; m<size_alleles; m++) { if (get_bits(local_allele,m,m)==1) fitness_int += 1; } } } // Write-back new fitness value if (rtyp==0x6) SRB[evaluated_indiv_addr+1] = fitness_int; else FRB[evaluated_indiv_addr] = fitness_int; // SRB[20] = fitness_int; // Handle new fitness information handle_fitness_update(fitness_int, evaluated_indiv_addr, num_chromosomes); }; //!Instruction saveload "raw" behavior method. // FTSLRW: Saveload "raw" fitness // NOTE: Testing a more aggressive fitness function void ac_behavior( ftslrw ) { unsigned int local_allele; unsigned int population_size,num_chromosomes,len_chromosomes,size_alleles; int fitness_int,fitness_allele_int,best_fitness_ever; int fitness_arr_int[4]; unsigned int i,j,k,m; unsigned int evaluated_indiv_addr,best_fitness_addr; num_chromosomes = SRB[0]; len_chromosomes = SRB[1]; size_alleles = SRB[2]; population_size = SRB[7]; // Initialize fitness for selected individual fitness_int = 0; for (i=0; i<len_chromosomes; i++) fitness_arr_int[i] = 0; if (rtyp==0x8) evaluated_indiv_addr = cp2rs2; else if (rtyp==0x4)

Page 113: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

110

evaluated_indiv_addr = RB[cp2rs2]; else if (rtyp==0x1) evaluated_indiv_addr = SRB[5]; else if (rtyp==0x2) evaluated_indiv_addr = SRB[6]; else if (rtyp==0x6) evaluated_indiv_addr = cp2rs2; // Loop over chromosomes in individual. for (j=0; j<num_chromosomes; j++) { local_allele = 0; // Loop over alleles in chromosome. for (k=0; k<len_chromosomes; k++) { fitness_allele_int = 0; if (rtyp==0x6) local_allele = get_bits(SRB[evaluated_indiv_addr+j], size_alleles*(k+1)-1, size_alleles*k); else local_allele = get_bits(CRB[evaluated_indiv_addr+j], size_alleles*(k+1)-1, size_alleles*k); for (m=0; m<size_alleles; m++) { if (get_bits(local_allele,m,m)==get_bits(target_text[j*len_chromosomes+k],m,m)) { fitness_int += 1; fitness_allele_int += 1; } } fitness_arr_int[k] = fitness_allele_int; // Lock optimum child if (fitness_allele_int == len_chromosomes) child_lock_flag[k] = 1; } } // Write-back new fitness value if (rtyp==0x6) SRB[evaluated_indiv_addr+1] = fitness_int; else { for (i=0; i<len_chromosomes; i++) { FRB[evaluated_indiv_addr] = set_bits(FRB[evaluated_indiv_addr],fitness_arr_int[i],2*size_alleles*(i+1)-1,2*size_alleles*i); } } // SRB[20] = fitness_int; // Handle new fitness information handle_fitness_update(fitness_int, evaluated_indiv_addr, num_chromosomes); }; //!Instruction onemax-terminating-condition behavior method. // TCOMAX: Onemax terminating condition evaluation void ac_behavior( tcomax ) { unsigned int population_size,num_chromosomes,len_chromosomes,size_alleles,cga_population_size; unsigned int best_fitness_ever, best_fitness_possible,last_fitness_computed; num_chromosomes = SRB[0]; len_chromosomes = SRB[1]; size_alleles = SRB[2]; population_size = SRB[7]; // For CGA cga_population_size = SRB[11];

Page 114: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

111

// best_fitness_ever = SRB[8]; last_fitness_computed = SRB[20]; best_fitness_possible = size_alleles*len_chromosomes*num_chromosomes; // Terminating condition evaluation if (cp2rs2==0x0) termination_cond_max(best_fitness_ever,best_fitness_possible); else if (cp2rs2==0x1) termination_cond_lastngens(best_fitness_ever,last_fitness_computed,MAX_GENS_UNCHANGED,1); else if (cp2rs2==0x2) termination_cond_fit_equilbr(best_fitness_ever,population_size,num_chromosomes,2); else if (cp2rs2==0x3) termination_cond_cgadefault(len_chromosomes,log2ceil(cga_population_size)); }; //!Instruction saveload-"raw"-terminating-condition behavior method. // TCSLRW: Saveload "raw" terminating condition evaluation void ac_behavior( tcslrw ) { unsigned int population_size,num_chromosomes,len_chromosomes,size_alleles; unsigned int best_fitness_ever, best_fitness_possible, last_fitness_computed; num_chromosomes = SRB[0]; len_chromosomes = SRB[1]; size_alleles = SRB[2]; population_size = SRB[7]; // best_fitness_ever = SRB[8]; last_fitness_computed = SRB[20]; //best_fitness_possible = len_chromosomes*num_chromosomes; best_fitness_possible = size_alleles*len_chromosomes*num_chromosomes; // Terminating condition evaluation if (cp2rs2==0x0) termination_cond_max(best_fitness_ever,best_fitness_possible); else if (cp2rs2==0x1) termination_cond_lastngens(best_fitness_ever,last_fitness_computed,MAX_GENS_UNCHANGED,1); else if (cp2rs2==0x2) termination_cond_fit_equilbr(best_fitness_ever,population_size,num_chromosomes,2); }; ���������������

G HJI K5L!M I N"M*O P!O*Q�R.QTS!U!Q�S,R I P>O.Q�V!W�X I R , P�S.Y Z�X,[�V�S�Y S!\!Q ]9X^Q�X!S I6_ U!Q R"[!]TK"L I6` Z*\.Q , V,W�M!O*Q S Iba L�c*d&X a S!M*O a P5S�Y>Q X�N I P�S!e�Z5Y S.Y a f I M�[5M>]gcbR a _ R I X5hEY!]�M*i!Q�S,R I P�S.Y P>O*QjV>W�X I R . k�l�monbpq6l

: r s�tu�v>w�x�y z�{*|}+~.� �"��� �,�"|�t!�9�!��u �*{,� �*~"�Ju6���!���gu�{>wj�^��{ ��u3w"� w�uCs�y ��s�t!s*wj�>�"t!��� �!�*� ��t.�����5��w*s��!��y ��t*�"y �,�}b�*���*{ . k�l�m.���,�!�"l�� : r �*�"�Ju6��s�y ���>� �"s�tgu=�5�,�.���u �u�y �*s�t,s"w��*�*t*�!�Ty �!�*� ��t*�����"�*w*s��!��y w�� �*{ w"��t!|"� ����u+t!��y �*s�t>s5�5�!��t,~.� . �*�gqbm!�9���.�*lT�: ���*�"�*�"� ����� ���!��x��,���5��� �!�*� ��t*�����"�*w*s��!��y , ��s��!�*�"�"{*�"{ ��uCs ��s �>���ouCw�{*v��T} . ���� "¡*��¢! "¡*� : £.{>w"s}�����u wJu6s �>~��gu+�.���"�Ju6{*w��E��{ �T��ubt,� �*s�t>s5�5�!��t,~.� , �<u �>����}8�gu s��"���"�,�"�*¤!� �gu+y �"s�t!s*w��!��t!�*��y �E��x5y ��t.���,�"�*w*sT���5y �>s�u w*���"t��T} �Ju �>sTt&s����.��t��>y s����.��} , ��s ��}6��sJu ��� �!��s"�Ju6�"� w"�5t�|�� , ��� �>���ou+�>� Gray, sTtu�v>w���} �<u¥�T{��.��y ���"�"�gu6s"���!���5�5y � . � . � .

Individual: �E��s s"�"x ���>tou6�"�*x��"��t&s ��t,~"w"�"�>��w.sT�,s wj� �>�*���T�,��tu6w��E��{ �guCw�� ��s��!s*�"�"{*�"x5��{5�,s�y fitness. Allele: { �guCw�� �"�*� w.����t��T} ��s �&�T��u �E��s �T�&�<}b�Ju6� , x>��~�y s����*t,s�u6�5y , ���*s��gu��*x�y � . s . Crossover ( ¦ q���¢j�^��§E�T "¢>¨ ): ©��u+�*�!�TtE�J}+s ���>� ���!���>�"�9�!��u �*�>��y ���!��x5�&���"�*��y �!~!� ���"� �,�Ju6�����"w��^��~!� ���,���E~*� �-u6s �!{>� s*��x*���!{"�*{ ���"� �9��~.� �.s-u6�JuC�.� .

Page 115: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

112

Environment(ª9« �¬q6­"®>¯�¯5l5m ): °"� �Tt�xT����{>w"s . ±�s�tgu6���,�.���u w�u3s �>�.����t*�*{.��{ - �^�����u^²,{ �*{�y �*s��!s*���5{��"x��!{��,s�y �&~*� |>s�u³��x��>�.��~!� . Fitness( ´�µ5« n6� / ¶ �����!¯�¯*¨"¯"�9��¨��^� ): ±�t,s.��w"s��gu=��� �u6w"� ���!� s"�"���"�,����} �^�����u^²&{ ��{5y ���gu�x��.{��!s�y ����x�y individual ~�y �.¤��*{ ���!� �Tt�xT����{>w"s . Locus: · v��>�*{ ���>� ��s����,����u �.� ���>�g}8�gu�� ���*� ��t!~*w�x*�*~*w�s .

Mutation (�« �E®>¯"¯"��¹^¨ ): ©��ub�!�*��t,�o}�s �"�*� s*���.��,�u s*��v*x5t&w�{��!s �^��s � ���*tu��*�"x����!t>s alleles �*�!� ���,��x��!�*���!� . Population( ª ¯"¨�º*�*¢.¡*�T� ): »���s ��¤��T�>��� individuals w�� �>s s!����}8���*�ou+�>s � ’ s*�T�&� �5�,s��u����ou6��� w��E���!v*{ ( w��>�*��y x�t.��y �*����}+s�y / ��s��>s*�"�"{*�"x��!{5�&sTy , s"�"�"���>�5�T��uby Hamming, � . s .). Selection ( ¼ �JqC¯�l µ!½ ): °*s����ou6�"� �E�-uC���,����y ����x5y individual s"�"x �*�&� �"�"{"v>���>w�x ( ����uC���,��� ����� �>s��,s"�*��{!��x����>t.�>� ).

¾�¿�À�¿�À�ÁÂ�Ã�¿ Ä

Å�Æ Ç�Æ�È,É Ê�Ë,Ì5Í8Î Ï ÐEÑ�Ò6Ñ.Ó5ÔÖÕ.×�ÒCØ-Ù :

--Data register file 2 read port /2 write port library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity sparegfile is generic( d_width : integer := 16; addr_width : integer := 4; mem_depth : integer := 16 ); port ( o, p : out STD_LOGIC_VECTOR(d_width - 1 downto 0):=(others=>'0'); we1, we2, wclk, reset : in STD_LOGIC:='0'; d, f : in STD_LOGIC_VECTOR(d_width - 1 downto 0):=(others=>'0'); addrod, addrpf : in STD_LOGIC_VECTOR(addr_width - 1 downto 0):=(others =>'0') ); end sparegfile; architecture beh_ram of sparegfile is -- Type declarations type mem_type is array (mem_depth - 1 downto 0) of STD_LOGIC_VECTOR (d_width - 1 downto 0); -- Signal declarations signal mem : mem_type:=(others=>(others=>'0')); signal w : std_logic; begin -- process(wclk, we1, w, addrod, addrpf) begin if (rising_edge(wclk)) then if reset='1' then mem <=(others=>(others=>'0')); elsif we1='1' and w='1' then mem(conv_integer(addrod)) <= d; -- mem(conv_integer(addrpf)) <= f; -- elsif we1='0'and w='1' then mem(conv_integer(addrpf)) <= f; elsif we1='1'and w='0' then mem(conv_integer(addrod)) <= d; else null;

Page 116: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

113

end if; end if; end process; -- w <= '0' when addrod=addrpf else we2; -- o <= mem(conv_integer(addrod)); p <= mem(conv_integer(addrpf)); -- end beh_ram;

LFSR Ú<Û�Ü Ó�Õ*×�Ý�Þ�ß�Û!Ú-Û"Þ�à*á"×�Ð�â ÝÒ6× ß�Û!Ù*ã�ä�Ñ â?Ú<Þ å�Û.æ*à�ç Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity LFSR8_8E is port(clock:in std_logic:='0'; q1,q2 :out std_logic_vector(3 downto 0)); end; architecture RTL of LFSR8_8E is signal LFSR: std_logic_vector(7 downto 0):="00100100"; begin process(clock) variable feedback: std_logic:='0'; begin if clock'EVENT and clock='1' then feedback := LFSR(7) xor not(LFSR(0) or LFSR(1) or LFSR(2) or LFSR(3) or LFSR(4) or LFSR(5) or LFSR(6)); LFSR(0) <= feedback; LFSR(1) <= LFSR(0); LFSR(2) <= LFSR(1) xor feedback; LFSR(3) <= LFSR(2) xor feedback; LFSR(4) <= LFSR(3) xor feedback; LFSR(5) <= LFSR(4); LFSR(6) <= LFSR(5); LFSR(7) <= LFSR(6); end if; end process; q1 <= LFSR(3 downto 0); q2 <= LFSR(7 downto 4); end; è Û*Ù�ã�ä"Ñ ß�é8Ò�Õ�×�Ý9×*ç Ò6Ô-Ù ß�Û!Ù"ã�ä�Ô-Ù (one’s counter) -- Copyright (C) 2004 Jean-Luc Beuchat -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License -- as published by the Free Software Foundation; either version 2 -- of the License, or (at your option) any later version. -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Page 117: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

114

package arith_math is function log2ceil (N : Integer) return Integer; function log2floor (N : Integer) return Integer; -- Returns 1 if the Nth node of stage D is black; 0 otherwise function sklansky_node_func (D : Integer; -- 0 <= D <= log2ceil (Width-1) N : Integer) return Integer; -- 0 <= N <= Width-1 function counter_func (N : Integer; M : Positive) return Integer; function compressor_depth_func (K : Integer) return Integer; function fermat_multiplier_nxn_func (P0 : Integer; P1 : Integer; N : Integer) return Integer; function fermat_multiplier_zimmermann_arith99_func (P0 : Integer; P1 : Integer; N : Integer) return Integer; end arith_math; package body arith_math is function log2ceil (N : Integer) return Integer is variable i, j : Integer; begin i := 0; j := 1; while (j < N) loop i := i+1; j := 2*j; end loop; return i; end log2ceil; function log2floor (N : Integer) return Integer is variable i, j : Integer; begin i := -1; j := 1; while (j <= N) loop i := i+1; j := 2*j; end loop; return i; end log2floor; function sklansky_node_func (D : Integer; N : Integer) return Integer is variable c, i, j : Integer; begin j := 2**D; c := 0; -- white node for i in 1 to N loop j := j-1; if (j = 0) then c := 1-c; -- change node color j := 2**D; end if; end loop; -- i return c; end sklansky_node_func;

Page 118: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

115

function counter_func (N : Integer; M : Positive) return Integer is variable i, j : Integer; begin j := 0; i := N; while (i >= M) loop j := j + i; i := i/2; end loop; return j; end counter_func; function compressor_depth_func (K : Integer) return Integer is variable s, c, d : Integer; begin s := K; c := K-3; d := 1; while (c /= 0) loop c := c - (s/3); s := 2*(s/3) + (s mod 3); d := d+1; end loop; return d; end compressor_depth_func; function fermat_multiplier_nxn_func (P0 : Integer; P1 : Integer; N : Integer) return Integer is variable d, i : Integer; begin if (P0+P1 = 0) then return 0; else d := log2ceil (N); if (P1 = 0) then if (d >= P0) then return 1; else return 0; end if; else -- P1 /= 0 if (P0 /= 0) then d := d - P0; if (d >= 0) then i := 1; else return 0; end if; end if; while (d >= 0) loop d := d - P1; if (d >= 0) then i := i + 1; end if; end loop; end if; end if; return i; end fermat_multiplier_nxn_func; function fermat_multiplier_zimmermann_arith99_func (P0 : Integer; P1 : Integer; N : Integer) return Integer is variable d, i : Integer;

Page 119: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

116

begin if (P0+P1 = 0) then return 0; else d := compressor_depth_func (N+1); if (P1 = 0) then if (d >= P0) then return 1; else return 0; end if; else -- P1 /= 0 if (P0 /= 0) then d := d - P0; if (d >= 0) then i := 1; else return 0; end if; end if; while (d >= 0) loop d := d - P1; if (d >= 0) then i := i + 1; end if; end loop; end if; end if; return i; end fermat_multiplier_zimmermann_arith99_func; end arith_math; -- Copyright (C) 2004 Jean-Luc Beuchat -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License -- as published by the Free Software Foundation; either version 2 -- of the License, or (at your option) any later version. -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity multioperand_cra_stage_generic is generic ( Cin : Integer := 0; Width0 : Integer := 16; Width1 : Integer := 0; Width2 : Integer := 20; K0 : Integer := 16; -- K0 Width0-bit numbers K1 : Integer := 0); -- K1 Width1-bit number (K1=0 or K1=1) port ( X : in std_logic_vector (K1*Width1+K0*Width0-1 downto 0):=(others =>'0'); -- K1 Width1-bit number & K0 Width0-bit numbers

Page 120: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

117

S : out std_logic_vector (Width2-1 downto 0):=(others =>'0') ); end multioperand_cra_stage_generic; architecture recursive of multioperand_cra_stage_generic is component multioperand_cra_stage_generic generic ( Cin : Integer; Width0 : Integer; Width1 : Integer; Width2 : Integer; K0 : Integer; K1 : Integer); port ( X : in std_logic_vector (K1*Width1+K0*Width0-1 downto 0):=(others =>'0'); S : out std_logic_vector (Width2-1 downto 0):=(others =>'0') ); end component; signal current_s : std_logic_vector (((K0+1) mod 2)*((K0/2)*(Width0+1)+ K1*Width1)+ (K0 mod 2)*(((K0-1)/2)*(Width0+1)+ (1-K1)*Width0+ K1*(Width0+1))-1 downto 0); begin -- recursive add_loop : for i in 0 to (K0/2)-1 generate Cin_eq_zero : if (Cin = 0) generate current_s ((i+1)*(Width0+1)-1 downto i*(Width0+1)) <= ('0' & X ((2*i+1)*Width0-1 downto 2*i*Width0)) + ('0' & X (2*(i+1)*Width0-1 downto (2*i+1)*Width0)); end generate Cin_eq_zero; Cin_neq_zero : if (Cin /= 0) generate current_s ((i+1)*(Width0+1)-1 downto i*(Width0+1)) <= ('0' & X ((2*i+1)*Width0-1 downto 2*i*Width0)) + ('0' & X (2*(i+1)*Width0-1 downto (2*i+1)*Width0)) + 1; end generate Cin_neq_zero; end generate add_loop; K0_even_K1_neq_0 : if ((K0 mod 2 = 0) and (K1 /= 0)) generate current_s (Width1+(K0/2)*(Width0+1)-1 downto (K0/2)*(Width0+1)) <= X (Width1+K0*Width0-1 downto K0*Width0); end generate K0_even_K1_neq_0; K0_odd : if (K0 mod 2 = 1) generate K1_eq_zero : if (K1 = 0) generate current_s (Width0+((K0-1)/2)*(Width0+1)-1 downto ((K0-1)/2)*(Width0+1)) <= X (K0*Width0-1 downto (K0-1)*Width0); end generate K1_eq_zero; K1_neq_zero : if (K1 /= 0) generate Cin_eq_zero : if (Cin = 0) generate current_s (Width0+((K0-1)/2)*(Width0+1) downto ((K0-1)/2)*(Width0+1)) <= ('0' & X (K0*Width0-1 downto (K0-1)*Width0)) + X (K0*Width0+Width1-1 downto K0*Width0); end generate Cin_eq_zero; Cin_neq_zero : if (Cin /= 0) generate current_s (Width0+((K0-1)/2)*(Width0+1) downto ((K0-1)/2)*(Width0+1)) <= ('0' & X (K0*Width0-1 downto (K0-1)*Width0)) + X (K0*Width0+Width1-1 downto K0*Width0) + 1; end generate Cin_neq_zero; end generate K1_neq_zero; end generate K0_odd; last_stage : if (((K0+1) mod 2)*(K0/2)*((Width0+1)+ K1*Width1)+ (K0 mod 2)*(((K0-1)/2)*(Width0+1)+

Page 121: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

118

(1-K1)*Width0+ K1*(Width0+1)) = Width2) generate S <= current_s; end generate last_stage; next_stage : if (((K0+1) mod 2)*(K0/2)*((Width0+1)+ K1*Width1)+ (K0 mod 2)*(((K0-1)/2)*(Width0+1)+ (1-K1)*Width0+ K1*(Width0+1)) /= Width2) generate addmopstage : multioperand_cra_stage_generic generic map ( Cin => Cin, Width0 => Width0+1, Width1 => ((K0+1) mod 2)*K1*Width1+ (K0 mod 2)*(1-K1)*Width0, Width2 => Width2, K0 => K0/2+ (K0 mod 2)*K1, K1 => ((K0+1) mod 2)*K1+ (K0 mod 2)*(1-K1)) port map ( X => current_s, S => S); end generate next_stage; end recursive; -- Copyright (C) 2004 Jean-Luc Beuchat -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License -- as published by the Free Software Foundation; either version 2 -- of the License, or (at your option) any later version. -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. library ieee; use ieee.std_logic_1164.all; library work; use work.arith_math.all; entity multioperand_cra_generic is generic ( Cin : Integer := 0; Width : Integer := 1; K : Integer := 16); port ( X : in std_logic_vector (K*Width-1 downto 0):=(others =>'0'); S : out std_logic_vector (Width+Log2Ceil(K)-1 downto 0):=(others =>'0') ); end multioperand_cra_generic; architecture recursive of multioperand_cra_generic is component multioperand_cra_stage_generic generic ( Cin : Integer;

Page 122: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

119

Width0 : Integer; Width1 : Integer; Width2 : Integer; K0 : Integer; K1 : Integer); port ( X : in std_logic_vector (K1*Width1+K0*Width0-1 downto 0):=(others =>'0'); S : out std_logic_vector (Width2-1 downto 0):=(others =>'0') ); end component; begin -- recursive Tree : multioperand_cra_stage_generic generic map ( Cin => Cin, Width0 => Width, Width1 => 0, Width2 => Width+Log2Ceil(K), K0 => K, K1 => 0) port map ( X => X, S => S); end recursive;

ê Û Ð,Û"ß�ß�ã�Ò6Þ â�å�é�æ!Ó�Û�Ü Ò3Û�Ü Ý�Ó"à�ß�ÑjÒ3Û"ç 5.2.1: Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_arith.all; Use ieee.std_logic_unsigned.all; Use work.rom.all; Entity pipeline_con is port ( clk, reset : in std_logic:='0'; GO, halt : in std_logic:='0'; consignals : out std_logic_vector(48 downto 0) ); end pipeline_con; Architecture arch_pipe of pipeline_con is -- Component decoder port ( clk : in std_logic:='0'; instruction : in std_logic_vector(15 downto 0):=(others=>'0'); decoded : out std_logic_vector(48 downto 0):=(others =>'0'); ilen, pien : out std_logic:='0' ); end component; -- Component PC --programm counter port ( clk, reset, PL, PI : std_logic:='0'; d : in std_logic_vector(7 downto 0):="00000000"; --gia parallnln fortwsi q : out std_logic_vector(7 downto 0):="00000000" ); end component; --------------------- Component IR --instruction register port ( clk, reset, IL : std_logic:='0'; --IL instruction load d : in std_logic_vector(15 downto 0):="0000000000000000"; q : out std_logic_vector(15 downto 0):="0000000000000000" ); end component; --------------------

Page 123: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

120

Component CSR --control signal register (32bit gia megalyteri euxereia sto mellov) --generic(v : positive); port ( clk, reset, RL : std_logic:='0'; --RL register load d : in std_logic_vector(48 downto 0):=(others=>'0'); q : out std_logic_vector(48 downto 0):=(others => '0') ); end component; ------------------- Component romem --instruction memory port( addr : in std_logic_vector(7 downto 0):="00000000"; q : out std_logic_vector(15 downto 0):="0000000000000000" ); end component; --------- For U1: PC use entity work.PC(arpc); For U2: romem use entity work.romem(mem); For U3: IR use entity work.IR(arir); For U4: decoder use entity work.decoder(rtld); For U5: CSR use entity work.CSR(arcsr); -----signals declaration--- signal memout,instruction : std_logic_vector(15 downto 0):=(others =>'0'); signal nonstop,PL,PI,IL,RL, piout,ilout,ilen, pien: std_logic:='0'; signal decod : std_logic_vector(48 downto 0):=(others =>'0'); signal jmp, addrout : std_logic_vector(7 downto 0):="00000000"; signal conout : std_logic_vector(48 downto 0):=(others =>'0'); ------------------------------------------------------------------------------------ begin U1 : PC port map( clk =>clk, reset=>reset, PL=>PL, PI=>PI , d =>jmp, q =>addrout); U2 : romem port map(addr=>addrout, q=>memout); U3 : IR port map(clk=>clk, reset=>reset, IL=>IL, d=> memout, q=>instruction); U4 : decoder port map(clk=>clk,instruction=>instruction, decoded=>decod,ilen=>ilen,pien=>pien); U5 : CSR port map(clk=>clk,reset=>reset,RL=>nonstop,d=>decod, q=>conout); -- process(GO, halt) begin if GO='1' then if halt='0' then --prepei va syvexisei tnv avazntnsn lysns nonstop <= '1'; else nonstop<= '0'; end if; else null; end if; end process; --PL PL <= conout(0) and nonstop; --PI piout <= conout(1) and pien; PI <= piout and nonstop; --IL ilout <= conout(2) and ilen; IL <= ilout and nonstop; -- jmp <= conout(45 downto 38); --lcount1 &lcount2 -- consignals <= conout; end arch_pipe; Library ieee; Use ieee.std_logic_1164.all; Entity decoder is port ( clk : in std_logic:='0';

Page 124: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

121

instruction : in std_logic_vector(15 downto 0):=(others=>'0'); decoded : out std_logic_vector(48 downto 0):=(others =>'0'); ilen, pien: out std_logic:='0' ); end decoder; Architecture rtld of decoder is -- Component controlcr_mut Port ( clk : in std_logic:='0'; --gevika apo entoli LD,DIA,MET : in std_logic:='0'; --1 otav exw mutation GL : in std_logic_vector(1 downto 0):= "00"; --diamorfwvei to mikos tou govidiou --gia crossover CK : IN std_logic_vector(2 downto 0); --crossover kind l1, l2 : IN std_logic_vector(2 downto 0):="000"; l3 : IN std_logic:='0'; --boolean CZ : OUT std_logic_vector(1 downto 0):="00"; --ta snmata elegxou tou datapath -- CL,CZ : OUT std_logic_vector(1 downto 0); --ta snmata elegxou tou datapath ms : OUT std_logic_vector(4 downto 0):="00000"; --gia tous polyplektes ctrlm : OUT std_logic_vector(1 downto 0):="00"; -- 00 gia elegxo apo ms(3:0), 01 gia e, 10 gia s, kai 11 gia x --gia mutation MP,MK : in std_logic_vector(1 downto 0):="00"; --apo entoli kai lfsr Mutation point + mutation kind diri : in std_logic:='0'; -- apo lsfr gia to dir random_boolean: in std_logic:='0'; --apo lfsr gia apofasi elegxou random3 : in std_logic_vector(1 downto 0):="00"; -- >> dir : out std_logic:='0'; -- apo lsfr gia to datapath mut ck20, ck10 : out std_logic:='0'; -- elegxos polyplektwv ck0 : out std_logic_vector(1 downto 0):="00"; M, rd : out std_logic_vector(3 downto 0):="0000"; --M gia ti sta8era ct0 L : out std_logic_vector(1 downto 0):="00"; --gia tov elegxo toy mikous tou govidiou&gia crossover --write enable sto sparegfile WB1 : out std_logic:='0'; WB2 : out std_logic:='0'; --gia pipeline IL : out std_logic:='0'; --instruction load PI : out std_logic:='0'; -- PC increment PL : out std_logic:='0'; --Load PC -- RL : out std_logic:='0'; --Load C control signals register CSR counter : out std_logic_vector(1 downto 0):="00" ); end component; ---- Component controlsel_fit Port ( clk : in std_logic:='0'; --gevika apo entoli START,EPI,FIT,JMP,CON : in std_logic:='0'; --1 otav exw selection kai fitness calculation -- GL : in std_logic_vector(1 downto 0):="00";

Page 125: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

122

--gia evtoli EPI (selection) SK : in std_logic_vector(1 downto 0):="00"; ints, rds, FL : out std_logic:='0'; --gia ta diafora eidn selection (int==init) wadr1, wadr2 : out std_logic:='0'; --gia tous kataxwrites diey8ynsewv --gia FIT (fitness calculation) FK : in std_logic:='0'; --apo evtoli intstruction(1) --gia eggrafn fitregfile we1, we2,stall : out std_logic:='0'; --gia pipeline aparaitnta IL : out std_logic:='0'; --instruction load PI : out std_logic:='0'; -- PC increment PL : out std_logic:='0' --Load PC ); end component; ---- Component lfsrcon port( clock : in std_logic:='0'; l1, l2 : out std_logic_vector(2 downto 0):="000"; l3 : out std_logic:='0'; --boolean MP : out std_logic_vector(1 downto 0):="00"; ----gia mutation diri : out std_logic:='0'; -- apo lsfr gia to dir random_boolean: out std_logic:='0'; --apo lfsr gia apofasi elegxou random3 : out std_logic_vector(1 downto 0):="00" -- >> ); end component; -- Component opdecode port ( opcode : in std_logic_vector(3 downto 0):="0000"; JMP,LD,DIA,MET,START,EPI,FIT,CON : out std_logic:='0' ); end component; -- For U1: opdecode use entity work.opdecode(rtldc); For U2: controlcr_mut use entity work.controlcr_mut(mealy_crmut); For U3: controlsel_fit use entity work.controlsel_fit(mealy_selfit); For U4: lfsrcon use entity work.lfsrcon(rtlfsr); ----signals declaration--- signal START,JMP,LD,DIA,MET,EPI,FIT,CON,l3,diri, random_boolean : std_logic:='0'; signal FK,ck20, ck10, dir, WB1, WB2, ints, rds, FL, wadr1,wadr2,we1,we2, stall : std_logic:='0'; signal il1,pi1,pl1,il2,pi2,pl2: std_logic:='0'; signal GL,MK,SK,MP,random3,CZ, ctrlm, ck0,L, counter :std_logic_vector(1 downto 0):="00"; signal CK,l1,l2 : std_logic_vector(2 downto 0):="000"; signal M, rd, opcode : std_logic_vector(3 downto 0):="0000"; signal ms : std_logic_vector(4 downto 0):="00000"; --gia tous polyplektes ------------------------------------------------------------------------------------ -- 48 |47 |46| 45 44 43 42| 41 40 39 38| 37 36| 35 34| 33 32| 31 30 29 28 27 | 26| 25 |24| 23 22 --CON FIT -FL -lcount1 - -lcount2 - -L- -CZ- -ctrlm- -ms- -dir-ck20-ck10 -ck0- --|21 20 19 18| 17 16 15 14 |13 | 12 | 11| 10 | 9 | 8 | 7 | 6 |5 | 4 | 3 | 2| 1 |0 -- M- -rd- -WB1-WB2-ints-rds-wadr1-wadr2-we1-we2- LD-MET-EPI -IL-PI- PL begin opcode <= instruction(15 downto 12); GL <= instruction(11 downto 10); --gia eisodo sti control CK <= instruction(9 downto 7); MK <= instruction(8 downto 7);

Page 126: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

123

FK <= instruction(1); SK <= instruction(9 downto 8); --Lcount1 <= instruction(9 downto 6); --ta pedia tns evtolis gia diey8yvsi toy chromosome reg file --Lcount2 <= instruction(5 downto 2); -- U1 : opdecode port map(opcode,JMP,LD,DIA,MET,START,EPI,FIT,CON); U2 : controlcr_mut port map(clk,LD,DIA,MET,GL,CK,l1,l2,l3,CZ,ms,ctrlm,MP,MK, diri,random_boolean, random3,dir,ck20,ck10,ck0,M,rd,L,WB1,WB2,il1,pi1,pl1,counter); U3 : controlsel_fit port map(clk,START,EPI,FIT,JMP,CON,SK,ints,rds,FL,wadr1,wadr2,FK,we1,we2,stall,il2,pi2,pl2); U4 : lfsrcon port map(clk,l1,l2,l3,MP, diri,random_boolean,random3); --decoded apo control movada decoded(48) <= CON; --apo opdecode decoded(47) <= FIT; --apo opdecode decoded(46) <= FL; --apo controlselfit decoded(45 downto 42) <= instruction(9 downto 6);-- Lcount1; --apo thn entolh LD 7:0 decoded(41 downto 38) <= instruction(5 downto 2); --Lcount2; decoded(37 downto 36) <= L; --2to snma gia ti diamorfwsi (4/8/16) decoded(35 downto 34) <= CZ; --2 gia tov eidiko afaireti, o afairetaios decoded(33 downto 32) <= ctrlm; --2 gia to eidos crossover decoded(31 downto 27) <= ms; -- 5 decoded(26)<= dir; --1 decoded(25)<= ck20; --1 decoded(24)<= ck10; --1 decoded(23 downto 22)<= ck0; --2 decoded(21 downto 18)<= M ; -- 4 M decoded(17 downto 14)<= rd ; -- 4 rd decoded(13)<= WB1; -- 1wb1 decoded(12) <= WB2; -- 1 wb2 decoded(11) <= ints; -- 1 init decoded(10) <= rds; --1 rds decoded(9) <= wadr1; -- 1 waddr1 decoded(8) <= wadr2; --1 waddr2 decoded(7) <= we1; --1 we1 decoded(6) <= we2; -- 1 we2 decoded(5) <= LD; --1 LD decoded(4) <= MET; --1 MET decoded(3) <= EPI; --1 EPI decoded(2)<= il1 or il2; --IL decoded(1)<= pi1 or pi2; --PI decoded(0)<= pl1 or pl2; --PL gia PC load -- process(instruction,LD,DIA,MET,START,EPI,FIT,CON,JMP,counter,stall) --bubble gia multicycle instructions begin if DIA = '1' then case CK is when "101" => if counter /= "00" then pien <= '0' ; ilen <= '0'; else pien <= '1' ; ilen <= '1'; end if;

Page 127: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

124

when others => pien <= '1' ; ilen <= '1'; end case; elsif MET='1' then case CK is when "010" => if counter /= "00" then --integer multipoint pien <= '0'; ilen <= '0'; else pien <= '1'; ilen <= '1'; end if; when "011" => if counter /="00" then --integer allpoint pien <= '0'; ilen <= '0'; else pien <= '1'; ilen <= '1'; end if; when others => pien <= '1' ; ilen <= '1'; end case; elsif EPI='1' then case stall is when '1' => pien <= '0'; ilen <= '0'; when others => pien <= '1'; ilen <= '1'; end case; --elsif JMP='1' then -- plen <= '1'; --jump stov epomevo kyklo new -- pien <= '0'; -- ilen <= '1'; else -- plen <= '0'; pien<= '1'; ilen <= '1'; end if; end process; end rtld; ë

ß5Û!Ù*ã�ä"Ñ â�å�é=æ!Ó5Û"Ü ä�Þ Ñ"Ý9Ò6Ñ�ì�Õ�Ô-Ý×*ç Ð�Ñ�Þ ß�âEÒ6ã.å!å�Ñ�í�×*ç :

Page 128: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

125

Library ieee; Use ieee.std_logic_1164.ALL; use ieee.std_logic_arith.all; --LD, DIA, MET Entity controlcr_mut is Port ( clk : in std_logic:='0'; --gevika apo entoli LD,DIA,MET : in std_logic:='0'; --1 otav exw mutation GL : in std_logic_vector(1 downto 0):= "00"; --diamorfwvei to mikos tou govidiou --gia crossover CK : IN std_logic_vector(2 downto 0); --crossover kind l1, l2 : IN std_logic_vector(2 downto 0):="000"; l3 : IN std_logic:='0'; --boolean CZ : OUT std_logic_vector(1 downto 0):="00"; --ta snmata elegxou --tou datapath CL,CZ : OUT std_logic_vector(1 downto 0); --ta snmata elegxou tou ----datapath ms : OUT std_logic_vector(4 downto 0):="00000"; --gia tous polyplektes ctrlm : OUT std_logic_vector(1 downto 0):="00"; -- 00 gia elegxo apo ms(3:0), 01 gia e, 10 gia s, kai 11 gia x --gia mutation MP,MK : in std_logic_vector(1 downto 0):="00"; --apo entoli kai lfsr Mutation point + mutation kind diri : in std_logic:='0'; -- apo lsfr gia to dir random_boolean: in std_logic:='0'; --apo lfsr gia apofasi elegxou random3 : in std_logic_vector(1 downto 0):="00"; -- >> dir : out std_logic:='0'; -- apo lsfr gia to datapath mut ck20, ck10 : out std_logic:='0'; -- elegxos polyplektwv ck0 : out std_logic_vector(1 downto 0):="00"; M, rd : out std_logic_vector(3 downto 0):="0000"; --M gia ti sta8era ct0 L : out std_logic_vector(1 downto 0):="00"; --gia tov elegxo toy mikous tou govidiou&gia crossover --write enable sto sparegfile WB1 : out std_logic:='0'; WB2 : out std_logic:='0'; --gia pipeline IL : out std_logic:='0'; --instruction load PI : out std_logic:='0'; -- PC increment PL : out std_logic:='0'; --Load PC counter : out std_logic_vector(1 downto 0):="00" ); end controlcr_mut; Architecture mealy_crmut of controlcr_mut is component dcounter --U1 port ( clk : in std_logic; denc : in std_logic:='0'; --enable down counter load : in std_logic:='0'; --fortwvei asygxrova tnv timn tou counter data_in : in std_logic_vector(1 downto 0):= "00"; zero_detect : out std_logic:='0'; --deixvei pote to periexomeno toy counter ---midenizetai cout : out std_logic_vector(1 downto 0) ); end component; For U1 : dcounter use entity work.dcounter(beh_dcounter); type state_type is (ex0, ex1); signal state : state_type:=ex0;

Page 129: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

126

signal data_dc : std_logic_vector(1 downto 0):="00";--count gia elegxo zero, fase gia ka8orismo fasis signal count: std_logic_vector(1 downto 0):="00";--count gia elegxo zero, fase gia ka8orismo fasis signal denc, load, zerod : std_logic:= '0'; signal instr1, instr2 : std_logic_vector(3 downto 0):="0000"; --gia crossover begin --MK --1)ga_mutate_integer_singlepoint_drift() 00 --2)ga_mutate_integer_singlepoint_randomize()01 --3)ga_mutate_integer_multipoint() 10 --4)ga_mutate_integer_allpoint() 11 U1 : dcounter port map (clk => clk , denc => denc, load=> load , data_in => data_dc, zero_detect => zerod, cout => count); counter <= count; process(clk) begin if clk'event and clk='1' then case state is when ex0 => if LD='1' then

state <= ex0; elsif DIA='1' then

if CK="101" then state <= ex1; else state <= ex0; end if;

elsif MET='1' then if MK(1)='1' then state <= ex1; else state <= ex0; end if;

else state <= ex0;

end if; when ex1 => if DIA='1' then if CK="101" and zerod='0' then state <= ex1; elsif CK="101" and zerod='1' then state <= ex0; else null; end if; elsif MET='1' then

if MK(1) ='1' and zerod='0' then state <= ex1; elsif MK(1)= '1' and zerod ='1' then state <= ex0; else null; end if;

else null; end if;

end case; end if; end process; L <= GL; --4bit=00, 8bit=10, 16bit=11 CZ <= not(GL); instr1 <= MP&GL; instr2 <= count&GL; process(GL) begin case GL is when "00" => --CL <= "00";

Page 130: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

127

data_dc <= "11"; --4bit ck0 <= "00"; ck20 <= '0'; ck10 <= '0'; when "10" => --CL <= "10"; data_dc <= "01"; --8bit ck0 <= "01"; ck20 <= '1'; ck10 <= '0'; when "11" => --CL <= "11"; data_dc <= "00"; --16bit ck0 <= "10"; ck20 <= '1'; ck10 <= '1'; when others => data_dc <= "11"; --4bit ck0 <= "00";

ck20 <= '0'; ck10 <= '0'; end case; end process; process(state,LD,MET,DIA,MK,GL,CK,l1,l2,l3,diri,zerod,random_boolean,count,random3,MP,instr1,instr2) begin case state is when ex0=> if LD='1' then

WB1 <= '1'; WB2 <= '1';

IL <= '1'; --fortwvetai n evtoli stov IR reg PI <= '1'; --PC <- PC+1 PL <= '0'; ms <="00000"; ctrlm <= "00"; dir <='0';

M <= "0000"; rd <= "0000";

elsif DIA='1' then WB1 <= '1'; WB2 <= '1'; load <= '1'; --EX0 denc <='0'; dir <='0'; M <= "0000"; rd <= "0000";

-------- case CK is

when "000" => ctrlm <= "00"; -- ga_singlepoint_crossover_integer_chromosome() "000"

IL <= '1'; --fortwvetai n evtoli stov IR reg PI <= '1'; --PC <- PC+1

PL <= '0'; if GL="00" then --GL=4bit "00"

case l1 is when "000" => ms <= "00000"; -- l1=0

when "001" =>ms <= "00001"; -- l1=1 when "010" => ms <= "00011"; -- l1=2

when "011" =>ms <= "00111"; -- l1=3 when "100" =>ms <= "01111";-- l1=4

when others => ms <= "00000"; end case;

elsif GL="10" then --GL=8bit "10" case l1 is when "000" => ms <= "00000";-- l1=0

when "001" => ms <= "00011"; --l1=1 when "010" => ms <= "01111"; --l1=2

Page 131: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

128

when others => ms <= "00000"; end case;

elsif GL="11" then --GL=16bit "11" case l1 is

when "000" => ms <= "00000"; -- l1=0 when "001" => ms <= "01111"; -- l1=1 when others => ms <= "00000";

end case; else null;

end if; when "001" => ctrlm <= "00"; --ga_doublepoint_crossover_integer_chromosome IL <= '1'; --fortwvetai n evtoli stov IR PI <= '1'; --PC <- PC+1 PL <= '0'; if GL = "00" and l1 ="000" then -- GL=4bit l1=0 case l2 is when "001" => ms <= "00001"; --l2=1 when "010" => ms <= "00011"; --l2=2 when "011" => ms <= "00111"; --l2=3 when "100" => ms <= "01111"; --l2=4 when others => ms <= "00000";

end case; elsif GL = "00" and l1 ="001" then -- GL=4bit l1=1

case l2 is when "010" => ms <= "00010"; --l2=2 when "011" => ms <= "00110";--l2=3

when "100" => ms <= "01110";--l2=4 when others => ms <= "00000";

end case; elsif GL = "00" and l1 ="010" then -- GL=4bit l1=2

case l2 is when "011" => ms <= "00100"; --l2=3 when "100" => ms <= "01100"; --l2=4 when others => ms <= "00000"; end case;

elsif GL = "00" and l1 ="011" then -- GL=4bit l1=3 if l2 = "100" then --l2=4 ms <= "01000"; else ms <= "00000"; end if; ---GL =8bit "10" elsif GL = "10" and l1 ="000" then -- GL=8bit l1=0 case l2 is when "001" => ms <= "00011"; -- l2=1 when "010" => ms <= "01111"; --l2=2 when others => ms <= "00000"; end case; elsif GL = "10" and l1 ="001" then -- GL=8bit l1=1 if l2 = "010" then --l2=2 ms <= "01100"; else ms <= "00000"; end if; --GL= 16bit "11"

elsif GL = "11" and l1 ="000" then -- GL=16bit l1=0 if l2 = "001" then -- l2=1 ms <= "01111"; else ms <= "00000"; end if; else null; end if;

when "110" => ctrlm <= "00"; --ga_crossover_integer_mixing 110 IL <= '1'; --fortwvetai n evtoli stov IR reg

Page 132: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

129

PI <= '1'; --PC <- PC+1 PL <= '0';

case l3 is when '0' => ms<= "01111"; when '1' => ms<= "00000"; when others => ms <= "00000";

end case; when "100" => ms(4) <= '1'; --ga_crossover_integer_mean 100

IL <= '1'; --fortwvetai n evtoli stov IR reg PI <= '1'; --PC <- PC+1

PL <= '0'; if GL="00" then

ctrlm <= "01"; -- 4bit elsif GL="10" then ctrlm <= "10"; --8bit elsif GL="11" then ctrlm <= "11"; --16bit else ctrlm<= "00"; end if; when others => ms<= "00000"; ctrlm <= "00"; IL <= '0'; --otav "101"? evtoli pollwv kyklwv PI <= '0'; PL <= '0'; end case; ----------mutation--------- elsif MET ='1' then WB1 <= '1'; WB2 <= '1'; load <= '1'; --EX0 denc <='0'; ms <="00000"; ctrlm <= "00"; -- if MK="00" then dir <= diri; rd <= "0000"; --ta MP(mutation point) einai n eisagwgi tis tyxaias ----epilogis gia to prwto eidos metallajns IL <= '1'; --fortwvetai n evtoli stov IR reg PI <= '1'; --PC <- PC+1 PL <= '0'; case instr1 is --mp&GL when "0000" => M <= "0001"; when "0100" => M <= "0010"; when "1000" => M <= "0100"; when "1100" => M <= "1000"; --4bit when "0010" => M <= "0001"; --8bit when "0110" => M <= "0100"; --8bit when "0011" => M <= "0001"; --16bit when others => M <= "0000"; end case; elsif MK ="01" then dir <= diri; M <= "0000"; IL <= '1'; --fortwvetai n evtoli stov IR reg PI <= '1'; --PC <- PC+1 PL <= '0'; case instr1 is --mp&GL when "0000" => rd <= "0001";--4bit when "0100" => rd <= "0010"; when "1000" => rd <= "0100"; when "1100" => rd <= "1000"; when "0010" => rd <= "0011";--8bit when "0110" => rd <= "1100";

Page 133: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

130

when "0011" => rd <= "1111"; --16 bit when others => rd <= "0000"; end case; else IL <= '0'; --pollwv kyklwv evtoli PI <= '0'; PL <= '0'; rd<= "0000"; M<= "0000"; end if; else WB1 <= '0'; WB2 <= '0'; ms <="00000"; ctrlm <= "00"; dir <='0'; M <= "0000"; rd <= "0000"; IL <= '0'; --perimenw apo alles evtoles va parouv timn PI <= '0'; --dev eivai evtoli DIA, MET n LD PL <= '0'; end if; ------------------------------------------ when ex1 => if DIA='1' then

WB1 <= '1'; WB2 <= '1'; load <= '0'; --EX1 denc <= '1'; dir <='0';

M <= "0000"; rd <= "0000";

if CK="101" then --ga_crossover_integer_allele_mixing ms(4) <= '0'; case GL is when "00" => case count is --4bit when "11" => ms <= (3 => not(l3),others=>'0'); IL <= '0'; -- PI <= '0'; -- PL <='0'; when "10" => ms <= (2 => not(l3),others=>'0'); IL <= '0'; -- PI <= '0'; -- PL <='0'; when "01" => ms <= (1=> not(l3),others =>'0'); IL <= '0'; -- PI <= '0'; -- PL <='0'; when "00" => ms <= (0=> not(l3),others =>'0'); IL <= '1'; -- PI <= '1'; -- PL <='0';

when others => ms <= "00000"; IL <= '0'; -- PI <= '0'; -- PL <='0'; end case; when "10" => case count is --8bit

when "01" => ms <= (3=> not(l3), 2=> not(l3),others =>'0'); IL <= '0'; -- PI <= '0'; -- PL <='0'; when "00" => ms <= (1=> not(l3), 0=> not(l3),others =>'0'); IL <= '1'; -- PI <= '1'; -- PL <='0'; when others => ms <= "00000"; IL <= '0'; --

Page 134: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

131

PI <= '0'; -- PL <='0'; end case; when "11" => case count is --16bit when "00" =>ms <= ( 3=> not(l3), 2=> not(l3),1=> not(l3), 0=> not(l3),others =>'0'); IL <= '1'; -- PI <= '1'; -- PL <='0'; when others => ms <= "00000"; IL <= '0'; -- PI <= '0'; -- PL <='0';

end case; when others => null; end case; else null; end if; ---------mutation----------- elsif MET ='1' then WB1 <= '1'; WB2 <= '1'; load <= '0'; --EX1 denc <= '1'; ms <="00000"; ctrlm <= "00"; MK ="10" then --3 syvartisi rd <= "0000"; dir <= diri; if random_boolean='1' then --ka8e fora pragmatopoieitai n oxi metallajn avaloga me --tin tyxaia metabliti random boolean case instr2 is --count&gl when "0000" => M <= "0001"; --4bit

IL <= '1'; -- PI <= '1'; -- PL <='0'; when "0100" => M <= "0010"; IL <= '0'; -- PI <= '0'; -- PL <='0'; when "1000" => M <= "0100"; IL <= '0'; -- PI <= '0'; -- PL <='0'; when "1100" => M <= "1000"; IL <= '0'; -- PI <= '0'; -- PL <='0'; when "0010" => M <= "0001";--8bit IL <= '1'; -- PI <= '1'; -- PL <='0'; when "0110" => M <= "0100"; IL <= '0'; -- PI <= '0'; -- PL <='0'; when "0011" => M <= "0001"; --16bit IL <= '1'; -- PI <= '1'; -- PL <='0';

when others => M <= "0000"; IL <= '0'; -- PI <= '0'; -- PL <='0';

end case; end if;

Page 135: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

132

elsif MK ="11" then --4 syvartisi rd <= "0000"; case instr2 is --count&gl when "0000" => M <= "0001"; --4bit IL <= '1'; --

PI <= '1'; -- PL <='0';

when "0100" => M <= "0010"; IL <= '0'; --

PI <= '0'; -- PL <='0';

when "1000" => M <= "0100"; IL <= '0'; --

PI <= '0'; -- PL <='0';

when "1100" => M <= "1000"; IL <= '0'; --

PI <= '0'; -- PL <='0';

when "0010" => M <= "0001";--8bit IL <= '1'; --

PI <= '1'; -- PL <='0'; when "0110" => M <= "0100";

IL <= '0'; -- PI <= '0'; -- PL <='0';

when "0011" => M <= "0001"; --16bit IL <= '1'; -- PI <= '1'; -- PL <='0';

when others => M <= "0000"; IL <= '0'; --

PI <= '0'; -- PL <='0';

end case; if random3="01" then -- enas tyxaios ---ari8mos random3 epilegei ti prokeitai va symbei dir <= '0'; elsif random3="10" then dir <= '1'; else M <= "0000"; end if; else null; IL <= '0'; -- PI <= '0'; -- PL <='0'; end if; else --alln evtoli WB1 <= '0'; WB2 <= '0'; IL <= '0'; --fortwvetai n evtoli stov IR reg PI <= '0'; --PC <- PC+1 PL <= '0'; ms <="00000"; ctrlm <= "00"; dir <='0'; M <= "0000"; rd <= "0000"; end if; when others =>WB1 <= '0';

WB2 <= '0'; IL <= '0'; --fortwvetai n evtoli stov IR reg

PI <= '0'; --PC <- PC+1

Page 136: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

133

PL <= '0'; ms <="00000"; ctrlm <= "00"; dir <='0'; M <= "0000"; rd <= "0000";

end case; end process; end mealy_crmut;

Page 137: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

134

î<ïðî�ñ-ïóò¬ô�õTö�÷Öï ö

[1] D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc, Reading M.A., 1989. [2] Paul Graham, Brent Nelson, “Genetic Algorithms in Software and in Hardware –A Performance Analysis of Workstation and Custom Computing Machine Implementations”, Proceedings of the 1996 IEEE Symposium on FPGAs for Custom Computing Machines, Los Alamitos, California, pp. 216-225, 17-19 Apr 1996. [3] Osama Kitaura, Hideaki Asada, Motoaki Matsuzaki, Takamitsu Kawai, Hideki Ando, Toshio Shimada, “A Custom Computing Machine for Genetic Algorithms without Pipeline Stalls”, Proceedings of the IEEE SMC '99 International Conference on Systems, Man, and Cybernetics, Tokyo, Japan, Vol. 5, pp. 577-584, Oct. 1999. [4] G. Koonar, S. Areibi and M. Moussa, ”Hardware Implementation of Genetic Algorithms for VLSI CAD design”, ISCA International Conference on Computer Applications in Industry and Engineering (CAINE), San Diego, California, pp. 197-200, Nov. 2002. [5] Ruby B. Lee, “Multimedia extensions for general-purpose processors”, "Proceedings of the IEEE International Workshop on Signal Processing Systems", Leicester, United Kingdom, pp. 9-23, November 1997. [6] Tu Lei, Zhu Ming, Wang Jing, “The Hardware Implementation of a Genetic Algorithm Model with FPGA”, Proceedings of the 2002 IEEE International Conference on Field-Programmable Technology (FPT), The Chinese University of Hong Kong, Hong Kong, pp. 374 – 377, 16-18 Dec. 2002. [7] G.M. Megson, I.M.Bland, “Synthesis of a Systolic Array Genetic Algorithm”, Proceedings of the 12th International Parallel Processing Symposium, Washington, DC, USA, pp. 316-320, 1998. [8] Melanie Mitchell, “An Introduction to Genetic Algorithms”, MIT Press, 1996. [9] Tom M. Mitchell, “Machine Learning”, McGraw-Hill Companies, USA, pp. 249-273, 1997. [10] Ulrich Nehmozow, “Physically Embedded Genetic Algorithm Learning in Multi-Robot Scenarios: The PEGA algorithm”, Proceedings Second International Conference on Epigenetic Robotics: Modeling Cognitive Development in Robotic Systems, Edinburgh, Scotland, pp. 115-123, 2002. [11] Mohammad S. Sharawi, James Quinlan, and Hoda S. Abdel-Aty-Zohdy, “A Hardware Implementation of Genetic Algorithms For Measurement Characterization”, IEEE 9th International Conference of Electronics, Circuits and Systems, 2002, Dubrovnik, Croatia, Vol. 3, pp. 1267-1270, Sept. 2002. [12] Stephen D. Scott, Ashok Samal and Sharad Seth, “HGA: A Hardware-Based Genetic Algorithm”, Proceedings ACM/SIGDA Third International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA, pp. 53-59, February 1995.

Page 138: ,fk= ?D! 0uOP0n1e3 3)0 0 3 1 - AUTH eLAB - Department of ...electronics.physics.auth.gr/thesis/msc_giannakopoulou_2005.pdf · b$kK#&(D!, " 0n1! 3I1 kIb?DCB< *i!-9 '&?K

135

[13] Shin’ichi Wakabayashi, Tetsushi Koide, Naoyoshi Toshine, Mutsuaki Goto, Yoshikatsu Nakayama, Koichi Hatta, “An LSI Implementation of an Adaptive Genetic Algorithm with On-The-Fly Crossover Operator Selection”, Proceedings of the Asia and South Pacific Design Automation Conference 1999 (ASP-DAC’99), Wanchai, Hong Kong, Vol.1, pp. 37-40, January 1999. [14] Alden H. Wright and Yong Zhao, “Markov Chain Models of Genetic Algorithms”, Proceedings of the Genetic and Evolutionary Computation Conference, Orlando, Florida, pp. 734-741, July 1999. [15] GAUL. Genetic Algorithm Utility Library. Homepage:http://gaul.sourceforge.net. [16] Andy Miller and Michael Gulotta, “PN Generators Using the SRL Macro”, Application Note: Virtex Series, Virtex-II Series, and Spartan-II Family, Xilinx, xapp211, v 1.2, June 14 2004. [17] LFSR testbench utility. Homepage: http://www.logiccell.com/~jean/LFSR/ [18] J.-L. Beuchat. A VHDL Library for Integer and Modular Arithmetic -User Manual, 0.1 edition, Sept. 2004.http://perso.ens-lyon.fr/jean-luc.beuchat/ArithLib/. [19] ø . ù�Ñ�ú"ú�Ñ�ä*ûFÑ�ç , « üoâ�Þ�Ò6Û"Ü�Õ,æ"Þ�Ð�ý ß*Û*Ù"Ò6é�å*Û ÒCÛ�Ü â?Ú<â^í8âEÕ&æ�Ñ�Ý9Ò+à RISCGP Ý9Ò6× æ>å�Ø�Ý�Ý�Ñ Ú<â�Õ"Þ æ�Õ�Ñ"þà�ç Ñ�Õ!Ó5ÞÿÒ6â8Ð!Ò3Û�Ù�Þ�Ð&à�ç ArchC».