Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АЦП, ПЛИС , PLL и синхронизация
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
robojim
Добрый день!
Первый раз пишу проект для ПЛИС (EP2C5Q208I8). Суть вот в чем- На ПЛИС поступает сигнал от внешнего генератора 10 МГц, внутри ПЛИС PLL формирует на выходе 80 и 20 МГЦ. эти 80 МГц подаю на АЦП (AD9265). На выходе АЦП необходимо подавать данные с частотой 80 МГЦ, которая идет уже от самого АЦП. В итоге проект не рабоатет, но если я синхронизирую данные с выхода АЦП от PLL 80 МГц, то все работает... Помогите кто чем может))))
Заранее спасибО!
barabek
Цитата(robojim @ Jun 20 2012, 14:36) *
На выходе АЦП необходимо подавать данные с частотой 80 МГЦ, которая идет уже от самого АЦП. В итоге проект не рабоатет, но если я синхронизирую данные с выхода АЦП от PLL 80 МГц, то все работает... Помогите кто чем может))))
Заранее спасибО!


Так и не понял, кто от кого и куда подает опорные частоты. Вам виднее, вопрос в другом - Вы констрейны на пины подключенные к АЦП задавали? По времянке таймквест не ругается?


robojim
Цитата(barabek @ Jun 20 2012, 10:05) *
Так и не понял, кто от кого и куда подает опорные частоты. Вам виднее, вопрос в другом - Вы констрейны на пины подключенные к АЦП задавали? По времянке таймквест не ругается?

TQ ругается. Пробовал задавать констрейны, но так как я только в этом разбираюсь, возможно неправильно их написал...,потому что проект с ними не заработал.ь Вопрос-в констрейнах надо прописывать какие клоки...который синхронизирует ПЛИС с АЦП, Который тактирует выходные данные с АЦП... Надо ли прописывать синхросигналы от PLL...
barabek
Цитата(robojim @ Jun 21 2012, 13:55) *
TQ ругается. Пробовал задавать констрейны, но так как я только в этом разбираюсь, возможно неправильно их написал...,потому что проект с ними не заработал.ь Вопрос-в констрейнах надо прописывать какие клоки...который синхронизирует ПЛИС с АЦП, Который тактирует выходные данные с АЦП... Надо ли прописывать синхросигналы от PLL...


Хм, вопросов много, почитайте лучше сами тонкости написания. Первое, что Вы должны понять - для чего нужны констрейны. Вкратце. Любой Ваш проект можно разделить на две части. Первая полностью лежит внутри плис. Квартус, раскидывая триггеры и логику по внутренним ресурсам, знает все временные параметры путей распространения сигналов (из даташитов у него все забито). Поэтому Вам за это не нужно беспокоиться. Если Вы описали какой-то страшный проект и квартус тусовал-тусовал логику, но так и не смог распределить ресурсы, что бы сигнал от триггера к триггеру долетал за такт, вот тогда будете предпринимать какие-то действия, например, изменять логику работы (или некоторые констрейны задать, но они Вам пока не нужны). А есть другая часть проекта. Та, которая связывается с внешним миром. И вот тут нужно квартусу подсказать. Простой пример. Внешнее устройство по клоку от плис выдает данные, считываемые входными регистрами плис. А теперь вопрос. Откуда квартус знает, какой длины у Вас дорожки и сколько по ним будет лететь сигнал клока до устройства и затем данные от устройства до плис? И через сколько времени после прихода клока это внешнее устройство выставит на своих выходах валидные данные? Конечно, этого квартус знать не может. Это ему нужно подсказать, задав входные и выходные констрейны. Обладая этой информацией квартус будет так размещать входные/выходные триггеры, чтобы данные защелкивались в нужный момент. В общем, почитайте. В любом случае TQ ругаться не должен, но если он не ругается-это еще ничего не значит.
Конечно же, хорошо было бы сначала добиться работы проекта при моделировании, а уже затем заливать в железо. Но, раз Вы новичек и проект не слишком сложный - воспользуйтесь signaltap. Это может значительно помочь при отладке. И осваивается очень быстро.
bogaev_roman
Советую зайти на блог des00, там все подробно и грамотно описано
http://embedders.org/content/timequest-dly...rfeisov-raznykh
если что-то непонятно, то листайте по циклу статей с самого начала
des00
Цитата(bogaev_roman @ Jun 21 2012, 08:33) *
если что-то непонятно, то листайте по циклу статей с самого начала

добавлю немного, переработанный и дополненный материал можно найти здесь
robojim
Цитата(barabek @ Jun 21 2012, 16:57) *
Хм, вопросов много, почитайте лучше сами тонкости написания. Первое, что Вы должны понять - для чего нужны констрейны. Вкратце. Любой Ваш проект можно разделить на две части. Первая полностью лежит внутри плис. Квартус, раскидывая триггеры и логику по внутренним ресурсам, знает все временные параметры путей распространения сигналов (из даташитов у него все забито). Поэтому Вам за это не нужно беспокоиться. Если Вы описали какой-то страшный проект и квартус тусовал-тусовал логику, но так и не смог распределить ресурсы, что бы сигнал от триггера к триггеру долетал за такт, вот тогда будете предпринимать какие-то действия, например, изменять логику работы (или некоторые констрейны задать, но они Вам пока не нужны). А есть другая часть проекта. Та, которая связывается с внешним миром. И вот тут нужно квартусу подсказать. Простой пример. Внешнее устройство по клоку от плис выдает данные, считываемые входными регистрами плис. А теперь вопрос. Откуда квартус знает, какой длины у Вас дорожки и сколько по ним будет лететь сигнал клока до устройства и затем данные от устройства до плис? И через сколько времени после прихода клока это внешнее устройство выставит на своих выходах валидные данные? Конечно, этого квартус знать не может. Это ему нужно подсказать, задав входные и выходные констрейны. Обладая этой информацией квартус будет так размещать входные/выходные триггеры, чтобы данные защелкивались в нужный момент. В общем, почитайте. В любом случае TQ ругаться не должен, но если он не ругается-это еще ничего не значит.
Конечно же, хорошо было бы сначала добиться работы проекта при моделировании, а уже затем заливать в железо. Но, раз Вы новичек и проект не слишком сложный - воспользуйтесь signaltap. Это может значительно помочь при отладке. И осваивается очень быстро.

В том то и проблема, что проект в Modelsime отлично работал и с предупреждениями от TQ, а вот в железе начались проблемы... Ну чтож будем тщательнее изучать TQ)) спасибо большое за помощь!)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.