Class: OrigenTesters::IGXLBasedTester::Base::Timeset

Inherits:
Object
  • Object
show all
Defined in:
lib/origen_testers/igxl_based_tester/base/timeset.rb

Direct Known Subclasses

UltraFLEX::Timeset

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, pin, edge, attrs = {}) ⇒ Timeset

Specify timeset information by providing a pin and its associated edge timing



10
11
12
13
14
15
16
17
18
19
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 10

def initialize(name, pin, edge, attrs = {}) # :nodoc:
  attrs = {
    master_ts: '', # master timeset name
    t_mode:    ''  # timing mode (possibly ATE-specific)
  }.merge(attrs)
  @master_ts = attrs[:master_ts]
  @t_mode    = attrs[:t_mode]
  @pins      = { pin => edge }
  self.name = name
end

Instance Attribute Details

#master_tsObject

Timeset information



5
6
7
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 5

def master_ts
  @master_ts
end

#nameObject

Returns the value of attribute name.



7
8
9
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 7

def name
  @name
end

#pinsObject

Returns the value of attribute pins.



6
7
8
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 6

def pins
  @pins
end

#t_modeObject

Timeset information



5
6
7
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 5

def t_mode
  @t_mode
end

Instance Method Details

#add_edge(pin, edge) ⇒ Object

Assigns a timing edge object to the given pin for this timeset



22
23
24
25
26
27
28
29
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 22

def add_edge(pin, edge)
  if @pins.key?(pin)
    Origen.log.error "Pin #{pin} already exists in timeset"
    fail
  else
    @pins[pin] = edge
  end
end

#platformObject



31
32
33
# File 'lib/origen_testers/igxl_based_tester/base/timeset.rb', line 31

def platform
  Origen.interface.platform
end