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

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

?? up_ptf_parser.pm

?? 基于Avalon的SDRAM控制器IP核
?? PM
字號:
# +----------------------------------------------------------------------------+
# | Copyright (C)2001-2006 Altera Corporation                                  |
# |  Any megafunction design, and related net list (encrypted or decrypted),   |
# |  support information, device programming or simulation file, and any other |
# |  associated documentation or information provided by Altera or a partner   |
# |  under Altera's Megafunction Partnership Program may be used only to       |
# |  program PLD devices (but not masked PLD devices) from Altera.  Any other  |
# |  use of such megafunction design, net list, support information, device    |
# |  programming or simulation file, or any other related documentation or     |
# |  information is prohibited for any other purpose, including, but not       |
# |  limited to modification, reverse engineering, de-compiling, or use with   |
# |  any other silicon devices, unless such use is explicitly licensed under   |
# |  a separate agreement with Altera or a megafunction partner.  Title to     |
# |  the intellectual property, including patents, copyrights, trademarks,     |
# |  trade secrets, or maskworks, embodied in any such megafunction design,    |
# |  net list, support information, device programming or simulation file, or  |
# |  any other related documentation or information provided by Altera or a    |
# |  megafunction partner, remains with Altera, the megafunction partner, or   |
# |  their respective licensors.  No other licenses, including any licenses    |
# |  needed under any third party's intellectual property, are provided herein.|
# |  Copying or modifying any file, or portion thereof, to which this notice   |
# |  is attached violates this copyright.                                      |
# +----------------------------------------------------------------------------+




# +----------------------------------------------------------------------------+
# | file: UP_PTF_Parser.pm                                                     |
# |                                                                            |
# | This module is provided by                                                 |
# | Altera's University Program.                                               |
# |                                                                            |
# | Its purpose is to extract necessary                                        |
# | information from an IP cores and the                                       |
# | system's PTF files so that cores can                                       |
# | be customized for the user's needs.                                        |
# |                                                                            |
# | version: 0.3                                                               |
# |                                                                            |
# +----------------------------------------------------------------------------+

package UP_PTF_Parser;
use Exporter;


@ISA = Exporter;
@EXPORT = qw(
	initialize_ptf_parser
	get_num_hdl_files
	get_hdl_filename
	check_top_level_module_flag

	check_parameter_from_ptf_file
	check_section_from_ptf_file

	get_addition_files
);
#	parse_hdl_filenames_from_ptf_file
#	parse_parameters_from_ptf_file
#	parse_sections_from_ptf_file


use strict;
use format_conversion_utils;
use ptf_parse;
use UP_System_Info;


my @hdl_files;
my $parameters;
my $sections;

sub initialize_ptf_parser
{
	my $error;

	($error) = parse_hdl_filenames_from_ptf_file ();
	return $error if ($error != 1);

	($error) = parse_parameters_from_ptf_file ();
	return $error if ($error != 1);

	($error) = parse_sections_from_ptf_file ();
	return $error if ($error != 1);

	return 1;
}

