• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM S1 LABORATORIUM TEKNIK DIGITAL FAKULTAS TEKNIK ELEKTRO UNIVERSITAS TELKOM

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PRAKTIKUM S1 LABORATORIUM TEKNIK DIGITAL FAKULTAS TEKNIK ELEKTRO UNIVERSITAS TELKOM"

Copied!
51
0
0

Teks penuh

(1)
(2)

PELINDUNG

Dekan FAKULTAS TEKNIK ELEKTRO Dr. Ir. Rina Pudji Astuti M.T.

Kepala Bidang Keahlian Achmad Rizal, Ssi., MT

Koordinator Dosen Teknik Digital Denny Darlis, Ssi., MT

Dosen Pembimbing Laboratorium

Denny Darlis, S.Si., MT

PELAKSANA Koordinator Asisten Gogi Gautama Al Hadid

Bendahara Hilda Heldiana

Clara Amanda

Administrasi Fitria Ayu Nurdiana Afrursah Rio Pratama

Rizka Fadhilla Gede Teguh Laksana

Divisi Praktikum Fitriyadi Syafwan Khairunnisa Alifiyanti Suharja

Muhammad Aditya Taufik Ridwan Pratama Garizah Ganih Pranoto

(3)

Putu Wahyu Saputra Widi Tama Salman Wahyu Yanuar Arifin

Divisi Riset and Development Teuku Rafifsyah Thomi

Muhammad Abdillah Faisal Arifin Riandanu Aldy Sadewo Hannan Aulia Mardhiah Harahap

Divisi RNS Agil Setiawan Fujitson Simamora Fista Monica Deswanti

(4)

TATA TERTIB PELAKSANAAN PRAKTIKUM LABORATORIUM TEKNIK DIGITAL FAKULTAS TEKNIK ELEKTRO

1. ATURAN UMUM

a. Semua praktikan wajib menggunakan seragam yaitu kemeja putih dan celana/rok biru dongker (tidak boleh memakai jeans) dan memakai sepatu. Diperbolehkan menggunakan batik pada hari Jum’at dan Sabtu.

b. Rambut harus rapi, tidak boleh panjang (untuk laki-laki, minimal rambut tidak boleh menyentuh kerah). c. Kelengkapan praktikum meliputi kartu praktikum.

d. Kartu praktikum wajib diberi foto dan distempel oleh Laboratorium bersangkutan.

e. Praktikan diberikan waktu sampai tes awal berakhir untuk melengkapi segala kelengkapan praktikum yang tidak dibawa.

f. Apabila praktikan tidak membawa kelengkapan praktikum, maka praktikan wajib melapor ke asisten.

g. Segala bentuk pelanggaran yang dilakukan oleh praktikan akan diberikan sanksi berupa tugas tambahan yang diberikan di akhir praktikum oleh Laboratorium Teknik Digital.

h. Praktikan tidak diperbolehkan melakukan bentuk intimidasi. Segala bentuk intimidasi akan ditindaklanjuti oleh Fakultas Teknik Elektro.

i. Sepatu tidak boleh diinjak dan wajib mengenakan kaos kaki saat praktikum. 2. PELAKSANAAN PRAKTIKUM

a. Praktikum dimulai sesuai waktu yang telah ditentukan.

b. Praktikan sebaiknya datang 15 menit sebelum praktikum dimulai.

c. Apabila praktikan terlambat lebih dari 20 menit, maka praktikan tidak diijinkan mengikuti praktikum untuk modul tersebut.

d. Praktikum diselenggarakan selama 2,5 jam.

e. Praktikan susulan yang diakibatkan karena keterlambatan praktikan hanya dikeluarkan oleh Fakultas Teknik Elektro

f. Kartu praktikum wajib dibawa oleh praktikan dimana diserahkan dan ditandatangani oleh asisten yang menjaganya pada saat itu.

g. Praktikan dapat melaksanakan praktikum setelah mendapatkan instruksi dari asisten praktikum. h. Selama praktikum berlangsung, praktikan dilarang:

 Membuat kegaduhan di dalam ruangan  Mengubah konfigurasi Software/Hardware

 Meninggalkan ruangan praktikum tanpa izin asisten  Makan, minum, dan merokok

 Telepon/SMS tanpa izin asisten

(5)

Praktikan berkewajiban mengikuti semua modul praktikum. Ketidakikutsertaan pada satu modul, maka modul tersebut mendapatkan nilai nol dan tidak lulus praktikum Teknik Digital. Praktikan yang sakit harus memberikan surat keterangan sakit dari Rumah Sakit dan ditandatangani oleh dokter yang memeriksa dan dibawa ke Laboran (Maksimal 1 modul praktikum). Tidak ada Praktikum susulan bagi Praktikan.

4. PROSEDUR TUKAR JADWAL

a. Pertukaran jadwal praktikum paling lambat 1 hari sebelum praktikum dimulai yang bersangkutan dilaksanakan dan atas persetujuan asisten kemudian kedua praktikan tersebut wajib mengisi formulir tukar jadwal yang harus dibawa pada saat melaksanakan praktikum dengan jadwal yang baru dan diserahkan kepada asisten yang menjaga saat itu. b. Tukar jadwal hanya bisa dilakukan sesama praktikan dengan modul yang sama dalam 1 periode praktikum c. Praktikan dilarang menyusup pada jadwal praktikum yang lain, bila hal tersebut terjadi maka praktikan dianggap gugur pada modul tersebut.

5. PENILAIAN PRAKTIKUM Tugas Pendahuluan

a. Tugas pendahuluan akan dikeluarkan setiap dua minggu sekali oleh Fakultas.

b. Praktikan yang mengerjakan TP wajib mengerjakan soal TP sesuai dengan ketentuan yang ada. c. Tugas Pendahuluan ditulis tangan dalam buku TP sesuai ketentuan yang ditetapkan.

d. Penulisan Tugas Pendahuluan menggunakan alat tulis bolpoint (pensil tidak boleh), termasuk gambar dan hitungan

e. Tugas pendahuluan dikeluarkan oleh Fakultas Teknik Elektro pada H-4 pelaksanaan praktikum

f. Tugas pendahuluan dikumpulkan di Laboratorium Teknik Digital maksimal setiap hari senin pukul 07.00 - 09.00 WILTD. Jika melebihi waktu yang ditentukan nilai TP sama dengan NOL.

g. Praktikan yang tidak mengerjakan TP hanya menulis soal maka nilai TP sama dengan NOL. TP bersifat Optional, tapi jika tidak mengerjakan TP sama dengan NOL.

h. Tugas pendahuluan dikumpulkan tiap-tiap kelompok secara bersamaan dalam sebuah amplop coklat yang telah diberi nomor kelompok dan stempel Laboratorium Teknik Digital

i. Praktikan yang tidak mengumpulkan TP kedalam amplop kelompok masing-masing maka nilai TP mendapat diskon 50%

