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

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

?? cb_generator.pl

?? altera 公司內部PWM的HDL及驅動代碼
?? PL
?? 第 1 頁 / 共 3 頁
字號:
sub generator_end{  # o.k., time to make the wrapper and output it.  if($generator_hr->{wrapper_args}{make_wrapper}){    &_generator_make_module_wrapper();  }    my $external_args_hr = $generator_hr->{external_args_hr};  my $ptf_file_name = $external_args_hr->{system_directory}."/".$external_args_hr->{system_name}.".ptf";  &generator_print_verbose("generator_end: writing PTF file ".$external_args_hr->{system_name}.".ptf to ".$external_args_hr->{system_directory}."\n");  default_ribbit("Cannot write PTF file ".$ptf_file_name."!\n")    unless(&write_ptf_file($generator_hr->{system_ptf_hr}, $external_args_hr->{system_directory}."/".$external_args_hr->{system_name}.".ptf"));  }sub generator_end_read_module_wrapper_string{   my $language = &generator_get_language();   my $ls;   if($language =~ /vhdl/){     $ls = ".vhd";   }elsif($language =~ /verilog/){     $ls = ".v";   }else{     &ribbit("generator_end_read_module_wrapper_string invoked with unkown language");   }   my $system_dir = $generator_hr->{external_args_hr}->{system_directory};   my $module_name = $generator_hr->{external_args_hr}->{target_module_name};   my $file = $system_dir."/".$module_name.$ls;   &generator_print_verbose("generator library reading file into string: $file\n");   open (FILE,"<$file") or ribbit "cannot open file ($file) ($!)\n";   my $return_string;   while (<FILE>)   {      $return_string .= $_;   }   close (FILE);   return($return_string);}sub generator_end_write_module_wrapper_string{   my $string = shift or ribbit "no string specified\n";   my $language = &generator_get_language();   my $ls;   print $language;   if($language =~ /vhdl/){     $ls = ".vhd";   }elsif($language =~ /verilog/){     $ls = ".v";   }else{     &ribbit("generator_end_read_module_wrapper_string invoked with unkown language");   }   my $system_dir = $generator_hr->{external_args_hr}->{system_directory};   my $module_name = $generator_hr->{external_args_hr}->{target_module_name};   my $file = $system_dir."/".$module_name.$ls;   &generator_print_verbose("generator library writing string into file: $file\n");   open (FILE,">$file") or ribbit "cannot open file ($file) ($!)\n";   print FILE $string;   close (FILE);}# end of generator_library.pm##### ---------------------------------------------------------------------# +----------------------------------------------------# | emit_system_h# |# | if "is_cpu", attempt to emit a system.h# | memory map.# |sub emit_system_h($$$)    {    my ($sopc_directory,$master,$system_ptf) = (@_);    # |    # | Build a system.h file for masters.    # |# as of quartus 5.0, we prefer gtf-generate in sopc_builder directly    my $gtf_generate = "$sopc_directory/bin/gtf-generate";    my $gtf_filename = "$sopc_directory/bin/gtf/system.h.gtf";        if(! -f $gtf_generate)    	{    	# but if sopc_builder is missing it for whatever reason,    	# try the one in sopc_kit_nios2    		    my $sopc_kit_nios2 = $ENV{SOPC_KIT_NIOS2};	    if($sopc_kit_nios2 ne "")	    	{	    	$gtf_generate = "$sopc_kit_nios2/bin/gtf-generate";    		$gtf_filename = "$sopc_kit_nios2/bin/gtf/system.h.gtf";    		}    	}    # |    # | xml template    # |    my $stf_template = <<EOP;<?xml version="1.0" encoding="UTF-8"?><stf><!-- This file generated on --date-- by --whoami-- -->    <project name="--project_name--"             ptf="--system_ptf--"             dir="--output_directory--"    />    <cpu name="--master--" /></stf>EOP    # |    # | THINK    # |    my $output_directory = "./${master}_map";    my $project_name = "ignored";    my $stf_filename = "./${master}_project.stf";    # |    # | build up template variables    # |    my %template_vars;    $template_vars{date} = fcu_date_time();    $template_vars{whoami} = $0;    $template_vars{project_name} = $project_name;    $template_vars{system_ptf} = $system_ptf;    $template_vars{output_directory} = $output_directory;    $template_vars{master} = $master;    # |    # | poke in the values to the template    # |    foreach my $key (sort(keys(%template_vars)))        {        $stf_template =~ s/--$key--/$template_vars{$key}/gs;        }    ## debug print $stf_template;    # |    # | write out the stf file, so we can soon use it    # |    fcu_write_file($stf_filename,$stf_template);    # |    # | and use it    # |    if(-e $gtf_generate && -e $gtf_filename)        {        my $generate_cmd = $gtf_generate;        $generate_cmd .= " --output-directory=$output_directory";        $generate_cmd .= " --gtf=$gtf_filename";        $generate_cmd .= " --stf=$stf_filename";        r_system($sopc_directory,$generate_cmd);            # |        # | done with it        # |        r_system($sopc_directory,"rm $stf_filename");        fcu_print_command("Generated memory map \"$output_directory/system.h\"");        }    else        {        fcu_print_command("Warning: did NOT emit system.h for $master");        }    }sub r_system($$)    {    my ($sopc_directory,$cmd) = (@_);    fcu_print_command($cmd);    return Run_Command_In_Unix_Like_Shell($sopc_directory,$cmd);    }# +------------------------------------------# | synthesis and simulation files are are# | listed in CLASS/CB_GENERATOR/HDL_FILES.# |sub get_synthesis_files($)    {    my ($class_ptf) = (@_);    my $synthesis_files = "";    my $simulation_files = "";    my $hdl_files = get_child_by_path($class_ptf,"CLASS/CB_GENERATOR/HDL_FILES");    my $child_count = get_child_count($hdl_files);    for(my $i = 0; $i < $child_count; $i++)        {        my $hdl_file = get_child($hdl_files,$i);        if(get_name($hdl_file) eq "FILE")            {            my $filename = get_data_by_path($hdl_file,"filepath");            my $use_in_synthesis = get_data_by_path($hdl_file,"use_in_synthesis");            my $use_in_simulation = get_data_by_path($hdl_file,"use_in_simulation");            if($use_in_synthesis)                {                $synthesis_files .= ", " if $synthesis_files;                $synthesis_files .= $filename;                }            if($use_in_simulation)                {                $simulation_files .= ", " if $simulation_files;                $simulation_files .= $filename;                }            }        }    return $synthesis_files;    }sub main    {    push(@ARGV,"--verbose=1") if 0;    my %args = fcu_parse_args(@ARGV);        if(0)    	{    	foreach my $key (sort(keys(%args)))    		{    		print("--$key = $args{$key} \n");    		}    	}    # |    # | get the arguments we care about    # |    my $class_dir = fcu_get_switch(\%args,"module_lib_dir");    my $target_module_name = fcu_get_switch(\%args,"target_module_name");    my $system_name = fcu_get_switch(\%args,"system_name");    my $sopc_directory = fcu_get_switch(\%args,"sopc_directory");    # |    # | preflight the arguments a little    # |    my $error_count = 0;    my $class_ptf_path = "$class_dir/class.ptf";    if(!-f $class_ptf_path)        {        print "error: no class.ptf at \"$class_dir\"\n";        $error_count++;        }    die "$error_count errors" if($error_count > 0);    # +-------------------------------------------    # | ok, let us get to work    # |    my $class_ptf = new_ptf_from_file($class_ptf_path);    # |    # | emit system.h for this module    # | TODO iff Is_CPU i guess.    # |    my $do_emit_system_h = get_data_by_path($class_ptf,            "CLASS/CB_GENERATOR/emit_system_h");    if($do_emit_system_h)        {        emit_system_h($sopc_directory,                $target_module_name,                "./$system_name.ptf");        }        my $top_module_name = get_data_by_path($class_ptf,            "CLASS/CB_GENERATOR/top_module_name");    my $file_name = "";        # | stored as file_name.v:module_name, so we break it open    if($top_module_name =~ /^(.*):(.*)$/)        {        $file_name = $1;        my $module_name = $2;        $top_module_name = $module_name;        }        # | language of this particular module...    my $module_language = "verilog";    if($file_name =~ /^.*\.vhd$/)    	{    	$module_language = "vhdl";    	}        # |    # | consult the CB_GENERATOR/HDL_FILES section regarding    # | where our HDL files for synthesis are.    # |         my $synthesis_files = get_synthesis_files($class_ptf);        my $instantiate_in_system_module = get_data_by_path($class_ptf,    	"CLASS/MODULE_DEFAULTS/SYSTEM_BUILDER_INFO/Instantiate_In_System_Module");	if($instantiate_in_system_module)		{	    generator_enable_mode ("terse");	    generator_begin (@ARGV);	    generator_make_module_wrapper(1,$top_module_name,$module_language);	    generator_copy_files_and_set_system_ptf    	        (        	    "simulation_and_quartus",                 split(/ *, */,$synthesis_files)#            	"$synthesis_files"          	  );		generator_end ();		}    exit (0);    }$| = 1;  # always polite to flush.main()# end of file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费一级欧美片在线观看| 一区二区三区在线免费| 91精品国产手机| 在线成人高清不卡| 欧美午夜精品理论片a级按摩| 91视频一区二区三区| 97se亚洲国产综合自在线观| 99久久99久久久精品齐齐| 99视频有精品| 欧美亚洲动漫另类| 欧美性猛交xxxx乱大交退制版 | 色综合天天综合网天天狠天天| 成人影视亚洲图片在线| 99riav一区二区三区| 色婷婷久久综合| 欧美日本韩国一区二区三区视频| 欧美午夜视频网站| 日韩欧美亚洲一区二区| ww久久中文字幕| 中文字幕视频一区| 亚洲图片自拍偷拍| 热久久一区二区| 成人理论电影网| 欧美三级日韩三级| 精品卡一卡二卡三卡四在线| 国产精品网站在线| 亚洲激情图片qvod| 久久国内精品自在自线400部| 国产**成人网毛片九色| 日本韩国欧美三级| 精品国产免费久久| 亚洲人成网站影音先锋播放| 日韩和欧美一区二区三区| 国产高清不卡一区二区| 欧美在线免费视屏| 久久久国际精品| 五月天欧美精品| 成人一区在线观看| 欧美高清视频一二三区| 国产精品丝袜91| 免费欧美高清视频| 日本道色综合久久| 国产亚洲人成网站| 婷婷综合在线观看| 99麻豆久久久国产精品免费优播| 91精品久久久久久久99蜜桃| 一区在线播放视频| 狠狠久久亚洲欧美| 欧美日韩精品一区视频| 中文字幕在线一区免费| 久久av资源站| 欧美亚洲综合在线| 亚洲色欲色欲www在线观看| 蜜桃av一区二区| 欧洲一区在线观看| 国产精品不卡在线观看| 国产精品综合视频| 欧美电影免费观看高清完整版在线 | 99re免费视频精品全部| 久久久一区二区| 久久精品噜噜噜成人88aⅴ| 欧美午夜精品一区| 亚洲精品va在线观看| 99热精品国产| 中文字幕在线观看一区| 国产精品一区二区男女羞羞无遮挡| 777a∨成人精品桃花网| 天堂av在线一区| 欧美日韩久久久| 一区二区三区四区在线免费观看| 色综合咪咪久久| 自拍偷拍亚洲欧美日韩| 91视频观看免费| 一区二区中文字幕在线| 成人网男人的天堂| 中文一区在线播放| 国产高清在线精品| 国产精品视频观看| 不卡大黄网站免费看| 中文字幕制服丝袜成人av| 99国产精品久久久| 樱花影视一区二区| 在线看日本不卡| 亚洲第一精品在线| 欧美一区二区在线观看| 美女一区二区在线观看| 精品久久久久久久久久久久包黑料 | 久久夜色精品一区| 国产成人午夜高潮毛片| 国产精品久久一卡二卡| 99麻豆久久久国产精品免费| 亚洲欧美激情小说另类| 欧美性猛交xxxxxx富婆| 免费美女久久99| 中文av字幕一区| 欧美性受xxxx黑人xyx性爽| 婷婷久久综合九色综合绿巨人 | 亚洲人成网站影音先锋播放| 一本到三区不卡视频| 五月综合激情网| 久久精品亚洲精品国产欧美kt∨| 成人国产精品免费网站| 亚洲午夜一区二区三区| 日韩欧美成人激情| 成人免费视频一区二区| 亚洲激情综合网| 欧美成人三级在线| 成人免费看片app下载| 亚洲曰韩产成在线| 日韩你懂的在线观看| eeuss国产一区二区三区| 亚洲午夜精品17c| 久久综合久久鬼色| 91福利精品视频| 国产在线精品不卡| 一区二区三国产精华液| 精品区一区二区| 日本高清无吗v一区| 国产麻豆精品theporn| 亚洲午夜久久久久久久久电影院| 久久综合色8888| 欧美日韩中文国产| 国产精品1024久久| 奇米色一区二区三区四区| 国产精品久久久久9999吃药| 日韩一区二区在线观看视频播放| av在线播放不卡| 国内外成人在线| 天天操天天色综合| 亚洲男人天堂一区| 国产三级久久久| 日韩欧美在线综合网| 欧美午夜宅男影院| 99这里只有精品| 国产精品亚洲а∨天堂免在线| 午夜一区二区三区视频| 亚洲欧美乱综合| 国产精品国产精品国产专区不片| 欧美大片日本大片免费观看| 欧美日韩三级一区| 91久久一区二区| 91麻豆自制传媒国产之光| 懂色av一区二区夜夜嗨| 国产一区二区女| 国产一区中文字幕| 日本在线不卡一区| 性做久久久久久久免费看| 综合激情网...| 亚洲欧美日韩在线播放| 亚洲色图.com| 玉米视频成人免费看| 一区二区在线看| 亚洲一区二区三区影院| 亚洲国产一区二区视频| 亚洲与欧洲av电影| 天堂一区二区在线免费观看| 午夜激情一区二区| 日韩国产高清在线| 麻豆成人免费电影| 韩国一区二区视频| 国产一区二区日韩精品| 岛国精品在线观看| 99久久99久久免费精品蜜臀| 一本一道久久a久久精品综合蜜臀| 91免费小视频| 欧美日韩国产免费| 精品日韩一区二区三区| 精品国产乱码久久久久久牛牛| 久久毛片高清国产| 国产精品人成在线观看免费 | 婷婷丁香久久五月婷婷| 青青草97国产精品免费观看无弹窗版| 日本不卡免费在线视频| 国内外成人在线视频| 成人动漫一区二区三区| 91成人国产精品| 日韩一卡二卡三卡| 国产精品久久久久天堂| 亚洲自拍偷拍九九九| 精品亚洲成a人| 色国产精品一区在线观看| 欧美日韩亚洲综合一区| 日韩精品一区二区三区四区| 亚洲国产电影在线观看| 亚洲成a人片综合在线| 久久99久久精品| 在线亚洲一区二区| www成人在线观看| 亚洲精品视频自拍| 九一久久久久久| 日本高清不卡视频| 久久久久久久久久久久久久久99 | 久草热8精品视频在线观看| 成人爱爱电影网址| 欧美日韩精品三区| 日本一区二区三区国色天香 | 精品一区二区三区影院在线午夜 | 26uuu国产在线精品一区二区| 自拍偷拍亚洲激情| 激情另类小说区图片区视频区|