Copyright | (c) Galois, Inc. 2010-2014 |
---|---|
License | BSD3 |
Maintainer | jhendrix@galois.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
Contains main interface to ABC, a system for sequential synthesis and verification.
ABC provides many functions for manipulating Boolean networks. Internally, ABC provides two different ways of representing them: the older AIG interface, and a newer GIA interface. This library exposes both interfaces, along with a handful of functions for manipulating them.
- initialize :: IO ()
- unsafeCleanup :: IO ()
- data AIG s
- type AIGLit = Lit
- aigNetwork :: Proxy AIGLit AIG
- newAIG :: IO (SomeGraph AIG)
- readAigerAsAIG :: FilePath -> IO (Network AIGLit AIG)
- data GIA s
- type GIALit = Lit
- giaNetwork :: Proxy GIALit GIA
- newGIA :: IO (SomeGraph GIA)
- readAigerAsGIA :: FilePath -> IO (Network GIALit GIA)
- module Data.AIG
Library setup and teardown
initialize :: IO () Source
Initializes the ABC engine. This function may be safely called multiple times. Higher-level functions will automatically call this function, so it is only needed if using the FFI interfaces directly.
unsafeCleanup :: IO () Source
Deinitializes the ABC engine. ABC operations may not be run after this function is called. Use with care; this may cause ABC datatypes to stop working.
Standard ABC interface
aigNetwork :: Proxy AIGLit AIG Source
Proxy for AIG interface.
New style ABC representation
giaNetwork :: Proxy GIALit GIA Source
Proxy for GIA interface.
module Data.AIG