Functional and Formal Verification of Jump Controller Block for RISC-V Processor

Funkční a Formální Verifikace Bloku Jump Controller pro RISC-V Procesor

Research Projects

Organizational Units

Journal Issue

Abstract

V této práci představíme dvě metody verifikace návrhu číslicových obvodů, které k tomuto problému přistupují z různách směrů. Těmito motodami jsou funkční verifikace, která používá somulaci pro získání podkladů pro verifikaci, a formální verifikace, která přistupuje k návrhu obvodu jako by se jednalo o matematický vzorec, který je potřeba vyřešit. Jejich použití předvedeme na verifikaci návrhu obvodu prediktoru skoků RISE, který navrhl a vytvořil Martin Laštovka v jeho bakalářské práci. Na konci sepíšeme výsledky obou verifikačních metod a provedeme diskuzi nalezených chyb, které způsobují chybné chování navrženého obvodu. Také zhodnotíme přínos obou metod, které jsme použili. Nalezené chyby zahrnují chybnou úpravu a přístup k predikčním datům, které způsobují to, že návrh se nechová podle očekávání.

In this work, we will present two fundamentally different methods used for the verification of the digital circuit design. These methods are functional verification, which uses time simulation as the source of data for verification, and formal verification, which interacts with the circuit design as if it were a mathematical formula to be solved. We will demonstrate their use in the verification of the design of the RISE branch predictor block created by Martin Laštovka in his bachelor thesis. In the end, we will report and discuss the flaws found in the design and evaluate the strengths of the methods used. The flaws found include wrong updates and access to prediction tables, which cause the design to misbehave.

Description

Citation

Endorsement

Review

Supplemented By

Referenced By