class MailBox
Attributes
ghost[RW]
include AlwaysBlock include RedefOpertor
Public Class Methods
new(name:'mbox',depth:100, belong_to_module: nil )
click to toggle source
# File lib/tdl/elements/mail_box.rb, line 7 def initialize(name:'mbox',depth:100, belong_to_module: nil ) @name = name @depth = depth @belong_to_module = belong_to_module unless @belong_to_module raise TdlError.new("Clock<#{name}> dnot have belong_to_module") end end
Public Instance Methods
cond_block_proc(a,b=nil)
click to toggle source
redefine cond_block_proc
Calls superclass method
# File lib/tdl/elements/mail_box.rb, line 48 def cond_block_proc(a,b=nil) unless a.eql? self super(a,b) else if(b.is_a? Hash) if b[:cond_type].eql? :if_exp exp_element(b[:cond_value]) end elsif b.nil? rel = exp_element(a) if rel =~ /\s+end\s*$/ rel else rel.concat(";") end else exp_element(a).concat(".put(").concat(exp_element(b)).concat(");") end end end
get(baseelm)
click to toggle source
# File lib/tdl/elements/mail_box.rb, line 41 def get(baseelm) b = "#{signal}.get(#{exp_element(baseelm)})" $__curr_logic_for_expect.last.assign_proc(nil,b) return nil end
inst()
click to toggle source
# File lib/tdl/elements/mail_box.rb, line 27 def inst "mailbox #{@name} = new(#{@depth});\n" end
put(baseelm)
click to toggle source
def _assign_small_and_eq(b)
$__tdl_cur_always_env__.assign_proc(self,b)
end
# File lib/tdl/elements/mail_box.rb, line 35 def put(baseelm) b = "#{signal}.put(#{exp_element(baseelm)})" $__curr_logic_for_expect.last.assign_proc(nil,b) return nil end
signal()
click to toggle source
# File lib/tdl/elements/mail_box.rb, line 19 def signal "#{@name}" end
to_s()
click to toggle source
# File lib/tdl/elements/mail_box.rb, line 23 def to_s signal end