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

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

?? cb_generator.pl

?? IS611v25616在NIOS II 下的驅動
?? PL
?? 第 1 頁 / 共 3 頁
字號:
    # | dvb2004    my @e_hdl_parameters; # list of e_parameters    my $class_ptf = generator_get_class_ptf_handle();    my $hdl_parameter_definitions_ptf = get_child_by_path($class_ptf,"CLASS/COMPONENT_BUILDER/HDL_PARAMETERS");    my @libraries = get_libraries();    my $hdl_parameter_count = get_child_count($hdl_parameter_definitions_ptf,"HDL_PARAMETER");    my $module_language = $generator_hr->{wrapper_args}{module_language};    for(my $i = 0; $i < $hdl_parameter_count; $i++)        {        my $a_parameter = get_child($hdl_parameter_definitions_ptf,$i,"HDL_PARAMETER");        my $parameter_editable = get_data_by_path($a_parameter,"editable");        if($parameter_editable)                {                my $boring_name = get_data($a_parameter); # legal guinevere-ized                my $name = get_data_by_path($a_parameter,"parameter_name"); # original HDL name                my $default = get_data_by_path($a_parameter,"default_value");                my $type = get_data_by_path($a_parameter,"type");                                $default = turn_anything_into_appropriate_string($default,$type,1,$module_language);                my $a_parameter = e_parameter->new                    ({                    name => $name,                    default => $default,                    type => $type                    });                push (@e_hdl_parameters,$a_parameter);                }        }            # | and @e_hdl_parameters is used below in the wrapee module    # +--------------------------------------------    # +--------------------------------------------    # | Now, we build a "hdl_parameter_map", which is just    # | your basic hash table with keys (parameters)    # | and values (parameter values).    # |    # | these are the particular values for this instance.    # |    my %hdl_parameter_map;    my $module_ptf = $generator_hr->{module_ptf_hr};    my $hdl_parameters_ptf =            get_child_by_path($module_ptf,"WIZARD_SCRIPT_ARGUMENTS/hdl_parameters");    my $child_count = get_child_count($hdl_parameters_ptf);    for(my $i = 0; $i < $child_count; $i++)        {        my $a_parameter = get_child($hdl_parameters_ptf,$i);        my $boring_name = get_name($a_parameter);        my $value = get_data($a_parameter);		# refer back to the original HDL name...        my $parameter_definition_ptf = get_child_by_path($hdl_parameter_definitions_ptf,"HDL_PARAMETER $boring_name");        my $parameter_name = get_data_by_path($parameter_definition_ptf,"parameter_name");        my $parameter_type = get_data_by_path($parameter_definition_ptf,"type");        my $parameter_editable = get_data_by_path($parameter_definition_ptf,"editable");                $value = turn_anything_into_appropriate_string($value,$parameter_type,$parameter_editable,$module_language);        # |        # | our internal _dummy assignment shows up here        # | without a corresponding hdl entry. we        # | ignore it.        # |        if(($parameter_name ne "") and $parameter_editable)            {            $hdl_parameter_map{$parameter_name} = $value;            }        }  my $wrapee_module;  $wrapee_module = e_module->new({				 name => $top_module_name,				 contents =>  [@ports,@e_hdl_parameters],				 do_black_box => 0,				 do_ptf => 0,				 _hdl_generated => 1,				 _explicitly_empty_module => 1,				});  # VHDL Libraries, from PTF file...  $wrapee_module->add_vhdl_libraries(@libraries);  $top->add_vhdl_libraries(@libraries);  $top->add_contents (		      e_instance->new({				       module => $wrapee_module,                       parameter_map => \%hdl_parameter_map				      }),		     );    $project->top()->do_ptf(0);  $project->do_write_ptf(0);      my $module_file = $project->_target_module_name().".v";  $module_file = $project->_target_module_name().".vhd"    if($language eq "vhdl");  $module_file = $generator_hr->{project_path_widget}."/".$module_file;  &generator_set_files_in_system_ptf("Synthesis_HDL_Files", ($module_file));  $project->output();  # if you don't want a simulation model, you don't get a simulation model  if($no_black_box eq "0")  {    my $black_project = e_project->new(@external_args);    $black_project->_target_module_name($top_module_name);    my $black_top = $black_project->top();    $black_top->add_contents(@ports);    my $black_top_instance;    $black_top_instance = e_module->new({				   name => $wrapper_args->{top_module_name}."_bb",				   contents =>  [@ports],				   do_black_box => 1,				   do_ptf => 0,				   _hdl_generated => 0,				   _explicitly_empty_module => 1,				  });        $black_top->add_contents (			e_instance->new({					 module => $black_top_instance,					}),		       );    $black_project->top()->do_ptf(0);    $black_project->do_write_ptf(0);    my $black_module_file = $black_project->_target_module_name().".v";    $black_module_file = $black_project->_target_module_name().".vhd"      if($language eq "vhdl");    $black_module_file = $generator_hr->{project_path_widget}."/".$black_module_file;    &generator_set_files_in_system_ptf("Simulation_HDL_Files", ($black_module_file));#    &set_data_by_path($module_ptf_hr, "HDL_INFO/Simulation_HDL_Files", $black_module_file);    $black_project->output();  }}##### Args: $file_type : "synthesis", "synthesis_only", "simulation"#       @file_list   :  an array of files.  This list of files is assumed to be relative to the#                       component's directorymy $decoder_ring_hr = {			quartus_only => {					 copy => 1,					 copy_to => "project",					 ptf_set => 0,					},			simulation_only => {					    copy => 1,					    copy_to => "simulation",					    ptf_set => 1,					    ptf_section => "Simulation_HDL_Files",					   },			simulation_and_quartus => {						   copy => 1,						   copy_to => "project",						   ptf_set => 1,						   ptf_section => "Synthesis_HDL_Files",						  }, 		       precompiled_simulation_files => {							copy => 0,							ptf_set => 1,							ptf_section => "Precompiled_Simulation_Library_Files",						       },		      };sub generator_copy_files_and_set_system_ptf{  my ($hdl_section, @file_list) = (@_);  my $ptf_path_prefix = "";    my $external_args_hr = $generator_hr->{external_args_hr};  my @new_file_array;  #validate first  my $decoder_hash = $decoder_ring_hr->{$hdl_section};  &default_ribbit("generator_copy_files_and_set_system_ptf: No understood HDL section passed in for first arg\n")    unless($decoder_ring_hr->{$hdl_section} ne "");  &generator_print_verbose("generator_copy_files_and_set_system_ptf: copying files for section ".$hdl_section."\n");  #copy second  my @new_file_array;  # If we need to copy over some files, then we need to make sure we are   # keeping track of what files we copy over.  # Otherwise, we just need to keep track of the files that the user has asked to copy over  # and use these instead.  if($decoder_hash->{copy}){    my $copy_to_location;    my $copy_from_location;    if($decoder_hash->{copy_to} eq "project"){      $copy_to_location = $external_args_hr->{system_directory};    }elsif($decoder_hash->{copy_to} eq "simulation"){      $copy_to_location = $external_args_hr->{system_sim_dir};    }else{      &default_ribbit("generator_copy_files_and_set_system_ptf: No understood copy files to location\n");    }    $copy_from_location = $external_args_hr->{class_directory};    @new_file_array = &generator_copy_files($copy_to_location, $copy_from_location, @file_list);  }else{    @new_file_array = @file_list;  }	  #scribble on PTF hash last  if($decoder_hash->{ptf_set}){    if($decoder_hash->{copy_to} eq "project"){      foreach my $file(@new_file_array){         $file =~ s/^.*\/(.*?)$/$1/;         $file = $generator_hr->{project_path_widget}."/".$file;      }    }    &generator_print_verbose("generator_copy_files_and_set_system_ptf: setting system PTF file in section ".$hdl_section."\n");    if($decoder_hash->{ptf_section} eq "Precompiled_Simulation_Library_Files"){      @new_file_array = map{$external_args_hr->{class_directory}."/".$_} @new_file_array;    }    &generator_set_files_in_system_ptf($decoder_hash->{ptf_section}, @new_file_array);  }}##### Name: generator_set_files_in_system_ptf# Args: $hdl_section#       @list_of_files# Returns: 1 or 0# Purpose: This is an internal function used to set files in the module's section in the system PTF file#sub generator_set_files_in_system_ptf{  my ($hdl_section, @list_of_files) = (@_);  my $file_list = join(",", @list_of_files);  my $previous_data;    &generator_print_verbose("setting HDL_INFO/".$hdl_section." in system PTF file with ".$file_list."\n");  my $previous_data = &get_data_by_path($generator_hr->{module_ptf_hr}, "HDL_INFO/".$hdl_section);    if($previous_data){    $file_list = $previous_data . ", $file_list"; # spr 132177                                                  # swapping order, dvb 2003  }  &set_data_by_path($generator_hr->{module_ptf_hr}, "HDL_INFO/".$hdl_section, $file_list);}##### Name: generator_copy_files# Args: $target_directory#       $source_directory#       @list_of_files# Returns: The list of files which has been copied (suitable for framing!)# Purpose: This is an internal function used to copy files around in the generator program.#sub generator_copy_files{  my ($target_directory, $source_directory, @list_of_files) = (@_);  my @new_file_array;  foreach my $file_name(@list_of_files){     $file_name =~ s|\\|\/|g;    if($file_name =~ /\*\.*/){      $file_name =~ s/\*/$1/;      my @found_list = &_find_all_dir_files_with_ext($source_directory, $file_name);      push(@new_file_array, @found_list);    }else{      &generator_print_verbose("Copying: ".$file_name."\n");      push(@new_file_array, $file_name);    }  }  &_copy_files($target_directory, $source_directory, @new_file_array);  return @new_file_array;}sub _find_all_dir_files_with_ext{  my ($dir,      $ext) = (@_);  opendir (DIR, $dir) or    &default_ribbit("can't open $dir !");    my @all_files = readdir(DIR);  my @new_file_list;      foreach my $file (@all_files){    if($file =~ /^.*($ext)$/){      push(@new_file_list, $file);    }  }  return @new_file_list;}##### Name: generator_begin# Args: Array of generator program launcher args# Returns: A hash reference to the module's section in the system PTF file# Purpose: This is the first subroutine a user should call before running the rest of their#          generator program.#sub generator_begin{  my @external_args = (@_);  my  ($external_args_hr,        $temp_user_defined,        $temp_db_Module,        $temp_db_PTF_File) = Process_Wizard_Script_Arguments("", @external_args);  &generator_print_verbose("generator_begin: initializing\n");  $generator_hr->{external_args_hr} = $external_args_hr;  $generator_hr->{external_args} = \@external_args;  # open up class.ptf and   $generator_hr->{class_ptf_hr} = new_ptf_from_file($external_args_hr->{class_directory}."/class.ptf");  # get the system.ptf   $generator_hr->{system_ptf_hr} = new_ptf_from_file($external_args_hr->{system_directory}."/".$external_args_hr->{system_name}.".ptf");  $generator_hr->{module_ptf_hr} = &get_child_by_path($generator_hr->{system_ptf_hr}, "SYSTEM $external_args_hr->{system_name}/MODULE $external_args_hr->{target_module_name}");  my $class_name = get_data_by_path($generator_hr->{module_ptf_hr}, "class");  # find the default generator section  $generator_hr->{language} = get_data_by_path($generator_hr->{system_ptf_hr}, "SYSTEM $external_args_hr->{system_name}/WIZARD_SCRIPT_ARGUMENTS/hdl_language");  # get some wrapper settings  &get_module_wrapper_arg_hash_from_system_ptf_file();  # clear system ptf's HDL section  &delete_child($generator_hr->{module_ptf_hr}, "HDL_INFO");  return $generator_hr->{module_ptf_hr};}	##### Name: generator_end# Args: none# Returns: nothing# Purpose: This is the last subroutine a user should call from their generator program.#          Not calling this subroutine will make you very sad... =<#

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产综合一区二区| 奇米777欧美一区二区| aaa亚洲精品| 中文字幕欧美区| 国产成人午夜视频| 国产精品国产三级国产a| 欧美四级电影在线观看| 一区二区免费视频| 欧美日韩国产美女| 免费成人av在线| 久久久青草青青国产亚洲免观| 国产一区二区三区四| 国产午夜一区二区三区| 色美美综合视频| 亚洲国产aⅴ天堂久久| 欧美一级片免费看| 国产精品系列在线播放| 亚洲人成网站精品片在线观看| 欧美又粗又大又爽| 蜜桃精品视频在线观看| 日本一区二区三区高清不卡| 91美女蜜桃在线| 六月丁香婷婷久久| 中文字幕永久在线不卡| 欧美日本视频在线| 成人精品免费网站| 性欧美大战久久久久久久久| 亚洲精品一区二区三区影院 | 欧亚一区二区三区| 裸体在线国模精品偷拍| 18成人在线观看| 日韩一区二区三区在线| av福利精品导航| 免费av成人在线| 亚洲免费在线播放| 欧美精品一区二区三区蜜桃视频| 一本久久精品一区二区| 狠狠网亚洲精品| 亚洲成av人片一区二区三区| 久久久久国色av免费看影院| 欧美日韩亚洲丝袜制服| 成人av综合在线| 久久99精品视频| 亚洲高清视频在线| 国产精品嫩草99a| 日韩视频中午一区| 日本韩国欧美三级| 波多野结衣亚洲一区| 精品亚洲porn| 视频一区国产视频| 洋洋av久久久久久久一区| 国产日产亚洲精品系列| 日韩欧美色电影| 欧美久久婷婷综合色| 91在线观看成人| 欧美日韩一区久久| 成人精品高清在线| 国产精品一区不卡| 免费看精品久久片| 午夜电影网亚洲视频| 玉足女爽爽91| 日韩理论电影院| 国产精品理论在线观看| 精品国产成人系列| 日韩欧美亚洲国产精品字幕久久久 | 一区二区三区日韩精品视频| 久久久www成人免费毛片麻豆| 欧美精品一级二级| 欧美三级日韩三级| 欧美性xxxxx极品少妇| 在线看不卡av| 在线视频中文字幕一区二区| 色屁屁一区二区| 95精品视频在线| 91麻豆高清视频| 暴力调教一区二区三区| av欧美精品.com| 波多野结衣在线aⅴ中文字幕不卡| 粉嫩嫩av羞羞动漫久久久| 国产99久久久久久免费看农村| 国产一区二区三区在线看麻豆| 国产一区在线精品| 国产一区二区不卡| 国产精品一二三区在线| 国产精品亚洲专一区二区三区 | 99精品久久只有精品| 99精品欧美一区二区三区综合在线| 99久久综合狠狠综合久久| 欧美成人乱码一区二区三区| 欧美mv日韩mv国产网站| 欧美va亚洲va在线观看蝴蝶网| 2020国产精品自拍| 国产精品丝袜91| 亚洲综合色噜噜狠狠| 亚洲成av人片在www色猫咪| 日韩av在线免费观看不卡| 美女视频网站久久| 国产老妇另类xxxxx| 不卡的av中国片| 欧美性做爰猛烈叫床潮| 欧美一区二区三区在线看| 欧美电视剧在线看免费| 国产亚洲一区二区三区在线观看| 亚洲国产成人私人影院tom| 亚洲男人的天堂在线aⅴ视频| 亚洲午夜私人影院| 久久国产福利国产秒拍| 成人黄色av电影| 欧美丰满少妇xxxxx高潮对白| 精品国产91乱码一区二区三区 | 波多野洁衣一区| 欧美午夜精品久久久久久孕妇| 欧美一区二区三区不卡| 国产日韩成人精品| 亚洲成av人片www| 国产a级毛片一区| 欧美日韩一区二区三区在线| 久久久久久一二三区| 亚洲激情图片小说视频| 久久精品久久综合| 99久久伊人久久99| 91精品国产综合久久久久| 国产视频视频一区| 午夜精品久久久久| jlzzjlzz亚洲女人18| 538在线一区二区精品国产| 中文字幕在线观看一区| 日本va欧美va瓶| 91在线视频免费91| 久久美女艺术照精彩视频福利播放| 亚洲狼人国产精品| 激情五月激情综合网| 欧美亚洲动漫精品| 综合色中文字幕| 国产精品一区二区久久精品爱涩| 欧美日韩专区在线| 国产精品色噜噜| 久久精品国产在热久久| 色婷婷亚洲精品| 国产精品美女久久久久久久久| 五月激情综合网| 91官网在线观看| 久久久久久久久久久久久女国产乱 | 国产女主播视频一区二区| 日韩av一区二| 欧美三级电影网| 日韩理论片中文av| 国产成人aaa| 精品sm捆绑视频| 青青草97国产精品免费观看无弹窗版 | 不卡一区二区在线| 国产亚洲欧美在线| 黄色资源网久久资源365| 91麻豆精品国产91久久久 | 国产精品综合av一区二区国产馆| 欧美日韩1234| 亚洲一区在线观看视频| 色88888久久久久久影院按摩| 国产欧美日韩精品a在线观看| 国内久久精品视频| 久久综合九色综合97婷婷| 毛片av一区二区| 日韩一区二区三区在线| 日本午夜一本久久久综合| 欧美日韩国产首页在线观看| 亚洲va在线va天堂| 欧美日韩视频不卡| 香蕉av福利精品导航| 欧美日韩在线三级| 视频一区二区三区在线| 欧美一区二区三区视频在线| 日本中文字幕一区| 欧美一区在线视频| 久久成人久久鬼色| 久久影院视频免费| 色老综合老女人久久久| 亚洲天堂av一区| 91福利视频久久久久| 亚洲高清久久久| 日韩一区二区电影在线| 九色porny丨国产精品| 国产亚洲综合性久久久影院| 国产成人av电影免费在线观看| 国产精品福利电影一区二区三区四区| 国产不卡视频一区| 亚洲日本va在线观看| 欧美日本视频在线| 精品系列免费在线观看| 国产天堂亚洲国产碰碰| 9人人澡人人爽人人精品| 一区二区三区国产豹纹内裤在线| 91久久精品一区二区三| 亚洲不卡av一区二区三区| 91精品免费观看| 国产伦精一区二区三区| 亚洲视频 欧洲视频| 欧美日韩电影在线| 韩日欧美一区二区三区| 亚洲视频综合在线| 欧美一区二区三区喷汁尤物|