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

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

?? io.c.svn-base

?? 模擬多核狀態下龍芯處理器的功能
?? SVN-BASE
?? 第 1 頁 / 共 3 頁
字號:
   printf("	   dyn. read energy (nJ): %g\n",result->data_output_power.readOp.dynamic*1e9);
   printf("	   leak. read power (mW): %g\n",result->data_output_power.readOp.leakage*1e3);
   printf(" total_out_driver (ns): %g\n", result->total_out_driver_delay_data/1e-9);
   printf("	 dyn. read energy (nJ): %g\n", result->total_out_driver_power_data.readOp.dynamic*1e9);
   printf("	 leak. read power (mW): %g\n", result->total_out_driver_power_data.readOp.leakage*1e3);

   printf(" total data path (without output driver) (ns): %g\n",result->subbank_address_routing_delay/1e-9+result->decoder_delay_data/1e-9+result->wordline_delay_data/1e-9+result->bitline_delay_data/1e-9+result->sense_amp_delay_data/1e-9);
   if (!parameters->fully_assoc)
     {
       if (A==1)
         printf(" total tag path is dm (ns): %g\n", result->subbank_address_routing_delay/1e-9+result->decoder_delay_tag/1e-9+result->wordline_delay_tag/1e-9+result->bitline_delay_tag/1e-9+result->sense_amp_delay_tag/1e-9+result->compare_part_delay/1e-9);
       else
         printf(" total tag path is set assoc (ns): %g\n", result->subbank_address_routing_delay/1e-9+result->decoder_delay_tag/1e-9+result->wordline_delay_tag/1e-9+result->bitline_delay_tag/1e-9+result->sense_amp_delay_tag/1e-9+result->compare_part_delay/1e-9+result->drive_mux_delay/1e-9+result->selb_delay/1e-9);
     }
}

void output_area_components(arearesult_type *arearesult, parameter_type *parameters)
{
    printf("\nArea Components:\n\n");

	//v4.1: No longer using calculate_area function as area has already been
	//computed for the given tech node. 
/*
    printf("Aspect Ratio Data height/width: %f\n", aspect_ratio_data);
    printf("Aspect Ratio Tag height/width: %f\n", aspect_ratio_tag);
    printf("Aspect Ratio Subbank height/width: %f\n", aspect_ratio_subbank);
    printf("Aspect Ratio Total height/width: %f\n\n", aspect_ratio_total);
*/
    printf("Aspect Ratio Total height/width: %f\n\n", arearesult->aspect_ratio_total);

	printf("Data array (mm^2): %f\n",arearesult->dataarray_area.scaled_area);
	printf("Data predecode (mm^2): %f\n",arearesult->datapredecode_area.scaled_area);
	printf("Data colmux predecode (mm^2): %f\n",arearesult->datacolmuxpredecode_area.scaled_area);
	printf("Data colmux post decode (mm^2): %f\n",arearesult->datacolmuxpostdecode_area.scaled_area);
	printf("Data write signal (mm^2): %f\n",arearesult->datawritesig_area.scaled_area);

	printf("\nTag array (mm^2): %f\n",arearesult->tagarray_area.scaled_area);
	printf("Tag predecode (mm^2): %f\n",arearesult->tagpredecode_area.scaled_area);
	printf("Tag colmux predecode (mm^2): %f\n",arearesult->tagcolmuxpredecode_area.scaled_area);
	printf("Tag colmux post decode (mm^2): %f\n",arearesult->tagcolmuxpostdecode_area.scaled_area);
	printf("Tag output driver decode (mm^2): %f\n",arearesult->tagoutdrvdecode_area.scaled_area);
	printf("Tag output driver enable signals (mm^2): %f\n",arearesult->tagoutdrvsig_area.scaled_area);

	printf("\nPercentage of data ramcells alone of total area: %f %%\n", arearesult->perc_data);
    printf("Percentage of tag ramcells alone of total area: %f %%\n",arearesult->perc_tag);
    printf("Percentage of total control/routing alone of total area: %f %%\n",arearesult->perc_cont);
	printf("\nSubbank Efficiency : %f\n", arearesult->sub_eff);
	printf("Total Efficiency : %f\n",arearesult->total_eff);
	printf("\nTotal area One bank (mm^2): %f\n",arearesult->totalarea);
	printf("Total area subbanked (mm^2): %f\n",arearesult->subbankarea);

}


