RTL Verification

Perancangan Sistem digital tidak bisa terlepas dari beberapa alur proses yang harus dilaluinya. Berikut ini adalah flowchart perancangan sistem digital.

Dari flowchart tersebut bisa dilihat, bahwa memang proses verifikasi merupakan bagian yang menghabiskan waktu yang paling banyak (the most consuming time) dalam proses perancangan. Verifikasi itu sendiri terdiri dari beberapa jenis metode, diantaranya functional, assertion, coverage, formal dll.  Ada beberapa tool yang bisa digunakan, tapi yang kita pakai adalah ModelSim.

Coverage metric digunakan untuk mengukur tingkat kepercayaan pada total usaha verifikasi kita dan untuk membantu tim desain dalam memprediksi waktu optimal peluncuran desain. Ada beberapa jenis coverage metric, yaitu:

  1. Statement/Line Coverage, digunakan untuk mengukur berapa banyak line/statement yang telah dieksekusi selama simulasi.
  2. Branch/Decision Coverage, digunakan untuk mengukur coverage of if and case statement (percabanngan) yang mempengaruhi alur kontrol dari eksekusi HDL.
  3. Path Coverage, digunakan untuk mengukur berapa banyak tiap jalur (kombinasi unik antara statement dan branch) dieksekusi ketika ada stimulus.
  4. Condition and Expression Coverage, digunakan untuk memperluas branch coverage dengan cara mem-break down kondisi ke dalam elemen yang membuat hasilnya benar atau salah
  5. Toggle Coverage, digunakan untuk menghitung dan mengumpulkan perubahan di dalam state pada titik/tempat tertentu.

Sumber:

Principles of Verifiable RTL Design (Book) by Lionel Bening and Harry Foster, Hewlett Packard Company.

RTL Verification (Lecture) by Subhasish Mitra and Ofer Shacham, Stanford University.

ModelSim SE Tutorial and ModelSim Code Coverage (Manual) by Mentor Graphics Corp.

Verilog HDL : A Guide to Digital Design and Synthesis (book) by Samir Palnitkar, SunSoft Press.

Prof. Google and etc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s