Anda di halaman 1dari 9

Lab. 1 Percobaan Interfacing/Embeded System Smt.

Genap 2008/2009

Lab. 1
Rangkaian Kombinasional
dan Implementasi pada Spartan 3 FPGA Board

Materi Lab.1 :

Pada percobaan ini akan dipelajari implementasi rangkaian MUX dan Adder.
Rangkaian Mux adalah rangkaian yang akan memilih salah satu dari 2n masukan
yang dikeluarkan pada satu keluaran dengan mengaktifkan n selektor.

Rangkaian adder adalah rangkaian kombinasional yang digunakan untuk


menjumlahkan n bit dua masukan dengan keluaran n bit sum dan 1 bit carry out.
Ada dua macam adder yaitu : full adder dan half adder.

Target :

Mahasiswa mampu mengimplementasikan algoritma digital kedalam modul


FPGA.

Tujuan :

1. Mempelajari dasar pemrograman VHDL dan bisa mengoperasikan


perangkat lunak ISE 6.

2. Membuat code VHDL rangkaian muliplexer 2 bit dan adder 1 bit.

3. Mensimulasikan code dengan perangkat lunak Modelsim

4. Mengimplementasikan code pada Spartan 3 FPGA board.

Syarat :

1. Mahasiswa harus sudah bisa merumuskan suatu permasalahan digital


kedalam truth table.

2. Dari rumusan truth table mahasiswa harus sudah bisa merumuskan dalam
persamaan digital dan selanjutnya akan diimplementasikan pada modul
FPGA.

Persiapan Lab. :

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

2. Pelajari tentang rangkaian kombinasional.

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

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

Perangkat Lab. :

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

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Free software Model sim 1


PC dan FPGA board 1 set

Lab. 1.1. Multiplexer 2 to 1

Memulai Projek Baru

1. Jalankan Program Xilinx - Project Navigator

Figure 1. Xilinx Project Navigator

2. Beri nama project sesuai dengan jenis project yang dibuat dan letakkan pada
folder yang dikehendaki.

Figure 2. Create New Project

3. Tentukan device yang akan digunakan. Lihat pada gambar berikut.

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Figure 3. Device configuration

4. Klik new source jika belum ada code sourcenya. Bila sudah ada langsung next.

Figure 4. Create New source

5. Bila create new source pilih VHDL module (bila code source dalam VHDL) dan beri
nama file sesuai dengan behavioral codenya. Misal : mux_2to1.vhd

Figure 5. New source

6. Tentukan Port IO nya dan jumlah bitnya. Pada program Mux tulis :

Bila source code sudah ada, maka bagian ini dilewati saja.

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Figure 6. Port configuration

7. Bila source code sudah dibuat, maka pada gambar berikut masukkan file code
yang sudah dibuat. Jika belum pernah dibuat, proses berikut dilewati saja.

Figure 7. Add existing source

8. Selanjutnya tulis code VHDL sesuai behavioralnya. Untuk mux_2to1 ketik code
berikut :

architecture Behavioral of mux_2to1 is


signal out_sig : std_logic;
begin
process(in_A, Sel)
begin
if sel = '0' then
out_sig <= in_A(0);
else
out_sig <= in_A(1);
end if;
end process;
out_mux <= out_sig;
end Behavioral;

9. Selanjutnya save dan lakukan synthesis =>Synthesize

10. Jika sukses ditandai dengan tanda cawing hijau, selanjutnya lakukan inisialisasi pin.
Pada User Constrain -> klik dua kali Assign Package Pins

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Figure 8. Assign Package Pins

11. Selanjutnya klik dua kali pada -> Implement Design hingga sukses dengan ditandai
tanda cawang hijau.

12. Compile code supaya dapat disimulasikan di FPGA dengan men-generate


program. Klik dua kali -> generate program

13. sebelum melanjutkan pada tahap selanjutnya, pastika Spartan 3 Board sudah
terhubung dengan Kabel Jtag yang terhubung dengn Com 2 PC.

Figure 9. Jtag Configuration

14. Jika sudah terpasang klik dua kali -> Configure Device, hingga muncul gambar 10.
dan klik next.

Figure 10. Configure Device Form

15. Pada Scan Mode Form Pilih Automatically connect dan klik Finish.

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

16. Pada Form Assign New Configuration Pilih File mux_2to1.bit seperti pada gambar
11.

17. Jika muncul Form Assign New Configuration lagi yang meminta file *.mcs pilih
Bypass. Karena kita hanya menggunakan satu board saja.

Figure 11. Assign New Configuration Form

