6
Lab. 3 Percobaan Interf acing/Embeded System Smt. Genap 2007/2008 Lab. Informatika Digital (B.401) Lab. 3 Rangkaian Flip flop dan Counter pada Spartan 3 FPGA Board Materi Lab.3 : Pada percobaa n ini a kan dip elajari imp lementas i rangkaia n D flip-flop dan counter. Target : Mahasiswa mampu mengimpl ementasikan rangkaian squential pada modul FPGA. Tujuan : 1. Mempelajari pemrograman rangkaian flip-flop pada FPGA. 2. Implementasi counter dalam VHDL. 3. Mensimulasikan code dengan perangkat lunak Modelsim 4. Mengimplementasikan code pada Spartan 3 FPGA board. Syarat : 1. Mahasiswa sudah paham cara menggunakan ISE dan Spartan 3 board. 2. Mahasiswa sudah memiliki kemampuan dasar pemrograman VHDL. Persiapan Lab. : 1. Review Materi mata kuliah Rangkaia n Logika, Sistem Digital dan I nterfa cing. 2. Pelajari tentang rangkaian sekuensial. 3. Pelajari tentang dasar perograman VHDL (VHDL Cookbook). 4. Pelajari dan siapkan Spartan-3 Starter Kit Board User Guide (ug130.pdf) 5. Pelajari dan siapkan tutorial penggunaan Modelsim. Perangkat Lab. : Perangkat Jumlah Free software ISE webpack (www.Xilinx.com) 1 Free software Model sim 1 PC dan FPGA board 1 set Lab. 3.1. D Flip-Flop Sebelum melakukan percobaan jelaskan tentang rangkaian sekuensial sebagai laporan pendahuluan

Lab 3 Embeded

Embed Size (px)

Citation preview

Page 1: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 1/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

Lab. 3

Rangkaian Flip flop

dan Counter pada Spartan 3 FPGA Board

Materi Lab.3 :

Pada percobaan ini akan dipelajari implementasi rangkaian D flip-flop dan

counter.

Target :

Mahasiswa mampu mengimplementasikan rangkaian squential pada modul

FPGA.

Tujuan :

1.  Mempelajari pemrograman rangkaian flip-flop pada FPGA.

2.  Implementasi counter dalam VHDL.

3.  Mensimulasikan code dengan perangkat lunak Modelsim

4.  Mengimplementasikan code pada Spartan 3 FPGA board.

Syarat :

1.  Mahasiswa sudah paham cara menggunakan ISE dan Spartan 3 board.

2. 

Mahasiswa sudah memiliki kemampuan dasar pemrograman VHDL.

Persiapan Lab. :

1.  Review Materi mata kuliah Rangkaian Logika, Sistem Digital dan Interfacing.

2.  Pelajari tentang rangkaian sekuensial.

3.  Pelajari tentang dasar perograman VHDL (VHDL Cookbook).

4.  Pelajari dan siapkan Spartan-3 Starter Kit Board User Guide (ug130.pdf)

5. 

Pelajari dan siapkan tutorial penggunaan Modelsim.

Perangkat Lab. :

Perangkat Jumlah

Free software ISE webpack (www.Xilinx.com) 1

Free software Model sim 1

PC dan FPGA board 1 set

Lab. 3.1. D Flip-Flop

Sebelum melakukan percobaan jelaskan tentang rangkaian sekuensial sebagai

laporan pendahuluan

Page 2: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 2/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

Kumpulkan jawaban saudara saat akan memulai Lab. 3.1.

Prosedure percobaan :

1.  Bukalah project baru pada Modelsim dengan nama Flipflop

2.  Buatlah file baru dengan nama D_FF.vhd dan tulis code berikut :

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity dflip_ent is

port(

reset_in : in std_logic;

D_in : in std_logic;

clk : in std_logic;

Q_out : out std_logic

);

end dflip_ent;

architecture Dflip_arch of dflip_ent is

begin

Dflipflop : process(reset_in, clk)

begin

if (reset_in = '0') then

Q_out <= '0';

