BELAJAR

animasi  bergerak gif
Dari : Situs Alfi

Kamis, 23 Juni 2011


Decoder

3 - 8 Binary Decoder
Decoder digunakan untuk men-decode data yang sebelumnya telah dikodekan menggunakan jenis biner, atau mungkin lainnya, format kode. Model-model dari 3 - 8 decoder biner sesuai dengan tabel kebenaran di bawah ini:
masukan
output
A2
A1
A0
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0


Model dapat menggunakan jika, kasus dan untuk laporan. Pernyataan kasus ini banyak digunakan karena kejelasan, dan fakta bahwa itu bukan tugas terus menerus dan hal ini dapat mensimulasikan lebih cepat. Sebagai input dan output bit meningkatkan lebar, itu adalah kode yang lebih efisien untuk menggunakan untuk pernyataan loop. Hanya untuk model yang ditampilkan di sini. Model-model lain dibiarkan untuk pembaca sebagai latihan.

modul DECODER (A, Y);
input [02:00] A;
output [07:00] Y;

reg [07:00] Y;
integer N;
selalu @ (A)
mulai
untuk (N = 0; N <= 7; N = N +1)
if (A N ==)
Y [N] = 1;
lain
Y [N] = 0;
akhir
endmodule

Empat Bit Alamat Decoder
Contoh ini adalah empat bit decoder alamat. Ini menyediakan memungkinkan sinyal untuk segmen memori, peta alamat yang ditunjukkan di bawah ini:
keempat kuadran
kuadran ketiga
kedua kuadran
kuadran pertama
12-16
8-11
7
6
5
4
0-3







input The decoder's bisa menjadi bit bour atas bus alamat yang lebih besar yang terjadi output decode akan memungkinkan segmen yang lebih besar dari memori. Tujuh output eable disediakan, satu untuk setiap segmen memori. Peta alamat dibagi menjadi empat, dan kuartal kedua adalah lebih lanjut dibagi menjadi empat. Ada empat output dari kuartal kedua sesuai dengan empat nilai input berturut-turut biner.

modul ADDRESS_DECODER (Alamat, AD0_3, AD4_7, AD8_11, AD12_15);
input [03:00] Alamat;
output AD0_4, AD8_11, AD12_15;
output [03:00] AD4_7;
integer N;
reg AD0_3, AD8_11, AD12_15;
reg AD4_7;
selalu @ (Alamat) mulai
/ Triwulan / pertama
if (Alamat> = 0 & & Alamat <= 3)
AD0_3 1 =;
lain
AD0_3 = 0;

/ Triwulan / ketiga
if (Alamat> = 8 & & Alamat <= 11)
AD8_11 = 1;
lain
AD8_11 = 0;

/ Triwulan / keempat
if (Alamat> = 12 & & Alamat <= 15)
AD12_15 1 =;
lain
AD12_15 = 0;

/ Triwulan / detik
untuk (N = 0; N <= 3; N = N +1)
if (N == Alamat +4)
AD4_7 [N] = 1;
lain
AD4_7 [N] = 0;
akhir

Tidak ada komentar:

Posting Komentar