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

 
 
 
Reply to this topicStart new topic
> Spartan3 - Global Clock Network
Epikur
сообщение Mar 22 2006, 11:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215



Пишу проект под Spartan3 (400 kgates), среда разработки - Xilinx ISE 7.1i, SP3.
Как мне в проекте посмотреть, какие сигналы заведены на линии Global Clocks и, если это необходимо, назначить туда другие сигналы?
И какие есть ещё способы объяснить программе, что есть и другие тактовые сигналы, которые должны распространяться по кристаллу относительно быстро при том, что все Global Clocks заняты?

Сообщение отредактировал Epikur - Mar 22 2006, 11:50
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 22 2006, 12:09
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



В отчете PAR-а говорится сколько глобальных буферов занято. Если не указать явно что такие-то сигналы должен пользоваться глобальными линиями (пропускать сигнал черезглобальный буфер или наоборот), синтезатор попробует это сделать за Вас (чем иногда сильно раздражает, в разных синтезаторах разные способы отучения). По мимо глобалов имеюся еще lowskew линии, но они сильно завязаны с топологией кристалла, поэтому вероятнее всего будут не применимы.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
o-henry
сообщение Mar 22 2006, 12:17
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



Чтобы гарантированно посадить нужные сигналы на линии Global Clocks выход вашего модуля синхронизации подключите к компоненту BUFG.
Go to the top of the page
 
+Quote Post
Epikur
сообщение Mar 22 2006, 13:43
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 17-04-05
Из: Минск
Пользователь №: 4 215



В отчете PAR-а говорится сколько глобальных буферов занято.
Все заняты. И в статье "Generating Clock Report" он говорит, что нашел ещё целую толпу тактовых сигналов. Там же нашёл репорт о сигналах, посаженных на GCLK... Мда... (это я о том, что же там сидит)

Чтобы гарантированно посадить нужные сигналы на линии Global Clocks выход вашего модуля синхронизации подключите к компоненту BUFG.
Спасибо, попробую.
Go to the top of the page
 
+Quote Post
Mad Makc
сообщение Mar 22 2006, 16:59
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763



Цитата
Все заняты. И в статье "Generating Clock Report" он говорит, что нашел ещё целую толпу тактовых сигналов. Там же нашёл репорт о сигналах, посаженных на GCLK... Мда... (это я о том, что же там сидит)

Есть подозрение,что у вас ошибка в подходе к проектированию.В большинстве синхроных проектов(если он у вас синхронный) бывает один тактовый сигнал.Откуда столько клоков, если не секрет?
Go to the top of the page
 
+Quote Post
Epikur
сообщение Mar 23 2006, 18:43
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 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 ругается, что больше нет свободных линий sad.gif
Go to the top of the page
 
+Quote Post
Mad Makc
сообщение Mar 24 2006, 07:51
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 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 раскачаете на такую частоту?

пока всё smile.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 24 2006, 08:36
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Mad Makc @ Mar 24 2006, 02:51) *
4.
Цитата
Есть ещё 2 одинаковых компонента N, где используется тактовый сигнал 120 Мгц

Вы ваще уверены,что Спартан3 раскачаете на такую частоту?


а что сложно ? как никак 284 у него по даташиту smile.gif

правда логики при этом (между регистрами) чуть чуть останеться smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Mad Makc
сообщение Mar 24 2006, 09:27
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 2-10-04
Из: Мухосранска
Пользователь №: 763



Цитата
а что сложно ? как никак 284 у него по даташиту

Ага. Только у меня такое ощущение,что на 284 только "задвиговый" регистр заведётся.Не более.
Go to the top of the page
 
+Quote Post
Epikur
сообщение Mar 24 2006, 10:30
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Very_hard
сообщение Mar 24 2006, 11:03
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



3.6 МГц можно получить с помощью синтезатора DCM (CLKFX) из 12 МГц. Коеффициенты 13 и 4...
Кстати, сколько дсм и какие выходы дсм Вы используете?

Непонятно... у меня синтезатор (ISE6.3) не добавлял глобальный буфер на тактирующий сигнал, полученный с делителя... приходилось ставить BUFG
Go to the top of the page
 
+Quote Post
Epikur
сообщение Mar 24 2006, 12:28
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 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", где можно назначить, какие линии будут использоваться для тактовых выводов.
Go to the top of the page
 
+Quote Post
Very_hard
сообщение Mar 24 2006, 12:40
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



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


я вообщето не про выход дсм(с назначением глобальных буферов в ядре дсм вроде все понятно)... делитель был реализован в логике, вых. сигнал использовался для тактирования устройства(потом на этот сигнал пришлось ставить BUFG); тут говорят синтезатор сам может добавлять гл. буфер на внутренний сигнал, если он используется для тактирования...
Go to the top of the page
 
+Quote Post

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

 


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


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