Senin, 30 Oktober 2017

Multiplekser

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 AB 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