mirror of
https://github.com/YosysHQ/abc.git
synced 2026-08-22 05:57:21 +02:00
Change to BENCH reader to read DFF with four inputs.
This commit is contained in:
@@ -120,6 +120,28 @@ Abc_Ntk_t * Io_ReadBenchNetwork( Extra_FileReader_t * p )
|
|||||||
// get the node name and the node type
|
// get the node name and the node type
|
||||||
pType = (char *)vTokens->pArray[1];
|
pType = (char *)vTokens->pArray[1];
|
||||||
if ( strncmp(pType, "DFF", 3) == 0 ) // works for both DFF and DFFRSE
|
if ( strncmp(pType, "DFF", 3) == 0 ) // works for both DFF and DFFRSE
|
||||||
|
{
|
||||||
|
if ( Vec_PtrSize(vTokens) == 6 )
|
||||||
|
{
|
||||||
|
// create primary input to represent flop output
|
||||||
|
char pNetName[1000]; char * pName; int i;
|
||||||
|
char * pFlopOut = (char *)vTokens->pArray[0];
|
||||||
|
Abc_Obj_t * pNet = Abc_NtkFindOrCreateNet( pNtk, pFlopOut );
|
||||||
|
Abc_Obj_t * pTerm = Abc_NtkCreatePi( pNtk );
|
||||||
|
Abc_ObjAddFanin( pNet, pTerm );
|
||||||
|
// create four primary outputs to represent flop inputs
|
||||||
|
Vec_PtrForEachEntryStart( char *, vTokens, pName, i, 2 )
|
||||||
|
{
|
||||||
|
sprintf( pNetName, "%s_%s", pFlopOut, pName );
|
||||||
|
pNet = Abc_NtkFindOrCreateNet( pNtk, pName );
|
||||||
|
pTerm = Abc_NtkCreateNodeBuf( pNtk, pNet );
|
||||||
|
pNet = Abc_NtkFindOrCreateNet( pNtk, pNetName );
|
||||||
|
Abc_ObjAddFanin( pNet, pTerm );
|
||||||
|
pTerm = Abc_NtkCreatePo( pNtk );
|
||||||
|
Abc_ObjAddFanin( pTerm, pNet );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
pNode = Io_ReadCreateLatch( pNtk, (char *)vTokens->pArray[2], (char *)vTokens->pArray[0] );
|
pNode = Io_ReadCreateLatch( pNtk, (char *)vTokens->pArray[2], (char *)vTokens->pArray[0] );
|
||||||
// Abc_LatchSetInit0( pNode );
|
// Abc_LatchSetInit0( pNode );
|
||||||
@@ -130,6 +152,7 @@ Abc_Ntk_t * Io_ReadBenchNetwork( Extra_FileReader_t * p )
|
|||||||
else
|
else
|
||||||
Abc_LatchSetInitDc( pNode );
|
Abc_LatchSetInitDc( pNode );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if ( strcmp(pType, "LUT") == 0 )
|
else if ( strcmp(pType, "LUT") == 0 )
|
||||||
{
|
{
|
||||||
fLutsPresent = 1;
|
fLutsPresent = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user