Files
SyncHome/trunk/workspace/01_opaljr/DEMO/SODAVEND.PLA
2023-03-13 08:36:51 +00:00

170 lines
9.8 KiB
Plaintext

#$ TOOL NSC opl2pla V016
#$ TITLE
#$ TITLE A soda vending machine example to illustrate the use of vector notation
#$ TITLE and the arithmetic operator.
#$ TITLE
#$ TITLE
#$ PROPERTY NSC PAGEBITS 3 pgbit~00 pgbit~01 pgbit~02
#$ PROPERTY NSC STATEBITS 4 sb3 sb2 sb1 sb0
#$ PINS 28 clk rst sel_soda ret_coins dime_i quarter_i nickel_i overflow enough dime quarter nickel coins clear o4 o3 o2 o1 o0 ret_quarter ret_dime ret_nickel give_soda errorlight sb3 sb2 sb1 sb0
#$ NODES 3 pgbit~00 pgbit~01 pgbit~02
.i 26
.o 30
.type f
.phase 111111111111111111111111111111
.ilb clk rst sel_soda ret_coins dime_i quarter_i nickel_i overflow enough
dime quarter nickel coins clear o4 o3 o2 o1 o0 sb3 sb2 sb1 sb0 pgbit~00
pgbit~01 pgbit~02
.ob sb3.reg sb2.reg sb1.reg sb0.reg pgbit~00.reg pgbit~01.reg pgbit~02.reg
ret_quarter.reg ret_dime.reg ret_nickel.reg give_soda.reg errorlight.reg
overflow enough dime quarter nickel coins clear.reg o4.d o4.ce o3.d o3.ce
o2.d o2.ce o1.d o1.ce o0.d o0.ce global.c
1------------------ ------- ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~1
----1-------------- ------- ~~~~~~~ ~~~~~~~1~~~~~~~~~~~~~~~
-0-------1---0----- ------- ~~~~~~~ ~~~~~~~1~~~~~~~~~~~~~~~
------1------------ ------- ~~~~~~~ ~~~~~~~~~1~~~~~~~~~~~~~
-0---------1-0----- ------- ~~~~~~~ ~~~~~~~~~1~~~~~~~~~~~~~
-----1------------- ------- ~~~~~~~ ~~~~~~~~1~~~~~~~~~~~~~~
-0--------1--0----- ------- ~~~~~~~ ~~~~~~~~1~~~~~~~~~~~~~~
--------------1---- ------- ~~~~~~~ ~~~~~~1~~~~~~~~~~~~~~~~
---------------11-- ------- ~~~~~~~ ~~~~~~1~~~~~~~~~~~~~~~~
--------------11--- ------- ~~~~~~~ ~~~~~1~~~~~~~~~~~~~~~~~
-----------1------- ------- ~~~~~~~ ~~~~~~~~~~1~~~~~~~~~~~~
---------1--------- ------- ~~~~~~~ ~~~~~~~~~~1~~~~~~~~~~~~
----------1-------- ------- ~~~~~~~ ~~~~~~~~~~1~~~~~~~~~~~~
-1----------------- 010-000 010~000 ~~~~~~~~~~~~0101010101~
-0-1--------------- 010-000 001~000 ~~~~~~~~~~~~~~~~~~~~~~~
-010----1---------- 010-000 001~100 ~~~~~~~~~~~~~~~~~~~~~~~
-000--------1------ 010-000 000~100 ~~~~~~~~~~~~~~~~~~~~~~~
-0-0----0---1------ 010-000 000~100 ~~~~~~~~~~~~~~~~~~~~~~~
-000--------0------ 010-000 010~000 ~~~~~~~~~~~~~~~~~~~~~~~
-0-0----0---0------ 010-000 010~000 ~~~~~~~~~~~~~~~~~~~~~~~
--------------1---- 001-000 000~010 ~~~~~~~~~~~~~~~~~~~~~~~
---------------1--- 001-000 000~010 ~~~~~~~~~~~~~~~~~~~~~~~
----------------11- 001-000 000~010 ~~~~~~~~~~~~~~~~~~~~~~~
----------------1-1 001-000 000~010 ~~~~~~~~~~~~~~~~~~~~~~~
--------------00100 001-000 000~101 ~~~~~~~~~~~~~~~~~~~~~~~
--------------0001- 001-000 000~101 ~~~~~~~~~~~~~~~~~~~~~~~
--------------00001 001-000 000~111 ~~~~~~~~~~~~~~~~~~~~~~~
--------------00000 001-000 010~000 ~~~~~~~~~~~~~~~~~~~~~~~
------------------- 001-100 010~000 ~~~1~~~~~~~~~~~~~~~~~~~
------------------- 001-100 010~000 ~~~~~~~~~~~~0101010101~
------------------1 001-100 010~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------1- 001-100 010~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------0-- 001-100 010~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------10-- 001-100 010~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------01-- 001-100 010~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------111-- 001-100 010~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------00--- 001-100 010~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------0-0-- 001-100 010~000 ~~~~~~~~~~~~11~~~~~~~~~
-------1----------- 000-100 001~101 ~~~~~~~~~~~~~~~~~~~~~~~
-------0---1------- 000-100 000~110 ~~~~~~~~~~~~~~~~~~~~~~~
-------0-1-0------- 000-100 001~001 ~~~~~~~~~~~~~~~~~~~~~~~
-------0-010------- 000-100 000~011 ~~~~~~~~~~~~~~~~~~~~~~~
-------0-000------- 000-100 000~001 ~~~~~~~~~~~~~~~~~~~~~~~
-----------1------- 001-101 010~001 ~~~~~~~~~~~~~~~~~~~~~~~
---------1-0------- 001-101 010~100 ~~~~~~~~~~~~~~~~~~~~~~~
---------010------- 001-101 100~001 ~~~~~~~~~~~~~~~~~~~~~~~
---------000------- 001-101 000~001 ~~~~~~~~~~~~~~~~~~~~~~~
------------------- 000-110 000~000 ~~~~~~~~~~~1~~~~~~~~~~~
------------------- 000-110 000~000 ~~~~~~~~~~~~0101010101~
------------------0 000-110 000~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------10 000-110 000~000 ~~~~~~~~~~~~~~~~~~11~~~
-----------------01 000-110 000~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------10- 000-110 000~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------1-0 000-110 000~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------011 000-110 000~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------10-- 000-110 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1-0- 000-110 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1--0 000-110 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------0111 000-110 000~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------10--- 000-110 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-0-- 000-110 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1--0- 000-110 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1---0 000-110 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------01111 000-110 000~000 ~~~~~~~~~~~~11~~~~~~~~~
------------------- 001-001 000~000 ~~~~~~~~~~~1~~~~~~~~~~~
------------------- 001-001 000~000 ~~~~~~~~~~~~0101010101~
------------------1 001-001 000~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------0- 001-001 000~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------10- 001-001 000~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------01- 001-001 000~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------10-- 001-001 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1-0- 001-001 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------011- 001-001 000~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------10--- 001-001 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-0-- 001-001 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1--0- 001-001 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------0111- 001-001 000~000 ~~~~~~~~~~~~11~~~~~~~~~
------------------- 000-011 000~000 ~~~~~~~~~~~1~~~~~~~~~~~
------------------- 000-011 000~000 ~~~~~~~~~~~~0101010101~
------------------0 000-011 000~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------10 000-011 000~000 ~~~~~~~~~~~~~~~~~~11~~~
-----------------01 000-011 000~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------111 000-011 000~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------00- 000-011 000~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------0-0 000-011 000~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------100- 000-011 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------10-0 000-011 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------01-- 000-011 000~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------0-11 000-011 000~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------10--- 000-011 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-00- 000-011 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-0-0 000-011 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------011-- 000-011 000~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------01-11 000-011 000~000 ~~~~~~~~~~~~11~~~~~~~~~
-1----------------- 000-001 010~000 ~~~~~~~~~~~~0101010101~
-0----------------- 000-001 000~001 ~~~~1~~~~~~~~~~~~~~~~~~
------------------- 000-000 010~000 ~~~~~~~~~~~~~~~~~~~~~~~
------------------- 000-010 001~000 1~~~~~~~~~~~~~~~~~~~~~~
------------------- 000-010 001~000 ~~~~~~~~~~~~0101010101~
------------------0 000-010 001~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------11 000-010 001~000 ~~~~~~~~~~~~~~~~~~11~~~
-----------------00 000-010 001~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------100 000-010 001~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------01- 000-010 001~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------0-1 000-010 001~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------111- 000-010 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------11-1 000-010 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------00-- 000-010 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------0-00 000-010 001~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------11--- 000-010 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-11- 000-010 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-1-1 000-010 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------000-- 000-010 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------00-00 000-010 001~000 ~~~~~~~~~~~~11~~~~~~~~~
------------------- 000-101 001~000 ~1~~~~~~~~~~~~~~~~~~~~~
------------------- 000-101 001~000 ~~~~~~~~~~~~0101010101~
------------------1 000-101 001~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------0- 000-101 001~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------11- 000-101 001~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------00- 000-101 001~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------11-- 000-101 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1-1- 000-101 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------000- 000-101 001~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------11--- 000-101 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-1-- 000-101 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1--1- 000-101 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------0000- 000-101 001~000 ~~~~~~~~~~~~11~~~~~~~~~
------------------- 000-111 001~000 ~~1~~~~~~~~~~~~~~~~~~~~
------------------- 000-111 001~000 ~~~~~~~~~~~~0101010101~
------------------0 000-111 001~000 ~~~~~~~~~~~~~~~~~~~~11~
-----------------11 000-111 001~000 ~~~~~~~~~~~~~~~~~~11~~~
-----------------00 000-111 001~000 ~~~~~~~~~~~~~~~~~~11~~~
----------------11- 000-111 001~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------1-1 000-111 001~000 ~~~~~~~~~~~~~~~~11~~~~~
----------------000 000-111 001~000 ~~~~~~~~~~~~~~~~11~~~~~
---------------11-- 000-111 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1-1- 000-111 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------1--1 000-111 001~000 ~~~~~~~~~~~~~~11~~~~~~~
---------------0000 000-111 001~000 ~~~~~~~~~~~~~~11~~~~~~~
--------------11--- 000-111 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1-1-- 000-111 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1--1- 000-111 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------1---1 000-111 001~000 ~~~~~~~~~~~~11~~~~~~~~~
--------------00000 000-111 001~000 ~~~~~~~~~~~~11~~~~~~~~~
------------------- 010-001 000~000 ~~1~~~~~~~~1~~~~~~~~~~~
------------------- 010-100 000~000 ~1~~~~~~~~~1~~~~~~~~~~~
------------------- 100-001 000~000 1~~~~~~~~~~1~~~~~~~~~~~
.e