Mereka yang menyukai komputasi retro di bidang perakitan mandiri komputer berdasarkan prosesor 8-bit (i8080 / i8085 / z80 / z180 / 6502/6809, dll.) Atau mikrokontroler, biasanya dihadapkan pada kebutuhan untuk menampilkan selama debugging dan / atau "operasi" informasi apa pun (konten bus alamat, data, dll.) pada tampilan 7-segmen dalam representasi heksadesimal.
Pada prinsipnya, tugas menampilkan digit heksadesimal mudah diselesaikan dengan jumlah indikator TIL311 "pintar" yang diperlukan . Dikembangkan oleh Texas Instruments jauh sebelum dinosaurus punah, indikator terkenal ini masih dalam produksi dan dapat ditemukan di Aliexpress .
Disamping kemudahan penggunaannya, indikator tersebut juga memiliki kekurangan yang cukup signifikan yaitu:
Biaya relatif tinggi - bahkan di Aliexpress, indikator ini sama sekali tidak murah (dibandingkan dengan indikator 7-segmen konvensional) dan Anda tidak akan membelinya untuk digunakan di masa mendatang dengan prinsip "mungkin akan berguna";
Kurangnya jarak berjalan kaki - mereka harus dipesan dan ditunggu secara khusus, mis. tidak sama sekali ketika Anda perlu mengejek sesuatu untuk cepat;
β , .
, , 7- LED- . , , (. GAL16V8) β , ( ) , , .
1 GAL16V8 1- 16- , 16- GAL16V8 ( ).
1: ?
, , 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-, , β ):
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- :
Dalam proses pembuatan artikel ini, saya menemukan publikasi yang bagus tentang HabrΓ© - PAL, GAL dan perjalanan ke dalam retro digital / Habr (habr.com) dan berpikir bahwa kasus saya mungkin menarik bagi mereka yang ingin memahami bagaimana hal itu. benar-benar berfungsi dan siapa yang tidak percaya bahwa gulungan tumbuh di toko, air berasal dari keran, dan aliran listrik dari stopkontak.