Tutorial Xilinx Ise 12

18
2012 Jurusan Teknik Elektro dan Teknologi Informasi Fakultas Teknik Universitas Gadjah Mada [TUTORIAL XILINX ISE 12.1]

Transcript of Tutorial Xilinx Ise 12

Page 1: Tutorial Xilinx Ise 12

2012

Jurusan Teknik Elektro dan Teknologi Informasi Fakultas Teknik Universitas Gadjah Mada

[TUTORIAL XILINX ISE 12.1]

Page 2: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 2

A. Membuat project baru

Setelah menginstall Xilinx ISE Design Suite 12.1 anda bisa mulai membuka prgram ini melalui ikon pada desktop anda , maupun melalui Start > All Programs > Xilinx ISE Design Suite 12.1 > ISE Design Tools > Project Navigator.

Project Navigator Icon Selanjutnya, untuk membuat project baru langkah-langkahnya dalah sebagai berikut :

1. Pada Project Navigator , pilih File > New Project. Maka akan muncul “New Project Wizard”

2. Nama project pada contoh ini adalah “Uji” . Field “Location” menunjuk pada directory dimana project anda akan disimpan nanti.

3. Lalu klik Next.

Page 3: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 3

4. Tutorial ini akan menggunakan Spartan3E , jadi pastikan Field “Family” anda pilih Automototive Spartan3E.

5. Klik Next > Finish . Maka sekarang anda akan menjumpai project kosong seperti dibawah ini :

Page 4: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 4

B. Membuat rangkaian Full Adder 1 bit Setelah membuat sebuah project , sekarang kita bisa membuat sebuah desain schematic dasar dari rangkaian Full Adder . Namun, sebelum mulai membuat sebuah full adder 1 bit , terlebih dahulu kita harus mengetahui logic diagram dari full adder itu sendiri .

Diagram diatas mempunyai 3 input , dan 2 output. A dan B merupakan input data dari full adder ini. Sementara Cin merupakan input “carry” yang digunakan dalam perhitungan full adder. S dan Cout merupakan output dai full adder ini. Full Adder sendiri digunakan untuk menjumlahkan (add) bit-bit data. Sebuah Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out). Lebih jelasnya, perhatikan tabel kebenaran full adder 1 bit dibawah ini : Input Output Keterangan

A B Cin Cout S Dalam biner 0 0 0 0 0 0 + 0 + 0 = 00 1 0 0 0 1 1 + 0 + 0 = 01 0 1 0 0 1 0 + 1 + 0 = 01 1 1 0 1 0 1 + 1 + 0 = 10 0 0 1 0 1 0 + 0 + 1 = 01 1 0 1 1 0 1 + 0 + 1 = 10 0 1 1 1 0 0 + 1 + 1 = 10 1 1 1 1 1 1 + 1 + 1 = 11 Selanjutnya kita akan membuat diagram logika tersebut dalam xilinx. Pertama, kita harus membuta schematic baru. Untuk membuat Schematic baru, carannya, klik kanan “Uji” lalu “New Source”

Page 5: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 5

Maka akan muncul jendela seperti ini :

Langkah berikutnya adalah :

Page 6: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 6

1. Pilih Schematic lalu beri nama schematic anda , “fulladder” . Spasi tidak diijinkan pada pemberian nama file, jadi anda bisa menggunakan “_” maupun “.“ sebagai alternatif , maupun menggunakan CamelCase.

2. Klik Next > Finish 3. Setelah muncul sheet baru, sekarang saatnya menggambar logical desain kita, menggunakan

simbol-simbol yang sudah ada dalam program ini. 4. Anda bisa menambah simbol melalui tools > add symbol,

maupun pada bagian bawah, cari menu symbol .

Setelah anda klik menu symbol, dibagian atas akan muncul kolom berisi berbagai macam simbol. Simbol yang kita butuhkan untuk membuat full adder 1 bit adalah XOR, AND , dan OR , juga input output.

Page 7: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 7

5. Cari simbol XOR , bisa dengan memilih dari Categories > all symbols atau bisa juga melalui Symbol Name Filter, lalu kita ketikkan “xor” maka akan muncul symbol dengan nama dimulai dari kata “xor”.

Petunjuk :

Xor2 xor ini mempunyai 2 kaki sebagai inputya. Meng - xor kan 2 input. Xor3 xor ini mempunyai 3 kaki sebagai inputya.

6. Setelah mengambil simbol yang anda perlukan maka gambar akan seperti dibawha ini :

7. Digram logika diatas selanjutnya akan kita hubungkan menggunakan wire. Pada tools pilih add wire .

8. Klik pada ujung simbol, lalu drag sampai sepanjang kabel yang anda inginkan .

Wire yang sudah ditambahkan

9. Selanjutnya , setelah anda menambahkan semua wire yang diperlukan, jangan lupa tambahkan input outputnya, melalui . Tools > Add I/O Marker.

