Перейти к содержанию

    

Quartus 13.1 ругается. Design contains 1 input pin(s) that do not drive logic

Казалось бы простейший модуль, где совершить ошибку просто негде:

library ieee;
    use ieee.std_logic_1164.all;

entity pattern_detector is
    port
    (
        clk                     : in  std_logic;                           
        analyse_data            : in  std_logic_vector(9 downto 0);        -- данные для анализа
        pattern_found           : out std_logic                            -- Флаг найденного тестового паттерна
    );
end entity;

architecture RTL of pattern_detector is
    constant pattern0       : std_logic_vector(9 downto 0) := "1101010100";  -- тестовое слово   
    constant pattern1       : std_logic_vector(9 downto 0) := "0010101011";  -- тестовое слово  
    constant pattern2       : std_logic_vector(9 downto 0) := "0101010100";  -- тестовое слово 
    constant pattern3       : std_logic_vector(9 downto 0) := "1010101011";  -- тестовое слово 
begin

    --=====================================================================
    -- Процесс анализирования тестовых слов
    --=====================================================================
    pattern_detector_proc : process(clk)
    begin
        if (rising_edge(clk)) then
            case analyse_data is                   
                when pattern0 => pattern_found <= '1';
                when pattern1 => pattern_found <= '1';
                when pattern2 => pattern_found <= '1';
                when pattern3 => pattern_found <= '1';
                when others   => pattern_found <= '0';
            end case;
        end if;
    end process;
end architecture;

 

Однако Quartus ругается на то, что в проекте у меня есть неиспользуемые входы:

Warning (21074): Design contains 1 input pin(s) that do not drive logic

Warning (15610): No output dependent on input pin "analyse_data[9]"

Я понимаю, что я совсем ничего не понимаю. Почему analyse_data[9] никак не используется то ?

 

 

Хм...

А действительно. Я сейчас обратил внимание на сами тестовые слова. И оказывается, что действительно старший бит в сравнении не участвует, и его можно выкинуть.

 

1_101010100
0_101010100

0_010101011
1_010101011

 

Тему можно закрывать.

Хотя, сама формулировака warninga по мне так не очень корректная...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, видимо логическая функция минимизируется таким образом, что действительно analyse_data[9] не влияет на результат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация