13
CS 150 - Fall 2000 - Sequential Logic Implementation - 1 CS 150 - Fall 2000 - Sequential Logic Implementation - 2 CS 150 - Fall 2000 - Sequential Logic Implementation - 3 CS 150 - Fall 2000 - Sequential Logic Implementation - 4 CS 150 - Fall 2000 - Sequential Logic Implementation - 5 CS 150 - Fall 2000 - Sequential Logic Implementation - 6

Example Finite State Machine Diagram

  • Upload
    ngonhan

  • View
    231

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 1

6HTXHQWLDO /RJLF ,PSOHPHQWDWLRQ

❚ 6HTXHQWLDO &LUFXLWV❙ 3ULPLWLYH VHTXHQWLDO HOHPHQWV❙ &RPELQDWLRQDO ORJLF

❚ 0RGHOV IRU UHSUHVHQWLQJ VHTXHQWLDO FLUFXLWV❙ )LQLWH�VWDWH PDFKLQHV �0RRUH DQG 0HDO\�❙ 5HSUHVHQWDWLRQ RI PHPRU\ �VWDWHV�❙ &KDQJHV LQ VWDWH �WUDQVLWLRQV�

❚ %DVLF VHTXHQWLDO FLUFXLWV❙ 6KLIW UHJLVWHUV❙ &RXQWHUV

❚ 'HVLJQ SURFHGXUH❙ 6WDWH GLDJUDPV❙ 6WDWH WUDQVLWLRQ WDEOH❙ 1H[W VWDWH IXQFWLRQV

CS 150 - Fall 2000 - Sequential Logic Implementation - 2

$EVWUDFWLRQ RI 6WDWH (OHPHQWV

❚ 'LYLGH FLUFXLW LQWR FRPELQDWLRQDO ORJLF DQG VWDWH

❚ /RFDOL]H IHHGEDFN ORRSV DQG PDNH LW HDV\ WR EUHDN F\FOHV

❚ ,PSOHPHQWDWLRQ RI VWRUDJH HOHPHQWV OHDGV WR YDULRXVIRUPV RI VHTXHQWLDO ORJLF

&RPELQDWLRQDO

/RJLF

6WRUDJH (OHPHQWV

2XWSXWV

6WDWH 2XWSXWV6WDWH ,QSXWV

,QSXWV

CS 150 - Fall 2000 - Sequential Logic Implementation - 3

)RUPV RI 6HTXHQWLDO /RJLF

❚ $V\QFKURQRXV VHTXHQWLDO ORJLF ² VWDWH FKDQJHV RFFXUZKHQHYHU VWDWH LQSXWV FKDQJH �HOHPHQWV PD\ EH VLPSOHZLUHV RU GHOD\ HOHPHQWV�

❚ 6\QFKURQRXV VHTXHQWLDO ORJLF ² VWDWH FKDQJHV RFFXU LQORFN VWHS DFURVV DOO VWRUDJH HOHPHQWV �XVLQJ D SHULRGLFZDYHIRUP � WKH FORFN�

&ORFN

CS 150 - Fall 2000 - Sequential Logic Implementation - 4

,Q �

,Q �

,Q �,Q �

���

���

���

������

)LQLWH 6WDWH 0DFKLQH 5HSUHVHQWDWLRQV

❚ 6WDWHV� GHWHUPLQHG E\ SRVVLEOH YDOXHV LQ VHTXHQWLDOVWRUDJH HOHPHQWV

❚ 7UDQVLWLRQV� FKDQJH RI VWDWH

❚ &ORFN� FRQWUROV ZKHQ VWDWH FDQ FKDQJH E\ FRQWUROOLQJVWRUDJH HOHPHQWV

❚ 6HTXHQWLDO /RJLF❙ 6HTXHQFHV WKURXJK D VHULHV RI VWDWHV

❙ %DVHG RQ VHTXHQFH RI YDOXHV RQ LQSXW VLJQDOV

❙ &ORFN SHULRG GHILQHV HOHPHQWV RI VHTXHQFH

CS 150 - Fall 2000 - Sequential Logic Implementation - 5

