Edge Trigger

Edge triggers are used to capture waveforms on either a Rising Edge, Falling Edge, or both for a given trigger source.

Edge Slope

Rising

set_rising_edge_slope.py
 from lager import Net, NetType

 sck = Net.get('I2C.SCK',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

 sck.trigger_settings.edge.set_slope_rising()
Set Trigger Edge Slope To Rising
 ~  lager analog I2C.SCK trigger edge --slope rising --dut 1

Falling

set_falling_edge_slope.py
 from lager import Net, NetType

 sck = Net.get('I2C.SCK',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

 sck.trigger_settings.edge.set_slope_falling()
Set Trigger Edge Slope To Falling
 ~  lager analog I2C.SCK trigger edge --slope falling --dut 1

Both

set_both_edge_slope.py
 from lager import Net, NetType

 sck = Net.get('I2C.SCK',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

 sck.trigger_settings.edge.set_slope_both()
Set Trigger Edge Slope To Both
 ~  lager analog I2C.SCK trigger edge --slope both --dut 1

Level

The Level parameter sets what voltage a rising or falling edge must pass through to trigger a waveform capture.

set_edge_level.py
 from lager import Net, NetType

 sck = Net.get('I2C.SCK',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

 sck.trigger_settings.edge.set_level(1.8)
Set Edge Voltage Level
 ~  lager analog I2C.SCK trigger edge --level 1.8 --dut 1

Source

The trigger source sets which waveform triggers the capture of the target waveform. For edge triggers the souce and target are often the same, but that doesn't need to be the case. For example you may want to capture an analog signal (the target) on the rising edge of a button press (the source).

set_edge_trigger_sources.py
from lager import Net, NetType

analog_signal = Net.get('ANA1',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

button = Net.get('BTN',
         type=NetType.Analog,
         setup_function=setup_nets,
         teardown_function=teardown_nets)

analog_signal.trigger_settings.edge.set_source(button)
Set Edge Trigger Sources
 ~  lager analog ANA1 trigger edge --source BTN --slope rising --dut 1