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
16f79036
Commit
16f79036
authored
Oct 01, 2013
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changes in specialized matching.
parent
8340b65d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
7 deletions
+18
-7
src/base/abci/abc.c
+14
-2
src/map/if/if.h
+1
-0
src/map/if/ifDec16.c
+3
-5
No files found.
src/base/abci/abc.c
View file @
16f79036
...
@@ -15420,7 +15420,7 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -15420,7 +15420,7 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
fLutMux
=
0
;
fLutMux
=
0
;
Extra_UtilGetoptReset
();
Extra_UtilGetoptReset
();
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"KCFAGNDEWSqaflepmrsdbugyojiknvh"
)
)
!=
EOF
)
while
(
(
c
=
Extra_UtilGetopt
(
argc
,
argv
,
"KCFAGNDEWS
T
qaflepmrsdbugyojiknvh"
)
)
!=
EOF
)
{
{
switch
(
c
)
switch
(
c
)
{
{
...
@@ -15539,6 +15539,17 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
...
@@ -15539,6 +15539,17 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
goto
usage
;
goto
usage
;
}
}
break
;
break
;
case
'T'
:
if
(
globalUtilOptind
>=
argc
)
{
Abc_Print
(
-
1
,
"Command line switch
\"
-T
\"
should be followed by a positive integer 0,1,or 2.
\n
"
);
goto
usage
;
}
pPars
->
nStructType
=
atoi
(
argv
[
globalUtilOptind
]);
globalUtilOptind
++
;
if
(
pPars
->
nStructType
<
0
||
pPars
->
nStructType
>
2
)
goto
usage
;
break
;
case
'q'
:
case
'q'
:
pPars
->
fPreprocess
^=
1
;
pPars
->
fPreprocess
^=
1
;
break
;
break
;
...
@@ -15856,7 +15867,7 @@ usage:
...
@@ -15856,7 +15867,7 @@ usage:
sprintf
(
LutSize
,
"library"
);
sprintf
(
LutSize
,
"library"
);
else
else
sprintf
(
LutSize
,
"%d"
,
pPars
->
nLutSize
);
sprintf
(
LutSize
,
"%d"
,
pPars
->
nLutSize
);
Abc_Print
(
-
2
,
"usage: if [-KCFANG num] [-DEW float] [-S str] [-qarlepmsdbugyojikcnvh]
\n
"
);
Abc_Print
(
-
2
,
"usage: if [-KCFANG
T
num] [-DEW float] [-S str] [-qarlepmsdbugyojikcnvh]
\n
"
);
Abc_Print
(
-
2
,
"
\t
performs FPGA technology mapping of the network
\n
"
);
Abc_Print
(
-
2
,
"
\t
performs FPGA technology mapping of the network
\n
"
);
Abc_Print
(
-
2
,
"
\t
-K num : the number of LUT inputs (2 < num < %d) [default = %s]
\n
"
,
IF_MAX_LUTSIZE
+
1
,
LutSize
);
Abc_Print
(
-
2
,
"
\t
-K num : the number of LUT inputs (2 < num < %d) [default = %s]
\n
"
,
IF_MAX_LUTSIZE
+
1
,
LutSize
);
Abc_Print
(
-
2
,
"
\t
-C num : the max number of priority cuts (0 < num < 2^12) [default = %d]
\n
"
,
pPars
->
nCutsMax
);
Abc_Print
(
-
2
,
"
\t
-C num : the max number of priority cuts (0 < num < 2^12) [default = %d]
\n
"
,
pPars
->
nCutsMax
);
...
@@ -15868,6 +15879,7 @@ usage:
...
@@ -15868,6 +15879,7 @@ usage:
Abc_Print
(
-
2
,
"
\t
-E float : sets epsilon used for tie-breaking [default = %f]
\n
"
,
pPars
->
Epsilon
);
Abc_Print
(
-
2
,
"
\t
-E float : sets epsilon used for tie-breaking [default = %f]
\n
"
,
pPars
->
Epsilon
);
Abc_Print
(
-
2
,
"
\t
-W float : sets wire delay between adjects LUTs [default = %f]
\n
"
,
pPars
->
WireDelay
);
Abc_Print
(
-
2
,
"
\t
-W float : sets wire delay between adjects LUTs [default = %f]
\n
"
,
pPars
->
WireDelay
);
Abc_Print
(
-
2
,
"
\t
-S str : string representing the LUT structure [default = %s]
\n
"
,
pPars
->
pLutStruct
?
pPars
->
pLutStruct
:
"not used"
);
Abc_Print
(
-
2
,
"
\t
-S str : string representing the LUT structure [default = %s]
\n
"
,
pPars
->
pLutStruct
?
pPars
->
pLutStruct
:
"not used"
);
Abc_Print
(
-
2
,
"
\t
-T num : the type of LUT structures [default = any]
\n
"
,
pPars
->
nStructType
);
Abc_Print
(
-
2
,
"
\t
-q : toggles preprocessing using several starting points [default = %s]
\n
"
,
pPars
->
fPreprocess
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-q : toggles preprocessing using several starting points [default = %s]
\n
"
,
pPars
->
fPreprocess
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-a : toggles area-oriented mapping [default = %s]
\n
"
,
pPars
->
fArea
?
"yes"
:
"no"
);
Abc_Print
(
-
2
,
"
\t
-a : toggles area-oriented mapping [default = %s]
\n
"
,
pPars
->
fArea
?
"yes"
:
"no"
);
// Abc_Print( -2, "\t-f : toggles one fancy feature [default = %s]\n", pPars->fFancy? "yes": "no" );
// Abc_Print( -2, "\t-f : toggles one fancy feature [default = %s]\n", pPars->fFancy? "yes": "no" );
src/map/if/if.h
View file @
16f79036
...
@@ -103,6 +103,7 @@ struct If_Par_t_
...
@@ -103,6 +103,7 @@ struct If_Par_t_
float
DelayTarget
;
// delay target
float
DelayTarget
;
// delay target
float
Epsilon
;
// value used in comparison floating point numbers
float
Epsilon
;
// value used in comparison floating point numbers
int
nRelaxRatio
;
// delay relaxation ratio
int
nRelaxRatio
;
// delay relaxation ratio
int
nStructType
;
// type of the structure
int
fPreprocess
;
// preprossing
int
fPreprocess
;
// preprossing
int
fArea
;
// area-oriented mapping
int
fArea
;
// area-oriented mapping
int
fFancy
;
// a fancy feature
int
fFancy
;
// a fancy feature
...
...
src/map/if/ifDec16.c
View file @
16f79036
...
@@ -24,8 +24,6 @@
...
@@ -24,8 +24,6 @@
ABC_NAMESPACE_IMPL_START
ABC_NAMESPACE_IMPL_START
#define IF_USE_CASE3 0 // 0 allowed; 1 not allowed; 2 exclusive
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
...
@@ -2020,11 +2018,11 @@ If_Grp_t If_CluCheck3( If_Man_t * p, word * pTruth0, int nVars, int nLutLeaf, in
...
@@ -2020,11 +2018,11 @@ If_Grp_t If_CluCheck3( If_Man_t * p, word * pTruth0, int nVars, int nLutLeaf, in
}
}
// the new variable is at the bottom - skip it (iVarStart = 1)
// the new variable is at the bottom - skip it (iVarStart = 1)
if
(
IF_USE_CASE3
==
0
)
if
(
p
->
pPars
->
nStructType
==
0
)
// allowed
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
0
,
0
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
0
,
0
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
else
if
(
IF_USE_CASE3
==
1
)
else
if
(
p
->
pPars
->
nStructType
==
1
)
// not allowed
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
1
,
0
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
1
,
0
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
else
if
(
IF_USE_CASE3
==
2
)
else
if
(
p
->
pPars
->
nStructType
==
2
)
// required
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
0
,
1
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
G2
=
If_CluCheck
(
p
,
pLeftOver
,
R2
.
nVars
,
0
,
1
,
nLutLeaf2
,
nLutRoot
,
&
R
,
&
Func0
,
&
Func2
,
NULL
,
0
);
else
assert
(
0
);
else
assert
(
0
);
...
...
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