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

 
 
 
Reply to this topicStart new topic
> Глобальные клоки на Spartan6
toxxin
сообщение Apr 8 2011, 06:43
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 8-07-09
Пользователь №: 51 025



Доброго времени суток!
Помогите разобраться с подключением глобальных тактовых сигналов к Spartan6. Всего необходимо 5 глобальных тактовых сигналов. Согласно Clock Guide всего 32 GCLK пина, но глобальных буферов только 16, поэтому существуют парные глобальные пины. В приложении табличка парных буферов с собственно схемой соединения буферов. Понятно, что GCLK19 и GCLK11 соединены непосредственно и подключены к BUFGMUX_X2Y1 и разные клоки к ним подключать "не стоит". Такая же история с GCLK15 и GCLK7. Непонятно только как эти пары взаимодействуют между собой и почему они объединены в таблице.
Также не понятно как связаны между собой BUFGMUX-ы. Например X2Y1 и X2Y2.
И последний вопрос - тактирование от любого глобального тактового сигнала распространяется на все банки или только на ту пару, которая описана в приведенной таблице??

Прикрепленное изображение


Прикрепленное изображение
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Apr 8 2011, 20:08
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(toxxin @ Apr 8 2011, 10:43) *
Доброго времени суток!
Помогите разобраться с подключением глобальных тактовых сигналов к Spartan6. Всего необходимо 5 глобальных тактовых сигналов. Согласно Clock Guide всего 32 GCLK пина, но глобальных буферов только 16, поэтому существуют парные глобальные пины. В приложении табличка парных буферов с собственно схемой соединения буферов. Понятно, что GCLK19 и GCLK11 соединены непосредственно и подключены к BUFGMUX_X2Y1 и разные клоки к ним подключать "не стоит". Такая же история с GCLK15 и GCLK7. Непонятно только как эти пары взаимодействуют между собой и почему они объединены в таблице.
Также не понятно как связаны между собой BUFGMUX-ы. Например X2Y1 и X2Y2.
И последний вопрос - тактирование от любого глобального тактового сигнала распространяется на все банки или только на ту пару, которая описана в приведенной таблице??


Дык всё же нарисовано. Если тактироваться напрямую через глобальные буферы, то нельзя подавать разные клоки на GCLK19 и GCLK11(возникает конфликт), если тактировать SERDESы в БАНКЕ0 через BUFIO, то конфликт между GCLK19 и GCLK15. Аналогично если тактировать SERDESы в БАНКЕ1 через BUFIO, то конфликт между GCLK11 и GCLK7. В UG382 далее приведена таблица конфликтов.
Тактирование через глобальный буфер естественно распространяется на всю ПЛИС и все БАНКИ, а BUFIO расположен в конкретном банке.




Go to the top of the page
 
+Quote Post
Иван Панченко
сообщение Apr 12 2011, 11:01
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 29-11-08
Из: санкт-петербург
Пользователь №: 42 061



на конкретный банк,если не ошибаюсь, распространяются региональные клоки
Go to the top of the page
 
+Quote Post
Leka
сообщение Apr 12 2011, 17:31
Сообщение #4


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Раз уж про клок...
bb-offtopic.gif
ISE, Spartan3a/e.
После P&R выдает Fmax ~600МГц для клока. Тогда как по даташиту максимальная частота клокового дерева (BUFG и тп) ~300МГц.
Как это понимать? STA не учитывает эти ограничения ?
И чем вызвано это ограничение Fmax для BUFG (для триггеров Fmax ~600МГц) ?
Может ли небольшая часть дизайна работать со своим клоковым деревом на ~600МГц ?
Можно запретить использование BUFG для клока, тогда получается ~500МГц после P&R. Как все-таки правильно?
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Apr 12 2011, 20:39
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(Leka @ Apr 12 2011, 21:31) *
Раз уж про клок...
bb-offtopic.gif
ISE, Spartan3a/e.
После P&R выдает Fmax ~600МГц для клока. Тогда как по даташиту максимальная частота клокового дерева (BUFG и тп) ~300МГц.
Как это понимать? STA не учитывает эти ограничения ?
И чем вызвано это ограничение Fmax для BUFG (для триггеров Fmax ~600МГц) ?
Может ли небольшая часть дизайна работать со своим клоковым деревом на ~600МГц ?
Можно запретить использование BUFG для клока, тогда получается ~500МГц после P&R. Как все-таки правильно?


Чудеса sm.gif

Может проект слишком маленький и целиком в один slice-lut влезает, или клок dcm-кой делится. А может ИСЕ версии типа 11.1 стоит глюкавое.
Go to the top of the page
 
+Quote Post
Leka
сообщение Apr 12 2011, 21:00
Сообщение #6


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



В качестве примера можно просто сдвиговый регистр привести, запретив использование I/O триггеров, STA выдаст ~500МГц после P&R:

Код
module tst(
   (* buffer_type = "ibuf" *)
   input clk,
   output reg [7:0] q = 0,  
   input d
);
   always@(posedge clk) q <= {q, d};
endmodule


Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Apr 12 2011, 21:02
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Если вас не затруднит, пришлите прокт на адрес boris.fpga@gmail.com, я удовлетворю свою малую любопытствующую алгоритмическую нужду.
Вообще, я без каких либо обязательств посмотрю и напишу тут(или нет)/ или пришлю на почту (ну или не смогу)(как хотите) подсказку или решение.
Чудес на самом деле не бывает, только глюки и чудесное непонимаение физики процессов, которое легко исправляется, если глюк слабее квалификации специалиста.
Мой телефон +7 905 633 61 45
Борис.
Go to the top of the page
 
+Quote Post
Leka
сообщение Apr 12 2011, 21:08
Сообщение #8


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Если убрать (* buffer_type = "ibuf" *) - будет задействовано глобальное клоковое дерево (а у него по даташиту 350МГц max) - STA по-прежнему выдаст 500МГц...

Реальная схема - асинхронный последовательный интерфейс, но в форуме лучше простой пример разобрать, предлагаю сдвиговый регистр (см выше).
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Apr 13 2011, 11:14
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(Leka @ Apr 13 2011, 01:08) *
Если убрать (* buffer_type = "ibuf" *) - будет задействовано глобальное клоковое дерево (а у него по даташиту 350МГц max) - STA по-прежнему выдаст 500МГц...
Реальная схема - асинхронный последовательный интерфейс, но в форуме лучше простой пример разобрать, предлагаю сдвиговый регистр (см выше).


Сдвиговый регистр упаковывается в LUT (SLICEM) без использования триггеров, поэтому если нет триггеров - нет и анализа путей между ними.
В результате пишется максимальная частота тактирования сдвигового регистра, равная из даташита на Spartan3 500МГц.

Это кстати, большой косяг, т.к. при этом никоим образом не учитываются пути от ног ввода вывода до LUTов.
Надо ставить аттрибуты, запрещающие shift register extraction. А в Virtex6 появилась опция, позволяющая задавать длину цепочки, больше которой которой осуществляется "экстракция" регистров сдвига.

А чтобы сказать, что-то определённое про клоковые деревья, то надо в FPGA editor глядеть.


P.S. скоре всего STA, увидев такую асинхронщину, забыл про клоковые деревья и пошёл отдыхать sm.gif
Go to the top of the page
 
+Quote Post
Leka
сообщение Apr 13 2011, 14:17
Сообщение #10


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

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Можно и другие мелкие схемки придумать на ~500МГц по STA, 4х-разрядный счетчик:
Код
module tst(
   (* buffer_type = "ibuf" *)
   input clk,
   output reg [3:0] q = 0
);
   always@(posedge clk) q <= q + 1;
endmodule

Красным выделен клок:

Реальный проект побольше, конечно, и 500МГц клок внутри формируется, но суть та-же, имхо.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 3rd July 2025 - 19:10
Рейтинг@Mail.ru


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