GithubHelp home page GithubHelp logo

elemrv-init's Introduction

ElemRV

Fully Open Source RISC-V Microcontroller written in SpinalHDL. The chip layout was done with the IHP SG13G2 PDK and the open RTL-to-GDSII tool OpenROAD.

Installation

ElemRV-init comes with a container image which has all required host dependencies installed. Therefore, only the sources have to be locally installed and you keep your host system clean.

  • Install podman:

    sudo apt install podman
    
  • Build the podman container:

    podman build -t elemrv:v1.0 .
    
    podman run \
        -v $XAUTHORITY:$XAUTHORITY:ro \
        -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
        -e "DISPLAY" \
        -v $PWD:/srv/elemrv \
        --workdir=/srv/elemrv \
        --detach \
        --name elemrv_container \
        -it elemrv:v1.0 \
        sleep infinity
    
  • Download all sources:

    ./init.sh
    

Container

This chapter is a quick introduction into container handling. After the installation, you should have a container called elemrv_container running on your system.

$ podman ps
CONTAINER ID  IMAGE                    COMMAND         CREATED        STATUS            PORTS       NAMES
6a4bc5082aeb  localhost/elemrv:v1.0    sleep infinity  5 minutes ago  Up 5 minutes ago              elemrv_container

If it's not running, you can check if the container exists.

$ podman container ls -a
CONTAINER ID  IMAGE                    COMMAND         CREATED        STATUS            PORTS       NAMES
6a4bc5082aeb  localhost/elemrv:v1.0    sleep infinity  7 minutes ago  Up 7 minutes ago              elemrv_container

When you're finished and you want to stop the container, run the following command to stop the ElemRV container.

podman stop elemrv_container

Obviously, before the next session, start the container again.

podman start elemrv_container

The next chapter guides through the ASIC flow. However, you can also go into the container and run all make targets there.

podman exec -it elemenrv_container bash

ASIC Flow

First, create a layout from the Verilog file.

podman exec -it elemenrv_container bash -c 'make sg13g2-synthesize'

Please check Known Issues in case the chip layout failed.

Next, open the chip yout and inspect it.

podman exec -it elemenrv_container bash -c 'make sg13g2-klayout'

Alternatively, run Design Rule Checks to verify the chip is good.

podman exec -it elemenrv_container bash -c 'make sg13g2-drc'

Use the make sg13g2-drc-gui target to show all DRC issues.

Known Issues

License

Copyright (c) 2024 Steffen Reith and Daniel Schultz. Released under the Apache License.

elemrv-init's People

Contributors

dnltz avatar

Stargazers

Yannick Reiß avatar

Watchers

Steffen Reith avatar  avatar

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.