• Tidak ada hasil yang ditemukan

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 3 Stopwatch

N/A
N/A
Protected

Academic year: 2021

Membagikan "I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 3 Stopwatch"

Copied!
9
0
0

Teks penuh

(1)

[email protected], [email protected] 1 MODUL 3

Stopwatch

I. Pendahuluan

Pada praktikum ini, anda akan mempelajari cara mengembangkan sebuah sistem pada IC FPGA Spartan-II buatan menggunakan software ISE WebPack. Sistim yang dibuat adalah sebuah stopwatch. Bagian-bagian penyusun stopwatch ditulis dengan VHDL untuk selanjutnya dikonversi menjadi modul skematik karena disain top-level yang digunakan adalah skematik. Setelah melakukan sintesis, mendeskripsikan pin-pin yang digunakan sebagai input dan output, dan melakukan implementasi, maka file bit-stream yang dihasilkan didownload pada IC FPGA untuk merealisasikan disain yang dibuat.

II. Tujuan

Setelah menyelesaikan praktikum ini, yang anda peroleh adalah : • dapat menjelaskan arsitektur dasar dari sebuah IC FPGA.

• dapat menjelaskan alur pengembangan FPGA menggunakan ISE WebPACK; mendisain, mensintesis, implementasi dan melakukan download.

• dapat membuat makro/modul dari disain VHDL dan skematik.

• dapat membuat disain stopwatch sederhana dengan fasilitas reset, start dan stop.

III. Gambaran Disain

Disain stopwatch yang dibuat akan diimplementasikan pada IC FPGA. Sistem ini mempunyai tiga buah push-button sebagai input yang berfungsi sebagai reset, start dan stop. Stopwatch mendapatkan sumber clock dari osilator yang berada pada board. Output dari stopwatch adalah dua buah seven segmen untuk menampilkan angka 00 sampai 99.

(2)

IV. Dasar Teori

Teknologi FPGA

Sebuah FPGA menggunakan pendekatan yang berbeda dibandingkan dengan CPLD. FPGA mempunyai sekumpulan CLB (configurable logic block) tersusun dalam array dengan diselang-selingi switch yang dapat mengatur-ulang interkoneksi antar logic block. Tiap logic block dapat diprogram untuk melakukan sebuah fungsi logika (seperti AND, OR, XOR, dsb.) dan kemudian switch juga dapat diprogram untuk menghubungkan blok-blok sehingga fungsi logika yang lengkap dapat dilaksanakan.

Gambar 1. Arsitektur dasar FPGA

Divais FPGA yang akan kita gunakan adalah SpartanII XC2S50 yang mempunyai kapasitas matriks CLB selebar 16 x 24 atau sebanyak 384 CLB. Pada sebuah CLB terdapat dua buah

slice, jadi total slice pada XC2S50 sebanyak 768. IC tersebut dikemas dalam kemasan 144-pin

TQFP. IC ini bersama dengan komponen yang lain dikemas dalam sebuah development board XSA-50 buatan XESS Corp.

Alur pemrograman FPGA ditunjukkan oleh gambar 2. Divais FPGA yang dipakai menggunakan teknologi RAM sehingga file konfigurasi (bit-stream) akan hilang apabila power suplai divais dimatikan.

(3)

[email protected], [email protected] 3

Gambar 2. Alur pemrograman divias FPGA

Referensi:

- http://www.xess.com

V. Peralatan

• 1 set PC yang dilengkapi dengan software ISE WebPack dan ModelSim. • 1 development board XSA-50 dan XSTend Board

• 1 power-supply +9VDC

VI. Prosedur Praktikum

Blok diagram dari stopwatch sederhana ditunjukkan oleh gambar 3. Cara kerjanya sebagai berikut:

• Bila sinyal reset diaktifkan maka tampilan seven segmen menjadi nol dan diam. • Bila sinyal start diaktifkan maka seven segmen akan menampilkan nilai dari counter.

(4)

• Bila sinyal stop diaktifkan maka tampilan seven segmen akan berhenti, tetapi counter masih terus menghitung. Bila sinyal start diaktifkan maka nilai counter akan kembali ditampilkan pada seven segmen.

