Skip to content

scratchip is a framework that can help to build your Chisel and Verilog/Systemverilog project easier.

License

Notifications You must be signed in to change notification settings

jlsemi/scratchip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scratchip

scratchip is a framework that can help to build your Chisel and Verilog/Systemverilog project easier.

Build

If you want to build scratchip from scratch, please refer how to build.

Install

Install scratchip with following shell command, if you would like to install it to system, use sudo and remove --user.

# require Python versions: 3.6+
$ pip3 --user install scratchip

Usage

Create Project (Use default configuration)

Create a project named foo, the default top module name is Top.

$ scratchip create foo

Create a project named foo, specify top module name to Foo.

$ scratchip create foo --top Foo

scratchip will generate the basic project directory structure below:

.
├── builds
│   └── scratchip
|       ├── .cache
│       ├── jars
│       │   └── chisel3.jar
│       └── mill
├── doc
├── hw
│   ├── chisel
│   │   ├── build.sc
│   │   ├── Makefile
│   │   └── src
│   │       └── Foo.scala
│   └── rtl
│── Makefile
└── .gitignore

At the same time, all tools include Chisel3/FIRRTL will copy to builds/scratchip, and the builds should never be commited to git repo. When you clone the project to a new project directory, you will need re-initialize the project with:

$ scratchip init

Test Demo

$ make verilog

Then the .fir and .v generated by Chisel3/FIRRTL will be placed at builds directory.

.
├── builds
│   ├── ... 
│   ├── Foo.anno.json
│   ├── Foo.fir
│   └── Foo.v
└── ...

About

scratchip is a framework that can help to build your Chisel and Verilog/Systemverilog project easier.

Resources

License

Stars

Watchers

Forks

Packages

No packages published