WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna...
Transcript of WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna...
![Page 1: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/1.jpg)
WinCUPL������������ ���������
�������
����������� ��� ��������� ���
����������������������Damian GórskiKorekta :Wojciech Zaborowski
Kraków dnia16.06.2004
![Page 2: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/2.jpg)
2
1 �������������� �����������������������
1.1 Co to jest programowalna logika (ang. programmablelogic PL)
Logika programowalna, jak sama nazwa mówi jest to rodzina komponentów������������� ��� ����� ������� �!������"�����������#$%&�'(&�)$*+(,&�-#,./&�0-)��0-'�1&���������!���2��3�2��4�!������������� ��4������ �!���&������������2�������������5�6�2���� ���� �2��������� �!����7��!������ ���"�!5�programmable logic devices�-%1��#8).&�0�9#&��-#&��('�&��#-&�9#-����������-%5
1.1.1 ASIC (ang. Application Specific Integrated Circuits):
8�� ��� �������� �� 4������ �:��� ��4�������� 7��� ����������5� #8).� �7�������;2����� ���7��2������������;���!�� ������3�4������ �� �!���&� ��4����&�����������������������������5�< �����2�:���2���������������4�!�������7���2���!�7������������������2���"�!5�mask 7��!������ �15�.���������������������4�!������������� ��� 27���4������� ����������!�5� 8�� ��� ������� �� 7��7����&� !��� ����������:��3� ����� � �:3� 4������ �!������ �� ������ �������5� =�� �! ���� �� ������ ���������;&�. �-&������������7��2������������-&������!�������27����35
1.1.2 ������ � ���������������������������� ��������������� ����������user programmable device UPD)
���7����2�� �%�7�2���������2����� 7�����4������� �!� �� ������������&� �� ���������������� ����� �7��!������3� 2���� 7������5� '!� �� ������������� ����� 2��� ����3&� � ���� �� 2������ 2��� � ������ ��� ������� ��� ���� � ������� #$%� �� '(� 7��������� �����7 ���������� 4������ �!�����5� < �� �� �����;� 7�2����� ������� ���������7���������� �� ����2���&� ������ ��!�� ��3� ������ ����� 7�������� �� ���:���� ��� ���:����������5� �������� 2���7 ������� �������� ��������� makrocele (ang. macrocells).������� �� 7��� ���� ������������� �� 2��4�!�������� ��7�� ���:3� �� ���:3&� ������ 2�potrzebne do projektu.
![Page 3: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/3.jpg)
3
1.1.3 PROM (ang. Programmable Read Only Memories)
�������&����������������� ���27� �!��� �!���&������������������2�:���PROM–���2������2������� ���� �������#$%&��������2� ����7��!������ ����� ����� �������'(5< �����2�:��� �('�>���������2����� ����������� ����������2��������:3� ��4��������:�����&�75����7������7���������:������2��������7����2�����5
![Page 4: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/4.jpg)
4
![Page 5: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/5.jpg)
5
1.1.4 PAL (ang. Programmable Array Logic)
<��������������������2������2���7��!������ ���� �������#$%&�������������do ustalonych (ang. fixed) ������� '(5� <2�2����� ���:���� ��� ���� ��!�� ��3� zANDowane����&�� ������: ��� ������#$%�2��7��7��������������: ���� ������'(5��#-������������ 7�7� ���� ������������� �� 2�� 7�����7������� ��2����� ��������� ���������PLD.
6��� �� �������� 7�2����� �������� ����&� ��� ��� �� ��� ������������� �#-5� =��� ��������� ��������!����3�7��!����������������:���&����:���&�� ������:�������:���5�=��� �7�2������� ����2�������:�����&���������!����3�" �����1���������7�������� �7��7�2����pinami )?'5� ���2����� 7��!������ �� �������� 7�2������� ������� ��� 7�������� ����2��&����!���������7������������2��������� ���� ������&������� ���� ���:���7������2������ ���������5� ������� ��� 2�� !������ ������2������ ����� ������� �2��7�����wiele funkcji logicznych w technologii TTL.
1.1.5 GAL (ang. Generic Array Logic devices)
8�� �7����������&� ���� ��� ���3� ��� �� 7��2������� �#-� >��� 7�7��� ������������� 5�6��� ���������������7������&�����������!��������� �� ���7��2��������#-�>�&�����2� ����� 2��4�!�����3� �� ��� ������� 2������ 9#-� >�� ���&� ���� ��� ������ ������ 7����������#-�>�5�,������������ �:3������������ �������;&���������2���������3��2����&����� ������� ����2�� �������������!���������&� ��� ��� ��7��� �� �����3��2�����!�����7�5�=������:3�9#-�����������3���2����&�����������������7��������w projektowaniu.
![Page 6: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/6.jpg)
6
1.1.6 PLA (ang. Programmable Logic Arrays)
,����������7�2�������7��!������ ��������������#$%&�����)�'(&����7��� �jakiemukolwiek ��������#$%��2� �3����� �������'(5��-#�7�����7����������������2�� �2����:3� � 7�:���� 7��2������� �����;&� ������ 7�������� 2��� �� 4������ �:3 �!���5�=��� �������27�������������� ��� ����'(���� ��� ����#$%&�������������2��3������ �� �� �� ���7 ���������� �2��������!�� ��������� 2����5� < ���2�:3���������� 2����� ��7 ��������� ��2�� ������ ����� ��������� 2��������&� ����producenci stworzyli PLA nazywany 2���������&� ������������2�����27������� �����rejestrów z tablicy elementów OR do AND.
1.1.7 ����������
8�� ��� ������ ����� �#-�>�&�������� �������� ������ �-#5� ���2������� ������������������7��7����� ��� � �#-&� ���� ���:���� ����2���� � �:��� �������#$%&� � �� �����!�ustalonego ������'(5�6�2������������� ���7���7�����������2�2�������termów, lubwykorzystanie �������������������� ������2���������"�!5�expander �����15� ������������� ����������7 ����������7�����������!��7�������5
![Page 7: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/7.jpg)
7
1.1.8 FPGA (ang. Field Programmable Gate Arrays)
$��7��:����&� ��2�� ��� 7��!������ �� � ��������� ��� ���� ������&� 7�2��������� ����7������ �!���5�.������������2����!�2��:3�������&��������2��!�&������ �������4��������7��� ����������� ���:3� �� ���:3&� � �2����� ��2�������� 7�����;&� ���� :������2��7���������� �� 2�� �� @���������� ���A5� $��� 2�� ��� �!������� ��� 4������ �:��� ��7������� ����� �������#$%�'5�=����2�� ��!�&� ������������������������ ��4�!����� ���zegarów logicznych (.-�21������������������7���:���;�� �����)?'�")'�215�B������!���.-�������� 7��!������ �� �!���� ������������� ���� ����2���� 7�����������5� 8����� �!����� ������2����2��������7 �������3����� ��4��������� ����2�������2�!�������:�������5�B������ ���)'.��������3�7��!����������� �������������:���� ������:���trójstanowe lub 7�� ������������5� ��2����� ������� ����2���� 4 �7�4 �7&� ������ ��!�� ��3������2���� ��� ��4�������� ���:3� ����� ���:35� =�2������ ��������� ��2�� 2��3� 7�����;���!������ 7������ ���� 7������ �� ����2���� �� �� ������ 7������� � ������ .-�5���!������ ��7�����������7����������������:�����������:����� �����IOBs z blokami.-�5� -���� ���!��� 7�����!���� �� 7����� 2�����:��� ��� �7���3� ��2��������� 2�!�������������� � ����� ��� �7�������5� ����������� ������2������� ������� 0�9#� ��!���4�����3� 4������ �!���� ������� �������� �� 7�7�����3� ��� �� ������ 7������5� ���������7�������0�9#���!����3�7�����������������4���������7�����!���� ����������������������!����������������7�:�����3�7���������2������������������ ���4������ �!�����5
1.2 !����������������"��������������
1.2.1 !����������������"#
%�� ��2��7���� ����� �!��� ��2�������� �������� � ���� ��5� ������� .�'8� "�!5Complimentary Metal Oxide 8�����������1&���7� �����������,,-&�GaAs (oparte o ArsenekGalu), oraz ECL (ang. Emiter Coupled -�!��1&�������������������������������75�BiCMOSczy +.-?��7� ��5� %������ ��2��2���� ����� �!����� 2�� ������ +.-� ����GaAs, jednak������:��� ����� �� ������2��� 7������ ���!��5� '!� ��� 2����:3� ������� ��2�� :��: �7����������!��7�����������5
1.2.2 ��������������"#
������� �!���� 7��!������ ��� ����!������� 2��� 7��� ������ �! ��������� ������!�� ������2����� �� ��4�!������� 4�����5� .�:3� �������� ��2�� ��2��� �&� �5����� ��3� ��� �������� 7��!������ �5� ������ ��� 2�� ��2����� 7�7��� ������2����7������� *������7�7���7�����������7������������!���7������������:3����27�������7���������������7��!����������7�����;5� ���������2��� ��7���������� *�������������� ������� �� !����� ���2����� ������5� ������&� ������ ��� ����� �2��32��2����� ����� 2��� �������� ',�� "�!5� '�� Time Programmable). Najnowsze����������������!��������2��2��������2����!���7�����5
![Page 8: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/8.jpg)
8
������ 7��!������ �� 2�� 7���������� �� ������� ���������� �� �2�������5< ���2�:3�����������2���������2�������������4�!��������%)��"�!5�Dual Inline Package),SKINNY-DIP, LCC (ang. Leaded Chip Carrier), PLCC (and. Plastik Leaded Chip Carrier),QFP (ang. Ruad Flat Pack), BGA (ang. Ball Grid Array), SOIC (ang. Small Outline I.C.),TSOP (ang. Thin Small Outline), oraz PGA (ang. Pin Grid #����15� ������ ��� ��!�� ��37��2������� � pinami umieszczonymi po dwóch stronach, kwadratowe z 7����� � ������2����&������������������7�������7�������������� ������2�����������5�6�2������������ ��������27������!��������7��!������!���������7���������!�&������2��!���3��� ����� ������2�� � �:3� ������� ��7��� �������&� ��� ���� ������2����3� ���� �� �������2��7����27������5
1.3 $����������������� ����%
������ �!���� 7��!������ ��� 2�� 7��!�������� ����� 7�7��� ������� �������������7�����;�������������������������&�����7�7���������� ���������������� �!����������:������?����:������������5�< ���2�:3�7��!�������������������7 �������2����� � ������� ������� ����:����� �� 4�������� #8.))5� ����� ��3� ��� 4�����6+%+.�� �����������-%&������/+C�� ���������� ��7���('�5�� ��� ��� ��������2�2��������!����4������������������7���������!���7��!���������������� �!���!�5�� ����7�� 6+%+.� ������� 27�2� 7�����;� �� �������� � ������&� ��7��������� 7��� ����2����2����������@DA������@EA���7��������2�!� ��������������:3�7�������&��������!�����5� � ��� ��� ����� ������� ������3� ��7�������� 4��!����� ���� ��������7��7���������7���7��!����������2����4������ �:���7�������5
1.4 !���� �����&����%������'��������( ����������
,�2��4������ �:���������2��3�7��7��������7���7�zednim zaprogramowaniu������&�7�����������&����27���������7��!���������7����4����2��!���3�!�����������������2����������������2������5�<���������2�����2��������2���� �2���7�������������:�������!�������� �������!�������� ��2����!�&����� �2��������������7�������:�������5 ������� ��2������� ��������7�7��� �� ������������ ��2��������2��7������ ������2���7�������:����������������������2����7�������:�������&��������4��������7�������������������5� ��� ����� ��� 7��!����:���� ���� ������� !��7��� 7����������� ����4������7�7����:���4������������������!��7�������5
![Page 9: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/9.jpg)
9
2 ��%���� ����� �%������)$���
�����2� ���������� 7�������� ������ ��2�� �2��2���3� ������� �� ���� @!�������A(ang. ��7����1&� ��� ����&� ��� � ���� ���3� ��� �!� �!�� ���2�� 7�������&� �� 7�����7��2���3�2����������2���!���&���4��������� ����� �����5�. �-�7�2�������� ���������;�27���!�������� ��� 2�� � 7��!��������5� ,�� ������� 7���2������ �� �7�2���� �2����2�������&������������. �-��4��������7����2�����7 ���������7�������5
2.1 ������%���������( �%�����
8����������7�2����� �����&������������������. �-5
2.1.1 Definicja Pin / Node
�������� ��4������ �)$� >��� ��2�� �2��3� ���� ������� �� 7������� 7 �����������!�&� ���� ��4������ ������� 2��� ��2����� 7������ 2��������� � �� ����!�� 7�������5< ���� ���� ����� 7�&� ������ ��� ��4������ ����2����� ��7�� ������&� 7����� ������� �2��3���� ���������7�������7 ������������!�5����7�2����7����7������2��3�������&���� ��7��������� �������������&� �����!�� ��������3&��������������������3�7������������ �� �� 7���3� �� ��� ���� ������&� ��� �������� 7������ 7��7�2���� piny, w takimwypadku miejsce, które normalnie zawiera numery 7����7�������3��2�������7�2��5
2.1.2 �&����%��������������'������
=�����7�:�����&� ��� ������ ����&� ������2����������� ��������&� � �� ��� 2�7��7�2�������������7����?������5�8�������� ���7�������&�����������3����� �:3projektu
2.1.3 $�� ���������������������� �����
=����&� ������ ��;��� 2��� ����� ���2����� ��� E� ��� FG� 2�� ������ ����������2������5� ��!�� ��3� ��� ������� ��� ��7��������� !��7�� 2���������ponumerowanych rzeczy.
2.1.4 �$�� �����*��������*� �%#
Tabela 2.1Liczba Baza <����:3����2����
‘b’0 Binarna 0‘B’1101 Binarna 13‘O’663 Ósemkowa 435‘D’92 %��2���� 92‘h’BA Szesnastkowa 186
‘O’[300..477] Ósemkowa (zakres) 192-314‘H’7FXX Szesnastkowa (zakres) 32512..32767
![Page 10: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/10.jpg)
10
<2�2����� �7������� �� ������� �� . �-� >�� ��������� 2�� � FG� �������������:���&����!��7������ �������!��7�������3������:������E����G32�D5�-�������!���3�������������������H�7��2������2��2�����������������&��2�������&����2������� 2�2�2������5�%���: ������ � �� �2�2������ ���� ��2�� 2�2�2������ "���������� ��� 2�numery 7���������������2����&�����������������2����2�����2����1
2.1.5 $�� ����������%������� �%#
6�2�� ��� ������� ������� ��4������ !��7� ������5� 6�2�� ��� 7��2������ ������7��� ��� ������������� ��7����"���� ���������� �� ����� ����15�$����2�� �����������2������������!��������7�������� �:���5
FIELD ADDRESS = [A7, A6, A5, A4, A3, A2, A1, A0];FIELD DATA = [D7..D0];FIELD Mode = [Up, Down, Hold];
2.1.6 $�� ������(��*��� ���#
%�� �������7� ��������!��7��7�2����7���������������������!��7�������5���7��7�2����"7���7������2������ �����!��0)+-%1���������������3�����������������I�7�������27����������������������2�������2���������������������������!��7��59��� ������ �2����� 2����� � ������ 0)+-%&� ���7� ����� !������� 7�������� FG� ����������&� ������ ��2�� ������� ��� ��7��������� ������� �� 7� �� �������� "������ �����7�������� ����!�� ������ 7� �15� 8������� ��� ��2�� !������ ������� ��� ��4������ �manipulowania adresami i zakresami szyn danych.
2.2 $��������������%�����#
,�� 2������ �7�2�� ��� �!���� �� ����������� �7�������&� ���� ������� 4�����7����������������������;���� ��2����5
2.2.1 $�� �����������( ����������#
< �������. �-���2��7��2��������2�����������7�������� �!�����#$%&�'(&�$',��C'(5� $�2��7������ ���� �� 7���2������ ��� ���� �7�������� ���� � �� ���:���� ���wykonywania (ang. 7���������>���������2�!���������2�!�15
Tabela 2.2 Operatory logiczne
Operator ������� Opis B� ���:3
! !A NOT 1& A & B AND 2# A # B OR 3$ A $ B EXOR 4
![Page 11: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/11.jpg)
11
2.2.2 $�� �����������( �����������������&����%�#
8�:3� 2������������ �7��������� ������������� ��2�� ��2��7���� ��� ������&7�����������7�7������7���2������ ���7���2�������������7�������&�������� ���:���ich wykonywania.
Tabela 2.3 Operatory arytmetyczne
Operator ������� Opis B� ���:3
** 2**3 ����!����� 1* 2*1 ������ 2/ 4/2 Dzielenie 2
% 9%8 Modulo 2+ 2+4 Dodawanie 3- 2-1 Odejmowanie 3
2.2.3 $�� ������������"����������#
(�2��������!�� �2��3� ������ ��� �����&� �����2���3�27���4����4�����7������� � !������� ������� �� �������� 7��!������ ��5� B��7� ����� 27�������2�����������&�����2�������3&������2�����7�7������ ��������!���������� ���� ��!�� ������� ��� ��2�� �� ��4 ������ � ����� �������� ��2�������5� . �-� ������ ������2���;&�����2��4�!�����3�������� �����������5�B��7 ���� �2��� ��2���;�. �-����� �2��3� � ����� �� 7��������� @. �-� �-%?0�9#� Language .��7� ��A5� ������7���2������� �2������������:�����2��2�������
Tabela 2.4 Rozszerzenia zmiennych
Rozszerzenie �����2���� Opis.AP L <��:�����2��������!���2��������7��������
.AR L <��:�����2��������!����������7��������
.CE L <��:����.+
.CK L ���!�����������:�����!������7��������
.CKMUX L Wybór multipleksowanego zegara
.D L <��:����%�7��������
.DFB R < ��:�����7���������%����������������������makroceli
.DQ R < ��:����J�7���������%
.INT R =������2�!�����������!�����:��������2�����!�
.IO R =������2�!�������:�����!��pinu
.J L <��:����6�7���������6�B
.K L <��:����B�7���������6�B
.L L <��:����%�7���������latch
.LE L <��:����Latch Enable przerzutnika latch
.LQ R < ��:����J�7�����������7��latch
.OE L Programowane Output Enable
.R L <��:����(�7���������(8
.S L <��:����8�7���������(8
.SP L <��:����2��������!���2��������7��������
.T L <��:����,�7��������
.TFB R < ��:�����7���������,����������������������makroceli
![Page 12: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/12.jpg)
12
����2��7�������7����������������2���;��������
Rozszerzenie .AP:
(�2������ 5#�� ��2�� ������&� ���� �2����3� �2��������� 2�!��� �2�����������2���� �� ��������5� $�� 7������� ������� @K5#�L#M�IA� 7�������&� ��� ����2��� ��2��2�����������2��������������:3�@DA&�!���#� ����2�� �!�����7�������5�,���7������2���2��!�����7��������������;�Atmel ATF1500.
Rozszerzenie .AR:
(�2������ ��� ��2�� ������&� ���� ��4�����3� ��������� � �� �2��������!�2����������2���5�6�2�����2��2�������������;��������������� ���������� ����� ���:��7��������������2��������!������2���5
![Page 13: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/13.jpg)
13
Rozszerzenie .CE:
(�2������5.+�2��2�������2���������2�������7��%&���������������:��e wyzwalane�!����� "����2���� %�.+15� 8����� ��&� ���� 27�������3� ���:���� ��� termu CE (ang. Clock+�� �1� ����2���5�< �������������������� ����2���� %�.+&� ����������� ������ #,*GNEE�� �#,0DNEE� ������.+&����� �����2�����������2����3��2���������������D&����� ����2����!�� 2��� ��������3� ���� ����2��� %5� 8���������� ���7� ����� . �-� " ��� 2���������� 4� ��rodziny Atmel ATF1500) zrobi to za nas automatycznie.
Rozszerzenie .CK:
(�2������ 5.B� ������� ��2�� ��� ����: ���� �!���� 2��������!�� ����: ���������5�$������������������������ ���:3�7��������� �!���� ����2���� �������!�� ��������� pinów albo, do termu produkcji. Rozszerzenie .CK wybierze term produkcji.(�2������ ��!�� ������ 2��&� ���� 7������3� �!��� ����2���&� ��� ���������!�� pinu (na�!��1&� � �� �����!�� �������� #��� � 7�2��������!�� ��� ���2�:3&� � ���������� #,*ONE�"7��������15
Rozszerzenie .CKMUX:
(�2������5.B� C� ���2�������������7������3� �!��� ������� ��� ����2���56�2����������������������#,*ONE�5�)���������&�����������#,*GNEE&���������#,0DNEE�����������������������7����!�����&�����������27������������2�����
![Page 14: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/14.jpg)
14
5.B� C�"������2�����������2������5.B15� ���������2������5.B� C���2�����������������������������2������5.B5
Rozszerzenie .D:
(�2������5%���2��������&� ����27�������3����:����%� ��� ����2���� ��7��%5�,��7����7�������&� ��� ���7� ����� ��4�!������������� ������������� �-%�Atmela na rejestrytypu D. Dla PLD Atmela takich jak ATF16V8B/20V8B/22V10B, ATV750/B i ATV2500/B��2������ 5%� ��2�� ��3� �����&� ��: �� ������ �� �!���� �7����� �� ����2�����, inaczej CUPL��!�����������5
Rozszerzenie .DFB:
(�2������ 5%0�� ��2�� ������&� !��� ������� �� �� �������� #��� � 2�2��4�!������� �� ���:���� ����������&� � �� ����2��� %� ���! �� 7��2����� 7�������� �����:���5� ,�� ��4�!������� ��2�� �27������ 7��� �������� #,*� ONE?�� �� #,*GNEE?�5(�2������ 5%�0� 7��� �� �� 27������� ������ ����2������� ��7������������������!�����:�����7������������������5
Rozszerzenie .DQ:
Rozszerzenie 5%J���2��������&� ����27�������3����:���� ����2����%5� ������ ��!���2������ ������������ �2������ ���:���� �� ����2�����5� $��� ��2�� ��� ������� ��
![Page 15: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/15.jpg)
15
27�������������:����J�����2����%5�(�2�����������2����2��7�������������������#,0DNEE�� ������������ ��DGP&� �������2�5
Rozszerzenie .INT
6�2��������2�������������: �������������:�������7�����;��������5���������2��3�������2�����������: ����:���������������������������� ��7��@buried” zarówno� �� ���:3� ����2�������� ���� ��������������5� (�2������ ��� ��2�� ��2��7�� �����������������#,0DNEE�� ������������ ��DGP&� �������2�5
Rozszerzenie .IO:
(�2������)'���2��������2��������� �������7�����;���������pinów z���������5�6�2�� ���7�������!���2���7����2�7��������������!���������pinów I/O orazlogiki typu „������A� �� �������� ���� 2����� ������� �5� 6�2�� ��� ������� �������� 7����7 ���������������������������:3���. �-5
![Page 16: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/16.jpg)
16
Rozszerzenia .J i .K:
(�2������56� ��5B�2�������������27���4�����������:3� ����stru J–K. Równania �!����������2������������2������������2�����2������ ������(+9)8,+(�8+-+.,&!�����2������: ������� ��������2������7��%� ���,5�,��2������ �������2������7�������do ������. �-������2���H5Q5
Rozszerzenie .L:
6�2��������&�����27�������3����:�����������2���"�!5� latch). To rozszerzenie��2�� ����!��� 7��� ������� ��� ���:��� ���� ���� 7������� 7���������&� ����� �4������������ � ������ #,0DNEE5� ������ ��!�� ��2������ 7�������&� ��� ���7� ����� �2��������:����makroceli jako zatrzaskowe (ang. Latched output).
![Page 17: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/17.jpg)
17
Rozszerzenie .LE:
(�2������5-+���2��������2��������� ����: ���� ����;���2��!�������� latche.6�2������!���7���7�������������������2��������� ���:������� ����7���������7������&��������2����2��7��������������� ������#,0DNEE5������������&���� ����7�����������2���������� ������-+5
Rozszerzenie .LQ:
(�2������ �����2��2��2����� ���27���4������� ����2������:�����!��"�!5� imput ����1� ��!�� ������� ������������ �2������ ���:���� ����� ����2����� "�!5� latched).(�2�����������2����2��7��������������������#,0DNEE�� �����makroceli 128, lub����2�5
Rozszerzenie .OE:
(�2������ 5'+� ��2�� ������2������ 7��� 27���4������� 2�!���� ���:�����!�� � �termu produkcji. Jest wymagane przy wykorzystywaniu dwukierunkowych pinów I/O orazindywidualnie programowalnych ������� ���:�������� ��2��7���� �� ��������� � �����#��� �#,*ONE?�&�#,*GNEE?������#,0DNEE5� �������#��� &�������7�2����������:����'+kontrolowane na poziomie 7���&�����������#,0DNEE��������������2����������2�����5
Rozszerzenia .S i .R:
![Page 18: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/18.jpg)
18
(�2���������2������������27���4�����������:3�(�"reset) i S (set) rejestru S-R.(������ �!����� ����������������#,0DNEE���!����3�7�2���7���������2�������!���2���������� ��2������ ������(+9)8,+(�8+-+.,���2����������������: ������� ���rejestr typu D lub ,5,��2������ �������2������7�����������������. �-������2���H5Q5
Rozszerzenie .SP:
Rozszerzenie to jest stosowane do ustawienia synchronicznego presetu rejestru na����: �����������5�$��7��������������
���������� ������������������
��������&� ��� ��:���� K� ��2�� 7��2������� 2���������� � �!����� ��� ��� ������� �������� �&�!������:����#�����2�� �!�����7�������5
Rozszerzenie .T:
(�2������5,�27���4���������:����,� ��� ����2���� ��7�� �5� ������ ��!�� ��2�����7�������&�������7� �������4�!������������� �����������2������7��,5�(�2��������2��7�������������������#,0DNEE���#,*ONE�?GNEE�5
![Page 19: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/19.jpg)
19
Rozszerzenie .TFB:
Roz2������ 5,0�� ��2�� ������&� !���makrocela jest ustawiona na kombinacyjne���:���&� � �� ����2��� ,� ���! �� 7��2����� 7�������� ��� ���:���5� 6�2�� ��� ��� ���� ����������� #,*ONE�� �� #,*GNEE�5� (�2������ 5,0�� 7��� �� �� 27������� ���������2���������7�������������������!�����:�����7������������������5
2.2.4 �&���� �����( ��"����������#
(������ �!������������. �-������7�2��3�
[!] var [.ext] =exp;
gdzie:var� ��2�� 7�������� ����&� ��� �2��� ����2������� ��� ������2������� ��������4���������!������ �2������ ������� �2�����5�6��� �������� �2����� �2��� ������&�����2������������2��7��7�2������������������� �2��5.ext� ��2�� ����� �7���� �� ��2������ ���� ��������� 7��7�2���� 4������ ����2��� ������������7��!������ �����������.exp���2������������"���������������������������7��������15=���2���7���������7��7�2���&�������7��������7��7�2���������:�����������������&� �� �:����������5! jest operatorem komplementarnym.
W standartowych równaniac�� �!������ ���� ��� �� ��� ����� ��������� ��2�7��7�2����� �����5� ������ #��+$%� 7��� �� 7��7�2���� ������ ������ ��� �������;&�7��������� ���27�2��� ������� �!����2��� ��������� ���!�� ���� ����;587�2����������� #��+$%���2�� �������� ��� ��4�������� ����;� �!�����&� � ���&� ��2������ ������#��+$%���2��7����7����7��������������!��������5(������ �!��������2���2�����2������ �!�����7 ������������!�5
2.2.5 Operacje na zbiorach:
<2�2������7������&�������2�������������7����������������� �4����������!��2��3��2��2����������� ��������!��7�������������5�'7�������������������!����3����������������������������� ������������&� ����������������������5
![Page 20: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/20.jpg)
20
< ������� �7������� 7������� ������� �� 7�������� ����� " ��� ���������1� ��2�� �������&� ������ 7��2����� 7�7��� �������� �7������� 7������� ������� � ������� �����7�������!��������5
9����7���������2�����������7��������������������&������� �����2�����3���2���� � �:3� � ������5� 6���� ����� ������� �7������� ����������� ���� ����� ������ � �������������������������������� �7������� �� ��7�������������2������ �������zbiorów pierwotnych.
9��� ��� �7������� �������� ���&� 2�� ��� ���������� ����� ������ ���� �������&7�������� ������2��������������������� �����������&����2�������������R
2.2.6 $�� �������������( ��'��#
< � ���������� ��� ����� �7������� �� �������&� �7������� ����:��� ��� ����� ��7�������!�� �������� ��� ��2���!�&� ��� ���� 27������ ����:3� 7������� ������������� �� 2����5� ������� ������ �� ������ 2�� 7��������� � ��7������������� ��pozycjami w zbiorze. Gdy pozycja binarna w zmiennej jest równa 1 element w zbiorzepozostaje niezmieniony, gdy jest równa 0 element zostaje zanegowany, gdy jest równa�������� C� � ����� �2����� �2�����5� < ������� � ������ 2�� 7���2������� �� 7�2��3��������&�����2�����3�7����������������5
'7������� ����:��� ����� ��3� ������� ������� �� ������� ������&� �� �����������������3����2�����7������&���7�������7���2������ ����
[A3, A2, A1, A0]:&[B3..B0]:#[C3, C2, C1, C0]:$
8�����������
A3 & A2 & A1 & A0B3 # B2 # B1 # B0C3 $ C2 $ C1 $ C0
2.2.7 $�� �����������( �������#
'7�����������2��2��7����������7������� ����:��&�����������&����7� ��2��������2�����2��� �����:��&� �� ��� 7�������� �����:���5� 87�������� ����:��� ������ ��2����������� ��������������:���2������������2��5
�����2��� ������4�����3�2�������2����"�!5�����2�bus):FIELD adres =[A3..A0];$�2��7�����7�2�3������������2��select = adres:[C..F];��2��������������select = addres:C # addres:D # addres:E # addres:F;
2.3 ��� ���� �������������%�����
,�� 7��������� �7�2���� ����2����� 2������� �����&� ����:��� ������� ��� ��7�����&��2���������������������4��������4���������7�������������5
![Page 21: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/21.jpg)
21
2.3.1 Definiowanie tablicy prawdy:
.�2���� ���������� ���� ���27�2�������������� �7�2�� �!������2������2�������� �� ��� ���� �4�������5� 6���� . �-� ������� 2����� � ������ ,#�-+&� ������ 2����� ���������� ������� ��� ��5� ��� 7����2�� � ���� ��4�����3� 2��2���� �2��� ���������:�������� �� ���:�������&� 7������ 27�������3� �������� 7�������� 7�����������������������:���������:������ �2�������������:�������
-�2��������:��� ���:���������������3�27��������� ���� �������� ���3���� ������7��7�2���� �� ������ ��������5� $�2��7�� 7������� 7���2������ 7��2��� �������� � ����hexadecymalnego, na BCD:
FIELD input = [in3..0];FIELD output = [out3..0];TABLE input => output {0=> 00; 1=>01; 2=>02; 3=>03;4=>04; 5=>05; 6=>06; 7=>07;8=>08; 9=>09; A=>10; B=>11;C=>12; D=>13; E=>14; F=>15;}
2.3.2 Definiowanie automatu stanów (ang. state machine)
#������� 2������ !����� � ��4������#�%?��)���2�� ����@ ������� ��4����&� �����7���2��2���7���!�����2�� ����2��������2�������27�2����7���������5A�8���������������� 2������ ��� ������ �!���� � 7����������5� �������� ��!�� ���:���� ����� �2��37��������7�������������!��2���!�&� ���������:���������!�:� ��!��7��������&��������:���� 7��������� ����� � ���3� ������ ��� ��!�� ���:���&� ���� �� ��� ���:���� ��!�7��������I� 7��2��������&� ��!�� ��;����� ����� �� ���:���� � ���� ������ ��� ��!�poprzedniego stanu, jak i stanów innych przerzutników
���� � ��������� 2����� �� ������ . �-� �2���� 7������ �� 7���2��� ��2���&��������2�:�������7����������:3&� �!���� ��������������"�!5�combinatorial logic),����2����� 2���������&� ������ 2���&� ���:3� ����2�������� "�!5� registered ���7��21&� ���:3normalnych.
<��:����>�2�!�������������������������������2����7��������������������Logika kombinatoryczna – jest to dowolna kombinacja bramek logicznych (zwykle AND i'(1&� ������ 7��������� 2�!��� ���:������ 7�2��������� ��7������� ,7�� "��2� �7������propagacji, ang. propagation delay time). ,7�� ��2�� ��2��� �7������� 7������� �����������:���� "� ��� �������� 27������� �����!�1� �� ������� ���� ���������� �������2����������:���5����� 2���� >� ���:���� ����2����� 2���������&� ������ ������� 2�� 7��� 27������� ������5=�������������4��������������� ���2����5
![Page 22: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/22.jpg)
22
(���2����2��������>�2�� ���� ������7��������&� ������ ��������������:���� �4�������� �!���� �����������������������2����5�$�������� ����2�����������2����7������������2���&� ��� �� 7������� ����2�������� ���:35� (���2������ ���:���� 7�2����� ��7������� Tco(ang. clock to ���� ����1&���������2����2����7�������7������� ���������2�!�����!���&� ���2��7��������������7�����������:����7��������5
#��� ���7 �������3� �������� 2����&� . �-� ���2��7��� 2������&� ������ 7��� ������3� ������ 4������ ��� ���� �� ���������5� 8����� � ������ 8+J +$.+� �����4��������:���� ��������� 2����� �� �2��7���� 7�� ��� ��������&� ������ ��4������ 4������ ��������2����5� (���� �� 2������ � ������� 8+J +$.+� ���� 2����� 8+J +$.+%&8+J +$.+6B&� 8+J +$.+(8� �� 8+J +$.+,&� �����:���� ��2���� ��&� ���� ���:�������2������������2����2�������������!���������������7��������7����������%&�6�B&�(�8&,5�,����7���2�������7�������2������
SEQUENCE state_var_list {PRESENT state_n0IF (condition1)NEXT state_n1;IF (condition2) NEXT state_n2 OUT out_n0;DEFAULT NEXT state_n0;PRESENT state_n1NEXT state_n2;...PRESENT state_nn statements;}
gdzie:state_var_list�>���2�� �2���������� ��7������������2���&������������� ����������;automatu stanów.state_n� >� ��2�� ������� 2���� �� ���������� �����:���� � �2��� 2����ST��S �2�� "�����:�����2����3����� ��� �������!�����������2����15statements – warunki, �U�&� ���������������:�������7�2������2��7����2�������5
2.3.3 Definiowanie wielu automatów stanowych.
8������� ������ . �-� ��� �� ��� �� ��4�������� ������� ��� ����!�� ��������2�����!����������������!��7���������-%5�9�����4���������2������������������������2����&� �������� 7��������� ��������&� ���� ��������� ������������ 2��� 7������� 2���� "�����&�!�����������������2��!���7�����2��&�������������������7���3��������158�� ����� ������� �7������� ����������� 7������� ������������ �������� �7������� �zbiorach na bitach stanów danego automatu, lub zdefiniowanie globalnego rejestru, który��������2��7��� ���������������5
< � ������ ���������� ������� ����� ������3� ���� ��!�� ��������� ���� ������� 2���&� ��� ����2��� ������� 2����5� < ������ 7������� �����:3� 7�����&� !�����!�� �������� �2��!��� ����: ���2���" ���2���15�,��2������������2�� 7�������&�!���������� ����2���� ��2��7�!�� � �� ��� �� ���������&� ������ ��� ������� ����!�� ����������!�� � ���:3� �������� " ��� ����2���� ��7�� @�������A15� < � � ���:��� ��� 2�������� ����2��! ��� �� ����� ������ ��3� ����������&� ��� ����� ���3� ������&� ��� ��� ��!�� ������ ��������������������4��������������!��!�5
![Page 23: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/23.jpg)
23
2.3.4 $�� ����� ����"� ����� ���#
8������ ������CONDITION�7��� ����7����:���������2���7���������2���������� 27���4������ 4������ �!�����&� ��� 7��� �� �� ��� 7�2���� 2������������ ����;boolowskich. 8���������2��jak 7������
CONDITION {IF expr0 OUT var;..IF exprn OUT var;DEFAULT OUT var;}
=�������2�� �!�����7��������&�!������������ �������: ���������2��27�����5
2.3.5 Definiowanie funkcji
8������ ������0 $.,)'$�7��� ������������2������2����� ��������7�7�����72� �����7����� �!���������4���������������������5�$��������������3�������7�����w równaniach logicznych do reprezentacji tej funkcji. Format definiowania funkcji jest�2��7������
FUNCTION name ([Parameter0 ,...,Parametern]){ body }
< ������������� ����!�������3������������4�����&���������������������59��� �������� �7���� ���� 7���������&� ����� 7���������� �� ��4������ 4������ �� �
����������� ��� ���� ��2�� ��3� �������5� ���������� ��4������� �� ��� �� 4������ 2��2��7����� ����� �2��������� �� ��������� �!�����5� =����� ����������� 4�������2���2�������!��������������������� ��4�����&����� �������7��7�2������������������ �� 4������ ��� ������ ����2��&� �����2� ����� ����������� 4������ ��2�� �2������� ������:3�V�WE5
2.3.6 Deklaracja MIN:
%�� ������� �)$� ���� ����� ��4�������� ������� 7������� ��������� � �� ���������:3�������2�����7��������&��������������7���������������������� �����:3�7��������������������&� ���2��������&� ������2��� ������������ �����������2����5
%�� �����������������)$���7�2����� ����������������7�����minimalizacji�2�� ���7����2�������������. �-5�0��������2���2��7������
MIN var [.ext] = level;
gdzie:MIN >���2��2������� ������������7�2����7����������� �����5var – jest 7�����;�������� ��� �2���������.ext – jest opcjonalnym rozszerzeniem które identyfikuje funkcje zmiennejlevel�>���2�� ��������������������2��E55H
������� E55H� ������� ��7�������� �7���� ������� ����&� 2����&� Quine-McClusky,Presto, Espresso
![Page 24: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/24.jpg)
24
��������7����������� ���7�7�������7�������������������
MIN async_out = 0; /* no reduction */MIN [outa, outb] = 1; /* Quine McClusky reduction*/MIN count.d = 4; /* Espresso reduction */
3 $�� ����������������)$��
,��������������������:����7�������. �-���7 ���������������� ��7�����:���������������. �-���:������2���. �-�4���Windows.
3.1 +�������( ���������������
B��7� �����. �-���2��7��!�����&���������������:����������7 ������2�����2���������2������2����7���������������������7� ���;������������!��7 ���2����������2�����������7����������� �4�������5� )4�������� ��� 2�� 7������ ������2������ 7��� 7��!����2��� ���7��!���������4������ �!���������-%&� ���2��������2��� �����7����������2��� �����5
#�����������3�. �-�� ����� ���3������. �-���XPrograms> <WinCUPL>, pojawi2��������2���������2����7�����5
![Page 25: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/25.jpg)
25
=��������FileNew – otwiera plik wzorcowy PLD dla nowego projektu.Open�>����������2��������7 ����������4������Save�>��7�2���������������4�������7 ��Save As�>��7�2���������������4�������7 ���7���������Print – drukuje obecnie wybrany dokumentExit – wychodzi z programu
=��������EditCut – przenosi zaznaczony tekst do schowkaCopy – kopiuje zaznaczony tekst do schowkaPaste – wsadza tekst ze schowka w miejsce obecnie wskazywane przez kursorDelete – kasuje zaznaczony tekstCopy Message�>���7�����������:3������������������2������Search – szuka podanego tekstu.Line To – przechodzi do podanego numeru linii.
=��������OptionsCompiler Options�>��7������7�:�������7���������������� �����&��7���� �������4������7 ��������:�������5�< ������������7��������������3���������������2����7���2�������7�����5
Minimalization� >� ������ �������� 2��� 27�2��� ����� �����&� ������ ���������: �� � �� ����!�� 7�������5� ��� ���������2�� �4�������� �� ���������� ����������������3����2������G5F5Q5
![Page 26: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/26.jpg)
26
Optimalization� >� 27�2��� �7���� ������ ����: �� � �� ����!�� 7�������� �����������2���4��������������������� ����������������3����2������G5F5Q5
Output files�>�����������7���������7 ��������:�������5
download�>���������7��7 ����������������5
Doc File Options – opcje dla pliku .doc (rodzaj reprezentacji danych w nimzawartych).
Output�>��� �����������7 ��������:��������� �����������2������������kompilacji.
Device� >� 7��� �� ������������� �� �������� ���� ���!�� �������5 ������������7���������2�����������7��2��������������������7 ����pld.#��������3��������&�� ������7����2����� ���:��������3���!���!� ����7&�2��7��� ����3� ������� %)�� ��� �-..&� �� �� ������ �����327���4������7��������5
![Page 27: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/27.jpg)
27
Simulator options�>��7�����������2��� �����7 ����5pld
Listing File�>�������7 ������:������2��� �����"5so).
Append Vectors – dodaje wektory testowe do pliku .jed.
Display Results�>���:���� ��!��4���������2�����:35
=���adka Run – kompilacja, symulacja i analiza
Device Specific Compile – kompilacja obecnie zaznaczonego projektu na����: ����������5
Device Specific Simulate - symulacja obecnie zaznaczonego projektu na����: ����������5
=��������Utilities�>�����������7�������������5
=��������Device Library�>��������������7� ��������� ��������������;�. �-–a
Calculator�>������������ �� �����windows
File Manager�>����������exploratora windows.
DOS Prompt�>����������:�������7� ���;�%'8�windows.
![Page 28: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/28.jpg)
28
Project – opcje projektuLoad – wczytuje projekt z pliku .pld.8�T��>��7�2����7�������"��������2�������������7� ��������2��� ����1
Windows – Sposób radzenia sobie z wieloma otwartymi oknamiCascade – otwieraj okna kaskadowoTitle�>�����������2�2����������������Arrange Icons� >� ����� ����� ����� �������� ����� �� ����� 7��!����CUPL
Help – pomoc on-line i ogólne informacje na temat CUPL
3.2 ,���������( � �%'��� ���
JEDEC (rozszerzenie .���1�>���2�����7 ������:������� �������������� ���!�5� ��� ���! ���� "�!5� absolute file) (.��21�>� ��� ������� � .8)��"�!5�. �-� logic
simulation program – program symulacyjny).� ����������"5 2�1�>� �2����2�2������������������!�� ���7 �������������5Plik dokumentacji (.doc) – zawiera rozszerzone równania logiczne i tablice symboli
zmiennych.A Open PLA file (.7 �1�>��������7��������4� ������;����5
4 Tutorial CUPL
,�� ������� 7������� 7������� ��!�� ���� �����3� 7��!����� . �-� 4��� windows.�������������������2���7� ���3�7��2���7��!���&������������������7����2�7�������������CUPL.
4.1 Tworzenie bramek
���7����2�� � ������������3�7��!����. �-�4��������2&� �2��7��� ������ file�����3�open.
![Page 29: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/29.jpg)
29
< �������������7 ���� � ���������3�gates.pld z katalogu examples. Plik gates.pld7������ 7�����3� 2��� �� ����� . �-5� $� ���� 7�:�����3� ������ ���� �� �� 7��! �������� 2��7 �����5�� ����������2�������������7��2���� �!�������������������. �-5
![Page 30: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/30.jpg)
30
$���:���Options -> Compiler '7���2&����:�������7����2��simulate, a 7������7�����do Output file, wybierz tam JEDEC i ��2� ���&�������7��������3�7 ���6+%+.�������������2������5� 6�2�� ������� 7������ ������ ������� �7���� expanded macro i list, aby������3��4�������������7� ����5
9��� �� ��� �7���� ���7� ������ 2�� �2������&� 7 ��� ��2�� !������ ��� �ompilacji. Z menu.��7� ��� ���������3�Device Specific .��7� ��"��: ��7 ����2��������4����������������!��7�2�3� 7���� ���7� ����15� ,�� 4������ 2���7� ���� 7 ��&� 2������ 7 ��� 6+%+.&� �����symulacje i doda do programu wektory testowe.
������;��������7� ����� �2�����2����������� ���7 ����&�27�����������4�����!������2������F5G5
4.2 Licznik do 10
Ten ������� � 7������� �������� ����2����� 2������� . �-� "� �������� 2����� �instrukcje warunkowe)
���7����2��� ����������3�7 �������DE57 ��"�katalogu �U��7 �21� ��!��7�����356�2�� ��� ������������ ��������!���� �� ���� ����� ��������� ���� ���:����2��������!���2�����5�< ��������up, down i � ��������� ������������ ����������2������ ����5�
Asynchroniczny 7�����������2�!�����2��!�������&�!��� ������2��!��������� ������:35<2�2������7����� �����2����3��� �!��������7�7�����!��7��������"������1&��2��7��2���7� ���3�"�����!������3�7 ����4��������1���������3�7 ����4���������"5doc)
![Page 31: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/31.jpg)
31
************************************************************Count10************************************************************CUPL(WM) 4.7a Serial# MW-67999999Device g16v8ms Library DLIB-h-36-11Created Mon May 06 10:19:28 1996Name Count10Partno CA0018Revision 02Date 12/19/89Designer KahlCompany Logical Devices, Inc.Assembly NoneLocation None============================================================Expanded Product Terms============================================================Q0.d =>!Q0 & !Q1 & !Q2 & Q3 & !clr# !Q0 & !Q3 & !clrQ1.d =>!Q0 & !Q1 & !Q2 & Q3 & !clr & dir# Q0 & !Q1 & !Q3 & !clr & !dir# !Q0 & Q1 & !Q3 & !clr & !dir# Q0 & Q1 & !Q3 & !clr & dir# !Q0 & !Q1 & Q2 & !Q3 & !clr & dirQ2.d =>!Q0 & !Q1 & !Q2 & Q3 & !clr & dir# Q0 & Q1 & !Q2 & !Q3 & !clr & !dir# !Q1 & Q2 & !Q3 & !clr & !dir# Q0 & Q2 & !Q3 & !clr & dir# !Q0 & Q1 & Q2 & !Q3 & !clrQ3.d =>Q0 & !Q1 & !Q2 & Q3 & !clr & dir# !Q0 & !Q1 & !Q2 & !Q3 & !clr & dir# Q0 & Q1 & Q2 & !Q3 & !clr & !dir# !Q0 & !Q1 & !Q2 & Q3 & !clr & !dircarry =>!Q0 & !Q1 & !Q2 & !Q3 & !clr & dir# Q0 & !Q1 & !Q2 & Q3 & !clr & !dirclear =>clrcount =>Q3 , Q2 , Q1 , Q0down =>!clr & dirmode =>clr , dirup =>!clr & !dircarry.oe =>1
![Page 32: WinCUPLmysinski.wieik.pk.edu.pl/WINCUPL/WinCUPLtutorial_PL.pdf2 1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to](https://reader033.fdocuments.net/reader033/viewer/2022042018/5e7670374437c95fc317e57d/html5/thumbnails/32.jpg)
32
6�2�����7�����������. �-�����������������2�������7��2������������� ��2��e.8������� . �-� ��������� ���������� 2����� ��2�� ������ �������� �� ��4������� �������"����������������2������������;15
4.3 Kwadrat
Z menu 4� ��� ���������3���5�,���������2�� ��7 �����������4������5�$� �������3�����7��������!�����B� ���� ����&� ������ � ���� ����3� ��� �������� ��� ������� pinów, dla tego projektu�������� 7��������3� H� ���:3� �� P� ���:3� "��� 7�������� �������� DQ*P15� =���� ����� H� piny���:�����������2������:�����&����2�2�����P�7����)?'������2������:�����5$�2��7��� �������� ��2�� ��4�������� ����2��� � �� 2�!����� "� 7��� ������� 2����� �����!�� 0)+-%15� 9��� ��!�� �������&� �2��7�� ����� ������ � ���� ����3� ��2�2�������� ��� ���� 7�����5� $� ���� ������ ������3&� ��� . �-� 7�2����� 7�� �� (+�+#,&� �����������2����������7�2��������5
Name SQUARE;Partno XX;Date 05/01/96;Revision 01;Designer Chip Willman;Company Logical Devices Inc.;Assembly None;Location U1;Device G16V8;/**********************************************************//* This Design Example is an example of a lookup table to *//* produce the square of a number coming in. *//* *//**********************************************************//* Allowable Target Device Types: *//**********************************************************//** Inputs **/Pin [2..5] = [I0..3] ; /* Input bus line 4 bits *//** Outputs **/Pin [12..19] = [Ot0..7] ; /* Output bus line 8 bits *//** Declarations and Intermediate Variable Definitions **/Field input = [I3..0];Field output = [Ot7..0];/** Logic Equations **/Table input=>output {‘d’00 => ‘d’000;‘d’01 => ‘d’001;‘d’02 => ‘d’004;$REPEAT A = [3..15]‘d’{A} => ‘d’{A*A};$REPEND}
< ��� � 7��!������ . �-� �������� ��2�� ��2��� �� ��� ����� 7������������2���������� 2������� ��!�� �����5� < � 7 ���� �U��7 �25�U�� �������� �7�2� ����2�:��7��������5