Gambar 3. Blok diagram stopwatch

Langkah-langkah percobaan adalah sebagai berikut. 1. Jalankan software ISE WebPACK.

2. Buat project baru dengan parameter berikut

Project name : modul3 Project location : e:\embedded Top-level modul type : schematic

Device family : Spartan2 Device : xc2s50 Package : tq144 Speed grade : -6

3. Tambahkan pada project (new source) modul skematik dengan nama mycounter. 4. Buatlah disain skematik seperti pada gambar 4. Kemudian simpan.

(5)

[email protected], [email protected] 5 5. Pada skematik tersebut (Xilinx ECS) pilih Tools Æ Symbol Wizard, pada pin name

source pilih Using Schematic. Tekan tombol NEXT sampai FINISH. Maka akan terbentuk simbol skematik dengan nama mycounter.

6. Pada Xilinx - Project Navigator, tambahkan source baru tipe skematik dengan nama

counter99. Buatlah disain skematik seperti gambar 5 pada Xilinx ECS. Setelah

disimpan, pilih Tools Æ Symbol Wizard, pada pin name source pilih Using Schematic. Tekan tombol NEXT sampai FINISH. Maka akan terbentuk simbol skematik dengan nama counter99.

Gambar 5. Modul Counter99

7. Pada Xilinx - Project Navigator, tambahkan source baru tipe VHDL module dengan nama dekoder7s. Ketikkan program VHDL berikut. Lakukan sintesis, bila tidak ada error, buatlah simbol skematiknya (Create Schematic Symbol).

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity dekoder7s is

port(

d : in std_logic_vector(3 downto 0); s : out std_logic_vector(7 downto 0) );

end dekoder7s;

architecture Behavioral of dekoder7s is begin

s <= "00000110" when d="0001" else --1

"01011011" when d="0010" else --2

"01001111" when d="0011" else --3

(6)

"01101101" when d="0101" else --5

"01111101" when d="0110" else --6

"00000111" when d="0111" else --7

"01111111" when d="1000" else --8

"01101111" when d="1001" else --9

"01110111" when d="1010" else --A

"01111100" when d="1011" else --b

"00111001" when d="1100" else --C

"01011110" when d="1101" else --d

"01111001" when d="1110" else --E

"01110001" when d="1111" else --F

"00111111"; --0

end Behavioral;

8. Pada Project Navigator, tambahkan source baru kembali tipe VHDL module dengan nama latch. Ketikkan program VHDL berikut. Lakukan sintesis, bila tidak ada error, buatlah simbol skematiknya.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity latch is port(

clk,main_rst : in std_logic;

d0,d1,d2,d3,d4,d5,d6,d7 : in std_logic; start,stop : in std_logic;

rst_counter : out std_logic;

data1,data2 : out std_logic_vector(3 downto 0) );

end latch;

architecture Behavioral of latch is

signal q,r : std_logic := '0';

signal hold1,hold2 : std_logic_vector(3 downto 0) := "0000";

begin

process(clk,main_rst,start,stop)

begin

