Go to file
2023-01-28 17:55:14 -08:00
Go_Board_Constraints.pcf Added Go Board Contraints template 2023-01-28 17:55:14 -08:00
goboard_Makefile_template Added starter code for goboard 2023-01-28 13:05:42 -08:00
goboard_project.sh Added starter code for goboard 2023-01-28 13:05:42 -08:00
README.md Added starter code for goboard 2023-01-28 13:05:42 -08:00

Required Pkgs

  1. iverilog
  2. make
  3. gtkwave
  4. yosys
  5. nextpnr
  6. icestrom

Installation

Script assumes Makefile template, and GoBoard constraints file are in the same directory. If this is not wanted
cat "$DIR"/goboard_Makefile_template >> "$project_name"/Makefile

and

cat "$DIR"/Go_Board_Constraints.pcf >> "$project_name"/"$project_name"_constraints_top.pcf can be changed to the location of the Makefile template and constraints file

Usage

Once the script is called, there will be a prompt for the project name - which is the only required field, your name, and sid.
After this the directory structure will be created with source, results, submodules, testbench, and turnin.

Directories

testbench

The testbench directory is where the Makefile will look for the top module which must end in _tb.v.
Multiple files may be in this directory, however the desired testbench must be the only file ending with _tb.v

source

The source directory is for all modules not including the testbench.

results

The results directory will contain the output file that can be run with vvp as well as the .vcd file that can be viewed with gtkwave

submodules

Other verilog projects which were created using the script can be placed in this directory. make will compile .v files within the source directories of each of the submodules.

turnin

All files added to the turnin directory will be compressed when make tin is run,

make commands

make

Running make while in the project directory will compile the source files and place the output file the results directory. Additionaly, this will set the dumpfile to simx.vcd in the results directory which can be viewed with gtkwave.

make sim

Running make sim while in the project directory will use vvp to run the compiled output file.

make view

Running make view while in the project directory will open the dump file with gtkwave.

make test

Running make view while in the project directory is similar to make, however the dumpfile will be set to /dev/null to avoid creating a .vcd file.

make synth

Running make synth while in the project directory will use yosys to attempt to synthesize the Verilog for the ice40 FPGA on the GoBoard

make par

Running make par while in the project directory will use nextpnr-ice40 to place and route on the ice40 FPGA

make pack

Running make par while in the project directory will use icepack to create a bin file

make prog

Running make par while in the project directory will program the Goboard with the bin file