Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование нескольких MAX3000
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
toweroff
Всего планируется 17 ПЛИС - 3064х16 и 3256.
Проект под Q7.1 на AHDL (точнее - два проекта, 3064 работают идентично)

Для программирования планирую использовать USB Blaster (который в ЭФО)

Есть вопросы, дабы не напортачить с платой

1) Связки TDO-TDI. Длины трассы - порядка 5-8см. Необходимы ли 33 Ом резисторы и pull-up's ?
2) Quartus - programming. После автообнаружения ПЛИС подсунуть для каждой свой pof-файл... и все? какие могут быть камни?
3) Питание. У USB Blaster'a питание поступает от USB или необходимо подключать вывод JTAG к VCC3.3 ?

Разъем JTAG постараюсь развести максимально близко к первой ПЛИС.
vetal
хм...а вы уверены что 3064 оптимальнее нескольких 3512?
toweroff
Цитата(vetal @ Nov 11 2007, 23:17) *
хм...а вы уверены что 3064 оптимальнее нескольких 3512?


От каждой 3064 будет отходить по 55 линий I/O, на которых будут висеть хитрые модули с flash-памятью и интерфейс с процом, 3256 будет заниматься общим управлением и некоторыми дополнительными функциями. Таких flash-модулей планируется 16. Если делать все на 3512 - линий будет просто реально много и все их тащить через сокеты с 1.27 ... ой-ой в общем smile.gif
dvladim
TDI - TDO нормально будет.
Смотрите на TCK. Надо учитывать требование - на 1 источник не более 5 приемников (где-то было в даташитах). Смотрите волновые сопротивления. Очень нежелательны отражения, иголки на TCK.
toweroff
Цитата(den_realan @ Nov 12 2007, 00:15) *
TDI - TDO нормально будет.
Смотрите на TCK. Надо учитывать требование - на 1 источник не более 5 приемников (где-то было в даташитах). Смотрите волновые сопротивления. Очень нежелательны отражения, иголки на TCK.


Спасибо, уже воткнул на TCK отдельный буфер и резистор на каждую ПЛИС... почитал тут соседние ветки smile.gif


А с TMS тоже так же заморачиваться?

И с прошивкой пока не совсем понятно... все дело в том, что это вообще мой ПЕРВЫЙ проект с ПЛИС как таковыми, вроде все в симуляции работает, а вот с практикой пока туго wacko.gif
vetal
Если у вас мелкие плисины на отдельных платках - сделайте отдельный разъем программатора или выведите TCK,TDI,TDO и TMS на отдельные контакты и программируйте с помощью стенда(переходника).
Ставить 17 микросхем в цепочку - очень сложно.
toweroff
Вся беда в том, что одна плата...

Цитата(vetal @ Nov 12 2007, 01:01) *
Ставить 17 микросхем в цепочку - очень сложно.


сложно в каком плане?

в принципе я могу воткнуть несколько разъемов, по одному на 3-4 макса
dvladim
Цитата
А с TMS тоже так же заморачиваться?

Альтера рекомендует. Но, ИМХО, особо не стоит. Сигнал не асинхронный, иголок не боится. Единственное, что буфера должны прокачать всю входную емкость.

Цитата
Ставить 17 микросхем в цепочку - очень сложно.

Не вижу сложностей. Основная проблема бывает с TCK.

Но проблемы можно поиметь и с 1-м приемником TCK из-за кривой разводки платы.
vetal
Цитата
Не вижу сложностей. Основная проблема бывает с TCK.

Эту проблему я и имею ввиду. На мой взгляд, если 17 плат (как я понял), то проще поставить на каждую по разъему для программирования.
toweroff
Цитата(vetal @ Nov 12 2007, 11:43) *
Эту проблему я и имею ввиду. На мой взгляд, если 17 плат (как я понял), то проще поставить на каждую по разъему для программирования.


нет-нет! ОДНА плата, на которой 16 разъемов для модулей flash, их-то как раз и обслуживают 3064-е

Цитата(den_realan @ Nov 12 2007, 10:56) *
Альтера рекомендует. Но, ИМХО, особо не стоит. Сигнал не асинхронный, иголок не боится. Единственное, что буфера должны прокачать всю входную емкость.
Но проблемы можно поиметь и с 1-м приемником TCK из-за кривой разводки платы.


А что там у USB Blaster'a который RUS стоит на выходе? 244? (Терасик вроде ЭФО не продает более, судя по соседним веткам)

Можно тогда TMS и TCK разделить на пару-тройку через буфер... Должно быть нормально

Или как Вы посоветуете разводить TCK?
vetal
Цитата
Если делать все на 3512 - линий будет просто реально много и все их тащить через сокеты с 1.27

Просто из этой фразы подумал, что у вас многоплатная конструкция.
Тогда действительно придется потрудиться с разводкой На плате нужно будет поставить буферы на сигналы tck и tms, c tdi и tdo проблемм не должно быть.

По питанию программаторов - они питаются от вашей платы.
toweroff
Цитата(vetal @ Nov 12 2007, 12:44) *
Просто из этой фразы подумал, что у вас многоплатная конструкция.
Тогда действительно придется потрудиться с разводкой На плате нужно будет поставить буферы на сигналы tck и tms, c tdi и tdo проблемм не должно быть.

По питанию программаторов - они питаются от вашей платы.


