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

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

?? cb_generator.pl

?? terasic的DM9000A模塊源碼
?? 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一区二区三区免费野_久草精品视频
欧美系列一区二区| 欧美影院一区二区| 国产一区二区三区四区五区入口 | 国产在线视频一区二区| 男女男精品视频网| 久久精品国产第一区二区三区 | 欧美久久久久久久久中文字幕| 欧洲国内综合视频| 欧美日韩视频专区在线播放| 欧美美女激情18p| 日韩一卡二卡三卡国产欧美| 欧美成人猛片aaaaaaa| 欧美精品一区视频| 中文字幕国产一区二区| 亚洲婷婷综合色高清在线| 一区二区三区产品免费精品久久75| 亚洲成人自拍一区| 精品一区二区三区久久久| 成人小视频在线| 91久久精品一区二区三| 91麻豆精品国产综合久久久久久| 精品精品国产高清一毛片一天堂| 国产视频一区二区在线| 一区二区三区影院| 韩国av一区二区三区在线观看| 成人av网站免费观看| 欧美男男青年gay1069videost| 精品久久五月天| 一区二区三区不卡视频| 国产一区福利在线| 欧美最新大片在线看| 久久九九久久九九| 日韩精品午夜视频| 波多野结衣亚洲一区| 在线播放日韩导航| 亚洲欧美日韩国产手机在线| 久久丁香综合五月国产三级网站 | 亚洲国产精品久久久久婷婷884 | 欧美日韩国产综合视频在线观看| 日韩欧美在线网站| 一区二区三区波多野结衣在线观看| 精品一区二区成人精品| 欧美三电影在线| 国产精品嫩草99a| 激情六月婷婷综合| 欧美日韩精品综合在线| 成人欧美一区二区三区视频网页| 久草中文综合在线| 欧美日韩免费一区二区三区| 国产精品美女www爽爽爽| 久久不见久久见中文字幕免费| 欧美影院一区二区三区| 国产精品网曝门| 狠狠色丁香婷婷综合| 欧美精品第一页| 亚洲电影你懂得| 色视频欧美一区二区三区| 国产精品丝袜一区| 成人久久18免费网站麻豆| 久久午夜色播影院免费高清| 日韩综合在线视频| 欧美一区二区三区影视| 丝袜美腿高跟呻吟高潮一区| 欧美三级电影一区| 午夜久久久久久久久| 欧美巨大另类极品videosbest| 亚洲视频小说图片| 色综合一区二区| 亚洲一区二区三区四区不卡| 色国产综合视频| 亚洲一区二区三区四区在线| 欧美做爰猛烈大尺度电影无法无天| 亚洲男人的天堂在线观看| 色久综合一二码| 亚洲国产美国国产综合一区二区 | 日本成人中文字幕在线视频| 欧美日韩激情一区二区三区| 丝袜亚洲另类丝袜在线| 日韩午夜激情av| 国产黄色精品视频| 亚洲国产精品99久久久久久久久| 国产不卡高清在线观看视频| 国产精品高潮呻吟| 精品视频全国免费看| 日av在线不卡| 国产欧美一区视频| 91老师片黄在线观看| 亚洲自拍另类综合| 欧美群妇大交群中文字幕| 精品一区在线看| 国产精品久久网站| 欧美日韩精品一区二区三区四区| 奇米888四色在线精品| 国产农村妇女精品| 在线观看日韩国产| 精品亚洲成a人| 《视频一区视频二区| 91精品国产高清一区二区三区蜜臀 | 久久久久久久精| www.亚洲色图| 毛片av中文字幕一区二区| 国产日韩欧美a| 欧美日韩视频第一区| 国产精品自拍网站| 一区二区成人在线| 26uuu色噜噜精品一区二区| 91亚洲永久精品| 久久激情综合网| 亚洲免费观看高清完整版在线观看熊 | 老司机精品视频导航| 国产精品视频一二三区| 欧美吞精做爰啪啪高潮| 国内精品久久久久影院一蜜桃| 亚洲色大成网站www久久九九| 日韩一区二区三区在线视频| 91在线国产福利| 国产高清在线精品| 日本欧美加勒比视频| 成人欧美一区二区三区| 亚洲精品一区二区三区香蕉| 在线精品亚洲一区二区不卡| 粉嫩一区二区三区性色av| 美美哒免费高清在线观看视频一区二区| 日韩一区在线免费观看| 国产校园另类小说区| 欧美一区三区二区| 91浏览器在线视频| 菠萝蜜视频在线观看一区| 国产剧情在线观看一区二区| 视频一区国产视频| 亚洲国产一二三| 一区二区在线免费| 亚洲色大成网站www久久九九| 国产婷婷色一区二区三区四区 | 日韩一区二区三区四区五区六区| 99re这里只有精品首页| 成人午夜视频在线| 国产精品18久久久久久久久久久久| 午夜国产不卡在线观看视频| 亚洲人成影院在线观看| 国产精品蜜臀av| 亚洲欧美在线另类| 亚洲视频在线一区观看| 亚洲色欲色欲www在线观看| 中文字幕在线不卡一区| 中文字幕亚洲在| 中文字幕一区二区三中文字幕| 欧美高清在线一区二区| 国产网站一区二区| 久久久久国产一区二区三区四区| 欧美大度的电影原声| 欧美va在线播放| 久久久久久久久久美女| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美专区日韩专区| 91亚洲资源网| 欧美日韩一区成人| 91精品国产麻豆| 久久久亚洲高清| 国产精品国产自产拍高清av | 欧美日高清视频| 欧美一区二区三区免费| 日韩美女视频在线| 国产亚洲欧美日韩日本| 日韩毛片在线免费观看| 亚洲一区二区三区四区的| 免费成人美女在线观看| 国产精品一区二区你懂的| 99久久国产综合精品女不卡 | 蜜桃久久久久久久| 精品无人码麻豆乱码1区2区| 国产精品一卡二| 成人avav影音| 欧美精品1区2区3区| 国产亚洲一区字幕| 亚洲精品久久久久久国产精华液| 午夜视频一区二区三区| 91丨porny丨国产| 色88888久久久久久影院野外| 欧美日韩高清一区二区不卡| 久久这里只有精品首页| 最好看的中文字幕久久| 日韩av中文字幕一区二区三区| 国产真实乱对白精彩久久| 91理论电影在线观看| 精品国产麻豆免费人成网站| 亚洲精品视频自拍| 久88久久88久久久| 日本久久电影网| 久久久久久综合| 香蕉久久夜色精品国产使用方法 | 久久99日本精品| 91小视频免费看| 精品国产不卡一区二区三区| 亚洲视频在线一区二区| 国产成人亚洲综合a∨婷婷图片| 欧美综合亚洲图片综合区| 中文字幕国产一区二区| 久久电影网电视剧免费观看| 日本道免费精品一区二区三区|