|
|
  |
Spartan3 - Global Clock Network |
|
|
|
Mar 22 2006, 11:46
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215

|
Пишу проект под Spartan3 (400 kgates), среда разработки - Xilinx ISE 7.1i, SP3. Как мне в проекте посмотреть, какие сигналы заведены на линии Global Clocks и, если это необходимо, назначить туда другие сигналы? И какие есть ещё способы объяснить программе, что есть и другие тактовые сигналы, которые должны распространяться по кристаллу относительно быстро при том, что все Global Clocks заняты?
Сообщение отредактировал Epikur - Mar 22 2006, 11:50
|
|
|
|
|
Mar 22 2006, 16:59
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763

|
Цитата Все заняты. И в статье "Generating Clock Report" он говорит, что нашел ещё целую толпу тактовых сигналов. Там же нашёл репорт о сигналах, посаженных на GCLK... Мда... (это я о том, что же там сидит) Есть подозрение,что у вас ошибка в подходе к проектированию.В большинстве синхроных проектов(если он у вас синхронный) бывает один тактовый сигнал.Откуда столько клоков, если не секрет?
|
|
|
|
|
Mar 23 2006, 18:43
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215

|
Mad MakcЕсть подозрение,что у вас ошибка в подходе к проектированиюНаверняка не без этого - опыта у меня в проектировании на FPGA мало, да и сам проект достался мне "по наследству" от другого человека. В последнее время часто переделываю те или иные кусочки, чтобы было красивее и грамотнее. Значит так. Есть тактовый сигнал 12 Мгц, который затем умножается до 120 и используется везде, где нужна быстрая реакция. Только вот местами синхронизация от 120 Мгц идёт как по фронту, так и по спаду (разные части одной схемы). Есть второй тактовый сигнал 3,6864 Мгц, который предназначен для UART, но я его использую ещё для некоторых других схем. UART выполнен отдельным компонентом, коих в системе 2 шт. И хотя к обоим компонентам подключается один и тот же тактовый сигнал 3,6 Мгц, насколько я понял, Xilinx ISE занял под каждый из них отдельный глобальный клок (молойца, однако). Есть ещё 2 одинаковых компонента N, где используется тактовый сигнал 120 Мгц и он же поделенный на 128 (им тактируется почти вся схема компонента). Поделен сигнал логикой. Но вот под каждый из них, похоже, ISE тоже выделил по линии глобал клока. И ещё есть парочку сигналов не тактовых, но которые было бы очень желательно завести на быструю линию: строб импульсы разрешения записи/чтения асинхронного интерфейса EMIF к процессору. Сейчас обмен данными с процессором идёт с периодом примерно 50 нс (одно слово - 16 бит), но планируется в будущем сократить это время до 20..25 нс или вообще сделать интерфейс синхронным (но об этом я пока ещё не думал серьёзно). Чтобы гарантированно посадить нужные сигналы на линии Global Clocks выход вашего модуля синхронизации подключите к компоненту BUFGПопробовал. ISE ругается, что больше нет свободных линий
|
|
|
|
|
Mar 24 2006, 07:51
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763

|
Насколько я понял, ваше устройство- это арифметическая молотилка,которая цепляется к процу. несколько вопросов 1. где из 12 МГц делается 120 МГц? В ПЛИС или снаружи? И почему именно 120? 2. Цитата Есть второй тактовый сигнал 3,6864 Мгц, который предназначен для UART Сразу минус один клок.UART прекрасно будет жить и на 12 МГц. 3. Цитата И хотя к обоим компонентам подключается один и тот же тактовый сигнал 3,6 Мгц, насколько я понял, Xilinx ISE занял под каждый из них отдельный глобальный клок (молойца, однако). Если ничего специально не наворочено,то не должен. Вообще в таких случаях FPGA Editor спасёт отца русской демократии.Запустите хотя бы разок. 4. Цитата Есть ещё 2 одинаковых компонента N, где используется тактовый сигнал 120 Мгц Вы ваще уверены,что Спартан3 раскачаете на такую частоту? пока всё
|
|
|
|
|
Mar 24 2006, 08:36
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Mad Makc @ Mar 24 2006, 02:51)  4. Цитата Есть ещё 2 одинаковых компонента N, где используется тактовый сигнал 120 Мгц Вы ваще уверены,что Спартан3 раскачаете на такую частоту? а что сложно ? как никак 284 у него по даташиту правда логики при этом (между регистрами) чуть чуть останеться
--------------------
|
|
|
|
|
Mar 24 2006, 09:27
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763

|
Цитата а что сложно ? как никак 284 у него по даташиту Ага. Только у меня такое ощущение,что на 284 только "задвиговый" регистр заведётся.Не более.
|
|
|
|
|
Mar 24 2006, 10:30
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215

|
Насколько я понял, ваше устройство- это арифметическая молотилка,которая цепляется к процу. Исходное назначение - расширитель ввода вывода на несколько внешних устройств с разными интерфейсами. Но в последнее время стала актуальна задача и молотилки (чем сейчас и занимаюсь).
1. где из 12 МГц делается 120 МГц? В ПЛИС или снаружи? И почему именно 120? В DCM. Конкретная конечная частота особого значения не имеет, главное, чтобы было достаточно много. Раньше стояло 60, но этого не хватало.
Сразу минус один клок.UART прекрасно будет жить и на 12 МГц. Не, не будет. Нужно поддерживать скорость 230400 бод (и другие ниже), а для этого нужно тактовую частоту самих модулей в 16 раз выше подать. (Ну или хотя бы в 8 раз). А 12 Мгц совсем плохо делиться. Планируется в будущем заменить кварц на 24 Мгц - его ещё можно будет как-то прицепить.
Если ничего специально не наворочено,то не должен. Вообще в таких случаях FPGA Editor спасёт отца русской демократии.Запустите хотя бы разок Запускал...
Вы ваще уверены,что Спартан3 раскачаете на такую частоту? Судя по всему, логика будет работать на частоте где-то 60 Мгц, а на больше не вытянет. Просто она пока что ещё не готова, а остальные части работают и на 120.
Сообщение отредактировал Epikur - Mar 24 2006, 10:32
|
|
|
|
|
Mar 24 2006, 12:28
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215

|
3.6 МГц можно получить с помощью синтезатора DCM (CLKFX) из 12 МГц. Коеффициенты 13 и 4... Действительно. (чего-то не сообразил). Буду пробовать.
Кстати, сколько дсм и какие выходы дсм Вы используете? Пока что в проекте только 1 DCM. Сейчас попробую вставить второй. Работает без обратных связей CLKIN_IN => clk12M, RST_IN => not reset, CLKFX => clkH, CLKIN_IBUFG_OUT => clk12M_int, ( может это не надо?) LOCKED_OUT => ClockLocked (не используется в проекте)
у меня синтезатор (ISE6.3) не добавлял глобальный буфер на тактирующий сигнал, полученный с делителя... В настройках файла, генерируемого при помощи CoreGenerator-а, есть закладка "Xilinx Clocking Wizard - Clock Buffers", где можно назначить, какие линии будут использоваться для тактовых выводов.
|
|
|
|
|
Mar 24 2006, 12:40
|
Частый гость
 
Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188

|
Цитата у меня синтезатор (ISE6.3) не добавлял глобальный буфер на тактирующий сигнал, полученный с делителя... В настройках файла, генерируемого при помощи CoreGenerator-а, есть закладка "Xilinx Clocking Wizard - Clock Buffers", где можно назначить, какие линии будут использоваться для тактовых выводов. я вообщето не про выход дсм(с назначением глобальных буферов в ядре дсм вроде все понятно)... делитель был реализован в логике, вых. сигнал использовался для тактирования устройства(потом на этот сигнал пришлось ставить BUFG); тут говорят синтезатор сам может добавлять гл. буфер на внутренний сигнал, если он используется для тактирования...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|