There is a newer version of the record available.

Published October 26, 2023 | Version v1
Software Open

VESCMUL for Multiplier Verification - TACAS24 artifact

Creators

Description

VeSCMul is an ACL2-based formal verification tool for RTL multiplier designs. It can comprehensively verify various multipliers such as dot-product, multiply-add, designs whose outputs are shifted, truncated. 

"vescmul-for-tacas-ccl.zip" is a package to serve as the TACAS 2024 artifact for the VeSCMul paper. This package is designed to be used in the VM machine for TACAS 23 AEC (available at https://zenodo.org/records/7113223). This archive includes a VeSCMul executable, an ACL2 installation, Verilog files, ACL2 LISP scripts to parse and verify those designs by VeSCMul, a Makefile to easily run thousands of experiments, and a python script to collect the experimental results into a single file. 

Quick start:

  1. Download the TACAS VM machine from https://zenodo.org/records/7113223 and load it using VirtualBox
  2. Download vescmul-for-tacas-ccl.zip, and move the zip file to the Desktop directory of the VM
  3. Open a terminal in the VM
  4. cd ~/Desktop
  5. unzip vescmul-for-tacas-ccl.zip
  6. cd vescmul-for-tacas-ccl/experiments
    • Make sure you are in /home/tacas23/Desktop/vescmul-for-tacas-ccl/experiments
  7. make sample

This may finish anywhere from 5 to 30 minutes depending on the machine. "make sample" runs verification events for a small set of multiplier designs. At the end, a python script goes through all the certification output files, and collects the proof-time and memory allocation results into "result.txt". 

A more detailed README file is available in the archive. 

Some notes:

  • This archive has to be unzipped in the desktop directory of the VM (/home/tacas23/Desktop). Otherwise, the VeSCMul executable may need to be rebuilt, which can take hours (see the Debugging section in the included README file)
  • For VM, minimum of 16 GB of system memory, and 32 GB of disk space are recommended; but systems with less memory/disk space may still be able to run the experiments.
  • The VM appears to be extremely slow for VeSCMul and its auxiliary tools. This slowdown can be in the order of 10x in some machines. For example, "make sample" takes 2-3 minutes outside of a VM, on a normal OS setup; however, in VM, the same task can run for up to 30 minutes.
  • This zip archive includes thousands of benchmarks that are usually verified in a few hours (total). Given the slowness inside the VM, it may not be possible to run all the tests in a timely manner. However, running jobs can be interrupted and the results from whatever was already verified can be collected with "make collect".
  • Limited memory might cause tasks to be killed. If you see a certification error that says "killed" at the beginning, or if a "make" command fails for an unapparent reason, please try again. If the problem persists, reduce the "j" value to 1 in Makefile. 
  • On the contrary, if you are working on a very strong machine with lots of memory, you may increase the "j" value in Makefile for more parallelization (assume each job takes around 8GB of memory). 

 

Files

vescmul-for-tacas-ccl.zip

Files (1.5 GB)

Name Size Download all
md5:0adc36d6d6a2dbf58595fbf6dc1cfb56
1.5 GB Preview Download