j. Pengumpulan Tugas Pendahuluan boleh diwakilkan dengan ketentuan apabila TP yang dititipkan ternyata tidak ada maka praktikan yang menitip mendapatkan nilai TP sama dengan NOL .

Tes Awal

a. Tes awal akan dilaksanakan pada saat praktikum.

b. Waktu untuk mengerjakan tes awal berkisar 15 – 20 menit.

(6)

Jurnal Praktikum

a. Jurnal diberikan sebelum praktikum.

b. Jurnal dikerjakan dengan izin asisten yang menjaga saat itu. c. Jurnal harus dikerjakan seluruhnya.

d. Jurnal praktikum dikerjakan setelah pelaksanaan praktikum berakhir selama 30 menit dan dikumpulkan pada hari yang sama dengan praktikum modul tersebut.

e. Praktikan yang tidak mengumpulkan jurnal dianggap gugur pada praktikum modul tersebut. f. Pengumpulan jurnal harus dilaksanakan di laboratorium dan tidak dapat diwakilkan.

g. Isi jurnal harus ditulis dengan bolpoin, kecuali untuk gambar dapat menggunakan pensil dan menggunakan penggaris

Tes Akhir

a. Tes akhir bersifat fleksibel. Penilaian

a. Tugas Pendahuluan : 20 % b. Tes Awal : 20 %

c. Praktikum : 40 % d. Jurnal Praktikum : 20 %

Batas nilai kelulusan minimum 60 % per modul 6. KELULUSAN PRAKTIKUM

a. Praktikan mengikuti seluruh modul dalam mata praktikum yang dilaksanakan b. Nilai akhir suatu mata praktikum dihitung dengan cara :

NMP =

c. Suatu mata praktikum dinyatakan lulus apabila indeks mata praktikum minimal C dan semua mata percobaan/modul pada mata praktikum tersebut lulus

d. Apabila nilai mata praktikum tidak lulus maka praktikan wajib mengulang semua mata percobaan/modul dalam mata praktikum tersebut

7. LAIN – LAIN

a. Tidak ada nilai tambahan bagi per kelompok atau pun bagi perorangan untuk menyempurnakan nilai yang kurang b. Hal lain yang belum tercantum dalam tata tertib ini akan ditetapkan kemudian

Jumlah nilai masing – masing modul Jumlah Modul

(7)

PENGENALAN IC, GERBANG LOGIKA DASAR, VHDL, XILINX ISE Tujuan praktikum

1. Mengenal dan memahami macam-macam IC dan alat pendukung lainnya. 2. Mengenal dan memahami karakteristik gerbang logika dasar dan jenis - jenisnya.

3. Memahami metode perancangan rangkaian logika yang dibentuk dari gerbang logika dasar. 4. Memperkenalkan penggunaan VHDL dalam perancangan rangkaian digital

5. Memperkenalkan penggunaan software Xilinx ISE Peralatan Praktikum

1. Digiboard

2. IC 74LS00, IC 74LS02, IC 74LS04, IC 74LS08, IC 74LS32, IC 74LS86, Datasheet IC 3. Personal Computer

4. Software Xilinx ISE 13.2 Pengenalan IC

Integrated Circuit (IC) adalah suatu komponen elektronik yang terbuat dari bahan semikonduktor, dimana IC merupakan gabungan dari komponen seperti Resistor, Kapasitor, Dioda dan Transistor yang telah terintegrasi menjadi sebuah rangkaian berbentuk chip kecil. Integrated Circuit digunakan untuk beberapa keperluan pembuatan peralatan elektronik agar mudah dirangkai menjadi peralatan yang berukuran relatif kecil.

Pada umumnya, IC gerbang logika dasar memiliki 14 pin, dengan pin 1 ditandai dengan tanda dot atau lekukan setengah lingkaran. Untuk gerbang logika dasar pada pin 14 diberi catuan ke VCC dan pin 7 digroundkan. Untuk penomoran IC, pin 2, 3, 4, dan seterusnya berurutan berlawanan arah jarum jam.

(8)

Dalam praktikum, yang akan digunakan nanti adalah IC TTL (Transistor-Transistor Logic). IC TTL

bekerja pada supply tegangan 5V. Berikut adalah teknik Penomoran atau penamaan IC untuk tipe TTL :

Keterangan :

A =SN = Perusahaan atau Pabrik Pembuat IC B =74 = Kelompok IC

C =LS = Sub Family IC D =08 = Tipe dari Chip

E = N = Kemasan. (T untuk rangkap dua jalur keramik dan untuk bahan metal datar. N untuk rangkap dua jalur plastik).

Perancangan Rangkaian - Penyederhanaan

Penyederhanaan dilakukan untuk penghematan ruang kerja dan biaya.Penyederhanaan dapat dilakukan dengan banyak metode, diantaranya K- MAP dan aljabar Boolean.

a. Aljabar Boolean

Penyederhanaan dengan aljabar Boolean dilakukan berdasarkan hukum Aljabar Boolean. Berikut adalah Hukum Aljabar Boolean :

Pada dasarnya, ada 2 bentuk standar fungsi Boolean, yaitu: 1. Sum of Product (SOP) / Sum of Minterm

2. Product of Sum (POS) / Product of Maxterm

(9)

Sum of Product / Minterm

Minterm adalah suatu kondisi dimana semua variable dari suatu fungsi yang di-AND, serta variable tersebut bisa dalam kondisi komplemen atau tidak.

Contoh :

F(a,b,c,d) adalah sebuah fungsi dengan 4 variable (a,b,c,d) a.b'.c'.d adalah salah satu dari 24 minterm fungsi F.

Ciri – ciri dari SOP adalah:

1. Dalam setiap suku operasi variabelnya adalah perkalian (operasi AND). 2. Setiap suku (term) dijumlahkan (operasi OR).

3. Setiap suku mengandung semua variabel. Contoh:

f(x,y) = xy + x’y

g(x,y,z) = x’yz + xyz + x’y’z’ Cara membaca:

a. Variabel tanpa komplemen dianggap bernilai 1. b. Variabel dengan komplemen dibaca 0.

(10)

b. Metode K-Map

Karnaugh Map (disingkat K-map) adalah sebuah peralatan grafis yang digunakan untuk

menyederhanakan persamaan logika atau mengkonversikan sebuah Tabel Kebenaran menjadi sebuah rangkaian Logika.Blok diagram sebuah K-map seperti gambar di bawah ini. AB dan C adalah variabel input, output-output berupa minterm-minterm bernilai 1 diisikan pada sel K-map. Jumlah sel K-map adalah 2jumlah variable input

Contoh SOP pada K-Map diatas :

Penyelesaian K-Map diatas adalah : Rangkaian pengganti

