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�
&/.
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�
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
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
/¶ 5¶
VWDWH / 5 QH[W VWDWH RXWSXWV
/267 � � /267 )
/267 ± � (�* )
/267 � ± (�* )
$ � � % 7/� )
$ � � $ 7/� )
$ � ± (�* 7/� )
% ± � & 75� )
% ± � $ 75� )
��� ��� ��� ��� ���
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
/¶ 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
/¶ 5¶
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
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@
'
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
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
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�¶
;��
���
������
���
;��
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�
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
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