sub get_num_hdl_files
{
	return ($#hdl_files + 1);
}

sub get_hdl_filename
{
	my ($file_num) = (@_);

	return $hdl_files[$file_num]{filename};
}

sub check_top_level_module_flag
{
	my ($file_num) = (@_);

	return $hdl_files[$file_num]{top_level_module};
}

sub parse_hdl_filenames_from_ptf_file
{
	my $module_ptf			= get_module_ptf ();

	my $top_level_module	= get_data_by_path($module_ptf,"CLASS/CB_GENERATOR/top_module_name");

	$top_level_module		=~ /:/;
	$top_level_module		= $`;

	my $hdl_files_ptf		= get_child_by_path($module_ptf, "CLASS/CB_GENERATOR/HDL_FILES");
    my $child_count			= get_child_count($hdl_files_ptf);
	
	for(my $i = 0; $i < $child_count; $i++)
	{
		my $hdl_file_ptf = get_child($hdl_files_ptf,$i);
		if(get_name($hdl_file_ptf) eq "FILE")
		{
			my %hdl_file_info->{filename}		= get_data_by_path($hdl_file_ptf,"filepath");
			if ( %hdl_file_info->{filename} eq ("hdl/".$top_level_module))
			{
				%hdl_file_info->{top_level_module} = 1;
			}
			else
			{
				%hdl_file_info->{top_level_module} = 0;
			}

			push @hdl_files, \%hdl_file_info;
		}
	}

	return 1;
}

sub parse_parameters_from_ptf_file
{
	my $new_module_ptf	= get_module_ptf_from_system_ptf();

	my $parameter_ptf	= get_child_by_path($new_module_ptf, "WIZARD_SCRIPT_ARGUMENTS/PARAMETERS");
    my $parameter_count	= get_child_count($parameter_ptf);

	for(my $i = 0; $i < $parameter_count; $i++)
	{
        my $a_parameter		= get_child($parameter_ptf,$i);

        my $parameter_name	= get_name($a_parameter);
        my $value			= get_data($a_parameter);

		$parameters->{$parameter_name} = $value;
	}

	return 1;
}

sub check_parameter_from_ptf_file
{
	my ($parameter_name) = (@_);

	if (defined ($parameters->{$parameter_name}))
	{
		return 1, $parameters->{$parameter_name};
	}
	
	return "Parameter not found!";
}

sub parse_sections_from_ptf_file
{
	my $new_module_ptf	= get_module_ptf_from_system_ptf();

	my $section_ptf		= get_child_by_path($new_module_ptf, "WIZARD_SCRIPT_ARGUMENTS/SECTIONS");
    my $section_count	= get_child_count($section_ptf);

	for(my $i = 0; $i < $section_count; $i++)
	{
        my $a_section		= get_child($section_ptf,$i);

        my $section_name	= get_name($a_section);
        my $value			= get_data($a_section);

		$sections->{$section_name} = $value;
	}

	return 1;
}

sub check_section_from_ptf_file
{
	my ($section_name) = (@_);

	if (defined ($sections->{$section_name}))
	{
		return 1, $sections->{$section_name};
	}
	
	return "Section not found!";
}

sub get_addition_files
{
	my @addition_files;
	
	my $module_ptf			= get_module_ptf ();
	my $addition_files_ptf	= get_child_by_path($module_ptf, "CLASS/CB_GENERATOR/OTHER_FILES");
    my $child_count			= get_child_count($addition_files_ptf);
	
	for(my $i = 0; $i < $child_count; $i++)
	{
		my $addition_file_ptf = get_child($addition_files_ptf,$i);

		if(get_name($addition_file_ptf) eq "FILE")
		{
			push @addition_files, get_data_by_path($addition_file_ptf,"filepath");
		}		
	}

	return 1, @addition_files;
}

# End with success

return 1;

# end of file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线观看一区| av在线一区二区三区| 丁香五精品蜜臀久久久久99网站| 91国偷自产一区二区三区成为亚洲经典 | 中文字幕精品综合| 天天综合日日夜夜精品| aaa亚洲精品| 久久久久久免费毛片精品| 亚洲成a人v欧美综合天堂| thepron国产精品| 精品国产乱码久久久久久图片 | 欧美本精品男人aⅴ天堂| 亚洲欧美另类小说视频| 国产91高潮流白浆在线麻豆| 欧美一级黄色录像| 日韩精品一级二级| 在线观看网站黄不卡| 亚洲乱码日产精品bd| 国产98色在线|日韩| 欧美精品一区二区三区四区 | 亚洲人成伊人成综合网小说| 国产一区二区免费视频| 日韩欧美另类在线| 日韩av网站免费在线| 欧美日本在线视频| 亚洲国产一区在线观看| 欧洲一区二区三区在线| 一区二区三区四区在线免费观看| 99精品视频一区二区三区| 欧美国产禁国产网站cc| 国产99久久久久| 久久久久久久久99精品| 国产成人精品午夜视频免费| 久久久久国产精品麻豆| 成人免费va视频| 亚洲欧洲一区二区三区| av成人老司机| 综合欧美一区二区三区| 99久久久精品| 一区二区三区欧美日| 欧美熟乱第一页| 日韩国产一区二| 精品少妇一区二区三区在线视频| 狠狠色综合日日| 国产精品日韩精品欧美在线| 91蜜桃在线观看| 亚洲福利一二三区| 欧美一区二区三区在线观看| 久久99精品久久久久久国产越南| 久久精品夜夜夜夜久久| 成人综合激情网| 一区二区三区四区av| 欧美精品在线一区二区| 国产一区二区中文字幕| 亚洲天堂成人网| 8v天堂国产在线一区二区| 激情都市一区二区| 亚洲欧洲www| 日韩限制级电影在线观看| 国产精品一二三四| 一区二区三区不卡视频| 久久久久久久久久久久久夜| 色欧美乱欧美15图片| 九九国产精品视频| 18成人在线视频| 日韩网站在线看片你懂的| 成人国产精品视频| 亚洲图片欧美一区| 久久久久久免费网| 欧美性色欧美a在线播放| 狠狠色狠狠色综合| 亚洲自拍欧美精品| 久久久99精品免费观看不卡| 欧美午夜电影在线播放| 国产福利91精品| 午夜精品福利一区二区三区av | 一本久久a久久精品亚洲| 日本中文字幕一区| 国产精品福利一区二区| 欧美一卡二卡在线观看| 色一区在线观看| 国产精品一区二区男女羞羞无遮挡 | 国产人妖乱国产精品人妖| 欧美日韩免费电影| 成人av免费在线观看| 久久精品国产久精国产爱| 亚洲免费毛片网站| 国产午夜精品一区二区三区视频| 91精品国产免费| 日本韩国一区二区| 国产成人亚洲综合色影视| 日本91福利区| 日韩国产精品久久久| 亚洲综合在线观看视频| 国产精品色哟哟| 久久久另类综合| 精品国产伦一区二区三区观看方式| 欧美三级资源在线| 色噜噜狠狠色综合中国| 成人免费av在线| 国产成人小视频| 国产一区中文字幕| 紧缚奴在线一区二区三区| 秋霞成人午夜伦在线观看| 亚洲一区在线免费观看| 一区二区三区精品在线| 亚洲青青青在线视频| 自拍av一区二区三区| 国产精品第13页| 成人免费在线视频观看| 国产精品久久一级| 国产精品国产三级国产普通话99| 国产色婷婷亚洲99精品小说| 久久久不卡网国产精品二区 | 自拍偷拍欧美激情| 国产精品久久久久影院亚瑟 | 亚洲最新在线观看| 亚洲综合一区二区三区| 亚洲精品乱码久久久久久久久| 亚洲天堂av一区| 夜色激情一区二区| 五月婷婷久久丁香| 亚洲gay无套男同| 欧美aaaaaa午夜精品| 精品亚洲免费视频| 国产成人亚洲综合a∨婷婷| 不卡一区中文字幕| 日本黄色一区二区| 日韩欧美中文一区二区| 久久综合国产精品| 国产女人aaa级久久久级| 中文字幕一区三区| 亚洲成av人片www| 久久99久久99精品免视看婷婷| 国产精品一区三区| 91成人免费在线| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲三级免费电影| 日韩在线a电影| 国产精品一区在线观看乱码| 色综合天天天天做夜夜夜夜做| 日本精品视频一区二区三区| 日韩亚洲欧美在线观看| 久久久综合精品| 一区av在线播放| 经典三级在线一区| 一本到高清视频免费精品| 欧美一区午夜视频在线观看| 久久精品一级爱片| 亚洲小少妇裸体bbw| 国产福利一区二区| 91精品国产综合久久蜜臀| 久久精品视频一区| 日韩国产欧美在线视频| av一区二区三区| 51久久夜色精品国产麻豆| 中文幕一区二区三区久久蜜桃| 亚洲一区二区三区自拍| 国产成人亚洲综合色影视| 欧美挠脚心视频网站| 国产精品萝li| 捆绑调教一区二区三区| 色综合夜色一区| 国产婷婷色一区二区三区四区| 午夜一区二区三区视频| 懂色av一区二区三区免费观看| 在线播放一区二区三区| 国产精品国产自产拍高清av| 久久99精品国产麻豆婷婷| 欧美三级电影网站| 亚洲欧洲日韩综合一区二区| 久久99精品国产| 欧美日韩aaaaaa| 夜夜嗨av一区二区三区网页| 国产福利一区二区三区视频在线| 欧美一区二区三区免费视频| 一区二区三区美女视频| 成人av网址在线| 久久久国产综合精品女国产盗摄| 麻豆精品一区二区| 欧美美女直播网站| 一区二区三区精品在线| 色综合天天综合网天天狠天天| 国产日韩v精品一区二区| 麻豆91精品91久久久的内涵| 欧美日韩你懂得| 一卡二卡欧美日韩| 91麻豆自制传媒国产之光| 国产精品无圣光一区二区| 国产伦精品一区二区三区在线观看 | 成人av网址在线| 国产精品欧美久久久久无广告| 国产一区二区在线看| 精品捆绑美女sm三区| 久久电影网电视剧免费观看| 欧美日韩国产免费一区二区| 首页国产欧美久久| 欧美精品久久一区| 日韩制服丝袜先锋影音| 91精品国产91久久综合桃花|