Method: Origen::Pins::PinBank#find

Defined in:
lib/origen/pins/pin_bank.rb

#find(id, options = {}) ⇒ Object



178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'lib/origen/pins/pin_bank.rb', line 178

def find(id, options = {})
  id = id.to_sym
  if options[:power_pin]
    pin = all_power_pins[id] || find_pin_group(id, options)
  elsif options[:ground_pin]
    pin = all_ground_pins[id] || find_pin_group(id, options)
  elsif options[:virtual_pin]
    pin = all_virtual_pins[id] || find_pin_group(id, options)
  elsif options[:other_pin]
    pin = all_other_pins[id] || find_pin_group(id, options)
  else
    pin = all_pins[id] || find_by_alias(id, options) || find_pin_group(id, options)
  end
  if pin
    if options[:ignore_context] || pin.enabled?(options)
      pin
    end
  end
end