Sistem ini dilakukan ini dilakukan karena adanya keterbatasan bahan.Tidak semua IC tersedia di pasaran. Jadi kita dapat memanfaatkan gerbang-gerbang logika yang ada untuk membentuk gerbang yang lainnya. Sebagai contoh gerbang NOR dapat dibuat dari gerbang OR yang outputnya diberi gerbang NOT. Gerbang Logika Dasar

Setiap gerbang logika dasar memiliki tabel kebenaran tersendiri yang memberikan karakteristik tertentu. Pada dasarnya hanya terdapat tiga gerbang logika dasar, yaitu gerbang AND, OR, dan NOT. Dari ketiga gerbang tersebutlah dikembangkan menjadi gerbang NAND, NOR, XOR, dan XAND.

(11)
(12)

VHDL adalah sebuah bahasa pemograman VHSIC (Very High Speed Intregated Circuit) yang dikembangkan oleh IEEE (Institute of Electrical and Electronic Engineering ). VHDL adalah termasuk bahasa pemodelan yang digunakan untuk merancang atau memodelkan rangkaian digital.

The two main immediate applications of VHDL are in the field of Programmable Logic Devices (including CPLDs—Complex Programmable Logic Devices and FPGAs—Field Programmable Gate Arrays) and in the field of ASICs (Application Specific Integrated Circuits). Once the VHDL code has been written, it can be used either to implement the circuit in a programmable device (from Altera, Xilinx, Atmel, etc.) or can be submitted to a foundry for fabrication of an ASIC chip.

Dua aplikasi utama dari VHDL adalah pada FPGA (Field Programmable Gate Arrays) dan ASIC (Aplication Specific Integrated Circuits). Namun yang akan kita gunakan dalam praktikum Tekdig adalah pengaplikasian pada FPGA. Ketika code VHDL telah ditulis, kita bisa mengimplementasikan rangkaian yang telah kita buat melalui FPGA atau langsung dipabrikasi menjadi ASIC chip.

VHDL is that, contrary to regular computer programs which are sequential, its statements are inherently concurrent (parallel). For that reason, VHDL is usually referred to as a code rather than a program.

VHDL berbeda dengan program computer pada umumnya yang berjalan sequential (berurut), statement yang ada dieksekusi secara pararel (bersamaan). Karena itu VHDL biasanya disebut sebagai code

dibandingkan program. Susunan dasar program VHDL

1. LIBRARY

A LIBRARY is a collection of commonly used pieces of code. Placing such pieces inside a library allows them to be reused or shared by other designs.

LIBRARY nama_library;

USE nama_library.package_name.package_parts; 2. ENTITY

An ENTITY is a list with specifications of all input and output pins (PORTS) of the circuit. ENTITY nama_entity IS PORT ( nama_port :mode_sinyaltipe_sinyal; nama_port :mode_sinyaltipe_sinyal; ...); END nama_entity;

(13)

3. ARCHITECTURE

The ARCHITECTURE is a description of how the circuit should behave (function). ARCHITECTURE myarch OF nand_gate IS

BEGIN

x <= a NAND b; END myarch;

The meaning of the ARCHITECTURE above is the following: the circuit mustperform the NAND operation between the two input signals (a, b) and assign („„<=‟‟)the result to the output pin (x). The name chosen for this architecture was myarch.In this example, there is no declarative part, and the code contains just a single assignment. Assignment Operators

Are used to assign values to signals, variables, and constants. They are: <= Used to assign a value to a SIGNAL or OUTPUT.

:= Used to assign a value to a VARIABLE, CONSTANT, or GENERIC. Usedalso for establishing initial values. => Used to assign values to individual vector elements or with OTHERS.

Example: Consider the following signal and variable declarations: SIGNAL x : STD_LOGIC;

VARIABLE y : STD_LOGIC_VECTOR(3 DOWNTO 0); -- Leftmost bit is MSB (index 3) SIGNAL w: STD_LOGIC_VECTOR(0 TO 7); -- leftmost bit is MSB (index 0)

Then the following assignments are legal:

x <= '1'; -- '1' is assigned to SIGNAL x using "<=" y := "0000"; -- "0000" is assigned to VARIABLE y using ":=" w <= "10000000"; -- MSB is '1', the others are '0'

w <= (0 =>'1', OTHERS =>'0'); -- MSB is '1', the others are '0' Contoh Sebuah Program AND 3 input

library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity AND3Input is port( A: in std_logic; B: in std_logic; C: in std_logic; Z: out std_logic); end AND3Input;

architecture Behavioral of AND3Input is begin

Z <= A AND B AND C; end Behavioral;

(14)

MODUL II

Pengenalan Rangkaian Kombinasional Tujuan Praktikum

1. Mengenal dan memahami prinsip kerja decoder, adder, dan multiplexer

2. Mengetahui dan dapat mengaplikasikan konsep perancangan rangkaian decoder, dan multiplexer 3. Mengetahui dan memahami aplikasi rangkaian driver seven segment

4. Mempelajari metode component instantiation pada VHDL Peralatan Praktikum

1. Personal Computer 2. Software Xilinx ISE 8.1 3. Digiboard

4. IC74LS138, 74LS47, 74LS08, 74LS32, 74LS157, 74LS86, 74LS04

Rangkaian Kombinasional adalah rangkaian yang terdiri dari rangkain gerbang logika yang kondisi keluarannya (output) hanya tergantung oleh kondisi masukan (input) saat itu dan tidak tergantung pada kondisi output sebelumnya.

Rangkaian kombinasional tidak memiliki memori sebagai media penyimpanan, seperti: decoder, priority encoder, multiplexer, adder, subtractor, multiplier, divider dan lain sebagainya.

Kegunaan Rangkaian Kombinasional

Untuk beberapa keperluan pembuatan peralatan elektronik yang membutuhkan rangkaian kombinasional dengan sifat tertentu. Misalnya multiplexer yang dapat memilih bit select untuk memilih input yang akan diteruskan ke output, sehingga multiplexer banyak digunakan pada perangkat

telekomunikasi. 1. Decoder

Rangkaian decoder merupakan rangkaian kombinasional yang berfungsi untuk mendekode informasi (data) yang terkode. Salah satu contoh decoder adalah binary decoder.

Karakteristik Binary Decoder :

 Mempunyai N masukan data dan 2N keluaran

mis: binary decoder 3 masukan mempunyai 8 jalur keluaran

 Hanya satu keluaran yang diaktifkan dalam satu waktu (one-hot encoded)

o Assert : ke nilai ‘1’ (logika positif/output active-high) atau ‘0’ (logika negatif/output active-low) o Tiap keluaran diaktifkan oleh satu kombinasi nilai masukan

 Masukan ENABLE (En) digunakan untuk mematikan keluaran Asumsi keluaran active-high, enable active-high:

o Jika En=0, tidak ada keluaran decoder yang di-assert (diaktifkan)

(15)

