abcBridge-0.15: Bindings for ABC, A System for Sequential Synthesis and Verification

CopyrightGalois, Inc. 2010-2014
LicenseBSD3
Maintainerjhendrix@galois.com
Stabilityexperimental
Portabilitynon-portable (c2hs, language extensions)
Safe HaskellSafe
LanguageHaskell98

Data.ABC.Internal.ABC

Contents

Description

Incomplete. Binding of base/base/abc.h for manipulating and running algorithms on the original ABC datatypes.

This current incomplete binding focuses on functions for manipulating and-inverter graphs (AIGs).

Synopsis

Types

Enums

Opague types

Pointer types

Base

Network getters

abcNtkManName :: Field Abc_Ntk_t Nm_Man_t Source

Network name manager.

abcNtkObjs :: Abc_Ntk_t -> IO Vec_Ptr_t Source

Return array of all objects.

abcNtkPis :: Abc_Ntk_t -> IO Vec_Ptr_t Source

Return primary inputs.

abcNtkPos :: Abc_Ntk_t -> IO Vec_Ptr_t Source

Return primary outputs.

abcNtkCos :: Abc_Ntk_t -> IO Vec_Ptr_t Source

Return combinational outputs (POs, asserts, latches).

abcNtkCis :: Abc_Ntk_t -> IO Vec_Ptr_t Source

Return combinational inputs (PIs, latches)

abcNtkManFunc :: Abc_Ntk_t -> IO (Ptr ()) Source

The functionality manager varies between AbcNtkFunc. In the case of AbcFuncAig, this pointer is guaranteed to be an Abc_Aig_t.

abcNtkModel :: Abc_Ntk_t -> IO (Ptr CInt) Source

Return pointer to model associated with network.

Counting objects

Creating simple objects

abcObjNot :: Abc_Obj_t -> Abc_Obj_t Source

Negate object.

Name manager

Object getters

abcObjIsComplement :: Abc_Obj_t -> Bool Source

Return true if object is complemented.

abcObjRegular :: Abc_Obj_t -> Abc_Obj_t Source

Return normalized object.

abcObjId :: Abc_Obj_t -> IO CInt Source

Object identifier.

abcObjFanins :: Abc_Obj_t -> Vec_Int_t Source

Get object fanins.

abcObjIsAnd :: Abc_Obj_t -> IO Bool Source

Return true if this an and gate.

abcAigCleanup :: Abc_Aig_t -> IO CInt Source

abcFanio.c

Functions for manipulating fanins and fanouts of a node.

abcMiter.c

Functions for manipulating miters, a combination of two circuits that outputs 1 if the outputs of the two original circuits would have been different.

abcNames.c

Functions for manipulating the names attached to distinguished nodes. Many functions in ABC require that networks being combined be named equivalently, so adopting the canonical form by abcNtkShortNames helps avoid name mismatch errors.

abcNtk.c

Functions for allocating and deleting networks, each of which manages the memory of all nodes and other locations attached to it.

abcNtkDup :: Abc_Ntk_t -> IO Abc_Ntk_t Source

Duplicate a network, allocating memory for the new network. This procedure does not preserve the Id of objects.

abcObj.c

Functions for manipulating objects in networks.

abcProve.c

Functions for performing SAT solving.

abcVerify.c

Functions for creating and testing counterexample models.

abcBrdige_qbf