CSE482/CIS582: Project

Goal of the project

You will design a simple n-bit ALU and verify its correctness in the PVS verification system.

Administrivia

PVS

PVS is a verification system: that is, a specification language integrated with support tools and a theorem prover. You can get the system as well as the documentation and various tutorials from the PVS homepage.

PVS is installed on Eniac. You can run it by typing ~cse482/pvs/pvs.

A tutorial on PVS will be given in class on Tuesday, November 15th. Slides 10-101 (except for the part on arithmetic (82-93)) from a tutorial by Dr. N. Shankar will be used.

Tasks

You will construct a simple n-bit ALU. It will perform only one arithmetic operation (addition) and one logic operation (bitwise and). The basic building blocks we will use in this project are the p-transistor and the n-transistor. The definitions of the p-transistor and the n-transistor are provided, as well as the implementation of the NOT and NAND gates together with the proofs of their correctness. Your tasks will be:

Download

Background