N to 2n binary decoder

Tabel kebenaran 2 to 4 binary decoder dengan enable active-high dan output active-high

(16)

Aplikasi decoder pada seven segment

Contoh lain dari decoder adalah BCD-to-7-Segment decoder. Decoder tersebut dapat merubah BCD digit pada input menjadi informasi (7 bit) yang sesuai untuk mengaktifkan digit-oriented display atau 7-segment. BCD-to-7-Segment decoder dapat diimplementasikan menjadi driver seven segment.

(17)

Encoder

Encoder memiliki fungsi kebalikan dari decoder, yaitu merubah suatu informasi ke kode tertentu. Salah satu contohnya Binary Encoder yang merubah satu input yang aktif menjadi kombinasi output unik untuk setiap input. Binary Encoder hanya bisa melayani 1 input aktif.

Tabel Kebenaran 4-to-2 Binary Encoder

Rangkaian Logika 4-to-2 Binary Encoder

Bagaimana jika terjadi 2 atau lebih input aktif? Binary Encoder akan menghasilkan code yang tidak

sesuai, karena kondisi input seperti itu bernilai don’t care. Seperti saat w2 dan w1 aktif bersamaan, output y1y0 akan bernilai “11”. Untuk mengakali kemungkinan 2 atau lebih input aktif, kita gunakan prioritas. Input yang akan di-encoding adalah input aktif dengan prioritas paling tinggi.

(18)

Tabel Kebenaran 4-to-2 Binary Encoder with Priority

Fungsi Output

Dengan prioritas input, saat w2 dan w1 aktif bersamaan, w2 akan di-encoding menjadi y1y0 bernilai “10”. Z adalah sinyal yang menunjukkan bahwa minimal 1 input aktif.

Multiplexer(MUX)

Multiplexer adalah suatu rangkaian kombinasional yang fungsinya untuk memilih salah satu dari 2n bit

sinyal input untuk diteruskan ke satu jalur output. Multiplexer disebut juga sebagai data selector, karena memiliki bit select sebanyak n yang berfungsi untuk memilih data dan sebagai pengontrol input. Multiplexer ini banyak digunakan dalam bidang telekomunikasi.

Contoh implementasi multiplexer: Multiplexer 4-to-1

Simbol mux 4-to-1 Tabel kebenaran

Rangkaian Logika mux 4-to-1 Half Adder & Full Adder

Kedua rangkaian ini merupakan contoh rangkaian aritmatika dasar yang sama-sama berfungsi

menjumlahkan bilangan. Half Adder merupakan rangkaian yang menjumlahkan 2 bilangan yang masing-masing selebar 1 bit dan menghasilkan 1 bilangan selebar 2 bit, sedangkan Full Adder menjumlahkan 3 bilangan selebar 1 bit dan tetap menghasilkan 1 bilangan selebar 2 bit. Seperti penjumlahan bilangan satuan yang menghasilkan bilangan puluhan.

(19)

Dari tabel kebenaran diatas, dapat disederhanakan bahwa Sum dan Carry berasal dari dua persamaan berikut :

Dengan menerapkan sifat dari kedua persamaan tersebut, kita dapat membuat Half Adder dalam VDHL dengan sintax berikut :

library iEEE; use ieee.std_logic_1164.all; entity half_adder is port ( a_input : in std_logic; b_input : in std_logic; cout : out std_logic; sum : out std_logic

);

End entity half_adder;

Architecture half_adder_bhv of half_adder is Begin

Sum <= a_input xor b_input ; Cout<= a_input and b_input; End half_adder_bhv;

b. Full Adder

Pada Full Adder, rangkaian dapat bekerja dengan menampung carry sebelumnya sehingga inputnya ada 3, yaitu A, B, dan Cin.

(20)

Jika diperhatikan, operasi pada full adder dapat direpresentasikan dengan menggunakan half adder sesuai dengan gambar berikut :

Sedangkan untuk melakukan operasi penjumlahan bilangan dengan lebar data lebih dari satu bit dibutuhkan sebuah rangkaian Full Adder Parallel. Full Adder Parallel tersusun atas rangkaian Full Adder sebanyak n yang dapat menjumlahkan 2 bilangan selebar n bit dan menghasilkan 1 bilangan selebar n+1 bit. Seperti penjumlahan bilangan ratusan yang menghasilkan bilangan ribuan. Rangkaian ini mempunyai prinsip menggunakan Cout pada perhitungan bit sebelumnya menjadi Cin.

(21)

Half Subtractor dan Full Subtractor

Kedua rangkaian ini melakukan operasi pengurangan biner. Half subtractor untuk pengurangan 2 bilangan selebar 1 bit menghasilkan sebuah bilangan selebar 2 bit, sedangkan full subtractor untuk pengurangan 3 bilangan selebar 1 bit menghasilkan sebuah bilangan selebar 2 bit. Dalam hal ini, Full Subtractor dapat terdiri dari 2 Half Subtractor. Tabel Kebenaran

(22)

Full Subtractor terdiri dari dua buah Half Subtractor (HS) COMPONENT

A COMPONENT is simply a piece of conventional code (that is, LIBRARYdeclarations þ ENTITY þ ARCHITECTURE, as seen in chapter 2). However, bydeclaring such code as being a COMPONENT, it can then be used within anothercircuit, thus allowing the construction of hierarchical designs.

A COMPONENT is also another way of partitioning a code and providing codesharing and code reuse. For example, commonly used circuits, like flip-flops, multiplexers,adders, basic gates, etc., can be placed in a LIBRARY, so any project canmake use of them without having to explicitly rewrite such codes.

(23)

COMPONENT component_name IS PORT ( port_name :signal_modesignal_type; port_name :signal_modesignal_type; ...); END COMPONENT; COMPONENT instantiation:

label: component_name PORT MAP (port_list);

Contoh implementasi Full Adder dengan component Half Adder library ieee; use ieee.std_logic_1164.all; --nama entity entity full_adder is port ( a_input : in_std_logic; b_input : in std_logic; cin : in std_logic; cout : out std_logic; sum : out std_logic ); --port dari entity end entity full_adder;

--nama architecture --nama entity architecture full_adder_bhv of full_adder is port (

a_input : in std_logic; b_input : in std_logic; sum : out std_logic; cout : out std_logic );

(24)

signal sum0 : std_logic; signal cout0 : std_logic;

signal cout1 : std_logic; begin

FA0 : half_adder

port map (a_input =>a_input , b_input => b_input , sum => sum0 , cout => cout0);

FA1 : half_adder

port map (a_input => cin , b_input => sum0 , sum => sum , cout => cout1); cout<= cout0 or cout1;

(25)

FLIP-FLOP Tujuan praktikum

1. Memahami dasar rangkaian memori

2. Memahami karakteristik dan fungsi dari rangkaian flip-flop

