190 likes | 313 Views
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:
E N D
Hardware Verificationdengan menggunakanHigher Order Logic (HOL) olehBudi Rahardjo Mata Kuliah “Metoda Formal” – EL 688Pasca Sarjana – Teknik Elektro, ITB
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”
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.
Penggunaan higher-order logic • Keuntungan • Tidak perlu mengembangkan bahasa baru (formal language) • Sudah ada landasan matematiknya • Sudah ada tools untuk membantu
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
Hierarchy verification • Metoda dapat diaplikasikan secara hierarchy • Spesifikasi dari “primitive components” pada sebuah level dapat menjadi specification dari level berikutnya
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
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
Tools • Beberapa tools yang sanggup menangani higher-order logic • HOL • PVS [yang masih aktif dlm. riset] • Isabelle
Pengenalan HOL • Banyak versi HOL • Berbasis kepada HOL yang dikembangkan oleh Mike Gordon (Cambridge), yang berbasis kepada Church’s simple type theory
Pengenalan HOL [2] • Every term of the logic has an associated logical type
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
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
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
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)
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
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
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
g s d