Giter Club home page Giter Club logo

gv0-socv's Introduction

gv0

Verification research for general RTL/system-level designs (take 0.0)

GV tool installation

git clone https://github.com/ric2k1/gv0-socv
cd gv0-socv/
# General Users
sudo ./SETUP.sh 
./INSTALL.sh
  • For using GV tool interface, type after installation:
./gv
  • Please notice that, if the shell script has no permission, type:
chmod +x <shell_script_filename>

GV tool's third-party tools

  • parser --> yosys, berkeley-abc
  • file format converter --> yosys
  • formal verification engine --> berkeley-abc
  • simulator --> yosys

GV tool's API

  • Please check the document above to get detailed tutorials in "gv0-socv/doc/"

  • Below are current supporting APIs, please type "help " for detailed usage

    • Common commands
    GV Help
    GV History 
    GV Usage
    GV Dofile
    GV Quit
    
    • Verify commands
    GV Formal Verify
    
    • Simulate commands
    GV Random Simulate
    GV SEt SAfe
    GV SHow
    
    • Network commands
    GV BLAst Ntk
    GV File2 Aig
    GV File2 Blif
    GV PRInt Aig
    GV PRint Info
    GV REad Design
    GV SEt Engine
    GV WRite aig
    GV YosysCMD
    
    • Abc commands
    GV ABCCMD
    GV ABCPrint
    GV ABCRead
    
    • Mode commands
    GV RESET SYStem
    GV SEt System
    GV WIZard
    
    • Bdd Commands
    GV BAND
    GV BCOFactor 
    GV BCOMpare 
    GV BConstruct 
    GV BDRAW 
    GV BEXist 
    GV BINV 
    GV BNAND 
    GV BNOR 
    GV BOR 
    GV BREPort 
    GV BRESET 
    GV BSETOrder 
    GV BSETVar 
    GV BSIMulate 
    GV BXNOR 
    GV BXOR 
    
    • Prove Commands
    GV PCHECKProperty
    GV PIMAGe 
    GV PINITialstate 
    GV PTRansrelation 
    

gv0-socv's People

Contributors

ablabla0403 avatar gordon0813 avatar hchchiu avatar hhhuuugggooo avatar hhuuggo avatar jasbrocoli avatar pseudo-aloha avatar r10943169 avatar ric2k1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gv0-socv's Issues

`BREPort` reports error after executing`BCONstruct`.

The behavior of the reference program "gvbddv-ref-linux" seems weird when entering the following commands.

read design -v tests/b.v
blast ntk
breset 2000 8009 30011
bsetorder -file
print aig -PO
bcon -n 205
brep 205

BREPort reports [ERROR]: Illegal option "205" !!. However, net 205 has been built in the previous command.

With the following commands, I can successfully print net 205.

read design -v tests/b.v
blast ntk
breset 2000 8009 30011
bsetorder -file
print aig -PO
bcon -a
brep 205

Comparing these two sets of commands, I think something went wrong in the given GVNtkMgr::dfsOrder function.

Request feature of printing pattern index at simulation output.

The current output of the simulation result only provides the number of cycles, which is hard to understand what is the current input pattern.
Can we add information about the input pattern to the output? Such as the following example:

==========================================
= cycle XX      pattern YY
==========================================

This will help users to easily observe the change due to the input.

Simulation output delay one cycle

Seems like the output of the property logic p will delay one cycle in HW1.
I've used the following patterns for the input:

1 0 0 0 0
3 0 0 3 0
2 2 2 2 2

Which will produce the following output:

==========================================
= cycle 10
==========================================
serviceTypeOut= 0
itemTypeOut= 0
coinOutNTD_1= 0
coinOutNTD_5= 0
coinOutNTD_10= 0
coinOutNTD_50= 0
p= 0

==========================================
= cycle 11
==========================================
serviceTypeOut= 1
itemTypeOut= 0
coinOutNTD_1= 0
coinOutNTD_5= 0
coinOutNTD_10= 0
coinOutNTD_50= 0
p= 1

Since the logic of p will only produce 1 when serviceTypeOut is 0, the p= 1 in cycle 11 should actually output at cycle 10.

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.