diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2008-06-10 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2008-06-10 08:01:00 -0700 |
commit | 9d09f583b6ea1181ebd5af1654acd3432c427445 (patch) | |
tree | 2ea6fb1cc6f70871f861dd0ccbe7f8522c34c765 /readmeaig | |
parent | 9604ecb1745da3bde720cd7be5ee8f89dc6bd5ff (diff) | |
download | abc-9d09f583b6ea1181ebd5af1654acd3432c427445.tar.gz abc-9d09f583b6ea1181ebd5af1654acd3432c427445.tar.bz2 abc-9d09f583b6ea1181ebd5af1654acd3432c427445.zip |
Version abc80610
Diffstat (limited to 'readmeaig')
-rw-r--r-- | readmeaig | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/readmeaig b/readmeaig new file mode 100644 index 00000000..ba179bbd --- /dev/null +++ b/readmeaig @@ -0,0 +1,24 @@ +Using AIG Package in ABC + +- Download the latest snapshot of ABC +- Compile the code found in "abc\src\aig\aig", "abc\src\aig\saig", and "abc\src\misc\vec" as a static library. +- Link the library to the project. +- Add #include "saig.h". +- Start the AIG package using Aig_ManStart(). +- Assign primary inputs using Aig_ObjCreatePi(). +- Assign register outputs using Aig_ObjCreatePi(). +(it is important to create all PIs first, before creating register outputs). +- Construct AIG in the topological order using Aig_And(), Aig_Or(), Aig_Not(), etc. +- If constant-0/1 AIG nodes are needed, use Aig_ManConst0() or Aig_ManConst1() +- Create primary outputs using Aig_ObjCreatePo(). +- Create register inputs using Aig_ObjCreatePo(). +(it is important to create all POs first, before creating register inputs). +- Set the number of registers by calling Aig_ManSetRegNum(). +- Remove dangling AIG nodes (produced by structural hashing) using Aig_ManCleanup(). +- Call the consistency checking procedure Aig_ManCheck(). +- Dump AIG into a file using the new BLIF dumper Saig_ManDumpBlif(). +- For each object in the design annotated with the constructed AIG node (pNode), remember its AIG node ID by calling Aig_ObjId( Aig_Regular(pNode) ). To check whether the corresponding AIG node is complemented use Aig_IsComplement(pNode). +- Quit the AIG package using Aig_ManStop(). +The above process should not produce memory leaks. + + |