|
умножение частоты, как сделать |
|
|
|
Feb 25 2014, 06:43
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(SM @ Feb 25 2014, 10:15)  Это почему не удастся? Если грамотно все делать, то все удастся, любому синтезатору/мапперу можно указать, что нельзя оптимизировать. Только, конечно, решение "сопливое", но имеющее право на существование. Согласен. А можно ли синтезатору задать точное время задержки?! Скорее всего нет. Возможно я ошибаюсь. Но я хочу сказать, что запретить отимизацию можно, а вот точно быть уверенным в том, что он будет при каждой перекомпиляции пользоваться все теме же ресурсами плис мне кажется нельзя. Допустим, первый раз он разведет используя n - ячеек в k-ом блоке ПЛИС, а после того как в проект что-то добавят трассировщик решит переразвести топологию ПЛИС уже используя те же ресурсы кристалла но в другом блоке (месте). В результате задержка может остаться неизменной, а может поменяться. Как повезет выходит. КСТАТИ!=)) Наверняка можно пользоваться ручным размещением блоков в топологии. На подобие того что PlanaHead у Xilinx предлогает. В общем точно, сопливо и по радиолюбительски=)))
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
Feb 25 2014, 07:04
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Dmitriyspb @ Feb 25 2014, 10:43)  А можно ли синтезатору задать точное время задержки?! Чаще можно, реже нельзя (в ISE, например, нельзя, а в Diamond, или во всех asic-средах - можно), и не точное, а диапазон MIN...MAX, так как оно меняется от разных условий PVT. Это констрейны называется, set_max_delay, set_min_delay MAXDELAY с опцией MIN, т.п. Насчет конкретно актеля я не в курсе (поверхностное гугление говорит, что вроде можно, там SDC)...
|
|
|
|
|
Feb 25 2014, 07:32
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(SM @ Feb 25 2014, 11:04)  Чаще можно, реже нельзя (в ISE, например, нельзя, а в Diamond, или во всех asic-средах - можно), и не точное, а диапазон MIN...MAX, так как оно меняется от разных условий PVT. Это констрейны называется, set_max_delay, set_min_delay MAXDELAY с опцией MIN, т.п. Насчет конкретно актеля я не в курсе (поверхностное гугление говорит, что вроде можно, там SDC)... Я сужу о всем тут происходящем с точки зрения Xilinx. =)) Наверное поэтому такой подход показался странным..
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
Feb 25 2014, 07:47
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Dmitriyspb @ Feb 25 2014, 11:32)  Наверное поэтому такой подход показался странным.. Кстати, по идее, достаточно задать только MIN DELAY и MAX DELAY по обоим путям до XOR, а задержку обеспечит уже разводчик сам, ведь тут не важно, как он ее обеспечит (пустив трассу по кругу вокруг кристалла, или понавстявляв буферов), важно чтобы она была.
|
|
|
|
|
Feb 25 2014, 08:06
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(SM @ Feb 25 2014, 11:47)  Кстати, по идее, достаточно задать только MIN DELAY и MAX DELAY по обоим путям до XOR, а задержку обеспечит уже разводчик сам, ведь тут не важно, как он ее обеспечит (пустив трассу по кругу вокруг кристалла, или понавстявляв буферов), важно чтобы она была. Согласен. Вот только что по этому поводу думает автор темы?
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
Feb 25 2014, 09:20
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424

|
Цитата(SM @ Feb 25 2014, 11:04)  Чаще можно, реже нельзя (в ISE, например, нельзя, а в Diamond, или во всех asic-средах - можно), и не точное, а диапазон MIN...MAX, так как оно меняется от разных условий PVT. Это констрейны называется, set_max_delay, set_min_delay MAXDELAY с опцией MIN, т.п. Насчет конкретно актеля я не в курсе (поверхностное гугление говорит, что вроде можно, там SDC)... ...задать-то можно (в смысле команды есть для этого), вот только не факт, что тулза выполнять будет.... MIN...MAX - обычно игнорится оптимизатором (точнее, становится очень низкоприоритетным), а вот только MIN или MAX - есчё может и выполнить... В этом случае, более-менее стабильно-воспроизводимый результат возможен только при ручной трасировке. Насколько это переносимое решение - не знаю... Но даже и в этом случае, генератор на буферах будет иметь плохие характеристики особенно в диапазоне PVT...
|
|
|
|
|
Feb 25 2014, 09:29
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Torpeda @ Feb 25 2014, 13:20)  ...задать-то можно (в смысле команды есть для этого), вот только не факт, что тулза выполнять будет.... MIN...MAX - обычно игнорится оптимизатором (точнее, становится очень низкоприоритетным), а вот только MIN или MAX - есчё может и выполнить... Да в том и дело, что в ISE нельзя, там минимум можно задать только для холда входного синхронного сигнала, а для внутренних путей, и даже для выходного - нельзя. А в Diamond, например, без проблем, и роутер именно исполняет эти констрейны на этапе оптимизации холдов (специально тестовый проект даже сваял, так как самому интересно).
|
|
|
|
|
Feb 27 2014, 04:34
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498

|
Цитата(Corner @ Feb 26 2014, 19:02)  Ограничения среды можно обойти через выводы ПЛИС, если задержку реализовать снаружи через RC-цепочку. Два пина и XOR между ними. Годится для частот на которых задержка в пинах меньше половины требуемой. Очень сомнительная стабильность будет у такого умножителя. Если уж вешать к пинам что-то, тогда проще генератор подвесить с нужной частотой=))
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|