亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? io.c.svn-base

?? 模擬多核狀態下龍芯處理器的功能
?? SVN-BASE
?? 第 1 頁 / 共 3 頁
字號:
       if ((RWP+ERP+EWP) < 1) {
       	 printf("Must have at least one port\n");
       	 return endresult;
		 //exit(1);
       }

       if (NSubbanks < 1 ) {
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

       logbanks = logtwo((double)(NSubbanks));
       logbanksfloor = floor(logbanks);
      
       if(logbanks > logbanksfloor){
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

     }
   else if (nr_args==10)
     {
       RWP = rw_ports;
       ERP = excl_read_ports;
       EWP = excl_write_ports;
       NSER = single_ended_read_ports;

	   seq_access = 1;

       if ((RWP < 0) || (EWP < 0) || (ERP < 0)) {
			printf("Ports must >=0\n");
			return endresult;
			//exit(1);
       }
       if (RWP > 2) {
			printf("Maximum of 2 read/write ports\n");
			return endresult;
			//exit(1);
       }
       if ((RWP+ERP+EWP) < 1) {
       	 printf("Must have at least one port\n");
       	 return endresult;
		 //exit(1);
       }
       

       if (NSubbanks < 1 ) {
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

       logbanks = logtwo((double)(NSubbanks));
       logbanksfloor = floor(logbanks);
      
       if(logbanks > logbanksfloor){
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

     }
   else if(nr_args==6)
     {
       RWP=1;
       ERP=0;
       EWP=0;
       NSER=0;

       if (NSubbanks < 1 ) {
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult; 
		 //exit(1);
       }
       logbanks = logtwo((double)(NSubbanks));
       logbanksfloor = floor(logbanks);

       if(logbanks > logbanksfloor){
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

     }
	 else if(nr_args==8)
     {
       RWP=1;
       ERP=0;
       EWP=0;
       NSER=0;

	   bits_output = output_width;
	   seq_access = 1;

       NSubbanks = banks;
       if (NSubbanks < 1 ) {
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }
       logbanks = logtwo((double)(NSubbanks));
       logbanksfloor = floor(logbanks);

       if(logbanks > logbanksfloor){
         printf("Number of subbanks should be greater than or equal to 1 and should be a power of 2\n");
         return endresult;
		 //exit(1);
       }

     }
 
   C = cache_size/((int) (NSubbanks));
   if ((C < 64)) {
       printf("Cache size must >=64\n");
       return endresult;
	   //exit(1);
   }
 
   if (associativity == 0)
     {
       A=C/B;
       parameters.fully_assoc = 1;
     }
   else
     {
       if (associativity == 1)
         {
           A=1;
           parameters.fully_assoc = 0;
         }
       else
         {
           parameters.fully_assoc = 0;
           A = associativity;
           if ((A < 1)) {
             printf("Associativity must >= 1\n");
             return endresult;
			 //exit(1);
           }
           assoc = logtwo((double)(A));
           assocfloor = floor(assoc);

           if(assoc > assocfloor){
             printf("Associativity should be a power of 2\n");
             return endresult;
			 //exit(1);
           }

           if ((A > 32)) {
             printf("Associativity must <= 32\n or try FA (fully associative)\n");
             return endresult;
			 //exit(1);
           }
         }
     }

   if (C/(B*A)<=1 && !parameters.fully_assoc) {
     printf("Number of sets is too small:\n  Need to either increase cache size, or decrease associativity or block size\n  (or use fully associative cache)\n");
     return endresult;
	//exit(1); 
   }
 
   parameters.cache_size = C;
   parameters.block_size = B;

   parameters.nr_bits_out = bits_output;
   /*dt: testing sequential access mode*/
   if(seq_access) {
	parameters.tag_associativity = A;
	parameters.data_associativity = 1;
	parameters.sequential_access = 1;
   }
   else {
	parameters.tag_associativity = parameters.data_associativity = A;
	parameters.sequential_access = 0;
   }
   if(fast_access) {
	   parameters.fast_access = 1;
   }
   else {
	   parameters.fast_access = 0;
   }
   parameters.num_readwrite_ports = RWP;
   parameters.num_read_ports = ERP;
   parameters.num_write_ports = EWP;
   parameters.num_single_ended_read_ports =NSER;
   parameters.number_of_sets = C/(B*A);
   parameters.fudgefactor = .8/tech;   
   parameters.tech_size=(double) tech;
   parameters.pure_sram = pure_sram;

   //If multiple banks and multiple ports are specified, then if number of banks/total number 
   //of ports > 1 then assume that the multiple ports are implemented via the multiple banks.
   //Also assume that each bank has only 1 RWP port. There are some problems with this logic that 
   //will be fixed in v5.0
   ratioofbankstoports = NSubbanks/(RWP + ERP + EWP);
   if(ratioofbankstoports >= 1.0){
	   //We assume that each bank has 1 RWP port.
	   parameters.num_readwrite_ports = 1;
       parameters.num_read_ports = 0;
       parameters.num_write_ports = 0;
       parameters.num_single_ended_read_ports = 0;
	}

   if (parameters.number_of_sets < 1) {
      printf("Less than one set...\n");
      return endresult;
	  //exit(1);
   }   
 
   init_tech_params_default_process();//v4.1: First initialize all tech variables
   //to 0.8 micron values. init_tech_params function below then reinitializes tech variables to
   //given process values
   init_tech_params(parameters.tech_size);
   calculate_time(&result,&arearesult,&arearesult_subbanked,&parameters,&NSubbanks, Nspd_predef, Ndwl_predef, Ndbl_predef, optimize);

   //v4.1: No longer using calculate_area function as area has already been
   //computed for the given tech node

   /*arearesult.dataarray_area.scaled_area = calculate_area(arearesult.dataarray_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.datapredecode_area.scaled_area = calculate_area(arearesult.datapredecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.datacolmuxpredecode_area.scaled_area = calculate_area(arearesult.datacolmuxpredecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.datacolmuxpostdecode_area.scaled_area = calculate_area(arearesult.datacolmuxpostdecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.datawritesig_area.scaled_area = (parameters.num_readwrite_ports+parameters.num_read_ports+parameters.num_write_ports)*calculate_area(arearesult.datawritesig_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;

   arearesult.tagarray_area.scaled_area = calculate_area(arearesult.tagarray_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.tagpredecode_area.scaled_area = calculate_area(arearesult.tagpredecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.tagcolmuxpredecode_area.scaled_area = calculate_area(arearesult.tagcolmuxpredecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.tagcolmuxpostdecode_area.scaled_area = calculate_area(arearesult.tagcolmuxpostdecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.tagoutdrvdecode_area.scaled_area = calculate_area(arearesult.tagoutdrvdecode_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;
   arearesult.tagoutdrvsig_area.scaled_area = (parameters.num_readwrite_ports+parameters.num_read_ports+parameters.num_write_ports)*
											   calculate_area(arearesult.tagoutdrvsig_area,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;

   arearesult.perc_data = 100*area_all_dataramcells/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.perc_tag  = 100*area_all_tagramcells/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.perc_cont = 100*(arearesult.totalarea*CONVERT_TO_MMSQUARE-area_all_dataramcells-area_all_tagramcells)/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.sub_eff   = (area_all_dataramcells+area_all_tagramcells)*100/(arearesult.totalarea/100000000.0);
   arearesult.total_eff = (NSubbanks)*(area_all_dataramcells+area_all_tagramcells)*100/
							(calculate_area(arearesult_subbanked,parameters.fudgefactor)*CONVERT_TO_MMSQUARE);
   arearesult.totalarea *= CONVERT_TO_MMSQUARE;
   arearesult.subbankarea = calculate_area(arearesult_subbanked,parameters.fudgefactor)*CONVERT_TO_MMSQUARE;*/
   
   arearesult.dataarray_area.scaled_area = arearesult.dataarray_area.height * arearesult.dataarray_area.width * CONVERT_TO_MMSQUARE;
   arearesult.datapredecode_area.scaled_area = arearesult.datapredecode_area.height * arearesult.datapredecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.datacolmuxpredecode_area.scaled_area = arearesult.datacolmuxpredecode_area.height * arearesult.datacolmuxpredecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.datacolmuxpostdecode_area.scaled_area = arearesult.datacolmuxpostdecode_area.height * arearesult.datacolmuxpostdecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.datawritesig_area.scaled_area = (parameters.num_readwrite_ports+parameters.num_read_ports+parameters.num_write_ports)* arearesult.datawritesig_area.height * arearesult.datawritesig_area.width * CONVERT_TO_MMSQUARE;

   arearesult.tagarray_area.scaled_area = arearesult.tagarray_area.height * arearesult.tagarray_area.width * CONVERT_TO_MMSQUARE;
   arearesult.tagpredecode_area.scaled_area = arearesult.tagpredecode_area.height * arearesult.tagpredecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.tagcolmuxpredecode_area.scaled_area = arearesult.tagcolmuxpredecode_area.height * arearesult.tagcolmuxpredecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.tagcolmuxpostdecode_area.scaled_area = arearesult.tagcolmuxpostdecode_area.height* arearesult.tagcolmuxpostdecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.tagoutdrvdecode_area.scaled_area = arearesult.tagoutdrvdecode_area.height * arearesult.tagoutdrvdecode_area.width * CONVERT_TO_MMSQUARE;
   arearesult.tagoutdrvsig_area.scaled_area = (parameters.num_readwrite_ports+parameters.num_read_ports+parameters.num_write_ports)*
											 arearesult.tagoutdrvsig_area.height * arearesult.tagoutdrvsig_area.width * CONVERT_TO_MMSQUARE;

   arearesult.perc_data = 100*area_all_dataramcells/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.perc_tag  = 100*area_all_tagramcells/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.perc_cont = 100*(arearesult.totalarea*CONVERT_TO_MMSQUARE-area_all_dataramcells-area_all_tagramcells)/(arearesult.totalarea*CONVERT_TO_MMSQUARE);
   arearesult.sub_eff   = (area_all_dataramcells+area_all_tagramcells)*100/(arearesult.totalarea/100000000.0);
   arearesult.total_eff = (NSubbanks)*(area_all_dataramcells+area_all_tagramcells)*100/
							(arearesult_subbanked.height * arearesult_subbanked.width * CONVERT_TO_MMSQUARE);
   arearesult.totalarea *= CONVERT_TO_MMSQUARE;
   arearesult.subbankarea = arearesult_subbanked.height * arearesult_subbanked.width * CONVERT_TO_MMSQUARE; 

  
   if(result.bitline_delay_data < 0.0) {
	   result.bitline_delay_data = 10^-12;
   }
   if(result.bitline_delay_tag < 0.0) {
	   result.bitline_delay_tag = 10^-13;
   }
   endresult.result = result;
   endresult.result.subbanks = banks;
   endresult.area = arearesult;
   endresult.params = parameters;

   return endresult;
}

/*void output_data_csv(total_result_type* result)
{
	 FILE *fptr;
	 errno_t err;

	 err = fopen_s(&fptr, "out.csv", "a");
	 if(err != 0){
		 printf("File out.csv could not be opened successfully\n");
	 }
	 else{*/
		//fprintf(fptr, "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", "Tech node (nm),", "Capacity (bytes),", "Associativity,", "Access time (ns), ", "Cycle time (ns), ", "Dynamic read energy (nJ), ", "Dynamic read power (mW), ", "Leakage read power(mW), ", "Area (mm2), ", "Ndwl, ", "Ndbl, ", "Nspd, ", "Ntwl, ", "Ntbl, ", "Ntspd\n");
		/*fprintf(fptr, "%f%s%d%s%d%s%f%s%f%s%f%s%f%s%f%s%f%s%d%s%d%s%f%s%d%s%d%s%d%s", result->params.tech_size*1000, ",", result->params.cache_size, "," , result->params.tag_associativity, ",", result->result.access_time*1e+9, ",", result->result.cycle_time*1e+9, ",", result->result.total_power.readOp.dynamic*1e+9, ",", result->result.total_power.readOp.dynamic*1000/result->result.cycle_time, ",", result->result.total_power.readOp.leakage*1000, ",", result->area.totalarea, ",", result->result.best_Ndwl, ",", result->result.best_Ndbl, ",", result->result.best_Nspd, ",", result->result.best_Ntwl, ",", result->result.best_Ntbl, ",", result->result.best_Ntspd, "\n");
		fclose(fptr);
	 }
}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jizz一区二区| 国产精品一区二区在线观看不卡| 精品国产一二三区| 欧美日韩一区二区三区在线| 91啦中文在线观看| 91啦中文在线观看| 色av成人天堂桃色av| 91在线porny国产在线看| 国产一区二区三区av电影 | 色综合中文字幕国产 | 日韩欧美综合在线| 51精品国自产在线| 91麻豆精品国产91久久久更新时间| 91看片淫黄大片一级在线观看| www.日韩av| 日本韩国欧美一区二区三区| 色综合久久久久| 欧美亚洲丝袜传媒另类| 91传媒视频在线播放| 欧美日韩中文另类| 91精品蜜臀在线一区尤物| 欧美成人猛片aaaaaaa| 2020国产精品| 国产精品久久久久一区| 一区二区视频在线| 日日夜夜免费精品视频| 久久国产精品99久久人人澡| 风流少妇一区二区| 91国在线观看| 精品国产乱码久久久久久1区2区| 久久精品一区二区三区四区| 亚洲欧洲综合另类在线| 日韩av网站在线观看| 国产99精品国产| 欧美性做爰猛烈叫床潮| 精品欧美一区二区久久| 久久精品亚洲麻豆av一区二区| 亚洲欧美怡红院| 琪琪久久久久日韩精品| 成人在线一区二区三区| 欧美日韩久久久| 久久九九久久九九| 亚洲图片一区二区| 国产成人亚洲综合a∨婷婷图片 | 亚洲精品成a人| 另类的小说在线视频另类成人小视频在线 | 91丝袜高跟美女视频| 制服丝袜激情欧洲亚洲| 国产精品美女久久久久久2018| 午夜电影网一区| 成人精品视频一区二区三区尤物| 欧美精品一二三四| 综合亚洲深深色噜噜狠狠网站| 蜜臀久久久久久久| 在线国产亚洲欧美| 国产欧美精品一区| 老司机一区二区| 欧洲精品中文字幕| 国产精品的网站| 国产一区二区在线影院| 欧美日韩一区国产| 一区二区三区四区乱视频| 国产福利一区二区三区视频| 精品婷婷伊人一区三区三| 亚洲欧洲99久久| 丰满岳乱妇一区二区三区| 日韩视频免费观看高清完整版| 亚洲欧美另类小说视频| 大陆成人av片| 久久久精品tv| 国产高清不卡一区| 精品国产乱码91久久久久久网站| 首页国产丝袜综合| 欧美日本乱大交xxxxx| 亚洲综合男人的天堂| 日本久久一区二区| 亚洲精品va在线观看| 91蜜桃视频在线| 亚洲精品亚洲人成人网| 不卡的av在线播放| 一区在线观看视频| 91网站在线观看视频| 亚洲免费色视频| 一本大道久久a久久精二百| 亚洲欧洲另类国产综合| 99久久精品情趣| 亚洲欧美日韩在线| 欧美亚洲综合久久| 三级在线观看一区二区| 69堂亚洲精品首页| 经典三级视频一区| 国产午夜精品理论片a级大结局 | 欧美亚洲精品一区| 午夜成人免费视频| 日韩写真欧美这视频| 国产精品主播直播| 亚洲欧洲精品天堂一级| 日本高清成人免费播放| 天天色图综合网| 精品捆绑美女sm三区| 成人综合婷婷国产精品久久免费| 亚洲日本丝袜连裤袜办公室| 欧美日韩日本视频| 国内精品视频666| 亚洲婷婷综合久久一本伊一区| 91浏览器在线视频| 蜜臀久久99精品久久久久久9 | 一本久久综合亚洲鲁鲁五月天| 亚洲图片欧美色图| 久久久久久久久99精品| 色综合久久久久综合| 麻豆精品在线播放| 国产精品毛片大码女人| 欧美日韩国产首页| 国产激情一区二区三区四区 | 久久一二三国产| 日本韩国欧美一区二区三区| 琪琪久久久久日韩精品| 亚洲国产精品黑人久久久| 欧美日韩精品三区| 国产白丝网站精品污在线入口| 洋洋成人永久网站入口| 国产亚洲欧美一级| 欧美三级中文字| 成人免费视频免费观看| 毛片av一区二区| 亚洲一区免费观看| 国产亚洲成aⅴ人片在线观看| 欧美无砖专区一中文字| 国产成人aaaa| 免费成人av资源网| 亚洲va韩国va欧美va精品| 中文字幕av不卡| 日韩欧美一卡二卡| 欧美性生活大片视频| 成人av电影在线观看| 韩国av一区二区三区四区| 午夜精品福利久久久| 亚洲视频在线一区观看| 久久久不卡网国产精品一区| 91精品国产综合久久久久久久| 99久久99久久免费精品蜜臀| 国产伦理精品不卡| 免费人成网站在线观看欧美高清| 亚洲一区二区三区四区的| 亚洲美女偷拍久久| 一区在线观看视频| 国产精品久久久久aaaa| 欧美韩国日本一区| 国产午夜精品久久久久久久| 精品国产电影一区二区| 日韩欧美在线一区二区三区| 欧美日韩国产精选| 欧美日韩色一区| 欧美酷刑日本凌虐凌虐| 在线观看视频91| 欧美综合色免费| 欧美视频在线观看一区二区| 在线观看视频一区二区欧美日韩| 色综合久久久网| 色哟哟欧美精品| 在线观看日韩高清av| 欧美日韩黄色一区二区| 91福利视频网站| 欧美日韩一区三区| 欧美人妇做爰xxxⅹ性高电影| 欧美日韩视频在线第一区 | 综合av第一页| 一区二区在线观看视频| 亚洲一级在线观看| 日韩精品一级中文字幕精品视频免费观看| 亚洲超碰97人人做人人爱| 视频一区在线播放| 看片网站欧美日韩| 国产盗摄一区二区| www.亚洲免费av| 色呦呦网站一区| 欧美一级搡bbbb搡bbbb| www一区二区| 亚洲三级在线看| 日韩在线卡一卡二| 国产成人在线看| 欧美亚洲日本国产| 日韩视频在线观看一区二区| 国产亚洲女人久久久久毛片| 亚洲天堂成人在线观看| 天天综合色天天综合色h| 韩国v欧美v日本v亚洲v| 91免费小视频| 日韩一二三区视频| 亚洲丝袜自拍清纯另类| 青青草原综合久久大伊人精品优势| 精品一区二区在线视频| 色综合咪咪久久| 日韩欧美在线影院| 亚洲老妇xxxxxx| 黄色日韩网站视频| 一本色道久久综合精品竹菊| 日韩精品一区二区三区老鸭窝 | 欧美日韩精品久久久|