elsif (clk'event and clk = '1')then

Q_out <= D_in;

end if;

end process Dflipflop;

end Dflip_arch;

3.  Compile file tersebut. Dan lanjutkan dengan membuat file baru dengan

nama D_FF_TB.vhd dan tulis code berikut :

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity dflip_tb is

end dflip_tb;

architecture dflip_tb_arch of dflip_tb issignal reset_in : std_logic;

signal D_in : std_logic;

signal clk : std_logic := '0';

signal Q_out : std_logic;

component dflip_ent

port(

reset_in : in std_logic;

D_in : in std_logic;

clk : in std_logic;

Q_out : out std_logic

);

end component;

begin

Page 3: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 3/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

UUT : dflip_ent

port map(

reset_in => reset_in,

D_in => D_in,

clk => clk,

Q_out => Q_out

);

dflipflop: process

begin

reset_in <= '0'; wait for 50 ns ;

assert (Q_out = '0')

report " Failed on Reset = 0"

severity error;

reset_in <= '1'; wait for 50 ns;

assert (Q_out = D_in)

report " Failed on Reset = 1"

severity Warning;

D_in <= '0'; wait for 100 ns;assert (Q_out = '1')

report " Failed on D_in = 0"

severity error;

D_in <= '1'; wait for 200 ns;

assert (Q_out = '0')

report " Failed on D_in = 1"

severity error;

end process dflipflop;

clock_in : process

beginclk <= not clk; wait for 50 ns ;

end process clock_in;

end dflip_tb_arch;

4.  compile file tersebut dan lakukan simulasi pada ModelSIm. (Pastikan

sebelum melakukan simulasi, hasil compilasinya sukses). Lampirkan hasil

simulasi anda pada laporan pendahuluan.

5.  Selanjutnya simulasikan code D_FF.Vhd tersebut pada FPGA (referensi :

prosedur lab.1.2.). Tentukan pin-pinnya pada tahap assign package pins.

D_in dari switch board FPGA. Input reset_in dari push button. Output Q_outke Led. (Baca ug130.pdf untuk mengetahui address pin masing-masing

input dan output ).

Tugas :

1.  Pada Synthesize -> View RTL Schematic. Jelaskan pendapat anda.

2.  Buka juga view synthesize report, jelaskan analisa anda.

3. 

Buatlah program yang sama untuk komponen S-R FF, J-K FF dan T FF dansimulasikan dengan Modelsim serta lampirkan pula gambar simulasinya.

Page 4: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 4/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

4.  Lampirkan juga Truth table dan Kmap dari keempat flip-flop.

Lab. 3.2. Counter

Tujuan :

1.  Mengimplementasikan counter pada Model SIm.

2.  Mengimplementasikan counter pada FPGA.

Persiapan :

1.  Dari code Counter berikut buatlah simulasi pada ModelSim

2.  Lampirkan pada laporan pendahuluan keluaran file testbench tersebut dari

wave form modelsim sebelum anda melakukan lab.3.2.

Prosedure :

1.  Lakukan prosedur lab. 3.1. pada lab.3.2. dengan menuliskan code berikut :

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity n_bit_counter is

generic(n : integer := 2);

port(

clk : in std_logic;

reset : in std_logic;enable : in std_logic;

count_out : out std_logic_vector(n-1 downto 0)

);

end n_bit_counter;

architecture behav of n_bit_counter is

signal count_reg : std_logic_vector(n-1 downto 0);

begin

process(clk, enable, reset)

begin

if reset = '1' then

count_reg <= (count_reg'range => '0');

else if (clk = '1' and clk'event) thenif enable = '1' then

count_reg <= count_reg + 1;

end if;

end if;

end if;

end process;

count_out <= count_reg;

end behav;

2.  Compile file tersebut. Dan lanjutkan dengan membuat file baru dengan

nama counter_TB.vhd dan tulis code berikut :

library ieee;

use ieee.std_logic_1164.all;

Page 5: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 5/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

entity count_test is

end count_test;

architecture behav of count_test is

signal clk : std_logic := '0';

signal reset : std_logic;

signal enable : std_logic;

signal count_out : std_logic_vector(1 downto 0);

begin

UUT : entity work.n_bit_counter

generic map(2)

port map (clk, reset, enable, count_out);

stimuli : process

begin

reset <= '1'; wait for 25 ns;

assert (count_out = "00")

report "Error reset"

severity error;

reset <= '0'; enable <= '0'; wait for 50 ns;

assert (count_out = "10")report "Error Enable"

severity error;

reset <= '0'; enable <= '1'; wait for 500 ns;

assert (count_out = count_out)

report "Error Enable"

severity error;

end process;

process

begin

clk <= not clk; wait for 25 ns;

end process;end behav;

3.  Tentukan pin-pin dari input dan output code counter tersebut. Input clk dari

dari system clock Spartan 3 (Baca ug130.pdf tentang clock). Input enable

dari switch, input reset dari Push Button dan output Count_out ke LED (Baca

ug130.pdf untuk mengetahui address pin masing-masing input dan

output). 

4.  Jalankan code tersebut pada FPGA board.

Tugas :

1.  Pada Synthesize -> View RTL Schematic. Jelaskan pendapat anda.

2.  Buka juga view synthesize report, jelaskan analisa anda.

3.  Gunakan gambar pada wave simulator model sim untuk analisa laporan

anda

4.  Buatlah code counter 4 bit yang akan increment setelah 30 detik. (Buatlah

Clock divider sebagai delay clock 30 detik, Ingat clock Spartan adalah 50MHz).

Page 6: Lab 3 Embeded

7/16/2019 Lab 3 Embeded

http://slidepdf.com/reader/full/lab-3-embeded 6/6

Lab. 3 Percobaan Interfacing/Embeded System Smt. Genap 2007/2008

Lab. Informatika Digital (B.401)

5.  Buatlah file testbench dari counter tersebut (soal no. 4)

6.  Gunakan gambar pada wave simulator model sim untuk lampiran laporan

anda.

7. 

Simulasikan code anda pada FPGA untuk pertemuan berikutnya.