HEX-decoder for 2-digit 7-segment LED-indicator on one (!) GAL16V8

Those who are fond of retro-computing in the field of self-assembly of computers based on 8-bit processors (i8080 / i8085 / z80 / z180 / 6502/6809, etc.) or microcontrollers, usually face the need to display during debugging and / or "operation "any information (contents of address buses, data, etc.) on 7-segment displays in hexadecimal representation.





In principle, the task of displaying hexadecimal digits is easily solved by the necessary number of "smart" TIL311 indicators  . Developed by Texas Instruments long before the dinosaurs died out, these well-known indicators are still in production and can be found on  Aliexpress .





Despite the ease of use, these indicators also have significant drawbacks, namely:





  • Relative high cost - even on Aliexpress, these indicators are not cheap at all (compared to conventional 7-segment indicators) and you won't buy them for future use on the "maybe they'll come in handy" principle;





  • Lack of walking distance - they must be specially ordered and waited for, i.e. not at all the case when you need to mock up something for a quick hand;





  • β€” , .





, , 7- LED-  . , , (. GAL16V8) β€” , ( ) , , .





1 GAL16V8 1- 16- ,   16-    GAL16V8 ( ).






1: ?

/ 7- LED-   β€” A , D , , β€” . 





, ( )   , 4- β€” Ζ’(A,B,C,D):





    .   MS Excel, «» , ( ).





, ,  a     3 (, ) 4 ( '═══', '───',   'βˆ’βˆ’βˆ’' - 'βˆ’βˆ™βˆ’βˆ™').





    , .. () . , ( ), . 





:





a-g β€” F(A,B,C,D),

*  β€” '' ( , ),

+ β€” '' ( , ), 

\ β€” '' ( )





GAL16V8   7- .   7-    GAL16V8 . ?





Β« GAL16V8?Β» , 2- , , . , .






?

β€”  ?





. 'e'.

, 10 16- β€” 0  2  6  8 A  B  C  D  E  F.





, 0000  0010  0110  1000  1010  1011  1100  1101  1110  1111.









e(A, B, C, D) = \A*\B*\C*\D + \A*\B*C*\D + \A*B*C*\D + A*\B*\C*\D +

A*\B*C*\D + A*\B*C*D + A*B*\C*\D + A*B*\C*D + A*B*C*\D + A*B*C*D





(.. ,  )  .    .   (). , 10,  4 :





e(A, B, C, D) = \B*\D + C*\D +  A*B + A*C*D





   GAL4V1 ( , GAL-, , β€” ): 





Simplified device of GAL microcircuits on the example of a hypothetical microcircuit GAL4V1
GAL GAL4V1

GAL4V1 :





  • ,     'X' '\X';





  • , ( 5 ) , '';





  • , '';





  • , ' ' (eXclusive OR - XOR) .





, , .   , -  e (A, B, C, D) (. ).





, , GAL4V1?  (4), (1) (5), β€”  , , 4- 5-.





 e(A, B, C, D) , «» , 'a' (7 ).

, ... 





))





GAL-

GAL- GAL4V1? β€” , GAL- / :





  • , .. , ( 8 GAL16V8 GAL20V8, 10 GAL18V10 GAL22V10, 12 GAL26V12 GAL26CV12);





  • (7-8 GAL16V8 GAL20V8, 8-10 GAL18V10, 8-16 GAL22V10 GAL26v12, 8-12 GAL26CV12);





  • , .. , ( 16 GAL16V8, 18 GAL18V10, 20 GAL20V8, 22 GAL22V10 26 GAL26V12 GAL26V12);





  • ( ) Β« Β», Β«-Β» «» ( );





  • .





GAL 1- (D-), / (GAL16V8 GAL20V8) - (GAL18V10, GAL22V10 GAL26V12/GAL26CV12). 





GAL- , , .





1- , GAL- " " (OLMC β€” Output Logic MacroCell).





GAL4V1

Y A (.. ). 1 :





Y(A) = A





Y A ,    B   :





Y(A, B) = A * \B





2- , 1 .





β€” Y A , B   , C   :





Y(A, B, C) = A * B * \C





, , .





  C , Y A,    C , Y B:





Y(A, B, C) = A * \C + B * C





. 3- , ,   2-   2 () , 1- . ? , β€” Β« Β».





?

(/) 7- . 7+7=14 ( , , 16). 





, GAL, .





, 2- 7- , , β€” (.. ) .





GAL16V8?

 GAL16V8 , (.. , 1- ) 3- , .. Registered, Complex Simple. , .





 Simple  ( 8) GAL4V1,  8  β€” 10. .





 Complex  Simple,  Output Enable (\OE), .  7 . β€” 10.





 Registered  ( ) XOR- 1- (D-), CLK, 1 . \OE, 11 . β€” 8. , Complex 7 . β€” 8.





?

GAL16V8 , .. 4 ( 'e') 7 ( 'a') .





, .. 7- GAL16V8, , 7 ( 'a'), 2- 2 .





, ,   , 7- ,  7- GAL16V8.





  7- GAL16V8






2: - !

(.. ) , .. Simple Registered, 8 . 





, , GAL16V8 16-    4- . ? 





, 1-   , .. , .





,   ? , - , , ( ) , . 





,     , «» , «» , .





. «»     , ('\' '/'). , «» : 





, 7- \a(A,B,C,D), \b(A,B,C,D), ..., \g(A,B,C,D) 4-, !





, , GAL4V1, ;)





.





GAL16V8D

β€” 2 DIP- :





β€” 555 ( ). β€” PNP 100 . β€” 7-  .





. ,    , «»    , «». 





XOR- GAL16V8 LED-  , GAL16V8D , :





 GAL16VP8  - ( 64 ), . (  ).





2- LED- ( 200- 4- , ):





GAL16V8 WinCUPL, :





( , WinCUPL ), ...





, EN_L , . ,  -





β€” , (.. , ), , 2-, ( )  EN_i  ,  EN_j, :





, / , EN_L EN_H GAL16V8, Β«EN_L  =  ! EN_HΒ» : 





EN_L, , ( ) ( LED1/LED2 ). 





GAL16V8D JED- ( ) MiniPro TL866A.





β€” , , β€”  GAL16V8   7- :






In the process of creating this article, I came across a good publication on HabrΓ© - PAL, GAL and a journey into digital retro / Habr (habr.com) and thought that my case might be of interest to those who want to understand how it actually works and who does not believe that the rolls grow in the store, the water comes from the tap, and the electricity from the outlet.








All Articles