File: trigger.vhd

package info (click to toggle)
bladerf 0.2022.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 373,752 kB
  • sloc: ansic: 1,186,428; xml: 150,799; vhdl: 24,182; tcl: 15,408; python: 3,409; sh: 1,551; makefile: 1,255; asm: 158; csh: 18; cpp: 9
file content (26 lines) | stat: -rw-r--r-- 696 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
library ieee ;
    use ieee.std_logic_1164.all ;

entity trigger is
  generic (
    DEFAULT_OUTPUT  : std_logic := '0'
  );
  port (
    armed           :   in  std_logic;
    fired           :   in  std_logic;
    master          :   in  std_logic;
    trigger_in      :   in  std_logic;
    signal_in       :   in  std_logic;

    trigger_out     :   out std_logic;
    signal_out      :   out std_logic
  );
end entity;

architecture async of trigger is
    signal triggered              : std_logic := '0';
begin
    triggered <= not armed or not trigger_in;
    signal_out <= signal_in when triggered else DEFAULT_OUTPUT;
    trigger_out <= not fired when master else 'Z';
end architecture;