([DPSOH )LQLWH 6WDWH 0DFKLQH 'LDJUDP

❚ &RPELQDWLRQ ORFN IURP ILUVW OHFWXUH

UHVHW

6�

FORVHG

FORVHGPX[ &� HTXDO

QHZ

QRW HTXDO QHZ

QRW HTXDO QHZ

QRW HTXDO QHZ

QRW QHZQRW QHZQRW QHZ

6� 6� 23(1

(55

FORVHGPX[ &� HTXDO

QHZ

FORVHGPX[ &� HTXDO

QHZ

RSHQ

CS 150 - Fall 2000 - Sequential Logic Implementation - 6

&DQ $Q\ 6HTXHQWLDO 6\VWHP EH5HSUHVHQWHG ZLWK D 6WDWH 'LDJUDP"

❚ 6KLIW 5HJLVWHU❙ ,QSXW YDOXH VKRZQ

RQ WUDQVLWLRQ DUFV

❙ 2XWSXW YDOXHV VKRZQZLWKLQ VWDWH QRGH

��� ���

���

���

���������

���

� �

��

� �

��

' 4 ' 4 ' 4,1

287� 287� 287�

&/.

Page 2: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 7

���

���

���

������

���

������

��ELW XS�FRXQWHU

&RXQWHUV DUH 6LPSOH )LQLWH 6WDWH 0DFKLQHV

❚ &RXQWHUV

❙ 3URFHHG WKUX ZHOO�GHILQHG VWDWH VHTXHQFH LQ UHVSRQVH WR HQDEOH

❚ 0DQ\ W\SHV RI FRXQWHUV� ELQDU\� %&'� *UD\�FRGH❙ ��ELW XS�FRXQWHU� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���

❙ ��ELW GRZQ�FRXQWHU� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���

CS 150 - Fall 2000 - Sequential Logic Implementation - 8

+RZ 'R :H 7XUQ D 6WDWH 'LDJUDP LQWR /RJLF"

❚ &RXQWHU

❙ 7KUHH IOLS�IORSV WR KROG VWDWH

❙ /RJLF WR FRPSXWH QH[W VWDWH

❙ &ORFN VLJQDO FRQWUROV ZKHQ IOLS�IORS PHPRU\ FDQ FKDQJH❘ :DLW ORQJ HQRXJK IRU FRPELQDWLRQDO ORJLF WR FRPSXWH QHZ YDOXH

❘ 'RQW ZDLW WRR ORQJ DV WKDW LV ORZ SHUIRUPDQFH

' 4 ' 4 ' 4

287� 287� 287�

&/.

���

CS 150 - Fall 2000 - Sequential Logic Implementation - 9

)60 'HVLJQ 3URFHGXUH

❚ 6WDUW ZLWK FRXQWHUV

❙ 6LPSOH EHFDXVH RXWSXW LV MXVW VWDWH

❙ 6LPSOH EHFDXVH QR FKRLFH RI QH[W VWDWH EDVHG RQ LQSXW

❚ 6WDWH GLDJUDP WR VWDWH WUDQVLWLRQ WDEOH

❙ 7DEXODU IRUP RI VWDWH GLDJUDP

❙ /LNH D WUXWK�WDEOH

❚ 6WDWH HQFRGLQJ

❙ 'HFLGH RQ UHSUHVHQWDWLRQ RI VWDWHV

❙ )RU FRXQWHUV LW LV VLPSOH� MXVW LWV YDOXH

❚ ,PSOHPHQWDWLRQ

❙ )OLS�IORS IRU HDFK VWDWH ELW

❙ &RPELQDWLRQDO ORJLF EDVHG RQ HQFRGLQJ

CS 150 - Fall 2000 - Sequential Logic Implementation - 10

���

���

���

������

���

������

��ELW XS�FRXQWHU

FXUUHQW VWDWH QH[W VWDWH

� ��� ��� �

� ��� ��� �

� ��� ��� �

� ��� ��� �

� ��� ��� �

� ��� ��� �

� ��� ��� �

� ��� ��� �

)60 'HVLJQ 3URFHGXUH� 6WDWH 'LDJUDPWR (QFRGHG 6WDWH 7UDQVLWLRQ 7DEOH

❚ 7DEXODU IRUP RI VWDWH GLDJUDP

❚ /LNH D WUXWK�WDEOH �VSHFLI\ RXWSXW IRU DOO LQSXWFRPELQDWLRQV�

❚ (QFRGLQJ RI VWDWHV� HDV\ IRU FRXQWHUV ² MXVW XVH YDOXH

CS 150 - Fall 2000 - Sequential Logic Implementation - 11

&� &� &� 1� 1� 1�

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

1� � &�1� � &�&� � &�&�

� &� [RU &�1� � &�&�&� � &�&� � &�&�

� &�&�&� � �&� � &��&�� �&�&�� [RU &�

QRWDWLRQ WR VKRZIXQFWLRQ UHSUHVHQWLQSXW WR '�))

,PSOHPHQWDWLRQ

❚ ' IOLS�IORS IRU HDFK VWDWH ELW

❚ &RPELQDWLRQDO ORJLF EDVHG RQ HQFRGLQJ

� �

� �

� �

� �&�

&�

&�1�

� �

� �

� �

� �&�

&�

&�1�

� �

� �

� �

� �&�

&�

&�1�

CS 150 - Fall 2000 - Sequential Logic Implementation - 12

D QQ

,PSOHPHQWDWLRQ �FRQWG�

❚ 3URJUDPPDEOH /RJLF %XLOGLQJ %ORFN IRU 6HTXHQWLDO /RJLF❙ 0DFUR�FHOO� )) � ORJLF

❘ '�))

❘ 7ZR�OHYHO ORJLF FDSDELOLW\ OLNH 3$/ �H�J�� � SURGXFW WHUPV�

Page 3: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 13

,Q &� &� &� 1� 1� 1�

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

� � � � � � �

1� � ,Q

1� � &�

1� � &�

$QRWKHU ([DPSOH

❚ 6KLIW 5HJLVWHU❙ ,QSXW GHWHUPLQHV QH[W VWDWH

��� ���

���

���

���������

���

� �

��

� �

��

' 4 ' 4 ' 4,1

287� 287� 287�

&/.

CS 150 - Fall 2000 - Sequential Logic Implementation - 14

0RUH &RPSOH[ &RXQWHU ([DPSOH

❚ &RPSOH[ &RXQWHU❙ 5HSHDWV ILYH VWDWHV LQ VHTXHQFH

❙ 1RW D ELQDU\ QXPEHU UHSUHVHQWDWLRQ

❚ 6WHS �� 'HULYH WKH VWDWH WUDQVLWLRQ GLDJUDP❙ &RXQW VHTXHQFH� ���� ���� ���� ���� ���

❚ 6WHS �� 'HULYH WKH VWDWH WUDQVLWLRQ WDEOH IURP WKHVWDWH WUDQVLWLRQ GLDJUDP

3UHVHQW 6WDWH 1H[W 6WDWH

& % $ &� %� $�

� � � � � �

� � � ± ± ±

� � � � � �

� � � � � �

� � � ± ± ±

� � � � � �

� � � � � �

� � � ± ± ±

QRWH WKH GRQW FDUH FRQGLWLRQV WKDW DULVH IURP WKH XQXVHG VWDWH FRGHV

���

��� ���

���

���

CS 150 - Fall 2000 - Sequential Logic Implementation - 15

&� � $

%� � % � $&

$� � %&

0RUH &RPSOH[ &RXQWHU ([DPSOH �FRQW·G�

❚ 6WHS �� .�PDSV IRU 1H[W 6WDWH )XQFWLRQV

� �

; �

� ;

; �$

%

&&�

� �

; �

� ;

; �$

%

&%�

� �

; �

� ;

; �$

%

&$�

CS 150 - Fall 2000 - Sequential Logic Implementation - 16

6HOI�6WDUWLQJ &RXQWHUV �FRQW·G�

❚ 5H�GHULYLQJ VWDWH WUDQVLWLRQ WDEOH IURP GRQW FDUHDVVLJQPHQW

� �

� �

� �

� �$

%

&&�

� �

� �

� �

� �$

%

&%�

� �

� �

� �

� �$

%

&$�

3UHVHQW 6WDWH 1H[W 6WDWH

& % $ &� %� $�

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

� � � � � �

���

��� ���

���

���

������

���

CS 150 - Fall 2000 - Sequential Logic Implementation - 17

6HOI�6WDUWLQJ &RXQWHUV

❚ 6WDUW�XS 6WDWHV❙ $W SRZHU�XS� FRXQWHU PD\ EH LQ DQ XQXVHG RU LQYDOLG VWDWH

❙ 'HVLJQHU PXVW JXDUDQWHH LW �HYHQWXDOO\� HQWHUV D YDOLG VWDWH

❚ 6HOI�VWDUWLQJ 6ROXWLRQ❙ 'HVLJQ FRXQWHU VR WKDW LQYDOLG VWDWHV HYHQWXDOO\ WUDQVLWLRQ WR

D YDOLG VWDWH

❙ 0D\ OLPLW H[SORLWDWLRQ RI GRQW FDUHV

LPSOHPHQWDWLRQ

RQ SUHYLRXV VOLGH

���

��� ���

���

���

������

���

���

��� ���

���

���

��� ���

���

CS 150 - Fall 2000 - Sequential Logic Implementation - 18

6WDWH 0DFKLQH 0RGHO

❚ 9DOXHV VWRUHG LQ UHJLVWHUV UHSUHVHQW WKH VWDWH RI WKHFLUFXLW

❚ &RPELQDWLRQDO ORJLF FRPSXWHV�❙ 1H[W VWDWH

❘ )XQFWLRQ RI FXUUHQW VWDWH DQG LQSXWV

❙ 2XWSXWV

❘ )XQFWLRQ RI FXUUHQW VWDWH DQG LQSXWV �0HDO\ PDFKLQH�

❘ )XQFWLRQ RI FXUUHQW VWDWH RQO\ �0RRUH PDFKLQH�

,QSXWV

2XWSXWV

1H[W 6WDWH

&XUUHQW 6WDWH

RXWSXW

ORJLF

QH[W VWDWH

ORJLF

Page 4: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 19

6WDWH 0DFKLQH 0RGHO �FRQW·G�

❚ 6WDWHV� 6�� 6�� ���� 6N

❚ ,QSXWV� ,�� ,�� ���� ,P

❚ 2XWSXWV� 2�� 2�� ���� 2Q

❚ 7UDQVLWLRQ IXQFWLRQ� )V�6L� ,M�

❚ 2XWSXW IXQFWLRQ� )R�6L� RU )R�6L� ,M�

,QSXWV

2XWSXWV

1H[W 6WDWH

&XUUHQW 6WDWH

RXWSXW

ORJLF

QH[W VWDWH

ORJLF

&ORFN

1H[W 6WDWH

6WDWH

� � � � � �

CS 150 - Fall 2000 - Sequential Logic Implementation - 20

([DPSOH� $QW %UDLQ �:DUG� 0,7�

❚ 6HQVRUV� / DQG 5 DQWHQQDH� � LI LQ WRXFKLQJ ZDOO❚ $FWXDWRUV� ) � IRUZDUG VWHS� 7/�75 � WXUQ

OHIW�ULJKW VOLJKWO\❚ *RDO� ILQG ZD\ RXW RI PD]H❚ 6WUDWHJ\� NHHS WKH ZDOO RQ WKH ULJKW

CS 150 - Fall 2000 - Sequential Logic Implementation - 21

$� )ROORZLQJ ZDOO� WRXFKLQJ*R IRUZDUG� WXUQLQJOHIW VOLJKWO\

%� )ROORZLQJ ZDOO� QRW WRXFKLQJ*R IRUZDUG� WXUQLQJ ULJKWVOLJKWO\

&� %UHDN LQ ZDOO*R IRUZDUG� WXUQLQJULJKW VOLJKWO\

'� +LW ZDOO DJDLQ%DFN WR VWDWH $

(� :DOO LQ IURQW7XUQ OHIW XQWLO���

)� ���ZH DUH KHUH� VDPH DVVWDWH %

*� 7XUQ OHIW XQWLO���/267� )RUZDUG XQWLO ZHWRXFK VRPHWKLQJ

$QW %HKDYLRU

CS 150 - Fall 2000 - Sequential Logic Implementation - 22

'HVLJQLQJ DQ $QW %UDLQ

❚ 6WDWH 'LDJUDP

5¶&

�75� )�5¶

/¶ 5¶

%

�75� )�

/¶ 5¶

/

5

$

�7/� )�

5

/¶ 5/ � 5

(�*

�7/�

/ � 5/267

�)�

/¶ 5¶

CS 150 - Fall 2000 - Sequential Logic Implementation - 23

6\QWKHVL]LQJ WKH $QW %UDLQ &LUFXLW

❚ (QFRGH 6WDWHV 8VLQJ D 6HW RI 6WDWH 9DULDEOHV❙ $UELWUDU\ FKRLFH � PD\ DIIHFW FRVW� VSHHG

❚ 8VH 7UDQVLWLRQ 7UXWK 7DEOH❙ 'HILQH QH[W VWDWH IXQFWLRQ IRU HDFK VWDWH YDULDEOH

❙ 'HILQH RXWSXW IXQFWLRQ IRU HDFK RXWSXW

❚ ,PSOHPHQW QH[W VWDWH DQG RXWSXW IXQFWLRQV XVLQJFRPELQDWLRQDO ORJLF❙ ��OHYHO ORJLF �520�3/$�3$/�

❙ 0XOWL�OHYHO ORJLF

❙ 1H[W VWDWH DQG RXWSXW IXQFWLRQV FDQ EH RSWLPL]HG WRJHWKHU

CS 150 - Fall 2000 - Sequential Logic Implementation - 24

7UDQVLWLRQ 7UXWK 7DEOH

❚ 8VLQJ V\PEROLF VWDWHVDQG RXWSXWV

/267

�)�

(�*

�7/�

$

�7/� )�

%

�75� )�

&

�75� )�5¶

/¶ 5¶

5/¶ 5¶

/

5

/¶ 5/ � 5

/ � 5

/¶ 5¶

VWDWH / 5 QH[W VWDWH RXWSXWV

/267 � � /267 )

/267 ± � (�* )

/267 � ± (�* )

$ � � % 7/� )

$ � � $ 7/� )

$ � ± (�* 7/� )

% ± � & 75� )

% ± � $ 75� )

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

Page 5: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 25

VWDWH / 5 QH[W VWDWH RXWSXWV

;�<�= ;� <� = ) 75 7/

� � � � � � � � � � �

� � � � � � � � � � �

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

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

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

/267 � ���

(�* � ���

$ � ���

% � ���

& � ���LW QRZ UHPDLQV

WR V\QWKHVL]H

WKHVH � IXQFWLRQV

6\QWKHVLV

❚ � VWDWHV � DW OHDVW � VWDWH YDULDEOHV UHTXLUHG �;� <� =�❙ 6WDWH DVVLJQPHQW �LQ WKLV FDVH� DUELWUDULO\ FKRVHQ�

CS 150 - Fall 2000 - Sequential Logic Implementation - 26

VWDWH LQSXWV QH[W VWDWH RXWSXWV

;�<�= / 5 ;��<��=� ) 75 7/

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � � �

H�J�

75 ; � < =

;� ; 5¶ � < = 5¶ 5¶ 75

6\QWKHVLV RI 1H[W 6WDWH DQG 2XWSXW)XQFWLRQV

CS 150 - Fall 2000 - Sequential Logic Implementation - 27

&LUFXLW ,PSOHPHQWDWLRQ

❚ 2XWSXWV DUH D IXQFWLRQ RI WKH FXUUHQW VWDWH RQO\ �0RRUH PDFKLQH

/5

)757/

1H[W 6WDWH

&XUUHQW 6WDWH

RXWSXW

ORJLF

QH[W VWDWH

ORJLF;� <� =�

; < =

CS 150 - Fall 2000 - Sequential Logic Implementation - 28

$QW LV LQ GHHS WURXEOH

LI LW JHWV LQ WKLV VWDWH

'RQ·W &DUHV LQ )60 6\QWKHVLV

❚ :KDW KDSSHQV WR WKH �XQXVHG� VWDWHV ����� ���� ����"

❚ ([SORLWHG DV GRQW FDUHV WR PLQLPL]H WKH ORJLF❙ ,I VWDWHV FDQW KDSSHQ� WKHQ GRQW FDUH ZKDW WKH IXQFWLRQV GR

❙ LI VWDWHV GR KDSSHQ� ZH PD\ EH LQ WURXEOH

����)�

����7/�

����7/� )�

����75� )�

����75� )� 5¶

/¶ 5¶

5/¶ 5¶

/

5

/¶ 5/ � 5

/ � 5

/¶ 5¶

���

���

���

CS 150 - Fall 2000 - Sequential Logic Implementation - 29

6WDWH 0LQLPL]DWLRQ

❚ )HZHU VWDWHV PD\ PHDQ IHZHU VWDWH YDULDEOHV

❚ +LJK�OHYHO V\QWKHVLV PD\ JHQHUDWH PDQ\ UHGXQGDQWVWDWHV

❚ 7ZR VWDWH DUH HTXLYDOHQW LI WKH\ DUH LPSRVVLEOH WRGLVWLQJXLVK IURP WKH RXWSXWV RI WKH )60� L� H�� IRU DQ\LQSXW VHTXHQFH WKH RXWSXWV DUH WKH VDPH

❚ 7ZR FRQGLWLRQV IRU WZR VWDWHV WR EH HTXLYDOHQW�❙ �� 2XWSXW PXVW EH WKH VDPH LQ ERWK VWDWHV

❙ �� 0XVW WUDQVLWLRQ WR HTXLYDOHQW VWDWHV IRU DOO LQSXWFRPELQDWLRQV

CS 150 - Fall 2000 - Sequential Logic Implementation - 30

$QW %UDLQ 5HYLVLWHG

❚ $Q\ HTXLYDOHQW VWDWHV"

/267

�)�

(�*

�7/�

$

�7/� )�

%

�75� )�

&

�75� )�5¶

/¶ 5¶

5/¶ 5¶

/

5

/¶ 5/ � 5

/ � 5

/¶ 5¶

Page 6: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 31

1HZ ,PSURYHG %UDLQ

❚ 0HUJH HTXLYDOHQW % DQG & VWDWHV

❚ %HKDYLRU LV H[DFWO\ WKH VDPH DV WKH ��VWDWH EUDLQ

❚ :H QRZ QHHG RQO\ � VWDWH YDULDEOHV UDWKHU WKDQ �

/267

�)�

(�*

�7/�

$

�7/� )�

%�&

�75� )�5¶

/¶ 5¶

5/¶ 5¶

/

/¶ 5/ � 5

/ � 5

/¶ 5¶

CS 150 - Fall 2000 - Sequential Logic Implementation - 32

VWDWH LQSXWV QH[W VWDWH RXWSXWV

;�< / 5 ;�< ) 757/

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

� � � � � � � � �

1HZ %UDLQ ,PSOHPHQWDWLRQ

� � � �

� � � �

� � � �

� � � �

;)

<

5

/

� � � �

� � � �

� � � �

� � � �

;75

<

5

/

� � � �

� � � �

� � � �

� � � �

;7/

<

5

/

� � � �

� � � �

� � � �

� � � �

;;�

<

5

/

� � � �

� � � �

� � � �

� � � �

;<�

<

5

/

CS 150 - Fall 2000 - Sequential Logic Implementation - 33

UHDFW ULJKW DZD\ WR OHDYLQJ WKH ZDOO

0HDO\ YV� 0RRUH 0DFKLQHV

❚ 0RRUH� RXWSXWV GHSHQG RQ FXUUHQW VWDWH RQO\

❚ 0HDO\� RXWSXWV GHSHQG RQ FXUUHQW VWDWH DQG LQSXWV

❚ $QW EUDLQ LV D 0RRUH 0DFKLQH❙ 2XWSXW GRHV QRW UHDFW LPPHGLDWHO\ WR LQSXW FKDQJH

❚ :H FRXOG KDYH VSHFLILHG D 0HDO\ )60❙ 2XWSXWV KDYH LPPHGLDWH UHDFWLRQ WR LQSXWV

❙ $V LQSXWV FKDQJH� VR GRHV QH[W VWDWH� GRHVQ·W FRPPLW XQWLOFORFNLQJ HYHQW

$

/¶ 5¶ � 75� )

/ � 7/

/¶ 5 � 7/� )

CS 150 - Fall 2000 - Sequential Logic Implementation - 34

'��

