Class: HRP2ObjectPlugin

Inherits:
HRP2KernelObjectPlugin show all
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

Plugin::PluginArgProc

Instance Method Summary collapse

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

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

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