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

 
 
> умножение частоты, как сделать
gethan
сообщение Feb 23 2014, 19:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Всем привет! Может это покажется многим легким, но подскажите,как реализовать (или где прочесть) умножение частоты? подразумевается,что необходимо получить, скажем частоту в два раза большую,чем тактовая.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
garlands
сообщение Feb 23 2014, 21:29
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 364
Регистрация: 15-04-08
Из: UA
Пользователь №: 36 798



PLL
Go to the top of the page
 
+Quote Post
gethan
сообщение Feb 24 2014, 04:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Цитата(garlands @ Feb 24 2014, 01:29) *

Спасибо большое! Есть ли способ написания отдельного блока,выполняющего функцию PLL, но на логических элементах ПЛИС?)
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 24 2014, 05:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Есть, если ГУН и фильтр ФАПЧ снаружи поставить. Или частоты у Вас настолько низкие, что можно обойтись ЦФАПЧ на базе DDS, и есть лишняя быстрая частота.
Go to the top of the page
 
+Quote Post
gethan
сообщение Feb 24 2014, 05:16
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Цитата(SM @ Feb 24 2014, 09:08) *
Есть, если ГУН и фильтр ФАПЧ снаружи поставить. Или частоты у Вас настолько низкие, что можно обойтись ЦФАПЧ на базе DDS, и есть лишняя быстрая частота.

А если всего это нет, то и не получится что ли? Нельзя описать процесс, который увеличивает частоту?((
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 24 2014, 05:26
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(gethan @ Feb 24 2014, 09:16) *
Нельзя описать процесс, который увеличивает частоту?((


Можно, на базе задержек, формируемых на логических элементах/ячейках, описав схему, делающую операцию XOR с прямым и задержанным сигналом. Но это "сопливое" решение, требующее жесткого задания временнЫх ограничений на внутренние пути (что далеко не во всех средах можно адекватно задать), и дающее сигнал со скважностью, далекой от двух.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 24 2014, 05:35
Сообщение #7


Местный
***

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



Цитата(gethan @ Feb 24 2014, 09:16) *
А если всего это нет, то и не получится что ли? Нельзя описать процесс, который увеличивает частоту?((


Вообще, если вы интересуетесь этим для реализации какой-то задачи, тогда PLL. Он для этого и нужен!!!!
А если говорить об извращениях, тогда можно уменьшить период дискретизации путем тактирования устройства как + так и - фронтами тактов.
Ну это все странно как-то.
Для чего вам нужно умножить частоту в ПЛИС не прибегая к поможи PLL?


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
gethan
сообщение Feb 24 2014, 09:37
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Работаю с АРА300,нет возможности использовать доп девайсы для PLL ((нужно сделать именно внутри плис!Подскажите, для элемента задержки подойдет ли использование нескольких "И-НЕ"?

Цитата(SM @ Feb 24 2014, 09:26) *
Но это "сопливое" решение, требующее жесткого задания временнЫх ограничений на внутренние пути (что далеко не во всех средах можно адекватно задать), и дающее сигнал со скважностью, далекой от двух.

А насколько скважность далека от двух? Правильно ли то,что второй сигнал нужно задержать на четверть периода?)спасибоsm.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 24 2014, 09:40
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(gethan @ Feb 24 2014, 13:37) *
Работаю с АРА300,нет возможности использовать доп девайсы для PLL ((нужно сделать именно внутри плис!Подскажите, для элемента задержки подойдет ли использование нескольких "И-НЕ"?

Насколько я помню, оптимизатор такие вещи безжалостно выкидывает.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
gethan
сообщение Feb 24 2014, 10:42
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Цитата(MrYuran @ Feb 24 2014, 13:40) *
Насколько я помню, оптимизатор такие вещи безжалостно выкидывает.

А как тогда быть?(
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 24 2014, 10:53
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(gethan @ Feb 24 2014, 13:37) *
Работаю с АРА300,нет возможности использовать доп девайсы для PLL ((нужно сделать именно внутри плис!Подскажите, для элемента задержки подойдет ли использование нескольких "И-НЕ"?

Все равно, какие элементы, лишь бы синтезатор их оставил, преобразовав в физическую ячейку ПЛИС, а для этого надо указать какие то атрибуты, смотрите сами, я не знаю как это сделать для конкретного Вашего семейства. Какие нибудь там syn_keep, syn_preserve, и т.п., а лучше вообще сразу примитивы из библиотеки ставить, которые, как черные ящики, не подлежат выкидыванию синтезатором априори.

Цитата(gethan @ Feb 24 2014, 13:37) *
А насколько скважность далека от двух? Правильно ли то,что второй сигнал нужно задержать на четверть периода?)спасибоsm.gif

На столько, на сколько сделаете... Как правило, очень далеко, потому что сигнал не удается разумным количеством ячеек ПЛИС задержать на четверть периода. Ну а достаточно задержать на сколько то, сколько даст длительность импульсов, большую или равную минимально допустимой. Да, констрейнить надо будет именно MINIMUM delay!


Внутри APA300, судя по ее описанию, есть аж ДВЕ PLL, почему их нельзя использовать?
Go to the top of the page
 
+Quote Post
gethan
сообщение Feb 24 2014, 11:42
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 23-02-14
Пользователь №: 80 654



Цитата(SM @ Feb 24 2014, 14:53) *
Внутри APA300, судя по ее описанию, есть аж ДВЕ PLL, почему их нельзя использовать?

Ну а если все же усложнить себе жизнь и не использовать ничего встроенного и навесного?))

Какой элемент задержки подойдет?)
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 24 2014, 11:46
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(gethan @ Feb 24 2014, 15:42) *
Какой элемент задержки подойдет?)


Я же написал, любой - буфер, инвертор, И-НЕ, ИЛИ, и т.д. Сами посмотрите какие там примитивы в библиотеке дают.
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Feb 24 2014, 12:12
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(gethan @ Feb 24 2014, 12:37) *
Работаю с АРА300,нет возможности использовать доп девайсы для PLL ((нужно сделать именно внутри плис!


Цитата(gethan @ Feb 24 2014, 14:42) *
Ну а если все же усложнить себе жизнь и не использовать ничего встроенного и навесного?))

В смысле?? Использование предназначенных для этого функциональных элементов теперь называется "усложнять себе жизнь"?
Или это опять колхозный доморощенный radhard??
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 25 2014, 04:58
Сообщение #15


Местный
***

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



Цитата(gethan @ Feb 24 2014, 15:42) *
Ну а если все же усложнить себе жизнь и не использовать ничего встроенного и навесного?))

Какой элемент задержки подойдет?)



УВАЖАЕМЫЙ АВТОР ПОСТА!!!! ВЫ ИЩЕТЕ ТО, ОТ ЧЕГО ВЕСЬ МИР УХОДИТ.

Уровень логики все компиляторы стараются снизить по максимуму!!!!!!

Когда Вы подберете необходиму логическую задержку, тогда после очередного перекомпелирования проекта эта задержка изменится и умножитель частоты так же поменяется. Жестко задать уровень логики Вам скорее всего не удасться. Любая среда разработки будет её оптимизировать как только может.

Ваш путь решения задачи не правельный.


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 06:15
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Dmitriyspb @ Feb 25 2014, 08:58) *
Жестко задать уровень логики Вам скорее всего не удасться. Любая среда разработки будет её оптимизировать как только может.

Это почему не удастся? Если грамотно все делать, то все удастся, любому синтезатору/мапперу можно указать, что нельзя оптимизировать. Только, конечно, решение "сопливое", но имеющее право на существование.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 25 2014, 06:43
Сообщение #17


Местный
***

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



Цитата(SM @ Feb 25 2014, 10:15) *
Это почему не удастся? Если грамотно все делать, то все удастся, любому синтезатору/мапперу можно указать, что нельзя оптимизировать. Только, конечно, решение "сопливое", но имеющее право на существование.


Согласен.
А можно ли синтезатору задать точное время задержки?! Скорее всего нет. Возможно я ошибаюсь. Но я хочу сказать, что запретить отимизацию можно, а вот точно быть уверенным в том, что он будет при каждой перекомпиляции пользоваться все теме же ресурсами плис мне кажется нельзя. Допустим, первый раз он разведет используя n - ячеек в k-ом блоке ПЛИС, а после того как в проект что-то добавят трассировщик решит переразвести топологию ПЛИС уже используя те же ресурсы кристалла но в другом блоке (месте). В результате задержка может остаться неизменной, а может поменяться. Как повезет выходит.

КСТАТИ!=))
Наверняка можно пользоваться ручным размещением блоков в топологии. На подобие того что PlanaHead у Xilinx предлогает.
В общем точно, сопливо и по радиолюбительски=)))


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 07:04
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 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)...
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 25 2014, 07:32
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 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 раз встал.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 07:47
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Dmitriyspb @ Feb 25 2014, 11:32) *
Наверное поэтому такой подход показался странным..

