kozlov-dev / tang_nano-trigger_uart

This is a re-write of my previous trigger project. This time Tang Nano 9k is the target hardware and the USB UART is used to configure and enable triggering.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tang_nano-trigger_uart

This is a re-write of my previous trigger project. This time Tang Nano and Tang Nano 9k are the target hardware boards and the USB UART is used to configure and enable triggering (and drive the validation patterns). An internal clock frequency of 100MHz is used, which can result in triggering on very fast external pulses (subject to the performance of the FPGA and FPGA board).

Tang Nano connections:

picture

Tang Nano 9k connections:

picture

I included my pattern generator and block ram designs, which aid in validating the trigger functions. If you have an inexpensive logic analyzer you can view all the stimulus waveforms and the resulting triggers. The pins trigger_in and pat_gen_out[0] need to be connected.

I support all trigger types listed here: https://www.tiepie.com/en/fut/pulse-width-trigger


Type 0 Positive Edge (no count durations, just trigger on the edge)

picture

Type 0 Negative Edge (no count durations, just trigger on the edge)

picture


Type 1 Positive Edge (trigger on pulses shorter than count1)

picture

Type 1 Negative Edge (trigger on pulses shorter than count1)

picture


Type 2 Positive Edge (trigger on positive pulses larger than count1 on the falling edge)

picture

Type 2 Positive No Edge (trigger on positive pulses larger than count1, immediately before the falling edge)

picture

Type 2 Negative Edge (trigger on negative pulses larger than count1 on the rising edge)

picture

Type 2 Negative No Edge (trigger on negative pulses larger than count1, immediately before the rising edge)

picture


Type 3 Positive Edge (trigger on positive pulses larger than count1 AND less than count2, on the falling edge)

picture

Type 3 Negative Edge (trigger on negative pulses larger than count1 AND less than count2, on the rising edge)

picture


Type 4 Positive Edge (trigger on positive pulses larger than count1 OR less than count2, on the falling edge)

picture

Type 4 Positive No Edge (trigger on positive pulses larger than count1 OR less than count2, immediately before falling edge)

picture

Type 4 Negative Edge (trigger on negative pulses larger than count1 OR less than count2, on the rising edge)

picture

Type 4 Negative No Edge (trigger on negative pulses larger than count1 OR less than count2, immediately before the rising edge)

picture


That's it.

About

This is a re-write of my previous trigger project. This time Tang Nano 9k is the target hardware and the USB UART is used to configure and enable triggering.

License:MIT License


Languages

Language:SystemVerilog 82.6%Language:Python 17.4%