<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="187594" NadgradivoID="0" NRID="29256268" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=187594" StOgledov="86" StPrenosov="15" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-29 14:32:55" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000468" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-187594">20.500.12556/RUL-187594</PID>
  <Naslov>Implementacija in verifikacija stisnjene (C) razširitve na jedru RISC-V</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Implementation and Verification of the Compressed (C) Extension on a RISC-V Core</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Odprtokodna arhitektura nabora ukazov RISC-V je postala priljubljena izbira zaradi zmogljivosti, vsestranske uporabnosti, enostavne implementacije in razširljivosti. Ukazi v osnovni arhitekturi so v RISC slogu vsi enake velikosti, razširitev C pa uvaja stisnjene ukaze kot alternativo pogosto uporabljanim ukazom v osnovni arhitekturi, kar je zelo koristno pri povečanju gostote kode. Implementacija razširitve prinaša svojevrstne izzive: v sistemu s to razširitvijo se v programu in s tem v ukaznem pomnilniku pojavijo stisnjeni in nestisnjeni ukazi, kar pomeni, da ukazi v pomnilniku niso več poravnani na 32 bitov. V zasnovi moramo odstraniti domneve o poravnanosti in prilagoditi mehanizem prevzemanja ukazov na prepletanje ukazov različnih dolžin.

RVJ1 je odprtokodno jedro RISC-V z zaporednim izvajanjem ukazov, ki implementira petstopenjski cevovod. Napisano je v jeziku SystemVerilog. V diplomskem delu je predstavljena implementacija stisnjene razširitve (C) na jedru RVJ1 in verifikacija te zasnove. Prevzemno stopnjo jedra smo prilagodili za uporabo s stisnjenimi ukazi z uporabo FIFO vrste za pomnjenje prevzetih podatkov ter kombinacijskega modula za razširitev stisnjenih ukazov v 32-bitne oblike.

Zasnovo smo verificirali z uporabo simulacije (s pomočjo odprtokodnih programskih orodij na osnovi jezika Python) in RISC-V arhitekturnih testov. Po verifikaciji smo opravili sintezo zasnove in primerjalne teste ter rezultate analizirali. Pričakovano smo opazili, da se je površina jedra povečala, ugotovili pa smo tudi, da pri novi zasnovi ne pride do znatnega poslabšanja kritične poti. Poleg tega je pri primerjalnem preizkusu Coremark nova zasnova dosegla nekoliko boljši rezultat kot prvotna.</Opis>
  <TujJezik_Opis>The open-source RISC-V instruction set architecture has become a popular choice due to its performance, versatility, ease of implementation and extensibility. The instructions in the base architecture are, in the RISC fashion, all of uniform size. The C extension introduces compressed instructions as alternatives to frequently used instructions in the base architecture, which is useful for improving code density. Implementing the extensions brings its own challenges: in a system implementing the C extension, programs contain both compressed and non-compressed instructions. This means that instructions are no longer 32-bit aligned in instruction memory. We must remove all assumptions regarding alignment in our design, and we must adapt the instruction fetch mechanism to handle intermixed instructions of variable length.

RVJ1 is an open-source in-order RISC-V core that implements a five-stage pipeline. It is written in the SystemVerilog language. In this thesis, we present the implementation of the C extension on the RVJ1 core and the verification of this design. The instruction fetch unit has been adapted to handle compressed instructions, using a FIFO queue to buffer fetched data and a combinational module to expand the compressed instructions into their base 32-bit forms.

The design has been verified via simulation (utilising open-source Python-based tools) and the RISC-V architectural test suite. After verifying the design, we performed synthesis and benchmarking, and analysed the results. As expected, the size of the core has increased. The critical path, however, experienced no significant negative change. We also observed that the Coremark benchmark produced a somewhat better score for the new design.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>RISC-V</Beseda>
    <Beseda>razširitev</Beseda>
    <Beseda>stisnjeni ukazi</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>RISC-V</Beseda>
    <Beseda>extension</Beseda>
    <Beseda>compressed instructions</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2026-09-11 14:40:01</DatumVstavljanja>
  <DatumObjave>2026-09-11 14:40:09</DatumObjave>
  <DatumSpremembe>2026-09-14 03:46:29</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2026</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo>1970-01-01</EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="165816" Ime="Tadej" Priimek="Pariš" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="107711" Ime="Ratko" Priimek="Pilipović" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="165262" Ime="Jure" Priimek="Vreča" AltIme="" VlogaID="994" VlogaNaziv="Komentor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38898</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="247280" DatotekaNRID="14785798" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="1310674" VelikostDatotekeKratko="1,25 MB" DatumVstavljanja="2026-09-11 14:40:12" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="false" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Paris_Tadej_-_Implementacija_in_verifikacija_stisnjene_(C)_razsiritve_na_jedru_RISC-V.pdf</Naziv>
      <OrgNaziv>Paris_Tadej_-_Implementacija_in_verifikacija_stisnjene_(C)_razsiritve_na_jedru_RISC-V.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>0A574341B09C3157E928B98301CFDEE6</MD5>
      <SHA256>5134d0c3d6e9fea3509a01bf5f688ecf3ef23cc746cd83fcb3cb8c6550f5ff86</SHA256>
      <UUID>e77ce736-addd-11f1-8bc5-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=247280</PrenosPolniUrl>
      <Vsebine>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="0" Koda="0" Naziv="Ni določena" SchemaOrg="CreativeWork"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
