8

Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

� �

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

Page 2: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

���������������� ��������������������������� �������������"�������������������������������������������������������������� ������������������������������������������������ ���� ��������������"���������$�������������%������������ ������������������������������������������������������# ������ ��������������������������������������������"

���������������� ������������������� ���������� �����!������������������������������� ������������������� � "

������������ �����������"

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

�������

Page 3: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

���!������!������������������������ �������������������������������%� ����������������� ������ ����� ����� � �������� ����� �!�����������"������ ��������������������� ����������� ���� � ��� ������� ��� ������������� ������� ����������������������������� ���������� ������������ ��������� ����� � ���� ������������� ������������������� ��� ������ �������������������

�����!��� ���������� ����!��������������������'&��� ������!���� �!�������,�*$� ���!�� ���! �������������(-�+&������!���� ���������&����!� ��$��������������� ������������&�����������!��! ��������������� "� ��+����� ��������������"������������� ������������ ���������� �+&��������������� ������#���� ����������"���$�!���������$� ���������������������� �*&

���� �������� ����$�!�����!��� ��������� ������+�������&�������(-�*$�!���������$�����! ������� ��������"������������� "�������*$���������� ��������� �������� ����&��

������������������ ��������� ���&�������� ������� ���"$���������� "����"������������"���&������������� ������! "� �����������) !��� �����! ��������!���"����������,*������,+������������������������ ���������&

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

Page 4: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

���������������!��� !�!����������!������$���'�$�������!����������������������+ ��#��������� !�!����"���"�������&�#��"�)������!������ ���������!��'�$����#����"�� !�!� �����!������������$��" �������&���������'�$�������!$�� !�!����! �!���������������"�� !�!� )�������$��� ����#��"� �/(.����..'�./'�//�����/.�!�� !�!� ��'��'����������� ���!�#��&)

��!��!��!�&�"���"���� �������������&��"�����!����&� !�!��+ ����!�����������!������$����$���)���$�#��'���������!� !�!�����������$������ "�!������������!���������!�!��� '������!����!���������%�!&����!�������!��������)��

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

�����!��� �������������� �����������$�!��� ���������������� ����� ��������� ����!������� �#� ����������������������� ��� �����)%($�������"���� ��� ������)%(� ����������������&������������!�������������&���#���!�����������������������#�� ��$�#���!������������������ �������� ����� ����������������"���� ��� ������)� ����*$� ������������������ ����&����� #�� ��������'� ������������������ ����������� ����&�

Page 5: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

��#�#����������"�� ������������$������������+&���*����� ����� ���!�!���#�%'��

�������������������������� �� !��&� ��������������� ����������������%����! ��(� ����� �,����! ��������)���������!��������������$� ��������������������� �&��������� ���� �������������!� ����������+�#�!������%�!�����������������'�!� �������&������������������ ����������!���� ���#������� ���'������������� ����������������������%������������� '�� �� �� � ����� !����! �! �#�"����������#�� �� � �������������������%��������%'

��

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

�������-��!������������!��� �!������������!��!"���$���(����������������������!����!��� ����������!���������������"����������������������� !�� (����������������� ������� !��-����������!��!"��(

� �����%���� �'����� ����������!�!������ ���������!���" �������-��!������������ !������������&����������� �$����#�����!������#��" � ���� ��&������.�(�(�$�!��"!�" ��������!��� /(����"�$������������!��$�&����-��!����������� ���������!�$�!����� (

Page 6: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

��

� %&����!���� '���*���%�� � ����%&�&������� �+�)��'%'���*�$��*�! ���$��!��%"�������&�! �� ��%* &��%�%�����&!!�%�%'����%���&�$�/%� '�$&'%�%!�&)�$�.��$��)��'%��� ���������$�%�&�%�� ������ &!�"'&�&���%&�&������� ��� ���� !) �%&�&�.�������%!�'%���������� %&����!���� �$*�� �!�� ��!��&���%&�&�%.�����%��%�%"��������� �&�������������� .�%� ��"�$���&�$���!���&!���(���� ����&!������!��&���%&�&�%���%��� *��� ���&%-��&�����$��!����%�� ��%��'�����%��$�&!�$���,�*!'��� ���� ���%&�&���%%�� �� &�(��'�%�)�&�!'&� ���� ��&!���� ���� *��!��%.��� ��� �$��+�"�$���&�$���!������!)%�*!'�&!�'%��������� 3 ���%4�&!�$�"�����������.�����%�����%�&����!�����%��$�&!�$����� ����%��$�&!���� &�� +�� ���&��%����!!������&�&!���&�� &!.����%&�&��(�$�����������$�&�! ������������������%�'%�����$��&!�%�!)�&��&�*!'�&��$���$��7�%&�&�%�3�1��&!��1�4.��� �%"����*� ������ ���$��!�+�*!'�%�!'����!��!)� ��&����!��!)� ���! (� &�! -2�%����)�*%�6�3"!%��������4���!���&!�%"����*�&���%&�&��&$� %�&�! .���!&��&��&�)��'%��&���98��%%�� �� &%�3 ! 0��!��� �4�� �&��%���)�*%���!�������'%��*!'��$��$�%"! �� ��&!���!�������%.��2�%����%�"�$�&����)�*%�6�354���!���&!�%"����*�&���&���!'&"'&��!���.�����'%�� !$�����%%�� �� &%�3��!��� �4���$������'%��&��%��%���&'���*����!��� �&�! ����!������!��+� !&�%�#'� &������$�'�&.�

