Skip to content

OttoWRas/ibex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,880 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ibex / aespim DV: Running the SystemVerilog testbenches (Verilator)

This repository includes three simple SystemVerilog testbenches under dv/aespim/:

  • tb_aespim_keyexpansion.sv
  • tb_aespim_encryption.sv
  • tb_aespim_gmul.sv

Prerequisites

  • verilator available in your PATH
  • Run commands from the repository root (so rtl/ and dv/ paths match)

Build and run

Each testbench can be built into a standalone executable with verilator --cc --binary ... and then executed.

1) Key expansion testbench

verilator --cc --binary --top tb_aespim_keyexpansion --assert --timing --trace \ rtl/aespim_pkg.sv dv/aespim/tb_aespim_keyexpansion.sv -I"./rtl" ./obj_dir/Vtb_aespim_keyexpansion

2) Encryption testbench

verilator --cc --binary --top tb_aespim_encryption --assert --timing --trace \ rtl/aespim_pkg.sv dv/aespim/tb_aespim_encryption.sv -I"./rtl" ./obj_dir/Vtb_aespim_encryption

3) GMUL testbench

verilator --cc --binary --top tb_aespim_gmul --assert --timing --trace \ rtl/aespim_pkg.sv dv/aespim/tb_aespim_gmul.sv -I"./rtl" ./obj_dir/Vtb_aespim_gmul

Waveforms

The testbenches enable tracing (--trace) and attempt to dump a VCD file (commonly *.vcd) during simulation. After running a test, check the working directory for the generated VCD and open it with a waveform viewer (e.g., GTKWave).

About

Ibex is a small 32 bit RISC-V CPU core, previously known as zero-riscy.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • SystemVerilog 71.3%
  • Python 13.0%
  • C++ 7.8%
  • Makefile 1.8%
  • Rust 1.5%
  • Tcl 1.3%
  • Other 3.3%