Figure 12. Assign New Configuration mcs file

18. Pada Impact tools muncul from seperti gambar 13. klik kanan pada chip XC3S200,
dan pilih program untuk meng –upload program ke FPGA.

19. Pada Program Option klik OK dan proses upload dilakukan hingga muncul :

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Figure 13. Impact tools Form

Tugas :

1. Bukalah File mux_2to1.ucf dan perhatikan apa isi dari file tersebut. Jelaskan

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

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

4. Buatlah Mux_4to1 dengan mode concurrent coding (pada VHDL cookbook


subbab 4.3. Concurrent signal Assignment Statements) dan LUT mode. Buatlah file
testbench untuk mensimulasikan code tersebut pada modelsim. Sehingga
menghasilkan wave diagram berikut :

5. Gunakan gambar pada wave simulator model sim untuk analisa laporan anda.

6. Simulasikan code anda pada FPGA untuk pertemuan berikutnya.

7. Lampirkan juga Truth table dan Kmap dari Mux 4 to 1.

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

Lab. 1.2. Adder

Tujuan :

1. Mengimplementasikan algoritma Arithmatik.

2. Mengimplementasikan component FA 1 bit untuk membangun FA 4 bit.

Prosedure :

1. Sebelum Create projek baru tulis kode berikut pada model sim dan beri nama
FA_1bit dan FA_4bit selanjutnya compile hingga sukses

2. Buatlah Projek baru dengan nama adder

3. Lakukan procedure seperti Lab.1.1. hanya pada saat add new source (pada
procedure 7) langsung klik next.

4. Pada form add existing source add code, tambahkan file FA_1.vhd dan FA_4.vhd.

5. Lanjutkan pada procedure selanjutnya seperti pada Lab.1.1.

6. Adapun pin configuration adalah sebagai berikut :

a(0) = f12 ; a(1) = g12 ; a(2) = h14 ; a(3) = h13


b(0) = j14 ; b(1) = j13 ; b(2) = k14 ; b(3) = k13
cin = m13
cout = p11
sum(0) = k12 ; sum(1) = p14 ; sum(2) = l12 ; sum(3) = n14

-----------------FA_1bit.vhd------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity FA_1 is
port(
A, B, CI : in std_logic;
S, CO : out std_logic
);
end entity;

architecture behav of FA_1 is


begin
S <= A xor B xor CI;
CO <= (A and B) or (A and CI) or (B and CI);
end behav;

--------------FA_4bit.vhd---------------------------------

library IEEE;
use IEEE.std_logic_1164.all;

entity FA_4 is
port( a, b : in std_logic_vector (3 downto 0);
cin : in std_logic;
sum : out std_logic_vector (3 downto 0);
cout: out std_logic

Lab. Informatika Digital (B.401)


Lab. 1 Percobaan Interfacing/Embeded System Smt. Genap 2008/2009

);
end FA_4;

architecture add_struc of FA_4 is

component fA_1
port( A, B, CI : in std_logic;
S, CO : out std_logic
);
end component;

signal ci : std_logic_vector(4 downto 0);


begin

ci(0) <= cin;


u0 : FA_1
port map(A => a(0), B => b(0), CI => ci(0), S => sum(0), CO => ci(1));
u1 : FA_1
port map(A => a(1), B => b(1), CI => ci(1), S => sum(1), CO => ci(2));
u2 : FA_1
port map(A => a(2), B => b(2), CI => ci(2), S => sum(2), CO => ci(3));
u3 : FA_1
port map(A => a(3), B => b(3), CI => ci(3), S => sum(3), CO => ci(4));
cout <= ci(4);
end add_struc;

Tugas :

1. Bukalah File FA_4bit.ucf dan perhatikan apa isi dari file tersebut. Jelaskan

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

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

4. Buatlah FA_1bit dengan mode concurrent coding (pada VHDL cookbook subbab
4.3. Concurrent signal Assignment Statements). Buatlah file testbench untuk
mensimulasikan code tersebut pada modelsim.

5. Gunakan gambar pada wave simulator model sim untuk analisa laporan anda.

6. Simulasikan code anda pada FPGA untuk pertemuan berikutnya.

7. Code yang sudah saudara coba adalah carry ripple adder, buatlah code carry
select adder 4 bit dan simulasikan pada percobaan berikutnya. Sebagai catatan
mux pada carry select adder dihubungkan dengan 1 bit FA, sehingga masing-
masing Carry out FA akan terhubung dengan mux 1 bit.

Lab. Informatika Digital (B.401)

Anda mungkin juga menyukai