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
e4f15dd0
Commit
e4f15dd0
authored
Jul 30, 2011
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changes to enable smarter simulation.
parent
badf8e47
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
182 additions
and
28 deletions
+182
-28
src/aig/ssw/sswInt.h
+1
-0
src/aig/ssw/sswRarity.c
+2
-4
src/aig/ssw/sswRarity2.c
+174
-18
src/base/abci/abc.c
+5
-6
No files found.
src/aig/ssw/sswInt.h
View file @
e4f15dd0
...
@@ -230,6 +230,7 @@ extern int Ssw_ClassesRefineGroup( Ssw_Cla_t * p, Vec_Ptr_t * vReprs,
...
@@ -230,6 +230,7 @@ extern int Ssw_ClassesRefineGroup( Ssw_Cla_t * p, Vec_Ptr_t * vReprs,
extern
int
Ssw_ClassesRefineOneClass
(
Ssw_Cla_t
*
p
,
Aig_Obj_t
*
pRepr
,
int
fRecursive
);
extern
int
Ssw_ClassesRefineOneClass
(
Ssw_Cla_t
*
p
,
Aig_Obj_t
*
pRepr
,
int
fRecursive
);
extern
int
Ssw_ClassesRefineConst1Group
(
Ssw_Cla_t
*
p
,
Vec_Ptr_t
*
vRoots
,
int
fRecursive
);
extern
int
Ssw_ClassesRefineConst1Group
(
Ssw_Cla_t
*
p
,
Vec_Ptr_t
*
vRoots
,
int
fRecursive
);
extern
int
Ssw_ClassesRefineConst1
(
Ssw_Cla_t
*
p
,
int
fRecursive
);
extern
int
Ssw_ClassesRefineConst1
(
Ssw_Cla_t
*
p
,
int
fRecursive
);
extern
int
Ssw_ClassesPrepareRehash
(
Ssw_Cla_t
*
p
,
Vec_Ptr_t
*
vCands
,
int
fConstCorr
);
/*=== sswCnf.c ===================================================*/
/*=== sswCnf.c ===================================================*/
extern
Ssw_Sat_t
*
Ssw_SatStart
(
int
fPolarFlip
);
extern
Ssw_Sat_t
*
Ssw_SatStart
(
int
fPolarFlip
);
extern
void
Ssw_SatStop
(
Ssw_Sat_t
*
p
);
extern
void
Ssw_SatStop
(
Ssw_Sat_t
*
p
);
...
...
src/aig/ssw/sswRarity.c
View file @
e4f15dd0
...
@@ -210,11 +210,9 @@ static void Ssw_RarTransferPatterns( Ssw_RarMan_t * p, Vec_Int_t * vInits )
...
@@ -210,11 +210,9 @@ static void Ssw_RarTransferPatterns( Ssw_RarMan_t * p, Vec_Int_t * vInits )
Value
=
Ssw_RarGetBinPat
(
p
,
i
,
p
->
pGroupValues
[
i
]
);
Value
=
Ssw_RarGetBinPat
(
p
,
i
,
p
->
pGroupValues
[
i
]
);
assert
(
Value
>
0
);
assert
(
Value
>
0
);
p
->
pPatCosts
[
k
]
+=
1
.
0
/
(
Value
*
Value
);
p
->
pPatCosts
[
k
]
+=
1
.
0
/
(
Value
*
Value
);
// printf( "%d ", Value );
}
}
// printf( "\n" );
// print the result
// print the result
printf
(
"%3d : %9.6f
\n
"
,
k
,
p
->
pPatCosts
[
k
]
);
//
printf( "%3d : %9.6f\n", k, p->pPatCosts[k] );
}
}
// choose as many as there are words
// choose as many as there are words
...
@@ -239,7 +237,7 @@ static void Ssw_RarTransferPatterns( Ssw_RarMan_t * p, Vec_Int_t * vInits )
...
@@ -239,7 +237,7 @@ static void Ssw_RarTransferPatterns( Ssw_RarMan_t * p, Vec_Int_t * vInits )
pData
=
(
unsigned
*
)
Vec_PtrEntry
(
p
->
vSimInfo
,
Aig_ObjId
(
pObj
)
)
+
p
->
nWords
*
(
p
->
nFrames
-
1
);
pData
=
(
unsigned
*
)
Vec_PtrEntry
(
p
->
vSimInfo
,
Aig_ObjId
(
pObj
)
)
+
p
->
nWords
*
(
p
->
nFrames
-
1
);
Vec_IntPush
(
vInits
,
Aig_InfoHasBit
(
pData
,
iPatBest
)
);
Vec_IntPush
(
vInits
,
Aig_InfoHasBit
(
pData
,
iPatBest
)
);
}
}
printf
(
"Best pattern %5d
\n
"
,
iPatBest
);
//
printf( "Best pattern %5d\n", iPatBest );
}
}
assert
(
Vec_IntSize
(
vInits
)
==
Aig_ManRegNum
(
p
->
pAig
)
*
p
->
nWords
);
assert
(
Vec_IntSize
(
vInits
)
==
Aig_ManRegNum
(
p
->
pAig
)
*
p
->
nWords
);
}
}
...
...
src/aig/ssw/sswRarity2.c
View file @
e4f15dd0
This diff is collapsed.
Click to expand it.
src/base/abci/abc.c
View file @
e4f15dd0
...
@@ -25167,8 +25167,8 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -25167,8 +25167,8 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
int
TimeOut
=
0
;
int
TimeOut
=
0
;
int
fUseCex
=
0
;
int
fUseCex
=
0
;
int
fLatchOnly
=
0
;
int
fLatchOnly
=
0
;
int
fNewAlgo
=
0
;
int
fNewAlgo
=
1
;
int
fVerbose
=
1
;
int
fVerbose
=
0
;
Extra_UtilGetoptReset
();
Extra_UtilGetoptReset
();
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"FWBRTxlavh"
)
)
!=
EOF
)
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"FWBRTxlavh"
)
)
!=
EOF
)
{
{
...
@@ -25266,7 +25266,6 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -25266,7 +25266,6 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
return
1
;
return
1
;
}
}
}
}
// pAbc->Status = Abc_NtkDarSeqEquiv2( pNtk, nFrames, nWords, nBinSize, nRounds, TimeOut, fUseCex? pAbc->pCex: NULL, fLatchOnly, fVerbose );
if
(
fNewAlgo
)
if
(
fNewAlgo
)
pAbc
->
Status
=
Ssw_RarSignalFilterGia2
(
pAbc
->
pGia
,
nFrames
,
nWords
,
nBinSize
,
nRounds
,
TimeOut
,
fUseCex
?
pAbc
->
pCex
:
NULL
,
fLatchOnly
,
fVerbose
);
pAbc
->
Status
=
Ssw_RarSignalFilterGia2
(
pAbc
->
pGia
,
nFrames
,
nWords
,
nBinSize
,
nRounds
,
TimeOut
,
fUseCex
?
pAbc
->
pCex
:
NULL
,
fLatchOnly
,
fVerbose
);
else
else
...
@@ -25276,14 +25275,14 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -25276,14 +25275,14 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
return
0
;
return
0
;
usage:
usage:
Abc_Print
(
-
2
,
"usage: &equiv3 [-FW
B
RT num] [-xlvh]
\n
"
);
Abc_Print
(
-
2
,
"usage: &equiv3 [-FWRT num] [-xlvh]
\n
"
);
Abc_Print
(
-
2
,
"
\t
computes candidate equivalence classes
\n
"
);
Abc_Print
(
-
2
,
"
\t
computes candidate equivalence classes
\n
"
);
Abc_Print
(
-
2
,
"
\t
-F num : the max number of frames for BMC [default = %d]
\n
"
,
nFrames
);
Abc_Print
(
-
2
,
"
\t
-F num : the max number of frames for BMC [default = %d]
\n
"
,
nFrames
);
Abc_Print
(
-
2
,
"
\t
-W num : the number of words to simulate [default = %d]
\n
"
,
nWords
);
Abc_Print
(
-
2
,
"
\t
-W num : the number of words to simulate [default = %d]
\n
"
,
nWords
);
Abc_Print
(
-
2
,
"
\t
-B num : the number of flops in one bin [default = %d]
\n
"
,
nBinSize
);
//
Abc_Print( -2, "\t-B num : the number of flops in one bin [default = %d]\n", nBinSize );
Abc_Print
(
-
2
,
"
\t
-R num : the max number of simulation rounds [default = %d]
\n
"
,
nRounds
);
Abc_Print
(
-
2
,
"
\t
-R num : the max number of simulation rounds [default = %d]
\n
"
,
nRounds
);
Abc_Print
(
-
2
,
"
\t
-T num : runtime limit in seconds for all rounds [default = %d]
\n
"
,
TimeOut
);
Abc_Print
(
-
2
,
"
\t
-T num : runtime limit in seconds for all rounds [default = %d]
\n
"
,
TimeOut
);
Abc_Print
(
-
2
,
"
\t
-x : toggle using the current
cex
to perform refinement [default = %s]
\n
"
,
fUseCex
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-x : toggle using the current
CEX
to perform refinement [default = %s]
\n
"
,
fUseCex
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-l : toggle considering only latch output equivalences [default = %s]
\n
"
,
fLatchOnly
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-l : toggle considering only latch output equivalences [default = %s]
\n
"
,
fLatchOnly
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-a : toggle using a new algorithm [default = %s]
\n
"
,
fNewAlgo
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-a : toggle using a new algorithm [default = %s]
\n
"
,
fNewAlgo
?
"yes"
:
"no"
);
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"
);
...
...
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