Changeset 104


Ignore:
Timestamp:
Jul 23, 2012, 5:36:38 PM (12 years ago)
Author:
cecile
Message:

add begining for composition

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vis_dev/vis-2.3/src/debug/debug.c

    r101 r104  
    6767static int CommandGenerateNetworkCNF(Hrc_Manager_t ** hmgr,int  argc, char ** argv);
    6868static int CommandBuildCexBdd(Hrc_Manager_t ** hmgr,int  argc, char ** argv);
     69static int CommandComposeWithCex(Hrc_Manager_t ** hmgr,int  argc, char ** argv);
     70
    6971
    7072
     
    98100  Cmd_CommandAdd("_cexbdd",      CommandBuildCexBdd, 0);
    99101  Cmd_CommandAdd("print_network_cnf",  CommandGenerateNetworkCNF, 0);
     102  Cmd_CommandAdd("_compose",  CommandComposeWithCex, 1);
    100103
    101104}
     
    10461049mdd_FunctionPrintMain (mddManager ,init,"INIT",vis_stdout);
    10471050
     1051return 0;               /* normal exit */
     1052
     1053usage:
     1054(void) fprintf(vis_stderr, "usage: _BddCex [-h] [-v]\n");
     1055(void) fprintf(vis_stderr, "   -h\t\tprint the command usage\n");
     1056(void) fprintf(vis_stderr, "   -v\t\tverbose\n");
     1057return 1;               /* error exit */
     1058
     1059}
     1060
     1061
     1062static int CommandComposeWithCex(Hrc_Manager_t ** hmgr,int  argc, char ** argv)
     1063{
     1064
     1065  char * cexName;
     1066  char * cexModelName;
     1067  char * rootName;
     1068  char * newName;
     1069  FILE * cexFile;
     1070  Hrc_Node_t * rootNode;
     1071  Hrc_Node_t * cexNode;
     1072  Hrc_Model_t * rootModel;
     1073  Hrc_Model_t * cexModel;
     1074  Hrc_Model_t * newModel;
     1075  Hrc_Manager_t *  hmgrCex;
     1076 // Ntk_Network_t * networkCex;
     1077  array_t *cexActualInputArray, *cexActualOutputArray;
     1078  array_t *actualInputArray, *actualOutputArray;
     1079
     1080  rootNode = Hrc_ManagerReadRootNode(*hmgr);
     1081  if(rootNode == NIL(Hrc_Node_t)){
     1082        printf("Please build the network first\n");
     1083        return 1;
     1084  }
     1085  rootName = Hrc_NodeReadModelName(rootNode);
     1086  rootModel =  Hrc_ManagerFindModelByName(*hmgr,rootName);
     1087  if (argc - util_optind > 0)
     1088   {
     1089     cexName  = util_strsav(argv[util_optind]);
     1090     cexFile = Cmd_FileOpen(cexName, "r", NIL(char *), 0);
     1091     if(cexFile == NULL)
     1092      (void) fprintf(vis_stderr, "%s not Found\n",cexName);
     1093
     1094  }
     1095  else
     1096    goto usage;
     1097 
     1098
     1099 
     1100// Read_blif_mv
     1101  hmgrCex =  Io_BlifMvRead(cexFile,hmgrCex,0,0,0);
     1102  if(hmgrCex == NIL(Hrc_Manager_t)){
     1103    fprintf(vis_stderr, "cannot open the hierrachy %\n",cexName);
     1104    return 1;
     1105  }
     1106  st_table * modelTable = Hrc_ManagerReadModelTable(hmgrCex);
     1107  if( st_count(modelTable) != 1){
     1108    fprintf(vis_stderr, "cannot open more than one cex model\n");
     1109    return 1;
     1110  }
     1111  st_generator *  gen;
     1112  Hrc_ManagerForEachModel( hmgrCex,gen,cexModelName,cexModel){}
     1113  fprintf(vis_stderr, "Compose %s with %s\n",rootName, cexModelName);
     1114 
     1115  cexNode = Hrc_ManagerReadRootNode(hmgrCex);
     1116  actualInputArray = array_dup(Hrc_NodeReadFormalInputs(rootNode));
     1117  actualOutputArray = array_dup(Hrc_NodeReadFormalOutputs(rootNode));
     1118  Hrc_ModelAddSubckt(rootModel,cexModel,cexModelName,actualInputArray, actualOutputArray);
     1119
     1120
     1121
     1122 
     1123 
     1124
     1125
     1126/*
     1127 modelName = Hrc_NodeReadModelName(rootNode);
     1128 newRootName = ALLOC(char, strlen(cexName)+ strlen(modelName) + 2);
     1129 sprintf(newRootName,"%s_%s",modelName,cexName);
     1130 Hrc_Model_t * newRootModel = Hrc_ModelAlloc(*hmgr,rootName);
     1131*/
     1132
     1133 fclose(cexFile);
     1134 return 0;              /* normal exit */
     1135
     1136usage:
     1137(void) fprintf(vis_stderr, "usage: _compose <cexFileName>\n");
     1138return 1;               /* error exit */
     1139
     1140
    10481141/*
    10491142// Read_blif_mv
     
    11031196printf(" modele %s , cex %s \n",Part_PartitionReadName(part), Part_PartitionReadName(partition));
    11041197*/
    1105 return 0;               /* normal exit */
    1106 
    1107 usage:
    1108 (void) fprintf(vis_stderr, "usage: _BddCex [-h] [-v]\n");
    1109 (void) fprintf(vis_stderr, "   -h\t\tprint the command usage\n");
    1110 (void) fprintf(vis_stderr, "   -v\t\tverbose\n");
    1111 return 1;               /* error exit */
    1112 
    1113 }
    1114 
    1115 
     1198
     1199   
     1200}
Note: See TracChangeset for help on using the changeset viewer.