(��

%��

$��

&��

UHVHW

FXUUHQW QH[W

UHVHW LQSXW VWDWH VWDWH RXWSXW

� ± ± $

� � $ % �

� � $ & �

� � % % �

� � % ' �

� � & ( �

� � & & �

� � ' ( �

� � ' & �

� � ( % �

� � ( ' �

6SHFLI\LQJ 2XWSXWV IRU D 0RRUH 0DFKLQH

❚ 2XWSXW LV RQO\ IXQFWLRQ RI VWDWH❙ 6SHFLI\ LQ VWDWH EXEEOH LQ VWDWH GLDJUDP

❙ ([DPSOH� VHTXHQFH GHWHFWRU IRU �� RU ��

CS 150 - Fall 2000 - Sequential Logic Implementation - 35

FXUUHQW QH[W

UHVHW LQSXW VWDWH VWDWH RXWSXW

� ± ± $ �

� � $ % �

� � $ & �

� � % % �

� � % & �

� � & % �

� � & & �

%

$

&

���

���

���

���

���

���

UHVHW��

6SHFLI\LQJ 2XWSXWV IRU D 0HDO\ 0DFKLQH

❚ 2XWSXW LV IXQFWLRQ RI VWDWH DQG LQSXWV❙ 6SHFLI\ RXWSXW RQ WUDQVLWLRQ DUF EHWZHHQ VWDWHV

❙ ([DPSOH� VHTXHQFH GHWHFWRU IRU �� RU ��

CS 150 - Fall 2000 - Sequential Logic Implementation - 36state feedback

inputs

outputsreg

combinational logic for next state logic for

outputs

inputs outputs

state feedback

regcombinational

logic fornext state

logic foroutputs

&RPSDULVRQ RI 0HDO\ DQG 0RRUH 0DFKLQHV

❚ 0HDO\ 0DFKLQHV WHQG WR KDYH OHVV VWDWHV❙ 'LIIHUHQW RXWSXWV RQ DUFV �QA�� UDWKHU WKDQ VWDWHV �Q�

❚ 0RRUH 0DFKLQHV DUH VDIHU WR XVH❙ 2XWSXWV FKDQJH DW FORFN HGJH �DOZD\V RQH F\FOH ODWHU�

❙ ,Q 0HDO\ PDFKLQHV� LQSXW FKDQJH FDQ FDXVH RXWSXW FKDQJH DVVRRQ DV ORJLF LV GRQH ² D ELJ SUREOHP ZKHQ WZR PDFKLQHV DUHLQWHUFRQQHFWHG ² DV\QFKURQRXV IHHGEDFN

❚ 0HDO\ 0DFKLQHV UHDFW IDVWHU WR LQSXWV❙ 5HDFW LQ VDPH F\FOH ² GRQW QHHG WR ZDLW IRU FORFN

❙ ,Q 0RRUH PDFKLQHV� PRUH ORJLF PD\ EH QHFHVVDU\ WR GHFRGHVWDWH LQWR RXWSXWV ² PRUH JDWH GHOD\V DIWHU

Page 7: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 37

D Q

QB

A

clock

out

D Q

Q

D Q

Qclock

outA

B

0HDO\ DQG 0RRUH ([DPSOHV

❚ 5HFRJQL]H $�% ���❙ 0HDO\ RU 0RRUH"

CS 150 - Fall 2000 - Sequential Logic Implementation - 38

D Q

Q

D Q

Q

D Q

Q

D Q

Q

A

B

clock

out

D Q

Q

D Q

Q

A

B

clock

out

0HDO\ DQG 0RRUH ([DPSOHV �FRQW·G�

❚ 5HFRJQL]H $�% ��� WKHQ ���❙ 0HDO\ RU 0RRUH"

CS 150 - Fall 2000 - Sequential Logic Implementation - 39

5HJLVWHUHG 0HDO\ 0DFKLQH �5HDOO\ 0RRUH�

❚ 6\QFKURQRXV �RU UHJLVWHUHG� 0HDO\ 0DFKLQH❙ 5HJLVWHUHG VWDWH $1' RXWSXWV

❙ $YRLGV ¶JOLWFK\· RXWSXWV

❙ (DV\ WR LPSOHPHQW LQ 3/'V

❚ 0RRUH 0DFKLQH ZLWK QR RXWSXW GHFRGLQJ❙ 2XWSXWV FRPSXWHG RQ WUDQVLWLRQ WR QH[W VWDWH UDWKHU WKDQ

DIWHU HQWHULQJ

❙ 9LHZ RXWSXWV DV H[SDQGHG VWDWH YHFWRU

,QSXWV

2XWSXWV

&XUUHQW 6WDWH

RXWSXWORJLF

QH[W VWDWHORJLF

CS 150 - Fall 2000 - Sequential Logic Implementation - 40

9HQGLQJ0DFKLQH)60

1

'

5HVHW

&ORFN

2SHQ&RLQ6HQVRU

5HOHDVH0HFKDQLVP

([DPSOH� 9HQGLQJ 0DFKLQH

❚ 5HOHDVH LWHP DIWHU �� FHQWV DUH GHSRVLWHG

❚ 6LQJOH FRLQ VORW IRU GLPHV� QLFNHOV

❚ 1R FKDQJH

CS 150 - Fall 2000 - Sequential Logic Implementation - 41

([DPSOH� 9HQGLQJ 0DFKLQH �FRQW·G�

❚ 6XLWDEOH $EVWUDFW 5HSUHVHQWDWLRQ❙ 7DEXODWH W\SLFDO LQSXW VHTXHQFHV�

❘ � QLFNHOV

❘ QLFNHO� GLPH

❘ GLPH� QLFNHO

❘ WZR GLPHV

❙ 'UDZ VWDWH GLDJUDP�

❘ ,QSXWV� 1� '� UHVHW

❘ 2XWSXW� RSHQ FKXWH

❙ $VVXPSWLRQV�❘ $VVXPH 1 DQG ' DVVHUWHGIRU RQH F\FOH

❘ (DFK VWDWH KDV D VHOI ORRSIRU 1 ' � �QR FRLQ�

6�

5HVHW

6�

'

6�>RSHQ@

'

6�>RSHQ@

'

6�

1

6�

1

6�>RSHQ@

1

6�>RSHQ@

1

CS 150 - Fall 2000 - Sequential Logic Implementation - 42

([DPSOH� 9HQGLQJ 0DFKLQH �FRQW·G�

❚ 0LQLPL]H QXPEHU RI VWDWHV � UHXVH VWDWHV ZKHQHYHU SRVVLEOH

V\PEROLF VWDWH WDEOH

SUHVHQW LQSXWV QH[W RXWSXWVWDWH ' 1 VWDWH RSHQ�� � � �� �

� � �� �� � ��� �� � ± ±

�� � � �� �� � ��� �� � ��� �� � ± ±

��� � � ��� �� � ��� �� � ��� �� � ± ±

��� ± ± ��� �

��

5HVHW

��

1

1

1 � '

���

'

���

>RSHQ@

'

Page 8: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 43

SUHVHQW VWDWH LQSXWV QH[W VWDWH RXWSXW4� 4� ' 1 '� '� RSHQ� � � � � � �

� � � � �� � � � �� � ± ± ±

� � � � � � �� � � � �� � � � �� � ± ± ±

� � � � � � �� � � � �� � � � �� � ± ± ±

� � ± ± � � �

([DPSOH� 9HQGLQJ 0DFKLQH �FRQW·G�

❚ 8QLTXHO\ (QFRGH 6WDWHV

CS 150 - Fall 2000 - Sequential Logic Implementation - 44

'� 4� � ' � 4� 1

'� 4�¶ 1 � 4� 1¶ � 4� 1 � 4� '

23(1 4� 4�

([DPSOH� 9HQGLQJ 0DFKLQH �FRQW·G�

❚ 0DSSLQJ WR /RJLF� � � �

� � � �

; ; ; ;

� � � �

4�'�

4�

1

'

� � � �

� � � �

; ; ; ;

� � � �

4�'�

4�

1

'

� � � �

� � � �

; ; ; ;

� � � �

4�2SHQ

4�

1

'

CS 150 - Fall 2000 - Sequential Logic Implementation - 45

SUHVHQW VWDWH LQSXWV QH[W VWDWH RXWSXW4� 4� 4� 4� ' 1 '� '� '� '� RSHQ� � � � � � � � � � �

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

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

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

� � � � � � � � � � �

'� 4� '¶ 1¶

'� 4� 1 � 4� '¶ 1¶

'� 4� ' � 4� 1 � 4� '¶ 1¶

'� 4� ' � 4� ' � 4� 1 � 4�

23(1 4�

([DPSOH� 9HQGLQJ 0DFKLQH �FRQW·G�

❚ 2QH�KRW (QFRGLQJ

CS 150 - Fall 2000 - Sequential Logic Implementation - 46

(TXLYDOHQW 0HDO\ DQG 0RRUH 6WDWH 'LDJUDPV

❚ 0RRUH PDFKLQH

❙ RXWSXWV DVVRFLDWHG ZLWKVWDWH

��>�@

���>�@

��>�@

���>�@

1¶ '¶ � 5HVHW

'

'

1

1�'

1

1¶ '¶

5HVHW¶

1¶ '¶

1¶ '¶

5HVHW

0HDO\ PDFKLQHRXWSXWV DVVRFLDWHG ZLWKWUDQVLWLRQV

��

���

��

���

�1¶ '¶ � 5HVHW���

'��

'��

1��

1�'��

1��

1¶ '¶��

5HVHW¶��

1¶ '¶��

1¶ '¶��

5HVHW��

CS 150 - Fall 2000 - Sequential Logic Implementation - 47

([DPSOH� 7UDIILF /LJKW &RQWUROOHU

❚ $ EXV\ KLJKZD\ LV LQWHUVHFWHG E\ D OLWWOH XVHG IDUPURDG

❚ 'HWHFWRUV & VHQVH WKH SUHVHQFH RI FDUV ZDLWLQJ RQ WKH IDUPURDG❙ ZLWK QR FDU RQ IDUPURDG� OLJKW UHPDLQ JUHHQ LQ KLJKZD\ GLUHFWLRQ

❙ LI YHKLFOH RQ IDUPURDG� KLJKZD\ OLJKWV JR IURP *UHHQ WR <HOORZ WR 5HG�DOORZLQJ WKH IDUPURDG OLJKWV WR EHFRPH JUHHQ

❙ WKHVH VWD\ JUHHQ RQO\ DV ORQJ DV D IDUPURDG FDU LV GHWHFWHG EXW QHYHUORQJHU WKDQ D VHW LQWHUYDO

❙ ZKHQ WKHVH DUH PHW� IDUP OLJKWV WUDQVLWLRQ IURP *UHHQ WR <HOORZ WR5HG� DOORZLQJ KLJKZD\ WR UHWXUQ WR JUHHQ

❙ HYHQ LI IDUPURDG YHKLFOHV DUH ZDLWLQJ� KLJKZD\ JHWV DW OHDVW D VHWLQWHUYDO DV JUHHQ

❚ $VVXPH \RX KDYH DQ LQWHUYDO WLPHU WKDW JHQHUDWHV�❙ D VKRUW WLPH SXOVH �76� DQG❙ D ORQJ WLPH SXOVH �7/��

❙ LQ UHVSRQVH WR D VHW �67� VLJQDO�❙ 76 LV WR EH XVHG IRU WLPLQJ \HOORZ OLJKWV DQG 7/ IRU JUHHQ OLJKWV

CS 150 - Fall 2000 - Sequential Logic Implementation - 48

KLJKZD\

IDUP URDG

FDU VHQVRUV

([DPSOH� 7UDIILF /LJKW &RQWUROOHU �FRQW·�

❚ +LJKZD\�IDUP URDG LQWHUVHFWLRQ

Page 9: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 49

([DPSOH� 7UDIILF /LJKW &RQWUROOHU �FRQW·�

❚ 7DEXODWLRQ RI ,QSXWV DQG 2XWSXWV

LQSXWV GHVFULSWLRQ RXWSXWV GHVFULSWLRQUHVHW SODFH )60 LQ LQLWLDO VWDWH +*� +<� +5 DVVHUW JUHHQ�\HOORZ�UHG KLJKZD\ OLJKWV& GHWHFW YHKLFOH RQ WKH IDUP URDG )*� )<� )5 DVVHUW JUHHQ�\HOORZ�UHG KLJKZD\ OLJKWV76 VKRUW WLPH LQWHUYDO H[SLUHG 67 VWDUW WLPLQJ D VKRUW RU ORQJ LQWHUYDO7/ ORQJ WLPH LQWHUYDO H[SLUHG

❚ 7DEXODWLRQ RI XQLTXH VWDWHV ² VRPH OLJKW FRQILJXUDWLRQVLPSO\ RWKHUV

VWDWH GHVFULSWLRQ

6� KLJKZD\ JUHHQ �IDUP URDG UHG�

6� KLJKZD\ \HOORZ �IDUP URDG UHG�

6� IDUP URDG JUHHQ �KLJKZD\ UHG�

6� IDUP URDG \HOORZ �KLJKZD\ UHG�

CS 150 - Fall 2000 - Sequential Logic Implementation - 50

6�� +*

6�� +<

6�� )*

6�� )<

([DPSOH� 7UDIILF /LJKW &RQWUROOHU �FRQW·�

❚ 6WDWH 'LDJUDP5HVHW

76

76 � 67

�7/�&�

7/�& � 67

76

76 � 67

�7/�&�

7/�& � 67

6�

6�

6�6�

CS 150 - Fall 2000 - Sequential Logic Implementation - 51

,QSXWV 3UHVHQW 6WDWH 1H[W 6WDWH 2XWSXWV

& 7/ 76 67 + )

� ± ± +* +* � *UHHQ 5HG

± � ± +* +* � *UHHQ 5HG

� � ± +* +< � *UHHQ 5HG

± ± � +< +< � <HOORZ 5HG

± ± � +< )* � <HOORZ 5HG

� � ± )* )* � 5HG *UHHQ

� ± ± )* )< � 5HG *UHHQ

± � ± )* )< � 5HG *UHHQ

± ± � )< )< � 5HG <HOORZ

± ± � )< +* � 5HG <HOORZ

6$�� +* �� +< �� )* �� )< ��

6$�� +* �� +< �� )* �� )< ��

6$�� +* ���� +< ���� )* ���� )< ���� �RQH�KRW�

RXWSXW HQFRGLQJ ± VLPLODU SUREOHP

WR VWDWH DVVLJQPHQW

�*UHHQ ��� <HOORZ ��� 5HG ���

([DPSOH� 7UDIILF /LJKW &RQWUROOHU �FRQW·�

❚ *HQHUDWH VWDWH WDEOH ZLWK V\PEROLF VWDWHV

❚ &RQVLGHU VWDWH DVVLJQPHQWV

CS 150 - Fall 2000 - Sequential Logic Implementation - 52

/RJLF IRU 'LIIHUHQW 6WDWH $VVLJQPHQWV

❚ 6$�

16� &�7/�36��36� � 76�36��36� � 76�36��36� � &�36��36� � 7/�36��36�

16� &�7/�36��36� � &�7/�36��36� � 36��36�

67 &�7/�36��36� � 76�36��36� � 76�36��36� � &�36��36� � 7/�36��36�

+� 36� +� 36��36�

)� 36� )� 36��36�

❚ 6$�

16� &�7/�36� � 76�36� � &�36��36�

16� 76�36��36� � 36��36� � 76�36��36�

67 &�7/�36� � &�36��36� � 76�36�

+� 36� +� 36��36�

)� 36� )� 36��36�

❚ 6$�

16� &�36� � 7/�36� � 76�36� 16� 76�36� � &�7/�36�

16� &�7/�36� � 76�36� 16� &�36� � 7/�36� � 76�36�

67 &�7/�36� � 76�36� � &�36� � 7/�36� � 76�36�

+� 36� � 36� +� 36�

)� 36� � 36� )� 36�

CS 150 - Fall 2000 - Sequential Logic Implementation - 53

'� UHVHW�4�1 � 4�1 � 4�1 � 4�'�

'� UHVHW�4� � ' � 4�1�

23(1 4�4�

9HQGLQJ 0DFKLQH ([DPSOH �3/' PDSSLQJ�

'4

'4

'4

4�

4�

2SHQ

&RP

6HT

6HT

&/.

1

'

5HVHW

CS 150 - Fall 2000 - Sequential Logic Implementation - 54

9HQGLQJ 0DFKLQH �FRQW·G�

❚ 23(1 4�4� FUHDWHV D FRPELQDWLRQDO GHOD\ DIWHU 4� DQG 4�FKDQJH

❚ 7KLV FDQ EH FRUUHFWHG E\ UHWLPLQJ� L�H�� PRYH IOLS�IORSV DQG ORJLFWKURXJK HDFK RWKHU WR LPSURYH GHOD\

❚ 23(1 UHVHW�4� � ' � 4�1��4�1 � 4�1 � 4�1 � 4�'� UHVHW�4�4�1 � 4�1 � 4�' � 4�1' � 4�1'�

❚ ,PSOHPHQWDWLRQ QRZ ORRNV OLNH D V\QFKURQRXV 0HDO\ PDFKLQH

❙ &RPPRQ IRU SURJUDPPDEOH GHYLFHV WR KDYH )) DW HQG RI ORJLF

Page 10: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 55

23(1 UHVHW�4�4�1 � 4�1 � 4�' � 4�1' � 4�1'�

9HQGLQJ 0DFKLQH �5HWLPHG 3/' 0DSSLQJ�

OPEN

'4

'4

'4

4�

4�

2SHQ

6HT

6HT

6HT

&/.

1

'

5HVHW

CS 150 - Fall 2000 - Sequential Logic Implementation - 56

)LQLWH 6WDWH 0DFKLQH 2SWLPL]DWLRQ

❚ 6WDWH 0LQLPL]DWLRQ

❙ )HZHU VWDWHV UHTXLUH IHZHU VWDWH ELWV

❙ )HZHU ELWV UHTXLUH IHZHU ORJLF HTXDWLRQV

❚ (QFRGLQJV� 6WDWH� ,QSXWV� 2XWSXWV❙ 6WDWH HQFRGLQJ ZLWK IHZHU ELWV KDV IHZHU HTXDWLRQV WR LPSOHPHQW

❘ +RZHYHU� HDFK PD\ EH PRUH FRPSOH[

❙ 6WDWH HQFRGLQJ ZLWK PRUH ELWV �H�J�� RQH�KRW� KDV VLPSOHUHTXDWLRQV

❘ &RPSOH[LW\ GLUHFWO\ UHODWHG WR FRPSOH[LW\ RI VWDWH GLDJUDP

❙ ,QSXW�RXWSXW HQFRGLQJ PD\ RU PD\ QRW EH XQGHU GHVLJQHU FRQWURO

CS 150 - Fall 2000 - Sequential Logic Implementation - 57

$OJRULWKPLF $SSURDFK WR 6WDWH 0LQLPL]DWLRQ

❚ *RDO ² LGHQWLI\ DQG FRPELQH VWDWHV WKDW KDYHHTXLYDOHQW EHKDYLRU

❚ (TXLYDOHQW 6WDWHV�❙ 6DPH RXWSXW

❙ )RU DOO LQSXW FRPELQDWLRQV� VWDWHV WUDQVLWLRQ WR VDPH RUHTXLYDOHQW VWDWHV

❚ $OJRULWKP 6NHWFK❙ �� 3ODFH DOO VWDWHV LQ RQH VHW

❙ �� ,QLWLDOO\ SDUWLWLRQ VHW EDVHG RQ RXWSXW EHKDYLRU

❙ �� 6XFFHVVLYHO\ SDUWLWLRQ UHVXOWLQJ VXEVHWV EDVHG RQ QH[WVWDWH WUDQVLWLRQV

❙ �� 5HSHDW ��� XQWLO QR IXUWKHU SDUWLWLRQLQJ LV UHTXLUHG

❘ VWDWHV OHIW LQ WKH VDPH VHW DUH HTXLYDOHQW

❙ 3RO\QRPLDO WLPH SURFHGXUHCS 150 - Fall 2000 - Sequential Logic Implementation - 58

,QSXW 1H[W 6WDWH 2XWSXW6HTXHQFH 3UHVHQW 6WDWH ; � ; � ; � ; �

5HVHW 6� 6� 6� � �� 6� 6� 6� � �� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � �

6WDWH 0LQLPL]DWLRQ ([DPSOH

❚ 6HTXHQFH 'HWHFWRU IRU ��� RU ���

6�

6�

6�6�

6� 6�6�

������

���

������

���������

������

������

������

CS 150 - Fall 2000 - Sequential Logic Implementation - 59

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

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

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

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

,QSXW 1H[W 6WDWH 2XWSXW6HTXHQFH 3UHVHQW 6WDWH ; � ; � ; � ; �

5HVHW 6� 6� 6� � �� 6� 6� 6� � �� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � ��� 6� 6� 6� � �

6� LV HTXLYDOHQW WR 6�

6� LV HTXLYDOHQW WR 6�

6� LV HTXLYDOHQW WR 6�

0HWKRG RI 6XFFHVVLYH 3DUWLWLRQV

CS 150 - Fall 2000 - Sequential Logic Implementation - 60

,QSXW 1H[W 6WDWH 2XWSXW6HTXHQFH 3UHVHQW 6WDWH ; � ; � ; � ; �

5HVHW 6� 6� 6� � �� � � 6� 6� 6� � �;� 6� 6� 6� � �;� 6� 6� 6� � �

0LQLPL]HG )60

❚ 6WDWH PLQLPL]HG VHTXHQFH GHWHFWRU IRU ��� RU ���

6�

6�¶

6�¶ 6�¶

;��

���

������

���

;��

Page 11: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 61

V\PEROLF VWDWH

WUDQVLWLRQ WDEOH

SUHVHQW QH[W VWDWH RXWSXW

VWDWH �� �� �� ��

6� 6� 6� 6� 6� �

6� 6� 6� 6� 6� �

6� 6� 6� 6� 6� �

6� 6� 6� 6� 6� �

6� 6� 6� 6� 6� �

6� 6� 6� 6� 6� �

LQSXWV KHUH

0RUH &RPSOH[ 6WDWH 0LQLPL]DWLRQ

❚ 0XOWLSOH LQSXW H[DPSOH

��

��

��

��

��

��

����

��

��

����

��

��

��

��

����

��

��

��

��

��

6�

>�@

6�

>�@

6�

>�@

6�

>�@

6�

>�@

6�

>�@

��

CS 150 - Fall 2000 - Sequential Logic Implementation - 62

6��6�

6��6�6��6�

6��6�

6��6�

6��6�6��6�

6��6�

6��6�

6��6�6��6�

6��6�

6��6�

6��6�

6��6�6��6�

6��6�

6��6�6��6�

6��6�

6��6�6��6�

6��6�

6��6�

PLQLPL]HG VWDWH WDEOH�6� 6�� �6� 6��

SUHVHQW QH[W VWDWH RXWSXWVWDWH �� �� �� ��6� 6� 6� 6� 6� �6� 6� 6� 6� 6� �6� 6� 6� 6� 6� �6� 6� 6� 6� 6� �

0LQLPL]HG )60

❚ ,PSOLFDWLRQ &KDUW 0HWKRG❙ &URVV RXW LQFRPSDWLEOH VWDWHV EDVHG RQ RXWSXWV

❙ 7KHQ FURVV RXW PRUH FHOOV LI LQGH[HG FKDUW HQWULHV DUHDOUHDG\ FURVVHG RXW

6�

6�

6�

6�

6�

6� 6� 6� 6� 6�

CS 150 - Fall 2000 - Sequential Logic Implementation - 63

0LQLPL]LQJ ,QFRPSOHWHO\ 6SHFLILHG )60V

❚ (TXLYDOHQFH RI VWDWHV LV WUDQVLWLYH ZKHQ PDFKLQH LV IXOO\VSHFLILHG

❚ %XW LWV QRW WUDQVLWLYH ZKHQ GRQW FDUHV DUH SUHVHQWH�J�� VWDWH RXWSXW

6� ² � 6� LV FRPSDWLEOH ZLWK ERWK 6� DQG 6�6� � ² EXW 6� DQG 6� DUH LQFRPSDWLEOH6� ² �

❚ 1R SRO\QRPLDO WLPH DOJRULWKP H[LVWV IRU GHWHUPLQLQJ EHVWJURXSLQJ RI VWDWHV LQWR HTXLYDOHQW VHWV WKDW ZLOO \LHOG WKHVPDOOHVW QXPEHU RI ILQDO VWDWHV

CS 150 - Fall 2000 - Sequential Logic Implementation - 64

; 4�

4�

4�� 4

��

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

� � � � �

± � � � �

4�� ; �4

�[RU 4

��

4�� ; 4

�¶ 4

�¶

0LQLPL]LQJ 6WDWHV 0D\ 1RW <LHOG %HVW &LUFXLW

❚ ([DPSOH� HGJH GHWHFWRU � RXWSXWV � ZKHQ ODVW WZRLQSXW FKDQJHV IURP � WR �

��

>�@

��

>�@

��

>�@;¶

;

;

;

CS 150 - Fall 2000 - Sequential Logic Implementation - 65

$QRWKHU ,PSOHPHQWDWLRQ RI (GJH 'HWHFWRU

❚ �$G KRF� VROXWLRQ � QRW PLQLPDO EXW FKHDS DQG IDVW

��

>�@

��

>�@

��

>�@

;¶ ;

;

;

;��

>�@

CS 150 - Fall 2000 - Sequential Logic Implementation - 66

6WDWH $VVLJQPHQW

❚ &KRRVH ELW YHFWRUV WR DVVLJQ WR HDFK ´V\PEROLFµ VWDWH❙ :LWK Q VWDWH ELWV IRU P VWDWHV WKHUH DUH �Q� � ��Q ² P��

>ORJ Q � P � �Q@

❙ �Q FRGHV SRVVLEOH IRU �VW VWDWH� �Q²� IRU �QG� �Q²� IRU �UG� «

❙ +XJH QXPEHU HYHQ IRU VPDOO YDOXHV RI Q DQG P

❘ ,QWUDFWDEOH IRU VWDWH PDFKLQHV RI DQ\ VL]H

❘ +HXULVWLFV DUH QHFHVVDU\ IRU SUDFWLFDO VROXWLRQV

❙ 2SWLPL]H VRPH PHWULF IRU WKH FRPELQDWLRQDO ORJLF

❘ 6L]H �DPRXQW RI ORJLF DQG QXPEHU RI ))V�

❘ 6SHHG �GHSWK RI ORJLF DQG IDQRXW�

❘ 'HSHQGHQFLHV �GHFRPSRVLWLRQ�

Page 12: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 67

6WDWH $VVLJQPHQW 6WUDWHJLHV

❚ 3RVVLEOH 6WUDWHJLHV❙ 6HTXHQWLDO ² MXVW QXPEHU VWDWHV DV WKH\ DSSHDU LQ WKH VWDWH WDEOH

❙ 5DQGRP ² SLFN UDQGRP FRGHV

❙ 2QH�KRW ² XVH DV PDQ\ VWDWH ELWV DV WKHUH DUH VWDWHV �ELW � ²!VWDWH�

❙ 2XWSXW ² XVH RXWSXWV WR KHOS HQFRGH VWDWHV

❙ +HXULVWLF ² UXOHV RI WKXPE WKDW VHHP WR ZRUN LQ PRVW FDVHV

❚ 1R JXDUDQWHH RI RSWLPDOLW\ ² DQRWKHU LQWUDFWDEOH SUREOHP

CS 150 - Fall 2000 - Sequential Logic Implementation - 68

2QH�KRW 6WDWH $VVLJQPHQW

❚ 6LPSOH❙ (DV\ WR HQFRGH� GHEXJ

❚ 6PDOO /RJLF )XQFWLRQV❙ (DFK VWDWH IXQFWLRQ UHTXLUHV RQO\ SUHGHFHVVRU VWDWH ELWV DV LQSXW

❚ *RRG IRU 3URJUDPPDEOH 'HYLFHV❙ /RWV RI IOLS�IORSV UHDGLO\ DYDLODEOH❙ 6LPSOH IXQFWLRQV ZLWK VPDOO VXSSRUW �VLJQDOV LWV GHSHQGHQW XSRQ�

❚ ,PSUDFWLFDO IRU /DUJH 0DFKLQHV❙ 7RR PDQ\ VWDWHV UHTXLUH WRR PDQ\ IOLS�IORSV

❙ 'HFRPSRVH )60V LQWR VPDOOHU SLHFHV WKDW FDQ EH RQH�KRW HQFRGHG

❚ 0DQ\ 6OLJKW 9DULDWLRQV WR 2QH�KRW❙ 2QH�KRW � DOO��

CS 150 - Fall 2000 - Sequential Logic Implementation - 69

, 4 4� 2

L D F M

L E F N

, 4 4� 2

L D E M

N D F O

, 4 4� 2

L D E M

L F G M

F L D����L E

E L D

F N D

M L D � L F

E L D

G L F

L � M L � N

D E

F

D

E F

L � M N � O

E G

L � M

D FL � M

+HXULVWLFV IRU 6WDWH $VVLJQPHQW

❚ $GMDFHQW FRGHV WR VWDWHV WKDW VKDUH D FRPPRQ QH[W VWDWH

❙ *URXS �V LQ QH[W VWDWH PDS

❚ $GMDFHQW FRGHV WR VWDWHV WKDW VKDUH D FRPPRQ DQFHVWRU VWDWH

❙ *URXS �V LQ QH[W VWDWH PDS

❚ $GMDFHQW FRGHV WR VWDWHV WKDW KDYH D FRPPRQ RXWSXW EHKDYLRU

❙ *URXS �V LQ RXWSXW PDS

CS 150 - Fall 2000 - Sequential Logic Implementation - 70

*HQHUDO $SSURDFK WR +HXULVWLF 6WDWH$VVLJQPHQW

❚ $OO FXUUHQW PHWKRGV DUH YDULDQWV RI WKLV❙ �� 'HWHUPLQH ZKLFK VWDWHV ´DWWUDFWµ HDFK RWKHU �ZHLJKWHG SDLUV�

❙ �� *HQHUDWH FRQVWUDLQWV RQ FRGHV �ZKLFK VKRXOG EH LQ VDPH FXEH�

❙ �� 3ODFH FRGHV RQ %RROHDQ FXEH VR DV WR PD[LPL]H FRQVWUDLQWVVDWLVILHG �ZHLJKWHG VXP�

❚ 'LIIHUHQW ZHLJKWV PDNH VHQVH GHSHQGLQJ RQ ZKHWKHU ZHDUH RSWLPL]LQJ IRU WZR�OHYHO RU PXOWL�OHYHO IRUPV

❚ &DQW FRQVLGHU DOO SRVVLEOH HPEHGGLQJV RI VWDWH FOXVWHUVLQ %RROHDQ FXEH❙ +HXULVWLFV IRU RUGHULQJ HPEHGGLQJ

❙ 7R SUXQH VHDUFK IRU EHVW HPEHGGLQJ

❙ ([SDQG FXEH �PRUH VWDWH ELWV� WR VDWLVI\ PRUH FRQVWUDLQWV

CS 150 - Fall 2000 - Sequential Logic Implementation - 71

2XWSXW�%DVHG (QFRGLQJ

❚ 5HXVH RXWSXWV DV VWDWH ELWV � XVH RXWSXWV WR KHOSGLVWLQJXLVK VWDWHV❙ :K\ FUHDWH QHZ IXQFWLRQV IRU VWDWH ELWV ZKHQ RXWSXW FDQ

VHUYH DV ZHOO

❙ )LWV LQ QLFHO\ ZLWK V\QFKURQRXV 0HDO\ LPSOHPHQWDWLRQV

+* 67¶ +�¶ +�¶ )� )�¶ � 67 +� +�¶ )�¶ )�+< 67 +�¶ +�¶ )� )�¶ � 67¶ +�¶ +� )� )�¶)* 67 +�¶ +� )� )�¶ � 67¶ +� +�¶ )�¶ )�¶+< 67 +� +�¶ )�¶ )�¶ � 67¶ +� +�¶ )�¶ )�

2XWSXW SDWWHUQV DUH XQLTXH WR VWDWHV� ZH GR QRWQHHG $1< VWDWH ELWV ± LPSOHPHQW � IXQFWLRQV�RQH IRU HDFK RXWSXW� LQVWHDG RI � �RXWSXWV SOXV� VWDWH ELWV�

,QSXWV 3UHVHQW 6WDWH 1H[W 6WDWH 2XWSXWV& 7/ 76 67 + )� ± ± +* +* � �� ��± � ± +* +* � �� ��� � ± +* +< � �� ��± ± � +< +< � �� ��± ± � +< )* � �� ��� � ± )* )* � �� ��� ± ± )* )< � �� ��± � ± )* )< � �� ��± ± � )< )< � �� ��± ± � )< +* � �� ��

CS 150 - Fall 2000 - Sequential Logic Implementation - 72

&XUUHQW 6WDWH $VVLJQPHQW $SSURDFKHV

❚ )RU WLJKW HQFRGLQJV XVLQJ FORVH WR WKH PLQLPXP QXPEHURI VWDWH ELWV❙ %HVW RI �� UDQGRP VHHPV WR EH DGHTXDWH �DYHUDJHV DV ZHOO DV

