1 / 19

Hardware Verification dengan menggunakan Higher Order Logic (HOL)

Hardware Verification dengan menggunakan Higher Order Logic (HOL). oleh Budi Rahardjo Mata Kuliah “Metoda Formal” – EL 688 Pasca Sarjana – Teknik Elektro, ITB. Untuk para insinyur …. Bob Colwell “ Engineering, Science, and Quantum Mechanics ,” IEEE Computer, March 2002:

declan
Download Presentation

Hardware Verification dengan menggunakan Higher Order Logic (HOL)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hardware Verificationdengan menggunakanHigher Order Logic (HOL) olehBudi Rahardjo Mata Kuliah “Metoda Formal” – EL 688Pasca Sarjana – Teknik Elektro, ITB

  2. Untuk para insinyur … • Bob Colwell “Engineering, Science, and Quantum Mechanics,” IEEE Computer, March 2002: “Generally speaking, most engineers are comfortable with using theories and ideas that neither they nor anyone else completely understand”

  3. HW Verification • Kebutuhan dalam hardware verification • Formal language untuk menjelaskan behaviour dan proposition tentang desain tersebut. • Expressive, concice notation • Well-understood & simple semantics • Deductive calculus untuk membuktikan proposition. • Logically sound dan cukup powerful.

  4. Penggunaan higher-order logic • Keuntungan • Tidak perlu mengembangkan bahasa baru (formal language) • Sudah ada landasan matematiknya • Sudah ada tools untuk membantu

  5. Step dalam verification • Menuliskan formal specification S untuk menjelaskan behaviour dari device • Menuliskan specification untuk setiap komponen primitif. (Behaviour real device) • Mendefinisikan expression D yang menjelaskan behaviour dari deviceD = P1 + … + Pndimana + merupakan operator compositionP1, …, Pn adalah instance dari device [2] • Membuktikan bahwa D betul (correct) terhadap specification SD satisfies S

  6. Hierarchy verification • Metoda dapat diaplikasikan secara hierarchy • Spesifikasi dari “primitive components” pada sebuah level dapat menjadi specification dari level berikutnya

  7. Keterbatasan HW verification • Correctness proof tidak dapat menjamin bahwa device tidak malfunction • Disain sudah benar • Behaviour specification salah (misal terlalu kompleks) • Defect di proses fabrikasi • Belum terintegrasi dengan CAD untuk layout

  8. Abstraction vs accuracy • Abstraction digunakan untuk menangani complexity • Semakin akurat model yang dibuat semakin dekat dengan dunia nyata. Namun menjadi semakin kompleks. • CMOS: ignore transistor size ratio in behavioural

  9. Tools • Beberapa tools yang sanggup menangani higher-order logic • HOL • PVS [yang masih aktif dlm. riset] • Isabelle

  10. Pengenalan HOL • Banyak versi HOL • Berbasis kepada HOL yang dikembangkan oleh Mike Gordon (Cambridge), yang berbasis kepada Church’s simple type theory

  11. Pengenalan HOL [2] • Every term of the logic has an associated logical type

  12. Specifying hardware behaviour • S[a,b,c,d] = T if the values a, b, c, and d could occur simultaneously on the corresponding external wires of the device Dev F otherwise a c Dev b d

  13. Specifying hardware behaviour • Spesifikasi dengan terms dari values yang dapat diobservasi secara external • Tidak ada perbedaan antara input dan output • Dalam contoh, variabel yang digunakan memiliki type bool, yaitu two-valued set of boolean logic level

  14. Rangkaian kombinasional Xor(i1,i2,o) = (o = (i1 = i2)) atau Xor(i1,i2) = (i1 = i2) • Biasanya external wires memiliki sifat biderectional • Tidak mendefinisikan delay • Bisa membingungkan: output i1, input o

  15. g s d N-type transistor Ntrans(g,s,d) = (g (d = s)) • Sources dan draind bersifat bidirectional • Jika gateg memiliki nilai T maka s dan d harus memiliki nilai boolean yang sama (dengan kata lain source dan drain terhubung)

  16. Rangkaian Sekuensial • Menggunakan fungsi yang memodelkan urutan values dalam urutan waktu • Waktu direpresentasikan dalam bilangan natural (dalam higher order logic memiliki type num) f:num f(t) f adalah signal

  17. D-type flip-flop q a Rise ck t =  ck(t)  ck(t+1) Dtype(ck,d,q) = t. q(t+1) =(Rise ck t  d t | q t) • Waktu (diskrit) direppresentasikan dengan bilangan natural • Variabel ck, d, dan q adalah higher order variables dengan type num bool Dtype ck

  18. Partial specification • Tidak komplit. Misal Dtype tadi pada waktu awal atau q(0) belum terdefinisi Dev(i,o) = (P[i]  (o = E[i])) • P[i] merupakan kondisi, jika P[i] = F maka implikasi (P[i]  (o = E[i])) akan tetap terpenuhi untuk semua nilai o

  19. g s d

More Related