Полная версия этой страницы:
Глобальные тактовые сигналы
В каждом плисе есть входы глобальных тактовых сигналов (Global Clock1,2...)
Есть входы FAST (FAST1,2,3..). Количество зависит от размеров и наворотв ПЛИС.
Вопрос в следующем.
Если я хочу создать гибкую схему, стоит ли делать запитывания глобальных клоков с I/O ног самой плисины?
Или при разведении внутри самой плис синтезатор выберет сам оптимальный путь включения линии глобального тактирования?
Может ли одна и таже цепь глобального тактирования разделяться на несколько подцепей?
В Альтере в ПЛИС с PLL тактовый сигнал для, скажем, умножения заводиться строго на определенный GCLK. При этом некоторые линии уже использовать нельзя.
В AHDL вроде есть возможность. есть оператор: GLOBAL
Если так, то зачем тогда входы глобального тактирования выведены отдельно и стоят особняком.
Про Altera я не скажу, а в Xilinx на глобальные буффера можно садить хоть внутренние сигналы.
<Или при разведении внутри самой плис синтезатор выберет сам оптимальный путь включения линии глобального тактирования?>
За эти лучше следить самому, эта дура любит посадить на глобал какой-нибудь сигнал рожденный ею (материнские чувства наверное) с фаноутом в 5, а развесистый оставить как есть.
<Если я хочу создать гибкую схему, стоит ли делать запитывания глобальных клоков с I/O ног самой плисины?>
Скорее всего у Вас тогда не получится использовать PLL-ки.
alex_elect
Nov 19 2004, 10:42
Попытаюсь обьяснить, как сам понял, для Cyclone.
Внутри ПЛИС имеется 8 глобальных цепей для разводки глобального синхросигнала либо другого глобального сигнала.
К любой из этих глобальных цепей могут быть подключены:
- либо один из глобальных синхровходов CLK[3..0];
- либо один из синхровходов двойного назначения DPCLK[7..0];
- либо выход PLL;
- либо какой-либо внутренний сигнал, т.е. выход любого LE.
Это что касается источника сигнала.
Приемниками могут быть либо синхровходы, либо входы сброса, либо входы предустановки триггеров LE которые также подключаются к выбранной глобальной цепи.
Относительно оператора (или примитива) GLOBAL. Если его применить к какой-либо цепи, то это будет указанием для компилятора, что эту цепь нужно реализовать при помощи одной из 8 глобальных цепей.
Входы глобального тактирования выведены отдельно именно потому, что только они могут быть напрямую подключены ко входам PLL либо к одной из 8 глобальных цепей, обеспечивая минимальную задержку сигнала.
поднимаю еще раз тему.
можно ли использовать быстрых тактовых сигналов больше чем глобальных тактовых линий?
как альтера будет это все разводить?
мы пробовали, когда получали хороших результат, когда ничего не работало. просто не было сигнала и все. хотя цепи были заведены.
Среда Quartus.
Просто хотим использоать плис с 4мя глобальными тактовыми сигналами, но тактовых входов может быть больше, скажем 8.
Вариант, завести все clock на IO, IO вывести и звести на GCLK.
Проект сам пока еще не доведен, проверить пока не можем.
Проблемы как правило начинаются, когда кристал загружен на 80-90%.
Хотелось бы ясность получить. Что происходит и как они глобальные тактовые разводятся.
Мое мнение, основанное на чтении DS и личном опыте.
В APEXе есть 8 глобальных линий. Сигнал может поступать на них откуда угодно, хоть снаружи, хоть изнутри. Но их - 8. Поэтому если я использую 4 FAST входа и 4 GCLK входа, то не смогу использовать оператор GLOBAL внутри, так как все глобальные линии будут уже заняты.
P.S.
Кстати, udofun, в W-3 FAST-входы не использовались, следовательно оставались свободными 4 глобальных линии, поэтому было возможно использовать оператоы GLOBAL.
Цитата(udofun @ Dec 7 2004, 21:51)
Проблемы как правило начинаются, когда кристал загружен на 80-90%.
Вообще-то когда кристалл так зщагружен должны начинаться проблемы не только с этим
Инженер
Dec 10 2004, 15:54
Цитата(udofun @ Dec 7 2004, 23:51)
поднимаю еще раз тему.
можно ли использовать быстрых тактовых сигналов больше чем глобальных тактовых линий?
как альтера будет это все разводить?
мы пробовали, когда получали хороших результат, когда ничего не работало. просто не было сигнала и все. хотя цепи были заведены.
Среда Quartus.
Просто хотим использоать плис с 4мя глобальными тактовыми сигналами, но тактовых входов может быть больше, скажем 8.
Вариант, завести все clock на IO, IO вывести и звести на GCLK.
Проект сам пока еще не доведен, проверить пока не можем.
Проблемы как правило начинаются, когда кристал загружен на 80-90%.
Хотелось бы ясность получить. Что происходит и как они глобальные тактовые разводятся.
Глобальные никак не разводятся, они идут через все макроячейки. И теоретически (да и практически) сигнал, поданый на Глобальный вход, достигает всех макроячеек одновременнои занимает при этом всего одну линию в микросхеме.
Barbarossa
Dec 15 2004, 20:39
Цитата(Инженер @ Dec 10 2004, 18:54)
Глобальные никак не разводятся, они идут через все макроячейки. И теоретически (да и практически) сигнал, поданый на Глобальный вход, достигает всех макроячеек одновременнои занимает при этом всего одну линию в микросхеме.
Вообще-то не совсем так. Хоть глобальные сигналы и идут через все макроячейки, но длина линий связи все-таки разная, и задержки тоже будут разные.
Цитата(Barbarossa @ Dec 15 2004, 23:39)
Цитата(Инженер @ Dec 10 2004, 18:54)
Глобальные никак не разводятся, они идут через все макроячейки. И теоретически (да и практически) сигнал, поданый на Глобальный вход, достигает всех макроячеек одновременнои занимает при этом всего одну линию в микросхеме.
Вообще-то не совсем так. Хоть глобальные сигналы и идут через все макроячейки, но длина линий связи все-таки разная, и задержки тоже будут разные.
Как бы да. Но разброс времен прихода глобального клока на все триггеры устройства на порядок меньше задержки на одном уровне логики (грубо, на одном логическом элементе). Поэтому проектируя ФПГА можно считать глобальный клок одинаковым для всех. Вот в ASICах, там другое дело, там клок имеет задержки распространения, сравнимые с логичеким. Ну так там и софт совсем другой для проектирования используется, это его задача следить за таймингами.
DmitryR
Mar 9 2005, 07:01
Цитата(Gorby @ Mar 8 2005, 17:31)
Цитата(Barbarossa @ Dec 15 2004, 23:39)
Цитата(Инженер @ Dec 10 2004, 18:54)
Глобальные никак не разводятся, они идут через все макроячейки. И теоретически (да и практически) сигнал, поданый на Глобальный вход, достигает всех макроячеек одновременнои занимает при этом всего одну линию в микросхеме.
Вообще-то не совсем так. Хоть глобальные сигналы и идут через все макроячейки, но длина линий связи все-таки разная, и задержки тоже будут разные.
Как бы да.
IMHO это неверно для современных FPGA - в них применены специальные средства для ликвидации скоса в глобальных линиях, что подтверждается статическим временным анализом.
Не совсем вроде по теме, но... Возникла такая задачка. Надо на один из входов CLK[3..0] Cyclone II подать тактовую, а с выхода PLL2_OUT снять тактовую, умноженную на 2. Судя по документации, например, Table 7–3. PLL Clock Input Pin Connections(Cyclone II Device Handbook), так делать нельзя. Т.к. CLK[3..0] привязаны именно к PLL1. Попробовал в железе всё нормально работает. Так всё таки так можно, или это чем-то чревато?
Один из вариантов: умножить на 4, затем поделить на два.
Kostolomus
May 4 2008, 10:17
Цитата(dinam @ Apr 28 2008, 09:25)

Так всё таки так можно, или это чем-то чревато?
Да ну, можно. Там глобально все коммутится...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.