void output_data(result_type *result,arearesult_type *arearesult, parameter_type *parameters)
{
   double datapath,tagpath;

   FILE *stream;

   stream=fopen("cache_params.aux", "w");

   datapath = result->subbank_address_routing_delay+result->decoder_delay_data+result->wordline_delay_data+result->bitline_delay_data+result->sense_amp_delay_data+result->total_out_driver_delay_data+result->data_output_delay;
   if (parameters->tag_associativity == 1) {
         tagpath = result->subbank_address_routing_delay+result->decoder_delay_tag+result->wordline_delay_tag+result->bitline_delay_tag+result->sense_amp_delay_tag+result->compare_part_delay+result->drive_valid_delay;
   } else {
         tagpath = result->subbank_address_routing_delay+result->decoder_delay_tag+result->wordline_delay_tag+result->bitline_delay_tag+result->sense_amp_delay_tag+result->compare_part_delay+
			 //result->drive_mux_delay+
			 result->selb_delay+result->data_output_delay+result->total_out_driver_delay_data;
   }

   if (stream){
	   fprintf(stream, "#define PARAMNDWL %d\n#define PARAMNDBL %d\n#define PARAMNSPD %f\n#define PARAMNTWL %d\n#define PARAMNTBL %d\n#define PARAMNTSPD %d\n#define PARAMSENSESCALE %f\n#define PARAMGS %d\n#define PARAMDNOR %d\n#define PARAMTNOR %d\n#define PARAMRPORTS %d\n#define PARAMWPORTS %d\n#define PARAMRWPORTS %d\n#define PARAMMUXOVER %d\n", result->best_Ndwl, result->best_Ndbl, result->best_Nspd, result->best_Ntwl, result->best_Ntbl, result->best_Ntspd, result->senseext_scale, (result->senseext_scale==1.0), result->data_nor_inputs, result->tag_nor_inputs, parameters->num_read_ports, parameters->num_write_ports, parameters->num_readwrite_ports, result->best_muxover);
   }
 
    fclose(stream);
#  if OUTPUTTYPE == LONG
      printf("\n---------- CACTI version 4.1 ----------\n");
      printf("\nCache Parameters:\n");
	  printf("  Number of banks: %d\n",(int)result->subbanks);
      printf("  Total Cache Size: %d\n",(int) (parameters->cache_size));
      printf("  Size in bytes of a bank: %d\n",parameters->cache_size / (int)result->subbanks);
      printf("  Number of sets per bank: %d\n",parameters->number_of_sets);
      if (parameters->fully_assoc)
        printf("  Associativity: fully associative\n");
      else
        {
          if (parameters->tag_associativity==1)
            printf("  Associativity: direct mapped\n");
          else
            printf("  Associativity: %d\n",parameters->tag_associativity);
        }
      printf("  Block Size (bytes): %d\n",parameters->block_size);
      printf("  Read/Write Ports: %d\n",parameters->num_readwrite_ports);
      printf("  Read Ports: %d\n",parameters->num_read_ports);
      printf("  Write Ports: %d\n",parameters->num_write_ports);
      printf("  Technology Size: %2.2fum\n", parameters->tech_size);
      printf("  Vdd: %2.1fV\n", parameters->VddPow);

      printf("\nAccess Time (ns): %g\n",result->access_time*1e9);
      printf("Cycle Time (ns):  %g\n",result->cycle_time*1e9);
      //if (parameters->fully_assoc)
        //{
			printf("Total dynamic Read Power at max. freq. (W): %g\n",result->total_power_allbanks.readOp.dynamic/result->cycle_time);
			printf("Total leakage Read/Write Power all Banks (mW): %g\n",result->total_power_allbanks.readOp.leakage*1e3);
			printf("Total dynamic Read Energy all Banks (nJ): %g\n",result->total_power_allbanks.readOp.dynamic*1e9);
			printf("Total dynamic Write Energy all Banks (nJ): %g\n",result->total_power_allbanks.writeOp.dynamic*1e9);
			printf("Total dynamic Read Energy Without Routing (nJ): %g\n",result->total_power_without_routing.readOp.dynamic*1e9);
			printf("Total dynamic Write Energy Without Routing (nJ): %g\n",result->total_power_without_routing.writeOp.dynamic*1e9);
			printf("Total dynamic Routing Energy (nJ): %g\n",result->total_routing_power.readOp.dynamic*1e9);
			printf("Total leakage Read/Write Power Without Routing (mW): %g\n",result->total_power_without_routing.readOp.leakage*1e3);
			//printf("Total leakage Write Power all Banks (mW): %g\n",result->total_power_allbanks.writeOp.leakage*1e3);
			//printf("Total leakage Write Power Without Routing (mW): %g\n",result->total_power_without_routing.writeOp.leakage*1e3);
			printf("Total leakage Read/Write Routing Power (mW): %g\n",result->total_routing_power.readOp.leakage*1e3);

          //printf("Maximum Bank Power (nJ):  %g\n",(result->subbank_address_routing_power+result->decoder_power_data+result->wordline_power_data+result->bitline_power_data+result->sense_amp_power_data+result->data_output_power+result->total_out_driver_power_data)*1e9);
          //      printf("Power (W) - 500MHz:  %g\n",(result->decoder_power_data+result->wordline_power_data+result->bitline_power_data+result->sense_amp_power_data+result->data_output_power)*500*1e6);
        //}
      /*else
        {
	  printf("Total dynamic Read Power at max. freq. (W): %g\n",result->total_power_allbanks.readOp.dynamic/result->cycle_time);
	  printf("Total dynamic Read Energy all Banks (nJ): %g\n",result->total_power_allbanks.readOp.dynamic*1e9);
	  printf("Total leakage Read Power all Banks (mW): %g\n",result->total_power_allbanks.readOp.leakage*1e3);
	  printf("Total dynamic Write Energy all Banks (nJ): %g\n",result->total_power_allbanks.writeOp.dynamic*1e9);
	  printf("Total leakage Write Power all Banks (mW): %g\n",result->total_power_allbanks.writeOp.leakage*1e3);
	  printf("Total dynamic Read Energy Without Routing (nJ): %g\n",result->total_power_without_routing.readOp.dynamic*1e9);
	  printf("Total leakage Read Power Without Routing (mW): %g\n",result->total_power_without_routing.readOp.leakage*1e3);
	  printf("Total dynamic Write Energy Without Routing (nJ): %g\n",result->total_power_without_routing.writeOp.dynamic*1e9);
	  printf("Total leakage Write Power Without Routing (mW): %g\n",result->total_power_without_routing.writeOp.leakage*1e3);
	  printf("Total dynamic Routing Energy (nJ): %g\n",result->total_routing_power.readOp.dynamic*1e9);
	  printf("Total leakage Routing Power (mW): %g\n",result->total_routing_power.readOp.leakage*1e3);*/
          //printf("Maximum Bank Power (nJ):  %g\n",(result->subbank_address_routing_power+result->decoder_power_data+result->wordline_power_data+result->bitline_power_data+result->sense_amp_power_data+result->total_out_driver_power_data+result->decoder_power_tag+result->wordline_power_tag+result->bitline_power_tag+result->sense_amp_power_tag+result->compare_part_power+result->drive_valid_power+result->drive_mux_power+result->selb_power+result->data_output_power)*1e9);
          //      printf("Power (W) - 500MHz:  %g\n",(result->decoder_power_data+result->wordline_power_data+result->bitline_power_data+result->sense_amp_power_data+result->total_out_driver_power_data+result->decoder_power_tag+result->wordline_power_tag+result->bitline_power_tag+result->sense_amp_power_tag+result->compare_part_power+result->drive_valid_power+result->drive_mux_power+result->selb_power+result->data_output_power)*500*1e6);
        //}
      printf("\nBest Ndwl (L1): %d\n",result->best_Ndwl);
      printf("Best Ndbl (L1): %d\n",result->best_Ndbl);
      printf("Best Nspd (L1): %f\n",result->best_Nspd);
      printf("Best Ntwl (L1): %d\n",result->best_Ntwl);
      printf("Best Ntbl (L1): %d\n",result->best_Ntbl);
      printf("Best Ntspd (L1): %d\n",result->best_Ntspd);
      //printf("Nor inputs (data): %d\n",result->data_nor_inputs);
      //printf("Nor inputs (tag): %d\n",result->tag_nor_inputs);

	  output_area_components(arearesult,parameters);
      printf("\nTime Components:\n");
     
      printf(" data side (with Output driver) (ns): %g\n",datapath/1e-9);
      if (!parameters->fully_assoc)
        printf(" tag side (with Output driver) (ns): %g\n",(tagpath)/1e-9);
      output_time_components(result,parameters);

#  else
      printf("%d %d %d  %d %d %d %d %d %d  %e %e %e %e  %e %e %e %e  %e %e %e %e  %e %e %e %e  %e %e\n",
               parameters->cache_size,
               parameters->block_size,
               parameters->associativity,
               result->best_Ndwl,
               result->best_Ndbl,
               result->best_Nspd,
               result->best_Ntwl,
               result->best_Ntbl,
               result->best_Ntspd,
               result->access_time,
               result->cycle_time,
               datapath,
               tagpath,
               result->decoder_delay_data,
               result->wordline_delay_data,
               result->bitline_delay_data,
               result->sense_amp_delay_data,
               result->decoder_delay_tag,
               result->wordline_delay_tag,
               result->bitline_delay_tag,
               result->sense_amp_delay_tag,
               result->compare_part_delay,
               result->drive_mux_delay,
               result->selb_delay,
               result->drive_valid_delay,
               result->data_output_delay,
               result->precharge_delay);



# endif

}