Кстати, по идее, достаточно задать только MIN DELAY и MAX DELAY по обоим путям до XOR, а задержку обеспечит уже разводчик сам, ведь тут не важно, как он ее обеспечит (пустив трассу по кругу вокруг кристалла, или понавстявляв буферов), важно чтобы она была.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 25 2014, 08:06
Сообщение #21


Местный
***

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



Цитата(SM @ Feb 25 2014, 11:47) *
Кстати, по идее, достаточно задать только MIN DELAY и MAX DELAY по обоим путям до XOR, а задержку обеспечит уже разводчик сам, ведь тут не важно, как он ее обеспечит (пустив трассу по кругу вокруг кристалла, или понавстявляв буферов), важно чтобы она была.


Согласен.
Вот только что по этому поводу думает автор темы? rolleyes.gif


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 08:16
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Dmitriyspb @ Feb 25 2014, 12:06) *
Вот только что по этому поводу думает автор темы? rolleyes.gif


Я думаю, что-то типа "нифига какие непонятные слова тут говорят и как много!" rolleyes.gif lol.gif
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 25 2014, 08:30
Сообщение #23


Местный
***

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



Цитата(SM @ Feb 25 2014, 12:16) *
Я думаю, что-то типа "нифига какие непонятные слова тут говорят и как много!" rolleyes.gif lol.gif

biggrin.gif

Наверное ожидал конструкцию типа "clk_in * 2 = clk_out " =))))))))))))))))))))))))))))))))))


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Feb 25 2014, 09:20
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 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...

Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 09:29
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Torpeda @ Feb 25 2014, 13:20) *
...задать-то можно (в смысле команды есть для этого), вот только не факт, что тулза выполнять будет....
MIN...MAX - обычно игнорится оптимизатором (точнее, становится очень низкоприоритетным), а вот только MIN или MAX - есчё может и выполнить...


Да в том и дело, что в ISE нельзя, там минимум можно задать только для холда входного синхронного сигнала, а для внутренних путей, и даже для выходного - нельзя. А в Diamond, например, без проблем, и роутер именно исполняет эти констрейны на этапе оптимизации холдов (специально тестовый проект даже сваял, так как самому интересно).
Go to the top of the page
 
+Quote Post
Corner
сообщение Feb 26 2014, 15:02
Сообщение #26


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Ограничения среды можно обойти через выводы ПЛИС, если задержку реализовать снаружи через RC-цепочку. Два пина и XOR между ними. Годится для частот на которых задержка в пинах меньше половины требуемой.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Feb 27 2014, 04:34
Сообщение #27


Местный
***

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



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


Очень сомнительная стабильность будет у такого умножителя.
Если уж вешать к пинам что-то, тогда проще генератор подвесить с нужной частотой=))


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Corner
сообщение Feb 28 2014, 15:40
Сообщение #28


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Цитата(Dmitriyspb @ Feb 27 2014, 08:34) *
Очень сомнительная стабильность будет у такого умножителя.
Если уж вешать к пинам что-то, тогда проще генератор подвесить с нужной частотой=))


Стабильность равна исходной. А вот negedge использовать не стоит - джитер конкретный.
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Mar 3 2014, 05:32
Сообщение #29


Местный
***

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



Цитата(Corner @ Feb 28 2014, 19:40) *
А вот negedge использовать не стоит - джитер конкретный. Стабильность равна исходной.


biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif
джиттер - нежелательные фазовые и/или частотные случайные отклонения передаваемого сигнала. Возникают вследствие нестабильности задающего генератора, изменений параметров линии передачи во времени и различной скорости распространения частотных составляющих одного и того же сигнала.

О КАКОЙ СТАБИЛЬНОСТИ ВЫ ГОВОРИТЕ??????????? Если сами пишите, что джиттер будет велик!!! ПРИ ЧЕМ ТУТ negedge?


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:40
Рейтинг@Mail.ru


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