0% menganggap dokumen ini bermanfaat (0 suara)
996 tayangan12 halaman

ModelSim Tutorial

1. Tutorial menjelaskan cara menggunakan simulator ModelSim untuk mensimulasikan desain HDL 2. Langkah-langkahnya meliputi membuat proyek baru, menambahkan file VHDL, kompilasi, simulasi, dan membuat file .do 3. Latihan memberikan contoh simulasi gerbang logika OR, MUX, penjumlah, dan pengurang

Diunggah oleh

prawkr
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
996 tayangan12 halaman

ModelSim Tutorial

1. Tutorial menjelaskan cara menggunakan simulator ModelSim untuk mensimulasikan desain HDL 2. Langkah-langkahnya meliputi membuat proyek baru, menambahkan file VHDL, kompilasi, simulasi, dan membuat file .do 3. Latihan memberikan contoh simulasi gerbang logika OR, MUX, penjumlah, dan pengurang

Diunggah oleh

prawkr
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Hari ke-2, session-4

Simulasi HDL menggunakan MODELSim

Tujuan : ModelSim adalah simulator yang umum dipakai, bekerja stand


alone dan terdapat pada platform Windows sehingga peserta diharapkan
memahami fungsi simulasi pada perancangan dengan HDL dan dapat
menggunakan simulator ModelSim .

Metoda : Mengikuti tutorial pada modul ini kemudian dilanjutkan dengan


mengerjakan latihan disain sederhana sesi latihan yang diberikan.

Tutorial
Pendahuluan
ModelSim adalah tool yang digunakan untuk mensimulasikan hasil
design HDL, dengan melakukan simulasi rancangan dapat terverifikasi
fungsinya.

Membuat Project Baru


Untuk memulai model sim kita harus membuka sebuah project, untuk
membuat project baru :
Pilih > File > New > Project

Setelah itu isilah nama project (Project Name) dengan Pelatihan_IC ,


lokasi project (Project Location) C:/Modeltech_6.0/pelatihan_IC, dan
nama library : work , kemudian klik OK. Jika direktori belum ada maka
akan muncul dialog box untuk membuat direktori baru klik OK.

Pusat Mikroelektronika ITB 1-12


Hari ke-2, session-4

Menambahkan file baru ke dalam project.


Kemudian akan muncul dialog box untuk menambahkan items kedalam
project, klik Create New File.

Setelah Create New File diklik akan muncul dialog box, isilah nama file
dengan and_behaviour , kemudian type file VHDL, folder file disimpan
pada Top Level.

Setelah itu pada workspace akan tampak file yang kita create,
kemudian ketikkan pada text editor text VHDL berikut:

1 library IEEE;
2 use IEEE.std_logic_1164.all;
3
4 entity and_behaviour is
5 port ( A : in std_logic;
6 B : in std_logic;
7 Y : out std_logic
8 );
9 end entity and_behaviour;
10
11 architecture behaviour of and_behaviour is
12 begin
13 Y <= A and B;
14 end behaviour;

Pada saat menambahkan file baru file belum di set sebagai type vhdl
maka kita harus menset dengan cara workspace set file

Pusat Mikroelektronika ITB 2-12


Hari ke-2, session-4

and_behaviour.vhd menjadi type VHDL dengan cara klik kanan file


and_behaviour.vhd pada workspace kemudian pilih properties.

Set compile to library pada work , kemudian type VHDL dengan


menekan button Change Type.

Kompilasi
Sebelum disimulasikan pada waveform editor file .vhd harus di-compile
terlebih dahulu. Untuk meng-compile file vhd klik compile button
jika kompilasi sukses maka akan muncul tanda ( ) hijau pada
workspace dan pada prompt transcript
# Compile of and_behaviour.vhd was successful.
Kompilasi juga dapat dilakukan pada prompt dengan perintah vcom
nama_file.

Simulasi

Setelah compile berhasil rancangan sudah dapat disimulasikan dengan


menggunakan waveform editor.

Pusat Mikroelektronika ITB 3-12


Hari ke-2, session-4

Untuk melakukan simulasi double-klik entity and_behaviour pada library


work.
Atau dapat juga dengan mengetikkan pada prompt:
VSIM 1> vsim work.and_behaviour

Untuk memulai simulasi dengan menampilkan wave simulator klik


kanan pada instance and_behaviour pada pop-up menu pilih Add >
Add to Wave maka waveform simulator akan muncul.

