You are on page 1of 11

LAPORAN AKHIR

PRAKTIKUM SISTEM DISAIN DIGITAL

NAMA : Thierry Rain Dhafin Montoya


NPM : 140910190048
NAMA DAN NO. MODUL : Disain Rangkaian Sekuential : Counter Dengan
Input / Module 6
NAMA ASISTEN : Johan Herdi S.

KELOMPOK :5

ANGGOTA KELOMPOK : An mei (140910160005)


Fisrdaus Arya W. (140910190010)
M. Dzaka Al Faris (140910190023)
Moh Iqbal Al-Fathan (140910190028)
Jason Dominick M. M. (140910190041)

DEPARTEMEN TEKNIK ELEKTRO


PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2020
I. Judul Eksperiment

Disain Rangkaian Sekuensial : Counter Dengan Input

II. Tujuan
Tujuan ekperimen ini adalah :

• Mahasiswa dapat membuat program counter sederhana dan dapat


disimulasikan.

• Modulo-4 up-down counter.

• A general sequence counter using the edge triggered D flip-flops of the


FPGA.

III. Problem
A. Disain
Membuat Counter With Input – 4 bit :
(i) VHDL Module
Source File di desain sesuai :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating


---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Counter is Port ( Clock : in STD_LOGIC;
Direction : in STD_LOGIC;
Count_out : out STD_LOGIC_VECTOR (3
downto 0));
end Counter;
architecture Behavioral of Counter is
signal count_int: std_logic_vector (3 downto 0):= "0000";
begin
process (Clock)
begin
if Clock='1' and Clock'event then
if Direction='1' then
count_int <= count_int + 1;
else
count_int <= count_int - 1;
end if;
end if;
end process;
Count_out <= count_int;
end Behavioral;

(ii) VHDL Testbench


Source File di desain sesuai :
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--USE ieee.numeric_std.ALL;

