Class: OrigenTesters::IGXLBasedTester::Base::Edge

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

Direct Known Subclasses

UltraFLEX::Edge

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Edge

:nodoc:


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/origen_testers/igxl_based_tester/base/edge.rb', line 9

def initialize(options = {}) # :nodoc:
  options = {
    d_src:   'PAT',     # source of the channel drive data (e.g. pattern, drive_hi, drive_lo, etc.)
    d_fmt:   'NR',      # drive data format (NR, RL, RH, etc.)
    d0_edge: '',        # time at which the input drive is turned on
    d1_edge: '',        # time of the initial data drive edge
    d2_edge: '',        # time of the return format data drive edge
    d3_edge: '',        # time at which the input drive is turned off
    c_mode:  'Edge',    # output compare mode
    c1_edge: '',        # time of the initial output compare edge
    c2_edge: '',        # time of the final output compare edge (window compare)
    t_res:   'Machine', # timing resolution (possibly ATE-specific)
    clk_per: ''         # clock period equation - for use with MCG
  }.merge(options)
  @d_src    = options[:d_src]
  @d_fmt    = options[:d_fmt]
  @d0_edge  = options[:d0_edge]
  @d1_edge  = options[:d1_edge]
  @d2_edge  = options[:d2_edge]
  @d3_edge  = options[:d3_edge]
  @c_mode   = options[:c_mode]
  @c1_edge  = options[:c1_edge]
  @c2_edge  = options[:c2_edge]
  @t_res    = options[:t_res]
  @clk_per  = options[:clk_per]
end

Instance Attribute Details

#c1_edgeObject

Output pin timing information


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

def c1_edge
  @c1_edge
end

#c2_edgeObject

Output pin timing information


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

def c2_edge
  @c2_edge
end

#c_modeObject

Output pin timing information


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

def c_mode
  @c_mode
end

#clk_perObject

Returns the value of attribute clk_per.


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

def clk_per
  @clk_per
end

#d0_edgeObject

Input pin timing information


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

def d0_edge
  @d0_edge
end

#d1_edgeObject

Input pin timing information


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

def d1_edge
  @d1_edge
end

#d2_edgeObject

Input pin timing information


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

def d2_edge
  @d2_edge
end

#d3_edgeObject

Input pin timing information


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

def d3_edge
  @d3_edge
end

#d_fmtObject

Input pin timing information


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

def d_fmt
  @d_fmt
end

#d_srcObject

Input pin timing information


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

def d_src
  @d_src
end

#t_resObject

Returns the value of attribute t_res.


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

def t_res
  @t_res
end

Instance Method Details

#==(edge) ⇒ Object


36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/origen_testers/igxl_based_tester/base/edge.rb', line 36

def ==(edge)
  if edge.is_a? Edge
    d_src == edge.d_src &&
      d_fmt == edge.d_fmt &&
      d0_edge == edge.d0_edge &&
      d1_edge == edge.d1_edge &&
      d2_edge == edge.d2_edge &&
      d3_edge == edge.d3_edge &&
      c_mode == edge.c_mode &&
      c1_edge == edge.c1_edge &&
      c2_edge == edge.c2_edge &&
      t_res == edge.t_res &&
      clk_per == edge.clk_per
  else
    super
  end
end

#platformObject


54
55
56
# File 'lib/origen_testers/igxl_based_tester/base/edge.rb', line 54

def platform
  Origen.interface.platform
end