Quartus: стробирование часов с включением часов / многоцикл: разветвление сигнала ENA - PullRequest
0 голосов
/ 23 октября 2018

У меня есть схема стробирования тактовых импульсов, позволяющая установить несколько тактовых циклов для комбинаторной логики.

Для этого существует генератор импульсов, который выдает импульс на каждом n-м тактовом цикле, который долженбыть подключенным к каждому входу ENA соответствующих регистров.

После синтеза программа просмотра технологии Quartus RTL показывает правильный синтез цепи (см. изображение, включение часов выделено красным).Это глобальное дерево включения.

Синтез RTL

Поэтому мой код VHDL интерпретируется правильно.

Однако средство просмотра технологии показывает, чтосигнал разрешения не подключен напрямую к каждому из регистров. Вход разрешения в каждом случае (псевдо-сигнал разрешения, генерируемый гребенчатой ​​логикой, отмеченной красным).

Просмотрщик технологий

Я понимаючто это поведение не обязательно является неисправным и может быть связано с оптимизацией.

Тем не менее:

Я хочу прямое разветвление моего «глобального» сигнала разрешения синхронизации на все затронутые регистры ENAвход.Можно ли каким-то образом заставить Quartus сделать это?

Это особенно увеличило бы надежность моих временных ограничений;

, если существует прямое разветвление ENA, можно использоватьмногоцикловое ограничение этого стиля:

set_multicycle_path 6 -to [get_fanouts [get_pins <pulse generator output reg>] -through [get_pins -hierarchical *|*ena]] -end 
-setupset_multicycle_path 5 -to [get_fanouts [get_pins <pulse generator output reg>] -through [get_pins -hierarchical *|*ena]] -end -hold

т.е. рекурсивно найдены затронутые регистры.

Примечание: я не использую стробирование часов в том смысле, что на мои системные часы влияют любые комбинаторныелогика;мои системные часы напрямую связаны со всеми регистрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...