Я пытаюсь MONITER состояние этой переменной:Есть ли способ показать переменные в ISim?
shared variable Div16 : integer := 0;
Но я ПОЛУЧАТЬ эту ошибку в Isim:
Isim еще не поддерживает отслеживание VHDL переменных.
Можно ли преобразовать переменную в сигнал в файле testbench? Или есть ли другой способ показать это значение, изменяющееся как сигнал?
Полный код:
entity MAIN_UART is
generic (
DIVISOR: natural := 120 -- DIVISOR = 50,000,000/(16 x BAUD_RATE)
-- 9600 -> 120
-- 19200 -> 60
);
port (
CLK: in std_logic; -- clock
RST: in std_logic -- reset
);
end MAIN_UART;
architecture Behavioral of MAIN_UART is
signal Top16: std_logic; -- 1 clk spike at 16x baud rate
shared variable Div16 : integer := 0;
-- constant COUNTER_BITS : natural := integer(ceil(log2(real(DIVISOR))));
begin
-- --------------------------
-- Clk16 Clock Generation
-- --------------------------
process (RST, CLK)
begin
if RST='1' then
Top16 <= '0'; --good
Div16 := 0;
elsif rising_edge(CLK) then
Top16 <= '0';
if Div16 = Divisor then
Div16 := 0;
Top16 <= '1'; --good
else
Div16 := Div16 + 1;
end if;
end if;
end process;
end Behavioral;
Вы должны объявить переменную в процессе, поэтому не нужно объявлять ее как общую. – Paebbels