METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Hardware Verification dengan menggunakan Higher Order Logic (HOL) oleh Budi Rahardjo Mata Kuliah “Metoda Formal” – EL 688 Pasca Sarjana – Teknik Elektro, ITB
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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”
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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.
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Step dalam verification 1.Menuliskan formal specification S untuk menjelaskan behaviour dari device 2.Menuliskan specification untuk setiap komponen primitif. (Behaviour real device) 3.Mendefinisikan expression D yang menjelaskan behaviour dari device D = P 1 + … + P n dimana + merupakan operator composition P 1, …, P n adalah instance dari device [2] 4.Membuktikan bahwa D betul (correct) terhadap specification S D satisfies S
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Hierarchy verification Metoda dapat diaplikasikan secara hierarchy –Spesifikasi dari “primitive components” pada sebuah level dapat menjadi specification dari level berikutnya
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Pengenalan HOL Banyak versi HOL Berbasis kepada HOL yang dikembangkan oleh Mike Gordon (Cambridge), yang berbasis kepada Church’s simple type theory
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Pengenalan HOL [2] Every term of the logic has an associated logical type
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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 Dev a bd c
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Xor (i 1,i 2,o) = (o = (i 1 = i 2 )) atau Xor (i 1,i 2 ) = (i 1 = i 2 ) Biasanya external wires memiliki sifat biderectional Tidak mendefinisikan delay Bisa membingungkan: output i 1, input o Rangkaian kombinasional
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 Ntrans (g,s,d) = (g (d = s)) Source s dan drain d bersifat bidirectional Jika gate g memiliki nilai T maka s dan d harus memiliki nilai boolean yang sama (dengan kata lain source dan drain terhubung) N-type transistor sd g
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 D-type flip-flop 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 a ck q
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 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
METODA FORMAL – Budi Rahardjo, Institut Teknologi Bandung – 2002 sd g