Giter Site home page Giter Site logo

datapath's Introduction

Datapath module generator

unsigned integer divider

div_base

div_base is fully pipelined unsigned integer divider module with a variable data width and pipeline stages. It also has user input to propagate input sign bit or operation code through the pipeline.
This module is only a baseline of parameterized divider. In order to output verilog, call ./script/div_config.sh via Makefile.

divider generation

You can output divider using Makefile. However, note that the target module name must keep strict name convention.
Module name consists of datapath width, latency (pipeline stages) and bit width of user data. When datapath width is 64 bit, latency is 8 clock cycles and user data is 5 bit, the module name is div64_l8_u5_gznk. (gznk is short for gizaneko, which does not so profound meanings)

signed integer operation

Signed integer is not supported by div_base considering implementation complexity. You can extend the module to support signed integer divider, using absolute value of signed value as dividend/divisor inputs and their sign bits as user input. Combining the unsigned division result and dividend/divisor sign bits to calculate sign bit of division results.

Work in Progress

Current support is limited to unsigned integer divider. I am planning to add support for other operations in integer and floating point format.

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.