GithubHelp home page GithubHelp logo

muhammadshameelansari1999 / caravel_fpu_half_precision Goto Github PK

View Code? Open in Web Editor NEW

This project forked from airsfyp/caravel_fpu_half_precision

0.0 0.0 0.0 95.48 MB

https://caravel-user-project.readthedocs.io

License: Apache License 2.0

C 0.64% Tcl 0.13% Verilog 98.86% Makefile 0.38%

caravel_fpu_half_precision's Introduction

Caravel User Project

License UPRJ_CI Caravel Build

SPDX-FileCopyrightText: 2020 Efabless Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. SPDX-License-Identifier: Apache-2.0

Half Precision Floating Point Unit from MERL

This is the first ever Half Precision Floating Point Unit of IEEE-754 standard designed by undergraduate students of DHA Suffa University Pakistan. It support all the basic floating point instruction mention in RISC-V specs.

Directory Structure

+-- verlog                          #   User verilog Directory

    +-- rtl                         #   RTL

    +-- dv                          #   Design Verification

    +-- gl                          #   Gate Level Netlis

The Floating Point Unit Source Code is avaialable here

+-- verlog                               #   User verilog Directory

    +-- rtl                              #   RTL
    
    |       +-- user_project_wrapper.v       #   User Project Wrapper source file
    
    |       +-- user_proj_example.v          #   User Project Example source file
    
    |       +-- FPU                          #   Floating Point Unit folder

The Design Verification Testbench is available here

+-- verlog                               #   User verilog Directory

    +-- dv                               #   Design Verification
    
    +-- FPU_Half                         #   Design Test Directory
    
    +-- hex                              #   Hex files folder
    
    +-- asm                              #   Assmebly files folder

The synthesized netlist is present here: +-- verlog # User verilog Directory

    +-- gl                               #   Gate Level Netlis
    
    +-- user_project_wrapper.v       #   User Project Wrapper Netlist
    
    +-- user_proj_example.v          #   User Project Example Netlist

The hardened macros are placed here:

+-- def                                 #    def Directory
    
    +-- user_project_wrapper.def        #    User Project Wrapper def file

+-- lef                                 #    lef Directory

    +-- user_project_wrapper.lef        #    User Project Wrapper lef file

    +-- user_proj_example.lef           #    User Project Example lef file

+-- gds                                 #    gds Directory

    +-- user_project_wrapper.gdz.gz     #    User Project Wrapper gds

    +-- user_proj_example.gdz.gz        #    User Project Example gds

Testing of Design

Go to verilog/dv/FPU_Half/ directory

Set the GCC_PATH environment variable.

Set the PDK_PATH environment variable.

Copy the given program hex file into uart.hex.

run the make commad for RTL simulation

run the SIM=GL make command for netlist simulation

Note: Dont forget to add 00000010 and 00000FFF instruction in the end of the uart.hex to stop the uart transmission if you are using your own codes.

caravel_fpu_half_precision's People

Contributors

a-omla avatar agorararmard avatar ax3ghazy avatar donn avatar hamzashabbir517 avatar jeffdi avatar kareefardi avatar manarabdelaty avatar marwaneltoukhy avatar mattvenn avatar mkkassem avatar rtimothyedwards avatar russellfriesenhahn avatar shalan 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.