170 lines
9.8 KiB
Plaintext
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
|