PRATIKUM VLSI DAN ELEKTRONIKA Nomor Percobaan : 03 Judul Percobaan : Multiplexer dan Demultiplexer. Nama Praktikan : Marta Zuriadi Nomor BP : 1511011002 Kelas : IV DIV Elektronika Industtri Pembimbing : 1. Nadia Alfitri, S.T., M.T DIV EC 2. Dedi Kurniadi, S.ST., M.Sc. JURUSAN TEKNIK ELEKTRO PROGRAM STUDI DIV TEKNIK ELEKTRONIKA INDUSTRI POLITEKNIK NEGERI PADANG 2019 LEMBARAN PENGESAHAN No. Percobaan : 03 Judul Percobaan : Multiplexer dan Demultiplexer Nama : Marta Zuriadi No. BP : 1511011002 Kelompok : 07 Patner : 1. Aulia Fitri Humairo 2. Aldian Maulana Budiman Kelas : IV DIV Teknik Elektronika Industri Tanggal Percobaan : 12 Maret 2019 Tanggal Penyerahan : 17 Maret 2019 Dosen Pembimbing : 1. Nadia Alfitri, S.T., M.T 2. Dedi Kurniadi, S.ST., M.Sc. Keterangan : Nilai : DAFTAR ISI Laporan Pengesahan.......................................................................................... Daftar Isi............................................................................................................ Bab I Pendahuluan ............................................................................................ 1.1 Tujuan Pratikum............................................................................ 1.2 Teori Pendukung........................................................................... Bab II Proses Pratikum...................................................................................... 2.1 Alat dan Bahan ............................................................................. 2.2 Langkah-langkah Pratikum........................................................... 2.3 Gambar Praktikum........................................................................ Bab III Pembahasan Pratikum........................................................................... 3.1 Data Pratikum ............................................................................... 3.2 Analisa Data.................................................................................. Bab IV Penutup................................................................................................. 4.1 Kesimpulan ................................................................................... 4.2 Saran.............................................................................................. BAB I PENDAHULUAN 1.1 Tujuan 1. Mahasiswa mampu membuat program Multiplexer dan Demultiplexer menggunakan warp 4.2. 2. Mahasiswa mampu memahami fungsi setiap baris instruksi program yang dibuat 3. Mahasiswa mampu membuat (upload) program ke aplikasi . 1.2 Landasan Teori Pemrograman dengan WARP 4.2 Pemrograman dengan menggunakan WARP 4.2 harus memenuhi kaidah pemprograman yang telah ditetapkan oleh vendor yang bersangkutan tetapi pada umumya mengacu pada standar intemasional IEEE. Walaupun berbeda vendor namun bahasa pemrogramannya relatif sama. Berikut ini gambaran umum mengenai teknik pemrograman VHDL. Terdapat dua bagian yang harus ada dalam setiap pemprograman yaitu 1. Entity Declaration 2. Architecture Body 1.3.1 Entity Declaration Deklarasi entity menggambarkan input dan output pada desain entity. Dapat juga menyatakan nilai-nilai parameter. Deklarasi entity analogi dengan simbol skema, yang mana menggambarkan hubungan komponen berdasarkan desain. Contohnya: entity add4 is port ( a.b : in std_logic_vector(3 downto 0); cl : in std_logic; sum : out std_logic_vector(3 downto o); co : out std_logic); end add4: Port dapat dikatakan sebuah pin dalam skematik simbol. Masing-masing port harus mempunyai nama (identitas) sendiri, arah(mode) dan tipe data yang jelas. Contoh: Mode : in, out, buffer dan inout (bidirectional) Type : std_logic, std_ulogic, std_logic_vector dan std_ulogic_vector 1.3.2 Architecture Body Setiap architecture body tergabung dengan sebuah entity deklarasi. Sebuah architecture menggambarkan isi pada sebuah entity itu yang juga menyatakan fungsi entity. Jika entity deklarasi ditampilkan sebagai 'kotak hitam', yang mana input dan output itu sudah diketahui sedangkan apa yang ada di dalamnya itu tidak diketahui, maka architecture itulah isi dari kotak hitam tersebut yang menggambarkan sebuah entity function. Ada tiga cara dalam design architecture, yaitu: 1. behavioral. 2. dataflow 3. structural description atau campuran. 1.3.2.1 Behavioral Description Dalam behavioral description, kita hanya melihat dari kelakuan sebuah fungsi. Kita tidak perlu memperhatikan kelakuan atau tanggapan dari inputan terhadap output Keuntungan lainnya dari behavioral description yang merupakan high level description adalah kita tidak perlu memfokuskan pada gate level desain impelementasi kita,. tapi difokuskan pada usaha mengakuratkan fungsi model. Untuk mengetahui bahwa penulisan deskripsi itu behavioral atau tidak, ada kekhususan dalam penulisan yaitu process statement dari sequential statement. Process statement dimulai dengan label yang diikuti dengan colon (:) kemudian kata process dari sensitity list dalam hal ini sinyal a dan b. Comp : process (a,b) Kemudian diikuti di bawahnya dengan sequential statement. If a = b then Equals <=‘1’; Setelah bagian sequential selesai diakhiri dengan end process dan label process. Contoh: architecture contoh of dff is begin process (clk) begin if (clk'event and clk '1' )then q <= d; end if; end process; end contoh; 1.3.2.2 Dataflow Description Architecture dataflow mengkhususkan bagaimana data dikirim dari sinyal ke sinyal dan dari input ke output tanpa menggunakan sequential statement. Perbedaan antara dataflow dengan behavioral adalah yang satu menggunakan process dan yang lain tidak. Penulisan persamaan pada dataflow lebih ringkas dan mudah, yaitu menggunakan concurent signal assigment (case-when) statement atau selected signal assignment (with select-when) statement. Equals <= when (a = b ) else '0'; Dataflow menggunakan concurrent assigment statement lebih disukai daripada process dan sequential statement. Contoh: architecture dataflow of dff is begin Q<= when (clk='1') else ‘0’; end dataflow; 1.3.2.3 Structural Description Deskripsi struktur berisi VHDL netlist. Netlist ini sangat banyak seperti schematic netlist. Sebuah desain value yang menghendaki adanya komponen AND dan XNOR yang didefinisikan dalam sebuah package dan apabila package ini dikompilasi akan masuk dalam library. Kita dapat mengakses komponen ini dengan menyertakan kata Use yang mengijinkan kita untuk instantiate komponen dari package gatespkg yang berada di library work. Contoh penulisan structural dengan kata kunci port map. U1 : xnor1 port map (a(0), b(0), x(0)); 28 Operator Untuk operator , VHDL mempunyai fungsi : aritmetika, konsentrasi dan replikasi, kondisional, persamaan, logika bit, logika komparasi, reduksi, relasi, pergeseran, unary arithmetic (tanda). Operasi Operator Aritmatika Operasi Relasi Operator Kurang dari < <= Eksponensial ** Kurang dari atau sama Perkalian * dengan Pembagian / Lebih besar > Penjumlahan + Lebih besar atau sama >= Pengurangan - dengan Modulus Mod Reminder Rem Absolut abs Operasi Operator Konsentrasi dan Replikasi Replikasi & Operasi Operator Persamaan Sama = Tidak sama /= Operasi Logika Operator NOT Not AND And OR Or NAND Nand NOR Nor XOR Xor XNOR Xnor Operasi Logika Operator Pembanding NOT Not AND And OR Or Operasi Pergeseran Operator Logika Geser kiri Sll Logika Geser kanan Srl Aritmetik geser kiri Sla Aritmetik geser kanan Sra Logika putar kiri Rol Logika putar kanan Ror DEMULTIPLEXER Sebuah Demultiplexer adalah rangkaian logika yang menerima satu input data dan mendistribusikan input tersebut ke beberapa output yang tersedia. Kendali pada demultiplekser akan memilih saklar mana yang akan dihubungkan. Pemilihan keluarannya dilakukan melalui masukan penyeleksi. Seleksi data-data input dilakukan oleh selector line, yang juga merupakan input dari demultiplekser tersebut. Pada demultiplekser saluran kendali sebanyak "n" saluran dapat menyeleksi salurankeluaran. Secara bagan, kerja demultiplekser dapat digambarkan sebagai berikut : Gambar 1. Rangkaian dasar demultiplekser Pada demultiplekser, masukan data dapat terdiri dari beberapa bit. Keluarannya terdiri dari beberapa jalur, masing-masing jalur terdiri dari satu atau lebih dari satu bit. Masukan selector terdiri dari satu atau lebih dari satu bit tergantung pada banyaknya jalur keluaran. Sedangkan tabel kebenaran sebuah demultiplekser dengan 2 select line dapat ditunjukan pada Tabel 1. Tabel 1. Tabel kebenaran demultiplekser dengan 2 select line Input I 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Selektor S1 S0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Y7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Y6 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Y5 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 Output Y4 Y3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Y2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 Y1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Y0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Gambar 2. Rangkaian Demultiplexer MULTIPLEXER Multiplexer adalah suatu rangkaian yang mempunyai banyak input dan hanya mempunyai satu output. Dengan menggunakan selektor, dapat dipilih salah satu inputnya untuk dijadikan output. Sehingga dapat dikatakan bahwa multiplexer ini mempunyai n-input, m-selector , dan 1 output. Biasanya jumlah inputnya adalah 2m selektornya. Adapun macam dari multiplexer ini adalah sebagai berikut: Multiplexer 4x1 atau 4 to 1 multiplexer Multiplexer 8x1 atau 8 to 1 multiplexer Multiplexer 16x1 atau 16 to 1 multiplexer dsb Gambar 3. Gambar rangkaian Multiplexer Tabel 2. Tabel Kebenaran Multiplexer Input Selektor Output I7 I6 I5 I4 I3 I2 I1 I0 S2 S1 S0 Y X X X X X X X 0 0 0 0 0 X X X X X X X 1 0 0 0 1 X X X X X X 0 X 0 0 1 0 X X X X X X 1 X 0 0 1 1 X X X X X 0 X X 0 1 0 0 X X X X X 1 X X 0 1 0 1 X X X X 0 X X X 0 1 1 0 X X X X 1 X X X 0 1 1 1 X X X 0 X X X X 1 0 0 0 X X X 1 X X X X 1 0 0 1 X X 0 X X X X X 1 0 1 0 X X 1 X X X X X 1 0 1 1 X 0 X X X X X X 1 1 0 0 X 1 X X X X X X 1 1 0 1 0 X X X X X X X 1 1 1 0 1 X X X X X X X 1 1 1 1 Multiplexer atau selektor data adalah suatu rangkaian logika yang menerima input data dan untuk suatu saat tertentu hanya mengijinkan satu dari data input tersebut untuk lewat mencapai output. Jalan yang akan ditempuh dari input data yang diinginkan ke output dikontrol oleh input – input SELECT (kadang – kadang disebut input input ADDRESS).Di bawah ini merupakan gambar diagram dasar multiplexer. Gambar 4. Diagram Dasar Multiplexer Multiplexer bekerja seperti sebuah saklar (switch) multi posisi yang dikontrol secara digital, dimana kode digital yang diberikan ke input - input SELECT mengontrol input - input data mana yang di switch ke output. misalnya, pada multiplexer dua input, output z akan sama dengan input data Io untuk kode input SELECT berlogik 1, Z akan sama dengan I1 untuk kode input SELECT berlogik 0. Dengan kata lain multiplexer memiilih 1 dari N data input dan menyalurkan data yang terpilih ke suatu chanel output tunggal. BAB II PROSES PRAKTIKUM 2.1 Alat dan Bahan Alat yang dipersiapkan untuk praktikum: 1. Komputer/Laptop 2. Software Perancangan Program 2.2 Langkah Kerja Adapun langkah-langkahnya sebagai berikut: Langkah-langkah pembuatan software sebagai berikut : 1. Jalankan program computer untuk software Warp 4.2 dengan mengaktifkan GALAXY. 2. Klik menu project dan pilih New. 3. Klik New pada group Edit dan tulislah program HDLnya. 4. Setelah program selesai ditulis, simpan dengan klik gambar disket dan beri nama namafile.vhd 5. kemudian click Device pada group Synthesis Option kemudian isilah Device dengan 22V10 dan Package PALCE22V10-25PC/PI. 6. Setelah menentukan Devicenya, click OK dan kembali ke Synthesis Option kemudian click Set Top, Pilih group Compile dan click Selected 7. Tunggu beberapa saat karena computer sedang mengkompilasi program. Jika ada keterangan ERROR akan tampil seperti gambar dibawah cobalah untuk meneliti kembali program yang anda tulis sampai benar. 8. Jika sudah berhasil maka file yang terbentuk adalah namafile.rpt untuk melihat rumus beserta posisi pin dari 22V10 dan file namafile.jed untuk diisikan ke IC 22V10. 9. Kita bisa melihat simulasi program dengan menjalankan program NOVA dengan membuka file namafile.jed dan mengisi input-inputnya kemudian jalankan dengan menu Simulate. Tampilan NOVA Simulasi dari Program pada NOVA Hasil dari Eksekusi Program 10. Isikan file namafile.jed ke IC 22V10 dengan bantuan downloader dan pindahkan ke modul. Modul yang digunakan adalah Easy Pro Programmer. Program Multiplexer library ieee; use ieee.std_logic_1164.all; entity gate is port(Y0: out std_logic; Y1: out std_logic; Y2: out std_logic; Y3: out std_logic; Y4: out std_logic; Y5: out std_logic; Y6: out std_logic; Y7: out std_logic; C0: in std_logic; C1: in std_logic; C2: in std_logic; I: in std_logic); attribute part_name of gate:entity is "22v10"; attribute pin_numbers of gate: entity is "I:2 C0:3 C1:4 C2:5 Y0:16 Y1:17 Y2:18 Y3:19 Y4:20 Y5:21 Y6:22 Y7:23"; end gate; architecture behave of gate is begin Y0<=I and (not C0) and (not C1) and (not C2); Y1<=I and C0 and (not C1) and (not C2); Y2<=I and (not C0) and C1 and (not C2); Y3<=I and C0 and C1 and (not C2); Y4<=I and (not C0) and (not C1) and C2; Y5<=I and C0 and (not C1) and C2; Y6<=I and (not C0) and C1 and C2; Y7<=I and C0 and C1 and C2; end behave; Demultiplexer library ieee; use ieee.std_logic_1164.all; entity gate is port(I0: in std_logic; I1: in std_logic; I2: in std_logic; I3: in std_logic; I4: in std_logic; I5: in std_logic; I6: in std_logic; I7: in std_logic; C0: in std_logic; C1: in std_logic; C2: in std_logic; Y0: out std_logic); attribute part_name of gate:entity is "22v10"; attribute pin_numbers of gate: entity is "I0:2 I1:3 I2:4 I3:5 I4:6 I5:7 I6:8 I7:9 C0:10 C1:11 C2:13 Y0:14"; end gate; architecture behave of gate is begin Y0<=(I0 and (not C0) and (not C1) and (not C2))or (I1 and C0 and (not C1) and (not C2))or (I2 and (not C0) and C1 and (not C2))or (I3 and C0 and C1 and (not C2))or (I4 and (not C0) and (not C1) and C2)or (I5 and C0 and (not C1) and C2)or (I6 and (not C0) and C1 and C2)or (I7 and C0 and C1 and C2); end behave; BAB III HASIL PRATIKUM 3.1 Hasil Percobaan Multiplexer Keterangan : C0 : Selektor 0 I3 : Input 3 C1 : Selektor 1 I4 : Input 4 C2 : Selektor 2 I5 : Input 5 I0 : Input 0 I6 : Input 6 I1 : Input 1 I7 : Input 7 I2 : Input 2 Y0 : Output Tabel Kebenaran Multiplexer I7 X X X X X X X X X X X X X X 0 1 I6 X X X X X X X X X X X X 0 1 X X I5 X X X X X X X X X X 0 1 X X X X Input I4 I3 X X X X X X X X X X X X X 0 X 1 0 X 1 X X X X X X X X X X X X X I2 X X X X 0 1 X X X X X X X X X X I1 X X 0 1 X X X X X X X X X X X X I0 0 1 X X X X X X X X X X X X X X S2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Selektor S1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 S0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Output Y 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Demultiplexer Keterangan : C0 : Selektor 0 I3 : Output 3 C1 : Selektor 1 I4 : Output 4 C2 : Selektor 2 I5 : Output 5 Y0 : Output 0 I6 : Output 6 Y1 : Output 1 I7 : Output 7 Y2 : Output 2 I : Input Tabel kebenaran Demultiplexer Input I 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Selektor S1 S0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 Y7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Y6 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Y5 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 Output Y4 Y3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Y2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 Y1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Y0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3.2 Analisa Demultiplexer Y0<=I and (not C0) and (not C1) and (not C2); Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 0, C1=0, C2=0. Y0=I* C0 * C1 * C2 Y0=I* 0 * 0 * 0 Y0=I*1*1*1 Y0=I Y1<=I and C0 and (not C1) and (not C2); Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 1, C1=0, C2=0. Y1=I*C0* C1 * C2 Y1=I*1* 0 * 0 Y1=I*1*1*1 Y1=I Y2<=I and (not C0) and C1 and (not C2); Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 0, C1=1, C2=0. Y2=I* C0 *C1* C2 Y2=I* 0 *1* 0 Y2=I*1*1*1 Y2=I Y3<=I and C0 and C1 and (not C2); Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 1, C1=1, C2=0. Y1=I*C0*C1* C2 Y1=I*1*1* 0 Y1=I*1*1*1 Y1=I Y4<=I and (not C0) and (not C1) and C2; Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 0, C1=0, C2=1. Y4=I* C0 * C1 *C2 Y4=I* 0 * 0 ∗ 1 Y4=I*1*1*1 Y4=I Y5<=I and C0 and (not C1) and C2; Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 1, C1=0, C2=1. Y5=I*C0* C1 *C2 Y5=I*1* 0 ∗ 1 Y5=I*1*1*1 Y5=I Y6<=I and (not C0) and C1 and C2; Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 0, C1=1, C2=1. Y6=I* C0 *C1*C2 Y6=I* 0 *1 ∗ 1 Y6=I*1*1*1 Y6=I Y7<=I and C0 and C1 and C2; Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 1, C1=1, C2=1. Y7=I*C0*C1*C2 Y7=I*1*1 ∗ 1 Y7=I*1*1*1 Y7=I Multiplexer Persamaan logika output demultiplexer pada script program VHDL adalah sebagai berikut : Y0 <= (I0 and (not C0) and (not C1) and (not C2))or (I1 and C0 and (not C1) and (not C2))or (I2 and (not C0) and C1 and (not C2))or (I3 and C0 and C1 and (not C2))or (I4 and (not C0) and (not C1) and C2)or (I5 and C0 and (not C1) and C2)or (I6 and (not C0) and C1 and C2)or (I7 and C0 and C1 and C2); Script program diatas sesuai dengan persamaan logika demultiplexer berikut ini : Y = ( I0* C0 * C1 * C2 ) + ( I1*𝑪𝟎* C1 * C2 ) + ( I2* C0 *𝑪𝟏* C2 ) + ( I3*𝑪𝟎*𝑪𝟏* C2 ) + ( I4* C0 * C1 *𝑪𝟐) + ( I5*𝑪𝟎* C1 *𝑪𝟐) + ( I6* C0 *𝑪𝟏*𝑪𝟐) +( I7*𝑪𝟎*𝑪𝟏*𝑪𝟐) Dengan persamaan logika seperti di atas pada script program maka: Saat : C0 = 0, C1=0, C2=0. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 0 * 0 * 0 ) + ( I1*0* 0 * 0 ) + ( I2* 0 *0 ∗ 0 ) + ( I3*0*0* 0 ) + ( I4* 0 * 0 *0) + ( I5*0* 0 *0) + ( I6* 0 *0*0) +( I7*0*0*0) Y = ( I0*1*1*1) + ( I1*0*1*1) + ( I2*1*0 ∗ 1) + ( I3*0*0*1) + ( I4*1*1*0) + ( I5*0*1*0) + ( I6*1*0*0) +( I7*0*0*0) Y = I0+0+0+0+0+0+0+0 Y = I0 Saat : C0 = 1, C1=0, C2=0. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 1 * 0 * 0 ) + ( I1*1* 0 * 0 ) + ( I2* 1 *0 ∗ 0 ) + ( I3*1*0* 0 ) + ( I4* 1 * 0 *0) + ( I5*1* 0 *0) + ( I6* 1 *0*0) +( I7*1*0*0) Y = ( I0*0*1*1) + ( I1*1*1*1) + ( I2*0*0 ∗ 1) + ( I3*1*0*1) + ( I4*0*1*0) + ( I5*1*1*0) + ( I6*0*0*0) +( I7*1*0*0) Y = 0+I1+0+0+0+0+0+0 Y = I1 Saat : C0 = 0, C1=1, C2=0. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 0 * 1 * 0 ) + ( I1*0* 1 * 0 ) + ( I2* 0 *1 ∗ 0 ) + ( I3*0*1* 0 ) + ( I4* 0 * 1 *0) + ( I5*0* 1 *0) + ( I6* 0 *1*0) +( I7*0*1*0) Y = ( I0*1*0*1) + ( I1*0*0*1) + ( I2*1*1∗ 1) + ( I3*0*1*1) + ( I4*1*0*0) + ( I5*0*0*0) + ( I6*1*1*0) +( I7*0*1*0) Y = 0+0+12+0+0+0+0+0 Y = I2 Saat : C0 = 1, C1=1, C2=0. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 1 * 1 * 0 ) + ( I1*1* 1 * 0 ) + ( I2* 1 *1 ∗ 0 ) + ( I3*1*1* 0 ) + ( I4* 1 * 1 *0) + ( I5*1* 1 *0) + ( I6* 1 *1*0) +( I7*1*1*0) Y = ( I0*0*0*1) + ( I1*1*0*1) + ( I2*0*1∗ 1) + ( I3*1*1*1) + ( I4*0*0*0) + ( I5*1*0*0) + ( I6*0*1*0) +( I7*1*1*0) Y = 0+0+0+I3+0+0+0+0 Y = I3 Saat : C0 = 0, C1=0, C2=1. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 0 * 0 * 1 ) + ( I1*0* 0 * 1 ) + ( I2* 0 *0∗ 1 ) + ( I3*0*0* 1 ) + ( I4* 0 * 0 *1) + ( I5*0* 0 *1) + ( I6* 0 *0*1) +( I7*0*0*1) Y = ( I0*1*1*0 + ( I1*0*1*0) + ( I2*1*0∗ 0) + ( I3*0*0*0) + ( I4*1*1*1) + ( I5*0*1*1) + ( I6*1*0*1) +( I7*0*0*1) Y = 0+0+0+0+I4+0+0+0 Y = I4 Saat : C0 = 1, C1=0, C2=1. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 1 * 0 * 1 ) + ( I1*1* 0 * 1 ) + ( I2* 1 *0 ∗ 1 ) + ( I3*1*0* 1 ) + ( I4* 1 * 0 *1) + ( I5*1* 0 *1) + ( I6* 1 *0*1) +( I7*1*0*1) Y = ( I0*0*1*0) + ( I1*1*1*0) + ( I2*0*0∗ 0) + ( I3*1*0*0) + ( I4*0*1*1) + ( I5*1*1*1) + ( I6*0*0*1) +( I7*1*0*1) Y = 0+0+0+0+0+I5+0+0 Y = I5 Saat : C0 = 0, C1=1, C2=1. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 0 * 1 * 1 ) + ( I1*0* 1 * 1 ) + ( I2* 0 *1 ∗ 1 ) + ( I3*0*1* 1 ) + ( I4* 0 * 1 *1) + ( I5*0* 1 *1) + ( I6* 0 *1*1) +( I7*0*1*1) Y = ( I0*1*0*0) + ( I1*0*0*0) + ( I2*1*1∗ 0) + ( I3*0*1*0) + ( I4*1*0*1) + ( I5*0*0*1) + ( I6*1*1*1) +( I7*0*1*1) Y = 0+0+0+0+0+0+I6+0 Y = I6 Saat : C0 = 1, C1=1, C2=1. Y = ( I0* C0 * C1 * C2 ) + ( I1*C0* C1 * C2 ) + ( I2* C0 *C1* C2 ) + ( I3*C0*C1* C2 ) + ( I4* C0 * C1 *C2) + ( I5*C0* C1 *C2) + ( I6* C0 *C1*C2) +( I7*C0*C1*C2) Y = ( I0* 1 * 1 * 1 ) + ( I1*1* 1 * 1 ) + ( I2* 1 *1 ∗ 1 ) + ( I3*1*1* 1 ) + ( I4* 1 * 1 *1) + ( I5*1* 1 *1) + ( I6* 1 *1*1) +( I7*1*1*1) Y = ( I0*0*0*0) + ( I1*1*0*0) + ( I2*0*1∗ 0) + ( I3*1*1*0) + ( I4*0*0*1) + ( I5*1*0*1) + ( I6*0*1*1) +( I7*1*1*1) Y = 0+0+0+0+0+0+0+I7 Y = I7 Berdasarkan analisa dan data praktikum dapat diketahui bahwa tabel kebanaran multiplexer dan demultiplexer sesuai dengan tabel kebenaran hasil praktikum. Dan persamaan logika program sesuai dengan persamaan logika demultiplexer dan multiplexer. Maka praktikum ini membuktikan bahwa multiplexer dapat deprogram dengan menggunakan VHDL dan IC GALC22V10D dengan pin out seperti berikut ini. Gambar 7. Pinout Demultiplexer Gambar 8. Pinout Multiplexer BAB IV PENUTUP 4.1 Kesimpulan Dari percobaan yang telah dilakukan dapat diambil kesimpulan sebagai berikut: 1. Program Multiplexer dan Demultiplexer dapat dibuat di pemograman VHDL dengan software WARP 4.2 dengan persamaan logika : Multiplexer : Y0 = ( I* C0 * C1 * C2 ) Y1 = ( I*𝑪𝟎* C1 * C2 ) Y2 = ( I* C0 *𝑪𝟏* C2 ) Y3 = ( I*𝑪𝟎*𝑪𝟏* C2 ) Y4 = ( I4* C0 * C1 *𝑪𝟐) Y5 = ( I5*𝑪𝟎* C1 *𝑪𝟐) Y6 = ( I6* C0 *𝑪𝟏*𝑪𝟐) Y7 = ( I7*𝑪𝟎*𝑪𝟏*𝑪𝟐) Demultiplexer : Y = ( I0* C0 * C1 * C2 ) + ( I1*𝑪𝟎* C1 * C2 ) + ( I2* C0 *𝑪𝟏* C2 ) + ( I3*𝑪𝟎*𝑪𝟏* C2 ) + ( I4* C0 * C1 *𝑪𝟐) + ( I5*𝑪𝟎* C1 *𝑪𝟐) + ( I6* C0 *𝑪𝟏*𝑪𝟐) +( I7*𝑪𝟎*𝑪𝟏*𝑪𝟐) 4.2 Saran Setelah melaksanakan praktikum penulis memiliki beberapa kendala, untuk itu penulis menyarankan beberapa hal, yaitu: 1. IC PLD GAL22V10D yang digunakan pada praktikum ini banyak yang tidak bisa digunakan sehingga perlu seleksi terlebih dahulu sebelum digunakan saat praktikum, disarankan pada praktikum selanjutnya agar IC PLD yang digunakan dalam keadaan bagus supaya tidak perlu membuang waktu untuk menyeleksi IC PLD. DAFTAR PUSTAKA Jobsheet Laboratorium VLSI dan Elektronika