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

Вопрос по ModelSim

Непонятная ситуация.

Описываю счетчик

SIGNAL c : STD_LOGIC_VECTOR (7 downto 0).

а инкремент счетчика - c<=c +'1';

Вродебы правильно.

Но симулятор выдает предупреждение -

# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).

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


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

Дело не в кавычках. Что у вас на входе висит? 'z'&'1'='x'.

Еще можно нну выставить правильные.

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


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

LIBRARY ieee;

USE ieee.std_logic_1164.all;

USE ieee.std_logic_unsigned.all;

USE ieee.std_logic_arith.all;

 

ENTITY count IS

port (

en : in std_logic;

q : out std_logic_vector (7 downto 0);

clk : in std_logic

);

 

 

END ENTITY count;

 

ARCHITECTURE struct OF count IS

signal count : std_logic_vector (7 downto 0 );

 

 

BEGIN

 

process (clk)

begin

if en = '1' then

if (clk'event and clk = '1') then

count <= count +1;

end if;

end if;

 

end process;

q<=count;

 

END ARCHITECTURE struct;

 

Компонент простой, как грабли. Что то с установками в ModelSim наверное.

Я толко недавно начал его изучать.

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


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

Вся проблема в том, что значение count в теле архитектуры не инициализировано, т.е. содержит значение X. Для того, чтобы все было хорошо достаточно будет написать

signal count : std_logic_vector (7 downto 0 ) := (others => '0');

 

И все будет нормально. Но вообще, нужно предусмотреть сигнал ресета, по которому схема переходит в предопределенное правильное состояние.

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


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

Спасибо за помощь. Разобрался. Нужно было предопределить значение шины.

 

Совершенно верно. Но еще лучше предусмотреть ресет. ;) Желательно синхронный. :)

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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