заставить инструмент синтеза ISE синтезировать сигнал

В Xilinx ISE (с использованием языка VHDL) я определил эти сигналы:

signal  counter  : integer range 0 to 24_000_000;
signal  chTriger : std_logic :='0';

и написали следующий код:

process_counter: process(clk)
begin 
  if ( clk'event and clk = '1') then
    if (counter < 8192) then
        counter  <= counter + 1;
        chTriger <= not chTriger;
    end if;
  end if;
end process process_counter;`

В меню выбора сети ChipScope нет ни сигнала counter, ни сигнала chTriger из-за оптимизации.
Как заставить инструмент синтеза ISE синтезировать сигнал?


person Reflection    schedule 28.01.2019    source источник


Ответы (2)


Прочтите руководство по ограничениям Xilinx здесь, особенно ограничения синтеза. Есть один, который называется "ДЕРЖАТЬ".

В общем, это очень полезный документ для просмотра, хотя бы для того, чтобы иметь представление о том, что вы можете (и не можете) делать.

person Oldfart    schedule 28.01.2019
comment
идеальный ответ на мою проблему: forums.xilinx.com/t5/Synthesis/ - person Reflection; 29.01.2019
comment
Вы также должны установить сохранение иерархии на soft или rebuilt в параметрах синтеза. - person Paebbels; 29.01.2019

Выход chTriger на внешний вывод на FPGA. Тогда его нельзя оптимизировать.

А так как chTriger зависит от counter, то и counter не будет оптимизирован.

person Rodney    schedule 28.01.2019
comment
Я сделал это, но в чип-прицеле не произошло триггера! кроме того, я хочу реализовать много сигналов в области чипа, и невозможно определить каждый из них как выход. - person Reflection; 28.01.2019
comment
выводить пины, которые нужны для отладки, на выход - плохая идея. Во многих случаях вам может не хватить пинов, поэтому мы используем ChipScope вместо настоящего логического анализатора. Это оказывает огромное влияние на синхронизацию сигнала. - person Paebbels; 29.01.2019
comment
Из вопроса не ясно, что это сигнал только для отладки - весь counter оптимизировался, что означает, что его вывод в настоящее время еще не связан ни с чем значимым - это также окажет огромное влияние на время. Если то, что counter будет управлять, еще не реализовано, то может быть полезно вместо этого временно управлять тестовой точкой - это может быть или не быть полезным в этом случае, но недостаточно информации, чтобы судить об этом. (И при правильном ограничении любые проблемы с синхронизацией должны проявляться в анализе статической синхронизации). - person Rodney; 30.01.2019
comment
(просто для ясности - я согласен с принятым ответом) - person Rodney; 30.01.2019