KHXULVWLFV�

❙ +HXULVWLF DSSURDFKHV DUH QRW HYHQ FORVH WR RSWLPDOLW\

❙ 8VHG LQ FXVWRP FKLS GHVLJQ

❚ 2QH�KRW HQFRGLQJ❙ (DV\ IRU VPDOO VWDWH PDFKLQHV

❙ *HQHUDWHV VPDOO HTXDWLRQV ZLWK HDV\ WR HVWLPDWH FRPSOH[LW\

❙ &RPPRQ LQ )3*$V DQG RWKHU SURJUDPPDEOH ORJLF

❚ 2XWSXW�EDVHG HQFRGLQJ❙ $G KRF � QR WRROV

❙ 0RVW FRPPRQ DSSURDFK WDNHQ E\ KXPDQ GHVLJQHUV

❙ <LHOGV YHU\ VPDOO FLUFXLWV IRU PRVW )60V

Page 13: Example Finite State Machine Diagram

CS 150 - Fall 2000 - Sequential Logic Implementation - 73

6HTXHQWLDO /RJLF ,PSOHPHQWDWLRQ 6XPPDU\

❚ 0RGHOV IRU UHSUHVHQWLQJ VHTXHQWLDO FLUFXLWV❙ $EVWUDFWLRQ RI VHTXHQWLDO HOHPHQWV

❙ )LQLWH VWDWH PDFKLQHV DQG WKHLU VWDWH GLDJUDPV

❙ ,QSXWV�RXWSXWV

❙ 0HDO\� 0RRUH� DQG V\QFKURQRXV 0HDO\ PDFKLQHV

❚ )LQLWH VWDWH PDFKLQH GHVLJQ SURFHGXUH❙ 'HULYLQJ VWDWH GLDJUDP

❙ 'HULYLQJ VWDWH WUDQVLWLRQ WDEOH

❙ 'HWHUPLQLQJ QH[W VWDWH DQG RXWSXW IXQFWLRQV

❙ ,PSOHPHQWLQJ FRPELQDWLRQDO ORJLF

❚ ,PSOHPHQWDWLRQ RI VHTXHQWLDO ORJLF❙ 6WDWH PLQLPL]DWLRQ

❙ 6WDWH DVVLJQPHQW

❙ 6XSSRUW LQ SURJUDPPDEOH ORJLF GHYLFHV