Class: HRP2ObjectPlugin
- Inherits:
-
HRP2KernelObjectPlugin
- Object
- Node
- Plugin
- CelltypePlugin
- HRP2KernelObjectPlugin
- HRP2ObjectPlugin
- Defined in:
- lib/tecsgen/plugin/HRP2ObjectPlugin.rb
Constant Summary collapse
- @@api =
@@ep = [:eSignalSemaphore, :eWaitSemaphore, :eManageSemaphore, :eReferSemaphore ]
{ "SEMAPHORE" => ["SEM", :id, :attribute, :count, :max], "EVENTFLAG" => ["FLG", :id, :attribute, :flagPattern], "DATAQUEUE" => ["DTQ", :id, :attribute, :count, :dtqmb], "PRIORITY_DATAQUEUE" => ["PDQ", :id, :attribute, :count, :maxDataPriority, :pdqmb], "FIXED_SIZE_MEMORYPOOL" => ["MPF", :id, :attribute, :blockCount, :blockSize, :mpf, :mpfmb], "KERNEL" => ["SYS"], "MESSAGE_BUFFER" => ["MBF", :id, :attribute, :maxSize, :bufferSize, :mbfmb], }
Constants inherited from Plugin
Instance Method Summary collapse
-
#print_cfg_cre(file, cell, val, tab) ⇒ Object
HRP2SemaphorePlugin#print_cfg_cre CRE_SEMの出力 file:: FILE: 出力先ファイル val :: string: カーネルオブジェクトの属性の解析結果 tab :: string: インデント用のtab.
-
#print_cfg_sac(file, val, acv) ⇒ Object
HRP2SemaphorePlugin#print_cfg_sac SAC_SEMの出力 file:: FILE: 出力先ファイル val :: string: カーネルオブジェクトの属性の解析結果 acv :: string: アクセスベクタ.
Methods inherited from HRP2KernelObjectPlugin
check_referenced_cells, #gen_factory, get_celltype_list, #get_entry_ports_name_list, include_celltype?, include_region, #initialize, isChecked, set_celltype, set_region_list, #string_cfg_cre
Methods inherited from CelltypePlugin
#gen_factory, gen_post_code, #initialize, #new_cell
Methods inherited from Plugin
#cdl_error, #check_plugin_arg, #gen_cdl_file, #gen_ep_func?, #gen_postamble, #gen_preamble, #initialize, #new_cell, #parse_plugin_arg, #print_msg, #set_locale, #set_silent
Methods inherited from Node
#cdl_error, #cdl_error2, #cdl_error3, #cdl_info, #cdl_info2, #cdl_warning, #cdl_warning2, #get_locale, #initialize, #locale_str, #set_locale
Constructor Details
This class inherits a constructor from HRP2KernelObjectPlugin
Instance Method Details
#print_cfg_cre(file, cell, val, tab) ⇒ Object
HRP2SemaphorePlugin#print_cfg_cre
CRE_SEMの出力
- file
-
FILE: 出力先ファイル
- val
-
string: カーネルオブジェクトの属性の解析結果
- tab
-
string: インデント用のtab
60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/tecsgen/plugin/HRP2ObjectPlugin.rb', line 60 def print_cfg_cre(file, cell, val, tab) if @@api.has_key?(@plugin_arg_str) == false raise "#{@plugin_arg_str} is unknown" elsif @plugin_arg_str != "KERNEL" arg_list = [] @@api[@plugin_arg_str].slice(2..-1).each {|attr| arg_list << val[attr].to_s } file.print tab file.puts "CRE_#{@@api[@plugin_arg_str].at(0)}(#{val[:id]}, { #{arg_list.join(", ")} });" end end |
#print_cfg_sac(file, val, acv) ⇒ Object
HRP2SemaphorePlugin#print_cfg_sac
SAC_SEMの出力
- file
-
FILE: 出力先ファイル
- val
-
string: カーネルオブジェクトの属性の解析結果
- acv
-
string: アクセスベクタ
78 79 80 81 82 83 84 85 86 |
# File 'lib/tecsgen/plugin/HRP2ObjectPlugin.rb', line 78 def print_cfg_sac(file, val, acv) if @@api.has_key?(@plugin_arg_str) == false raise "#{@plugin_arg_str} is unknown" elsif @plugin_arg_str != "KERNEL" file.puts "SAC_#{@@api[@plugin_arg_str].at(0)}(#{val[:id]}, { #{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3] }});" else file.puts "SAC_#{@@api[@plugin_arg_str].at(0)}({ #{acv[0]}, #{acv[1]}, #{acv[2]}, #{acv[3]} });" end end |