2015-04-30 2 views
0

В моем коде я определяю этот вектор:0 до 8 может быть вне диапазона приставки 1 до 8 - VHDL

Data: in std_logic_vector(1 to 8); 

Так у меня есть вход 0: 7 и я решить проблему встречной когда он достигнет 0. Но мой синтезатор дать мне это предупреждение:

значение индекса 0 до 8 может быть вне диапазона приставкой 1 до 8

это может привести к ошибкам? или он просто предупреждает, что если я использую индекс 0, можно создать ошибки?

+0

Пожалуйста, добавьте больше кода, чтобы мы могли точно видеть, что вы сделали. –

+2

Пожалуйста, закройте некоторые вопросы, которые вы задали, выбрав «принятый ответ», прежде чем задавать больше вопросов. Вы задали 15 вопросов, большинство из них с ответами, ни один из них не принимался. См. Справку: http://stackoverflow.com/help/accepted-answer –

+0

@ Drolet Done, спасибо. – Yaro

ответ

1

Похоже, вы индексируете свой вектор со значением, которое имеет 9 значений в своем диапазоне (например, signal index : integer range 0 to 8), но ваш вектор имеет только 8 значений (так что вам нужно signal index : integer range 1 to 8). Если вы разместите код, в котором используете in, и объявления для любых сигналов/значений, участвующих в индексировании, мы можем предоставить более подробную информацию.

+0

Да, я сделал это. Это мой счетчик «signal Counter: целочисленный диапазон от 0 до 8: = 8;» но я никогда не присваиваю значение «0» данным (счетчику); Это может быть проблемой? – Yaro

+0

Да, вот что я говорю. Если ваш вектор имеет диапазон от 1 до 8, ваш индекс ('counter') * должен * иметь соответствующий диапазон. – QuantumRipple

Смежные вопросы