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