P. 1
vhdl

vhdl

|Views: 139|Likes:
Published by Muna Aulia Bintayeb

More info:

Published by: Muna Aulia Bintayeb on Jun 02, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

12/09/2013

pdf

text

original

VHDL

RANC. SISTEM ELEKTRONIKA
Oleh : ir.S O E T I K N O DOSEN -JTE ELEKTRONIKA

PENGANTAR
Tentang VHDL
VHDL adalah bahasa untuk mendeskripsikan hardware elektronika digital; singkatan dari VHSIC Hardware Description Language. VHDL merupakan standar IEEE/ANSI dan Departemen Pertahanan US. Pertama kali dipublikasikan oleh IEEE pada tahun 1987, dengan label IEEE Std 1076-1987. Bahasa ini telah mengalami modifikasi dan revisi, dengan versi terbaru berlabel IEEE Std 1076-1993.

Referensi
• A VHDL Primer: Revised Edition, “J. Bhasker, Prentice Hall Inc. (ISBN 0-13181447-8). • IEEE Standard VHDL Language Reference Manual, Std 1076-1993, IEEE, NY, 1993 • IEEE Standard Multivalue Logic System for VHDL Model Interoperability (Std_Logic_1164), Std 1164-1993, IEEE, 1993. • Bhasker, J., A Guide to VHDL Syntax, Englewood Cliffs, NJ: Prentice-Hall, 1995, ISBN 0-13-324351-6.

MATERI
            

Pengantar Materi 1 Materi 2 Materi 3 Materi 4 Materi 5 Materi 6 Materi 7 Materi 8 Materi 9 Materi 10 Materi 11 Materi 12

Pendahuluan Tutorial Elemen Dasar Bahasa Behavioral Modelin Dataflow Modeling Structural Modeling Generics dan Configurations Subprogram dan Overloading Packages dan Library Keistimewaan Lebih Lanjut Simulasi Model Contoh Hardware Modeling

Menyimpulkan konsep desain entity (entity design). Menjelaskan tentang kemampuan utama dari VHDL. .Materi 1 PENDAHULUAN OBYEK : Menjelaskan tentang sejarah VHDL.

• Internal view menyatakan fungsi atau struktur dari rancangan. • External view menyatakan interface dari rancangan. dari skala tingkat algoritma hingga tingkat gate. • Tiap external view dan salah satu darinya berkaitan dengan internal view. Suatu rancangan mungkin memiliki satu atau lebih internal view. dengan nama IEEE Std 1076-1987. .dapat digunakan sebagai exchange medium.mendukung hirarki. • Distandarisasi pertama kali oleh IEEE pada tahun 1987.Materi 2 PENDAHULUAN KEY POINTS : • VHDL singkatan dari VHSIC Hardware Description Language. • VHDL dapat digunakan untuk menggambarkan desain elektronika digital pada beberapa tingkat abstraksi. . . .test bench dapat dituliskan menggunakan bahasa ini. disebut dengan entity design. • Beberapa kemampuan VHDL antara lain : . Standar ini disebut IEEE Std 1164-1993. . • Desain digital dapat juga digambarkan dalam VHDL dengan menggunakan beberapa external view yang berbeda.tipe data baru dapat disebutkan. • Sembilan nilai logika paket. • VHDL pertama kali dikembangkan untuk Departemen Pertahanan US. • Desain digital digambarkan dalam VHDL dengan menggunakan external view dengan satu atau beberapa internal view. distandarisasi oleh IEEE untuk membantu di dalam interoperability model VHDL. disebut STD_LOGIC_1164. • Distandarisasi ulang pada tahun 1993. dengan nama IEEE Std 1076-1993.mendukung metodologi top-down dan bottom-up. yang secara bersama-sama merupakan representasi tertentu dari device.

Materi 1 PENDAHULUAN Self-Test Excercise : 1. Apakah kelebihan VHDL yang dapat digunakan untuk menggambarkan parameter desain ? 4. Dapatkah driver dan monitor dituliskan menggunakan VHDL ? 6. Dapatkah timing digambarkan dalam VHDL ? 5. Hal apakah yang menjadi latar belakang pengembangan VHDL ? 3. Dapatkah suatu desain memiliki lebih dari satu internal view ? . Apakah tiga jenis style deskripsi dasar yang didukung oleh VHDL ? 8. Pada tahun berapa VHDL pertama kali distandarisasi oleh IEEE ? 2. Hal apakah yang menjadi latar belakang pengembangan IEEE Std 1164-1993 ? 7.

