PENGERTIAN
MULTIPLEXER
Multiplekser adalah sebuah perangkat yang dapat menyalurkan beberapa jalur data ke satu jalur luaran. Multiplekser mempunyai satu atau banyak sinyal masukan yang telah terhubung pada masukannya. Pemilihan saluran masukan dilakukan oleh sinyal kontrol. Suatu multiplekser dengan jumlah 2n saluran masukan memerlukan n sinyal kontrol.
Multiplexer (MUX) atau
selector data adalah suatu rangkaian logika yang dapat menerima satu hingga banyak input
data, dan untuk suatu saat tertentu hanya mengizinkan satu data input
masuk dan melewati output, yang diatur oleh input selektor. Oleh
karena itu, MUX memiliki fungsi sebagai sebuah pengontrol
digital. MUX memiliki jumlah kanal input lebih dari 1 , minimal 2 atau
kelipatan 2, dan hanya memiliki 1 kanal output. Banyaknya selektor dilihat dari
banyaknya kanal input (n).
CONTOH MULTIPLEXER
IC 74LS151 merupakan data selector/multiplekser yang memilih satu dari 8 saluran input dengan hanya menggunakan 3 sinyal kontrol.
- Komponen ini
mempunyai 8 buah masukan, yaitu I0 - I7 dan
2 luaran yaitu Z dan Z'.
- Pemilihan data akan dilakukan oleh
kaki A, B dan C.
- Untuk mengaktifkan
fungsinya sebagai sebuah multiplekser, komponen ini harus mempunyai
1 masukan enable, yaitu masukan berbentuk aktif-LOW.
- Sedangkan kaki 8 dihubungkan ke GND dan kaki 16 dihubungkan ke VCC +5V.
Multiplekser dapat digunakan pada :
- Seleksi
data;
- Data routing atau
perjalanan data;
- Multiplekser
biasanya menentukan perjalanan data dari satu sumber data
diantara beberapa sumber ke satu tujuan;
- Operation
sequencing atau
pengurutan operasi;
- Konversi
rangkaian dari parallel ke seri;
- Kebanyakan
system digital memproses data biner secara parallel atau
seluruh bit secara bersamaan, karena teknik ini akan
bekerja lebih cepat. Namun apabila data ini harus disalurkan
ke beberapa tempat yang relatif jauh, susunan parallel
ini menjadi tidak efektif, karena memerlukan lebih banyak
saluran transmisi. Maka, data biner berbentuk parallel sering diubah menjadi
bentuk data seri sebelum disalurkan ke tujuan yang jauh tersebut;
- Menghasilkan
sebuah bentuk gelombang;
- Menghasilkan
sebuah fungsi logika;
CONTOH PROGRAM MUX
Mux : Using assign Statement
1
//-----------------------------------------------------
2 // Design Name :
mux_using_assign
3 // File Name : mux_using_assign.v
4 // Function : 2:1 Mux using Assign
5 // Coder : Deepak Kumar Tala
6
//-----------------------------------------------------
7 module mux_using_assign(
8 din_0 , // Mux first input
9 din_1 , // Mux Second input
10 sel , // Select input
11 mux_out // Mux output
12 );
13 //-----------Input
Ports---------------
14 input din_0,
din_1, sel ;
15
//-----------Output Ports---------------
16 output mux_out;
17
//------------Internal Variables--------
18 wire mux_out;
19
//-------------Code Start-----------------
20 assign mux_out =
(sel) ? din_1 : din_0;
21
22 endmodule //End Of
Module mux
Program diatas dengan menggunakan modul bernama
mux_using_asign. Dengan input multiplekser yang pertama adalah din_0 dan yang
kedua adalah din_1. Definisi input adalah sel dan definisi output adalah
mux_out. Port input yang digunakan adalah din_o dan din_1. Port output yang
digunakan adalah output_mux. Dengan pencarian output nya adalah assign
mux_out=(sel)?din_1 :din_0;
Mux : Using if Statement
1
//-----------------------------------------------------
2 // Design Name :
mux_using_if
3 // File Name : mux_using_if.v
4 // Function : 2:1 Mux using If
5 // Coder : Deepak Kumar Tala
6
//-----------------------------------------------------
7 module mux_using_if(
8 din_0 , // Mux first input
9 din_1 ,
// Mux Second input
10 sel , // Select input
11 mux_out // Mux output
12 );
13 //-----------Input
Ports---------------
14 input din_0,
din_1, sel ;
15
//-----------Output Ports---------------
16 output mux_out;
17 //------------Internal
Variables--------
18 reg mux_out;
19
//-------------Code Starts Here---------
20 always @ (sel or
din_0 or din_1)
21 begin : MUX
22 if (sel == 1'b0) begin
23 mux_out = din_0;
24 end else begin
25 mux_out = din_1 ;
26 end
27 end
28
29 endmodule //End Of
Module mux
Mendefinisikan din_0 sebagai input pertama dan din_1 sebagai
input kedua. Inputnya adalah sel dan definisi output adalah mux_out. Port input
yang dimasukkan adalah din_0 dan din_1. Pada port output adalah mux_out. Lalu
mendefinisikan program (sel or din_0 or din_1)
Fungsi dari stamen if else adalah untuk input sel jika 1
makan memulai dan hasil outputnya adalah din_0. Jika tidak maka outputnya
adalah din_1.
Mux : Using case Statement
1
//-----------------------------------------------------
2 // Design Name :
mux_using_case
3 // File Name : mux_using_case.v
4 // Function : 2:1 Mux using Case
5 // Coder : Deepak Kumar Tala
6 //-----------------------------------------------------
7 module mux_using_case(
8 din_0 , // Mux first input
9 din_1 , // Mux Second input
10 sel , // Select input
11 mux_out // Mux output
12 );
13 //-----------Input
Ports---------------
14 input din_0,
din_1, sel ;
15
//-----------Output Ports---------------
16 output mux_out;
17
//------------Internal Variables--------
18 reg mux_out;
19
//-------------Code Starts Here---------
20 always @ (sel or
din_0 or din_1)
21 begin : MUX
22 case(sel )
23 1'b0 : mux_out = din_0;
24 1'b1 : mux_out = din_1;
25 endcase
26 end
27
28 endmodule //End Of
Module mux
Mendefinisikan din_0 sebagai input pertama dan din_1 sebagai
input kedua. Inputnya adalah sel dan definisi output adalah mux_out. Port input
yang dimasukkan adalah din_0 dan din_1. Pada port output adalah mux_out. Lalu
mendefinisikan program (sel or din_0 or din_1)
Lalu memulai program multiplekser. Dengan menggunakan
statement case, pada case input sel, saat input 1’b0 maka outputnya adalah
din_0. Pada saat input 1’b1 maka outputnya adalah din_1.







0 komentar:
Posting Komentar