164 lines
9.1 KiB
Plaintext
164 lines
9.1 KiB
Plaintext
#$ TOOL NSC OPL2PLA V016
|
|
#$ DEVICE MAPL244
|
|
#$ TITLE
|
|
#$ TITLE A soda vending machine example to illustrate the use of vector notation
|
|
#$ TITLE and the arithmetic operator.
|
|
#$ TITLE
|
|
#$ TITLE
|
|
#$ PROPERTY NSC STATEBITS 4 sb3 sb2 sb1 sb0
|
|
#$ PINS 28 clk:10 rst:4 sel_soda:11 ret_coins:22 dime_i:23 quarter_i:24 nickel_i:25 overflow:14 enough:13 dime:7 quarter:6 nickel:12 coins:5 clear:26 o4:27 o3:28 o2:29 o1:32 o0:33 ret_quarter:41 ret_dime:43 ret_nickel:18 give_soda:19 errorlight:20 sb3:34 sb2:35 sb1:36 sb0:40
|
|
#$ NODES 3 pgbit~00:77 pgbit~01:78 pgbit~02:79
|
|
#$ PROPERTY NSC PAGEBITS 3 pgbit~00 pgbit~01 pgbit~02
|
|
#$ PROPERTY NSC CHECKSUM 1AA38
|
|
.i 26
|
|
.o 30
|
|
.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
|
|
.p 139
|
|
-010----1----------010-000 001010000000000000000000000000
|
|
--------------00100001-000 000010100000000000000000000000
|
|
--------------00001001-000 000011100000000000000000000000
|
|
-0-0--------1------010-000 000010000000000000000000000000
|
|
--------------0000000--000 010000000000000000000000000000
|
|
--------------0001-001-000 000010100000000000000000000000
|
|
---0----0---0------0-0-000 010000000000000000000000000000
|
|
--00--------0------0-0-000 010000000000000000000000000000
|
|
-0-1---------------010-000 001000000000000000000000000000
|
|
----------------1-1001-000 000001000000000000000000000000
|
|
----------------11-001-000 000001000000000000000000000000
|
|
-1-----------------010-000 010000000000000000001010101010
|
|
--------------1----001-000 000001000000000000000000000000
|
|
---------------1---001-000 000001000000000000000000000000
|
|
-------------------000-000 010000000000000000000000000000
|
|
--------------10---001-001 000000000000000000010000000000
|
|
---------------10--001-001 000000000000000000000100000000
|
|
----------------10-001-001 000000000000000000000001000000
|
|
---------------1-0-001-001 000000000000000000000100000000
|
|
--------------1-0--001-001 000000000000000000010000000000
|
|
---------------011-001-001 000000000000000000000100000000
|
|
------------------1001-001 000000000000000000000000000100
|
|
--------------0111-001-001 000000000000000000010000000000
|
|
--------------1--0-001-001 000000000000000000010000000000
|
|
-----------------0-001-001 000000000000000000000000010000
|
|
-------------------100-001 000000010000000000100000000000
|
|
-0-----------------000-001 000000100001000000000000000000
|
|
-------------------010-001 000000000100000000100000000000
|
|
-1-----------------000-001 010000000000000000001010101010
|
|
-------------------001-001 000000000000000000101010101010
|
|
----------------01-001-001 000000000000000000000001000000
|
|
--------------00-00000-010 000000000000000000010000000000
|
|
---------------111-000-010 000000000000000000000100000000
|
|
--------------1-11-000-010 000000000000000000010000000000
|
|
--------------000--000-010 000000000000000000010000000000
|
|
---------------11-1000-010 000000000000000000000100000000
|
|
--------------1-1-1000-010 000000000000000000010000000000
|
|
----------------01-000-010 000000000000000000000001000000
|
|
---------------0-00000-010 000000000000000000000100000000
|
|
----------------100000-010 000000000000000000000001000000
|
|
-----------------11000-010 000000000000000000000000010000
|
|
--------------11---000-010 000000000000000000010000000000
|
|
----------------0-1000-010 000000000000000000000001000000
|
|
---------------00--000-010 000000000000000000000100000000
|
|
-----------------00000-010 000000000000000000000000010000
|
|
------------------0000-010 000000000000000000000000000100
|
|
-------------------000-010 001000010000000000001010101010
|
|
--------------01-11000-011 000000000000000000010000000000
|
|
---------------100-000-011 000000000000000000000100000000
|
|
--------------011--000-011 000000000000000000010000000000
|
|
----------------111000-011 000000000000000000000001000000
|
|
---------------0-11000-011 000000000000000000000100000000
|
|
--------------1-00-000-011 000000000000000000010000000000
|
|
--------------1-0-0000-011 000000000000000000010000000000
|
|
---------------10-0000-011 000000000000000000000100000000
|
|
----------------00-000-011 000000000000000000000001000000
|
|
---------------01--000-011 000000000000000000000100000000
|
|
--------------10---000-011 000000000000000000010000000000
|
|
-----------------10000-011 000000000000000000000000010000
|
|
-----------------01000-011 000000000000000000000000010000
|
|
----------------0-0000-011 000000000000000000000001000000
|
|
------------------0000-011 000000000000000000000000000100
|
|
-------------------000-011 000000000000000000101010101010
|
|
---------1-0-------000-100 001000000000000000000000000000
|
|
--------------00---001-100 000000000000000000010000000000
|
|
-------0---1-------000-100 000011000000000000000000000000
|
|
--------------0-0--001-100 000000000000000000010000000000
|
|
---------------10--001-100 000000000000000000000100000000
|
|
------------------1001-100 000000000000000000000000000100
|
|
---------------01--001-100 000000000000000000000100000000
|
|
-----------------1-001-100 000000000000000000000000010000
|
|
----------------0--001-100 000000000000000000000001000000
|
|
--------------111--001-100 000000000000000000010000000000
|
|
-----------0-------000-100 000000100000000000000000000000
|
|
-------------------010-100 000000001000000000100000000000
|
|
-------1-----------000-100 001010100000000000000000000000
|
|
-------------------001-100 010000000010000000001010101010
|
|
-------0-01--------000-100 000001000000000000000000000000
|
|
---------010-------001-101 100000000000000000000000000000
|
|
--------------0000-000-101 000000000000000000010000000000
|
|
---------------000-000-101 000000000000000000000100000000
|
|
---------1-0-------001-101 010010000000000000000000000000
|
|
--------------11---000-101 000000000000000000010000000000
|
|
----------------11-000-101 000000000000000000000001000000
|
|
---------------1-1-000-101 000000000000000000000100000000
|
|
---------------11--000-101 000000000000000000000100000000
|
|
--------------1--1-000-101 000000000000000000010000000000
|
|
--------------1-1--000-101 000000000000000000010000000000
|
|
----------------00-000-101 000000000000000000000001000000
|
|
---------0---------001-101 000000100000000000000000000000
|
|
-----------1-------001-101 010000100000000000000000000000
|
|
------------------1000-101 000000000000000000000000000100
|
|
-----------------0-000-101 000000000000000000000000010000
|
|
-------------------000-101 001000001000000000001010101010
|
|
--------------01111000-110 000000000000000000010000000000
|
|
---------------0111000-110 000000000000000000000100000000
|
|
--------------1---0000-110 000000000000000000010000000000
|
|
----------------011000-110 000000000000000000000001000000
|
|
----------------10-000-110 000000000000000000000001000000
|
|
--------------1--0-000-110 000000000000000000010000000000
|
|
--------------10---000-110 000000000000000000010000000000
|
|
-----------------10000-110 000000000000000000000000010000
|
|
-----------------01000-110 000000000000000000000000010000
|
|
--------------1-0--000-110 000000000000000000010000000000
|
|
---------------10--000-110 000000000000000000000100000000
|
|
----------------1-0000-110 000000000000000000000001000000
|
|
---------------1-0-000-110 000000000000000000000100000000
|
|
---------------1--0000-110 000000000000000000000100000000
|
|
------------------0000-110 000000000000000000000000000100
|
|
-------------------000-110 000000000000000000101010101010
|
|
--------------00000000-111 000000000000000000010000000000
|
|
---------------0000000-111 000000000000000000000100000000
|
|
--------------11---000-111 000000000000000000010000000000
|
|
----------------000000-111 000000000000000000000001000000
|
|
----------------11-000-111 000000000000000000000001000000
|
|
---------------1-1-000-111 000000000000000000000100000000
|
|
---------------11--000-111 000000000000000000000100000000
|
|
--------------1--1-000-111 000000000000000000010000000000
|
|
--------------1-1--000-111 000000000000000000010000000000
|
|
-----------------11000-111 000000000000000000000000010000
|
|
----------------1-1000-111 000000000000000000000001000000
|
|
---------------1--1000-111 000000000000000000000100000000
|
|
--------------1---1000-111 000000000000000000010000000000
|
|
-----------------00000-111 000000000000000000000000010000
|
|
------------------0000-111 000000000000000000000000000100
|
|
-------------------000-111 001000000100000000001010101010
|
|
1------------------------- 000000000000000000000000000001
|
|
---------1---------------- 000000000000000001000000000000
|
|
----------1--------------- 000000000000000001000000000000
|
|
-----------1-------------- 000000000000000001000000000000
|
|
------1------------------- 000000000000000010000000000000
|
|
-0---------1-0------------ 000000000000000010000000000000
|
|
-----1-------------------- 000000000000000100000000000000
|
|
-0--------1--0------------ 000000000000000100000000000000
|
|
----1--------------------- 000000000000001000000000000000
|
|
-0-------1---0------------ 000000000000001000000000000000
|
|
--------------1----------- 000000000000010000000000000000
|
|
---------------11--------- 000000000000010000000000000000
|
|
--------------11---------- 000000000000100000000000000000
|
|
.e
|