Giter Club home page Giter Club logo

mohitahirwar / automatic-abstract-model-computation-from-verilog-design-descriptions Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nimit3-droid/automatic-abstract-model-computation-from-verilog-design-descriptions

0.0 0.0 0.0 675 KB

Modeling hardware systems involves abstracting away wide datapaths but keeping low-level details of the underlying control logic in place. Consequently, the state space is significantly reduced and intricate control interactions can be formalized. The abstraction process in these languages, however, must be done manually, an error-prone task.

C++ 0.82% Python 1.88% Verilog 97.30%

automatic-abstract-model-computation-from-verilog-design-descriptions's Introduction

Automatic-abstract-model-computation-from-Verilog-design-descriptions

What is abstraction?

it is process of hiding implementation details and only showing the functionality to the user. Abstraction focus on what the object does instead of how it does. It is achieved by using Abstract class and Interface. abstract methods (methods without body, cannot be static and final), interface must implemented and abstract classes must be extended by regular classes in order to achieve abstraction

Why is Abstraction necessary?

Due to the complexity of life, abstraction is necessary. Complex systems must be simplified for people to understand and use them. To understand this in simple form. Let us take an example of 8-Bit Counter. 8-Bit Counter will count from 0 to 255. Let us assume that this design is a bit complicated. To make this design simpler we have to do abstraction. This can be done by introducing new states in between the counter or reducing the bit width. The new design/Abstract model will count from 0 to 127, and then 127 to 255. This can be easily visualized in the following diagram:

image

How to automate the abstraction of verilog models

Reducing the Bit width

Removing the same registers

Abstraction of verilog variables

Abstraction of verilog constants

Resources

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.