Цитата(des00 @ Sep 18 2014, 19:22)

а вот писать оптимальный код под целевую архитектуру можно и нужно.
Не поделитесь примеров оптимизации под целевую архитектуру?
Мне казалось, либо ты пишешь оптимально (по частотке или по ресурсам - что тебе важнее), либо нет. Либо под оптимизацией под архитектуру Вы понимаете, что-то относительно низкоуровневое, а ля 6-входовый LUT у Stratix'a, а у Cyclone он 4-х входый? Либо что-то более высокоуровневое?
Цитата
Ну собственно под "врукопашную" я имел ввиду активное использование LogicLock (что вообще мне всегда казалось не правильным).
Если фиттер пути внутри одного модуля (либо одного какого-то логического блока) распихивает по разным углам, то скорее всего LogicLock вам может помочь. Выделяете квадратик где хотите хоть расположить этот блок - и он его туда упихает. Однако другие куски могут стать хуже.
Цитата
Конвейризация поможет, но я ограничен по латентности, и пихать регистры без меры тоже не могу.
Может Вам и одного регистра хватит?
Еще можно глянуть на то, что занимает много ресурсов (мало ли, какие-то мультиплексоры неоптимально сделаны) - и сократить ресурсы там, высвободив ресурсы на дублирование логики для улучшения частотки.
Сообщение отредактировал johan - Sep 18 2014, 21:05