|
Скорость блока больше скорости команды, Как получилось? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 23)
|
May 20 2005, 12:48
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(Serega Doc @ May 20 2005, 14:37) Произведено сравнение критических путей в Synplify. Для обоих блоков это один и тот же счетчик. Различия только в одной логической цепочке, но по количеству последовательно включенных лутов это то же количество. Вообще ничего не понимаю. Один и тот же счетчик а разницав скорости более 10 MHz А по репорту PAR какое соотношение между комбинаторными задержками в логике и задержками трассировки? Может быть в этих случаях есть большая разница в размещении, которая и приводит к таким различиям?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 20 2005, 14:23
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(Serega Doc @ May 20 2005, 16:54) Ну по квартусу в одних и тех же цепях есть различия во времени А синплифай не может точно определить время так как в проекте используются ЛПМ блоки. A->B T1=5.739 - весь блок T2=6.212 - часть блока (одна команда) T2-T1=0,473 ns И таких различий много Т. е. можно сделать вывод что падение частоты обусловлено другим размещением в кристале? Различия во времени могут быть вызваны другим размещением, т.к. при разном использовании кристалл PAR работает по-разному. Вы используете временные ограничения для проекта? Цитата Если применить LPM счетчик то скорость изменяся не должна? Все зависит от того, что за счетчик сделал синтезатор без LPM. Т.е. если он такой же, как и LPM, то скорость измениться не должна, а в противном случае изменится. PS: На время, определяемое Synplify, особенно ориентироваться не стоит, т.к. это "идеальное" время, в то время как реальное размещение на кристалле вносит в полученное Synplify значение существенные коррективы.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 21 2005, 14:09
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Во время синтеза самой сложной команды отдельно, Synplify рассматривает этот блок как единое целое и не уделяет его оптимизации достаточно внимания, если блок вписывается в констраины клока с большим запасом или заведомо не вписывается в них, тоже с большим запасом. Если же синтезировать все устройство целиком, то остальная часть устройства как более быстрая вынуждает синтезатор "подтягивать" скорость более медленного блока к стандартам более быстрой части, положительно влияя на результирующую частоту. Такое у меня возникло впечатление во время работы с этим синтезатором.
Теперь откуда берется более высокая скорость. Просто используются более быстрые роутинговые ресурсы в микросхеме. Сумматор, входящий в состав счетчика можно скомпоновать/развести по разному. Квартус всегда использует самые быстрые переносы для синтеза, Synplify, обычно, пытается с начала экономить и использует высокоскоростную реализацию только если это совершенно необходимо. Потому при синтезе Synplify в нетлисте больших перекосов по скорости обычно нет, тогда как Квартусом обычно получается самый быстрый проект, страдающий некоторой неравномерностью быстродействия блоков и ассинхронных путей.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
May 23 2005, 08:55
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108

|
Цитата(Serega Doc @ May 23 2005, 13:46) Хорошо теперь мне стало в общем понятно почему упала частота. Но проблема то осталась. Мне необходимо найти самые медленные цепи в моем блоке. Хотелось бы увидеть самую медленную цепь для каждой команды а не для блока в целом. Подскажите как лучше всего проводить данный анализ. 2 makc Временные ограничения автоматически передаются из Synplify Pro 8.0 в Quartus II 4.2 SP1. Я задавал 500 MHz. В Quartus II 4.2 SP1 я проверял этот параметр. Может смотреть по результатам моделирования?
|
|
|
|
|
May 23 2005, 11:59
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108

|
Цитата(Serega Doc @ May 23 2005, 18:34) Уважаемый Олл раскажите как вы решаете данную проблему. Не я же первый хочу в большом блоке отладить маленькую его часть по быстродействию. И как следствие повысить его тактовую частоту. Когда я хочу оптимизировать небольшую часть проекта, то длня нее помимо временных ограничений, я еще задаю топологические. Хотя потраченые усилия не всегда приводят к требуемому результату. Цитата А каким образом тут может помочь моделирование, которое основывается на тех данных о задержках, которые ему передал PAR? Смотреть по сигналам внутри блоков. На какие команды быстрее/медленее реагируют.
|
|
|
|
|
May 23 2005, 13:07
|

Гуру
     
Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553

|
Оптимизировать надо в первую очередь схему. Как я заметил, synplify, не всегда корректно воспринимает шаблоны. К примеру триггер с установкой, без асинхронного сброса делать на отрез отказывается. В разных версиях по разному интерпритирует типовые конструкции. Следовательно работу по оптимизации необходимо начинать с проверки корректности преобразования rtl->netlist и принимать соответствующие меры.
По поводу времени в синтезаторе и post place/route, да они отличаются, но это лишь косвенный показатель, данные времена связаны переменным масштабирующим коэффициентом.Улучшение временных характеристик в синтезаторе приведет к улучшению характеристик после разводки.
Основное, к чему необходимо стремиться - не давать синтезатору повода для внесения излишних оптимизаций. Эксперименты с настройками тактовой частоты, позволяют найти "резонансную" частоту схемы, при которой будет происходить наиболее эффективный синтез.
Применяйте структурно-поведенческий подход, с максимальной типизацией.Не следует смешивать функционально разные блоки в одном модуле.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|