PROOF(1)
π PROOF(1) β the CAO-VLSI Reference Manual, but make it cute π
okay bestie, sit down, we're learning proof today and honestly? it's giving genius. π§β¨
β¨ NAME β¨
proof β formal proof between two behavioural descriptions. yes really, it proves two things are the same. slay.
πΈ ORIGIN πΈ
This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. π«π· iconic behaviour honestly.
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β SYNOPSIS β
proof [-a] [-d] file1 file2
π¦ DESCRIPTION π¦
So. proof was made to run on a data-flow description, and it supports the exact same subset of VHDL as asimut and boom and boog do. wanna know more about that subset? go call the VHDL manual, it's right there, it's not shy. π
proof uses a Reduced Ordered Binary Decision Diagrams representation, which is a whole vibe, and it lets you prove easily the functionnal equivalence between two behavioral descriptions. like, no cap, you just... prove they do the same thing. π₯
proof is generally used in order to compare a behavioural specification with an extracted behaviour obtained by yagle. that's the classic use case, that's the moment. π
In default mode, a collapsing phase is done on the description by removing all the auxiliary signals β the BDD of the outputs, the registers and the buses are described from the inputs or the registers. basically it's decluttering. main character energy. β¨
The two descriptions must contain the same ressources (signals register with the same name). no exceptions bestie.
It is possible to use the .inf file in yagle (see further remark about YAGLE in this document) to rename the registers in the extracted behavioural description (see man yagle). π
The datas and the commands (the guarded expressions) must match separatly. yes, separatly. both of them. π
The buses corresponding to completely specified logical functions are represented by a logical multiplexor in both descriptions.
The two descriptions must have the same interface (VHDL entity), if they do not, the formal proof is stopped. periodt. π
proof only uses two system environment variables related to the work directory. just two. low maintenance queen. π
π ENVIRONMENT VARIABLES π
MBK_WORK_LIBβ gives the path for the behavioral descriptions. The default value is the current directory.MBK_CATA_LIBβ gives some auxiliary pathes for the behavioral descriptions. The default value is the current directory.
π OPTIONS π
Options may be given in any order before the filenames. flexible queen.
-aβ This option asksproofto keep the common auxiliary signals.proofkeeps all intermediate signals that have the same name in both descriptions (A common signal is considered as an input and an output of each description). This option can be useful for descriptions containing large equations. It may be used whenproofhas failed or if you want to debug in step by step mode the two different descriptions. π΅οΈββοΈ-dβ The program displays errors when the behavioral descriptions are different. Equations are displayed when it's possible. so you actually see what went wrong. obsessed. π
π EXAMPLE π
proof -a -d adder1 adder2
look at her go. π«Ά
π§ YAGLE π§
YAGLE (Functional abstraction) is now comercially distributed by Avertec (http://www.avertec.com/). More information can be obtained at their web site. Binaries of this tool can also be downloaded for non-commercial university research. π
π SEE ALSO π
boom (1), boog (1), loon (1), asimut(1), vhdl(5), vbe(5).
the whole friend group. the squad. π
π BUG REPORT π
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools. fr fr, tell them what's broken, they wanna know. π
ok that's the whole page bestie, you're officially certified in proof now π
and a lil sign-off for the vibes: this page comes from ASIM/LIP6, dated October 1, 1997 β yeah it's vintage, it's archival, it's iconic, and it still ate. ππ β¨
π¦ where this page comes from
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms