home *** CD-ROM | disk | FTP | other *** search
- module led1
- title 'Binary to seven segment display decoder for Blackjack machine
- Michael Holley & Walter Bright Data I/O Corp 11 Jan 1986'
- "
- " a binary-to-seven-segment decimal decoder
- " ---
- " f| g |b
- " --- segment identification
- " e| d |c
- " ---
- " --- --- --- --- --- --- --- ---
- " | | | | | | | | | | | | | |
- " --- --- --- --- --- --- ---
- " | | | | | | | | | | | | |
- " --- --- --- --- --- --- ---
-
- BJ4A device 'F82S153';
-
- S4,S3,S2,S1,S0 pin 1,2,3,4,5; score = [S4,S3,S2,S1,S0];
- a,b,c,d,e,f,g pin 12,13,14,15,16,17,18; led = [a,b,c,d,e,f,g];
- LT22,LT17,ena pin 19,9,11;
-
- a,b,c,d,e,f,g istype 'pos'; "Default is active low or 'neg'
-
- ON,OFF = 0,1; " for common anode leds
- L,H,Z = 0,1,.Z.;
-
- "input outputs
- " a b c d e f g
- digit0 = [ ON, ON, ON, ON, ON, ON, OFF] ;
- digit1 = [OFF, ON, ON, OFF, OFF, OFF, OFF] ;
- digit2 = [ ON, ON, OFF, ON, ON, OFF, ON] ;
- digit3 = [ ON, ON, ON, ON, OFF, OFF, ON] ;
- digit4 = [OFF, ON, ON, OFF, OFF, ON, ON] ;
- digit5 = [ ON, OFF, ON, ON, OFF, ON, ON] ;
- digit6 = [ ON, OFF, ON, ON, ON, ON, ON] ;
- digit7 = [ ON, ON, ON, OFF, OFF, OFF, OFF] ;
- digit8 = [ ON, ON, ON, ON, ON, ON, ON] ;
- digit9 = [ ON, ON, ON, ON, OFF, ON, ON] ;
-
- HighZ macro { [ Z, Z, Z, Z, Z, Z, Z] };
-
- equations
- LT22 = (score < 22); "Bust
- LT17 = (score < 17); "Stand
- enable led = !ena;
-
- truth_table (score -> led)
- @const i = 0;
- @repeat 32 {
- @expr i; -> @expr {digit} i%10; ; @const i = i+1;}
-
- test_vectors ([ena,score] -> led)
- @const i = 0;
- @repeat 32 {
- [ L, @expr i; ] -> @expr {digit} i%10; ; @const i = i+1;}
-
- [ H , 0] -> HighZ;
- [ H , 15] -> HighZ;
- [ H , 31] -> HighZ;
- end led1
-