ENTITY testbench_counter IS
END testbench_counter;
ARCHITECTURE behavior OF testbench_counter IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT Counter
PORT(
Clock : IN std_logic;
Direction : IN std_logic;
Count_out : OUT std_logic_vector(3 downto 0 );
END COMPONENT;
--Inputs
signal Clock : std_logic := '0';
signal Direction : std_logic := '0';
--Outputs
signal Count_out : std_logic_vector(3 downto 0);
-- Clock period definitions
constant Clock_period : time := 10 ns;

BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: Counter PORT MAP (
Clock => Clock,
Direction => Direction,
Count_out => Count_out
);
-- Clock process definitions
Clock_process :process
begin
Clock <= '0';
wait for Clock_period/2;
Clock <= '1';
wait for Clock_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
wait for Clock_period*10;
-- insert stimulus here
wait for 25 ns;
DIRECTION <= '1';
wait for 100 ns;
DIRECTION <= '0';
wait for 100 ns;
DIRECTION <= '0';
wait for 100 ns;
DIRECTION <= '1';
wait for 100 ns;
DIRECTION <= '1';
wait;
end process;
END;

B. Blok Diagram
- Counter With Input – 4 bit

C. Diagram Logic
1. RTL Schematic Counter With Input – 4 bit
2. Technology Schematic

D. Daftar Peralatan
- Laptop Support Windows
- Software Windows 10 Pro
- Software VirtualBox 6.342
- ISE XILINX Design Suites 14.4

IV. Prosedur, Observasi, dan Data


A. Langkah Disain
1. Membuat New Project pada ISE XILINX.
2. Men-seting file sesuai dengan ketentuan yang ada pada diktat.
3. Membuat VHDL source dengan menggunakan NEW SOURCE lalu
mendeklarasikan port input dan output.
4. Memrogram perintah operasi sesuai diktat praktikum dan
melakukan “check syntax” pada “synthesize-XST” lalu “implement
design” sampai program sukses.
5. Membuat New Source VHDL baru sebagai test bench program
sebelumnya.
6. Memasukan statement sesuai diktat pada testbench.
7. Mensimulasikan rangkaian dengan iSim Simulator lalu simulate
behaviour.
8. Simulasi akan tertampil pada osiloskop.
9. Menyesuaikan Simulasi dengan tabel kebenaran
10. Mengambil Simulasi dan hasil pemrograman sebagai hasil pada
laporan akhir.
11. Melakukan prosedur di atas untuk VHDL “Burglar Alarm 3-input
Three Modelling Style” dan “Burglar Alarm 4-input Three
Modelling Style”
B. Prosedur
1. Design program Counter menggunakan VHDL program pada
Xilinx Synthesize Technology ISE.
2. Sintesis program VHDL tersebut dan kemudian jika hasil
sintesis program VHDL tidak ditemukan eror/bug maka
simulasilah. Test simulasi program VHDL tersebut
menggunakan ISE Xilinx Simulator. Dan bandingkan hasil
simulasi FPGA dengan tabel kebenaran gerbang Counter
tersebut.
3. Kemudian jika hasil simulasi FPGA di dalam program VHDL
tidak ditemukan eror maka lanjutkanlah Implement Design
program VHDL tersebut disesuaikan dengan input output pin
pada type FPGA Board yang akan kita gunakan. Setelah selesai
proses implement design dari VHDL program tersebut maka
lanjutkanlah dengan mengupload VHDL program tersebut ke
dalam FPGA Board menggunakan JTAG cable. Kemudian
jalankan program Counter tersebut pada FPGA Technology
dengan menggunakan push Buton sebagai input Counter (Clk).
4. Test Input Output gerbang Logic program VHDL tersebut pada
pin Input Output (I/O) pada FPGA Board. Bandingkan hasilnya
dengan tabel kebenaran Gerbang logika Counter tersebut. Test
input output FPGA Board tersebut dengan menggunakan 1 buah
Breadboard, 4 buah LED, 4 buah resistor 220 ohm. Bila di dalam
FPGA Board sudah ada LED dan push Buton maka tidak
diperlukan lagi Breadboard.
5. Buatlah rangkaian Decoder to 7 segment dengan menggunakan
IC 7447 pada breadboard dan hubungkan keluaran dekoder ke
LED 7 segment pada breadboard. Kemudian jalankan program
counter tersebut pada breadboard dengan menghubungkan
output FPGA ke input Dekoder IC 7447 pada breadboard.
Jalankan program counter dengan menggunakan push Buton.
6. Catat dan masukkan hasilnya dalam laporan.

C. Tabel Kebenaran
- Counter With Input – 4 Bit
Clock Present State Next State
Pulse Q1 Q0 Q1 Q0
0 (Start) 0 0 0 1
1 0 1 => 1 0
2 1 0 1 1
3 1 1 0 0
4 (Repeat) 0 0 0 1

D. State Diagram & Table State


- Counter With Input

V. Hasil
A. VHDL Counter With Input
B. Testbench Counter With Input

C. Simulasi Burglar Alarm 3-input Three Modelling Style


- Time : 1.000.000 ns
D. Analisa
Program yang kita jalankan berupa VHDL untuk rangkaian Counter
dengan input. mendeklarasikan 3 port, yaitu Clock & Direction sebagai input,
dan Count_OUT sebagai Output. Input yang dimasukan akan dipilih oleh
DIRECTION. Port Input Clock berfungsi untuk menentukan input lain
bekerja, dan sebagai input waktu dalam berjalannya program.
Saat Program dijalankan, sinyal mulai bekerja pada saat perintah
“Begin” dan berhenti pada saat perintah “End Process”. Sinyal berfungsi
untuk input dan output yang sudah di deklarasikan oleh praktikan.
Semua percobaan yang dilakukan sesuai dengan tabel kebenaran yang
berarti praktikum berhasil. Dalam pelaksanaannya, praktikan tidak
mengalami kendala apapun.
Terlihat pada simulasi, perhitungan bernilai ‘0’ pada awal simulasi,
dikarenakan clock juga bernilai ‘0’, dan direction bernilai ‘1’, maka output
berupa down-counter. Lalu Clock bernilai ‘1’ dan direction bernilai ‘0’,
Output 0 sampai 3 bernilai ‘1’, output yang dihasilkan adalah down-counter.
Kemudian perhitungan bernilai ‘0’ dan direction ‘1’, maka output berupa Up-
counter yang menghitung maju dari 0.
Pada percobaan terdapat warning pada bagian implement design yang
dikarenakan software timelapse, hal ini disebabkan oleh software yang di
download dan digunakan praktikan tidak mempunyai licence yang terbaru
sehingga terbatas pada implement design. Hal ini tidak terlalu berpengaruh
pada hasil praktikum.

VI. Kesimpulan
Setelah melakukan praktikum, praktikan dapat membuat program VHDL
Counter With Input – 4 Bit, dan direpresentasikan dengan tabel kebenaran dan diagram
logic dengan cara mensimulasikan VHDL. Praktikan dapat membuat program Counter
sederhana.
Praktikan membuat UP/DOWN COUNTER – 4 bit. Pada Up counter maka
output adalah perhitungan maju, sedangkan down counter adalah perhitungan mundur.
Rangkaian ini adalah rangkaian combinasional untuk bilangan biner.
Pelaksanaan praktikum dilakukan sesuai prosedur dan didapatkan hasil yang
sesuai dengan data yang diperoleh. Data – data yang diperoleh di masukan pada laporan
akhir modul 6.
Pada Praktikum, Praktikan melewatkan langkah mensimulasikan VHDL pada
FPGA Board, dikarenakan keterbatasan alat dan bahan. Langkah yang dilaksanakan
hanya sampai mensimulasikan VHDL dengan Testbench, dan hasil simulasi di check
dengan Truth Table.
Pelaksanaan Module 6 menyiapkan praktikan agar mahir dalam menggunakan
ISE XILINX terutama dalam memrogram VHDL untuk FPGA Board.

You might also like