プロジェクトの整理


****************************************************************
*                         benchmark(cnf)                        *
****************************************************************

    (1)   -------------------------------------------c FILE: aim-100-1_6-yes1-1.cnf

    (2)     

    (3)          --------------------------------p cnf 100 160

    (4)  ----------------------------------------------11 13 27 0



****************************************************************
*                          C++                               *
****************************************************************

//          
// 1 50       ,  var     vector?
void get_rand(int a[],int num)
{
     srand((unsigned)time(NULL));//rand()     

     for(int i=0;iint a[],int num)
{
     srand((unsigned)time(NULL));
               
}



        //1.                
        bool get_var_clause_num( string cnf_file_name, int &var_num, int &clause_num)
        {
            ifstream cnf_file(cnf_file_name.c_str());//?    
        }   


        //2.       ,  ,   verilog,
        bool build_cnf( string cnf_file_name, int var_num, int clause_num )
        {   
            (1)    cnf2------------------------------------ofstream cnf2verilog(result_file_name.c_str());  

            (2)    ----------------------------------------get_rand(rand,var_num);
                                                              get_rand1(rand1,var_num);
            (3)     

            (4)    

            //    
            for(int i=1;i<=var_num;i++)
            {
                while(!cnf_file.eof()) 
                {
                           
                }

                while(!cnf_file.eof()) 
                {
                    (1)         aa1
                    (2)           i    -i,  i -i   ,        
                    (3)     i,   i      
                    (4)     i,   -i      
                }

                     i    -i           
           }

        }

cnf2verilog<<"wire Gclear;"<"fsm"<1]<int main(int argc, char** argv)//argc     ./a.out      **.cnf
{

    if((argc<2) | (argc>2))
    {
        std::cout<<"usage:\tcnf2verilog cnf_file"<exit(0);
    }

    int var_name,cause_num;

        if( !get_var_clause_num( argv[1],var_name,cause_num) )
    {
        exit(0);
    }


    if( !build_cnf( argv[1],var_name,cause_num) )
    {
        exit(0);//???
    }
    return 0;
}



#!/bin/bash

sum=10 #    sum 10

#for dir in `find ./  -maxdepth 1 -type d`
#do
#cp a.out $dir

#done




for dir2 in `find ./*.cnf`  #     cnf    for ... in ...       find           ,dir2        
do
for ((i=1;i<=10;i++)) #    cnf    10   ,  10                       
do
sleep 1s                #  1s,      ,            debug
./a.out $dir2            #  ./a.out
mkdir $sum             #     ,    sum  ,sum    10,      1
mv *.v top.v            #  ./a.out    .v        top.v  , mv             ,            ,     。   *.v     .v     ,         ,  a.out      .v   
mv *.v ./$sum          #  top.v      sum    
cp $dir2 ./$sum         #  dir2      cnf     sum    
sum=$(($sum+1))            #sum    1
echo $sum              #  sum     

done
done




for dir in `find ./*  -maxdepth 1 -type d` #     for... in ...  ,             find    ,     maxdepth 1           1(                 ),type d        。
do
cp -f ./xdc/*.tcl ./xdc/*.txt ./xdc/*.xdc ./xdc/*.lnk $dir # xdc         dir ,     find        ,         ,            。

done


find *.cnf >0dir.txt  #     cnf  ,         0dir.txt 
cat -n 0dir.txt >00dir.txt #  cat    0dir.txt  ,                  (   -n       ),       00dir.txt   。
rm 0dir.txt #       0dir.txt  
mkdir 0 #     0
cp 00dir.txt  0 #     00dir.txt        0
cp *.cnf 0  #    cnf           0,*.cnf     cnf