RAKE

From Vlsiwiki
Jump to: navigation, search
  • Rake wiki



standard directory structure (ie scoore/fpu)
asic asic related
bist
docs all documentation
rtl all verilog code
scripts any special scripts
tests all testbench code
TODO future todo text file

run rake in 'main' directory
rake parses the .xml file which is named 'dir name'.xml

xml files contain 3 different target types
asic synplify
fpga synplify
testbenches VCS / Modelsim

running rake in a main directory with no parameters shows all possible targets.

Some important rake options
to view the commands rake invokes (Usefull for debugging), use v=1 rake option (requires a target ie. test:all)

For testbenching:
rake will invoke the vcs command, this compiles all RTL and C++ testbench files, to create a ./simv executable (which is the compiled tb)

To change simulators, we can tell rake to use Modelsim instead (VCS is the default)

       rake test:all suite=vsim


To launch the GUI, use the rake option gui=1

       rake test:all gui=1


DVE: VCS GUI tutorial (start from page 6) http://www-inst.eecs.berkeley.edu/~cs250/fa09/handouts/tut4-vcs.pdf

When passing parameters to your testbench:

       rake does not yet allow for parameters to be passed to the simulator.


       Work around:
rake test:softfloat_tb v=1
then copy and paste the vcs command
run it

This will compile the tb to make it fresh.
Now the tb executable has been created (./simv or ./vsim)
pass parameters to executable (ie ./simv +test=float64_add)


Look at the ATC wiki for cycle accurate testbench example https://vlsiwiki.soe.ucsc.edu/index.php/ATC

To interrupt a running simulation, press ctrl-C, this will dump you into the simulator console, type quit to exit