Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abc
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
abc
Commits
e94ccfd3
Commit
e94ccfd3
authored
May 08, 2008
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Version abc80508
parent
6175fcb8
Hide whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
488 additions
and
79 deletions
+488
-79
abc.dsp
+5
-1
src/aig/aig/aig.h
+1
-0
src/aig/aig/aigDup.c
+2
-0
src/aig/aig/aigMan.c
+1
-1
src/aig/aig/aigObj.c
+4
-2
src/aig/aig/aigTsim.c
+2
-2
src/aig/aig/aigUtil.c
+88
-0
src/aig/bbr/bbrImage.c
+3
-3
src/aig/bbr/module.make
+1
-1
src/aig/cnf/cnf.h
+1
-0
src/aig/cnf/cnfMan.c
+24
-0
src/aig/cnf/cnfWrite.c
+12
-3
src/aig/dar/darBalance.c
+1
-1
src/aig/fra/fra.h
+1
-1
src/aig/fra/fraCec.c
+5
-3
src/aig/fra/fraClaus.c
+10
-5
src/aig/fra/fraHot.c
+2
-1
src/aig/fra/fraMan.c
+2
-1
src/aig/fra/fraSec.c
+15
-9
src/aig/saig/module.make
+1
-0
src/aig/saig/saig.h
+2
-0
src/aig/saig/saigPhase.c
+10
-4
src/aig/saig/saigRetMin.c
+6
-0
src/aig/saig/saigRetStep.c
+202
-0
src/base/abc/abcShow.c
+1
-1
src/base/abci/abc.c
+18
-8
src/base/abci/abcDar.c
+36
-0
src/base/abci/abcDress.c
+1
-1
src/base/cmd/cmd.c
+1
-1
src/base/io/io.c
+1
-1
src/base/io/ioAbc.h
+2
-2
src/base/io/ioReadAiger.c
+2
-2
src/base/io/ioReadBaf.c
+1
-1
src/base/io/ioReadBench.c
+1
-1
src/base/io/ioReadBlif.c
+1
-1
src/base/io/ioReadBlifMv.c
+1
-1
src/base/io/ioReadDsd.c
+1
-1
src/base/io/ioReadEdif.c
+1
-1
src/base/io/ioReadEqn.c
+1
-1
src/base/io/ioReadPla.c
+1
-1
src/base/io/ioReadVerilog.c
+1
-1
src/base/io/ioUtil.c
+1
-1
src/base/io/ioWriteAiger.c
+1
-1
src/base/io/ioWriteBaf.c
+1
-1
src/base/io/ioWriteBench.c
+1
-1
src/base/io/ioWriteBlif.c
+1
-1
src/base/io/ioWriteBlifMv.c
+1
-1
src/base/io/ioWriteCnf.c
+1
-1
src/base/io/ioWriteDot.c
+1
-1
src/base/io/ioWriteEqn.c
+1
-1
src/base/io/ioWriteGml.c
+1
-1
src/base/io/ioWriteList.c
+1
-1
src/base/io/ioWritePla.c
+1
-1
src/base/io/ioWriteVerilog.c
+1
-1
src/base/io/io_.c
+1
-1
src/base/main/main.h
+1
-1
src/opt/fret/fretInit.c
+1
-1
No files found.
abc.dsp
View file @
e94ccfd3
...
@@ -462,7 +462,7 @@ SOURCE=.\src\base\io\io.c
...
@@ -462,7 +462,7 @@ SOURCE=.\src\base\io\io.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
SOURCE=.\src\base\io\io.h
SOURCE=.\src\base\io\io
abc
.h
# End Source File
# End Source File
# Begin Source File
# Begin Source File
...
@@ -3266,6 +3266,10 @@ SOURCE=.\src\aig\saig\saigRetMin.c
...
@@ -3266,6 +3266,10 @@ SOURCE=.\src\aig\saig\saigRetMin.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
SOURCE=.\src\aig\saig\saigRetStep.c
# End Source File
# Begin Source File
SOURCE=.\src\aig\saig\saigScl.c
SOURCE=.\src\aig\saig\saigScl.c
# End Source File
# End Source File
# End Group
# End Group
...
...
src/aig/aig/aig.h
View file @
e94ccfd3
...
@@ -622,6 +622,7 @@ extern void Aig_ManDumpVerilog( Aig_Man_t * p, char * pFileName );
...
@@ -622,6 +622,7 @@ extern void Aig_ManDumpVerilog( Aig_Man_t * p, char * pFileName );
extern
void
Aig_ManSetPioNumbers
(
Aig_Man_t
*
p
);
extern
void
Aig_ManSetPioNumbers
(
Aig_Man_t
*
p
);
extern
void
Aig_ManCleanPioNumbers
(
Aig_Man_t
*
p
);
extern
void
Aig_ManCleanPioNumbers
(
Aig_Man_t
*
p
);
extern
int
Aig_ManCountChoices
(
Aig_Man_t
*
p
);
extern
int
Aig_ManCountChoices
(
Aig_Man_t
*
p
);
extern
unsigned
Aig_ManRandom
(
int
fReset
);
/*=== aigWin.c =========================================================*/
/*=== aigWin.c =========================================================*/
extern
void
Aig_ManFindCut
(
Aig_Obj_t
*
pRoot
,
Vec_Ptr_t
*
vFront
,
Vec_Ptr_t
*
vVisited
,
int
nSizeLimit
,
int
nFanoutLimit
);
extern
void
Aig_ManFindCut
(
Aig_Obj_t
*
pRoot
,
Vec_Ptr_t
*
vFront
,
Vec_Ptr_t
*
vVisited
,
int
nSizeLimit
,
int
nFanoutLimit
);
...
...
src/aig/aig/aigDup.c
View file @
e94ccfd3
...
@@ -118,6 +118,8 @@ Aig_Man_t * Aig_ManDupOrdered( Aig_Man_t * p )
...
@@ -118,6 +118,8 @@ Aig_Man_t * Aig_ManDupOrdered( Aig_Man_t * p )
pNew
->
pName
=
Aig_UtilStrsav
(
p
->
pName
);
pNew
->
pName
=
Aig_UtilStrsav
(
p
->
pName
);
pNew
->
pSpec
=
Aig_UtilStrsav
(
p
->
pSpec
);
pNew
->
pSpec
=
Aig_UtilStrsav
(
p
->
pSpec
);
pNew
->
nRegs
=
p
->
nRegs
;
pNew
->
nRegs
=
p
->
nRegs
;
pNew
->
nTruePis
=
p
->
nTruePis
;
pNew
->
nTruePos
=
p
->
nTruePos
;
pNew
->
nAsserts
=
p
->
nAsserts
;
pNew
->
nAsserts
=
p
->
nAsserts
;
if
(
p
->
vFlopNums
)
if
(
p
->
vFlopNums
)
pNew
->
vFlopNums
=
Vec_IntDup
(
p
->
vFlopNums
);
pNew
->
vFlopNums
=
Vec_IntDup
(
p
->
vFlopNums
);
...
...
src/aig/aig/aigMan.c
View file @
e94ccfd3
...
@@ -216,7 +216,7 @@ void Aig_ManStop( Aig_Man_t * p )
...
@@ -216,7 +216,7 @@ void Aig_ManStop( Aig_Man_t * p )
FREE
(
p
->
pObjCopies
);
FREE
(
p
->
pObjCopies
);
FREE
(
p
->
pReprs
);
FREE
(
p
->
pReprs
);
FREE
(
p
->
pEquivs
);
FREE
(
p
->
pEquivs
);
free
(
p
->
pTable
);
//
free( p->pTable );
free
(
p
);
free
(
p
);
}
}
...
...
src/aig/aig/aigObj.c
View file @
e94ccfd3
...
@@ -361,7 +361,8 @@ void Aig_ObjReplace( Aig_Man_t * p, Aig_Obj_t * pObjOld, Aig_Obj_t * pObjNew, in
...
@@ -361,7 +361,8 @@ void Aig_ObjReplace( Aig_Man_t * p, Aig_Obj_t * pObjOld, Aig_Obj_t * pObjNew, in
// the object to be replaced cannot be complemented
// the object to be replaced cannot be complemented
assert
(
!
Aig_IsComplement
(
pObjOld
)
);
assert
(
!
Aig_IsComplement
(
pObjOld
)
);
// the object to be replaced cannot be a terminal
// the object to be replaced cannot be a terminal
assert
(
!
Aig_ObjIsPi
(
pObjOld
)
&&
!
Aig_ObjIsPo
(
pObjOld
)
);
// assert( !Aig_ObjIsPi(pObjOld) && !Aig_ObjIsPo(pObjOld) );
assert
(
!
Aig_ObjIsPo
(
pObjOld
)
);
// the object to be used cannot be a buffer or a PO
// the object to be used cannot be a buffer or a PO
assert
(
!
Aig_ObjIsBuf
(
pObjNewR
)
&&
!
Aig_ObjIsPo
(
pObjNewR
)
);
assert
(
!
Aig_ObjIsBuf
(
pObjNewR
)
&&
!
Aig_ObjIsPo
(
pObjNewR
)
);
// the object cannot be the same
// the object cannot be the same
...
@@ -371,7 +372,8 @@ void Aig_ObjReplace( Aig_Man_t * p, Aig_Obj_t * pObjOld, Aig_Obj_t * pObjNew, in
...
@@ -371,7 +372,8 @@ void Aig_ObjReplace( Aig_Man_t * p, Aig_Obj_t * pObjOld, Aig_Obj_t * pObjNew, in
assert
(
pObjOld
!=
Aig_ObjFanin1
(
pObjNewR
)
);
assert
(
pObjOld
!=
Aig_ObjFanin1
(
pObjNewR
)
);
// recursively delete the old node - but leave the object there
// recursively delete the old node - but leave the object there
pObjNewR
->
nRefs
++
;
pObjNewR
->
nRefs
++
;
Aig_ObjDelete_rec
(
p
,
pObjOld
,
0
);
if
(
!
Aig_ObjIsPi
(
pObjOld
)
)
Aig_ObjDelete_rec
(
p
,
pObjOld
,
0
);
pObjNewR
->
nRefs
--
;
pObjNewR
->
nRefs
--
;
// if the new object is complemented or already used, create a buffer
// if the new object is complemented or already used, create a buffer
p
->
nObjs
[
pObjOld
->
Type
]
--
;
p
->
nObjs
[
pObjOld
->
Type
]
--
;
...
...
src/aig/aig/aigTsim.c
View file @
e94ccfd3
...
@@ -53,13 +53,13 @@ static inline int Aig_XsimAnd( int Value0, int Value1 )
...
@@ -53,13 +53,13 @@ static inline int Aig_XsimAnd( int Value0, int Value1 )
}
}
static
inline
int
Aig_XsimRand2
()
static
inline
int
Aig_XsimRand2
()
{
{
return
(
rand
(
)
&
1
)
?
AIG_XVS1
:
AIG_XVS0
;
return
(
Aig_ManRandom
(
0
)
&
1
)
?
AIG_XVS1
:
AIG_XVS0
;
}
}
static
inline
int
Aig_XsimRand3
()
static
inline
int
Aig_XsimRand3
()
{
{
int
RetValue
;
int
RetValue
;
do
{
do
{
RetValue
=
rand
(
)
&
3
;
RetValue
=
Aig_ManRandom
(
0
)
&
3
;
}
while
(
RetValue
==
0
);
}
while
(
RetValue
==
0
);
return
RetValue
;
return
RetValue
;
}
}
...
...
src/aig/aig/aigUtil.c
View file @
e94ccfd3
...
@@ -990,6 +990,94 @@ void Aig_ManPrintControlFanouts( Aig_Man_t * p )
...
@@ -990,6 +990,94 @@ void Aig_ManPrintControlFanouts( Aig_Man_t * p )
}
}
}
}
/**Function*************************************************************
Synopsis [Creates a sequence or random numbers.]
Description []
SideEffects []
SeeAlso [http://en.wikipedia.org/wiki/LFSR]
***********************************************************************/
void
Aig_ManRandomTest2
()
{
FILE
*
pFile
;
unsigned
int
lfsr
=
1
;
unsigned
int
period
=
0
;
pFile
=
fopen
(
"rand.txt"
,
"w"
);
do
{
// lfsr = (lfsr >> 1) ^ (-(lfsr & 1u) & 0xd0000001u); // taps 32 31 29 1
lfsr
=
1
;
// to prevent the warning
++
period
;
fprintf
(
pFile
,
"%10d : %10d "
,
period
,
lfsr
);
// Extra_PrintBinary( pFile, &lfsr, 32 );
fprintf
(
pFile
,
"
\n
"
);
if
(
period
==
20000
)
break
;
}
while
(
lfsr
!=
1u
);
fclose
(
pFile
);
}
/**Function*************************************************************
Synopsis [Creates a sequence or random numbers.]
Description []
SideEffects []
SeeAlso [http://www.codeproject.com/KB/recipes/SimpleRNG.aspx]
***********************************************************************/
void
Aig_ManRandomTest1
()
{
FILE
*
pFile
;
unsigned
int
lfsr
;
unsigned
int
period
=
0
;
pFile
=
fopen
(
"rand.txt"
,
"w"
);
do
{
lfsr
=
Aig_ManRandom
(
0
);
++
period
;
fprintf
(
pFile
,
"%10d : %10d "
,
period
,
lfsr
);
// Extra_PrintBinary( pFile, &lfsr, 32 );
fprintf
(
pFile
,
"
\n
"
);
if
(
period
==
20000
)
break
;
}
while
(
lfsr
!=
1u
);
fclose
(
pFile
);
}
#define NUMBER1 3716960521
#define NUMBER2 2174103536
/**Function*************************************************************
Synopsis [Creates a sequence or random numbers.]
Description []
SideEffects []
SeeAlso [http://www.codeproject.com/KB/recipes/SimpleRNG.aspx]
***********************************************************************/
unsigned
Aig_ManRandom
(
int
fReset
)
{
static
unsigned
int
m_z
=
NUMBER1
;
static
unsigned
int
m_w
=
NUMBER2
;
if
(
fReset
)
{
m_z
=
NUMBER1
;
m_w
=
NUMBER2
;
}
m_z
=
36969
*
(
m_z
&
65535
)
+
(
m_z
>>
16
);
m_w
=
18000
*
(
m_w
&
65535
)
+
(
m_w
>>
16
);
return
(
m_z
<<
16
)
+
m_w
;
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
/// END OF FILE ///
...
...
src/aig/bbr/bbrImage.c
View file @
e94ccfd3
...
@@ -89,7 +89,7 @@ struct Bbr_ImageVar_t_
...
@@ -89,7 +89,7 @@ struct Bbr_ImageVar_t_
/* Macro declarations */
/* Macro declarations */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
#define BDD_BLOW_UP
1
000000
#define BDD_BLOW_UP
2
000000
#define b0 Cudd_Not((dd)->one)
#define b0 Cudd_Not((dd)->one)
#define b1 (dd)->one
#define b1 (dd)->one
...
@@ -698,7 +698,7 @@ int Bbr_bddImageCompute_rec( Bbr_ImageTree_t * pTree, Bbr_ImageNode_t * pNode )
...
@@ -698,7 +698,7 @@ int Bbr_bddImageCompute_rec( Bbr_ImageTree_t * pTree, Bbr_ImageNode_t * pNode )
if
(
pTree
->
nNodesMax
<
nNodes
)
if
(
pTree
->
nNodesMax
<
nNodes
)
pTree
->
nNodesMax
=
nNodes
;
pTree
->
nNodesMax
=
nNodes
;
}
}
if
(
dd
->
keys
>
BDD_BLOW_UP
)
if
(
dd
->
keys
-
dd
->
dead
>
BDD_BLOW_UP
)
return
0
;
return
0
;
return
1
;
return
1
;
}
}
...
@@ -808,7 +808,7 @@ int Bbr_BuildTreeNode( DdManager * dd,
...
@@ -808,7 +808,7 @@ int Bbr_BuildTreeNode( DdManager * dd,
}
}
*
pfStop
=
0
;
*
pfStop
=
0
;
if
(
dd
->
keys
>
BDD_BLOW_UP
)
if
(
dd
->
keys
-
dd
->
dead
>
BDD_BLOW_UP
)
{
{
*
pfStop
=
1
;
*
pfStop
=
1
;
return
0
;
return
0
;
...
...
src/aig/bbr/module.make
View file @
e94ccfd3
SRC
+=
src/aig/bbr/bbrImage.c
\
SRC
+=
src/aig/bbr/bbrImage.c
\
src/aig/bbr/bbrNtbdd.c
\
src/aig/bbr/bbrNtbdd.c
\
src/aig/b
d
r/bbrReach.c
src/aig/b
b
r/bbrReach.c
src/aig/cnf/cnf.h
View file @
e94ccfd3
...
@@ -138,6 +138,7 @@ extern void Cnf_DataFree( Cnf_Dat_t * p );
...
@@ -138,6 +138,7 @@ extern void Cnf_DataFree( Cnf_Dat_t * p );
extern
void
Cnf_DataLift
(
Cnf_Dat_t
*
p
,
int
nVarsPlus
);
extern
void
Cnf_DataLift
(
Cnf_Dat_t
*
p
,
int
nVarsPlus
);
extern
void
Cnf_DataWriteIntoFile
(
Cnf_Dat_t
*
p
,
char
*
pFileName
,
int
fReadable
);
extern
void
Cnf_DataWriteIntoFile
(
Cnf_Dat_t
*
p
,
char
*
pFileName
,
int
fReadable
);
void
*
Cnf_DataWriteIntoSolver
(
Cnf_Dat_t
*
p
,
int
nFrames
,
int
fInit
);
void
*
Cnf_DataWriteIntoSolver
(
Cnf_Dat_t
*
p
,
int
nFrames
,
int
fInit
);
extern
void
Cnf_DataWriteOrClause
(
void
*
pSat
,
Cnf_Dat_t
*
pCnf
);
/*=== cnfMap.c ========================================================*/
/*=== cnfMap.c ========================================================*/
extern
void
Cnf_DeriveMapping
(
Cnf_Man_t
*
p
);
extern
void
Cnf_DeriveMapping
(
Cnf_Man_t
*
p
);
extern
int
Cnf_ManMapForCnf
(
Cnf_Man_t
*
p
);
extern
int
Cnf_ManMapForCnf
(
Cnf_Man_t
*
p
);
...
...
src/aig/cnf/cnfMan.c
View file @
e94ccfd3
...
@@ -326,6 +326,30 @@ void * Cnf_DataWriteIntoSolver( Cnf_Dat_t * p, int nFrames, int fInit )
...
@@ -326,6 +326,30 @@ void * Cnf_DataWriteIntoSolver( Cnf_Dat_t * p, int nFrames, int fInit )
return
pSat
;
return
pSat
;
}
}
/**Function*************************************************************
Synopsis [Adds the OR-clause.]
Description []
SideEffects []
SeeAlso []
***********************************************************************/
void
Cnf_DataWriteOrClause
(
void
*
p
,
Cnf_Dat_t
*
pCnf
)
{
sat_solver
*
pSat
=
p
;
Aig_Obj_t
*
pObj
;
int
i
,
*
pLits
;
pLits
=
ALLOC
(
int
,
Aig_ManPoNum
(
pCnf
->
pMan
)
);
Aig_ManForEachPo
(
pCnf
->
pMan
,
pObj
,
i
)
pLits
[
i
]
=
toLitCond
(
pCnf
->
pVarNums
[
pObj
->
Id
],
0
);
if
(
!
sat_solver_addclause
(
pSat
,
pLits
,
pLits
+
Aig_ManPoNum
(
pCnf
->
pMan
)
)
)
assert
(
0
);
free
(
pLits
);
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
...
...
src/aig/cnf/cnfWrite.c
View file @
e94ccfd3
...
@@ -221,9 +221,18 @@ Cnf_Dat_t * Cnf_ManWriteCnf( Cnf_Man_t * p, Vec_Ptr_t * vMapped, int nOutputs )
...
@@ -221,9 +221,18 @@ Cnf_Dat_t * Cnf_ManWriteCnf( Cnf_Man_t * p, Vec_Ptr_t * vMapped, int nOutputs )
Number
=
1
;
Number
=
1
;
if
(
nOutputs
)
if
(
nOutputs
)
{
{
assert
(
nOutputs
==
Aig_ManRegNum
(
p
->
pManAig
)
);
if
(
Aig_ManRegNum
(
p
->
pManAig
)
==
0
)
Aig_ManForEachLiSeq
(
p
->
pManAig
,
pObj
,
i
)
{
pCnf
->
pVarNums
[
pObj
->
Id
]
=
Number
++
;
assert
(
nOutputs
==
Aig_ManPoNum
(
p
->
pManAig
)
);
Aig_ManForEachPo
(
p
->
pManAig
,
pObj
,
i
)
pCnf
->
pVarNums
[
pObj
->
Id
]
=
Number
++
;
}
else
{
assert
(
nOutputs
==
Aig_ManRegNum
(
p
->
pManAig
)
);
Aig_ManForEachLiSeq
(
p
->
pManAig
,
pObj
,
i
)
pCnf
->
pVarNums
[
pObj
->
Id
]
=
Number
++
;
}
}
}
// assign variables to the internal nodes
// assign variables to the internal nodes
Vec_PtrForEachEntry
(
vMapped
,
pObj
,
i
)
Vec_PtrForEachEntry
(
vMapped
,
pObj
,
i
)
...
...
src/aig/dar/darBalance.c
View file @
e94ccfd3
...
@@ -220,7 +220,7 @@ void Dar_BalancePermute( Aig_Man_t * p, Vec_Ptr_t * vSuper, int LeftBound, int f
...
@@ -220,7 +220,7 @@ void Dar_BalancePermute( Aig_Man_t * p, Vec_Ptr_t * vSuper, int LeftBound, int f
/*
/*
// we did not find the node to share, randomize choice
// we did not find the node to share, randomize choice
{
{
int Choice =
rand(
) % (RightBound - LeftBound + 1);
int Choice =
Aig_ManRandom(0
) % (RightBound - LeftBound + 1);
pObj3 = Vec_PtrEntry( vSuper, LeftBound + Choice );
pObj3 = Vec_PtrEntry( vSuper, LeftBound + Choice );
if ( pObj3 == pObj2 )
if ( pObj3 == pObj2 )
return;
return;
...
...
src/aig/fra/fra.h
View file @
e94ccfd3
...
@@ -226,7 +226,7 @@ struct Fra_Man_t_
...
@@ -226,7 +226,7 @@ struct Fra_Man_t_
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
static
inline
unsigned
*
Fra_ObjSim
(
Fra_Sml_t
*
p
,
int
Id
)
{
return
p
->
pData
+
p
->
nWordsTotal
*
Id
;
}
static
inline
unsigned
*
Fra_ObjSim
(
Fra_Sml_t
*
p
,
int
Id
)
{
return
p
->
pData
+
p
->
nWordsTotal
*
Id
;
}
static
inline
unsigned
Fra_ObjRandomSim
()
{
return
(
rand
()
<<
24
)
^
(
rand
()
<<
12
)
^
rand
();
}
static
inline
unsigned
Fra_ObjRandomSim
()
{
return
Aig_ManRandom
(
0
);
}
static
inline
Aig_Obj_t
*
Fra_ObjFraig
(
Aig_Obj_t
*
pObj
,
int
i
)
{
return
((
Fra_Man_t
*
)
pObj
->
pData
)
->
pMemFraig
[((
Fra_Man_t
*
)
pObj
->
pData
)
->
nFramesAll
*
pObj
->
Id
+
i
];
}
static
inline
Aig_Obj_t
*
Fra_ObjFraig
(
Aig_Obj_t
*
pObj
,
int
i
)
{
return
((
Fra_Man_t
*
)
pObj
->
pData
)
->
pMemFraig
[((
Fra_Man_t
*
)
pObj
->
pData
)
->
nFramesAll
*
pObj
->
Id
+
i
];
}
static
inline
void
Fra_ObjSetFraig
(
Aig_Obj_t
*
pObj
,
int
i
,
Aig_Obj_t
*
pNode
)
{
((
Fra_Man_t
*
)
pObj
->
pData
)
->
pMemFraig
[((
Fra_Man_t
*
)
pObj
->
pData
)
->
nFramesAll
*
pObj
->
Id
+
i
]
=
pNode
;
}
static
inline
void
Fra_ObjSetFraig
(
Aig_Obj_t
*
pObj
,
int
i
,
Aig_Obj_t
*
pNode
)
{
((
Fra_Man_t
*
)
pObj
->
pData
)
->
pMemFraig
[((
Fra_Man_t
*
)
pObj
->
pData
)
->
nFramesAll
*
pObj
->
Id
+
i
]
=
pNode
;
}
...
...
src/aig/fra/fraCec.c
View file @
e94ccfd3
...
@@ -47,14 +47,16 @@ int Fra_FraigSat( Aig_Man_t * pMan, sint64 nConfLimit, sint64 nInsLimit, int fVe
...
@@ -47,14 +47,16 @@ int Fra_FraigSat( Aig_Man_t * pMan, sint64 nConfLimit, sint64 nInsLimit, int fVe
int
status
,
RetValue
,
clk
=
clock
();
int
status
,
RetValue
,
clk
=
clock
();
Vec_Int_t
*
vCiIds
;
Vec_Int_t
*
vCiIds
;
assert
(
Aig_Man
PoNum
(
pMan
)
==
1
);
assert
(
Aig_Man
RegNum
(
pMan
)
==
0
);
pMan
->
pData
=
NULL
;
pMan
->
pData
=
NULL
;
// derive CNF
// derive CNF
pCnf
=
Cnf_Derive
(
pMan
,
0
);
pCnf
=
Cnf_Derive
(
pMan
,
Aig_ManPoNum
(
pMan
)
);
// pCnf = Cnf_DeriveSimple( pMan,
0
);
// pCnf = Cnf_DeriveSimple( pMan,
Aig_ManPoNum(pMan)
);
// convert into the SAT solver
// convert into the SAT solver
pSat
=
Cnf_DataWriteIntoSolver
(
pCnf
,
1
,
0
);
pSat
=
Cnf_DataWriteIntoSolver
(
pCnf
,
1
,
0
);
// add the OR clause for the outputs
Cnf_DataWriteOrClause
(
pSat
,
pCnf
);
vCiIds
=
Cnf_DataCollectPiSatNums
(
pCnf
,
pMan
);
vCiIds
=
Cnf_DataCollectPiSatNums
(
pCnf
,
pMan
);
Cnf_DataFree
(
pCnf
);
Cnf_DataFree
(
pCnf
);
// solve SAT
// solve SAT
...
...
src/aig/fra/fraClaus.c
View file @
e94ccfd3
...
@@ -606,7 +606,8 @@ int Fra_ClausProcessClauses( Clu_Man_t * p, int fRefs )
...
@@ -606,7 +606,8 @@ int Fra_ClausProcessClauses( Clu_Man_t * p, int fRefs )
// simulate the AIG
// simulate the AIG
clk
=
clock
();
clk
=
clock
();
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
pSeq
=
Fra_SmlSimulateSeq
(
p
->
pAig
,
0
,
p
->
nPref
+
p
->
nSimFrames
,
p
->
nSimWords
/
p
->
nSimFrames
);
pSeq
=
Fra_SmlSimulateSeq
(
p
->
pAig
,
0
,
p
->
nPref
+
p
->
nSimFrames
,
p
->
nSimWords
/
p
->
nSimFrames
);
if
(
p
->
fTarget
&&
pSeq
->
fNonConstOut
)
if
(
p
->
fTarget
&&
pSeq
->
fNonConstOut
)
{
{
...
@@ -661,7 +662,8 @@ PRT( "Infoseq", clock() - clk );
...
@@ -661,7 +662,8 @@ PRT( "Infoseq", clock() - clk );
// perform combinational simulation
// perform combinational simulation
clk
=
clock
();
clk
=
clock
();
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
p
->
nSimWords
+
p
->
nSimWordsPref
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
p
->
nSimWords
+
p
->
nSimWordsPref
);
if
(
p
->
fVerbose
)
if
(
p
->
fVerbose
)
{
{
...
@@ -728,7 +730,8 @@ int Fra_ClausProcessClauses2( Clu_Man_t * p, int fRefs )
...
@@ -728,7 +730,8 @@ int Fra_ClausProcessClauses2( Clu_Man_t * p, int fRefs )
// simulate the AIG
// simulate the AIG
clk
=
clock
();
clk
=
clock
();
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
pSeq
=
Fra_SmlSimulateSeq
(
p
->
pAig
,
0
,
p
->
nPref
+
p
->
nSimFrames
,
p
->
nSimWords
/
p
->
nSimFrames
);
pSeq
=
Fra_SmlSimulateSeq
(
p
->
pAig
,
0
,
p
->
nPref
+
p
->
nSimFrames
,
p
->
nSimWords
/
p
->
nSimFrames
);
if
(
p
->
fTarget
&&
pSeq
->
fNonConstOut
)
if
(
p
->
fTarget
&&
pSeq
->
fNonConstOut
)
{
{
...
@@ -743,7 +746,8 @@ if ( p->fVerbose )
...
@@ -743,7 +746,8 @@ if ( p->fVerbose )
// perform combinational simulation
// perform combinational simulation
clk
=
clock
();
clk
=
clock
();
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
p
->
nSimWords
+
p
->
nSimWordsPref
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
p
->
nSimWords
+
p
->
nSimWordsPref
);
if
(
p
->
fVerbose
)
if
(
p
->
fVerbose
)
{
{
...
@@ -1614,7 +1618,8 @@ void Fra_ClausEstimateCoverage( Clu_Man_t * p )
...
@@ -1614,7 +1618,8 @@ void Fra_ClausEstimateCoverage( Clu_Man_t * p )
int
*
pStart
,
*
pVar2Id
;
int
*
pStart
,
*
pVar2Id
;
int
clk
=
clock
();
int
clk
=
clock
();
// simulate the circuit with nCombSimWords * 32 = 64K patterns
// simulate the circuit with nCombSimWords * 32 = 64K patterns
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
nCombSimWords
);
pComb
=
Fra_SmlSimulateComb
(
p
->
pAig
,
nCombSimWords
);
// create mapping from SAT vars to node IDs
// create mapping from SAT vars to node IDs
pVar2Id
=
ALLOC
(
int
,
p
->
pCnf
->
nVars
);
pVar2Id
=
ALLOC
(
int
,
p
->
pCnf
->
nVars
);
...
...
src/aig/fra/fraHot.c
View file @
e94ccfd3
...
@@ -333,7 +333,8 @@ void Fra_OneHotEstimateCoverage( Fra_Man_t * p, Vec_Int_t * vOneHots )
...
@@ -333,7 +333,8 @@ void Fra_OneHotEstimateCoverage( Fra_Man_t * p, Vec_Int_t * vOneHots )
// generate random sim-info at register outputs
// generate random sim-info at register outputs
vSimInfo
=
Vec_PtrAllocSimInfo
(
nRegs
+
1
,
nSimWords
);
vSimInfo
=
Vec_PtrAllocSimInfo
(
nRegs
+
1
,
nSimWords
);
srand
(
0xAABBAABB
);
// srand( 0xAABBAABB );
Aig_ManRandom
(
1
);
for
(
i
=
0
;
i
<
nRegs
;
i
++
)
for
(
i
=
0
;
i
<
nRegs
;
i
++
)
{
{
pSim1
=
Vec_PtrEntry
(
vSimInfo
,
i
);
pSim1
=
Vec_PtrEntry
(
vSimInfo
,
i
);
...
...
src/aig/fra/fraMan.c
View file @
e94ccfd3
...
@@ -120,7 +120,8 @@ Fra_Man_t * Fra_ManStart( Aig_Man_t * pManAig, Fra_Par_t * pPars )
...
@@ -120,7 +120,8 @@ Fra_Man_t * Fra_ManStart( Aig_Man_t * pManAig, Fra_Par_t * pPars )
p
->
pMemFraig
=
ALLOC
(
Aig_Obj_t
*
,
p
->
nSizeAlloc
*
p
->
nFramesAll
);
p
->
pMemFraig
=
ALLOC
(
Aig_Obj_t
*
,
p
->
nSizeAlloc
*
p
->
nFramesAll
);
memset
(
p
->
pMemFraig
,
0
,
sizeof
(
Aig_Obj_t
*
)
*
p
->
nSizeAlloc
*
p
->
nFramesAll
);
memset
(
p
->
pMemFraig
,
0
,
sizeof
(
Aig_Obj_t
*
)
*
p
->
nSizeAlloc
*
p
->
nFramesAll
);
// set random number generator
// set random number generator
srand
(
0xABCABC
);
// srand( 0xABCABC );
Aig_ManRandom
(
1
);
// set the pointer to the manager
// set the pointer to the manager
Aig_ManForEachObj
(
p
->
pManAig
,
pObj
,
i
)
Aig_ManForEachObj
(
p
->
pManAig
,
pObj
,
i
)
pObj
->
pData
=
p
;
pObj
->
pData
=
p
;
...
...
src/aig/fra/fraSec.c
View file @
e94ccfd3
...
@@ -44,21 +44,20 @@ int Fra_FraigSec( Aig_Man_t * p, int nFramesMax, int fPhaseAbstract, int fRetime
...
@@ -44,21 +44,20 @@ int Fra_FraigSec( Aig_Man_t * p, int nFramesMax, int fPhaseAbstract, int fRetime
{
{
Fra_Ssw_t
Pars
,
*
pPars
=
&
Pars
;
Fra_Ssw_t
Pars
,
*
pPars
=
&
Pars
;
Fra_Sml_t
*
pSml
;
Fra_Sml_t
*
pSml
;
Aig_Man_t
*
pNew
=
NULL
,
*
pTemp
;
Aig_Man_t
*
pNew
,
*
pTemp
;
int
nFrames
,
RetValue
,
nIter
,
clk
,
clkTotal
=
clock
();
int
nFrames
,
RetValue
,
nIter
,
clk
,
clkTotal
=
clock
();
int
fLatchCorr
=
0
;
int
fLatchCorr
=
0
;
// try the miter before solving
// try the miter before solving
RetValue
=
Fra_FraigMiterStatus
(
p
);
pNew
=
Aig_ManDup
(
p
);
if
(
RetValue
==
0
||
RetValue
==
1
)
RetValue
=
Fra_FraigMiterStatus
(
pNew
);
if
(
RetValue
>=
0
)
goto
finish
;
goto
finish
;
// prepare parameters
// prepare parameters
memset
(
pPars
,
0
,
sizeof
(
Fra_Ssw_t
)
);
memset
(
pPars
,
0
,
sizeof
(
Fra_Ssw_t
)
);
pPars
->
fLatchCorr
=
fLatchCorr
;
pPars
->
fLatchCorr
=
fLatchCorr
;
pPars
->
fVerbose
=
fVeryVerbose
;
pPars
->
fVerbose
=
fVeryVerbose
;
pNew
=
Aig_ManDup
(
p
);
if
(
fVerbose
)
if
(
fVerbose
)
{
{
printf
(
"Original miter: Latches = %5d. Nodes = %6d.
\n
"
,
printf
(
"Original miter: Latches = %5d. Nodes = %6d.
\n
"
,
...
@@ -78,6 +77,9 @@ clk = clock();
...
@@ -78,6 +77,9 @@ clk = clock();
Aig_ManRegNum
(
pNew
),
Aig_ManNodeNum
(
pNew
)
);
Aig_ManRegNum
(
pNew
),
Aig_ManNodeNum
(
pNew
)
);
PRT
(
"Time"
,
clock
()
-
clk
);
PRT
(
"Time"
,
clock
()
-
clk
);
}
}
RetValue
=
Fra_FraigMiterStatus
(
pNew
);
if
(
RetValue
>=
0
)
goto
finish
;
// perform phase abstraction
// perform phase abstraction
clk
=
clock
();
clk
=
clock
();
...
@@ -150,6 +152,13 @@ PRT( "Time", clock() - clk );
...
@@ -150,6 +152,13 @@ PRT( "Time", clock() - clk );
}
}
}
}
if
(
pNew
->
nRegs
==
0
)
RetValue
=
Fra_FraigCec
(
&
pNew
,
0
);
RetValue
=
Fra_FraigMiterStatus
(
pNew
);
if
(
RetValue
>=
0
)
goto
finish
;
// perform min-area retiming
// perform min-area retiming
if
(
fRetimeRegs
&&
pNew
->
nRegs
)
if
(
fRetimeRegs
&&
pNew
->
nRegs
)
{
{
...
@@ -262,9 +271,7 @@ PRT( "Time", clock() - clkTotal );
...
@@ -262,9 +271,7 @@ PRT( "Time", clock() - clkTotal );
assert
(
Aig_ManRegNum
(
pNew
)
>
0
);
assert
(
Aig_ManRegNum
(
pNew
)
>
0
);
pNew
->
nTruePis
=
Aig_ManPiNum
(
pNew
)
-
Aig_ManRegNum
(
pNew
);
pNew
->
nTruePis
=
Aig_ManPiNum
(
pNew
)
-
Aig_ManRegNum
(
pNew
);
pNew
->
nTruePos
=
Aig_ManPoNum
(
pNew
)
-
Aig_ManRegNum
(
pNew
);
pNew
->
nTruePos
=
Aig_ManPoNum
(
pNew
)
-
Aig_ManRegNum
(
pNew
);
clk
=
clock
();
RetValue
=
Aig_ManVerifyUsingBdds
(
pNew
,
100000
,
1000
,
1
,
1
,
0
);
RetValue
=
Aig_ManVerifyUsingBdds
(
pNew
,
100000
,
1000
,
1
,
1
,
0
);
PRT
(
"Time"
,
clock
()
-
clk
);
}
}
finish:
finish:
...
@@ -289,8 +296,7 @@ PRT( "Time", clock() - clkTotal );
...
@@ -289,8 +296,7 @@ PRT( "Time", clock() - clkTotal );
Ioa_WriteAiger
(
pNew
,
pFileName
,
0
,
0
);
Ioa_WriteAiger
(
pNew
,
pFileName
,
0
,
0
);
printf
(
"The unsolved reduced miter is written into file
\"
%s
\"
.
\n
"
,
pFileName
);
printf
(
"The unsolved reduced miter is written into file
\"
%s
\"
.
\n
"
,
pFileName
);
}
}
if
(
pNew
)
Aig_ManStop
(
pNew
);
Aig_ManStop
(
pNew
);
return
RetValue
;
return
RetValue
;
}
}
...
...
src/aig/saig/module.make
View file @
e94ccfd3
...
@@ -2,4 +2,5 @@ SRC += src/aig/saig/saig_.c \
...
@@ -2,4 +2,5 @@ SRC += src/aig/saig/saig_.c \
src/aig/saig/saigPhase.c
\
src/aig/saig/saigPhase.c
\
src/aig/saig/saigRetFwd.c
\
src/aig/saig/saigRetFwd.c
\
src/aig/saig/saigRetMin.c
\
src/aig/saig/saigRetMin.c
\
src/aig/saig/saigRetStep.c
\
src/aig/saig/saigScl.c
src/aig/saig/saigScl.c
src/aig/saig/saig.h
View file @
e94ccfd3
...
@@ -82,6 +82,8 @@ extern Aig_Man_t * Saig_ManRetimeForward( Aig_Man_t * p, int nMaxIters, in
...
@@ -82,6 +82,8 @@ extern Aig_Man_t * Saig_ManRetimeForward( Aig_Man_t * p, int nMaxIters, in
/*=== saigRetMin.c ==========================================================*/
/*=== saigRetMin.c ==========================================================*/
extern
Aig_Man_t
*
Saig_ManRetimeDupForward
(
Aig_Man_t
*
p
,
Vec_Ptr_t
*
vCut
);
extern
Aig_Man_t
*
Saig_ManRetimeDupForward
(
Aig_Man_t
*
p
,
Vec_Ptr_t
*
vCut
);
extern
Aig_Man_t
*
Saig_ManRetimeMinArea
(
Aig_Man_t
*
p
,
int
nMaxIters
,
int
fForwardOnly
,
int
fBackwardOnly
,
int
fInitial
,
int
fVerbose
);
extern
Aig_Man_t
*
Saig_ManRetimeMinArea
(
Aig_Man_t
*
p
,
int
nMaxIters
,
int
fForwardOnly
,
int
fBackwardOnly
,
int
fInitial
,
int
fVerbose
);
/*=== saigRetStep.c ==========================================================*/
extern
void
Saig_ManRetimeSteps
(
Aig_Man_t
*
p
,
int
nSteps
,
int
fForward
);
/*=== saigScl.c ==========================================================*/
/*=== saigScl.c ==========================================================*/
extern
void
Saig_ManReportUselessRegisters
(
Aig_Man_t
*
pAig
);
extern
void
Saig_ManReportUselessRegisters
(
Aig_Man_t
*
pAig
);
...
...
src/aig/saig/saigPhase.c
View file @
e94ccfd3
...
@@ -58,13 +58,13 @@ static inline int Saig_XsimAnd( int Value0, int Value1 )
...
@@ -58,13 +58,13 @@ static inline int Saig_XsimAnd( int Value0, int Value1 )
}
}
static
inline
int
Saig_XsimRand2
()
static
inline
int
Saig_XsimRand2
()
{
{
return
(
rand
(
)
&
1
)
?
SAIG_XVS1
:
SAIG_XVS0
;
return
(
Aig_ManRandom
(
0
)
&
1
)
?
SAIG_XVS1
:
SAIG_XVS0
;
}
}
static
inline
int
Saig_XsimRand3
()
static
inline
int
Saig_XsimRand3
()
{
{
int
RetValue
;
int
RetValue
;
do
{
do
{
RetValue
=
rand
(
)
&
3
;
RetValue
=
Aig_ManRandom
(
0
)
&
3
;
}
while
(
RetValue
==
0
);
}
while
(
RetValue
==
0
);
return
RetValue
;
return
RetValue
;
}
}
...
@@ -601,11 +601,11 @@ void Saig_ManAnalizeControl( Aig_Man_t * p, int Reg )
...
@@ -601,11 +601,11 @@ void Saig_ManAnalizeControl( Aig_Man_t * p, int Reg )
***********************************************************************/
***********************************************************************/
int
Saig_ManFindRegisters
(
Saig_Tsim_t
*
pTsi
,
int
nFrames
,
int
fIgnore
,
int
fVerbose
)
int
Saig_ManFindRegisters
(
Saig_Tsim_t
*
pTsi
,
int
nFrames
,
int
fIgnore
,
int
fVerbose
)
{
{
int
Values
[
25
6
];
int
Values
[
25
7
];
unsigned
*
pState
;
unsigned
*
pState
;
int
r
,
i
,
k
,
Reg
,
Value
;
int
r
,
i
,
k
,
Reg
,
Value
;
int
nTests
=
pTsi
->
nPrefix
+
2
*
pTsi
->
nCycle
;
int
nTests
=
pTsi
->
nPrefix
+
2
*
pTsi
->
nCycle
;
assert
(
nFrames
<
256
);
assert
(
nFrames
<
=
256
);
r
=
0
;
r
=
0
;
Vec_IntForEachEntry
(
pTsi
->
vNonXRegs
,
Reg
,
i
)
Vec_IntForEachEntry
(
pTsi
->
vNonXRegs
,
Reg
,
i
)
{
{
...
@@ -800,6 +800,8 @@ Aig_Man_t * Saig_ManPhaseAbstract( Aig_Man_t * p, Vec_Int_t * vInits, int nFrame
...
@@ -800,6 +800,8 @@ Aig_Man_t * Saig_ManPhaseAbstract( Aig_Man_t * p, Vec_Int_t * vInits, int nFrame
printf
(
"Print-out finished. Phase assignment is not performed.
\n
"
);
printf
(
"Print-out finished. Phase assignment is not performed.
\n
"
);
else
if
(
nFrames
<
2
)
else
if
(
nFrames
<
2
)
printf
(
"The number of frames is less than 2. Phase assignment is not performed.
\n
"
);
printf
(
"The number of frames is less than 2. Phase assignment is not performed.
\n
"
);
else
if
(
nFrames
>
256
)
printf
(
"The number of frames is more than 256. Phase assignment is not performed.
\n
"
);
else
if
(
pTsi
->
nCycle
==
1
)
else
if
(
pTsi
->
nCycle
==
1
)
printf
(
"The cycle of ternary states is trivial. Phase abstraction cannot be done.
\n
"
);
printf
(
"The cycle of ternary states is trivial. Phase abstraction cannot be done.
\n
"
);
else
if
(
pTsi
->
nCycle
%
nFrames
!=
0
)
else
if
(
pTsi
->
nCycle
%
nFrames
!=
0
)
...
@@ -859,6 +861,10 @@ Aig_Man_t * Saig_ManPhaseAbstractAuto( Aig_Man_t * p, int fVerbose )
...
@@ -859,6 +861,10 @@ Aig_Man_t * Saig_ManPhaseAbstractAuto( Aig_Man_t * p, int fVerbose )
{
{
// printf( "The number of frames is less than 2. Phase assignment is not performed.\n" );
// printf( "The number of frames is less than 2. Phase assignment is not performed.\n" );
}
}
else
if
(
nFrames
>
256
)
{
// printf( "The number of frames is more than 256. Phase assignment is not performed.\n" );
}
else
if
(
pTsi
->
nCycle
==
1
)
else
if
(
pTsi
->
nCycle
==
1
)
{
{
// printf( "The cycle of ternary states is trivial. Phase abstraction cannot be done.\n" );
// printf( "The cycle of ternary states is trivial. Phase abstraction cannot be done.\n" );
...
...
src/aig/saig/saigRetMin.c
View file @
e94ccfd3
...
@@ -628,6 +628,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
...
@@ -628,6 +628,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
if
(
!
fBackwardOnly
)
if
(
!
fBackwardOnly
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
{
{
if
(
Saig_ManRegNum
(
pNew
)
==
0
)
break
;
vCut
=
Nwk_ManDeriveRetimingCut
(
pNew
,
1
,
fVerbose
);
vCut
=
Nwk_ManDeriveRetimingCut
(
pNew
,
1
,
fVerbose
);
if
(
Vec_PtrSize
(
vCut
)
>=
Aig_ManRegNum
(
pNew
)
)
if
(
Vec_PtrSize
(
vCut
)
>=
Aig_ManRegNum
(
pNew
)
)
{
{
...
@@ -648,6 +650,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
...
@@ -648,6 +650,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
if
(
!
fForwardOnly
&&
!
fInitial
)
if
(
!
fForwardOnly
&&
!
fInitial
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
{
{
if
(
Saig_ManRegNum
(
pNew
)
==
0
)
break
;
vCut
=
Nwk_ManDeriveRetimingCut
(
pNew
,
0
,
fVerbose
);
vCut
=
Nwk_ManDeriveRetimingCut
(
pNew
,
0
,
fVerbose
);
if
(
Vec_PtrSize
(
vCut
)
>=
Aig_ManRegNum
(
pNew
)
)
if
(
Vec_PtrSize
(
vCut
)
>=
Aig_ManRegNum
(
pNew
)
)
{
{
...
@@ -666,6 +670,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
...
@@ -666,6 +670,8 @@ Aig_Man_t * Saig_ManRetimeMinArea( Aig_Man_t * p, int nMaxIters, int fForwardOnl
else
if
(
!
fForwardOnly
&&
fInitial
)
else
if
(
!
fForwardOnly
&&
fInitial
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
for
(
i
=
0
;
i
<
nMaxIters
;
i
++
)
{
{
if
(
Saig_ManRegNum
(
pNew
)
==
0
)
break
;
pCopy
=
Aig_ManDup
(
pNew
);
pCopy
=
Aig_ManDup
(
pNew
);
pTemp
=
Saig_ManRetimeMinAreaBackward
(
pCopy
,
fVerbose
);
pTemp
=
Saig_ManRetimeMinAreaBackward
(
pCopy
,
fVerbose
);
Aig_ManStop
(
pCopy
);
Aig_ManStop
(
pCopy
);
...
...
src/aig/saig/saigRetStep.c
0 → 100644
View file @
e94ccfd3
/**CFile****************************************************************
FileName [saigRetStep.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Sequential AIG package.]
Synopsis [Implementation of retiming steps.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [$Id: saigRetStep.c,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
***********************************************************************/
#include "saig.h"
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
////////////////////////////////////////////////////////////////////////
/**Function*************************************************************
Synopsis [Performs one retiming step forward.]
Description [Returns the pointer to the register output after retiming.]
SideEffects [Remember to run Aig_ManSetPioNumbers() in advance.]
SeeAlso []
***********************************************************************/
Aig_Obj_t
*
Saig_ManRetimeNodeFwd
(
Aig_Man_t
*
p
,
Aig_Obj_t
*
pObj
)
{
Aig_Obj_t
*
pFanin0
,
*
pFanin1
;
Aig_Obj_t
*
pInput0
,
*
pInput1
;
Aig_Obj_t
*
pObjNew
,
*
pObjLi
,
*
pObjLo
;
assert
(
Saig_ManRegNum
(
p
)
>
0
);
assert
(
Aig_ObjIsNode
(
pObj
)
);
// get the fanins
pFanin0
=
Aig_ObjFanin0
(
pObj
);
pFanin1
=
Aig_ObjFanin1
(
pObj
);
// skip of they are not primary inputs
if
(
!
Aig_ObjIsPi
(
pFanin0
)
||
!
Aig_ObjIsPi
(
pFanin1
)
)
return
NULL
;
// skip of they are not register outputs
if
(
!
Saig_ObjIsLo
(
p
,
pFanin0
)
||
!
Saig_ObjIsLo
(
p
,
pFanin1
)
)
return
NULL
;
assert
(
Aig_ObjPioNum
(
pFanin0
)
>
0
);
assert
(
Aig_ObjPioNum
(
pFanin1
)
>
0
);
// get the inputs of these registers
pInput0
=
Saig_ManLi
(
p
,
Aig_ObjPioNum
(
pFanin0
)
-
Saig_ManPiNum
(
p
)
);
pInput1
=
Saig_ManLi
(
p
,
Aig_ObjPioNum
(
pFanin1
)
-
Saig_ManPiNum
(
p
)
);
pInput0
=
Aig_ObjChild0
(
pInput0
);
pInput1
=
Aig_ObjChild0
(
pInput1
);
pInput0
=
Aig_NotCond
(
pInput0
,
Aig_ObjFaninC0
(
pObj
)
);
pInput1
=
Aig_NotCond
(
pInput1
,
Aig_ObjFaninC1
(
pObj
)
);
// create new node
pObjNew
=
Aig_And
(
p
,
pInput0
,
pInput1
);
// create new register input
pObjLi
=
Aig_ObjCreatePo
(
p
,
Aig_NotCond
(
pObjNew
,
pObjNew
->
fPhase
)
);
pObjLi
->
PioNum
=
Aig_ManPoNum
(
p
)
-
1
;
assert
(
pObjLi
->
fPhase
==
0
);
// create new register output
pObjLo
=
Aig_ObjCreatePi
(
p
);
pObjLo
->
PioNum
=
Aig_ManPiNum
(
p
)
-
1
;
p
->
nRegs
++
;
// return register output
return
Aig_NotCond
(
pObjLo
,
pObjNew
->
fPhase
);
}
/**Function*************************************************************
Synopsis [Performs one retiming step backward.]
Description [Returns the pointer to node after retiming.]
SideEffects [Remember to run Aig_ManSetPioNumbers() in advance.]
SeeAlso []
***********************************************************************/
Aig_Obj_t
*
Saig_ManRetimeNodeBwd
(
Aig_Man_t
*
p
,
Aig_Obj_t
*
pObjLo
)
{
Aig_Obj_t
*
pFanin0
,
*
pFanin1
;
Aig_Obj_t
*
pLo0New
,
*
pLo1New
;
Aig_Obj_t
*
pLi0New
,
*
pLi1New
;
Aig_Obj_t
*
pObj
,
*
pObjNew
,
*
pObjLi
;
int
fCompl0
,
fCompl1
;
assert
(
Saig_ManRegNum
(
p
)
>
0
);
assert
(
Aig_ObjPioNum
(
pObjLo
)
>
0
);
assert
(
Saig_ObjIsLo
(
p
,
pObjLo
)
);
// get the corresponding latch input
pObjLi
=
Saig_ManLi
(
p
,
Aig_ObjPioNum
(
pObjLo
)
-
Saig_ManPiNum
(
p
)
);
// get the node
pObj
=
Aig_ObjFanin0
(
pObjLi
);
if
(
!
Aig_ObjIsNode
(
pObj
)
)
return
NULL
;
// get the fanins
pFanin0
=
Aig_ObjFanin0
(
pObj
);
pFanin1
=
Aig_ObjFanin1
(
pObj
);
// get the complemented attributes of the fanins
fCompl0
=
Aig_ObjFaninC0
(
pObj
)
^
Aig_ObjFaninC0
(
pObjLi
);
fCompl1
=
Aig_ObjFaninC1
(
pObj
)
^
Aig_ObjFaninC0
(
pObjLi
);
// create latch inputs
pLi0New
=
Aig_ObjCreatePo
(
p
,
Aig_NotCond
(
pFanin0
,
fCompl0
)
);
pLi0New
->
PioNum
=
Aig_ManPoNum
(
p
)
-
1
;
pLi1New
=
Aig_ObjCreatePo
(
p
,
Aig_NotCond
(
pFanin1
,
fCompl1
)
);
pLi1New
->
PioNum
=
Aig_ManPoNum
(
p
)
-
1
;
// create latch outputs
pLo0New
=
Aig_ObjCreatePi
(
p
);
pLo0New
->
PioNum
=
Aig_ManPiNum
(
p
)
-
1
;
pLo1New
=
Aig_ObjCreatePi
(
p
);
pLo1New
->
PioNum
=
Aig_ManPiNum
(
p
)
-
1
;
pLo0New
=
Aig_NotCond
(
pLo0New
,
fCompl0
);
pLo1New
=
Aig_NotCond
(
pLo1New
,
fCompl1
);
p
->
nRegs
+=
2
;
// create node
pObjNew
=
Aig_And
(
p
,
pLo0New
,
pLo1New
);
// assert( pObjNew->fPhase == 0 );
return
pObjNew
;
}
/**Function*************************************************************
Synopsis [Performs the given number of retiming steps.]
Description [Returns the pointer to node after retiming.]
SideEffects [Remember to run Aig_ManSetPioNumbers() in advance.]
SeeAlso []
***********************************************************************/
void
Saig_ManRetimeSteps
(
Aig_Man_t
*
p
,
int
nSteps
,
int
fForward
)
{
Aig_Obj_t
*
pObj
,
*
pObjNew
;
int
RetValue
,
s
,
i
;
Aig_ManSetPioNumbers
(
p
);
Aig_ManFanoutStart
(
p
);
if
(
fForward
)
{
for
(
s
=
0
;
s
<
nSteps
;
s
++
)
{
Aig_ManForEachNode
(
p
,
pObj
,
i
)
{
pObjNew
=
Saig_ManRetimeNodeFwd
(
p
,
pObj
);
if
(
pObjNew
==
NULL
)
continue
;
Aig_ObjReplace
(
p
,
pObj
,
pObjNew
,
0
,
0
);
break
;
}
}
}
else
{
for
(
s
=
0
;
s
<
nSteps
;
s
++
)
{
Saig_ManForEachLo
(
p
,
pObj
,
i
)
{
pObjNew
=
Saig_ManRetimeNodeBwd
(
p
,
pObj
);
if
(
pObjNew
==
NULL
)
continue
;
Aig_ObjReplace
(
p
,
pObj
,
pObjNew
,
0
,
0
);
break
;
}
}
}
RetValue
=
Aig_ManCleanup
(
p
);
assert
(
RetValue
==
0
);
}
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////
src/base/abc/abcShow.c
View file @
e94ccfd3
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#include "abc.h"
#include "abc.h"
#include "main.h"
#include "main.h"
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/abci/abc.c
View file @
e94ccfd3
...
@@ -500,6 +500,11 @@ void Abc_Init( Abc_Frame_t * pAbc )
...
@@ -500,6 +500,11 @@ void Abc_Init( Abc_Frame_t * pAbc )
extern
Bdc_ManDecomposeTest
(
unsigned
uTruth
,
int
nVars
);
extern
Bdc_ManDecomposeTest
(
unsigned
uTruth
,
int
nVars
);
// Bdc_ManDecomposeTest( 0x0f0f0f0f, 3 );
// Bdc_ManDecomposeTest( 0x0f0f0f0f, 3 );
}
}
{
// extern void Aig_ManRandomTest1();
// Aig_ManRandomTest1();
}
}
}
/**Function*************************************************************
/**Function*************************************************************
...
@@ -7253,7 +7258,8 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -7253,7 +7258,8 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
// extern void Abc_NtkDarTestBlif( char * pFileName );
// extern void Abc_NtkDarTestBlif( char * pFileName );
// extern Abc_Ntk_t * Abc_NtkDarPartition( Abc_Ntk_t * pNtk );
// extern Abc_Ntk_t * Abc_NtkDarPartition( Abc_Ntk_t * pNtk );
// extern Abc_Ntk_t * Abc_NtkTestExor( Abc_Ntk_t * pNtk, int fVerbose );
// extern Abc_Ntk_t * Abc_NtkTestExor( Abc_Ntk_t * pNtk, int fVerbose );
extern
Abc_Ntk_t
*
Abc_NtkNtkTest
(
Abc_Ntk_t
*
pNtk
,
If_Lib_t
*
pLutLib
);
// extern Abc_Ntk_t * Abc_NtkNtkTest( Abc_Ntk_t * pNtk, If_Lib_t * pLutLib );
extern
Abc_Ntk_t
*
Abc_NtkDarRetimeStep
(
Abc_Ntk_t
*
pNtk
,
int
fVerbose
);
...
@@ -7440,7 +7446,7 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -7440,7 +7446,7 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
// Abc_NtkDarPartition( pNtk );
// Abc_NtkDarPartition( pNtk );
pNtkRes
=
Abc_Ntk
NtkTest
(
pNtk
,
Abc_FrameReadLibLut
()
);
pNtkRes
=
Abc_Ntk
DarRetimeStep
(
pNtk
,
0
);
if
(
pNtkRes
==
NULL
)
if
(
pNtkRes
==
NULL
)
{
{
fprintf
(
pErr
,
"Command has failed.
\n
"
);
fprintf
(
pErr
,
"Command has failed.
\n
"
);
...
@@ -17020,6 +17026,9 @@ int Abc_CommandAbc8Sweep( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -17020,6 +17026,9 @@ int Abc_CommandAbc8Sweep( Abc_Frame_t * pAbc, int argc, char ** argv )
int
fVerbose
;
int
fVerbose
;
int
c
;
int
c
;
extern
int
Ntl_ManSweep
(
void
*
p
,
int
fVerbose
);
extern
int
Ntl_ManSweep
(
void
*
p
,
int
fVerbose
);
extern
void
*
Ntl_ManInsertNtk
(
void
*
p
,
void
*
pNtk
);
extern
Aig_Man_t
*
Ntl_ManExtract
(
void
*
p
);
extern
void
*
Ntl_ManExtractNwk
(
void
*
p
,
Aig_Man_t
*
pAig
,
Tim_Man_t
*
pManTime
);
// set defaults
// set defaults
fMapped
=
0
;
fMapped
=
0
;
...
@@ -17332,12 +17341,13 @@ int Abc_CommandAbc8DSec( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -17332,12 +17341,13 @@ int Abc_CommandAbc8DSec( Abc_Frame_t * pAbc, int argc, char ** argv )
extern
Aig_Man_t
*
Ntl_ManPrepareSec
(
char
*
pFileName1
,
char
*
pFileName2
);
extern
Aig_Man_t
*
Ntl_ManPrepareSec
(
char
*
pFileName1
,
char
*
pFileName2
);
// set defaults
// set defaults
nFrames
=
16
;
nFrames
=
8
;
fRetimeFirst
=
0
;
fPhaseAbstract
=
0
;
fRetimeRegs
=
0
;
fRetimeFirst
=
0
;
fFraiging
=
1
;
fRetimeRegs
=
0
;
fVerbose
=
0
;
fFraiging
=
1
;
fVeryVerbose
=
0
;
fVerbose
=
0
;
fVeryVerbose
=
0
;
Extra_UtilGetoptReset
();
Extra_UtilGetoptReset
();
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"Farmfwvh"
)
)
!=
EOF
)
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"Farmfwvh"
)
)
!=
EOF
)
{
{
...
...
src/base/abci/abcDar.c
View file @
e94ccfd3
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include "abc.h"
#include "abc.h"
#include "aig.h"
#include "aig.h"
#include "saig.h"
#include "dar.h"
#include "dar.h"
#include "cnf.h"
#include "cnf.h"
#include "fra.h"
#include "fra.h"
...
@@ -1538,6 +1539,41 @@ Abc_Ntk_t * Abc_NtkDarRetimeMinArea( Abc_Ntk_t * pNtk, int nMaxIters, int fForwa
...
@@ -1538,6 +1539,41 @@ Abc_Ntk_t * Abc_NtkDarRetimeMinArea( Abc_Ntk_t * pNtk, int nMaxIters, int fForwa
SeeAlso []
SeeAlso []
***********************************************************************/
***********************************************************************/
Abc_Ntk_t
*
Abc_NtkDarRetimeStep
(
Abc_Ntk_t
*
pNtk
,
int
fVerbose
)
{
Abc_Ntk_t
*
pNtkAig
;
Aig_Man_t
*
pMan
;
assert
(
Abc_NtkIsStrash
(
pNtk
)
);
pMan
=
Abc_NtkToDar
(
pNtk
,
0
,
1
);
if
(
pMan
==
NULL
)
return
NULL
;
if
(
pMan
->
vFlopNums
)
Vec_IntFree
(
pMan
->
vFlopNums
);
pMan
->
vFlopNums
=
NULL
;
pMan
->
nTruePis
=
Aig_ManPiNum
(
pMan
)
-
Aig_ManRegNum
(
pMan
);
pMan
->
nTruePos
=
Aig_ManPoNum
(
pMan
)
-
Aig_ManRegNum
(
pMan
);
Aig_ManPrintStats
(
pMan
);
Saig_ManRetimeSteps
(
pMan
,
1
,
0
);
Aig_ManPrintStats
(
pMan
);
pNtkAig
=
Abc_NtkFromDarSeqSweep
(
pNtk
,
pMan
);
Aig_ManStop
(
pMan
);
return
pNtkAig
;
}
/**Function*************************************************************
Synopsis [Gives the current ABC network to AIG manager for processing.]
Description []
SideEffects []
SeeAlso []
***********************************************************************/
void
Abc_NtkDarHaigRecord
(
Abc_Ntk_t
*
pNtk
)
void
Abc_NtkDarHaigRecord
(
Abc_Ntk_t
*
pNtk
)
{
{
/*
/*
...
...
src/base/abci/abcDress.c
View file @
e94ccfd3
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
***********************************************************************/
***********************************************************************/
#include "abc.h"
#include "abc.h"
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/cmd/cmd.c
View file @
e94ccfd3
...
@@ -1085,7 +1085,7 @@ usage:
...
@@ -1085,7 +1085,7 @@ usage:
#ifdef WIN32
#ifdef WIN32
#include <
io
.h>
#include <
direct
.h>
// these structures are defined in <io.h> but are for some reason invisible
// these structures are defined in <io.h> but are for some reason invisible
typedef
unsigned
long
_fsize_t
;
// Could be 64 bits for Win32
typedef
unsigned
long
_fsize_t
;
// Could be 64 bits for Win32
...
...
src/base/io/io.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "mainInt.h"
#include "mainInt.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
...
...
src/base/io/io.h
→
src/base/io/io
Abc
.h
View file @
e94ccfd3
/**CFile****************************************************************
/**CFile****************************************************************
FileName [io.h]
FileName [io
Abc
.h]
SystemName [ABC: Logic synthesis and verification system.]
SystemName [ABC: Logic synthesis and verification system.]
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
Date [Ver. 1.0. Started - June 20, 2005.]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [$Id: io.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
Revision [$Id: io
Abc
.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
***********************************************************************/
***********************************************************************/
...
...
src/base/io/ioReadAiger.c
View file @
e94ccfd3
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
@@ -327,7 +327,7 @@ Abc_Ntk_t * Io_ReadAiger( char * pFileName, int fCheck )
...
@@ -327,7 +327,7 @@ Abc_Ntk_t * Io_ReadAiger( char * pFileName, int fCheck )
}
}
// read the name of the model if given
// read the name of the model if given
if
(
*
pCur
==
'c'
)
if
(
*
pCur
==
'c'
&&
pCur
<
pContents
+
nFileSize
)
{
{
if
(
!
strncmp
(
pCur
+
2
,
".model"
,
6
)
)
if
(
!
strncmp
(
pCur
+
2
,
".model"
,
6
)
)
{
{
...
...
src/base/io/ioReadBaf.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadBench.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadBlif.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "main.h"
#include "main.h"
#include "mio.h"
#include "mio.h"
...
...
src/base/io/ioReadBlifMv.c
View file @
e94ccfd3
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
#include "abc.h"
#include "abc.h"
#include "extra.h"
#include "extra.h"
#include "vecPtr.h"
#include "vecPtr.h"
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadDsd.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadEdif.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadEqn.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadPla.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioReadVerilog.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioUtil.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteAiger.c
View file @
e94ccfd3
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteBaf.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteBench.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteBlif.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "main.h"
#include "main.h"
#include "mio.h"
#include "mio.h"
...
...
src/base/io/ioWriteBlifMv.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "main.h"
#include "main.h"
#include "mio.h"
#include "mio.h"
...
...
src/base/io/ioWriteCnf.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "satSolver.h"
#include "satSolver.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
...
...
src/base/io/ioWriteDot.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "main.h"
#include "main.h"
#include "mio.h"
#include "mio.h"
...
...
src/base/io/ioWriteEqn.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteGml.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteList.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
/*
/*
-------- Original Message --------
-------- Original Message --------
...
...
src/base/io/ioWritePla.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/io/ioWriteVerilog.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
#include "main.h"
#include "main.h"
#include "mio.h"
#include "mio.h"
...
...
src/base/io/io_.c
View file @
e94ccfd3
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
***********************************************************************/
***********************************************************************/
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
...
...
src/base/main/main.h
View file @
e94ccfd3
...
@@ -52,7 +52,7 @@ typedef struct Abc_Frame_t_ Abc_Frame_t;
...
@@ -52,7 +52,7 @@ typedef struct Abc_Frame_t_ Abc_Frame_t;
// core packages
// core packages
#include "abc.h"
#include "abc.h"
#include "cmd.h"
#include "cmd.h"
#include "io.h"
#include "io
Abc
.h"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// PARAMETERS ///
/// PARAMETERS ///
...
...
src/opt/fret/fretInit.c
View file @
e94ccfd3
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
#include "abc.h"
#include "abc.h"
#include "vec.h"
#include "vec.h"
#include "io.h"
#include "io
Abc
.h"
#include "fretime.h"
#include "fretime.h"
#include "mio.h"
#include "mio.h"
#include "hop.h"
#include "hop.h"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment