Class: OrigenTesters::PatternCompilers::V93KPatternCompiler::DigCapAPI::DigCap

Inherits:
Object
  • Object
show all
Defined in:
lib/origen_testers/pattern_compilers/v93k/digcap.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(owner, options) ⇒ DigCap

Returns a new instance of DigCap.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 8

def initialize(owner, options)
  @owner = owner
  @pins = nil

  if options && options[:pins] && options[:vps]
    @pins = options[:pins]           # required: pins to be captured
    @vps = options[:vps]             # required: vecotrs per sample
    @nrf = options[:nrf] || 1        # optional: nr_frames (defaults to 1)
    @char = options[:char] || 'C'    # optional: vector character representing capture
  elsif options
    fail 'Must specifiy pins and vps for digcap setup!'
  end
end

Instance Attribute Details

#charObject

Returns the value of attribute char.



6
7
8
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 6

def char
  @char
end

#nrfObject

Returns the value of attribute nrf.



6
7
8
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 6

def nrf
  @nrf
end

#ownerObject

Returns the value of attribute owner.



6
7
8
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 6

def owner
  @owner
end

#pinsObject

Returns the value of attribute pins.



6
7
8
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 6

def pins
  @pins
end

#vpsObject

Returns the value of attribute vps.



6
7
8
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 6

def vps
  @vps
end

Instance Method Details

#capture_stringObject



36
37
38
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 36

def capture_string
  " #{char * num_pins} "
end

#empty?Boolean

Returns:

  • (Boolean)


54
55
56
57
58
59
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 54

def empty?
  vec_per_frame.each do |k, v|
    return false if v > 0
  end
  true       # digcap setup but no avc contain capture vectors
end

#enabled?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 50

def enabled?
  pins.nil? ? false : true
end

#num_pinsObject



40
41
42
43
44
45
46
47
48
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 40

def num_pins
  if pins.is_a? String
    pins.split(' ').size
  elsif pins.is_a? Symbol
    dut.pins(pins).size
  elsif pins.is_a? Array
    fail 'Digcap Pins does not support array yet'
  end
end

#render_aiv_linesObject



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/origen_testers/pattern_compilers/v93k/digcap.rb', line 22

def render_aiv_lines
  lines = []
  lines << ''
  lines << 'AI_DIGCAP_SETTINGS {'
  lines << render_digcap_header
  avc_files.each do |f|
    if vec_per_frame[f.to_sym] > 0
      lines << render_digcap_entry(f)
    end
  end
  lines << '};'
  lines
end