if (clk'event and clk='1') then if (main_rst='1') then

q <= '0';

r <= '1';

elsif (start='1') then

q <= '1';

r <= '0';

elsif (stop='1') then

q <= '0'; r <= '0'; end if; end if; end process; process(clk,r,q,d7,d6,d5,d4,d3,d2,d1,d0) begin

if (clk'event and clk='1') then if (r='1') then

hold1 <= "0000";

hold2 <= "0000";

elsif (q='1') then

hold1 <= d3 & d2 & d1 & d0; hold2 <= d7 & d6 & d5 & d4;

end if;

end if;

end process;

rst_counter <= r; data1 <= hold1; data2 <= hold2;

(7)

[email protected], [email protected] 7 9. Pada Project Navigator, tambahkan source baru tipe VHDL module dengan nama

div_clk. Modul ini digunakan untuk melambatkan clock karena clock eksternal yang

digunakan pada board mempunyai frekuensi 50MHz. Ketikkan program VHDL berikut. Lakukan sintesis, bila tidak ada error, buatlah simbol skematiknya.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity div_clk is port(

clk : in std_logic; clk_out : out std_logic

);

end div_clk;

architecture Behavioral of div_clk is

signal cnt : std_logic_vector(23 downto 0) := (others=>'0');

begin

process(clk)

begin

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

cnt <= cnt + "01";

end if;

end process;

clk_out <= cnt(cnt'high);

end Behavioral;

10. Pada Project Navigation, buatlah source baru tipe skematik dengan nama toplevel. Gabungkan disain seperti pada gambar 6. Kemudian simpan.

(8)

11. Pada Project Navigation, tambahkan source baru tipe Implementation Constraints File dengan nama pin. Tempelkan pada modul toplevel. Ketikkan nomor pin berikut, kemudian simpan.

net clk loc=p88; net reset loc=p23; net start loc=p26; net stop loc=p78;

net tes loc=p59;

net msb<0> loc=p48; net msb<1> loc=p27; net msb<2> loc=p40; net msb<3> loc=p47; net msb<4> loc=p28; net msb<5> loc=p42; net msb<6> loc=p29; net msb<7> loc=p38; net lsb<0> loc=p56; net lsb<1> loc=p51; net lsb<2> loc=p65; net lsb<3> loc=p64; net lsb<4> loc=p76; net lsb<5> loc=p54; net lsb<6> loc=p50; net lsb<7> loc=p63;

12. Pada jendela proses, klik ganda Generate Programming File, bila tidak ada error akan dihasilkan file bit-stream dengan nama toplevel.bit.

Gambar 7. Tampilan seluruh disain pada jendela Project

13. Download file toplevel.bit pada target menggunakan GSLOAD. 14. Tes hasil disain pada board, apakah telah sesuai dengan disain.

(9)

[email protected], [email protected] 9

VII. Laporan sementara

Jawablah pertanyaan berikut sebagai laporan sementara :

1. Jelaskan kembali dengan singkat bagaimana proses alur pengembangan program menggunakan divais FPGA!

2. Berapakah jumlah slice yang diperlukan untuk membuat disain stopwatch tersebut? Anda dapat melihat hasil laporan implementasi pada Place & Route Report.

VIII. Laporan resmi

Jawablah pertanyaan berikut untuk bagian analisa pada laporan resmi: 1. Gambarkan disain top-level skematik yang dibuat.

2. Jelaskan kembali fungsi dan cara kerja dari masing-masing blok (modul) yang telah dibuat.

IX. Tambahan

Gambar

Gambar 1. Arsitektur dasar FPGA
Gambar 4. Modul mycounter
Gambar 5. Modul Counter99
Gambar 6. Modul toplevel skematik
+2

Referensi

Dokumen terkait

Selain jika besarnya ganti rugi sudah ditentukan oleh para pihak, ha1 tersebut disebutkan di dalam Pasal 1249 KUH perdatalo' atau jika undang-undang secara

• Permukiman kota terbentuk dengan adanya castra, yang selalu mempunyai bentuk lingkaran atau kotak hampir persegi, dengan 2 jalan utama yang saling menyilang dan bertemu di

Perlakuan GVT-0 maupun kurkumin menunjukkan aktivitas sitotoksik secara bermakna secara bermakna (P&lt;0.05) pada konsentrasi 10 µM. Pada konsentrasi tersebut, kedua

Saya dengan ini mengesahkan bahawa pemeriksaan telah dijalankan seperti diatas dan memperakukan maklumat tersebut adalah benar..

● Bagi kategori 3 dinding baru atau tambahan perlu mengikut bangunan warisan yang bersebelahan dengannya ataupun yang terdekat di dalam kawasan lingkungan

Apakah kesan-kesannya, sekiranya Laporan Cadangan Pemajuan (LCP) tidak dikemukakan semasa Permohonan Kebenaran Merancang, khususnya bagi tapak pembangunan yang mempunyai

 Kawasan sekeliling rumah terutama sekali hadapan rumah digalakkan dilandskap dengan pokok-pokok bunga bagi menambah keceriaan kawasan rumah di samping bertindak sebagai

Salah satu upaya yang dilakukan oleh pihak KSPPS TAMZIS Bina Utama cabang Kertek untuk menangani pembiayaan mudharabah bermasalah adalah pihak KSPPS TAMZIS Bina