Светодиод с выбираемым источником для поиска обрыва тракта
Генерик LED_SRC переключает индикацию между стробами ФНЧ, CIC и PDM. По умолчанию рабочий режим, поведение не меняется.
This commit is contained in:
+12
-2
@@ -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
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user