Giter VIP home page Giter VIP logo

aghaas-core's Introduction

Aghaas-Core

Introduction To Aghaas-Core:

"Designed by Agha Muqarib"

I'm in my senior year currently pursuing bachelors in software engineering @ Usman Institute of Technology, Pakistan. Being a trainee @ Micro Electronics Research Lab (MERL), I've designed a parameterized, RISC-V, 32-bit, Single Cycle Core(supporting I Type) using Functional Programming in Scala and Chisel(a framework of Scala).

First of all, get started by Cloning this repository in your machine using the command below:

https://github.com/Agha-Muqarib/Aghaas-Core.git

Navigate to Aghaas-Core directory as mentioned in the command below:

cd Aghaas-Core

And enter:

sbt

The result will look like this:

image

The terminal will change to this type as shown in the image above.

sbt:Aghaas-Core>

Navigate to Datapath Directory via:

Aghaas-Core/src/main/scala/Datapath

Open "instrFile.txt" file and place the instruction(Hexa-Decimal) code simulated on Venus (RISC-V Simulator) Each instruction's hexadecimal code must be on seperate line as below. The following is a sample program containing 9 instructions.

00500113
00500193
014000EF
00120293
00502023
00002303
00628663
00310233
00008067

After pasting your own set of instructions (or the above ones), Open Config.scala manually by following the above path and open the file in your favorite text editor. Find the following line:

val initFile = "Some Path to txt file"

Update the .txt file path to match your "instrFile.txt" that you updated above to store your own program instructions. After setting up the Config.scala file, Enter this command

sbt:Aghaas-Core> testOnly Datapath.TopFileTest -- -DwriteVcd=1

The result will look like this:

image

After success, you'll get a folder naming test_run_dir on root of your folder. Navigate to the Top_File_Test folder inside.
There, you will find a file named TopFile.vcd, double click it and visualise on GTKwave to see your program running.


P.S: The Datapath directory also contains a file named VenusInstr.txt which contains Assembly Instructions that can be utilized as a demo or for unit testing of each instruction type. The directory also contains InstrDetails.txt file having the equivalent machine code of the instructions in Venus File, obtained by dumping them on Venus Simulator.

aghaas-core's People

Contributors

agha-muqarib avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

mfkiwl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.