Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как развести кристалл ф. Actel
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
mcaffee
Ребята,подскажите,где можно почитать или подскажите про разводку актеловского кристалла?То, как Designer разводит не устраивает, как это можно сделать вручную?Заранее спасибоwink.gif!
vetal
Вы можете зафиксировать расположение отдельных элементов - это повлияет на разводку.
Что именно Вас не устраивает?
mcaffee
Цитата(vetal @ Aug 9 2013, 12:43) *
Вы можете зафиксировать расположение отдельных элементов - это повлияет на разводку.
Что именно Вас не устраивает?

После того,как Desinger разводит ее сам, в Time Analyzer появляются вопросы((я так понимаю, ошибка в передаче отдельного разряда(

В проекте через SPI происходит загрузка кода,потом этот код используется в дальнейшем. Но он загружается неправильно(Можно ли как-то учитывая сообщения от Time Analyzer исправить это путем переразводки кристалла?
ZASADA
насколько видно из картинки- с таймингом все отлично, большой запас.
а вы моделирование проводили? все работает?
vetal
О нарушениях заданных Вами временных ограничений он должен сообщить. В данном сообщении говорится, что максимальная тактовая частота для выбранного домена - 180 МГц.
1. Для начала определитесь, что у вас корректно сделан переход между системной тактовой частотой и тактированием spi.
2. Попробуйте вести обмен на меньшей тактовой частоте.

Проблема явно не в разводке, а в построении системы.
mcaffee
Цитата(vetal @ Aug 9 2013, 13:09) *
О нарушениях заданных Вами временных ограничений он должен сообщить. В данном сообщении говорится, что максимальная тактовая частота для выбранного домена - 180 МГц.
1. Для начала определитесь, что у вас корректно сделан переход между системной тактовой частотой и тактированием spi.
2. Попробуйте вести обмен на меньшей тактовой частоте.

Проблема явно не в разводке, а в построении системы.

А почему он выделяет именно отдельные разряды регистров. Если нажать на сигнал строб, то там пишется о 33 разряде(Непонятно, причем тут это(??
И подскажите,как сделать правильный переход между spi и плис?частота тактирования плис 10Mhz, частота тактирования spi 100 KHz.

Цитата(ZASADA @ Aug 9 2013, 13:07) *
насколько видно из картинки- с таймингом все отлично, большой запас.
а вы моделирование проводили? все работает?

Да, моделирование проводил в Modelsime. Там все хорошо работает,без сбоев. Проблема возникает уже на самой плате(
vetal
Цитата
А почему он выделяет именно отдельные разряды регистров. Если нажать на сигнал строб, то там пишется о 33 разряде(Непонятно, причем тут это(??

Вам показывают наихудшее место. При нарушениях вы можете самостоятельно просмотреть всю цепь.


Цитата
И подскажите,как сделать правильный переход между spi и плис?частота тактирования плис 10Mhz, частота тактирования spi 100 KHz.


статья
продолжение
Джеймс
Вы бы хотя бы семейство указали. А то только телепаты могут догадаться что это APA300.
У Вас в отчете 6 тактовых сигналов - как-то многовато для такого простого проекта, нет разве?
А судя по тому что имена двух тактовых "sdvig" и "strob" - проблема у Вас в проекте, а не в 'разводке'
P.S. Даю вам дельный совет. Возьмите Actel-овский core SPI и разберитесь, как он сделан. И проверьте сколько в нем тактовых доменов. Файл spi_slave.v
iosifk
Цитата(mcaffee @ Aug 9 2013, 13:23) *
частота тактирования плис 10Mhz, частота тактирования spi 100 KHz.
Да, моделирование проводил в Modelsime. Там все хорошо работает,без сбоев. Проблема возникает уже на самой плате(


Кроме моего "Краткого Курса", я бы еще порекомендовал сделать фильтр на приходящие данные. При 100 KHz вполне возможно что ПЛИС успевает нахватать помех на фронтах клока, синхронизирующего SPI... Потому можно либо сдвинуть запись в триггер относительно приемного фронта клока spi, либо поставить цифровой фильтр на приеме... Т.е. сдвиговый регистр на несколько тактов системной частоты, чтобы скажем 3 или 5 битов были одинаковыми. А значит, что колебания на фронтах уже закончились....
Это все легко проверить, если писать фронты клока SPI по таймеру. Скажем по приходу первого фронта клока SPI запускаете таймер, работающий на системной частоте. А далее запускаете счетчик клоков, работающий на частоте клока SPI. По окончании работы таймера считываете показания счетчика... И оно должно отличаться от правильного.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.