. Mendemonstrasikan proses kompilasi dan simulasi dari VHDL. dataflow dan structure).Materi 2 TUTORIAL OBYEK : Mendiskusikan sifat/ciri pemodelan utama VHDL (style sequential behavior.

architecture body berisi satu set komponen yang saling berhubungan. dataflow. • Package declaration dan package body berisi kumpulan deklarasi sejenis yang dapat dibagi dengan unit-unit desain yang berbeda. • Ekspresi pada sisi sebelah kanan dari concurrent signal assignment dikomputasi setiap ada event pada signal yang digunakan. • Configuration declaration menyatakan hirarki dari rancangan. • Entity pada kondisi minimal. tipe port dan mode port juga disebutkan. jika tidak terdapat delay. delta delay diasumsikan. • Unit-unit desain untuk menggambarkan entity: entity declaration. • Komponen dinyatakan menggunakan component declaration dan dihubungkan menggunakan signal. structure atau mixed. . • Port adalah tempat dimana sinyal dapat berhubungan dengan lingkungan luar. • Untuk setiap port yang dinyatakan dalam entity declaration. kumpulan pernyataan sekuensial digambarkan dalam process declaration. • Entity declaration menyatakan interface dari entity. configuration declaration. • Pernyataan concurrent signal assignment digunakan untuk menggambarkan fungsi dari entity dengan menggunakan dataflow style. • Pada model structure.Materi 2 KEY POINTS : TUTORIAL • Entity saat digunakan dalam entity lainnya menjadi komponen bagi entity tersebut. dan package body. package declaration. yang dieksekusi secara sekuensial dalam zero time. architecture body. • Pada model behavioral. Nilai komputasi selanjutnya dihubungkan ke target (sisi sebelah kiri) setelah delay tertentu. terdiri dari satu entity declaration dan satu architecture body. • Architecture body menggambarkan internal view dari entity dengan menggunakan style sequential behavior.

. pernyataan process merupakan loop tak terbatas selama inisialisasi. …. • Configuration declaration digunakan untuk menyebutkan hirarki dari entity. • Jika pernyataan process mempunyai pernyataan wait. Kemudian ditunda jika terdapat sensitivity list atau pernyataan wait. • Package body selalu dihubungkan dengan package declaration. Signal tidak dapat dinyatakan dalam proses atau subprogram. • Pernyataan process dieksekusi ulang jika terdapat event dalam signal manapun pada sensitivity list. • Package declaration digunakan untuk menyimpan kumpulan deklarasi yang sering dipakai. • Variable dapat dinyatakan dalam proses dan subprogram. proses akan meresume eksekusi setelah kondisi tunda dipenuhi atau interval time-out dilewati. Jika keduanya tidak ada. LANJUTAN . Hal ini menyatakan architecture body yang dipilih serta kumpulan komponen di dalamnya ke entity yang terletak pada library desain. • Value dapat diberikan secara langsung ke variable. • VHDL analyzer mengkompilasi file desain (berisi satu atau lebih unit desain) dan menyimpan setiap unit desain hasil kompilasinya dalam library yang dinyatakan sebagai working library.Materi 2 TUTORIAL KEY POINTS : • Pernyataan process dieksekusi pertama kali saat fase inisialisasi dari simulasi. • Ketiga model dari style dapat digabungkan dalam model tunggal. sementara jika akan diberikan ke suatu signal harus setelah delay tertentu. Sangat penting jika package declaration yang berhubungan berisi constant declaration yang ditangguhkan atau subprogram.

STD_LOGIC. Keduanya terletak pada library desain STD. • Package yang ada: STANDARD dan TEXTIO. …. Tipe-tipe dasarnya adalah STD_ULOGIC. pasangan entity-architecture top-level atau nama konfigurasi disebutkan.. simulation.Materi 2 TUTORIAL KEY POINTS : • Library desain merupakan implementasi khusus tempat penyimpanan dalam host environment dimana deskripsi yang telah dikompilasi dapat disimpan. LANJUTAN . • Selama fase inisialisasi setiap proses dieksekusi satu kali dan semua sinyal diberi harga awal. jadi bukan menjadi bagian dari bahasa. STD ULOGIC VECTOR dan STD LOGIC VECTOR. • Satu atau lebih library desain yang ada harus memiliki nama logika. • Tiga step simulasi: elaboration. • Simulasi selanjutnya didasarkan pada waktu dari event selanjutnya. • Untuk simulasinya. • STD_LOGIC_1164 terletak pada library desain dengan nama IEEE. initialization. dimana pemetaannya pada lokasi fisik tertentu dinyatakan secara eksternal dalam host environment.

Apakah shared variable itu ? 6. Dua hal apakah yang dapat menyebabkan tertundanya suatu proses ? 8. tulislah model VHDL untuk logika exclusive-or. Unit desain yang mana yang digunakan untuk menggambarkan fungsi internal atau struktur dari desain ? 3. Sebutkan lima macam unit desain. Dengan menggunakan deskripsi style dataflow. Apakah working library itu ? 10. Pada fase manakah proses dieksekusi satu kali dari suatu simulasi ? 11. Dapatkah deklarasi component ditempatkan pada package declaration ? 9. Dapatkah suatu variabel dinyatakan di luar proses ? 5. 2. . Delay diberikan sebagai berikut. Bagaimanakah port komponen dan sinyal dihubungkan ? 7.Materi 2 TUTORIAL Self-Test Excercise : 1. Pernyataan concurrent primer manakah yang digunakan untuk menggambarkan style structural dari suatu desain ? 4.

Materi 2 TUTORIAL Self-Test Excercise : 12. ABAR: out BIT). B_ABAR <= ABAR and B. architecture TEST of EX_OR is signal B_ABAR: BIT. „1‟. begin ABAR <= not A. Perhatikan kode berikut ini. Entity EX_OR is port (A: in BIT.. MVL. Mengapa terdapat error pada akhir pernyataan concurrent signal assignment ? …. „0‟. end. „Z‟. LANJUTAN . end. Tuliskan package yang menyatakan 4 nilai tipe enumerasi. Di dalam package juga dituliskan fungsi konversi nilai MVL ke nilai BIT. dengan nilai „X‟. 13.

Materi 3 ELEMEN DASAR BAHASA OBYEK : Menerangkan dasar dari bahasa VHDL Menjelaskan: type. . operation dan identifiers.

. access. multiplying dan miscellaneous operator. physical. • Klasifikasi data object: constant. variable dan file. • Type adalah kumpulan nilai dimana operasi tertentu diijinkan. • Extended identifier ditulis diantara backslash serta merupakan case sensitive. • Comment dapat dimulai dimana saja pada suatu baris. file. dan incomplete. • Keyword merupakan reserved word dan tidak dapat digunakan sebagai identifier. record. • Literal adalah suatu nilai dari type. write-only atau append-only. • Jenis-jenis type: enumeration. shift. Untuk file. readonly. tipe serta harga awalnya jika ada. array. • Object declaration menyatakan klasifikasi data object. • Subtype adalah type dengan suatu constraint. integer.Materi 3 ELEMEN DASAR BAHASA KEY POINTS : • Dua jenis identifier: basic identifier dan extended identifier. adding. object declaration menyatakan jenis file. signal. relational. • Predefined operator yang ada: logical. diawali dengan dua garis putus-putus serta berakhir pada akhir baris. floating point.

extended identifier. 6. COT dari type STD LOGIC_VECTOR dengan ukuran 5 bit. 13. dan inisialisasi setiap elemen dalam array dengan „0‟. Nyatakanlah variable IS_FOUND dari type BOOLEAN dengan nilai awal FALSE. 10. Type manakah yang merupakan composite type ? Apakah extended identifier \wait\ berbeda dengan keyword wait ? Apakah based literal 2#101_110# suatu integer literal ? Nomor berapakah posisi dari integer literal 30 dalam predifined type INTEGER ? Nomor berapakah posisi dari literal 0. 11. ARG.0034 Amp dalam type CURRENT yang didefinisikan pada hal 39 dari bacaan ? Apakah operasi yang diijinkan pada type juga sama halnya dengan pada semua subtype-nya ? Apakah unconstrained array type itu ? Apakah “0010” suatu literal dari type BIT_VECTOR atau STRING ? Manakah dari berikut ini yang merupakan basic identifier. 7. 9. . CNT. 8.8 ns. Nyatakanlah 3 signals.Materi 3 ELEMEN DASAR BAHASA Self-Test Excercise : 1. 5. 12. 2. Nyatakanlah type enumeration CHAR2INT dengan range karakter dari „0‟ sampai dengan „9‟. 3. keyword dan illegal identifier: _wait CL_CK \-----------\ ABCDeF _TEMP \?______\ \block\ 1 hot CONST_ _01 A+1 ACK report end WHY NOT ME Nyatakanlah constant STROBE dari type TIME dengan nilai 1. 4.

nomor jaminan sosial dan umur. Nyatakanlah array tiga dimensi. 23. Nyatakanlah signal untuk type ini. Nyatakanlah variable dari tipe ini dan inisialisasi dengan nilai 0. Tentukanlah tipe integer dengan nilai antara -15 hingga +15. Setting semua elemennya ke „1‟. Apakah operator + dan . B”0011” ? 16. tiap elemen merupakan type BOOLEAN. 21. Tentukan nilai (“JBOND”. dan Volt. Jenis literal apakah berikut ini: 23. apakah nilai awal dari signal ketika simulasi dimulai ? 17.Materi 3 ELEMEN DASAR BAHASA Self-Test Excercise : 14. 23) ke signal. Nyatakanlah type physical VOLTAGE dengan range 0 hingga 10_000. Apakah type kembali untuk semua operator predefined relational ? …. 15. Apakah perbedaan antara array dengan record ? 18.telah ditentukan pada type BIT_VECTOR ? 25. 8#34_72#. Nyatakanlah variable untuk type ini. LANJUTAN . Nyatakanlah record yang dapat menahan informasi tentang nama personal. Berapakah nilai awal untuk setiap elemen dalam array ? 20. 8 x 16 x 1024. Sub-unitnya mV. Kemudian sebutkan dimensinya dalam pernyataan untuk variable. Dapatkah array multi-dimensi menjadi constrained parsial ? 22. “001-02-0123”. Nyatakanlah array tiga dimensi di atas sebagai unconstrained array. Jika tidak disebutkan nilai awal pada signal declaration. “1101”. Apakah perbedaan antara type unconstrained array dan constrained array ? Pada kondisi bagaimanakah lebih diinginkan menggunakan type unconstrained array dibandingkan type constrained array ? 19. 24. kecuali bit 14 dan bit 6 yang harus diset ke „0‟. Nyatakanlah signal untuk type ini.. Nyatakanlah constant dari type BIT_VECTOR dengan range indeks dari 0 sampai 24.

Materi 3

ELEMEN DASAR BAHASA
Self-Test Excercise :
26. Sebutkan empat macam type predefined dan satu macam subtype predefined. 27. Nyatakanlahtype record COMPLEX dengan dua elemen, REAL_FLD dan IMAG_FLD. Nyatakanlah signal untuk type ini dan inisialisasi dengan nilai (2,4). Bagaimanakah elemen dari signal record diakses ? 28. Type declaration yang diberikan : type MLV is („X‟, „0‟, „1‟, „Z‟); Nyatakanlah subtype dengan nilai hanya „X‟, „0‟, „1‟.

….. LANJUTAN

Materi 4

BEHAVIORAL MODELING
OBYEK : Ž Mendiskusikan model behavioral style yang mendukung VHDL. Ž Mendemonstrasikan pengertian hal yang membuat process
statement dieksekusi dan bagaimana sequential statement di dalamnya dieksekusi. Menjelaskan variasi sequential statement yang dapat ditulis di dalam process statement termasuk - if statement - case statement - loop statement - assertion statement - wait statement, dsb.

Ž

Materi 4

BEHAVIORAL MODELING
KEY POINTS :
• • • • • • • • • • • • • • • • • • Process statement memodelkan behavioral sekuensial. Process statement adalah pernyataan concurrent yang ada di dalam architecture body. Pernyataan sekuensial berada dalam process statement . Contoh dari pernyataan sekuensial: if statement, case statement, dan variable assigment statement. Process statement dapat berupa state tertunda atau yang sedang dieksekusi. Penangguhan process statement terjadi ketika terdapat sensitivity list atau wait statement. Jika terdapat event (perubahan nilai) pada signal dalam sensitivity list, maka proses dijalankan. Setelah pernyataan terakhir dijalankan di dalam proses maka proses akan ditangguhkan. Jika di dalam proses terdapat sensitivity list, maka tidak mempunyai wait statement. Jika dalam proses terdapat satu atau lebih wait statement, maka proses tidak dapat mempunyai sensitivity list. Jika process statement mempunyai wait statement, maka proses ditangguhkan ketika wait statement dijalankan. Ketika kondisi tunda sudah terpenuhi atau time out terjadi, maka proses akan menjalankan pernyataan selanjutnya. Setiap proses pertama kali dijalankan diawali fase inisialisasi pada simulasi. Pernyataan variabel di dalam proses menyimpan nilai saat proses penangguhan. Signal tidak dapat dinyatakan dalam proses. Variabel selalu mempunyai nilai instan, sedangkan sinyal selalu ditandai dengan nilai setelah delay. Proses selalu dijalankan dalam waktu nol. Exit statement atau next statement hanya muncul pada loop statement. Terdapat dua macam delay yang digunakan dalam penentuan signal: inertial dan transport. Nilai defaultnya adalah inertial. Architecture body dapat berisi banyak proses. Proses tunda adalah salah satu yang dieksekusi terakhir dari semua delta waktu simulasi yang diberikan.

8. buatlah sinyal gelombang clock dengan perioda off 5 nanodetik dan perioda on 10 nanodetik ! Dapatkah pernyataan next menyebabkan sebuah loop untuk keluar ? Pada model delay inersia. 5. 2. Pada sebuah penyerahan sinyal (signal assignment) beserta sinyal gelombang berlipat. 3. 4. Model delay apakah yang digunakan pada penyerahan sinyal (signal assignment) jika tidak tersedia keyword (inersia atau transpor) secara eksplisit ? 13. 11. 7. 9. Benar atau salah ? 14. ? 12. hargaharga delay sesuai dengan yang kita inginkan. Dapatkah nilai keluaran port dibaca ? Sebutkan tiga pernyataan concurrent yang terdapat dalam architecture body ? Dapatkah sebuah variabel atau sinyal digunakan untuk melewatkan informasi antara dua proses ? Berapa banyak architecture body yang dapat dimiliki oleh sebuah entity ? Apakah yang dapat menyebabkan sebuah proses tidak berjalan (tidak berfungsi) ? Kapankah sebuah proses pertama kali dieksekusi ? Dapatkah variabel-variabel yang dideklarasikan dalam sebuah proses mempertahankan harganya ketika proses berhenti (tidak berjalan) ? Apakah perbedaan antara variable assignment dan signal assignment ? Dengan menggunakan pernyataan wait. Properti khusus apakah yang dimiliki proses ? . apakah batas rejeksi pulsa jika ia tidak dispesifikasikan secara eksplisit 10. 6.Materi 4 BEHAVIORAL MODELING Self-Test Excercise : 1.

17. Tulislah pernyataan masukan (asserted statement) yang memeriksa bahwa sinyal CLK tidak pernah mempunyai harga 'Z'.. Tulislah model VHDL dengan menggunakan pernyataan proses state machine berikut ini : Masukan (GAK) Kondisi Sekarang Kondisi berikutnya Keluaran (ZUK) 0 NO_ONE NO_ONE 0 1 NO_ONE ONE_ONE 0 0 ONE_ONE NO_ONE 0 1 ONE_ONE TWO_ONE 0 0 TWO_ONE NO_ONE 0 1 TWO_ONE THREE_ONE 1 0 THREE_ONE NO_ONE 0 1 THREE_ONE THREE_ONE 1 16.Materi 4 BEHAVIORAL MODELING Self-Test Excercise : 15. Jelaskan sifat dari flip flop JK menggunakan pernyataan proses ! 19. Apakah J pada pernyataan loop dibawah ini perlu untuk dideklarasikan ? for J in1 to 10 loop … end loop. Apakah default dari tingkat kekerasan (severity level) jika tidak terdapat ekspresi kekerasan pada pernyataan yang dimasukkan ? 18. LANJUTAN . ….

'X'. signal WIN: STD_ULOGIC. NE) 21. EQ. LANJUTAN . Data masukan hanya diperiksa jika sinyal masukan (input) DATA_READY adalah '1'. Perlihatkan sinyal gelombang pada sinyal WIN setelah pernyataan proses mengeksekusi type STD_ULOGIC is ('U'. GT..'L'. …. Jika jumlah 1 melebihi jumlah 0.'1'.'W'. GE. LE. jelaskan sifat dari rangkaian komparator yang membandingkan dua sinyal WUMP dan LUMP.Materi 4 BEHAVIORAL MODELING Self-Test Excercise : 20.'0'. 23. Menggunakan pernyataan proses.'Z'. keluaran menjadi benar. … process begin WIN <= transport '1' after 7 ns WIN <= transport '0' after 22 ns WIN <= transport 'Z' after 18 ns wait. Masukannya adalah vektor 16-bit. 22.'H'. Jelaskan sifat dari rangkaian mayoritas. Sinyal kontrol adalah bertipe enumerasi: type COMP_CTRL is (LT. end process.'-'). Data pada sinyal masukan diperiksa pada setiap tepi naik dari Clock. Jelaskan sifat dari rangkaian yang menset keluaran SAM ke '1' jika pola 1101 ditemukan pada sinyal masukan GUS. Perlihatkan dua pendekatan untuk mendeteksi tepi clock ! 24.

. WIN <= 'Z' after 30 ns. WIN <= reject 15 ns inertial '1' after 25 ns. end process. wait. 'X' after 18 ns. '0' after 31 ns. WIN <= transport 'Z' after 15 ns. wait. '0' after 30 ns. end process. 26.Materi 4 BEHAVIORAL MODELING Self-Test Excercise : 25. …. process begin WIN <= transport '0' after 6 ns. Perlihatkan gelombang pada sinyal WIN setelah pernyataan proses berikut dieksekusi. '0' after 22 ns. '1' after 12 ns. Perlihatkan gelombang pada sinyal WIN apabila pernyataan proses berikut dieksekusi process begin WIN <= reject 3 ns inertial '0' after 12 ns. Sinyal WIN merupakan tipe yang sama seperti pada pertanyaan sebelumnya. LANJUTAN . '1' after 30 ns.

. • Menggunakan pernyataan concurrent signal dan block.Materi 5 DATAFLOW MODELING OBYEK : • Mendemonstrasikan dan mengerti tentang model dataflow .

Jika sinyal memiliki lebih dari satu driver. Setiap concurrent signal assignment membuat driver untuk sinyal yang dikendalikannya. memiliki sifat yang sama dengan case statement. Concurrent signal assignment dapat dituliskan dalam architecture body pada urutan manapun. Pernyataan concurrent signal assignment dieksekusi ketika terdapat event pada signal pada sisi sebelah kanan dari ekspresi gelombang dalam pernyataan assignment. tidak berdasarkan urutan sekuensialnya pada architecture body. • Pernyataan concurrent signal assignment mempunyai syntax yang sama dengan pernyataan • • • • • • • • • signal assignment yang terdapat pada pernyataan proses. Pernyataan signal assignment kondisional juga merupakan pernyataan serempak. Pernyataan signal assignment terpilih juga merupakan pernyataan serempak. Sifatnya hampir sama dengan if statement pada proses. Pernyataan dieksekusi berdasarkan event yang muncul pada signal. maka fungsi resolusi dibutuhkan. Fungsi resolusi dapat ditempatkan dalam pendeklarasian sinyal atau subtype. fungsi dipanggil setiap kali driver yang bersesuaian aktif.Materi 5 DATAFLOW MODELING KEY POINTS : • Dataflow behavior digambarkan dengan menggunakan pernyataan concurrent signal assignment. Fungsi resolusi didefinisikan oleh pemakai. Nilai yang tidak dapat dipengaruhi dapat dipergunakan untuk sinyal untuk mengidentifikasikan tidak ada perubahan pada harga driver. Tetapi pernyataan concurrent signal assignment tidak dapat diletakkan dalam proses atau subprogram. .

Sehingga. Juga dipakai untuk me-nonfungsikan driver. pernyataan ini dieksekusi melalui kontrol guard expression.. Dapat digunakan untuk mendeskripsikan desain • • pada hirarki. …. yang terjadi ketika terdapat event pada signal yang digunakan pada ekspresi assert.Materi 5 DATAFLOW MODELING KEY POINTS : • Pernyataan block adalah pernyataan concurrent. Pernyataan concurrent assertion memiliki syntax yang sama dengan pernyataan sequential assertion. Pernyataan concurrent signal assignment dalam pernyataan blok dapat memiliki keyword guard. LANJUTAN . Perbedaaanya terletak pada waktu eksekusi concurrent assertion.

Lihatlah Fragmen kode berikut. Apakah sinyal implisit GUARD ? 3. Dapatkah pernyataan blok memiliki pernyataan proses ? 6. .Materi 5 DATAFLOW MODELING Self-Test Excercise : 1. Dapatkah variabel dan sinyal dideklarasikan dalam blok bagian deklaratif ? 5. pernyataan apa yang dipengaruhi ini ? 4. Sinyal manakah yang memerlukan fungsi resolusi ? architecture … begin P1: process (…) begin ACK <= … RDY <= … … RDY <= … end process. Tulislah pernyataan masukan konkuren (concurrent assertion statement) yang memastikan sinyal STATE tidak pernah mempunyai literal enumerasi TWO_ONE dan THREE_ONE ! 2. RESET <= … end. Jika terdapat guard expression dalam pernyataan blok. P2: process (…) begin RESET <= … ACK <= … end process.

1.2 ! D Q CK Q Gambar 5. LANJUTAN . Tulislah model aliran data untuk flip – flop tipe D latch seperti gambar 5. Tulislah model dataflow untuk rangkaian multiplekser 4 X 1 seperti gambar 5. Apakah perbedaan kunci antara pernyataan concurrent signal assignment dan sequential signal assignment ? 8. Flip – flop tipe D latch ….. Rangkaian multiplekser 4 X 1 9.2.Materi 5 DATAFLOW MODELING Self-Test Excercise : 7.1 ! A 3ns B 3ns 5ns Z C 3ns D 3ns S0 S1 1ns 1ns Gambar 5.

dan pernyataan penandaan sinyal konkuren.. 'Z' after 12 ns. Kapankah pernyataan concurrent di atas dieksekusi ? 16. '1' after 22 ns: 15. 0 2 5 10 15 16 17 22 23 27 30 ns RAW <= transport CLEAR after 3 ns SAW <= reject 4 ns inertial CLEAR after 5 ns …. dari tipe MVL didrive berlipat dan fungsi resolusi PULL_UP digunakan untuk mengembalikan harga – harga driver sinyal. Berapa banyak parameter yang dimiliki fungsi resolusi ? 11. yaitu gelombang berikut pada sinyal CLEAR. 'Z'). '0'. '0' after 15 ns. perlihatkan bagaimana fungsi resolusi dihubungkan dengan sinyal ! 14. '1'. 13. Jika sebuah sinyal RX. gambarlah gelombang – gelombang pada sinyal RAW dan SAW. signal SEQUENCE: LOGIC_4: SEQUENCE <= '1' after 5 ns. Kapan pernyataan masukan konkuren berikut ini dieksekusi ? assert NOW > 100 ns report "Ooops!" severity NOTE. LANJUTAN . Dari gambar yang sudah ada.Materi 5 DATAFLOW MODELING Self-Test Excercise : 10. Apakah yang dimaksud dengan pernyataan dibawah ini ? BUD <= ACK <= KIT 12. Gambar gelombang yang dihasilkan oleh eksekusi dari sinyal concurrent berikut ! type LOGIC_4 is ('X'.

Gunakanlah penandaan sinyal yang dipilih (selected signal assignment) untuk menjelaskan multiplekser 4 ke 1 ? 18. begin for K in DRIVERS RANGE loop SUM := SUM + DRIVERS (K). 5 after 5 ns. Dari fungsi resolusi berikut dan dua driver untuk POP.Berikut ini pernyataan penandaan sinyal dua sinyal konkuren : POP <= 1 after 2 ns. perlihatkan harga efektif pada sinyal POP.Materi 5 DATAFLOW MODELING Self-Test Excercise : 17. … signal POP: ADD_UP INTEGER := 0. … ---. …. end ADD_UP. 1 after 12 ns. 2 after 11 ns. 3 after 7 ns. … POP <= 11 after 4 ns. end loop return SUM.. LANJUTAN . 6 after 8 ns. … type INT_ARRAY is array (NATURAL range <>) of INTEGER … function ADD_UP (DRIVERS : INT_ARRAY) return INTEGER is variable SUM: INTEGER :=0.

. • Mendiskusikan bagaimana sinyal digunakan untuk menghubungkan component yang berbeda. • Mendeskripsikan pernyataan dan deklarasi component.Materi 6 STRUCTURAL MODELING OBYEK : • Penulisan model struktural.

Slices. Sebelum contoh komponen dibuat harus dideklarasikan menggunakan deklarasi komponen. nama. port menjadi port input. dimana menjadi nilai port yang terbuka selama simulasi. keterangan portportnya. . arrays atau element dari array dapat dipergunakan pada hubungan sinyal dengan port komponen. Port komponen dapat dihubungkan dengan sinyal menggunakan posisi atau nama hubungan. Sinyal yang dihubungkan ke port output komponen menyatakan sumber tunggal bagi sinyal tersebut. Komponen-komponen saling berhubungan dengan menggunakan sinyal. kemudian port harus diberi nilai eksplisit awal. keyword open dapat dipergunakan. mode dan type yang dipakai. Deklarasi komponen meliputi deklarasi template dari komponen.Materi 6 STRUCTURAL MODELING KEY POINTS : • • • • • • • • Pernyataan component instantiation adalah pernyataan serempak (concurrent). Jika port komponen tidak digunakan.

6. signal SAM.1 ! Tulislah model struktural untul flip – flop tipe D-latch seperti gambar 5. Dapatkah pernyataan component instantiation disertakan dalam pernyataan blok ? Tulislah model struktural untuk rangkaian multiplekser 4 X 1 seperti gambar 5. Error apakah yang terdapat pada kode fragmen VHDL berikut ? … component AND3 port (A. Z: out_BIT). end component. B. … TAT: AND3 port map (open. SAM. PAM. 5. 7. 4. LAM).2 ! Dapatkah deklarasi komponen disertakan dalam deklarasi package ? Dapatkah kata kunci open digunakan hanya untuk port input ? Jenis port aktual manakah yang dapat menjadi ekspresi ? Jika sebuah sinyal dihubungkan ke port keluaran lebih dari satu kali.Materi 6 STRUCTURAL MODELING Self-Test Excercise : 1. C: in_BIT. dimanakah fungsi resolusi harus dispesifikasikan ? 8. 2. . LAM: BIT. 3. PAM.

Menggabungkan komponen ke dalam entity atau configuration. Mendiskusikan generic dan penggunaannya untuk melewatkan informasi statis.Materi 7 GENERIC DAN CONFIGURATION OBYEK : Mendemonstrasikan pemakaian pasangan entity-architecture. .

seperti dalam map generic pada statement component instantiation. Configuration dapat menyatakan hubungan antara komponen dan pasangan entity-architecture. atau generate statement. Nilai generic dan hubungan port antara komponen dan entity dapat dinyatakan sebagai bagian dari ikatan informasi yang menggunakan peta generic dan peta portnya. entity atau configuration dapat juga digunakan langsung. Pemisalan berbeda dari komponen yang sama atau pemisalan dari komponen yang berbeda dapat digabungkan dalam entity yang sama. Configuration dapat disebutkan dengan menggunakan spesifikasi atau deklarasi configuration. pemisalan komponen. Dalam architecture body. Fungsi konversi dapat digunakan jika tipe dari port komponen tidak sesuai dengan tipe port entity. Port dan nama generic harus mempunyai nama yang sesuai. Ikatan antara port dan generic dapat ditunda. dalam deklarasi generic dari deklarasi komponen. Jika pemisalan dari komponen berada dalam architecture body dan tidak ada ikatan diantaranya. • • • • • • • • • • . Spesifikasi configuration tidak perlu menyebutkan semua ikatan. jadi dapat dikompilasi terpisah. Pernyataan configuration adalah unit desain yang terpisah. Dapat juga digunakan untuk menyebutkan hirarki yang lengkap. informasi dapat dinyatakan pada deklarasi configuration. Ini juga menyebutkan contoh ke pasangan entity-architecture. Entity dengan nama sama seperti komponen mesti ditempatkan pada working library. dan digunakan untuk menyebutkan kumpulan komponen ke pasangan entity-architecture. maka aturan default dipergunakan. Spesifikasi configuration disebutkan dalam architecture body. • Nilai dari generic dapat diletakkan pada beberapa tempat. dalam spesifikasi konfigurasi. block.Materi 7 GENERIC DAN CONFIGURATION KEY POINTS : • Generic dipergunakan untuk melewatkan informasi konstan ke entity. atau dalam deklarasi generic pada deklarasi entity.

Dapatkah ikatan dari suatu pemisalan komponen hanya dispesifikasikan untuk pasangan entityarchitecture ? 9. Tulislah sebuah deklarasi configuration untuk entity flip – flop tipe D-latch yang dijelaskan pada bahasan sebelumnya ! 8. Tulislah satu contoh dari N masukan generic gerbang XOR ! 3. Dapatkah satu generic menjadi satu type ? 2. Manakah dari hal–hal berikut dapat digunakan untuk menyebutkan ikatan dari hierarki lengkap : Sebuah spesifikasi konfigurasi atau. Kapankah fungsi–fungsi konversi diperlukan ? . Perlihatkan sebuah deklarasi komponen dari N masukan generic gerbang XOR dan perlihatkan bagaimana generic dapat dilewatkan dengan menggunakan peta generic pemisalan komponen ? 4. sebuah deklarasi konfigurasi 6. Dapatkah nama–nama port berbeda dalam satu komponen dan satu entity yang terbatas ? 5. Tulislah spesifikasi konfigurasi untuk entiti rangkaian MUX 4 X 1 yang dijelaskan pada bahasan sebelumnya ! 7.Materi 7 GENERIC DAN CONFIGURATION Self-Test Excercise : 1. Dapatkah aturan–aturan ikatan standar menunjukkan port–port antara satu komponen dan satu entity oleh nama ataukah oleh posisi ? 10.

tetapi menggunakan pemisalan langsung dari entity (diasumsikan terdapat entity dalam library CMOS6) ! 12. M: in STD_ULOGIC. Tulislah sebuah model untuk multiplekser 4X1 yang dijelaskan pada gambar 5. end component. sebagaimana terlihat di bawah ini. Komponen ini dibatasi oleh 2 masukan gerbang AND yang menggunakan tipe STD_ULOGIC untuk port – portnya.1. B: in MVL. P: out STD_ULOGIC). …. Modelkan delay sebagai generic. Tulislah deklarasi konfigurasi dan lewatkan harga–harga delay dengan menggunakan generic ! 13. entity AND2 is port (L. Z: out MVL). Tulislah deskripsi struktural dari rangkaian XOR seperti gambar 2. Disini terdapat deklarasi komponen dari 2 masukan gerbang AND yang menggunakan tipe MVL untuk port–portnya.. end entity. LANJUTAN .Materi 7 GENERIC DAN CONFIGURATION Self-Test Excercise : 11. Tulislah spesifikasi konfigurasi yang menspesifikasikan ikatan/batasan ! component AND_GATE port (A.1 menggunakan tipe struktural.

Materi 8 SUBPROGRAM DAN OVERLOADING OBYEK : Menjelaskan fungsi dan prosedur. . Mendemonstrasikan penggunaan operator overloading subprogram.

Fungsi Call adalah jenis dari ekspresi/ungkapan. Variabel yang dinyatakan dalam subprogram berbeda sifatnya dengan yang ada dalam proses. Ini menyebabkab subprogran keluar. • Fungsi mengembalikan satu nilai dan mengeksekusinya dalam waktu nol. Variabel dalam subprogram diinisialisasi setiap kali subprogram dipanggil dan berhenti setelah kembali dari subprogram. Lainnya adalah pernyataan concurrent. Meski demikian. Sifat dari subprogram dideskripsikan menggunakan statament sekuensial. • Prosedure boleh mengembalikan nilai nol dan mengeksekusinya dalam waktu nol. suatu • • • • • • • • • prosedur dapat berisi wait statement yang menyebabkan penutupan proses tertunda. ini termasuk pernyataan sekuensial. Jika prosedur Call muncul dalam proses atau subprogram yang lain. Prosedur akan berpengaruh dengan cara modifikasi sinyal global dan variabel atau modifikasi parameter. Subprogram didefinisikan menggunakan subprogram body. Statement return hanya dapat dipergunakan dalam subprogram. . Fungsi pure adalah fungsi yang kembali bernilai sama setiap kali dipanggil dengan nilai parameter yang sama. Pada fungsi impure nilainya kemungkinan tidak akan sama. parameter. Fungsi dapat dinyatakan sebagai fungsi pure atau impure. Prosedur Call dapat berupa penyataan sekuensial atau concurrent. Subprogram body berisi nama subprogram.Materi 8 SUBPROGRAM DAN OVERLOADING KEY POINTS : • Subprogram berupa fungsi atau prosedur. mode dan tipe serta perhitungan yang dilakukan.

…. Suatu nilai dapat dilewatkan ke subprogram dengan menggunakan posisi atau nama hubungan. LANJUTAN . Dua atau lebih subprogram disebut overloaded jika memiliki nama yang sama. Subprogram call dapat menjadi dua jika dua subprogram yang ada memiliki tipe parameter yang sama. Hal ini menyatakan nama subprogram dan parameter dengan mode dan tipenya. Seperti halnya pada subprogram. Deklarasi subprogram berguna pada penulisan subprogram dalam package. Deklarasi subprogram menyatakan interface ke subprogram. Satu subprogram overload dapat menyembunyikan subprogram lainnya jika tipe parameternya sama. Notasi operator standar atau standar fungsi call dapat digunakan untuk operator overload atau nonoverload.Materi 8 SUBPROGRAM DAN OVERLOADING KEY POINTS : • Prosedur Call concurrent dijalankan setiap kali terdapat event pada signal sehubungan dengan parameter • • • • • • • • • formalnya dengan mode in atau inout. operator juga dapat mengalami overload dalam arti tidak sesuai dengan tipe yang telah ditentukan sebelumnya. Signature menyebutkan tipe parameter dari subprogram atau enumeration literal. Signature digunakan untuk identifikasi khusus subprogram atau enumeration literal yang overload..

. Termasuk fungsi pure atau impure jika tidak terdapat keyword eksplisit yang disebutkan pada spesifikasi fungsi ? 3. asumsikan representasi besaran tidak ditentukan. Bagaimana variabel dideklarasikan dalam subprogram berbeda dengan dalam proses ? 6. Berikan deklarasi fungsi ekivalen untuk karakter A pada tipe predifined CHARACTER.” apakah yang menjadi penyebabnya ? 11. Bagaimana perbedaan fungsi call dengan prosedur call ? 7. Dimanakah signature digunakan ? 14. Dapatkah suatu fungsi tidak mempunyai parameter input ? 2. Literal enumerasi memiliki deklarasi fungsi yang ekivalen untuk keperluan penentuan tipe parameter dan hasil. Saat operator overload digunakan. Pentingkah selalu dinyatakan suatu subprogram ? 8. jika terdapat error pada subprogram call misalkan “subprogram not declared. Dapatkah prosedur memiliki peryataan return ? 5. Berikan dua subprogram overload. bagaimana cara mendeteksi operator overload yang sedang dipanggil ? 12. Kapankah dua subprogram dikatakan overload ? 9. Dapatkah prosedur Call concurrent memiliki pernyataan wait ? 4.Materi 8 SUBPROGRAM DAN OVERLOADING Self-Test Excercise : 1. Jika dua subprogram overload dan memiliki tipe parameter dan tipe hasil yang sama. berikan aproksimasi untuk membuat subprogram call unambiguous ! 10. Tuliskan fungsi konversi nilai dari tipe BIT_VECTOR ke integer. 13. Asumsikan bit terkanan adalah LSB.

. Juga tuliskan deklarasi fungsinya. fungsi return “COY(0) and COY(1) and COY(2)”. Contoh. Jangan gunakan operator geser. 16. Overload-kan fungsi soal no. Tuliskan prosedur yang menampilkan geser kanan aritmatika dari parameter sinyal. 21. type SIGNED is array (NATURAL range <>) of bit. Type SIGNED dideklarasikan sebagai berikut. 18. Asumsikan bahwa bit paling kiri adalah bit sign.Materi 8 SUBPROGRAM DAN OVERLOADING Self-Test Excercise : 15. 17. positive-edge triggered. Asumsikan bahwa input sinyal adalah tipe UNSIGNED dan operator overload “+” (yang mengerjakan operand UNSIGNED dan INTEGER) tersedia. 14 dengan menuliskan fungsi lain yang mengubah nilai tipe STD_LOGIC_ VECTOR ke nilai integer. jika COY adalah vector 3-bit. LANJUTAN . Dapatkah prosedur call sekuensial selalu digunakan sebagai prosedur call concurrent ? 20. Tuliskan fungsi yang menampilkan dekoding BCD ke 7-segment. Tuliskan fungsi yang menampilkan reduksi AND dari bit dalam suatu vector. …. Tuliskan fungsi overload untuk operator “or” yang mengerjakan argumen dari tipe SIGNED. Tuliskan prosedur yang dapat menggambarkan perilaku dari asynchronous preset clear. counter. Jumlah bit yang digeser juga disebutkan. Tuliskan deklarasi fungsinya. 19.

Materi 9 PACKAGE DAN LIBRARY OBYEK : Menjelaskan konsep desain library. . Menghubungkan item dalam suatu package dari unit desain lain dengan menggunakan konteks klausa.

Package body dibutuhkan jika pernyataan package berisi pernyataan subprogram atau pernyataan constant tertunda. Package body dapat berisi pernyataan selain pernyataan subprogram dan constant. seperti pernyataan constant. . Meski demikian. Setiap library desain memiliki nama logika. hal ini tidak dapat digunakan oleh unit desain lainnya. package body yang saling berhubungan berisi subprogram body dan pernyataan constant yang lengkap. • Package digambarkan oleh pernyataan package dan pilihan package body. berisi satu atau lebih unit desain. Compiler VHDL mengkompilasi file desain dan menyimpan deskripsi unit desainnya dalam library desain yang telah dirancang sebagai working library. File desain berupa file teks yang berisi source VHDL. type dan • • • • • • • • subtype. Item dinyatakan dalam pernyataan package dan dapat digunakan pada unit desain lainnya dengan menggunakan klausa. Kumpulan nama logika pada lokasi penyimpanan adalah host-specific. • Pernyataan package dapat berisi bermacam-macam pernyataan.Materi 9 PACKAGE DAN LIBRARY KEY POINTS : • Package menyediakan tempat untuk menyimpan pernyataan yang sering digunakan. File desain merupakan unit dasar yang dikompilasi menggunakan compiler VHDL. Library desain merupakan implementasi terpisah lokasi penyimpanan dimana unit desain terkompilasi dapat disimpan. Dalam kasus tertentu. dan component.

Unit desain harus dikompilasi untuk referensi.Materi 9 PACKAGE DAN LIBRARY KEY POINTS : • Host environment harus menyediakan semua nomor library desain. sebagai contoh bahwa pernyataan entity harus dikompilasi lebih dulu sebelum architecture body dapat dikompilasi. …. Klausa terpakai dapat digunakan untuk memilih item dalam package. • • • • salah satu dari library desain harus dirancang sebagai working library. Package ini merupakan standar IEEE (IEEE Std 1164-1993) yang terletak dalam library desain dengan nama logika IEEE. dengan nama logika WORK. Library dan pemakaian klausa saling berhubungan dengan unit desain dan bukan merupakan dasar file desain. Sebelum kompilasi dilakukan. Package STD_LOGIC_1164 berisi sembilan nilai tipe logika dan operator fungsi overloadnya.. LANJUTAN .

diaplikasikan untuk semua subsequent unit desain dalam file desain. Benar atau salah ? 6. Dapatkah package declaration berisi subprogram body ? 2. Dapatkah package body berisi declaration selain subprogram declaration dan constant declaration ? 3. Benar atau salah? 9. Dapatkah package declaration mempunyai lebih dari satu package body yang tergabung didalamnya ? 5.all. Apakah penggunaan klausa “use STD.TEXTIO. Implementasi dari desain library dan menejemennya tidak didefinisikan oleh bahasa pemrograman. Library dan penggunaan klausa. yang pertama kali dispesifikasikan dalam design file.” dengan lengkap diberikan kepada semua unit desain ? .Materi 9 PACKAGE DAN LIBRARY Self-Test Excercise : 1. Dapatkan sebuah entity declaration dan yang tergabung dalam architecture body memiliki nama yang sama ? 8. Dapatkah item yang dideklarasikan dalam package body dibuat visible untuk desain unit yang lain ? 4. Bagaimana kelompok dari logical name dari design library dan physical storage locations didefinisikan ? 7.

15. …. Konteks klausa apakah yang harus digunakan untuk mendeskripsikan netlist jika package. Tulis “or” operator fungsi logika overloaded yang menjalankan type ini. LANJUTAN . yang dideskripsikan dalam lesson sebelumnya. 12. Fungsi LARGEST mengembalikan nilai yang lebih besar dari dua bilangan integer. Fungsi SMALLEST mengembalikan nilai yang lebih kecil dari dua bilangan integer. 14. LARGEST dan SMALLEST. 11. Tulis sebuah package yang berisi daya overloaded function.Materi 9 PACKAGE DAN LIBRARY Self-Test Excercise : 10. Package telah dikompilasi ke dalam sebuah design library yang dinamakan ECL. Tulis sebuah package UTI:LS yang berisi dua fungsi. yang diberikan berisi semua component declaration. TO_INTEGER. 13. COMP_DECL. Juga termasuk deklarasi komponen untuk 3-bit up-down counter. Konteks klausa apa yang seharusnya digunakan unutk mengimport up-down counter component declaration yang diberikan dalam package yang dideskripsikan dalam pertanyaan sebelum ini ? Asumsikan behwa package telah dikompilasi ke design library dengan nama UTILITIES. Tulis sebuah package yang mendeklarasikan 50 value logic type. Tulis package yang berisi deklarasi atribut timing..

generate. . dan atribut user-defined. Menggunakan keistimewaan seperti pernyataan entity.Materi 10 KEISTIMEWAAN LEBIH LANJUT OBYEK : Mendiskusikan beberapa keistimewaan lebih lanjut dari VHDL.

Materi 10 KEISTIMEWAAN LEBIH LANJUT KEY POINTS : • Deklarasi entity dapat berisi deklarasi dan pernyataan khusus. nilai efektifnya adalah nilai sebelumnya. Konversi tipe mengijinkan pengubahan nilai dari satu tipe ke tipe lainnya. driver ke sinyal akan terputus. • Pernyataan generate dapat mempunyai bagian deklaratif yang berisi pernyataan lokal ke pernyataan • • • • • • • • • generate. Tidak satu konversi tipe yang menyatakan secara langsung. Pada signal bus jika semua driver ke sinyal terputus nilai efektifnya dihitung dengan menggunakan fungsi pemecahan tanpa driver. Alias menyatakan nama lain untuk semua atau bagian dari suatu item. Pada register guarded signal. Alias dapat dinyatakan untuk objek atau item yang bukan objek seperti type. jika semua driver terputus. • Pernyataan generate untuk tiruan waktu elaborasi atau pernyataan concurrent terseleksi kondisi. Guarded signal harus berupa resolved signal. Ekspresi dengan kualifikasi adalah salah satu tipe ekspresi yang secara eksplisit disebutkan. Jika signal dinyatakan sebagai suatu bus atau register dalam deklarasi signal. . Hal ini berguna dalam konteks dimana tipe ekspresi dibutuhkan secara eksplisit. Konversi ini hanya diperbolehkan pada tipe-tipe yang relatif berdekatan. Jika guarded signal ditetapkan sebagai nilai dibawah kontrol suatu guard dan mengalami kesalahan. sinyal ini disebut guarded signal. • Hanya pernyataan pasif yang diijinkan sebagai pernyataan entity.

Template groupnya dinyatakan dengan menggunakan pernyataan group template dan item yang membentuk group disebutkan dengan menggunakan deklarasi group. atribut dapat dinyatakan sendiri. Pernyataan blok dapat dengan sendirinya memiliki map port dan generic yang akan berkomunikasi dengan sinyal di luar pernyataan block. • Atribut user-defined dinyatakan dengan menggunakan deklarasi attribute. Pernyataan block dapat digunakan untuk pemodelan hirarki. • Atribut user-defined digunakan untuk memasukkan informasi constant ke item. Nilainya sesuai dengan • • • spesifikasi atributnya..Materi 10 KEISTIMEWAAN LEBIH LANJUT KEY POINTS : • Waktu putus dari sinyal disebutkan dengan menggunakan spesifikasi pemutusan. …. LANJUTAN . • Sebagai tambahan untuk atribut predefined. sebagai kumpulan sinyal atau variabel. Target dari sinyal atau variabel tetap dapat berupa target aggregate. Item tertentu dengan sifat tertentu dapat dikelompokkan dalam suatu group.

9.’0’. 5. 6. Sebuah alias dapat dispesifikasikan untuk type. Type MVL is (‘X’. .’1’. Statement apakah yang diperbolehkan sebagai enetity statement ? Generate statement merupakan concurrent statement. 4. Benar atau salah ? Bagaimana memutuskan (disconnect) watku yang dispesifikasikan? Dengan jalan ekspilist apakah untuk memutuskan driver ? Dapatkah sebuah atribut user-defined yang ditentukan sebuah value menggunakan assignment statement ? Bagaimana sebuah group dideklarasikan ? Tuliskan sebuah concurrent assertion statement dalam sebuah entity declaration dari D-type flipflop dimana akan memberikan warning massage jika pulsa clock kurang dari 1 ns.Materi 10 KEISTIMEWAAN LEBIH LANJUT Self-Test Excercise : 1. 8. 7. 10. 3. 12. Benar atau salah? Dapatkan ganerate statement ditulis bersamaan dengan generate statement yang lain ? Loop parameter untuk skema for-generate dideklarasikan dengan lengkap. Guarded signal dapat ditentukan sebuah value yang tidak di bawah kendali guard expression.Z’). Type SIGNED_MVL is array (NATURAL range <>) og MVL. Benar atau salah ? Apakah type-type berikut mempunyai hubungan yang dekat (sehingga implicit conversion dapat terjadi) ? Type SIGNED_BIT is array (NATURAL range<>) of BIT. 11. Deklarasi apakah yang terdapat dalam contoh berikut ? G1 : for K in 0 to 12 generate … end generate. 2.

MONSOON. Diberikan. Apakah : WHEATHER‟LEFT WHEATHER‟RIGHT WHEATHER‟LOW WHEATHER‟ASCENDING CUE‟LENGTH CUE‟ASCENDING CUE‟SIMPLE_NAME WHEATHER‟SUCC(SUMMER) WHEATHER‟PRED(WINTER) WHEATHER‟LEFTOF(SPRING) WHEATHER‟RIGHTOF(MONSOON) CUE‟LEFT CUE‟RIGHT CUE‟LOW CUE‟HIGH CUE‟RANGE CUE‟REVERSE_RANGE ….SPRING. LANJUTAN . Type WEATHER is (WINTER.FALL).Materi 10 KEISTIMEWAAN LEBIH LANJUT Self-Test Excercise : 13.. Variable CUE: STD_LOGIC_VECTIOR(4 to 10).SUMMER.

. Apakah yang dilakukan signal berikut ? PREZ‟DELAYED (3 ns) PREZ‟STABLE PREZ‟QUIET Kapankah PREZ‟EVENT true ? Bagaimana PREZ‟LAST_EVENT pada 17ns ? Bagaimana PREZ‟LAST VALUE pada 10ns ? 15. Kita telah menggunakan type MVL dalam suatu model. Berikutnya. Diberikan. ‟1‟ after 18 ns. „0‟ after 14ns.Materi 10 KEISTIMEWAAN LEBIH LANJUT Self-Test Excercise : 14. Apakah perbedaan antara UNSIGNED(AX) dan UNSIGNED‟(AX) ? ….‟1‟ after 5ns. Diberikan signal waveform berikut. „1‟ after 11ns. LANJUTAN . 16. kita ingin merubah semua type ke type STD_LOGIC. Jelaskan mekanisme menggunakan alias yang dapat kita gunakan untuk mewakili MVL menggunakan STD_LOGIC. PREZ <= „0‟. „1‟ after 22ns. Type UNSIGNED is array (NATURAL range <>) og BIT Variable AX: BIT_VECTOR(0 to 3).

Menggunakan keistimewaan seperti pernyataan entity. . dan atribute user-defined.Materi 11 SIMULASI MODEL OBYEK : Mendiskusikan beberapa keistimewaan lebih lanjut dari VHDL. generate.

Test bench dapat ditulis dengan menggunakan VHDL. Vector yang diaplikasikan untuk test bench dapat secara optional dibaca dari file teks dan dibandingkan dengan present value yang diharapkan pada file teks. stimulus generation dan mekanisme monitoring yang tersedia pada bahasa pemrograman itu sendiri. digunakan IEEE standard STD_LOGIC_1164 package yang mendefinisikan 9-value logic type. kita perlu mengetahui type yang digunakan dalam pemodelan port component. Dari component library vendor diharapkan untuk mendapat entity dan architecutre declaration untuk semua component dan package yang berisi component declaration. kemudian kita perlu untuk mendifinsikan type dan operator fungsi overloaded dalam package. yaitu. Waveform dibangkitkan dengan menggunakan signal assignment statement. Jika type dari predefined type penting.Materi 11 SIMULASI MODEL KEY POINTS : • • • • • • Sebelum memulai pemodelan. kita perlu mendefinisian logic value dari rangkain yang kita miliki. . Sebagai gantinya. Sebagai tambahan.

Materi 11 SIMULASI MODEL Self-Test Excercise : 1. Buatlah clock dengan periode on dan off 3ns dan 10ns . dalam signal RGB. Tuliskan dalam VHDL code untuk membangkitkan gelombang berikut '1' 'U' '0' 0 3 one cycle 6 10 13 16 20 ns 3. 2. Tuliskan kerangka kode yang menunjukkan cara membaca nilai dari type STD LOGIC VECTOR dari sebuah file teks. Tuliskan kode VHDL untuk membangkitkan gelombang berikut.force”: FORCE1 0 ns FORCE0 5 ns FORCE1 12 ns FORCE0 27 ns FORCE1 32 ns . yang dispesifikasikan dalam file teks “ckt. 4.

nilai ketiga merupakan opcode dan nilai keempat merupakan hasil yang diharapkan. Nilai input disediakan dalam file teks dan berbentuk : 101 110 00 FALSE 000 110 01 TRUE 011 110 11 FALSE 000 111 10 FALSE 111 000 11 TRUE Dua yang pertama merupakan nilai operand. Nilai set untuk input disediakan dalam test bench itu sendiri sebagai array of records. yang diberikan dalam file teks “ckt. 7. Tuliskan kode VHDL untuk membandingkan respon yang diinginkan. Tuliskan sebuah test bench untuk comparator ALU. Tuliskan sebuah test bench untuk problem 1101 sequence detector yang diberikan pada Lesson 3. Juga cetak beberapa nilai yang mismatch untuk output.. 8. Sediakan input sequence dan nilai yang diharapkan (expected value) sebagai array dalam test bench.expext”: EXPECT1 0 ns EXPECT0 5 ns EXPECT0 15 ns EXPECT1 27 ns EXPECT0 32 ns 6. Tuliskan sebuah test bench untuk rangkaian adder.Materi 11 SIMULASI MODEL Self-Test Excercise : 5. LANJUTAN . …. dalam signal CORE.

Materi 12 CONTOH HARDWARE MODELING OBYEK : Menerapkan keistimewaan bahasa pemrograman untuk memodelkan hardware yang sesungguhnya. .

sebagai contoh. Gunakan variable sebagai temporari ketika dibutuhkan. ketika diberikan control clock. Kita dapat mencampur tiga style model utama dalam beberapa cara untuk membuat model yang kita desain. Generate statement sangat berguna dalam pemodelan repetitive logic. Hati-hati ketika membaca dan menentukan nilai pada signal dalam proses. Signal mendapatkan nilai setelah delay. Signal dapat juga digunakan untuk memodelkan flip-flop. Gunakan transport delay untuk memodelkan pure wire delay. Wire dapat dimodelkan menggunakan signal.Materi 12 CONTOH HARDWARE MODELING KEY POINTS : • • • • • • • • • Interface dari sebuah desain dimodelkan menggunakan entity declaration. State machine dapat dimodelkan dengan menggunakan case statement dalam process statement. Sebuah architecture body mendeskripsikan desain internal. tidak langsung. . Memory dapat dimodelkan sebagai variable 2-dimensi.

clock dan parallel-out. Deskripsikan D-flip-flop menggunakan konstruksi behavioral. Deskripsikan 8-bit register dengan menggunakan D-flip-flop. Hanya nikel dan dimes yang diterima. Tuliskan sebuah model VHDL untuk 4-bit shift register dengan serial-in. 4. Tuliskan model VHDL untuk drink machine yang dapat mengeluarkan jus mangga dengan harga 15 sent. Setiap kembalian harus dikembalikan. Tuliskan model behavior untuk flip-flop dengan synchronous preset dan clear. 2.Materi 12 CONTOH HARDWARE MODELING Self-Test Excercise : 1. paralelin. Tuliskan sebuah model VHDL untuk dekoder logika BCD to 7-segment menggunakan pernyataan signal assignment terpilih. 3. . 5.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->