Kod çözücü

Kod çözücü (decoder), temel olarak kodlanmış verinin ilk halini tekrar elde etmek için kullanılmaktadır. Sayısal elektronikte kod çözücülerin basit mantığı, kodlanmış çoklu giriş kod çözücüye verilmekte ve çıkış olarak da farklı şekilde kodlanmış çoklu çıkış alınmaktadır. Bu kod çözücülere örnek, ikili kodlu onluk kod çözücülerdir ve burada verilen n sayıdaki giriş 2n sayıda çıkışa dönüştürülmektedir. Burada kod çözücüye seçme girişleri de konularak oluşturulan çoklu çıkışlardan seçim yapılması sağlanabilir. Kod Çözücüler, durağan rastgele erişimli bellek (SRAM) bit hücrelerinden oluşan bir yazmaç öbeğinde satırın seçiminde, 7 bölütlü görüntü için veya veri çoklama gibi birçok yerde kullanılmaktadır.

Kod çözücüler farklı birçok CMOS mantık yöntemleri ile tasarlanmaktadır ve bir kod çözücü, mantık kapıları ile oluşturulabilir. Bir VE mantık kapısı girişlerinin hepsi mantıksal 1 olduğunda çıkış değeri mantıksal 1, onun haricindeki girişlerde 0 olmaktadır. Bu sebeple, bir kod çözücüyü   "VE" mantık kapısı olarak düşünebilir. Uygulamada ise, kod çözücü için tek bir VE kapısı kullanmak yerine VE DEĞİL, VEYA DEĞİL gibi mantık kapıları kullanılmaktadır. Bunun sebebi ise bir VE kapısının parçalara ayrılarak VE DEĞİL kapılarından oluşturulmasının güç tüketimi ve zaman açısından daha iyi sonuçlar vermesidir.

Yazmaç öbeği için veya bir SRAM tablosunda kelime seç sürücüsü ile beraber kullanılmaktadır ve bu mantıkta fakat farklı yöntemlerle birçok SRAM tablosu tasarlanabilir. Temel bir SRAM tablosunda kod çözücü için, her bir satır için bir kod çözücü ve ucuna da tel uzunlukları dolayısı ile teli sürebilmek için kelime seç sürücüsü eklenir. Bu kod çözücülerin girişleri aynı verilir, fakat VE ve VEYA mantık kapılarının girişler sıra ile evirilerek verilir. Bu şekilde eğer en üstteki giriş hepsi normalse, alta doğru anlamsız bitler için evirme işlemi yapılır. Böylece hangi satır geleceği adres tellerine göre belirlenmiş olur, sonra ise bu belirlenen adresten kod çözücü aktif olur, kelime seç sürücüsü ile devreye veri verilir.

Kod çözücü için n girişe 2n çıkışa sahip olacak şekilde bir sistem tasarlanabilir, ve bu sistemlerden farklı sayıda giriş ve çıkışa sahip kod çözücüler elde edilebilir. Örneğin 2'ye 4'lük bir kod çözücüden 2 tane kullanarak, yeni bir 3'e 8'lik kod çözücü elde edilebilir. Ayrıca bu kod çözücülere seçme girişleri de ekleyerek ters çoklayıcı (Demux) kod çözücü elde edilebilir.