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

Невозможность считывания выходов entity в VHDL

Всегда делал примерно так:

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity COUNTER is
    port(
        RESET    : in std_logic;
        CLOCK    : in std_logic;
        COUNT    : out std_logic_vector(7 downto 0)
        );
end COUNTER;

architecture Behavioral of COUNTER is
    
    signal COUNT_INT    : std_logic_vector(7 downto 0);
    
begin
    
    PR_COUNT: process(CLOCK)
    begin
        if CLOCK'event and CLOCK = '1' then
            if RESET = '1' then
                COUNT_INT <= (others => '0');
            else
                COUNT_INT <= COUNT_INT + 1;
            end if;
        end if;
    end process;
                COUNT <= COUNT_INT;
    
end Behavioral;

Но проекты усложняются, и уже нет сил заниматься этим идиотизмом. Использовать порты типа buffer не рекомендуется.

Может быть делать примерно так:

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity COUNTER is
    port(
        RESET    : in std_logic;
        CLOCK    : in std_logic;
        COUNT    : inout std_logic_vector(7 downto 0)
        );
end COUNTER;

architecture Behavioral of COUNTER is
    
begin
    
    PR_COUNT: process(CLOCK)
    begin
        if CLOCK'event and CLOCK = '1' then
            if RESET = '1' then
                COUNT <= (others => '0');
            else
                COUNT <= COUNT + 1;
            end if;
        end if;
    end process;
    
end Behavioral;

?

Смущает, что по сути port COUNT - это in, а не inout :crying:

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


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

Делайте так, как делали всегда. Не нужно ничего выдумывать, да и выдумать-то ничего не удастся.

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


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

ждите окончательного принятия VHDL-2007 и его поддержки в симуляторах, синтезаторах.

Или переходите на систем/пьюре верилог!

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...