Transkoderami nazywane są układy służące do konwersji kodu dwójkowego, innego niż kod pierścieniowy, na inny kod dwójkowy, ale również nie pierścieniowy. Przykładem transkodera jest konwerter kodu wskaźnika siedmiosegmentowego na kod 8421 BCD. Transkodery są często zaliczane do grupy dekoderów.
Transkodery można zrealizować w postaci układu (rys. 4.429a) złożonego z dekodera (zmieniającego kod wejściowy X na kod pierścieniowy) i enkodera (zmieniającego kod pierścieniowy uzyskany na wyjściach dekodera na żądany
Trans koder
Rys. 4.429. Schematy ideowe transkoderów
a) zbudowanych z enkodera i z dekodera, b) zbudowanych w postaci kombinacyjnego układu wielowyjściowego
kod wyjściowy F). Rozwiązanie takie nie jest zazwyczaj optymalne, gdyż nie uwzględnia możliwości wielokrotnego wykorzystania niektórych funkcji przełączających. Są jednak przypadki, gdy takie rozwiązanie jest korzystne. Mają one miejsce wówczas, gdy zarówno wymagany dekoder, jak i enkoder, albo przynajmniej jeden z nich, są dostępne w postaci scalonej.
Jeśli zarówno dekoder jak i enkoder nie są dostępne w postaci układów scalonych, to lepsze rozwiązanie można uzyskać w wyniku syntezy transkodera jako wielowyjściowego układu kombinacyjnego (rys. 4.429b).
Przykład 1. Zaprojektować transkoder służący do przetwarzania kodu 8421 BCD na kod 2*421 BCD.
W celu zajprojektowania transkodera: 8421 BCD->2*421 BCD należy przedstawić rozpatrywane kody w tablicy (rys. 4.430a). Tablica kodów stanowi tablicę wartości rozpatrywanego układu kombinacyjnego. Jest to układ 4-wyjściowy. Kolumny wejścia A i D (patrz tablica kodów) są tożsame z kolumnami wyjściowymi A' i ZF, a zatem:
A' = A d' = d
W celu wyznaczenia funkcji B* i C" należy zastosować znane metody minimalizacji, np. wykorzystać do tego celu tablice Karnaugha (rys. 4.430b) lub dostrzec związki logiczne, jakie otrzymuje się z tych tablic, a mianowicie, że:
B' = B+D a = C+D