Coder Social home page Coder Social logo

urish / algofoogle-multi-caravel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from algofoogle/algofoogle-multi-caravel

0.0 1.0 0.0 353.71 MB

Collection of open source ASIC projects targeting GFMPW-1 initially

License: Apache License 2.0

Shell 1.45% Tcl 48.58% Verilog 17.80% Makefile 32.17%

algofoogle-multi-caravel's Introduction

algofoogle-multi-caravel

License

This is Anton's repo for individually hardening several projects that will target a single GFMPW-1 submission (GF180 Open PDK).

For more info, see: 0181 § 'What I did'.

NOTE: Whichever gf180-* branch you're on reflects which project you're in, specifically, and all should be branching from gf180-base (which should hopefully be the default).

The idea is that if general updates are required to gf180-base, they should be easy enough to merge to each of the project branches, to keep everything consistent.

Hardening

Say you want to harden one of the gf180-* project branches... let's use gf180-rbz-fsm as an example. Here's a very high-level overview, assuming you already have at least something of a working OpenLane environment (or at least the prerequisites installed; see the original efabless guide for more info, but note that the PDK version in that doco might be outdated):

NOTE: Zero to ASIC VM also redirects certain other things (MGMT_AREA_ROOT, DESIGNS, CARAVEL_ROOT, etc. to subdirectories of ~/asic_tools/caravel_user_project). Check your ~/.bashrc for details. I've been trying to make this a bit more flexible (see Tip 2312A point 5) but note that I've not completed this work yet.

  1. Switch to the branch and set it up for the first time:
    git checkout gf180-rbz-fsm
    mkdir -p dependencies
    # Changing OPENLANE_ROOT & PDK_ROOT optional if using Zero to ASIC VM:
      export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src
      export PDK_ROOT=$(pwd)/dependencies/pdks
    # Required:
    export PDK=gf180mcuD
    # This will download and install caravel, the PDK, required OpenLane version, etc.
    make setup
  2. Each time you want to harden:
    # Optional, as above:
      export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src
      export PDK_ROOT=$(pwd)/dependencies/pdks
    # Required:
    export PDK=gf180mcuD
    
    # MAIN HARDENING STEP:
    make top_ew_algofoogle

Finalisation

NOTE: It is expected that each individual hardened project branch will be copied into one consolidated caravel_user_project when it is considered stable.

You should find that the information above does not deviate per branch, but the information below intentionally does.

Specific project for branch gf180-base: Common base project

You are on the branch that defines the 'clean base' project that is common to all other project branches.

This branch has no gds/, lef/, etc. because that is the domain of a real project which branches from this base.

algofoogle-multi-caravel's People

Contributors

a-omla avatar agorararmard avatar algofoogle avatar ax3ghazy avatar donn avatar jeffdi avatar kareefardi avatar manarabdelaty avatar marwaneltoukhy avatar mattvenn avatar mkkassem avatar passant5 avatar proppy avatar rb-efabless avatar rtimothyedwards avatar russellfriesenhahn avatar shalan avatar

Watchers

 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.