NEWS TODAY

Minggu, 05 Juni 2011

Tugas Pendahuluan 2 Sistem Digital Lanjut


1.       Pelajari Modul
2.       Jelaskan fungsi, tabel kebenaran (buat tabelnya) dan persamaan dari rangkaian kombinasional MULTIPLEXER (4 ke 1) dan ENCODER (4 ke 2)
Multiplekser
Merupakan rangkaian logika yang berfungsi memilih data yang ada pada inputnya untuk disalurkan ke outputnya dengan bantuan sinyal pemilih atau sinyal kontrol.
Multiplexer seringkali disingkat MUX, disebut juga pemilih data (data selector)
Jumlah input multiplexer adalah 2n (n=1,2,3,…) di mana n adalah jumlah bit sinyal pemilih.
MUX 2 ke 1 dengan 1-bit sinyal pemilih
MUX 4 ke 1 dengan 2-bit sinyal pemilih
MUX 8 ke 1 dengan 3-bit sinyal pemilih, dst

Encoder
Merupakan rangkaian logika yang berfungsi mengubah data yang ada pada inputnya menjadi kode biner pada output
Contoh :
Encoder oktal ke biner, disebut juga encoder8 ke 3 berfungsi mengubah data bilangan oktal pada input ke kode biner 3 bit

3.       Apa perbedaan memprogram mikrokontroler (contohnya pada praktikkum MIKROPROSESOR) dengan FPGA (contohnya pada praktikum SDL)
FPGA itu singkatan dari Field Programmable Gate Array, suatu device yang dapat kita konfigurasi sendiri dengan gerbang-gerbang logika. Tidak seperti mikrokontroler, FPGA ini benar-benar seperti IC “kosong” yang belum berisi gerbang-gerbang logika. Pada praktikum embedded system, ada yang namanya FLEX10K, dari situ kita dapat merancang rangkaiannya sendiri dan bisa langsung download kan ke FPGA itu sendiri.
Bisa menggunakan schematic langsung maupun language.
Untuk memprogram FPGA, kita memerlukan suatu bahasa (kalau di mikrokontroler, kita gunakan bahasa C atau assembly), bahasa yang digunakan untuk FPGA itu macam-macam, salah satunya adalah HDL (Hardware Description Language). Bahasa yang lainnya adalah Verilog, bisa juga pake skematik, tinggal drag and drop komponennya.
di Indonesia masih sedikit orang yang mengerti tentang FPGA. Padahal dibandingkan dengan mikrokontroler, pemrograman alat berbasis FPGA lebih mudah.
4.       Deklarasi modul dalam top module

5.       Tuliskan listing (verilog) untuk multiplekser 8 ke 1 dan encoder 8 ke 3

MUX 8 ke 1
module MUX8TO1(sel, A,B,C,D,E,F,G,H, MUX_OUT);
input [2:0] sel;
input A,B,C,D,E,F,G,H;
input reg MUX_OUT;
always@(A,B,C,D,E,F,G,H,sel)
begin
case(sel)
3'd0:MUX_OUT=A;
3'd1:MUX_OUT=B;
3'd2:MUX_OUT=C;
3'd3:MUX_OUT=D;
3'd4:MUX_OUT=E;
3'd5:MUX_OUT=F;
3'd6:MUX_OUT=G;
3'd7:MUX_OUT=H;
default:; // indicates null
endcase
end
endmodule

encoder 8 ke 3
module priority_encoder (code, valid_data, data);
output [2:0] code;
output       valid data;
input  [7:0] data;
reg    [2:0] code;

assign valid_data= |data; // Use of "reduction or" operator
always @ (data)
begin
if(data[7]) code=7; else
if(data[6]) code=6; else
if(data[5]) code=5; else
if(data[4]) code=4; else
if(data[3]) code=3; else
if(data[2]) code=2; else
if(data[1]) code=1; else
if(data[0]) code=0; else
            code=3'bx;
end
 endmodule