Class: HDLRuby::High::Delay

Inherits:
Low::Delay
  • Object
show all
Includes:
HStatement
Defined in:
lib/HDLRuby/hruby_high.rb

Overview

Describes a delay: not synthesizable.

Constant Summary collapse

High =
HDLRuby::High

Constants included from Low::Low2Symbol

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

Instance Attribute Summary

Attributes inherited from Low::Delay

#unit, #value

Attributes included from Low::Hparent

#parent

Instance Method Summary collapse

Methods included from HStatement

#hif

Methods inherited from Low::Delay

#clone, #each_deep, #eql?, #hash, #initialize, #replace_expressions!, #set_unit!, #set_value!, #to_c, #to_hdr, #to_high, #to_verilog, #to_vhdl

Methods included from Low::Low2Symbol

#to_sym

Methods included from Low::Hparent

#hierarchy, #scope

Constructor Details

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

Instance Method Details

#!Object



2386
2387
2388
# File 'lib/HDLRuby/hruby_high.rb', line 2386

def !
    High.top_user.wait(self)    
end

#to_lowObject

Converts the delay to HDLRuby::Low.



2391
2392
2393
2394
2395
2396
2397
2398
# File 'lib/HDLRuby/hruby_high.rb', line 2391

def to_low
    # return HDLRuby::Low::Delay.new(self.value, self.unit)
    delayL = HDLRuby::Low::Delay.new(self.value, self.unit)
    # # For debugging: set the source high object 
    # delayL.properties[:low2high] = self.hdr_id
    # self.properties[:high2low] = delayL
    return delayL
end