Go to the source code of this file.
◆ Abc_SclCountValidCells()
| int Abc_SclCountValidCells |
( |
SC_Lib * | p | ) |
|
Definition at line 564 of file sclLibScl.c.
565{
567 int i, n_valid_cells = 0;
570 n_valid_cells++;
571 return n_valid_cells;
572}
#define SC_LibForEachCell(p, pCell, i)
◆ Abc_SclMergeLibraries()
Function*************************************************************
Synopsis [Appends cells of pLib2 to those of pLib1.]
Description []
SideEffects []
SeeAlso []
Definition at line 869 of file sclLibScl.c.
870{
871 Vec_Str_t * vOut = Vec_StrAlloc( 10000 );
873 Abc_SclWriteLibrary( vOut, pLib1, n_valid_cells2, fUsePrefix );
874 Abc_SclWriteLibraryCellsOnly( vOut, pLib2, fUsePrefix ? 2 : 0 );
876 p->pFileName = Abc_UtilStrsav( pLib1->
pFileName );
879 Vec_StrFree( vOut );
880 printf(
"Updated library \"%s\" with additional %d cells from library \"%s\".\n", pLib1->
pName, n_valid_cells2, pLib2->
pName );
882}
#define ABC_ALLOC(type, num)
struct Vec_Str_t_ Vec_Str_t
int Abc_SclCountValidCells(SC_Lib *p)
SC_Lib * Abc_SclReadFromStr(Vec_Str_t *vOut)
◆ Abc_SclReadFromFile()
| SC_Lib * Abc_SclReadFromFile |
( |
char * | pFileName | ) |
|
Definition at line 417 of file sclLibScl.c.
418{
420 FILE * pFile;
422 int nFileSize;
423 pFile = fopen( pFileName, "rb" );
424 if ( pFile == NULL )
425 {
426 printf( "Cannot open file \"%s\" for reading.\n", pFileName );
427 return NULL;
428 }
429
431 nFileSize = ftell( pFile );
433
434 vOut = Vec_StrAlloc( nFileSize );
436 assert( nFileSize == Vec_StrSize(vOut) );
437 nFileSize = fread( Vec_StrArray(vOut), 1, Vec_StrSize(vOut), pFile );
438 assert( nFileSize == Vec_StrSize(vOut) );
439 fclose( pFile );
440
443 p->pFileName = Abc_UtilStrsav( pFileName );
446 Vec_StrFree( vOut );
448}
void Abc_SclLibNormalize(SC_Lib *p)
◆ Abc_SclReadFromGenlib()
| SC_Lib * Abc_SclReadFromGenlib |
( |
void * | pLib0 | ) |
|
Definition at line 169 of file sclLibScl.c.
170{
172 SC_Lib *
p = Abc_SclLibAlloc();
173 if ( !Abc_SclReadLibraryGenlib(
p, pLib ) )
174 return NULL;
175
179}
struct Mio_LibraryStruct_t_ Mio_Library_t
void Abc_SclHashCells(SC_Lib *p)
void Abc_SclLinkCells(SC_Lib *p)
◆ Abc_SclReadFromStr()
Definition at line 403 of file sclLibScl.c.
404{
407
408 p = Abc_SclLibAlloc();
409 if ( !Abc_SclReadLibrary( vOut, &
Pos,
p ) )
410 return NULL;
412
416}
◆ Abc_SclWriteLiberty()
| void Abc_SclWriteLiberty |
( |
char * | pFileName, |
|
|
SC_Lib * | p ) |
Definition at line 845 of file sclLibScl.c.
846{
847 FILE * pFile = fopen( pFileName, "wb" );
848 if ( pFile == NULL )
849 printf( "Cannot open text file \"%s\" for writing.\n", pFileName );
850 else
851 {
852 Abc_SclWriteLibraryText( pFile,
p );
853 fclose( pFile );
854 printf(
"Dumped internal library with %d cells into Liberty file \"%s\".\n", SC_LibCellNum(
p), pFileName );
855 }
856}
◆ Abc_SclWriteScl()
| void Abc_SclWriteScl |
( |
char * | pFileName, |
|
|
SC_Lib * | p ) |
Definition at line 629 of file sclLibScl.c.
630{
632 vOut = Vec_StrAlloc( 10000 );
633 Abc_SclWriteLibrary( vOut,
p, 0, 0 );
634 if ( Vec_StrSize(vOut) > 0 )
635 {
636 FILE * pFile = fopen( pFileName, "wb" );
637 if ( pFile == NULL )
638 printf( "Cannot open file \"%s\" for writing.\n", pFileName );
639 else
640 {
641 fwrite( Vec_StrArray(vOut), 1, Vec_StrSize(vOut), pFile );
642 fclose( pFile );
643 }
644 }
645 Vec_StrFree( vOut );
646}