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

 
 
> как повысить быстродействие?, отчёт STA
_Anatoliy
сообщение Dec 20 2008, 14:50
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Доброго времени суток.Квартус 8.0,Циклон3.На ЦАП нужно выводить отсчёты 12 бит со скоростью 220Msps.STA сообщает что Fmax = 178МГц и соответственно выводит картинку:
Прикрепленное изображение

Slack минусовый.
Видно что довольно большое время занимает Clock delay, вот бы его уменьшить...Как? wink.gif

В файле .sdc клок описал.Фаст аутпут применил(без него вообще было Fmax 90МГц).
set_output_delay 1.00 -clock [get_clocks ClockDac] [get_ports DataDac[*]]

Коллеги,можете что посоветовать?

Интересно,у кого какие результаты были по максимальной выходной скорости.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
murmel1
сообщение Dec 20 2008, 20:00
Сообщение #2


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

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Я немного отстаю от прогресса и до Квартуса 8 (у самого 7.2 sp3) еще не добрался. STA тоже пока пользоваться не умею, но кое-чем поделюсь.
На циклоне 3 можно запросто и 400 мегабит в секунду получить, а 240 я получал еще на первых циклонах (ПЛИС->ПЛИС), правда это потребовало некоторого изучения вопроса. Вот мои наблюдения:
1) Управление настройками выходных буферов и подобными вещами - вобще не стоит трогать, пока 100% не будете знать, что они вам нужны. Пусть Fitter разбирается с столь низкоуровневыми вещами. Ручной перебор их неактуален - ждешь полчаса результаты компиляции, а включение режимов может и не исправить ситуации.
2) У Вас, однозначно, проблема не в Fmax, а в том что Tco передатчика (ПЛИС) не соответствует Tsu приемника
3) Самое главное для достижения нужных Tsu, Tco, Th - это посчитать какие времена нужны и установить их в assigment editor. Не забудьте так же Minimal Tsu, Th, Tco. Фиттер запросто крутит их в пределах примерно 10 нс. Только в сложных условиях (многобитные шины, особенно раскиданые по банкам) ему не удается достигать заданных требований.

В вашем случае, если я правильно понял картинку, tsu у приемника 1 нс, а период - 4,62 нс. В этом случае вам максимальное tco (или просто tco) нужно не больше 3,62 нс. Делаем запас 0,5 нс, получаем, что необходимо задать assigment "tco" 3,12 нс. Зададим еще minimum tco, чтобы данные не менялись слишком быстро после тактового фронта. Minimum tco должно быть больше Th приемника, но какое оно по картинке не ясно. Обычно я ставлю окно порядка 25% периода. Если ставить слишком маленькое окно фиттер слишком долго мучается а потом говорит, что не удалось выполнить требования.
Итого:
tco - 3,12 нс,
Minimum Tco - 2,12 нс.

В некоторых случаях, особенно быстрых требований можно ставить tco "через период". То есть, в данном случае поставить 3,12 + 4,62 = 7,74 нс. Но это так, для информации, должно работать и так.

Еще для скоростей больше 200 МГц можно использовать режим DDR (функции ALT_DDIO мегавизарда)

А как задать эти времена для анализа в STA я не знаю (еще не сталкивался), читайте мануалы !

Сообщение отредактировал murmel1 - Dec 20 2008, 20:06
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Dec 22 2008, 08:46
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(murmel1 @ Dec 20 2008, 22:00) *
3) Самое главное для достижения нужных Tsu, Tco, Th - это посчитать какие времена нужны и установить их в assigment editor.


Спасибо!Честно говоря не понял.Ну изменяю я параметры Tsu, Tco, Th - на картинке они меняются,но от этого не легче т.к. время задержки 5.6нс между Launch Clock и Data Arrival не изменяется.

Цитата(slawikg @ Dec 20 2008, 22:00) *


Спасибо.Добавление -add_delay никак не сказалось на результате.

Цитата(des00 @ Dec 20 2008, 22:00) *

Спасибо!
Да,ошибся я малость с Tsu,нужно не 1нс а 2нс.
Клок ClockDac формируется в ЦАПе(это не совсем ЦАП,а up-converter) и подаётся на вход ПЛИС.


