Skip to content
Snippets Groups Projects
Commit 8dd55a0e authored by Luis Horacio Arnaldi's avatar Luis Horacio Arnaldi
Browse files

Agrego el core time_trig_gen_v1_0

parent fab4ee4f
No related branches found
No related tags found
No related merge requests found
...@@ -60,7 +60,8 @@ CORES = axi_axis_reader_v1_0 \ ...@@ -60,7 +60,8 @@ CORES = axi_axis_reader_v1_0 \
pps_gen_v1_1 \ pps_gen_v1_1 \
pwm_gen_v1_0 \ pwm_gen_v1_0 \
ramp_gen_v1_0 \ ramp_gen_v1_0 \
selector_v1_0 selector_v1_0 \
time_trig_gen_v1_0
VIVADO = vivado -nolog -nojournal -mode batch VIVADO = vivado -nolog -nojournal -mode batch
XSCT = xsct XSCT = xsct
......
set display_name {Time Trigger Generator}
set core [ipx::current_core]
set_property DISPLAY_NAME $display_name $core
set_property DESCRIPTION $display_name $core
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity time_trig_gen is
port (
aclk : in std_logic;
aresetn : in std_logic;
cfg_data: in std_logic_vector(32-1 downto 0);
trig_o : out std_logic
);
end time_trig_gen;
architecture rtl of time_trig_gen is
signal cntr_reg, cntr_next : std_logic_vector(32-1 downto 0);
signal trig_reg, trig_next : std_logic;
signal comp_reg, comp_next : std_logic;
begin
process(aclk)
begin
if rising_edge(aclk) then
if (aresetn = '0') then
cntr_reg <= (others => '0');
trig_reg <= '0';
comp_reg <= '0';
else
cntr_reg <= cntr_next;
trig_reg <= trig_next;
comp_reg <= comp_next;
end if;
end if;
end process;
comp_next <= '0' when (unsigned(cntr_reg) = unsigned(cfg_data)-1) else
'1';
cntr_next <= std_logic_vector(unsigned(cntr_reg) + 1) when (comp_reg = '1') else
(others => '0') when (comp_reg = '0') else --reset
cntr_reg;
trig_next <= '1' when (unsigned(cntr_reg) = unsigned(cfg_data)-1) else
'0';
trig_o <= trig_reg;
end rtl;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment