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

 
 
> Синхронизация в FPGA
Sidoroff
сообщение Sep 12 2007, 08:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



Имеется конструкция примерно такого типа (VHDL)
if rising_edge(CLK_100MHz) then
b<="a"; -- a синхронно по отношнию к CLK_100MHz
end if;

if rising_edge(CLK_200MHz) then
c<=b;
end if;

CLK_100MHz и CLK_200MHz - два внутрикристальных канала
ОДНОГО PLL, 100 мгц и 200 МГц
a,b,c - одноразрядные сигналы.
Можно ли гарантировать синхронизацию, чтобы между "a" и "c" была
одинаковая задержка (чтобы "c" не дергалось +- на такт 200 МГц)?
Если нужно, то какие опции задать в Assignment Editor у Quartus?
Если так не получится, есть ли другие способы?

Микросхема EP1C12Q240C6 ("Циклон")
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Sep 12 2007, 10:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Sidoroff @ Sep 12 2007, 12:54) *
Имеется конструкция примерно такого типа (VHDL)
if rising_edge(CLK_100MHz) then
b<="a"; -- a синхронно по отношнию к CLK_100MHz
end if;

if rising_edge(CLK_200MHz) then
c<=b;
end if;

CLK_100MHz и CLK_200MHz - два внутрикристальных канала
ОДНОГО PLL, 100 мгц и 200 МГц
a,b,c - одноразрядные сигналы.
Можно ли гарантировать синхронизацию, чтобы между "a" и "c" была
одинаковая задержка (чтобы "c" не дергалось +- на такт 200 МГц)?
Если нужно, то какие опции задать в Assignment Editor у Quartus?
Если так не получится, есть ли другие способы?

Микросхема EP1C12Q240C6 ("Циклон")

По идее дергаться не должно. По фронтам clk совпадают. Если перезапись из регистра в регист укладывается в период 5нс
Поверить просто. "с" должно ловиться CLK_100 с одинаковой задержкой.
Может а не укладывается в период CLK_100.
Go to the top of the page
 
+Quote Post
Sidoroff
сообщение Sep 12 2007, 12:53
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



1) "Поверить просто. "с" должно ловиться CLK_100 с одинаковой задержкой."

Оно ловится, но хотелось бы, чтобы своим сообщением (или тому подобными)
"Info: All timing requirements were met. See Report window for more details.
Quartus гарантировал это автоматически, также как он гарантирует работу полностью синхроной
системы по одному клоку, а опыты такой гарантии не дают, так как экземпляры
микросхем и температура работы могут меняться.
Он это и пишет, но непонятно, это относится к цепаям обоих клоков независимо, или к
системе в целом и учитывает "jitter" у разных клоков и т.п.?


2) "Может а не укладывается в период CLK_100.

Сигнал "a" является выходом внутренней защелки, работающей от того же 100MHz.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Sep 13 2007, 15:15
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Sidoroff @ Sep 12 2007, 16:53) *
1) "Поверить просто. "с" должно ловиться CLK_100 с одинаковой задержкой."

Оно ловится, но хотелось бы, чтобы своим сообщением (или тому подобными)
"Info: All timing requirements were met. See Report window for more details.
Quartus гарантировал это автоматически, также как он гарантирует работу полностью синхроной
системы по одному клоку, а опыты такой гарантии не дают, так как экземпляры
микросхем и температура работы могут меняться.
Он это и пишет, но непонятно, это относится к цепаям обоих клоков независимо, или к
системе в целом и учитывает "jitter" у разных клоков и т.п.?
2) "Может а не укладывается в период CLK_100.

Сигнал "a" является выходом внутренней защелки, работающей от того же 100MHz.



Вообще говоря если сигналы синфазны, то все должно нормально работать если выставлены констрейны для каждого клока (возможно, что они сами генерятся из конфигурации PLL). С квартусом я общался меньше, а в xilinx с этим проблем не возникало. Если опираться на ваш пример то для пути a->b должен выдерживаться констрейн 100 Мгц, для b->c - 200 МГц. И все будет ок.
Go to the top of the page
 
+Quote Post



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

 


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


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