реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Минимизация задержек при имплементации проекта в ПЛИС, кто как решает эту проблему?
Camelot
сообщение Apr 28 2006, 10:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



Доброе всем время суток!
Написал проект, работает, захотел повысить тактовую частоту, возникла проблема
со слеками (задержки в комбинационных схемах, логики и т.д.). И тут хотелось бы
услышать мнение профессионалов, кто как с этим борется. В данном случае использую
Xilinx ISE, но думаю чтото можно еще изменить на стадии проектирования (написания кода).
Хотя больше интересует как в ISE посмотреть максимальную цепочку, как это к примеру делается
в Sinplify. Буду благодарен за любой совет
Go to the top of the page
 
+Quote Post
Zig
сообщение Apr 28 2006, 12:53
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 30-12-04
Пользователь №: 1 761



Цитата(Camelot @ Apr 28 2006, 14:55) *
Доброе всем время суток!
Написал проект, работает, захотел повысить тактовую частоту, возникла проблема
со слеками (задержки в комбинационных схемах, логики и т.д.). И тут хотелось бы
услышать мнение профессионалов, кто как с этим борется. В данном случае использую
Xilinx ISE, но думаю чтото можно еще изменить на стадии проектирования (написания кода).
Хотя больше интересует как в ISE посмотреть максимальную цепочку, как это к примеру делается
в Sinplify. Буду благодарен за любой совет


Обычные действия такие:
1. Настройка ПО (в данном случае ISE) на соответствующий уровень (плохие алгоритмы - быстро разводится, но плохо по быстродействию; хорошие алгоритмы - долго разводит, лучше по быстродействию). Настройка ПО на многопроходную трассировку.
2. Использование временных и топологических ограничений.
3. Расстановка критичных элементов вручную.
4. Деление схемы на подсхемы (модули) - организация конвейров.

Всё это подробно описано в документации на тот же ISE.
Go to the top of the page
 
+Quote Post
kilgor
сообщение Apr 28 2006, 15:41
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 38
Регистрация: 3-06-05
Пользователь №: 5 699



1. Стараться использовать промежуточные регистры для частей функций (т.е. конвеезировать)
2. Использовать Simplify - он умеет сам делать этот самый конвеер для вашего кода.
3. Ну и конечно стараться объяснить ПО чего вы от него хотите
Go to the top of the page
 
+Quote Post
Gate
сообщение Apr 28 2006, 16:22
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(kilgor @ Apr 28 2006, 19:41) *
2. Использовать Simplify - он умеет сам делать этот самый конвеер для вашего кода.

Увы, сам synplify этого не сделает. А если бы он умел это делать, мы были бы безработными sad.gif


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 29 2006, 09:10
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gate @ Apr 28 2006, 11:22) *
Цитата(kilgor @ Apr 28 2006, 19:41) *

2. Использовать Simplify - он умеет сам делать этот самый конвеер для вашего кода.

Увы, сам synplify этого не сделает. А если бы он умел это делать, мы были бы безработными sad.gif


А что бы было если бы он еще мог бы и неявные стейт машины генерить (процесс со множеством wait), ажно подумать страшно, по похоже что Celoxica с Agility Compiler это скоро до ума доведет и подадимся в си программисты sad.gif


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016