Implementation of Instruction Set for RISC-V Processor
Implementace instrukční sady pro RISC-V procesor
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Tato bakalářská práce se zabývá optimalizací kritické kombinační cesty v digitalním systému s nízkým příkonem a malou plochou, který obsahuje RISC-V procesor. Kritická cesta existuje v rámci rozhraní instrukční paměti zmíněného procesoru. Práce podává několik návrhů řešení, vybraný mechanismus poté funguje na bázi spekulativního přednačítání instrukcí. První návrh je jednoduché statické větvení. Druhý, pokročilejší návrh byl implementován jako upravený prediktor větvení na bázi jednoúrovňové nebo dvouúrovňové predikce. Druhý návrh byl v různých konfiguracích podroben zátěžovému testu CoreMark za účelem optimalizace parametrů jako je velikost paměti, mechanismus predikce apod. Naše IP bylo v průběhu návrhového procesu verifikováno na RTL úrovni v jednoduchém testovacím prostředí na bázi jazyku System Verilog. Dále byl návrh implementován v Artix-7 xc7a100tcsg324-2 FPGA. Zde proběhla úspěšně logická syntéza a statická časová analýza. Na závěr byl návrh simulován na hradlové úrovni.
This bachelor thesis is dedicated towards optimization of a critical combinational path in a low power and low die area digital system that contains a RISC-V processor. The critical path is located in the instruction memory interface of the mentioned processor. This thesis proposes several solution architectures; the chosen mechanism then works on the principle of speculative instruction prefetching. The first design is a simple static branching predictor. The second, more refined design is a modified branch predictor with either one-level or two-level prediction. The second design was in different configurations tested with the CoreMark benchmark so that we could optimize the design parameters such as memory size, prediction mechanism, etc. Our IP was verified throughout the design process on the RTL level in a simple System Verilog testbench. Next, the design was implemented in the Artix-7 xc7a100tcsg324-2 FPGA. Here, we successfully ran logic synthesis and static timing analysis. Lastly, we simulated the design at the gate-level.
This bachelor thesis is dedicated towards optimization of a critical combinational path in a low power and low die area digital system that contains a RISC-V processor. The critical path is located in the instruction memory interface of the mentioned processor. This thesis proposes several solution architectures; the chosen mechanism then works on the principle of speculative instruction prefetching. The first design is a simple static branching predictor. The second, more refined design is a modified branch predictor with either one-level or two-level prediction. The second design was in different configurations tested with the CoreMark benchmark so that we could optimize the design parameters such as memory size, prediction mechanism, etc. Our IP was verified throughout the design process on the RTL level in a simple System Verilog testbench. Next, the design was implemented in the Artix-7 xc7a100tcsg324-2 FPGA. Here, we successfully ran logic synthesis and static timing analysis. Lastly, we simulated the design at the gate-level.