��

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

Page 7: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

��

��!�" ���$���� ��������!�����%�����'�$�����$��������������!��������%�������!���!��)����"��������"�����!���� �������"� ��������!�������"�!�!��!'����!����� �!�#����������!������"!���'����"� ���� !�������������������������� �����"���)

���� !�!��������������!�� �����"�!�� � ��$������)���������� �!�����!����� !�!�(������+$��!����������!���������,'�!����*����� !�!��$�������� ���������� ���!��!��������'����� ���*� � !�!�'�$�����$��$��!�����!�����!�������$������)

���$�������� �!���!������������������!�� ��� ���)���� ����"���� �#��&�" ��"�)��!������!�#����!��! ����� �������������� �����'�����!��������"�� ����"� ���!�!����"!�"!�$������ ������������&�������$��!�)

��

���&�������&�'�%���&'�'�&/���.��3�����"�����3 �0����$$�"��'���&'�'������%�!�'#���%� #���&�&'%����'��#%*�%�0��������������� ��������&�&'�"��%�0�����&��&��# #*����,�'����������������� �00����%��*��(&��&'%����'��#%*�%����"�%,�"(!��%��&&��"!�"'.��"��'��%��#%��*����)��'*#�&'�'����'&�4!�+�!(!��#(%�&'�'�&.��('�#" ,�'�%����%��(&��50�������������� ���&��#%��"�'�� �-�'�#"0���#%!� ,��#%���������&��".��'��&���&'�'#��"� (������������"$('�&��"� �*����.�*��"��&&�%'��.�*� �&,"��%#"#(& ,�$('�'���&'�'��!����"��'#��"��"�'�� �&'�'�0����%��*���%��(&�"����"�������'(%��#������&.�*������ #*&�'�������'� ���%�(�'&�'#�����"�'�� �&���'#��",�&'�'�&��(%�"��� ������� ��4�0�0�*��"��#*" #���"��'�����'2&'%��!50�����"�,#(��#"���(%��'�������.�'���%���&'�%&�(&����#%�&'�'�6;/:7�*� ���� #�����*�'��'���)� (��<1�::������'(� �&'�'��!����"���&�&$��������*�'��'���� *�,&�8�� #��0�=0������%&'� �"������"�&�'���������� ������������#%�$( &���&�:0�����&��"&(%�&�'��'�$( &���&�� *�,&�����"��0��>0������&��&'�'�!�"'��&�'�����&'�*�,�'#�&$����,������0���������&��&$������&��#'��'����#"��'�#"&��#%�&'�'��'%�"&�'�#"&��"��'���#('$('0��'��&��!$#%'�"'�'#�"#'��'��'�&'�'���"��#('$('�&$���������#%������������%��'���"�+'�&'�'���"��"�+'�#('$('0���#%��+�!$ �.����'��������&��"�'������&'�'���"���"AA;1�;�#"�'���"�+'�$#&�'�)�������#��� �.�'�������*� ��#�'#�&'�'���3�����"��!����$( &���#�����0?0����BA��&&��"!�"'�&$������&�'��'�'������"��&�*� �#��(%�&�!( '�"�#(& ,�*��"�'���� *�,&�8�� #����&��+�'��0����@0��"� ,.�'�������( '�&��'�#"�*� ���'���� �("&$����������&�&0�"�'��&���&�.�����( '�&��'�#"��&��!$',�4�0�0��,�����( '.��#�"#'��"�50��� ��������� ���������������������� ����� ������������0

Page 8: Lecture 7 - FSM part 2 7 - FSM part 2 … · Lecture 7 Slide 13 IN HIGH Needs THREE states (not two) PYKC 28 2019 Pulse Generator in Verilog Design a module pulse_gen.v which does

��

������ �� � ������ ����� ��������� ������� ��������"��� �������������� �!���������� ���������������� ��� ������ ���� ����������������� �� � �� ������� ��� ����!�� ������ �� � ������������ �� ������ ������ ������� ���� �������������� ���������� � ��� �������������� ������� #���!������� �� ���� ���� ����� ������ ��������� �� ��������������� �!� � �� ��� ��� ��������� ��� ������ �� ������������������ �� ������� ����!

��

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