А каким напряжением питаются? Кстати, было предположение, что питание бластера может быть самостоятельное, от ЮСБ... Пока в руках его не держал, никакой инфы по нему, к сожалению, нет
vetal
Цитата
А каким напряжением питаются?

Питаются напряжением, которым вы питаете плисину. На то, что в usb есть 5В - не смотрите, оно используется для работы с USB, а питание вы заводите на программатор для обеспечения совместимости уровней сигналов.
dvladim
Цитата(toweroff @ Nov 12 2007, 12:42) *
Или как Вы посоветуете разводить TCK?

Что тут посоветовать?
Разводите деревом. С выхода Бластера через всю плату на входы 4 буферов. Отводы от трассы лучше не делать (или как можно короче). Хорошо бы защитить шину от помех - обрамите землей. На окончании шины оставьте место для терминатора (резистор на землю или RC на землю) (Если без терминатора не заработает попробуйте поставить ом 200).
С выходов буферов - на 4 - 5 ПЛИСин. Желательно звездой или одной лентой. Если будете разводить звезой - то недалеко от источника предусмотрите место для последовательного резистора на каждый луч звезды (поставьте площадки для SMD и закоротите). Близко к ногам ПЛИС предусмотрите место для емкости на землю. (если не заработает поставьте 150 - 300 пФ)

Это конечно правила с большим запасом, но если опыта нет и место на плате есть, то стоит пердусмотреть дополнительные элементы. (Если понадобятся будет куда поставить).

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

Для разводки ВЧ сигналов, согласования и т.п. порекомендую 2-х томник. Точного названия не помню, но как-то так: "Начальный курс черной магии" и "Высший курс черной магии".

Ну и добавлю что для асинхронных сигналов (клоки, асинхронные сбросы) особенно следует добиваться помехоустойчивости в независимости от частоты.
toweroff
У меня будет два питания - 5 и 3.3в

Планирую использовать 6 слоев плату... вот только порядок слоев...

1. Сигнал
2. Земля
3. 5в
4. 3.3в
5. земля
6. сигнал

от 3.3 питаются альтеры, от 5 - проц, буферы и флеши

А черную магию скачал, сижу изучаю smile.gif

Не совсем понял - "С выхода Бластера через всю плату на входы 4 буферов. "

А резюки на землю в конце линии лучше, чем последовательно после источника?


Кстати, ведь с последней альтеры TDO на бластер будет тянуться через плату в 220мм... его ж тоже как-то согласовывать надо
dvladim
Цитата(toweroff @ Nov 13 2007, 01:09) *
Не совсем понял - "С выхода Бластера через всю плату на входы 4 буферов. "

А резюки на землю в конце линии лучше, чем последовательно после источника?
Кстати, ведь с последней альтеры TDO на бластер будет тянуться через плату в 220мм... его ж тоже как-то согласовывать надо

"Через всю плату" имел ввиду, что дальний буфер будет достаточно далеко. Вот у вас милиметров 180 наверное.

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

Насчет последнего TDO. Т.к. входы работают по переднему фронту TCK, а TDO по заднему, то у вас будет полпериода TCK для установления значения на TDO. (Это же касается и TMS)(Вот почему я говорил, что требования к TMS мягче). Ну реально там будет не полфронта, а меньше или больше, в зависимости от алгоритма работы Бластера. Т.к. меняется TCK и считывается TDO не одновременно.

P.S. Удивило. У вас из 6 слоев всего 2 сигнальных?

P.P.S. "магию" не читал, но в магазине полистал. Скажу, что это одна из немногих книг за сумасшедшую цену, которая своих денег действительно стОит.
toweroff
Цитата(den_realan @ Nov 13 2007, 20:43) *
P.S. Удивило. У вас из 6 слоев всего 2 сигнальных?



У меня 2 питания - 5 и 3.3в

Т.к. первый многослой, вот и чешу репу, возможно не в ту сторону sad.gif

В таком случае подскажите, пожалуйста, как лучше расположить слои...
dvladim
Расположение нормальное.
Где-то видел рекомендации: внутреннии слои - земля питание, внешние сигнальные.
Замечу, что у вас 2 питания расположены рядом. Если одно из питаний "чистое", то через паразитную емкость между слоями будут пролезать шумы. Чистое питание лучше запихнуть между землями. (Правда земли тоже шуметь будут)

Если в 2-х сигнальных у вас все разводится, то отлично.

У нас в подобном случае съэкономили на слоях.

Сделали так:
1 - сигнальный
2 - питание. Слой не сплошной. Полигонами. Питаний было 3. Компоненты, использующие разное питание скомпоновали в разных регионах платы.
3 - земля. Сплошной.
4 - сигнальный.

6-ти слойка выходила гораздо дороже.

И заполняйте слои металлом равномерно. Иначе плату гнет. У нас на одной из плат разъемы немного не попали. Стягивает ту сторону, где металла больше.
toweroff
Ухх... попробую, конечно, полигонами... но вряд ли. Разъемы будут практически по ширине платы, питание модулей тоже организовано не в одной точке... поэтому, наверно, придется слои отдавать целиком под питание

А вот что тогда лучше вытащить наверх... 05.gif
К слою 3.3 подключены управляющие альтеры, к слою 5в - проц и модули (по 4(8) флеш в модуле)

Общие частоты - такт проца 24МГц, то есть /RD и /WR получатся ~100ns

Я попробую промоделировать в ПКАД, с разным согласованием, посмотрю что получится..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.