Class: HDLRuby::High::TimeRepeat

Inherits:
Low::TimeRepeat show all
Includes:
HStatement
Defined in:
lib/HDLRuby/hruby_high.rb,
lib/HDLRuby/hruby_rsim.rb,
lib/HDLRuby/hruby_rcsim.rb

Overview

Extends the TimeRepeat class for hybrid Ruby-C simulation.

Constant Summary

Constants included from Low::Low2Symbol

Low::Low2Symbol::Low2SymbolPrefix, Low::Low2Symbol::Low2SymbolTable, Low::Low2Symbol::Symbol2LowTable

Instance Attribute Summary collapse

Attributes inherited from Low::TimeRepeat

#delay, #statement

Attributes included from Low::Hparent

#parent

Instance Method Summary collapse

Methods included from HStatement

#hif

Methods inherited from Low::TimeRepeat

#blocks2seq!, #boolean_in_assign2select!, #casts_without_expression!, #clone, #each_block, #each_block_deep, #each_deep, #each_node, #each_node_deep, #each_statement_deep, #eql?, #explicit_types!, #extract_declares!, #extract_selects!, #hash, #initialize, #map_nodes!, #mix?, #process_to_vhdl, #replace_expressions!, #replace_names!, #set_delay!, #set_statement!, #to_c, #to_hdr, #to_high, #to_upper_space!, #to_vhdl

Methods inherited from Low::Statement

#add_blocks_code, #add_make_block, #behavior, #block, #blocks2seq!, #break_types!, #clone, #delete_related!, #delete_unless!, #each_deep, #each_statement, #eql?, #explicit_types!, #extract_declares!, #hash, #mix?, #par_in_seq2seq!, #parent_system, #replace_expressions!, #replace_names!, #scope, #to_c, #to_ch, #to_hdr, #to_high, #to_seq!, #to_upper_space!, #to_vhdl, #top_block, #top_scope, #use_name?, #with_boolean!

Methods included from Low::Low2Symbol

#to_sym

Methods included from Low::Hparent

#hierarchy, #no_parent!, #scope

Constructor Details

This class inherits a constructor from HDLRuby::Low::TimeRepeat

Instance Attribute Details

#rcstatementObject (readonly)

Returns the value of attribute rcstatement.



637
638
639
# File 'lib/HDLRuby/hruby_rcsim.rb', line 637

def rcstatement
  @rcstatement
end

Instance Method Details

#to_lowObject

Converts the repeat statement to HDLRuby::Low.



2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
# File 'lib/HDLRuby/hruby_high.rb', line 2684

def to_low
    # return HDLRuby::Low::TimeRepeat.new(self.statement.to_low,
    #                                     self.delay.to_low)
    timeRepeatL = HDLRuby::Low::TimeRepeat.new(self.statement.to_low,
                                        self.delay.to_low)
    # # For debugging: set the source high object 
    # timeRepeatL.properties[:low2high] = self.hdr_id
    # self.properties[:high2low] = timeRepeatL
    return timeRepeatL
end