Page 8: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 8

10. Selanjutnya akan muncul simbol input pada ujung wire. Double klik simbol ini untuk mengganti nama inputnya.

11. Hasil akhir akan tampak seperti gambar dibawah ini :

12. Setelah diagram logika selesai kita buat, langkah berikutnya adalah melakukan simulasi.

Drag di bagian dekat ujung wire

Page 9: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 9

C. Melakukan Simulasi Simulasi merupakan proses 1. Buka project anda. 2. Klik meu Design .

3. Pada bagian bawah akan muncul Isim Simulator , lalu klik kanan pada Simulate

Beahvioral Model , 4. Selanjutnya akan muncul jendela baru yang merupakan jendela simulasi.

Bagian ini adalah bagianinput output dan wire. A.B.Cin adalah input , Cout dan S , adalah output, lalu XLN_xx merupakan wire yang ada . Untuk menunjuk wire mana yang merupakan XLXN_xx anda bisa melihat kembali diagram logika yang anda buat, lalu dekatkan kursor menuju wire anda , maka akan muncul tulisan “Net = XLXN_xx”

Kolom value merupakan kolom nilai bit data yang akan kita masukkan.

Page 10: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 10

1. Masukkan nilai bit data pada kolom value, dengan cara,klik kanan pada input yang dipilih , lalu pilih “Force Clock” .

Petunjuk : Force Constatnt digunakan untuk memberikan bit-bit yang constant pada input. Jadi dia hanya memproses bit-bit yang sudah anda tentukan. Force Clock digunakan untuk memberikan nilai input sesuai dengan clock. Contoh , pada tabel kebenaran Full Adder kita sebelumnya . Input Output

A B Cin Cout S 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 Bila kita amati dengan seksama, input A, B, dan Cin adalah sesuai clock dengan periode tertentu. Misalnya saja untuk A , dia menggunakan periode yang jauh lebih kecil daripada Cin. Semakin kecil periode clock nya, maka gelombang clock yang terjadi dalam setiap detiknya juga semakin banyak (frekuensi gelombang semakin besar). Pada setiap input, clock kita tentukan masing-masing perbandingnyanya dalah 2 X . Sehingga Nama A B Cin Periode Clock 4 8 16

Page 11: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 11

2. Setelah mengklik Force Clock maka akan muncu kotak dialog baru.

3. Masukkan nilai-nilai input A , B , dan Cin sesuai tabel kebenaran, yaitu masing-masing Leading Edge = 0 , dan Trailing Edge = 1 , lalu isi kan masing-masing periodenya. Lalu OK.

4. Langkah berikutnya adalah pada panel simulasi. Tekan tombol berbentuk segitiga untuk Run simulasi. Lalu tombol “II” untuk menghentikan simulasi.

5. Jalankan simulasi dan amati hasilnya. Kita bisa mengatur zoom dengan tombol zoom in dan zoom out.

Value Radix merupakan radix nilai yang akan kita berikan. Dalam contoh adalah biner. Namun dapat diganti dengan Decimal, maupun hexadecimal.

Leading Edge Value digunakan untuk mendeklarasikan nilai awal bit data. Sedangkan Trailing edge untuk bit setelahnya. Misal , untukmembuat clock kita : 010101 , maka isi Leading edge = 0 , lalu Trailing Edge = 1

Duty Cycle merupakan cycle tiap gelombang. Ketika duty cycle 50% berarti puncak dan lembah gelombang nya berukuran sama atau tidak ada delay.

Page 12: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 12

Garis berwarna kuning merupakan kursor yang menunjuk waktu tertentu. Bila kita amati , nilai Dari Input maupun output adalah 0 semua. Begitu juga dengan tampilan simulasi clocknya. Semua bernilai LOW. Step berikutnya yaitu menunjukkan input A menjadi bernilai 1 , sementara yang lain masih 0. Dan menghasilkan Cout = 0 dan S = 1 , atau bit keluaran 01B atau 1D .

Nah step berikutnya lagi, menunjukkan Input A = 0 , input B = 1 , dan Cin = 0 . (Lihat dari diagram clock diatas). Setelah semua nilai sesuai dengan tabel kebenaran , maka simulasi ini berarti sudah benar. Dan tidak ada kesalahan alam rangkaian diagram logika yang anda buat.

Page 13: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 13

D. Membuat Simbol sendiri

Untukmembuat sebuah simbol, kita memerlukan sebuah schematic yang sudah teruji dan tersimulasi secara benar. Maka, kita gunakan hasil simulasi kita sebelumnya. Yaitu fulladder.sch .

1. Kotak-i diagram logika fulladder , lalu klik Tools > Symbol wizard.

2. Berkutnya akan muncul dialog baru

Page 14: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 14

3. Lalu pilih Using Schematic dan pilih file sch kita. Lalu Next.