total_result_type cacti_interface(
		int cache_size,
		int line_size,
		int associativity,
		int rw_ports,
		int excl_read_ports,
		int excl_write_ports,
		int single_ended_read_ports,
		int banks,
		double tech_node,
		int output_width,
		int specific_tag,
		int tag_width,
		int access_mode,
		int pure_sram,
        double Nspd_predef,
        int Ndwl_predef,
        int Ndbl_predef,
        int optimize)
{
   int C,B,A,ERP,EWP,RWP,NSER;
   double tech;
   double logbanks, assoc;
   double logbanksfloor, assocfloor;
   int seq_access = 0;
   int fast_access = 0;
   int bits_output = output_width;
   int nr_args = 9;
   double NSubbanks = (double)banks;

   double ratioofbankstoports;

   extern int force_tag, force_tag_size;

   

   total_result_type endresult;

   result_type result;
   arearesult_type arearesult;
   area_type arearesult_subbanked;
   parameter_type parameters; 

   /* input parameters:
         C B A ERP EWP */

   /*dt: make sure we're using some simple leakage reduction */
   dualVt = FALSE;

    force_tag = 0;

   if(specific_tag) {
	   force_tag = 1;
	   force_tag_size = tag_width;
   }
   switch (access_mode){
	   case 0:
		   seq_access = fast_access = FALSE;
		   break;
	   case 1:
		   seq_access = TRUE;
		   fast_access = FALSE;
		   break;
	   case 2:
		   seq_access = FALSE;
		   fast_access = TRUE;
		   break;
   }

   B = line_size;
   if ((B < 1)) {
       printf("Block size must >=1\n");
       return endresult;
	   //exit(1);
   }

   if ((B*8 < bits_output)) {
       printf("Block size must be at least %d\n", bits_output/8);
       return endresult;
	   //exit(1);
   }
   

   tech = tech_node;
   if ((tech <= 0)) {
       printf("Feature size must be > 0\n");
       return endresult;
	   //exit(1);
   }
   if ((tech > 0.8)) {
       printf("Feature size must be <= 0.80 (um)\n");
       return endresult;
	   //exit(1);
   }

   if (nr_args ==9)
     {
       RWP = rw_ports;
       ERP = excl_read_ports;
       EWP = excl_write_ports;
       NSER = single_ended_read_ports;


       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);
       }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美二区在线观看| 欧美三级韩国三级日本一级| 五月激情综合色| 一区视频在线播放| 国产三级一区二区| 久久先锋影音av鲁色资源网| 欧美老肥妇做.爰bbww| 色网站国产精品| 日本高清不卡视频| 色视频一区二区| 日本道精品一区二区三区| 成人精品国产福利| 成人听书哪个软件好| 福利电影一区二区| 99久久精品免费看| 91国产视频在线观看| 色综合一个色综合| 欧美专区日韩专区| 欧美吻胸吃奶大尺度电影| 欧洲精品在线观看| 欧美日本一区二区在线观看| 欧美另类高清zo欧美| 欧美一区二区三区影视| 精品久久久久久久久久久久包黑料 | 亚洲成人精品一区| 亚洲国产精品自拍| 视频一区二区三区在线| 免费日本视频一区| 国内不卡的二区三区中文字幕| 国产制服丝袜一区| 成人av一区二区三区| 色婷婷激情一区二区三区| 欧美日韩一区不卡| 欧美mv和日韩mv国产网站| 国产欧美一区二区精品婷婷| 日韩伦理免费电影| 日本亚洲天堂网| 高清国产午夜精品久久久久久| 97精品超碰一区二区三区| 欧美日韩国产高清一区二区| 精品国精品国产| 中文字幕亚洲成人| 首页综合国产亚洲丝袜| 国产一区二区三区综合| 在线免费观看日本一区| 日韩欧美国产麻豆| 亚洲欧美日韩综合aⅴ视频| 日韩在线一二三区| 成人aaaa免费全部观看| 日韩三级电影网址| 亚洲人成人一区二区在线观看| 日韩成人一级大片| 91一区二区在线观看| 制服丝袜日韩国产| 中文文精品字幕一区二区| 亚洲韩国精品一区| 福利一区福利二区| 欧美mv日韩mv国产网站app| 亚洲人成7777| 国产一区二区福利| 91精品国产综合久久福利 | 中文字幕国产一区二区| 午夜在线电影亚洲一区| 国产电影一区在线| 91麻豆精品国产91久久久更新时间| 最新日韩在线视频| 日日夜夜一区二区| 色偷偷88欧美精品久久久| 国产三级精品三级| 美国毛片一区二区| 欧美亚日韩国产aⅴ精品中极品| 久久精品亚洲精品国产欧美 | 国产在线国偷精品免费看| 欧美视频一区在线观看| 中文字幕一区二区三区乱码在线| 免费成人深夜小野草| 91福利区一区二区三区| 国产精品乱人伦中文| 国模一区二区三区白浆| 日韩亚洲欧美成人一区| 天天综合日日夜夜精品| 欧美亚洲图片小说| 亚洲美女精品一区| 99riav久久精品riav| 日本一区二区三区dvd视频在线| 日韩高清不卡一区二区| 欧美日韩国产成人在线91| 亚洲尤物在线视频观看| 色999日韩国产欧美一区二区| 成人欧美一区二区三区白人 | 韩国精品主播一区二区在线观看| 欧美另类变人与禽xxxxx| 亚洲午夜私人影院| 欧美午夜在线一二页| 视频一区二区三区在线| 欧美日韩一区二区在线观看视频| 有坂深雪av一区二区精品| 91色porny在线视频| 亚洲视频在线一区观看| 在线视频你懂得一区二区三区| 亚洲天堂a在线| 99国产精品99久久久久久| 最新中文字幕一区二区三区| 欧美专区在线观看一区| 免费三级欧美电影| 国产色一区二区| 91视视频在线观看入口直接观看www | 狠狠色伊人亚洲综合成人| 精品少妇一区二区三区日产乱码| 激情综合网激情| 日本一区二区视频在线观看| 在线观看免费亚洲| 亚洲高清在线精品| 日韩精品一区二区三区三区免费| 久久99精品国产麻豆不卡| 久久久www成人免费毛片麻豆| 懂色av一区二区夜夜嗨| 亚洲乱码国产乱码精品精小说| 欧美日韩亚洲综合在线| 精品中文字幕一区二区小辣椒| 久久蜜桃av一区二区天堂 | 中文字幕中文字幕一区二区| 色综合天天综合| 亚洲va韩国va欧美va精品| 99综合影院在线| 欧美伊人精品成人久久综合97 | 亚洲另类在线视频| 欧美日韩在线一区二区| 老鸭窝一区二区久久精品| 欧美精品一区二区三区视频| 丰满白嫩尤物一区二区| 亚洲一级二级在线| 国产目拍亚洲精品99久久精品| 在线精品视频一区二区三四| 久久99深爱久久99精品| 91黄色在线观看| 亚洲电影激情视频网站| 久久午夜老司机| 日本国产一区二区| 国产成a人无v码亚洲福利| 亚洲精品第一国产综合野| 精品久久国产字幕高潮| 91国产免费观看| 成人av免费在线观看| 久久精工是国产品牌吗| 一区二区三区四区国产精品| ...av二区三区久久精品| 欧美日韩国产色站一区二区三区| 粉嫩欧美一区二区三区高清影视| 午夜影院久久久| 久久精品人人做| 欧美人妇做爰xxxⅹ性高电影| 成人爱爱电影网址| 久久国产精品99久久久久久老狼| 一区二区三区在线视频免费| 久久精品亚洲一区二区三区浴池 | 亚洲综合图片区| 久久色在线视频| 欧美日韩高清影院| 91女人视频在线观看| 岛国精品在线观看| 国产一区二区三区精品视频| 日日欢夜夜爽一区| 亚洲国产日韩在线一区模特| 国产精品久久久久久久浪潮网站| 精品福利av导航| 日韩欧美一区中文| 777奇米成人网| 欧美精品一二三| 欧美日韩专区在线| 欧美综合欧美视频| 欧美午夜理伦三级在线观看| 色网站国产精品| 成人国产精品免费观看视频| 国产精品综合一区二区| 蜜臀av在线播放一区二区三区| 午夜久久电影网| 强制捆绑调教一区二区| 日韩和欧美一区二区| 天天综合色天天| 视频一区中文字幕| 亚洲成av人影院| 日韩精品乱码av一区二区| 午夜久久久久久久久| 日本亚洲最大的色成网站www| 日本欧美一区二区| 老司机精品视频在线| 久久国产精品72免费观看| 国精产品一区一区三区mba桃花| 国产一区二区免费看| 成人高清免费观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 丁香一区二区三区| 欧美日韩视频在线观看一区二区三区| 色噜噜夜夜夜综合网| 欧美美女bb生活片| 精品久久久久久久久久久久包黑料| 欧美在线观看视频在线| 欧美肥大bbwbbw高潮| 日韩一区二区电影网|