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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Синхронность в FPGA
NOVY
сообщение Apr 19 2011, 08:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Всем добрый!
Написал проект на VHDL для XILINX Spartan3AN , Короче, осциллограф. Данные из АЦП передаются в ПК по ЮСБ . От ПК по ЮСБ принимаю параметры - кол-во точек, кол-во накоплений , развертку, задержку и т.д.. В принципе все работает, НО! Возникают проблеммы . Например, вывожу внутренний сигнал вовне чипа для тестирования - и все нарушается! ПОЧЕМУ ??? Наверное пишу криво.
Большинство сигналов асинхронны. Есть у меня клок. По какому-то асинхронному событию запускаю счетчик по клоку , формирую нужные сигналы , подаю далее , например суммирую , но все это не стробируется каким-нибудь одним клоком. Всюду слышу : "синхронность,синхронность и еще раз синхронность!" Вот такой единой синхронности у меня таки и нету! Помогите советом!
Go to the top of the page
 
+Quote Post
Victor®
сообщение Apr 19 2011, 11:22
Сообщение #2


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(NOVY @ Apr 19 2011, 11:54) *
Всем добрый!
Написал проект на VHDL для XILINX Spartan3AN , Короче, осциллограф. Данные из АЦП передаются в ПК по ЮСБ . От ПК по ЮСБ принимаю параметры - кол-во точек, кол-во накоплений , развертку, задержку и т.д.. В принципе все работает, НО! Возникают проблеммы . Например, вывожу внутренний сигнал вовне чипа для тестирования - и все нарушается! ПОЧЕМУ ??? Наверное пишу криво.
Большинство сигналов асинхронны. Есть у меня клок. По какому-то асинхронному событию запускаю счетчик по клоку , формирую нужные сигналы , подаю далее , например суммирую , но все это не стробируется каким-нибудь одним клоком. Всюду слышу : "синхронность,синхронность и еще раз синхронность!" Вот такой единой синхронности у меня таки и нету! Помогите советом!


Так, собственно, чтобы помочь - надо как минимум посмотреть, что Вы написали на VHDL.
Что касается синхронного проектирования...
Для начала посмотрите как работают синхронные счетчики, их структуру, особенно как формируются сигналы разрешения
для разрядов. И сравните с асинхронными. После этого Вам проясниться в каком направлении двигаться в своем проекте.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
SFx
сообщение Apr 19 2011, 12:59
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



кажется в симплифае я видел галочку в настройках, которая вылечивает ваши проблемы. типа анализирует цепи, в которых асинхронность и добавляет триггеры для перехода, но уж как она в реальности работает - я незнаю)))
Причина редактирования: использование ненормативной лексики (c) des00
Go to the top of the page
 
+Quote Post
NOVY
сообщение Apr 19 2011, 13:25
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Цитата(Victor® @ Apr 19 2011, 14:22) *
Так, собственно, чтобы помочь - надо как минимум посмотреть, что Вы написали на VHDL.
Что касается синхронного проектирования...
Для начала посмотрите как работают синхронные счетчики, их структуру, особенно как формируются сигналы разрешения
для разрядов. И сравните с асинхронными. После этого Вам проясниться в каком направлении двигаться в своем проекте.



Вопрос.
Каким образом может влиять вывод на "копыто" чипа тестового сигнала, который учавствует ,например, в работе счетчика на работу самого счетчика ?
Go to the top of the page
 
+Quote Post
SFx
сообщение Apr 19 2011, 13:45
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(NOVY @ Apr 19 2011, 17:25) *
Вопрос.
Каким образом может влиять вывод на "копыто" чипа тестового сигнала, который учавствует ,например, в работе счетчика на работу самого счетчика ?

вывод на pin может менять работу стратегию работы оптимизации при синтезе, так и физическое местоположение триггера.

как то расказывали случай, что при выводе клока на определенную ножку проект не работал стабильно. оказалось что в этом случае DCM перемещался в другой конец кристалла, где видимо были какие то ЭМИ...
Go to the top of the page
 
+Quote Post
NOVY
сообщение Apr 19 2011, 13:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Цитата(SFx @ Apr 19 2011, 16:45) *
вывод на pin может менять работу стратегию работы оптимизации при синтезе, так и физическое местоположение триггера.

как то расказывали случай, что при выводе клока на определенную ножку проект не работал стабильно. оказалось что в этом случае DCM перемещался в другой конец кристалла, где видимо были какие то ЭМИ...


DCM не использую, ползуюсь внешним клоком ... Но по сути, похоже происходит то же самое. Кстати, проблемы, связанные с разводкой, пока откланяю, т.к они возникали и на Starter Kit///
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Apr 19 2011, 19:03
Сообщение #7


Знающий
****

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



Цитата(NOVY @ Apr 19 2011, 17:25) *
Вопрос.
Каким образом может влиять вывод на "копыто" чипа тестового сигнала, который учавствует ,например, в работе счетчика на работу самого счетчика ?


Если проект асинхронный - то временные ограничения не проверяются и всё полностью зависит от разводки Place&Route. Типа повезёт не повезёт. Вот вам "везёт" иногда, а иногда нет.
Чтобы везло всегда, нужно задавать констреинты и помаксиму синхронизировать проект.

P.S. помню мы тоже в детстве по глупости подключили 20 сантиметровыми шлейфами от Floppy дисковода АЦП ADC081000, разогнанный до тактовой частоты 1.5ГГц (2 потока по 750МБайт/c в DDR) на отладочной плате от National - к отладочной плате с Virtex4 VFX12. Передавали данные в RS-232 и в ПК, без всяких констреинтов, и даже клок с АЦП подавался на обычный пин с CLOCK DEDICATED ROUTE=false. Но всё работало и синус красивый на экране показывало.
Потом почитали литературу - поумнели, задали констреинты - они естественно не сошлись и синус развалился.

вот фото чудо девайса

Прикрепленное изображение
sm.gif
Go to the top of the page
 
+Quote Post
dde29
сообщение Apr 20 2011, 02:49
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-08-08
Из: Томск
Пользователь №: 39 559



внешний клок через PLL прогоняешь?
Go to the top of the page
 
+Quote Post
NOVY
сообщение Apr 21 2011, 07:47
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Цитата(VladimirB @ Apr 19 2011, 22:03) *
Если проект асинхронный - то временные ограничения не проверяются и всё полностью зависит от разводки Place&Route. Типа повезёт не повезёт. Вот вам "везёт" иногда, а иногда нет.
Чтобы везло всегда, нужно задавать констреинты и помаксиму синхронизировать проект.

P.S. помню мы тоже в детстве по глупости подключили 20 сантиметровыми шлейфами от Floppy дисковода АЦП ADC081000, разогнанный до тактовой частоты 1.5ГГц (2 потока по 750МБайт/c в DDR) на отладочной плате от National - к отладочной плате с Virtex4 VFX12. Передавали данные в RS-232 и в ПК, без всяких констреинтов, и даже клок с АЦП подавался на обычный пин с CLOCK DEDICATED ROUTE=false. Но всё работало и синус красивый на экране показывало.
Потом почитали литературу - поумнели, задали констреинты - они естественно не сошлись и синус развалился.

вот фото чудо девайса

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



Спасибо за ответ! Проект в принципе и не собирается , пока в MAP Properties не поставишь галочку на Perform Timing-Driven Packing and Placement wacko.gif . CLOCK DEDICATED ROUTE=false также использовал, когда клоковый сигнал пришлось подать на обычный пин...
А вот ,к моему стыду, не знаю, что такое констреинты. Прошу не пинать, это мой первый проект на VHDL и FPGA ...


Цитата(dde29 @ Apr 20 2011, 05:49) *
внешний клок через PLL прогоняешь?


Подаю просто на GCLK0 ... Этого недостаточно?
Go to the top of the page
 
+Quote Post
Иван Панченко
сообщение Apr 21 2011, 07:59
Сообщение #10


Участник
*

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



Цитата(NOVY @ Apr 19 2011, 12:54)
По какому-то асинхронному событию запускаю счетчик по клоку

Сформируйте из асинхронного сигнала запуска,синхронный -его и используйте для запуска счетчика
Go to the top of the page
 
+Quote Post
NOVY
сообщение Apr 21 2011, 08:21
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Цитата(Иван Панченко @ Apr 21 2011, 10:59) *
Сформируйте из асинхронного сигнала запуска,синхронный -его и используйте для запуска счетчика


Пробовал (правда не все сигналы). Просто асинхронный сигнал подавал на Д вход Д-триггера, а его стробировал клоком...
Go to the top of the page
 
+Quote Post
Иван Панченко
сообщение Apr 21 2011, 09:23
Сообщение #12


Участник
*

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



Цитата(NOVY @ Apr 21 2011, 12:21) *
Пробовал (правда не все сигналы). Просто асинхронный сигнал подавал на Д вход Д-триггера, а его стробировал клоком...

мой Вам совет, делайте так со всеми сигналами;-)
Go to the top of the page
 
+Quote Post
Victor®
сообщение Apr 21 2011, 10:07
Сообщение #13


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Иван Панченко @ Apr 21 2011, 12:23) *
мой Вам совет, делайте так со всеми сигналами;-)


...только на 2 последовательно соединенных DFF.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
NOVY
сообщение Apr 21 2011, 10:52
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622



Цитата(Victor® @ Apr 21 2011, 13:07) *
...только на 2 последовательно соединенных DFF.


А можно пояснить???

Цитата(NOVY @ Apr 21 2011, 13:50) *
А можно пояснить???

В чем необходимость 2 раза пропустить через Д-Триггер?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 21 2011, 10:56
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(NOVY @ Apr 21 2011, 14:52) *
А можно пояснить???


В чем необходимость 2 раза пропустить через Д-Триггер?


Я уже сам писать не буду, пусть теперь Виктор Вам напишет, где об этом написано подробно и на родном языке... sm.gif


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

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

 


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


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