Синтез проблема ..... Может кто поможет мне .................

A

akp494

Guest
Я использую индекса для доступа к определенным биты в регистр сдвига, как этот индекс изменения значений в зависимости от ряда условий.
В VHDL кусок кода выглядит так:
A <= р (PTR
1 downto PTR), где "А" состоит из двух битный вектор.

Когда я пытаюсь обобщить выше фрагмент кода, Synopsys DC говорит постоянно, как ожидается, в качестве индекса.

По моему мнению, сводный инструмент должен быть повышен до заключить такого рода реализаций.Здесь 'р' определяется, "A" определяется, а также "PTR" определен и, следовательно, этот инструмент не должен в идеале видим проблемы в реализации этого.

Позвольте мне пояснить эту проблему по-другому.

Предположим, у меня имеются следующие сигнал деклараций.Сигнал рег: std_logic_vector (15 downto 0);Сигнал PTR: целое;сигнал: std_logic_vector (1 downto 0);

Затем в какой-то место в коде, если я скажу,A <= р (PTR

1 downto PTR)Теперь, если я пытаюсь обобщить этот код с помощью DC он дает ошибку на вышеизложенное заявление с указанием следующих замечаний.

"А константы, как ожидается, индекс"Есть ли какие-либо работы вокруг этого??Есть ли проблемы с инструментом.

 
Вы можете использовать следующие способы, если PTR представляет собой 4-битный вектор

случае (PTR)
когда "0000" =>
A <= р (? downto?);
когда "0001" =>
A <= р (? downto?);
...
когда другие => ...
endcase

 
Здравствуйте Джаз
Я не хочу, чтобы протестировать все комбинации "PTR".Поскольку оно будет взорвать моем коде.Так есть ли способ инструмента можно признать такого рода индексации??

 
Вы можете попробовать БК или Synplify, потому что инструменты поддержки поведение синтеза.

 
Почему для синтеза поведение дизайн?

 
не надо обобщать поведенческие дизайн.
этого не будет пользы.

 
Вы смешивания с битами размеров.
это заблуждение, округ Колумбия.
Вы должны использовать точные размеры биты, которые вы будете использовать
В сдвиг обл.
Dont предоставить дополнительно.
И да, вы должны объявить все параметры (используйте fullcase / параллельного дела.)

Вы можете видеть сдвиг обл примеры на этом форуме / Интернет
удачи.

 
Кроме того, использование ЛИНТЕР перед переходом на DC.
Она также может помочь.

 
Вы не можете сделать это таким образом.Заметим, что <р = (PTR
1 downto PTR), означает, что физическая связь между А и р-он изменяется в зависимости от величины PTR.После того, как дизайн синтезировать эти физические связи стали постоянными.Вы хотите, чтобы это физическое соединение будет изменяться в режиме реального времени, когда устройство работает в который невозможно.В VHDL таким заявлением, используются только для статических целей, например, когда вы используете общий характер.Или, что вы можете сделать это: вы должны использовать мультиплексор между р и контроль потока данных между а и р-он, изменив выберите вклад в мультиплексор.

 

Welcome to EDABoard.com

Sponsor

Back
Top