Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Несколько вопросов начинающего по последовательности действий
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MaxVovk
Собственно хочется для начала поморгать лапочками smile.gif. Ну а потом постараться написать кучу 32-битных счетчиков, кучу таймеров с ШИМ, и все это на единой шине с работой через несколько регистров. А если все будет получаться - то и несколько PID, насколько я понимаю, это вполне реально?

В наличии и для отладки - Acex EP1K10.

1. Хочется сразу запаять на плату и развести ноги, которые будут использоваться в проекте. Я правильно понял - все свободные "юзеровские" ноги полностью равноправны и при упаковке я им могу назначить любой вход-выход из проекта?
2. Программировать хочется сразу из управляющего MC. Каким способом проще это делать - эмулировать работу ПЗУшки (сигналы CONF_DONE, STATUS, CLK и DATA) или эмулировать JTAG? Или проще использовать параллельный синхронный, что вроде еще проще?
3. Какой объем нужно предусмотреть в MC для прошивки Acex10-30-50 и на будущее - Cyclone3-6 ? В чем лучше (проще, дешевле) хранить прошивку? И главное - какой файл в проекте (Quartus) есть готовая прошивка и можно ли ее шить по принципу HEX ?
4. Ноги DATA[7:0] в ПЛИСине используются только для загрузки или могут быть использованы в личных корыстных целях?

Был бы благодарен за помощь.
SM
Цитата(MaxVovk @ Dec 28 2006, 22:56) *
Собственно хочется для начала поморгать лапочками smile.gif. Ну а потом постараться написать кучу 32-битных счетчиков, кучу таймеров с ШИМ, и все это на единой шине с работой через несколько регистров. А если все будет получаться - то и несколько PID, насколько я понимаю, это вполне реально?

В наличии и для отладки - Acex EP1K10.

1. Хочется сразу запаять на плату и развести ноги, которые будут использоваться в проекте. Я правильно понял - все свободные "юзеровские" ноги полностью равноправны и при упаковке я им могу назначить любой вход-выход из проекта?
2. Программировать хочется сразу из управляющего MC. Каким способом проще это делать - эмулировать работу ПЗУшки (сигналы CONF_DONE, STATUS, CLK и DATA) или эмулировать JTAG? Или проще использовать параллельный синхронный, что вроде еще проще?
3. Какой объем нужно предусмотреть в MC для прошивки Acex10-30-50 и на будущее - Cyclone3-6 ? В чем лучше (проще, дешевле) хранить прошивку? И главное - какой файл в проекте (Quartus) есть готовая прошивка и можно ли ее шить по принципу HEX ?
4. Ноги DATA[7:0] в ПЛИСине используются только для загрузки или могут быть использованы в личных корыстных целях?

Был бы благодарен за помощь.


1) без проблем, только обратить внимание на dedicated сигналы - клоки, резеты заводить туда куда следует. Остальное - по выбору.
2) Проще всего passive serial. именно nstatus, nconfig, clk и data. conf_done нафиг не сдался.
3) Компилируете проект, смотрите размер прошивки (.rbf файл, не забудьте включить его генерацию в квартусе). Для всех ПЛИС по-разному.
4) DATA0 для загрузки, и если passive serial - то data7..1 это user IO.
DeadMoroz
3) http://www.altera.com/literature/hb/cyc/cyc_c51013.pdf. На странице 3 - размеры рбф-файла для 1го Циклона. Не маленький, в микроконтроллер скорее всего не влезет, придется внешнюю память ставить
Ну да, ещеж можно его скомпрессировать (35-60%)
EvgenyNik
1. Если все банки IO работают в одном уровне напряжения VCCIO, то да. А если используете разные уровни (3.3, 2.5, 1.8) - то небольшие ограничения по размещению, всё-таки, есть - см. "IO Standarts", "using devices in multiple-voltage systems" в PDF на ПЛИСку.
2. Соглашусь с SM или, как вариант, JTAG. В активном режиме есть риск неуспеть за запросами ПЛИСки. И подумайте - надо ли Вам конфить из МК? ИМХО, специальная загрузочная микруха в общем случае лучше, особенно, если только для этого к МК
Цитата
придется внешнюю память ставить

Да и пп. 3-4 сразу отпадают.
MaxVovk
Цитата(Евгений Николаев @ Dec 29 2006, 09:40) *
1. Если все банки IO работают в одном уровне напряжения VCCIO, то да. А если используете разные уровни (3.3, 2.5, 1.8) - то небольшие ограничения по размещению, всё-таки, есть - см. "IO Standarts", "using devices in multiple-voltage systems" в PDF на ПЛИСку.
2. Соглашусь с SM или, как вариант, JTAG. В активном режиме есть риск неуспеть за запросами ПЛИСки. И подумайте - надо ли Вам конфить из МК? ИМХО, специальная загрузочная микруха в общем случае лучше, особенно, если только для этого к МК
Цитата
придется внешнюю память ставить

Да и пп. 3-4 сразу отпадают.


Спасибо за ответы, не бросайте меня пожалуйста в беде... smile.gif

Дело в том, что как раз задумано использование огромного "+" FPGA - смена прошивки при изменении конфигурации системы. Так что придется повесить внешнюю флешку. Наверняка есть какие-нибудь со SPI интерфейсом. И сходу новые вопросы:
0. При внешней загрузке (пассивной?) есть ограничения по скорости подачи данных?
1. Активный режим - это когда ПЛИСина грузит себя сама?
2. Сгенерил .rbf файл, он размером 19Кб для Acex10 и 94Кб для Cyclone6... Его размер что, постоянный, не зависящий от проекта..?
3. В Acex нет PLL, т.е. мне нужно затактировать ее снаружи. А чем это делают?
DuHast
2 нет, размер зависит от проекта, но это не значит, что rbf файл проекта из одного тригера будет зимать мало места.

3 даже если есть PLL, ПЛИС все равно надо тактировать. PLL лишь позволяет умножать тактовый сигнал. Вобщем-то, Вас никто не заставляет подавать на ПЛИС тактовый сигнал, если у Вас в схеме он нигде не используется, но в правельно составленых схемах на тактовый вход всех тригеров, счетчиков и т.п. подается один и тотже тактовый сигнал. В этом случае говорят, что схема синхронная или ,что все элементы схемы работают синхронно. Если тактовых сигналов несколько, то говорят о тактовых доменах - элементах схемы работающих от одного тактового сигнала. Использование синхронных схем позволяет проще учитывать задержки сигналов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.