Светодиод с выбираемым источником для поиска обрыва тракта

Генерик LED_SRC переключает индикацию между стробами ФНЧ, CIC и PDM.
По умолчанию рабочий режим, поведение не меняется.
This commit is contained in:
nikit3s
2026-08-17 17:42:42 +03:00
parent d3ec80b461
commit 4aa221105a
+12 -2
View File
@@ -21,7 +21,11 @@ use ieee.numeric_std.all;
entity Top is entity Top is
generic ( generic (
SYS_CLK_HZ : integer := 50_000_000; SYS_CLK_HZ : integer := 50_000_000;
BAUD_RATE : integer := 921600 BAUD_RATE : integer := 921600;
-- Что считает светодиод: 0 -- отсчёты ФНЧ (рабочий режим), 1 -- отсчёты
-- CIC, 2 -- биты PDM. Быстрое мерцание значит, что выбранный строб живой,
-- так обрыв тракта находится перебором без осциллографа внутри кристалла.
LED_SRC : integer := 0
); );
port ( port (
clk : in std_logic; clk : in std_logic;
@@ -67,10 +71,16 @@ architecture Behavioral of Top is
signal uart_data : std_logic_vector(7 downto 0); signal uart_data : std_logic_vector(7 downto 0);
signal uart_busy : std_logic; signal uart_busy : std_logic;
signal led_event : std_logic;
begin begin
rst_n <= '1'; rst_n <= '1';
led_event <= pdm_valid when LED_SRC = 2 else
cic_valid when LED_SRC = 1 else
fir_valid;
pdm_rx_inst : entity work.pdm_rx(rtl) pdm_rx_inst : entity work.pdm_rx(rtl)
generic map( generic map(
CLK_DIV => PDM_DIV, CLK_DIV => PDM_DIV,
@@ -194,7 +204,7 @@ begin
port map port map
( (
clk => clk, clk => clk,
data_event => fir_valid, data_event => led_event,
led => LED led => LED
); );