Цитата(des00 @ Dec 20 2008, 22:00) *
2. Вы не сказали находятся ли у вас выходные регистры в IO ячейках или нет.

Сказал,возможно криво.(Фаст аутпут применил(без него вообще было Fmax 90МГц))
Попробовал добавить строки:
вместо #set_output_delay 2.00 -add_delay -clock [get_clocks ClockDac] [get_ports DataDac[*]]
написал
#specify the maximum external clock delay to the FPGA
set CLKs_max 0.200
#specify the minimum external clock delay to the FPGA
set CLKs_min 0.100
#specify the maximum external clock delay to the external device
set CLKd_max 0.200
#specify the minimum external clock delay to the external device
set CLKd_min 0.100
#specify the maximum setup time of the external device
set tSU 2.500
#specify the minimum setup time of the external device
set tH 2.000
#specify the maximum board delay
set BD_max 0.180
#specify the minimum board delay
set BD_min 0.120
#create the associated virtual input clock
create_clock -period 4.620 -name virt_sys_clk
set_output_delay -clock virt_sys_clk \
-max [expr $CLKs_max + $BD_max - $tSU - $CLKd_min] [get_ports {DataDac[*]}]
set_output_delay -clock virt_sys_clk \
-min [expr $CLKs_min + $BD_min - $tH - $CLKd_max] \
[get_ports {DataDac[*]}]
а так же
# Apply a 2ns max delay for an output port (TCO)
set_max_delay -from [get_registers *] -to [get_ports DataDac[*]] 2.000

картинка получилась такой:
Прикрепленное изображение


Стало ещё непонятней,а Data Arrival не изменилось.
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 22 2008, 09:16
Сообщение #4


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

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



Цитата(_Anatoliy @ Dec 22 2008, 03:46) *
Стало ещё непонятней,а Data Arrival не изменилось.


такс, отставить панику, надо разложить все по полочкам.

Про регистры понятно, не заметил %)

Судя по вашим констрейнам вы используете схему запитки DAC клоком как в Figure 1–9. Chip-to-Chip Design, выше указанного документа. Это так ?

Кстати в этом документе есть ошибка я о ней уже писал, вы ее тоже совершили smile.gif http://electronix.ru/forum/index.php?act=S...f=5&t=52323 см. пост #12

Клок логики выходного сигнала на DAC пропущен через PLL ? Если да то в каком режиме стоит PLL? дает ли она сдвиг по фазе ?

Что именно у вас падает Tsu/Th ? приведите на картинке WaveForm и отчеты Path для обоих случаев. Хочется посмотреть через что у вас идет сигнал.


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Dec 22 2008, 09:40
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Dec 22 2008, 11:16) *
Судя по вашим констрейнам вы используете схему запитки DAC клоком как в Figure 1–9. Chip-to-Chip Design, выше указанного документа. Это так ?


Не понял, о каком документе речь.В mnl-sdctmq.pdf фигур нет.

Цитата(des00 @ Dec 22 2008, 11:16) *
Кстати в этом документе есть ошибка я о ней уже писал, вы ее тоже совершили smile.gif http://electronix.ru/forum/index.php?act=S...f=5&t=52323 см. пост #12


Понял,спасибо исправил.Копи-паст подводит...

Цитата(des00 @ Dec 22 2008, 11:16) *
Клок логики выходного сигнала на DAC пропущен через PLL ? Если да то в каком режиме стоит PLL? дает ли она сдвиг по фазе ?

Нет,ФАПЧ не задействуется,прямо с входной ножки используется.
Цитата(des00 @ Dec 22 2008, 11:16) *
Что именно у вас падает Tsu/Th ? приведите на картинке WaveForm и отчеты Path для обоих случаев. Хочется посмотреть через что у вас идет сигнал.


Падает Tsu. С Th всё в норме.
После корректировки по пост #12 слак увеличился: wacko.gif
Прикрепленное изображение

Прикрепленное изображение
Go to the top of the page
 
+Quote Post



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

 


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


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