Side merupakan lokasi dimana pin input / output dilektakkan. Order adalah urutan pin, dari paling atas di setiap side. Selanjutnya klik Next. Maka akan muncul jendela option, yang bisa gunakan untuk mengubah font dsb.

4. Lalu klik next lagi , maka muncul

5. Lalu klik finish.Jadilah symbol anda. Anda bisa mengambil symbol anda di jendela simbol. (

Add symbol > pilih simbol. Maupun dengan mencari nya menggunakan Filter. Simbol ini bisa anda gunakan sepanjang anda memakai project yang sama. Bila anda ingin simbol ini selalu ada , anda bisa meng – copy file .sim nya ke direktory library Xilinx ISE 12 ini.

Page 15: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 15

E. Membuat Aritmetic Logic Unit (ALU) 8 bit dengan mem-paralelkan ALU 1 bit . Aritmetic Logic Unit atau ALU terdiri dari bagian Arithmetic , untuk menghitung (add , sub dsb) dan bagian Logic untuk logika (and , or). Disini tidak akan dijelaskan secara mendetail mengenai ALU, namun hanya akan di bahas konsep Bus Tap-ing untuk memparalel kan ALU 1 bit menjadi ALU 8 bit. Perlu diingat, konsep bus taping ini tidak hanya berlaku untuk ALU, namun bisa digunakan untuk simbol-simbol lain juga. 1. Ambil simbol ALU 1 bit ( harus anda buat terlebih dahulu).

2. Kita susun ALU 1 bit ini menurun sejumlah 8 ALU . Selanjutnya , pasang wire pada masing-masing Pin . Disinilah nanti akan terlihat perbedaan wire dan bus . Pada wire :

Pada Wire , ketika Pin wire (pada contoh : S0) diberi bit 1 , maka semua pin yang terhubung, akan diberi nilai 1. Jadi, pada ALU yang pertama maupun ke 2 semua mendapat input S0 =1

Page 16: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 16

3. Tambahkan Bus Tap . Sebelumnya, agar Bus Tap tidak terlalu dekat dengan simbol, kita bisa memperpanjang pin dengan menambahkan wire. Jangan lupa membuat wire baru yang akan di set sebagai Bus wire. Caranya: buat wire seperti gambar dibawah, lalu klik kanan pada wire , sehingga muncul dialog sebagai berikut :

Pemberian nama A(0:7) menunjukkan bahwa wire ini berupa bus wire , yang akan mempunyai bust tap sejumlah 8 , yang dimulai dari bus ke 0 sampai ke 7.

4. Selanjutnya untuk menambahkan bus tap, klik Tools > Add Bus Tap. Lalu klik bus wire yang sebelumnya kita buat. Pastikan panel bagian kiri telah berubah seperti gambar ini :

Pada gambar terlihat nama bus yang kita buat, juga nama Net nya. Nama net ini digunakan untuk menandai port dari tiap bus. Misal A(0) maka menunjukkan port ke 0 dari bus A. Sebaiknya, untuk memudahkan simulasi, pemberian nama PORT diurutkan, dari atas ke bawah, secara konsisten. Jangan diacak.

Bus wire

Page 17: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 17

Setelah mencocokan net name, saat nya klik pada ALU 1 pertama (ke 0) untuk di hungkan ke bus melalui PORT 0 . Net Name sudah A(0) ? Oke, tinggal diklik saja di ujung wire pin A pada ALU pertama.

Maka otomatis bus tap akan terhubung ke Bus A.

Konsep Bus adalah membagi jalur bagi tiap –tiap bit. Jadi bus akan mengambil bit dengan jumlah tertentu (sesuai jumlah net nya) lalu masing-masing port akan mengolah bit yang berbeda-beda. Berneda dengan konsep wire biasa, dimana tiap pin akan mengolah bit yang sama dengan pin lainnya. Perbedaan Bus dan wire biasa, akan tampak jelas pada gambar dibawah ini :

Dekatkan Bus Tap ke ujung PIN A , sampai muncul tanda seperti gambar disamping. Lalu klik.

Page 18: Tutorial Xilinx Ise 12

Tutorial Xilinx ISE 12.1

JTETI UGM 2012 Page 18

Perbedaan dengan wire biasa : pada Bus

Pada Wire

0 Data : 0010 1 0 0

Data : 0010 0 0 0 0

Setelah anda memahami konsep bus tap-ing saat nya nda memilih PIN mana yang akan diberi bus , dan mana yang akan diberi wire biasa. Hasil akhir gambar akan seperti ini :

Tutorial ini merupakan konsep-konsep dasar untuk menggunakan xilinx. Jadi, anda bisa pun bisa membaca tutorial dari Xilinx ISE 12 langsung, untuk lebih materi yang lebih dalam. Semoga tutorial ini bermanfaat. ^^

Simbol 0

Simbol 1

Simbol 2

Simbol 3

Simbol 0

Simbol 1

Simbol 2

Simbol 3