Module: OrigenLink::CaptureSupport
- Included in:
- VectorBased
- Defined in:
- lib/origen_link/capture_support.rb
Instance Method Summary collapse
-
#capture(*args) ⇒ Object
Capture any store data within the given block, return it and then internally clear the tester’s capture memory.
-
#store(*pins) ⇒ Object
Capture a vector.
-
#store_next_cycle(*pins) ⇒ Object
Capture the next vector generated.
Instance Method Details
#capture(*args) ⇒ Object
Capture any store data within the given block, return it and then internally clear the tester’s capture memory.
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/origen_link/capture_support.rb', line 49 def capture(*args) if block_given? yield synchronize d = @captured_data @captured_data = [] d else # On other testers capture is an alias of store store(*args) end end |
#store(*pins) ⇒ Object
Capture a vector
This method applies a store vector request to the previous vector, note that is does not actually generate a new vector.
The captured data is added to the captured_data array.
This method is indended to be used by pin drivers, see the #capture method for the application level API.
16 17 18 19 |
# File 'lib/origen_link/capture_support.rb', line 16 def store(*pins) = pins.last.is_a?(Hash) ? pins.pop : {} fail 'The store is not implemented yet on Link' end |
#store_next_cycle(*pins) ⇒ Object
Capture the next vector generated
This method applies a store request to the next vector to be generated, note that is does not actually generate a new vector.
The captured data is added to the captured_data array.
This method is indended to be used by pin drivers, see the #capture method for the application level API.
34 35 36 37 38 |
# File 'lib/origen_link/capture_support.rb', line 34 def store_next_cycle(*pins) = pins.last.is_a?(Hash) ? pins.pop : {} flush_vector @store_pins = pins end |