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
0108175c
Commit
0108175c
authored
Jul 22, 2023
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug fix in 'dsd'.
parent
a620c09c
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
9 deletions
+9
-9
src/base/abci/abcDsd.c
+4
-4
src/bdd/dsd/dsd.h
+2
-2
src/bdd/dsd/dsdApi.c
+2
-2
src/bdd/dsd/dsdInt.h
+1
-1
No files found.
src/base/abci/abcDsd.c
View file @
0108175c
...
@@ -175,11 +175,11 @@ void Abc_NtkDsdConstruct( Dsd_Manager_t * pManDsd, Abc_Ntk_t * pNtk, Abc_Ntk_t *
...
@@ -175,11 +175,11 @@ void Abc_NtkDsdConstruct( Dsd_Manager_t * pManDsd, Abc_Ntk_t * pNtk, Abc_Ntk_t *
// save the CI nodes in the DSD nodes
// save the CI nodes in the DSD nodes
Abc_AigConst1
(
pNtk
)
->
pCopy
=
pNodeNew
=
Abc_NtkCreateNodeConst1
(
pNtkNew
);
Abc_AigConst1
(
pNtk
)
->
pCopy
=
pNodeNew
=
Abc_NtkCreateNodeConst1
(
pNtkNew
);
Dsd_NodeSetMark
(
Dsd_ManagerReadConst1
(
pManDsd
),
(
int
)(
ABC_PTRINT_T
)
pNodeNew
);
Dsd_NodeSetMark
(
Dsd_ManagerReadConst1
(
pManDsd
),
(
word
)(
ABC_PTRINT_T
)
pNodeNew
);
Abc_NtkForEachCi
(
pNtk
,
pNode
,
i
)
Abc_NtkForEachCi
(
pNtk
,
pNode
,
i
)
{
{
pNodeDsd
=
Dsd_ManagerReadInput
(
pManDsd
,
i
);
pNodeDsd
=
Dsd_ManagerReadInput
(
pManDsd
,
i
);
Dsd_NodeSetMark
(
pNodeDsd
,
(
int
)(
ABC_PTRINT_T
)
pNode
->
pCopy
);
Dsd_NodeSetMark
(
pNodeDsd
,
(
word
)(
ABC_PTRINT_T
)
pNode
->
pCopy
);
}
}
// collect DSD nodes in DFS order (leaves and const1 are not collected)
// collect DSD nodes in DFS order (leaves and const1 are not collected)
...
@@ -298,7 +298,7 @@ printf( "\n" );
...
@@ -298,7 +298,7 @@ printf( "\n" );
}
}
}
}
pNodeNew
->
pData
=
bLocal
;
pNodeNew
->
pData
=
bLocal
;
Dsd_NodeSetMark
(
pNodeDsd
,
(
int
)(
ABC_PTRINT_T
)
pNodeNew
);
Dsd_NodeSetMark
(
pNodeDsd
,
(
word
)(
ABC_PTRINT_T
)
pNodeNew
);
return
pNodeNew
;
return
pNodeNew
;
}
}
...
@@ -417,7 +417,7 @@ void Abc_NodeDecompDsdAndMux( Abc_Obj_t * pNode, Vec_Ptr_t * vNodes, Dsd_Manager
...
@@ -417,7 +417,7 @@ void Abc_NodeDecompDsdAndMux( Abc_Obj_t * pNode, Vec_Ptr_t * vNodes, Dsd_Manager
Abc_ObjForEachFanin
(
pNode
,
pFanin
,
i
)
Abc_ObjForEachFanin
(
pNode
,
pFanin
,
i
)
{
{
pFaninDsd
=
Dsd_ManagerReadInput
(
pManDsd
,
i
);
pFaninDsd
=
Dsd_ManagerReadInput
(
pManDsd
,
i
);
Dsd_NodeSetMark
(
pFaninDsd
,
(
int
)(
ABC_PTRINT_T
)
pFanin
);
Dsd_NodeSetMark
(
pFaninDsd
,
(
word
)(
ABC_PTRINT_T
)
pFanin
);
}
}
// construct the intermediate nodes
// construct the intermediate nodes
...
...
src/bdd/dsd/dsd.h
View file @
0108175c
...
@@ -92,8 +92,8 @@ extern DdNode * Dsd_NodeReadSupp( Dsd_Node_t * p );
...
@@ -92,8 +92,8 @@ extern DdNode * Dsd_NodeReadSupp( Dsd_Node_t * p );
extern
Dsd_Node_t
**
Dsd_NodeReadDecs
(
Dsd_Node_t
*
p
);
extern
Dsd_Node_t
**
Dsd_NodeReadDecs
(
Dsd_Node_t
*
p
);
extern
Dsd_Node_t
*
Dsd_NodeReadDec
(
Dsd_Node_t
*
p
,
int
i
);
extern
Dsd_Node_t
*
Dsd_NodeReadDec
(
Dsd_Node_t
*
p
,
int
i
);
extern
int
Dsd_NodeReadDecsNum
(
Dsd_Node_t
*
p
);
extern
int
Dsd_NodeReadDecsNum
(
Dsd_Node_t
*
p
);
extern
int
Dsd_NodeReadMark
(
Dsd_Node_t
*
p
);
extern
word
Dsd_NodeReadMark
(
Dsd_Node_t
*
p
);
extern
void
Dsd_NodeSetMark
(
Dsd_Node_t
*
p
,
int
Mark
);
extern
void
Dsd_NodeSetMark
(
Dsd_Node_t
*
p
,
word
Mark
);
extern
DdManager
*
Dsd_ManagerReadDd
(
Dsd_Manager_t
*
pMan
);
extern
DdManager
*
Dsd_ManagerReadDd
(
Dsd_Manager_t
*
pMan
);
extern
Dsd_Node_t
*
Dsd_ManagerReadRoot
(
Dsd_Manager_t
*
pMan
,
int
i
);
extern
Dsd_Node_t
*
Dsd_ManagerReadRoot
(
Dsd_Manager_t
*
pMan
,
int
i
);
extern
Dsd_Node_t
*
Dsd_ManagerReadInput
(
Dsd_Manager_t
*
pMan
,
int
i
);
extern
Dsd_Node_t
*
Dsd_ManagerReadInput
(
Dsd_Manager_t
*
pMan
,
int
i
);
...
...
src/bdd/dsd/dsdApi.c
View file @
0108175c
...
@@ -56,7 +56,7 @@ DdNode * Dsd_NodeReadSupp( Dsd_Node_t * p ) { return p->S; }
...
@@ -56,7 +56,7 @@ DdNode * Dsd_NodeReadSupp( Dsd_Node_t * p ) { return p->S; }
Dsd_Node_t
**
Dsd_NodeReadDecs
(
Dsd_Node_t
*
p
)
{
return
p
->
pDecs
;
}
Dsd_Node_t
**
Dsd_NodeReadDecs
(
Dsd_Node_t
*
p
)
{
return
p
->
pDecs
;
}
Dsd_Node_t
*
Dsd_NodeReadDec
(
Dsd_Node_t
*
p
,
int
i
)
{
return
p
->
pDecs
[
i
];
}
Dsd_Node_t
*
Dsd_NodeReadDec
(
Dsd_Node_t
*
p
,
int
i
)
{
return
p
->
pDecs
[
i
];
}
int
Dsd_NodeReadDecsNum
(
Dsd_Node_t
*
p
)
{
return
p
->
nDecs
;
}
int
Dsd_NodeReadDecsNum
(
Dsd_Node_t
*
p
)
{
return
p
->
nDecs
;
}
int
Dsd_NodeReadMark
(
Dsd_Node_t
*
p
)
{
return
p
->
Mark
;
}
word
Dsd_NodeReadMark
(
Dsd_Node_t
*
p
)
{
return
p
->
Mark
;
}
/**Function*************************************************************
/**Function*************************************************************
...
@@ -74,7 +74,7 @@ int Dsd_NodeReadMark( Dsd_Node_t * p ) { return p->Mark; }
...
@@ -74,7 +74,7 @@ int Dsd_NodeReadMark( Dsd_Node_t * p ) { return p->Mark; }
SeeAlso []
SeeAlso []
***********************************************************************/
***********************************************************************/
void
Dsd_NodeSetMark
(
Dsd_Node_t
*
p
,
int
Mark
){
p
->
Mark
=
Mark
;
}
void
Dsd_NodeSetMark
(
Dsd_Node_t
*
p
,
word
Mark
){
p
->
Mark
=
Mark
;
}
/**Function*************************************************************
/**Function*************************************************************
...
...
src/bdd/dsd/dsdInt.h
View file @
0108175c
...
@@ -57,7 +57,7 @@ struct Dsd_Node_t_
...
@@ -57,7 +57,7 @@ struct Dsd_Node_t_
DdNode
*
G
;
// function of the node
DdNode
*
G
;
// function of the node
DdNode
*
S
;
// support of this function
DdNode
*
S
;
// support of this function
Dsd_Node_t
**
pDecs
;
// pointer to structures for formal inputs
Dsd_Node_t
**
pDecs
;
// pointer to structures for formal inputs
int
Mark
;
// the mark used by CASE 4 of disjoint decomposition
word
Mark
;
// the mark used by CASE 4 of disjoint decomposition
short
nDecs
;
// the number of formal inputs
short
nDecs
;
// the number of formal inputs
short
nVisits
;
// the counter of visits
short
nVisits
;
// the counter of visits
};
};
...
...
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