Pusat Mikroelektronika ITB 4-12


Hari ke-2, session-4

Membuat sinyal pada WaveForm Editor

Untuk memberikan nilai pada sinyal dilakukan dengan mengklik kanan


pada sinyal yang akan kita beri nilai, kemudian pilih force maka akan
muncul dialog box seperti dibawah. Isilah value dengan 0, kemudian
klik OK.

Lakukan hal yang sama seperti juga untuk sinyal b kemudian klik
–run . Sampai tahap ini kita telah mensimulasikan memberi input
nilai a dan b dengan 0 kemudian hasilnya akan bernilai 0, amati pada
waveform editor.
• Ulangi langkah diatas untuk nilai seperti tabel kebenaran AND.
• amati hasil simulasi apakah sesuai dengan tabel kebenaran?

a\b 0 1
0 0 0
1 0 1
Tabel kebenaran AND

Pusat Mikroelektronika ITB 5-12


Hari ke-2, session-4

Membuat .do file.

Kita dapat menyimpan hasil simulasi kita pada file berekstensi *.do
sehingga jika kita ingin melihat hasil simulasi kita kita dapat
memanggilnya tanpa mengulangi simulasi.

Untuk membuat file berekstensi do klik File> New > Source > Do
kemudian copy-kan command2 hasil simulasi kita pada text editor :
vsim work.and_behaviour
add wave sim:/and_behaviour/*
force -freeze sim:/and_behaviour/a 0 0
force -freeze sim:/and_behaviour/b 0 0
run
force -freeze sim:/and_behaviour/b 1 0
run
force -freeze sim:/and_behaviour/a 1 0
force -freeze sim:/and_behaviour/b 0 0
run
force -freeze sim:/and_behaviour/b 1 0
run

kemudian save pada file bernama and_behaviour.do

Menjalankan .do file.


Pada prompt ketik :
VSIM > do and_behaviour.do

Membuat TestBench.
file .do umumnya hanya jalan pada ModelSim, agar simulasi kita dapat
dijalankan pada tools lain kita harus membuat TestBench.
Pada waveform editor klik tombol restart atau ketik restart pada prompt.
Kemudian klik kanan sinyal a dan pilih create/modify Waveform.

Pusat Mikroelektronika ITB 6-12


Hari ke-2, session-4

Kemudian pada dialog box yang muncul pilih Constant untuk pattern;
Start Time : 0 dan End Time : 100 klik next, dan pada dialog berikutnya
isi value dengan 0 dan klik finish, maksudnya kita membuat sinyal
konstan bernilai 0 pada selang waktu 0 – 100 ns.

Ulangi langkah diatas untuk sinyal b, kemudian untuk periode


berikutnya kemudian klik tombol run -all.

Untuk membuat file testbench File> Export Waveform dan muncul


dialogbox pilih VHDL testbench dan File Name and_behaviour_tb
akhiri dengan klik ok.

Pusat Mikroelektronika ITB 7-12


Hari ke-2, session-4

LATIHAN

Latihan 1.
Simulasikan fungsi gerbang OR dengan langkah seperti pada tutorial
diatas.

a\b 0 1
0 0 0
1 0 1
Tabel kebenaran OR

Untuk menambah file .vhd baru kedalam project : File > Add to
Project > New File.
Untuk menambah file .vhd yang sudah ada kedalam project : File > Add to
Project > Existing File.

Latihan 2
Simulasikan rangkaian mux kemudian amatilah hasil simulasi.

a y
b

sel
Rangkaian mux

sel y
0 a
1 b

Hint : gunakan syntax when.


Input : a , b, sel.
Output : y.
Syntax : y <= a when sel = ‘0’ else b;

Latihan 3
Simulasikan rangkaian adder/penjumlahan dengan memberikan input
yang berbeda-beda kemudian amatilah hasil simulasi.
Hint :
Input : a , b : std_logic_vector( 7 downto 0).
Output : sum: std_logic_vector( 7 downto 0).
Syntax : sum <= a + b;
Latihan 4
Simulasikan rangkaian subtractor/pengurangan.
Hint : pada operasi biner pengurangan/subtractor dapat dilakukan
dengan penjumlahan dengan negasi.
Untuk negasi dapat dilakukan dengan 2’complemen yaitu menginvers
nilai kemudian menambahkan 1.

Pusat Mikroelektronika ITB 8-12


Hari ke-2, session-4

0101(b) 5(d)
0011(b) 3(d) -
0010(b) 2(d)

0101(b) 5(d)
1101(b) -3(d) +

0010(b) 2(d)
Hint :
Input : a , b : std_logic_vector( 7 downto 0).
Output : result : std_logic_vector( 7 downto 0).
Signal : b_compl : std_logic_vector( 7 downto 0)
Syntax :
b_compl <= (not a)+ "00000001";
result <= a + b_compl;

Latihan 5
Simulasikan rangkaian comparator/pembanding.

input result
A = B 1
A /= B 0

Hint : gunakan syntax if.


Input : a , b : std_logic_vector( 7 downto 0).
Output : result : std_logic_vector( 7 downto 0).
Syntax : y <= ' 1'when a = b else ' 0';

ModelSim

Pusat Mikroelektronika ITB 9-12


Hari ke-2, session-4

1 2
3

Bar simulasi. 10 5 6 7 8

9
1. workspace : berisi project, library, sim, dan file untuk mempermudah mengolah
desain.
2. objects : sinyal yang disimulasikan.
3. text editor : untuk mengedit text baik vhdl, verilog, do, tcl, dll.
4. prompt : command prompt untuk menginput command dengan text.
5. compile : tombol kompilasi.
6. compile –all: untuk meng-compile seluruh file pada project.
7. simulate : untuk mensimulasikan file yang telah dicompile.
8. break : untuk menghentikan simulasi.
9. restart : untuk mengulang simulasi.
10. run : untuk menjalankan simulasi selama periode tertera (100ns).

ENJOY HDL

Pusat Mikroelektronika ITB 10-12


Hari ke-2, session-4

Membuat interface dengan Tcl

ModelSim menyediakan fasilitas interface grafis untuk mempermudah


melakukan simulasi, untuk membuat interface grafis ini dilakukan
dengan menggunakan bahasa yang disebut Tcl.

buatlah file baru file>New>Source>Other kemudian isikan code Tcl


dibawah ini.

proc and_behaviour {} {
if {[winfo exists .behav]} {
destroy .behav}

toplevel .behav
wm geometry .behav 150x200+2+2
buat_kanvas .behav.i
pack .behav.i

create_run_buttons .behav.i}

proc create_run_buttons { obj } {


set rb $obj.a_0
button $rb -command "force -freeze /and_behaviour/a 0 0 " -text " 0 "
pack $rb
$obj.c create window 1c 2c -window $rb

set rb $obj.a_1
button $rb -command "force -freeze /and_behaviour/a 1 0 " -text " 1 "
pack $rb
$obj.c create window 1c 3c -window $rb

set rb $obj.b_0
button $rb -command "force -freeze /and_behaviour/b 0 0 " -text " 0 "
pack $rb
$obj.c create window 3c 2c -window $rb

set rb $obj.b_1
button $rb -command "force -freeze /and_behaviour/b 1 0 " -text " 1 "
pack $rb
$obj.c create window 3c 3c -window $rb

set rb $obj.run
button $rb -command "run" -text " Run "
pack $rb
$obj.c create window 2c 4c -window $rb
}

proc buat_kanvas { obj } {


frame $obj -height 20c -width 20c -bg gray -relief flat
canvas $obj.c -height 20c -width 20c -bg gray -relief flat
pack $obj.c -in $obj

when { /and_behaviour/a'event or /and_behaviour/b'event} {


catch {destroy .behav.i.rslt}
set disp [examine -value /and_behaviour/y]
label .behav.i.rslt -text $disp
.behav.i.c create window 2c 1c -window .behav.i.rslt}
}

Pusat Mikroelektronika ITB 11-12


Hari ke-2, session-4

Save file dengan nama tcl_interface.tcl kemudian load design


dilanjutkan load file Tcl dengan perintah source dan menjalankan file
tcl seperti berikut:
Modelsim> source tcl_interface.tcl
Modelsim> and_behaviour

Maka akan muncul window berikut:

Dengan interface diatas anda dapat mensimulasikan fungsi and yang


anda buat dengan lebih mudah, tombol sebelah kiri mengindikasikan
nilai a sedangkan tombol sebelah kanan nilai b kemudian untuk
menjalankan digunakan tombol run, cobalah klik tombol dan amati
hasilnya pada waveform.

Pusat Mikroelektronika ITB 12-12

Anda mungkin juga menyukai