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
55c5c1b5
Commit
55c5c1b5
authored
Feb 07, 2015
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added SMT parser for Wlc_Ntk_t.
parent
d7099e7a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
52 additions
and
54 deletions
+52
-54
abclib.dsp
+4
-0
src/base/cba/cbaCom.c
+4
-2
src/base/cba/cbaReadSmt.c
+0
-24
src/base/wlc/module.make
+1
-0
src/base/wlc/wlc.h
+4
-2
src/base/wlc/wlcCom.c
+20
-12
src/base/wlc/wlcNtk.c
+2
-0
src/base/wlc/wlcReadSmt.c
+0
-0
src/base/wlc/wlcReadVer.c
+17
-14
No files found.
abclib.dsp
View file @
55c5c1b5
...
@@ -763,6 +763,10 @@ SOURCE=.\src\base\wlc\wlcNtk.c
...
@@ -763,6 +763,10 @@ SOURCE=.\src\base\wlc\wlcNtk.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
SOURCE=.\src\base\wlc\wlcReadSmt.c
# End Source File
# Begin Source File
SOURCE=.\src\base\wlc\wlcReadVer.c
SOURCE=.\src\base\wlc\wlcReadVer.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
...
...
src/base/cba/cbaCom.c
View file @
55c5c1b5
...
@@ -209,7 +209,7 @@ int Cba_CommandRead( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -209,7 +209,7 @@ int Cba_CommandRead( Abc_Frame_t * pAbc, int argc, char ** argv )
}
}
else
if
(
!
strcmp
(
Extra_FileNameExtension
(
pFileName
),
"smt"
)
)
else
if
(
!
strcmp
(
Extra_FileNameExtension
(
pFileName
),
"smt"
)
)
{
{
vDes
=
Prs_ManReadSmt
(
pFileName
);
vDes
=
NULL
;
//
Prs_ManReadSmt( pFileName );
if
(
vDes
&&
Vec_PtrSize
(
vDes
)
)
if
(
vDes
&&
Vec_PtrSize
(
vDes
)
)
p
=
Prs_ManBuildCba
(
pFileName
,
vDes
);
p
=
Prs_ManBuildCba
(
pFileName
,
vDes
);
Prs_ManVecFree
(
vDes
);
Prs_ManVecFree
(
vDes
);
...
@@ -647,6 +647,7 @@ int Cba_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -647,6 +647,7 @@ int Cba_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
{
{
extern
void
Prs_ManReadBlifTest
();
extern
void
Prs_ManReadBlifTest
();
extern
void
Prs_ManReadVerilogTest
();
extern
void
Prs_ManReadVerilogTest
();
extern
void
Prs_SmtReadSmtTest
();
//Cba_Man_t * p = Cba_AbcGetMan(pAbc);
//Cba_Man_t * p = Cba_AbcGetMan(pAbc);
int
c
,
fVerbose
=
0
;
int
c
,
fVerbose
=
0
;
Extra_UtilGetoptReset
();
Extra_UtilGetoptReset
();
...
@@ -671,7 +672,8 @@ int Cba_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -671,7 +672,8 @@ int Cba_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv )
}
}
*/
*/
//Cba_PtrTransformTestTest();
//Cba_PtrTransformTestTest();
Prs_ManReadVerilogTest
();
//Prs_ManReadVerilogTest();
//Prs_SmtReadSmtTest();
return
0
;
return
0
;
usage:
usage:
Abc_Print
(
-
2
,
"usage: @test [-vh]
\n
"
);
Abc_Print
(
-
2
,
"usage: @test [-vh]
\n
"
);
...
...
src/base/cba/cbaReadSmt.c
View file @
55c5c1b5
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
***********************************************************************/
***********************************************************************/
#include "cba.h"
#include "cba.h"
#include "cbaPrs.h"
ABC_NAMESPACE_IMPL_START
ABC_NAMESPACE_IMPL_START
...
@@ -32,29 +31,6 @@ ABC_NAMESPACE_IMPL_START
...
@@ -32,29 +31,6 @@ ABC_NAMESPACE_IMPL_START
/// FUNCTION DEFINITIONS ///
/// FUNCTION DEFINITIONS ///
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/**Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
***********************************************************************/
Vec_Ptr_t
*
Prs_ManReadSmt
(
char
*
pFileName
)
{
Vec_Ptr_t
*
vPrs
=
NULL
;
Prs_Man_t
*
p
=
Prs_ManAlloc
(
pFileName
);
if
(
p
==
NULL
)
return
NULL
;
// Prs_ManReadLines( p );
if
(
Prs_ManErrorPrint
(
p
)
)
ABC_SWAP
(
Vec_Ptr_t
*
,
vPrs
,
p
->
vNtks
);
Prs_ManFree
(
p
);
return
vPrs
;
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
...
...
src/base/wlc/module.make
View file @
55c5c1b5
...
@@ -2,5 +2,6 @@ SRC += src/base/wlc/wlcAbs.c \
...
@@ -2,5 +2,6 @@ SRC += src/base/wlc/wlcAbs.c \
src/base/wlc/wlcBlast.c
\
src/base/wlc/wlcBlast.c
\
src/base/wlc/wlcCom.c
\
src/base/wlc/wlcCom.c
\
src/base/wlc/wlcNtk.c
\
src/base/wlc/wlcNtk.c
\
src/base/wlc/wlcReadSmt.c
\
src/base/wlc/wlcReadVer.c
\
src/base/wlc/wlcReadVer.c
\
src/base/wlc/wlcWriteVer.c
src/base/wlc/wlcWriteVer.c
src/base/wlc/wlc.h
View file @
55c5c1b5
...
@@ -252,9 +252,11 @@ extern void Wlc_NtkPrintNodes( Wlc_Ntk_t * p, int Type );
...
@@ -252,9 +252,11 @@ extern void Wlc_NtkPrintNodes( Wlc_Ntk_t * p, int Type );
extern
void
Wlc_NtkPrintStats
(
Wlc_Ntk_t
*
p
,
int
fDistrib
,
int
fVerbose
);
extern
void
Wlc_NtkPrintStats
(
Wlc_Ntk_t
*
p
,
int
fDistrib
,
int
fVerbose
);
extern
Wlc_Ntk_t
*
Wlc_NtkDupDfs
(
Wlc_Ntk_t
*
p
);
extern
Wlc_Ntk_t
*
Wlc_NtkDupDfs
(
Wlc_Ntk_t
*
p
);
extern
void
Wlc_NtkTransferNames
(
Wlc_Ntk_t
*
pNew
,
Wlc_Ntk_t
*
p
);
extern
void
Wlc_NtkTransferNames
(
Wlc_Ntk_t
*
pNew
,
Wlc_Ntk_t
*
p
);
/*=== wlcReadWord.c ========================================================*/
/*=== wlcReadSmt.c ========================================================*/
extern
Wlc_Ntk_t
*
Wlc_ReadSmt
(
char
*
pFileName
);
/*=== wlcReadVer.c ========================================================*/
extern
Wlc_Ntk_t
*
Wlc_ReadVer
(
char
*
pFileName
);
extern
Wlc_Ntk_t
*
Wlc_ReadVer
(
char
*
pFileName
);
/*=== wlcWrite
Word
.c ========================================================*/
/*=== wlcWrite
Ver
.c ========================================================*/
extern
void
Wlc_WriteVer
(
Wlc_Ntk_t
*
p
,
char
*
pFileName
);
extern
void
Wlc_WriteVer
(
Wlc_Ntk_t
*
p
,
char
*
pFileName
);
...
...
src/base/wlc/wlcCom.c
View file @
55c5c1b5
...
@@ -28,8 +28,8 @@ ABC_NAMESPACE_IMPL_START
...
@@ -28,8 +28,8 @@ ABC_NAMESPACE_IMPL_START
/// DECLARATIONS ///
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
static
int
Abc_CommandRead
Ver
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandRead
Wlc
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandWrite
Ver
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandWrite
Wlc
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandPs
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandPs
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandBlast
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandBlast
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandTest
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
static
int
Abc_CommandTest
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
);
...
@@ -55,8 +55,8 @@ static inline void Wlc_AbcUpdateNtk( Abc_Frame_t * pAbc, Wlc_Ntk_t * pNtk
...
@@ -55,8 +55,8 @@ static inline void Wlc_AbcUpdateNtk( Abc_Frame_t * pAbc, Wlc_Ntk_t * pNtk
******************************************************************************/
******************************************************************************/
void
Wlc_Init
(
Abc_Frame_t
*
pAbc
)
void
Wlc_Init
(
Abc_Frame_t
*
pAbc
)
{
{
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%read
_ver"
,
Abc_CommandReadVer
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%read
"
,
Abc_CommandReadWlc
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%write
_ver"
,
Abc_CommandWriteVer
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%write
"
,
Abc_CommandWriteWlc
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%ps"
,
Abc_CommandPs
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%ps"
,
Abc_CommandPs
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%blast"
,
Abc_CommandBlast
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%blast"
,
Abc_CommandBlast
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%test"
,
Abc_CommandTest
,
0
);
Cmd_CommandAdd
(
pAbc
,
"Word level"
,
"%test"
,
Abc_CommandTest
,
0
);
...
@@ -90,7 +90,7 @@ void Wlc_End( Abc_Frame_t * pAbc )
...
@@ -90,7 +90,7 @@ void Wlc_End( Abc_Frame_t * pAbc )
SeeAlso []
SeeAlso []
******************************************************************************/
******************************************************************************/
int
Abc_CommandRead
Ver
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
)
int
Abc_CommandRead
Wlc
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
)
{
{
FILE
*
pFile
;
FILE
*
pFile
;
Wlc_Ntk_t
*
pNtk
=
NULL
;
Wlc_Ntk_t
*
pNtk
=
NULL
;
...
@@ -112,7 +112,7 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -112,7 +112,7 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
}
}
if
(
argc
!=
globalUtilOptind
+
1
)
if
(
argc
!=
globalUtilOptind
+
1
)
{
{
printf
(
"Abc_CommandRead
Ver
(): Input file name should be given on the command line.
\n
"
);
printf
(
"Abc_CommandRead
Wlc
(): Input file name should be given on the command line.
\n
"
);
return
0
;
return
0
;
}
}
// get the file name
// get the file name
...
@@ -120,7 +120,7 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -120,7 +120,7 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
if
(
(
pFile
=
fopen
(
pFileName
,
"r"
))
==
NULL
)
if
(
(
pFile
=
fopen
(
pFileName
,
"r"
))
==
NULL
)
{
{
Abc_Print
(
1
,
"Cannot open input file
\"
%s
\"
. "
,
pFileName
);
Abc_Print
(
1
,
"Cannot open input file
\"
%s
\"
. "
,
pFileName
);
if
(
(
pFileName
=
Extra_FileGetSimilarName
(
pFileName
,
".v"
,
".smt"
,
NULL
,
NULL
,
NULL
))
)
if
(
(
pFileName
=
Extra_FileGetSimilarName
(
pFileName
,
".v"
,
".smt"
,
".smt2"
,
NULL
,
NULL
))
)
Abc_Print
(
1
,
"Did you mean
\"
%s
\"
?"
,
pFileName
);
Abc_Print
(
1
,
"Did you mean
\"
%s
\"
?"
,
pFileName
);
Abc_Print
(
1
,
"
\n
"
);
Abc_Print
(
1
,
"
\n
"
);
return
0
;
return
0
;
...
@@ -128,11 +128,19 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -128,11 +128,19 @@ int Abc_CommandReadVer( Abc_Frame_t * pAbc, int argc, char ** argv )
fclose
(
pFile
);
fclose
(
pFile
);
// perform reading
// perform reading
pNtk
=
Wlc_ReadVer
(
pFileName
);
if
(
!
strcmp
(
Extra_FileNameExtension
(
pFileName
),
"v"
)
)
pNtk
=
Wlc_ReadVer
(
pFileName
);
else
if
(
!
strcmp
(
Extra_FileNameExtension
(
pFileName
),
"smt"
)
||
!
strcmp
(
Extra_FileNameExtension
(
pFileName
),
"smt2"
)
)
pNtk
=
Wlc_ReadSmt
(
pFileName
);
else
{
printf
(
"Abc_CommandReadWlc(): Unknown file extension.
\n
"
);
return
0
;
}
Wlc_AbcUpdateNtk
(
pAbc
,
pNtk
);
Wlc_AbcUpdateNtk
(
pAbc
,
pNtk
);
return
0
;
return
0
;
usage:
usage:
Abc_Print
(
-
2
,
"usage: %%read
_ver
[-vh] <file_name>
\n
"
);
Abc_Print
(
-
2
,
"usage: %%read [-vh] <file_name>
\n
"
);
Abc_Print
(
-
2
,
"
\t
reads word-level design from Verilog file
\n
"
);
Abc_Print
(
-
2
,
"
\t
reads word-level design from Verilog file
\n
"
);
Abc_Print
(
-
2
,
"
\t
-v : toggle printing verbose information [default = %s]
\n
"
,
fVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-v : toggle printing verbose information [default = %s]
\n
"
,
fVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-h : print the command usage
\n
"
);
Abc_Print
(
-
2
,
"
\t
-h : print the command usage
\n
"
);
...
@@ -150,7 +158,7 @@ usage:
...
@@ -150,7 +158,7 @@ usage:
SeeAlso []
SeeAlso []
******************************************************************************/
******************************************************************************/
int
Abc_CommandWrite
Ver
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
)
int
Abc_CommandWrite
Wlc
(
Abc_Frame_t
*
pAbc
,
int
argc
,
char
**
argv
)
{
{
Wlc_Ntk_t
*
pNtk
=
Wlc_AbcGetNtk
(
pAbc
);
Wlc_Ntk_t
*
pNtk
=
Wlc_AbcGetNtk
(
pAbc
);
char
*
pFileName
=
NULL
;
char
*
pFileName
=
NULL
;
...
@@ -171,7 +179,7 @@ int Abc_CommandWriteVer( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -171,7 +179,7 @@ int Abc_CommandWriteVer( Abc_Frame_t * pAbc, int argc, char ** argv )
}
}
if
(
pNtk
==
NULL
)
if
(
pNtk
==
NULL
)
{
{
Abc_Print
(
1
,
"Abc_CommandWrite
Ver
(): There is no current design.
\n
"
);
Abc_Print
(
1
,
"Abc_CommandWrite
Wlc
(): There is no current design.
\n
"
);
return
0
;
return
0
;
}
}
if
(
argc
==
globalUtilOptind
)
if
(
argc
==
globalUtilOptind
)
...
@@ -186,7 +194,7 @@ int Abc_CommandWriteVer( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -186,7 +194,7 @@ int Abc_CommandWriteVer( Abc_Frame_t * pAbc, int argc, char ** argv )
Wlc_WriteVer
(
pNtk
,
pFileName
);
Wlc_WriteVer
(
pNtk
,
pFileName
);
return
0
;
return
0
;
usage:
usage:
Abc_Print
(
-
2
,
"usage: %%write
_ver
[-vh]
\n
"
);
Abc_Print
(
-
2
,
"usage: %%write [-vh]
\n
"
);
Abc_Print
(
-
2
,
"
\t
writes the design into a file
\n
"
);
Abc_Print
(
-
2
,
"
\t
writes the design into a file
\n
"
);
Abc_Print
(
-
2
,
"
\t
-v : toggle printing verbose information [default = %s]
\n
"
,
fVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-v : toggle printing verbose information [default = %s]
\n
"
,
fVerbose
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-h : print the command usage
\n
"
);
Abc_Print
(
-
2
,
"
\t
-h : print the command usage
\n
"
);
...
...
src/base/wlc/wlcNtk.c
View file @
55c5c1b5
...
@@ -471,7 +471,9 @@ Wlc_Ntk_t * Wlc_NtkDupDfs( Wlc_Ntk_t * p )
...
@@ -471,7 +471,9 @@ Wlc_Ntk_t * Wlc_NtkDupDfs( Wlc_Ntk_t * p )
Wlc_NtkDupDfs_rec
(
pNew
,
p
,
Wlc_ObjId
(
p
,
pObj
),
vFanins
);
Wlc_NtkDupDfs_rec
(
pNew
,
p
,
Wlc_ObjId
(
p
,
pObj
),
vFanins
);
Wlc_NtkForEachCo
(
p
,
pObj
,
i
)
Wlc_NtkForEachCo
(
p
,
pObj
,
i
)
Wlc_ObjSetCo
(
pNew
,
Wlc_ObjCopyObj
(
pNew
,
p
,
pObj
),
pObj
->
fIsFi
);
Wlc_ObjSetCo
(
pNew
,
Wlc_ObjCopyObj
(
pNew
,
p
,
pObj
),
pObj
->
fIsFi
);
if
(
p
->
vInits
)
pNew
->
vInits
=
Vec_IntDup
(
p
->
vInits
);
pNew
->
vInits
=
Vec_IntDup
(
p
->
vInits
);
if
(
p
->
pInits
)
pNew
->
pInits
=
Abc_UtilStrsav
(
p
->
pInits
);
pNew
->
pInits
=
Abc_UtilStrsav
(
p
->
pInits
);
Vec_IntFree
(
vFanins
);
Vec_IntFree
(
vFanins
);
return
pNew
;
return
pNew
;
...
...
src/base/wlc/wlcReadSmt.c
0 → 100644
View file @
55c5c1b5
This diff is collapsed.
Click to expand it.
src/base/wlc/wlcReadVer.c
View file @
55c5c1b5
...
@@ -547,7 +547,7 @@ static inline char * Wlc_PrsReadConstant( Wlc_Prs_t * p, char * pStr, Vec_Int_t
...
@@ -547,7 +547,7 @@ static inline char * Wlc_PrsReadConstant( Wlc_Prs_t * p, char * pStr, Vec_Int_t
Vec_IntFill
(
vFanins
,
Abc_BitWordNum
(
nBits
),
0
);
Vec_IntFill
(
vFanins
,
Abc_BitWordNum
(
nBits
),
0
);
for
(
i
=
0
;
i
<
nBits
;
i
++
)
for
(
i
=
0
;
i
<
nBits
;
i
++
)
if
(
pStr
[
2
+
i
]
==
'1'
)
if
(
pStr
[
2
+
i
]
==
'1'
)
Abc_InfoSetBit
(
(
unsigned
*
)
Vec_IntArray
(
vFanins
),
i
);
Abc_InfoSetBit
(
(
unsigned
*
)
Vec_IntArray
(
vFanins
),
nBits
-
1
-
i
);
else
if
(
pStr
[
2
+
i
]
!=
'0'
)
else
if
(
pStr
[
2
+
i
]
!=
'0'
)
return
(
char
*
)(
ABC_PTRINT_T
)
Wlc_PrsWriteErrorMessage
(
p
,
pStr
,
"Wrong digit in binary constant
\"
%c
\"
."
,
pStr
[
2
+
i
]
);
return
(
char
*
)(
ABC_PTRINT_T
)
Wlc_PrsWriteErrorMessage
(
p
,
pStr
,
"Wrong digit in binary constant
\"
%c
\"
."
,
pStr
[
2
+
i
]
);
*
pRange
=
nBits
;
*
pRange
=
nBits
;
...
@@ -922,19 +922,22 @@ startword:
...
@@ -922,19 +922,22 @@ startword:
Vec_Int_t
*
vTemp
=
Vec_IntStartNatural
(
Wlc_NtkObjNumMax
(
p
->
pNtk
)
);
Vec_Int_t
*
vTemp
=
Vec_IntStartNatural
(
Wlc_NtkObjNumMax
(
p
->
pNtk
)
);
Vec_IntAppend
(
&
p
->
pNtk
->
vNameIds
,
vTemp
);
Vec_IntAppend
(
&
p
->
pNtk
->
vNameIds
,
vTemp
);
Vec_IntFree
(
vTemp
);
Vec_IntFree
(
vTemp
);
// move FO/FI to be part of CI/CO
if
(
p
->
pNtk
->
vInits
)
assert
(
(
Vec_IntSize
(
&
p
->
pNtk
->
vFfs
)
&
1
)
==
0
);
{
assert
(
Vec_IntSize
(
&
p
->
pNtk
->
vFfs
)
==
2
*
Vec_IntSize
(
p
->
pNtk
->
vInits
)
);
// move FO/FI to be part of CI/CO
Wlc_NtkForEachFf
(
p
->
pNtk
,
pObj
,
i
)
assert
(
(
Vec_IntSize
(
&
p
->
pNtk
->
vFfs
)
&
1
)
==
0
);
if
(
i
&
1
)
assert
(
Vec_IntSize
(
&
p
->
pNtk
->
vFfs
)
==
2
*
Vec_IntSize
(
p
->
pNtk
->
vInits
)
);
Wlc_ObjSetCo
(
p
->
pNtk
,
pObj
,
1
);
Wlc_NtkForEachFf
(
p
->
pNtk
,
pObj
,
i
)
else
if
(
i
&
1
)
Wlc_ObjSetCi
(
p
->
pNtk
,
pObj
);
Wlc_ObjSetCo
(
p
->
pNtk
,
pObj
,
1
);
Vec_IntClear
(
&
p
->
pNtk
->
vFfs
);
else
// convert init values into binary string
Wlc_ObjSetCi
(
p
->
pNtk
,
pObj
);
//Vec_IntPrint( &p->pNtk->vInits );
Vec_IntClear
(
&
p
->
pNtk
->
vFfs
);
p
->
pNtk
->
pInits
=
Wlc_PrsConvertInitValues
(
p
->
pNtk
);
// convert init values into binary string
//printf( "%s", p->pNtk->pInits );
//Vec_IntPrint( &p->pNtk->vInits );
p
->
pNtk
->
pInits
=
Wlc_PrsConvertInitValues
(
p
->
pNtk
);
//printf( "%s", p->pNtk->pInits );
}
break
;
break
;
}
}
// these are read as part of the interface
// these are read as part of the interface
...
...
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