3. Memahami perubahan keluaran terhadap masukan pada rangkaian flip-flop 4. Mempelajari penggunaan process pada VHDL

Peralatan Praktikum 1. Personal Computer 2. Software Xilinx ISE 8.1 3. Digiboard

4. IC74LS00, 74LS02, 74LS74, 74LS76 TEORI

Flip-flop adalah rangkaian logika yang digunakan untuk menyimpan satu bit secara semi permanen sampai ada suatu perintah untuk menghapus atau mengganti isi dari bit yang disimpan. Flip-flop bekerja berdasarkan control dari sinyal clock. Prinsip dasar dari flip-flop adalah suatu komponen elektronika dasar seperti transistor, resistor dan dioda yang di rangkai menjadi suatu gerbang logika yang dapat bekerja secara sekuensial.

Flip-flop merupakan bentuk dasar dari rangkaian logika sekuensial. Pada dasarnya flip-flop berasal dari basic cell NAND atau basic cell NOR, yang sering disebut RS-flip-flop (SET RESET flip-flop). Berikut gambar rangkaian, dan table kebenaran dari RS flip-flop:

(26)

Tidak seperti gerbang logika, flip-flop mempunyai dua keluaran komplementer. Keluaran tersebut

diberi lambang Q dan Q. Keluaran Q merupakan keluaran normal dan paling sering digunakan pada kondisi normal dan Q merupakan komplemen dari Q.

MACAM-MACAM FLIP FLOP 1. Data Flip-flop (D-FF)

D-FF adalah sebuah flip-flop yang memiliki satu data input dimana operasi dari flip-flop ini dikontrol oleh sebuah sinyal clock, sehingga saat clock aktif terus tanpa mengalami perubahan logic level maka noise logic dapat terkunci dan diteruskan ke output next state. D-FF disusun denganmenambahkan gerbang NOT antara masukkan S dan R.

Qt adalah present state, atau kondisi flip-flop sebelum clock aktif. Qt+1 adalah next state, atau kondisi flip-flop setelah clock aktif.

(27)

JK-FF memliki dua input yang mempengaruhi keluaran. Operasi flip-flop JK sama dengan operasi flip-flop SR, kecuali pada masukkan, JK diperbolehkan kondisi J=K=1. Bila kondisi seperti itu maka keadaan Q akan berubah tanpa memperhatikan keadaan Q sebelum ada detak. Sifat master slave terlihat pada output table operasi yang selalu sama dengan masternya (J ).

3. Toggle Flip-flop (T-FF)

T-FF mempunyai sifat “Toggle”, artinya saat input T = 1 maka output = complement output sebelum clock aktif. karena output selalu berlawanan dengan kondisi awalnya, sehingga saat Clock aktif terus dan input T=1 maka output akan berosilasi.

MERANCANG FLIP-FLOP DARI FLIP-FLOP LAIN

Suatu Flip–Flop dengan karakteristik yang tidak umum, tetap dapat diimplementasikan dalam rangkaian. Flip-flop tersebut dibuat dengan memanfaatkan flip-flop yang ada. Langkah-langkah perancangan Flip-flop dari flip-flop lain adalah sebagai berikut:

(28)

Misal : Merancang T-FF dari JK-FF

1. Membuat Diagram State dari FF yang diinginkan (T-FF)

2. Membuat Tabel Transisi dari FF yang tersedia (JK-FF)

3. Membuat Tabel Eksitasi

4. Membuat K-Map dari tabel eksitasi

(29)

BEHAVORIAL

Satu aspek penting dari kode sekuensial adalah dia tidak terbatas pada logika sekuensial. Sehingga, dengan begitu kita dapat membangun sirkuit sekuensial yang serupa dengan sirkuit kombinasional. Kode sekuensial dapat disebut juga dengan kode behavioral.

PROCESS

Process adalah bagian kode sekuensial pada VHDL. Hal ini ditandai dengan adanya IF, WAIT, KASUS, atau LOOP, dan oleh sebuah daftar sensitivitas (kecuali ketika menunggu issued). PROSES harus diinstal dalam kode utama, dan dijalankan setiap kali signal dalam daftar perubahan sensitivitas (atau kondisi yang

berhubungan dengan WAIT terpenuhi). [label:] PROCESS (sensitivity list)

[VARIABLE name type [range] [:= initial_value;]] BEGIN

(sequential code) END PROCESS [label];

(30)

MODUL IV RANGKAIAN SEKUENSIAL Tujuan Praktikum

1. Mempelajari karakteristik komponen Counter, Register, dan Detektor Sekuensial 2. Mencoba beberapa jenis Counter dan Register

3. Mempelajari perancangan Counter dan Detektor Sekuensial 4. Mempelajari metode simulasi dengan test bench

Peralatan Praktikum 1. Personal Computer 2. Software Xilinx ISE 8.1 3. Digiboard

4. IC4510, 74LS47, 74LS74 TEORI

Rangkaian sekuensial adalah rangkaian logika yang outputnya dipengaruhi oleh input saat ini dan output sebelumnya. Rangkaian sekuensial dapat dikatakan pula sebagai rangkaian logika yang bekerja berdasarkan urutan waktu. Ciri dari sistem rangkaian logika sekuensial adalah adanya jalur umpan balik (feedback) di dalam rangkaiannya. Adapun contoh dari rangkaian sekuensial yaitu flip flop, counter, register, dan detector sekuensial.

1. Counter

Counter merupakan rangkaian logika pengurut, karena counter membutuhkan karakteristik memori, dan pewaktu memegang peranan yang penting. Counter digital mempunyai karakteristik penting yaitu sebagai berikut:

a. Jumlah hitungan maksimum (modulus N-counter)

b. Menghitung ke-atas atau ke-bawah (up atau down - counter) c. Operasi asinkron atau sinkron

d. Bergerak bebas atau berhenti sendiri

Sebagaimana dengan rangkaian sekuensial yang lain, untuk menyusun counter digunakan flipflop. Counter dapat digunakan untuk menghitung banyaknya clock-pulsa dalam waktu yang tersedia (pengukuran frekuensi), Counter dapat juga digunakan untuk membagi frekuensi dan menyimpan data.

Ada dua macam counter, yaitu Asinkronous Counter dan Sinkronous Counter. Asinkronous Counter disebut juga Ripple Through Counter atau Counter Serial (Serial Counter), karena output masing-masing flip-flop yang digunakan akan berubah kondisi dari “0” ke “1” dan sebaliknya secara berurutan, hal ini disebabkan karena flip-flop yang paling ujung dikendalikan oleh sinyal clock, sedangkan sinyal clock untuk flip-flop lainnya berasal dari masing-masing flip-flop sebelumnya. Sedangkan pada counter sinkron, output flip-flop yang digunakan bergantian secara serempak. Hal ini disebabkan karena masing-masing flip-flop tersebut dikendalikan secara

serempak oleh sinyal clock. Oleh karena itu Counter Sinkron dapat pula disebut sebagai Counter paralel (Parallel Counter).

(31)

Contoh Perancangan Counter Up-Down 2-bit D-FF 1. Buat Diagram State Counter 2-Bit yang dirancang

(32)

3. Tentukan persamaan logika D1 dan D2 dengan K-MAP

4. Buat Rangkaian Counter tersebut Contoh Source Code VHDL Counter

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Counter_VHDL is

port( Clock: in std_logic; Reset: in std_logic; Updown: in std_logic;

Output: out std_logic_vector(0 to 3) ); end Counter_VHDL;

architecture Behavioral of Counter_VHDL is signal a: std_logic_vector(0 to 3); begin process(Clock,Reset) begin if Reset='1' then a <= "0000";

elsif ( Clock'event and Clock='1') then if Updown='0' then a <= a + 1; else a <= a - 1; end if; end if; end process; Output <= a; end Behavioral; 2. Shift Register

Register merupakan sekelompok flip-flop yang dapat menyimpan dan menggeser data yang terdiri dari bit majemuk. Register dengan n flip-flop mampu menyimpan sebesar n bit. Ada dua cara untuk menyimpan dan membaca data ke dalam register, yaitu seri dan paralel. Dalam operasi paralel, penyimpanan atau pembacaan dilakukan secara serentak oleh semua tingkat register dan hanya membutuhkan 1 clock saja untuk menyimpan atau membaca semua data. Sedangkan untuk operasi seri, diterapkan secara sequential bit demi bit sampai semua tingkat register terpenuhi dan jumlah clock tergantung pada jumlah data yang akan disimpan.

(33)

a. SISO (Serial In Serial Out)

Pada mode ini, data masuk dan keluar secara seri

b. SIPO (Serial In Paralel Out)

Pada mode ini, data masuk secara seri tetapi keluar secara serentak (paralel)

c. PISO (Paralel In Serial Out)

Pada mode ini, data masuk secara serentak (paralel) tetapi keluarnya secara seri

d. PIPO (Paralel In Paralel Out)

Pada mode ini, data baik masuk maupun keluar secara paralel

Source code untuk shift register 4 bit Library ieee;

Use ieee.std_logic_1164.all; Entity shift4 is

Port (w, clock : in std_logic; Q : out std_logic_vector (1 to 4)); end shift4;

architecture behavior of shift4 is signal sreg: std_logic_vector (1 to 4); begin

process (clock) begin

if clock ‘event and clock = ‘1’ then sreg (4) <= w; sreg (3) <= sreg(4); sreg (2) <= sreg (3); sreg (1) <= sreg (2); end if; end process;

(34)

Q <= sreg; End behavior;

Test bench pada shift register library ieee;

use ieee.std_logic_1164.all; entity tb_shift_register is end entity;

architecture tb_shift_register_struct of tb_shift_register is component shift_register is Port ( clk : in std_logic; rst : in std_logic; d : in std_logic; Y : out std_logic ); end component;

signal clk,rst,data_in,data_out : std_logic; begin

DUT : shift_register

port map (clk => clk, d => data_in, rst => rst, Y =>data_out); sign_gen : block begin clk_p : process begin clk <= '0' ; wait for 10 ns; clk <= '1' ; wait for 10 ns; end process; rst_p : process begin rst <= '1' ; wait for 2000 ns; rst <= '0' ; wait for 100 ns; rst <= '1' ; wait for 3000 ns; end process; data_in_p : process begin

data_in <= '1' ; wait for 50 ns; data_in <= '1' ; wait for 50 ns; data_in <= '0' ; wait for 50 ns; data_in <= '1' ; wait for 50 ns; data_in <= '0' ; wait for 50 ns; data_in <= '1' ; wait for 50 ns;

data_in <= not (data_in); wait for 50 ns; end process;

end block; end architecture;

--nama test --nama entity

configuration test_config of tb_shift_register is --nama architecture

for tb_shift_register_struct end for;

(35)

3. Detektor Sekuensial

Detektor sekuensial merupakan suatu jenis rangkaian sekuensial yang dapat mendeteksi urutan bit dengan pola tertentu dari rangkaian data yang diinputkan. Jika data yang dideteksi sesuai dengan pola yang diinginkan, maka output akan mengeluarkan suatu harga tertentu.

Ada 2 model dalam perancangan rangkaian detector sekuensial, yaitu model moore dan model mealy. Perbedaan antara keduanya adalah pada jumlah state dan variable pembentuk outputnya:

a. Model mealy : jumlah state = jumlah bit (yang akan dideteksi) Perancangan detektor sekuensial urutan 011 dengan model mealy Untuk mendeteksi urutan 011 ada 3 state yang dilewati yaitu : State A , yaitu ketika detektor belum mendeteksi apa-apa State B , yaitu ketika detektor mendeteksi 0

State C , yaitu ketika detektor mendeteksi 0 1

Lalu nilai keluaran Z akan bernilai 1 ketika detektor berada pada state C dan mendapat input bernilai 1 sehingga detektor mendeteksi 011, lalu dapat dibuat diagram state nya seperti dibawah ini :

(36)

Kondisi state dapat direpresentasikan sebagai berikut : State A = 00

State B = 01 State C = 11

Maka tabel state akan menjadi seperti ini :

Dari tabel tersebut kita mencari nilai input D-FF nya dari perubahan Present State => Next State (Tabel Transisi D-FF)

Lalu kita cari persamaan rangkaian D-FF 1 dan D-FF 2

(37)

Dari rangkaian tersebut dapat kita buat coding vhdl nya sebagai berikut :  Coding D-FF

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity dff is port (clk,rst,d : in std_logic ; df:out std_logic); end dff;

architecture Behavioral of dff is begin

baca : process (clk) begin

if (clk' event and clk='1')then if rst = '1' then df <= d; end if; end if; end process; end Behavioral;

 Coding Detektor Sekuensial library IEEE;

use IEEE.STD_LOGIC_1164.ALL; entity detsek is port (

x , clk, rst : in std_logic ; z : out std_logic

);

end detsek;

architecture Behavioral of detsek is component dff is port ( clk : in std_logic; rst : in std_logic; d : in std_logic; df : out std_logic ); end component dff; signal q1 : std_logic; signal q2 : std_logic; signal d1 : std_logic; signal d2 : std_logic;

(38)

begin Dff0 : dff

port map ( d=>d1, clk => clk, df => q1, rst => rst); Dff1 : dff

port map ( d => d2, clk => clk, df => q2, rst => rst); d1 <= ((not q1) and q2 and x);

d2 <= (((not q1) and (not x)) or (q2 and (not x)) or ((not q1) and q2));

z <= (x and q1 and q2); end Behavioral;

b. Model moore : jumlah state = jumlah bit + 1

Contoh perancangan detektor sekuensial moore (011) dengan D-FF 1. Buat diagram state sesuai bit yang ingin dideteksi

(39)

Misal A = 00, B = 01, C=11, D =10, maka tabel eksitasinya:

(40)

4. Implementasi Rangkaian

Contoh Source Code VHDL Detektor Sekuensial Moore library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity detektor011 is Port ( clk : in STD_LOGIC; x : in STD_LOGIC; w : out STD_LOGIC); end detektor011;

architecture Behavioral of detektor011 is begin

process1 : process (CLK)

variable state : std_logic_vector (1 downto 0) :="00"; begin if (clk ='1') then case state is when "00" => if (x='0') then state :="01"; w <='0'; else state :="00"; w<='0'; end if; when "01" => if (x='0') then state :="00"; w <='0'; else state :="11"; w<='0'; end if; when "11" => if (x='0') then state :="00";

(41)

else

state :="10"; w<='1'; end if;

when others => if (x='0') then state :="00"; w <='0'; else state :="00"; w<='0'; end if; end case; end if; end process; end Behavioral; TEST BENCH

Test bench adalah proses pengujian suatu rancangan rangkaian. Dalam proses perancangan rangkaian, test bench akan menguji design rangkaian apakah sudah sesuai atau belum. Test bench ini dilakukan dengan menggunaan file HDL (berbentuk kode, baik VHDL maupun Verilog). Sehingga berbeda dengan bentuk

diagram yang menggunakan gambar sebagai tampilannya, test bench menggunakan kode-kode tulisan sebagai tampilannya.

Test bench biasanya ditulis dengan kode bahasa VHDL maupun Verilog. Bentuk test bench ini terbilanglebih sukar dibandingkan dengan bentuk timing diagram. Hal ini disebabkan karena untuk melakukan test bench, diperlukan kemampuan untuk menulis dan mengerti kode-kode VHDL maupun verilog. Sehingga bentuk test bench pada umumnya sering dipakai oleh pengguna FPGA tingkat mahir.

VHDL Test Bench File: myadder_tb.vhd library IEEE;

use IEEE.std_logic_1164.ALL; ENTITY myadder_tb is END myadder_tb;

ARCHITECTURE simulate OF myadder_tb IS

--- The parent design, myadder8_top, is instantiated --- in this testbench. Note the component

--- declaration and the instantiation.

---COMPONENT myadder8_top PORT ( AP : IN std_logic_vector(7 downto 0); BP : IN std_logic_vector(7 downto 0); CLKP: IN std_logic ; C_INP: IN std_logic;

(42)

END COMPONENT;

SIGNAL a_data_input :std_logic_vector(7 DOWNTO 0); SIGNAL b_data_input :std_logic_vector(7 DOWNTO 0); SIGNAL clock : std_logic;

SIGNAL carry_in :std_logic;

SIGNAL sum :std_logic_vector (8 DOWNTO 0); BEGIN uut: myadder8_top PORT MAP ( AP =>a_data_input, BP =>b_data_input, CLKP => clock, C_INP=>carry_in, QP => Q); stimulus: PROCESS BEGIN

---Provide stimulus in this section. (not shown here) ---wait;

end process; -- stimulus END simulate;

(43)

SINTESIS PERANCANGAN RANGKAIAN DENGAN VHDL Tujuan Praktikum

1. Dapat memahami arsitektur di dalam FPGA

2. Memperkenalkan FPGA untuk implementasi rangkaian digital yang didesain menggunakan VHDL 3. Melakukan proses sintesis rangkaian digital menggunakan software Xilinx ISE

PeralatanPraktikum 1. Personal Computer 2. Software Xilinx ISE 8.1 3. FPGA Spartan XC3S1000 Teori

1. Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) merupakan suatu Integrated Circuit (IC) yang dibuat agar dapat deprogram sesuai dengan kebutuhan pengguna. Untuk memprogram FPGA umumnya menggunakan Hardware description language (HDL). Di dalam FPGA terdapat komponen-komponen logika yang disebut “logic blocks” dan blok-blok tersebut dapat deprogram menjadi suatu rangkaian sesuai dengan kebutuhan pengguna. FPGA memiliki kemampuan untuk deprogram ulang kembali, seperti breadboard yang terdapat dalam satu chip. Blok-blok logika dapat dikonfigurasi untuk melakukan fungsi- fungsi kombinasi komplek atau gerbang-gerbang logika, seperti AND dan OR.Pada sebagian besar FPGA, blok-blok logika juga memuat elemen-elemen memory, seperti flip-flop atau yang lebih komplek.

FPGA mempunyai kelebihan sebagai berikut: • Dikonfigurasi oleh End User

• Kemampuan desain sistem yang dapat beroperasi pada frekuensi yang semakin tinggi

 Kemampuan meningkatkan integrasi system, penempatan lebih banyak system di dalam sebuah chip, dan penggunaan seluruh gate yang ada di dalam FPGA yang membuat keefektifan harga perancangan

• Tidak memerlukan proses Fabrikasi

• Tersedia solusi yang mendukung chip customized VLSI

• kemampuan software yang mudah digunakan untuk perancangan dan kemampuan untuk  menambahkan desain baru pada sistem di FPGA yang sama pada saat yang berbeda • Lebih murah dan dapat diprogram kembali jika terjadi bugs.

Perkembangan FPGA pada saat ini berlangsung dengan cepat dan dewasa ini terdapat bermacam-macam keluarga FPGA dengan kebutuhan perancangan dan perangkat perancangan (design tools) yang berbeda. Untuk mempermudah pengguna, FPGA tidak hanya dapat deprogram dengan menggunakan HDL. Desain schematic memungkinkan FPGA dapat diprogram oleh pengguna yang kesulitan meggunakan HDL. Untuk menyedehanakan desain dari fungsi komplek, disediakan beberapa library.

Setiap vendor memiliki arsitektur FPGA yang berbeda-beda namun secara umum arsitektur bagian dalam dari IC FPGA terdiri atas tiga elemen utama yaitu Input/Output Blok ( IOB ), Configurable Logic Block (CLB) dan Interkoneksi. 1. Configurable Logic Block (CLB)

CLB adalah tempat logika terprogram pada FPGA. Beberapa komponen yang terdapat pada CLB diantaranya RAM, Flip-Flop, dan Multiplekser.

(44)

2. Interkoneksi

Ada beberapa jenis koneksi yang terdapat FPGA, diantaranya Short Lines, Routing, dan Long Lines. Short Lines adalah suatu interkoneksi dimana setiap CLB dihubungkan dengan CLB terdekat. Sedangkan untuk Routing adalah suatu interkoneksi yang terdapat jalur-jalur yang melewati sebuah CLB sebelum menuju Matriks Switch. Fungsi Matriks Switch adalah menghubungkan CLB yang relatif jauh. Kerugian Interkoneksi jenis ini adalah adanya delay yang cukup besar. Dan yang terakhir adalah long lines, dimana designer

menghubungkan CLB yang cukup jauh tapi dengan delay minimum, yaitu dengan menghilangkan Matriks Switch. 3. Input/Output Blok ( IOB )

Fungsi bagian ini adalah menyalurkan sinyal ke dalam switch dan mengeluarkannya kembali. Bagian ini terdiri dari buffer input dan buffer output.

Penamaan FPGA Xilinx Spartan:

(45)

2. Xilinx ISE

Software Xilinx ISE merupakan salah satu program untuk melakukan proses synthesis dan

implementasi desain rangkaian yang telah dibuat dalam VHDL, menjadi file konfigurasi FPGA (*.bit). Dalam praktikum ini digunakan Xilinx ISE versi 8.1.

Sintesis HDL merupakan proses pembangunan rangkaian secara skematik yang tersusun atas gerbang logika atau komponen lain dari suatu rangkaian yang telah dibuat menggunakan bahasa VHDL. Sintesis rangkaian

bertujuan untuk memperlihakan bagaimana bentuk rancangan secara skematik dari suatu scipt VHDL. Setelah script disintesis, barulah rangkaian ini dapat diload ke kit FPGA. Tahapannya dimulai dari implementasi rangkaian ke IC FPGA yaitu pada task Implement Design. Proses ini terdiri dari tiga tahap, yaitu Translate, Mapping, serta Place and Route. Proses selanjutnya adalah membuat file *.bit. yaitu pada task Generate Programming file. File ini kemudian diprogramkan pada FPGA, sehingga FPGA tersebut melakukan fungsi yang telah dirancang sebelumnya.

Langkah-langkah menggunakan software ISE tersebut yaitu: 1. Aktifkan Xilinx ISE 8.1 Project Navigator

2. Pilih menu File>New Project, beri nama project sesuai dengan nama kelompok praktikum. Pilih TopLevel Source Type: HDL, kemudian pilih Next

3. Isikan data sebagai berikut, kemudian pilih next

4. Membuat source baru:

a. Setelah dipilih next, kemudian pilih new source, beri nama sesuai rangkaian yang akan dipraktikumkan klik tipe filenya VHDL Module. Lalu pilih next.

b. Inisialisasikan port-port yang akan digunakan, berinama port-portnya dan tentukan directionnya .lalu pilih next. Jika data telah benar, kemudian pilih finish.

(46)

c. Setelah membuat source baru, kemudian pilih next.

d. Di jendela add existing source, bila tidak akan menambahkan source lain yang telah ada sebelumnya, pilih saja next.

e. Bila data telah benar, pilih finish.

5. Isikan script VHDL dari rangkaian yang akan disintesis. Berikut contoh script dari rangkaian mux 4 to 1:

(47)

Setelah script dibuat, jangan lupa disave, dengan menekan tombol (save) . 6. Inisialisasi port FPGA:

a. Klik tombol new ( ) ,pilih text file, lalu OK.

b. Masukkan sintaks sesuai inisialisasi port input output rangkaian dan port di FPGA. Contoh untuk rangkaian mux 4 to 1:

Syntax:

net “{nama port pada desain rangkaian VHDL}”loc = {port di FPGA yang akan digunakan} 7. Sintesis rangkaian:

a. Pada jendela processes, klik kanan pada Generate Programming file, lalu pilih rerun all. Tahap ini akan memerintahkan program untuk mensintesis rangkaian, memproses Implement Design dan

Generate Programming file. Sekaligus untuk Implement Design berguna untuk mengimplementasikan rancangan pada IC FPGA, sedangkan Generate Programming file berguna untuk membuat file *.bit yang nantinya akan diuploadkan pada FPGA.

(48)

b. Apabila terjadi error pada file VHDL, periksa peringatan pada tab console, perbaiki file, dan ulangi proses sintesis.

c. Selanjutnya, untuk melihat skematik hasil sintesis, expand Synthesize–XTS pada jendela processes, lalu double click pada View RTL Schematic dan View Technology Schematic. Contoh hasil sintesis mux 4 to 1:

(49)

8. Upload ke FPGA:

a. Untuk meng-upload hasil desain rangkaian yang dibuat tadi ke FPGA, kabel sudah harus terhubungkan antara FPGA dengan komputer yang akan digunakan untuk desain rangkaian.

b. Buka iMPACT di start > all program> Xilinx ISE 8.1i > accessories >iMPACT. Lalu pilih Run, maka akan muncul jendela seperti di bawah ini.

(50)

c. Lalu di jendela tersebut pilih edit lalu klik Launch Wizard

d. Kemudian pilih Confiure device using Boundary-Scan (JTAG) dan pilih automatic, lalu klik OK

e. Kemudian pilih konfigurasi sesuai dengan program yang telah dibuat tadi, pilih file yang berbentuk *.bit.

(51)

program.

g. Pilih program.

Gambar

Tabel kebenaran 2 to 4 binary decoder dengan enable active-high dan output active-high
Tabel Kebenaran 4-to-2 Binary Encoder
Tabel Kebenaran 4-to-2 Binary Encoder with Priority
Tabel Kebenaran

Referensi

Dokumen terkait

Berdasarkan hasil analisis dan pembahasan, dapat disimpulkan bahwa semua variabel bebas dalam penelitian yaitu religiusitas, kesadaran halal, dan sertifikasi halal memiliki

a) Evaluasi kuantitatif dan/atau kualitatif dilakukan pada 14 zona sewerage untuk setiap indikator. b) Untuk setiap indikator, ditetapkan zona yang menjadi prioritas (contoh:

Perencanaan dalam memilih media atau proses menentukan strategi media yang tepat sangatlah penting untuk mampu memberikan pesan iklan yang sesuai dengan target market, hal

a) Widyaiswara menyusun GBPP dan SAP yang meliputi nama diklat, topik diklat, alokasi yang diperlukan, penjelasan materi diklat, tujuan pembelajaran diklat, materi

Berdasarkan hasil pembahasan dan analisis yang telah dilakukan dapat diambil kesimpulan bahwa rumusan strategi berdasarkan prinsip blue ocean strategy adalah melakukan

Guru menyampaikan tujuan pembelajaran yang ingin dicapai yaitu Menjelaskan dasar perawatan mekanisme mesin rasa peduli dan Menjelaskan cara kerja kepala silinder dengan rasa

Penyusunan Rencana Pembangunan Jangka Panjang Daerah ini juga untuk memenuhi amanat dalam Pasal 13 ayat (2) Undang-Undang Nomor 25 Tahun 2004 tentang Sistem Perencanaan

• Para dosen Universitas Bina Nusantara Jakarta yang juga ikut memberikan saran dan ilmu yang berguna dalam mengerjakan skripsi kami ini. • Bill Buntaran, selaku General