Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Starter Kit и все нужные программы для FPGA
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2
Leka
bb-offtopic.gif Скачал ispLever Starter 7.2, та-же история - застревает на синтезе памяти 2к*36 smile3046.gif (проект, проверенный на ISE9/11 и в железе на разных чипах)
manul78
Блин, вот тоже втянулся...
Никогда с ПЛИСинами неработал, поэтому полный ноль. Сталкивался только с самыми примитивными
типа PAL16V8 , и никак понять не могу как их программировать, и как их читать ?
Для меня такие "примитивы" самое то ! Обвязка для Атмеловских МК простого типа, Атмега8, 16 например.
Что посоветуете ? Отказаться сразу от CPLD, и сразу начать с FPGA ?
Но у меня "задачки" очень простые, и ПЛИС-ины мне нужны как дешифраторы и пр. мелочевка.
Что скажите ?
Leka
Цитата(manul78 @ May 12 2009, 23:38) *
Обвязка для Атмеловских МК простого типа, Атмега8, 16 например.
Что посоветуете ? Отказаться сразу от CPLD, и сразу начать с FPGA ?
Но у меня "задачки" очень простые, и ПЛИС-ины мне нужны как дешифраторы и пр. мелочевка.
Что скажите ?

В мелкую FPGA с блочной памятью легко влезет простой МК, проблема только с софтом.
Другая проблема м/б с питанием - FPGA требуют 2-3 питания.
SM
Цитата(manul78 @ May 12 2009, 23:38) *
Что посоветуете ? Отказаться сразу от CPLD, и сразу начать с FPGA ?
Но у меня "задачки" очень простые, и ПЛИС-ины мне нужны как дешифраторы и пр. мелочевка.

Не отказывайтесь от CPLD. Вам для таких задач в 99% случаев хватит серий MAX3000 или (кстати FPGA-based) MAX-II. А перейти потом на FPGA, если будут задачи посерьезнее, не будет никаких проблем. Софт тот же, описания делаются теми же методами и/или на тех же языках, средства конфигурирования/прошивания (JTAG) - те же. Просто используйте то, что выгоднее в конкретном проекте. Кстати, в отличие от PAL/GAL, для работы с которыми нужен отдельный программатор с колодкой, куда вставлять микруху, все это программируемо/загружаемо внутрисхемно.
manul78
Цитата(SM @ May 13 2009, 00:23) *
Не отказывайтесь от CPLD. Вам для таких задач в 99% случаев хватит серий MAX3000 или (кстати FPGA-based) MAX-II. А перейти потом на FPGA, если будут задачи посерьезнее, не будет никаких проблем. Софт тот же, описания делаются теми же методами и/или на тех же языках, средства конфигурирования/прошивания (JTAG) - те же. Просто используйте то, что выгоднее в конкретном проекте. Кстати, в отличие от PAL/GAL, для работы с которыми нужен отдельный программатор с колодкой, куда вставлять микруху, все это программируемо/загружаемо внутрисхемно.


Спасибо ! Я вот как раз остановился на MAX3000. Дешево и сердито !
А заливать их чем ? Байт бластером ? Или проще заказать недорогой фирменный кабель ?
Хочется не "самопал" а что-то под USB, т.к. рабочий компьютер у меня ноутбук.
SM
Цитата(Leka @ May 12 2009, 23:35) *
bb-offtopic.gif Скачал ispLever Starter 7.2, та-же история - застревает на синтезе памяти

Для того, чтобы проверить синтез, не надо качать исплевер, хватит синплифая. Для того, чтобы синтез памяти, описанный под ксилинкс, не застревал, его надо описать не так, как рекомендует ксилинкс, а как рекомендует лэтис. Или, чтобы изначально избегать подобных проблем совместимости, всегда пользоваться готовыми блоками памяти (например синтезаторы под asic-и Вам никогда в жизни блочную память не сгенерят по ее описанию).

Цитата(manul78 @ May 13 2009, 00:54) *
Хочется не "самопал" а что-то под USB, т.к. рабочий компьютер у меня ноутбук.

Вроде ЭФО продавало недорогие усб-кабели баксов по 60. Да и усб-самопалы не проблема http://www.ixo.de/info/usb_jtag/
dos622
Цитата(Serhiy_UA @ May 5 2009, 14:23) *
Если с самого начала, то лучше с начать с CPLD, а потом пересесть за FPGA. Хотя можно сразу и с FPGA.


В CPLD чип данные как в ПЗУ зашиваются?
Т.е. не нужно загружать их при включении питания?
Что можно запрограммировать на CPLD "по обьему" - микропроцессор, десяток счетчиков и т.д - как правильно оценить.
SM
Цитата(dos622 @ May 15 2009, 10:56) *
В CPLD чип данные как в ПЗУ зашиваются?

Да. И не только в CPLD, а и в некоторые FPGA, например LatticeXP и XP2.
Цитата(dos622 @ May 15 2009, 10:56) *
Т.е. не нужно загружать их при включении питания?

Да.
Цитата(dos622 @ May 15 2009, 10:56) *
Что можно запрограммировать на CPLD "по обьему" - микропроцессор, десяток счетчиков и т.д - как правильно оценить.

Качаете даташит, смотрите количество триггеров (оно что в CPLD, что в ФПГА, как правило, повторяет и кол-во LE)....
mempfis_
Цитата(dos622 @ May 15 2009, 09:56) *
В CPLD чип данные как в ПЗУ зашиваются?
Т.е. не нужно загружать их при включении питания?
Что можно запрограммировать на CPLD "по обьему" - микропроцессор, десяток счетчиков и т.д - как правильно оценить.



В CPLD конфигурационная память на борту - отпадает необходимость в загрузчике и загрузке прошивки каждый раз при включении питания. Т.е. послн подачи питания микросхема конфигурируется и сразу готова к работе.
Чтобы оценить сколько всего можно зашить в CPLD прикиньте сколько у вас в проекте будет триггеров - это и будет приблизительное число занятых блоков. Заметил что в MAX3000 добавление одного пина также отнимает блок (в MAXII такого не наблюдается).
dos622
Цитата(mempfis_ @ May 15 2009, 12:24) *
В CPLD конфигурационная память на борту

А в Spartan 3AN - память тоже на борту.
Или это совсем другое?

Ну вот в серии 9500 пишут, что триггеров от 36 до 288 штук.
Но это же мало - на 36 триггерах - штук 8 счетчиков можно только слепить и это все? laughing.gif
SM
Цитата(dos622 @ May 15 2009, 13:37) *
А в Spartan 3AN - память тоже на борту.
Или это совсем другое?

Да, там тоже память на борту, но это совсем другое. Эта память там выполнена в виде второго кристалла (обычная конфиг-ПЗУ), сидящего флип-чип-ом на первом (обычном спартане), таким образом защищенность системы никакая. В отличие от остальных, у кого флеш расположена на одном кристалле с матрицей (включая и другие FPGA с конфиг-памятью, а не только CPLD).

Цитата(dos622 @ May 15 2009, 13:37) *
Но это же мало - на 36 триггерах - штук 8 счетчиков можно только слепить и это все? laughing.gif

Для чего-то мало, а для чего-то и даже излишне. Все зависит от задачи.
Boris_TS
Цитата(dos622 @ May 15 2009, 12:37) *
А в Spartan 3AN - память тоже на борту.
Или это совсем другое?

Spartan 3AN - это сборка Spartan 3A + Flash ROM в одном корпусе. Кстати этот Flash ROM размером на 2 с небольшим прошивки, при желании можно использовать вторую половину Flash ROM для своих собственных нужд.

Замечу, что и CPLD и сборки FPGA + Flash ROM - сразу после подачи питаний загружаются - время загрузки невелико, но оно есть и забывать об этом крайне черевато. В это время для обоих семейств ПЛИС (и CPLD, и FPGA) необходимо какими-то внешними способами удерживать "правильные" состояния на их выходах, чтобы остальная схема на дискретных элементах не сходила с ума.

Цитата(dos622 @ May 15 2009, 12:37) *
Ну вот в серии 9500 пишут, что триггеров от 36 до 288 штук.
Но это же мало - на 36 триггерах - штук 8 счетчиков можно только слепить и это все? laughing.gif

Ну... на 36 триггерах можно и один 36 разрядный счетчик собрать - больше места не останется...

Да это и всё. Но есть задачи в которых больше и не нужно. Кстати 9500 - это достаточно древнее семейство, из Xilinx CPLD стоит глядеть на XPLA3 (CoolRunner) или сразу на CoolRunner II - у этих ПЛИС существенно лучше организован генератор логических функций. В XPLA3 более развита система цепей управления, а CoolRunner II хоть и имеет цепи управления схожие с 9500, но работает заметно быстрее + еще есть некоторые мелкие вкусности, которых у более ранних Xilinx CPLD - нет.
Еще надо имеет в виду, что CPLD труднее вскрыть, чем сборки FPGA + Flash ROM – для ряда задач это существенно.
SM
Цитата(Boris_TS @ May 15 2009, 15:02) *
чем сборки FPGA + Flash ROM – для ряда задач это существенно.

А, если не секрет, какие еще есть сборки FPGA+ROM, кроме этого спартана? На сколько мне известно, все остальные микросхемы это однокристальные решения.

Цитата(Boris_TS @ May 15 2009, 15:02) *
Замечу, что и CPLD и сборки FPGA + Flash ROM - сразу после подачи питаний загружаются

Нет. Классические CPLD имеют прямую связь флеш-массива и ключей матрицы коммутации, и работают сразу после подачи питания, например GALxxVxx, MAX300A. Другое дело, что хиленькие FPGA (например Altera MAX-II) стали почему-то называть тоже CPLD, хотя они именно FPGA, поэтому к слову "CPLD" стоит относиться с большим недоверием, заглядывая в даташит, где под CPLD может скрываться мелкая сопливая FPGA.
dos622
Цитата(SM @ May 15 2009, 15:15) *
Нет. Классические CPLD имеют прямую связь флеш-массива и ключей матрицы коммутации, и работают сразу после подачи питания,


А у Xilinx, для загрузки матрицы CPLD, используют специальные "шнурки"?
Мне непонятно зачем нужно столько модификаций этих кабелей загрузочных? laughing.gif
SM
Цитата(dos622 @ May 15 2009, 20:55) *
А у Xilinx, для загрузки матрицы CPLD, используют специальные "шнурки"?

Не знаю, что там у этого xilinx. У альтеры, как и у lattice любым JTAG-кабелем можно зашить любой чип, лишь бы с уровнями в JTAG-интерфейсе все совместимо было.
manul78
По вашим советам связался c ЭФО и заказал там USB-BLASTER...

Пришел ответ, и спрашивают "а еще чего брать будешь ?"

Я вот решил начать с MAX3000A и MAX II , только там модификаций целая гора...

С каких именно посоветуете начинать ? Я ведь практически ноль в них...
Какие попроще и в монтаже и в обвязке ?
SM
Цитата(manul78 @ May 15 2009, 21:53) *
Какие попроще и в монтаже и в обвязке ?

Что касается обвязки - все одинаковы. Она им просто не нужна, кроме качественного питания. Касаемо монтажа, это уж сами выбирайте, что в Ваших условиях проще. Касаемо объема - для начала надо брать по принципу "много - не мало". И, учтите, их флеш не живуча, перешивок так 100, и возможен кирдык. Так что упор надо ставить на симуляцию при отладке.
Boris_TS
Цитата(SM @ May 15 2009, 14:15) *
Нет. Классические CPLD имеют прямую связь флеш-массива и ключей матрицы коммутации, и работают сразу после подачи питания, например GALxxVxx, MAX300A. Другое дело, что хиленькие FPGA (например Altera MAX-II) стали почему-то называть тоже CPLD, хотя они именно FPGA, поэтому к слову "CPLD" стоит относиться с большим недоверием, заглядывая в даташит, где под CPLD может скрываться мелкая сопливая FPGA.

Нууу,.. моё дело внимательно читать и вовремя ссылаться, а также сеять тени сомнений: "действительно ли "оно" работает так, как планировалось и никак иначе ???"

Читаем в XAPP440 - Power On Behavior of Xilinx CPLDs третий абзац:
CPLDs must reset to a known state and load an internal configuration pattern (EPROM) into volatile logic cells (SRAM), extremely quickly, to appear ”instantaneously on.” In the case of CoolRunnerTM CPLDs, to save power, internal EPROM cells are powered down after configuration. Configuration is also performed in XC9500TM, XC9500XLTM, and XC9500XVTM CPLD families as the power supply voltage rises, though due to architecture differences the mechanics are significantly different. Loading the EPROM into volatile memory saves power, but comes with the price of extended configuration time. To speed up configuration, a fast state machine starts early – when the VCC is about two-thirds of the way to VCCMIN. This presents a gap in output pin tracking, as the pins remain unconfigured until the configuration point. They become configured when their SRAM cells are loaded.

Xilinx позиционирует XC9500xxx - как классические CPLD, т.е. CPLD с PAL архитектурой генератора логических функций.
XPLA3 - это CPLD с заимствованной (вроде как у Philips) более мощной архитектурой генератора логических функций (PLA).
CoolRunner II - это уже гибрид классических разработок Xilinx (XC9500xxx) с достаточно прогрессивной заимствованной PLA архитектурой - единственным заметным недостатком является наличие питания ядра (1.8В), зато есть возможность работать с разными стандартами ног ввода/вывода (от 3.3В до 1.5В).

А Вы действительно уверенны что у Alter'ы не используется точно такой же подход к энергосбережению к "классических" CPLD ?

Цитата(dos622 @ May 15 2009, 19:55) *
А у Xilinx, для загрузки матрицы CPLD, используют специальные "шнурки"?

Можно и так сказать. Но я бы сказал, что используется "обычный" Xilinx JTAG шнурок, который может работать с нужными уровнями... В общем случае можно программировать ПЛИС и до установки её на плату (т.е. запрограмировал CPLD и продал, как некое законченное изделие).

Цитата(dos622 @ May 15 2009, 19:55) *
Мне непонятно зачем нужно столько модификаций этих кабелей загрузочных?

Так получилось... Ну если окунуться в историю, то мне кажется дело было так (официально я не смог найти ни подтверждения, ни опровержения этих домыслов):
0. Жил был хитрый device - HW130, который позволял программировать микросхемы в сменных панельках. Этот device был хитрый и дорогой.
1. Поэтому, когда я начинал работать с Xilinx, то использовал простой и эффективный Parallel Download Cable III - штука на 2 буферах цепляющаяся к LPT порту машины (собранная своими руками, естественно), но эта штука могла работать только с 5В уровнями сигналов. Есть неофициальные модификации, которые позволяют использовать и 3.3В - но это уже в большинстве случает насилие над LPT портом, а серьёзная фирма на это пойти не могла.
2. Посему появился Parallel Download Cable IV - уж не помню до какого предела по вольтам он работал - но этот шнурок уже мог работать не только с 5В стандартами, ну и конечно он работал заметно быстрее, чем его предшественник.
3. Был еще хитрый Multy Links Pro - но т.к. он был не дешевый, то я с ним не встретился. Похоже это единственный кабель который позволял работать с FPGA в параллельном режиме.
4. Затем появились USB шнурки. Я познакомился только с Platform Cable USB (1). В этих кабелях уже была предусмотрена возможность динамического обновления прошивки Cypres, поэтому они достаточно долго продержались. Вдобавок, он работал существенно быстрее Parallel Download Cable IV.
5. Сейчас производиться только Platform Cable USB II. Местное обсуждение тут: Xilinx® Platform Cable USB II
SM
Цитата(Boris_TS @ May 15 2009, 21:59) *
И Вы действительно уверенны что у Alter'ы не используется точно такой же подход к энергосбережению к "классических" CPLD ?

Я, собственно, тут тоже дальше даташитов не хожу...
"Signals can be driven into MAX 3000A devices before and during power-up without damaging the device. In addition, MAX 3000A devices do not drive out during power-up. Once operating conditions are reached, MAX 3000A devices operate as specified by the user"

Отсюда следует однозначный вывод, что никакой пересылки никуда не происходит. Как только "operating conditions" - так сразу as specified by user. И, думаю, это причина того, что флеш совершенно не живучая к перезаписи, благо она должна быть раскидана по всему кристаллу. А вот MAX-II - совершенно официально пересылает, но и имеет архитектуру циклона.

А так спасибо за инфу. Я не знал, что кулранер делает перегрузку в ОЗУ. Я думал, он честный.
manul78
Цитата(SM @ May 15 2009, 21:58) *
И, учтите, их флеш не живуча, перешивок так 100, и возможен кирдык. Так что упор надо ставить на симуляцию при отладке.


Спасибо ! Учту, что надо брать "горсть" штук по 10...
(да, это не атмеловский МК. У меня валяется отладочная плата ATiny2313, дык я на ней два года эксперименты
проводил, по 50 раз иногда в день "заливал" и ничего, до сих пор работает...)

Кстати с монтажем как, я вот решил для начала EPM3032 взять...

С софтом тоже не знаю ничего... Из ЭФО парень говорит бери QuartusII...

Только для начинающего он дороговат, хотя если хороший продукт - то и денег не жалко.

Что скажите ?
SM
Цитата(manul78 @ May 15 2009, 22:28) *
Кстати с монтажем как, я вот решил для начала EPM3032 взять...

Тогда уж 3064 в том же корпусе. А то на 32-х триггерах особо и не разгуляешься...
Цитата(manul78 @ May 15 2009, 22:28) *
С софтом тоже не знаю ничего... Из ЭФО парень говорит бери QuartusII...

Так а сейчас других вариантов и нет. Предыдущая среда (максплюс) устарела морально и физически очень давно.
Цитата(manul78 @ May 15 2009, 22:28) *
Только для начинающего он дороговат

Ну... Эт-та... Как бы так сказать... Ну в общем не российская проблема wink.gif
Leka
Цитата(manul78 @ May 15 2009, 22:28) *
С софтом тоже не знаю ничего... Из ЭФО парень говорит бери QuartusII...
Только для начинающего он дороговат, хотя если хороший продукт - то и денег не жалко.

Quartus2 Web edition для Альтеры, и ISE WebPACK для Xilinx - бесплатны и не требуют лицензии.
SM
Цитата(Leka @ May 15 2009, 23:00) *
Quartus2 Web edition для Альтеры, и ISE WebPACK для Xilinx - бесплатны и не требуют лицензии.

Ага, как и ISPLever starter для lattice.
Boris_TS
Цитата(SM @ May 15 2009, 20:58) *
Касаемо объема - для начала надо брать по принципу "много - не мало". И, учтите, их флеш не живуча, перешивок так 100, и возможен кирдык.
Цитата(manul78 @ May 15 2009, 21:28) *
Учту, что надо брать "горсть" штук по 10...

А если взять CoolRunner (XPLA3), то можно и на железяке:
NPE Program/erase cycles (Endurance) MOSIV devices 1,000 - Cycles
NPE Program/erase cycles (Endurance) UMC devices 10,000 - Cycles

Насколько я помню в настоящее время уже почти все CoolRunner 1 (а может и все - надо уточнять) переехали на завод UMC.

Цитата(SM @ May 15 2009, 20:58) *
Так что упор надо ставить на симуляцию при отладке.

Конечно, надо при любом случае упор делать на симулятор - микросхемы они такие: закоротил один выход на другой - и труп, в лучшем случае калека, ну или если совсем повезет то и выживет... но где гарантия, что закороченные выходы не подкоптились (деградировали) ?

Цитата(manul78 @ May 15 2009, 21:28) *
Только для начинающего он дороговат, хотя если хороший продукт - то и денег не жалко.
Что скажите ?

Если Xilinx, то ISE Web Pack. В версии 11.1 практически идентичен ISE Logic (полноценной версии) за вычетом крупных кристаллов.

Цитата(SM @ May 15 2009, 21:10) *
Я, собственно, тут тоже дальше даташитов не хожу...

Хм... а почему тоже ? Я с Alter'ой принципиально не работают - по сему и искать не собираюсь. А для Xilinx нашел и указал место где наиболее детально описано, что же происходит при Powerup внутри ПЛИС, а то ведь в первых версиях документации про CoolRunner тоже писалось, что он де загружает в триггера начальные значения... и ни слово про энергосбережение и копирование прошивки.

Цитата(SM @ May 15 2009, 21:10) *
"Signals can be driven into MAX 3000A devices before and during power-up without damaging the device. In addition, MAX 3000A devices do not drive out during power-up. Once operating conditions are reached, MAX 3000A devices operate as specified by the user"

Отсюда следует однозначный вывод, что никакой пересылки никуда не происходит. Как только "operating conditions" - так сразу as specified by user. И, думаю, это причина того, что флеш совершенно не живучая к перезаписи, благо она должна быть раскидана по всему кристаллу.

Вот отсюда и моё сомнение: а что именно в этот powerup входит в MAX3000 ? Это надо на времянки powerup смотреть, может около них и будет чего интересного написанно. А то мало ли какое там заподло не очень афишируемое порылось... Еще, конечно, бывает в Eratta всякие приколы пишут... А вот в Datasheet об этих приколах, естественно, - ни слова.

Цитата(SM @ May 15 2009, 21:10) *
А так спасибо за инфу. Я не знал, что кулранер делает перегрузку в ОЗУ. Я думал, он честный.

Не только Coolrunner, но и вообще все Xilinx CPLD, включая "классические" XC9500. Что заставляет меня думать (пока не удостоверюсь в обратном), что и в Alter’е в этой powerup процедуре может быть что-то аналогичное...

Для заметки: CoolRunner 1 практически превосходят MAX3000 (и из-за PLA, и из-за более развитой системы управляющих сигналов: например в MAX3000 нельзя использовать внутренний глобальный clock,.. а в XPLA3 - можно,.. и не только clock, но и еще ряд очень полезных сигналов). Да и по ногам они совместимы в пользу CoolRunner 1... единственным тонким местом остается цена.
Кстати, на Lattice тоже стоит посмотреть.
manul78
Цитата(Leka @ May 15 2009, 23:00) *
Quartus2 Web edition для Альтеры - бесплатны и не требуют лицензии.


Я только не понял, ему для работы постоянно нужен интернет ? Что значит Web Edition ?
Или он Limited edition какой ?
В чем фокус ?
Вот Атмеловский AVRStudio - всегда бесплатный ! Без всяких ограничений.
SM
Цитата(Boris_TS @ May 15 2009, 23:18) *
Я с Alter'ой принципиально не работают - по сему и искать не собираюсь.

А за что ее так? Мне вот лично все равно, подо что писать. Только так пока сложилось, что не было ни одного проекта, который был бы эффективнее решался на xilinx. Будет такой проект - так я сразу. Меня ни начальство не держит (ибо нет его), ни религия. Вот очередной проект наметился, так LatticeXP2, за его корпус 8х8 мм при флеше внутри....
Цитата(Boris_TS @ May 15 2009, 23:18) *
а что именно в этот powerup входит в MAX3000 ?

По разъяснению саппорта - время от момента включения питания до того, как питание достигнет минимально допустимой рабочей границы, вне зависимости от его скорости нарастания, тоже касается всех MAX7000. А документов с такими подробностями на них нету, ибо подробностей нет. Зато, из недостатков есть первое, что в отличие от кулранеров и ispMACH 4000Z, они жрут в статике больше, а второе вот: "All registers are cleared upon power-up. By default, all registered outputs drive low when the device is powered up. You can set the registered outputs to drive high upon power-up through the Quartus® II software. Quartus II software uses the NOT Gate Push-Back method, which uses an additional macrocell to set the output high. To set this in the Quartus II software, go to the Assignment Editor and set the Power-Up Level assignment for the register to High." т.е., если коротко, хочешь power up high - придется затратить лишнюю ячейку, что бы проинвертировать выход триггера, который сам не умеет пауер-ап-иться в high.

Что касается lattice - а именно ispXPGA, ispXPLD, ispMACH 4000, ispGDX2 - они как и xilinx, SRAM based, о чем там с гордостью рассказано как о каком-то достижении, как будто это какой-то мегаплюс (нет бы придумали экономию энергии без перегрузки в SRAM, зато надежность выше, как у честных), а вот GAL, ispGAL и ispMACH 4A5 честные. В общем честных CPLD по большому счету не так и много осталось, говоря про большинство, я, похоже, был не прав, оперируя устаревшими данными, примерно 2005-6-го года.. Я, кстати, до этого разговора считал кулранеров честными, и держал их на примете если что. А тут облом, ну зато знать буду.

Цитата(manul78 @ May 15 2009, 23:20) *
Что значит Web Edition ?

Это значит, что он на халяву в интернете лежит smile.gif Разумеется limited, не поддерживает монстрокристаллы, нету версий linux/unix.
Leka
Цитата(SM @ May 15 2009, 23:12) *
Ага, как и ISPLever starter для lattice.

ispLever требует лицензии(хотя и бесплатной), привязанной к физ.адресу.

bb-offtopic.gif Провел сравнение Xilinx vs Lattice (и XST vs Synplify) для урезанного проекта(выкинул периферию, чтобы меньше вставок блочной памяти для Synplify делать):
36-разрядный софт-процессор с 2К слов памяти программ/данных + уарт. Результат после P&R:
FPGA: XC3S500E-5 <--> LFXP2-8E-7
slice: ~270 <--> ~340
LUT: ~400 <--> ~500
Max clock: ~100MHz <--> ~115MHz.
Хотел еще сравнить XST vs Synplify для одного и того-же кристалла (Xilinx), но раз с Synplify проблемы с описанием памяти - а ну его нафиг.
dos622
Цитата(manul78 @ May 15 2009, 21:53) *
По вашим советам связался c ЭФО и заказал там USB-BLASTER...


Эта штука только для Альтеры годится?
Сколько, вам сказали, стоит этот шнурок?
Видел в терраэлектронике шнурок USB (DIGILEND?) - там написано "для Xilinx". Цена на сайте вывешена - 2295 кажется, по факту обычно бывает дороже (маркетинг типа).


Цитата(Boris_TS @ May 15 2009, 21:59) *
Я познакомился только с Platform Cable USB (1). В этих кабелях уже была предусмотрена возможность динамического обновления прошивки Cypres, поэтому они достаточно долго продержались. Вдобавок, он работал существенно быстрее Parallel Download Cable IV.


Для того чтобы "попробовать" на базе - WebPACK_11.1, для CPLD (кулранер) или FPGA (Spartan 3E), какой лучше шнурок взять (понятно, что лучше USB II biggrin.gif ) - Parallel Download Cable IV будет работать с этой программой?
Если да, то что мне нужно переделать в схеме Parallel Download Cable III (тут выкладывал), что бы оно работало с указанными ИМС?
Или может есть выложенные схемы Parallel Download Cable IV?
Например фирма STARTERKIT.RU продает шнурок для стартового набора на Spartan 3E - и они выложили эту схему.
Это и есть Parallel Download Cable IV? rolleyes.gif
Boris_TS
Цитата(SM @ May 15 2009, 22:50) *
А за что ее так? (Alter'у) Мне вот лично все равно, подо что писать.

Так случилось, что я долго работал в областях, где требуется выжимать их кристаллов предельное быстродействие. Т.к. синтезаторы всё-таки глупее человека, то мне пришлось достаточно много полазить на брюхе по кристаллам (при помощи Xilinx FPGA Editor'а) и по изучать получающиеся размещение и разводку различных фрагментов схемы. В результате я состряпал библиотеку для синтеза сильно оптимизированных компонентов под конкретные кристаллы: помимо прямого использования примитивов элементы библиотеки очень плотно набиты constraint'ами. Так случилось, что у Alter'ы не было (а может и сейчас нет) constraint'а тика RLOC (задающим относительное положение примитивов). Да и распределенной памяти у Alter'овских FPGA - нет, а я её активно использую... Я бы сказал у Alter'ы кристаллы Cyclon x примитивнее, чем аналогичные Startan X - конечно, более примитивные кристаллы стоят дешевле... А мне лично больше нравиться более хитровыдуманные кристаллы, где, если что-то не захотело работать на нужной частоте, можно переделать (полазив на брюшке по кристаллу, или даже просто поднабив нежными constraint'ами поплотней) так, что оно заработает.

Как недавно выяснилось, старые библиотеки (рожденные для Virtex-E/Spartan-2E) очень быстро удалось переделать под Spartan-3x. А из-за того, что для Spartan-3x появились новый вкусные constraint'ы и изменилась в лучшую сторону относительная адресация примитивов при работе RLOC - то моей библиотекой стало значительно проще пользоваться, да и сама она упростилась. Полагаю, что когда выродятся Virtex-6 и Spartan-6, то адаптация тоже займет не более 1-2 дней, для переделки всех элементов библиотеки (порядка 50 entity и 80 architecrute).

Цитата(SM @ May 15 2009, 22:50) *
т.е., если коротко, хочешь power up high - придется затратить лишнюю ячейку, что бы проинвертировать выход триггера, который сам не умеет пауер-ап-иться в high

Это тоже ну никак не хорошо. При использовании XST (Xilinx Synthesys Technology) достаточно в начальное состояние вписать :=’1’; и триггер проинициализируется единицей. Соответственно даже в CoolRunner 1 не тратиться ни одна лишняя логическая ячейка.
У CoolRunner 1 свои недостатки, на мой взгляд основным недостатком является наличие неотключаемого HalfLatch в каждом выходе, и необходимость (как и в MAX3000) неиспользованные входные ноги Global Clock ни в коем случае не бросать в воздухе. В CoolRunner II этого безобразия уже нет. Хотя, опять-таки лично мне, этот HalfLatch ни разу не помешал.

Цитата(dos622 @ May 16 2009, 08:58) *
Для того чтобы "попробовать" на базе - WebPACK_11.1, для CPLD (кулранер) или FPGA (Spartan 3E), какой лучше шнурок взять (понятно, что лучше USB II biggrin.gif ) - Parallel Download Cable IV будет работать с этой программой?
Если да, то что мне нужно переделать в схеме Parallel Download Cable III (тут выкладывал), что бы оно работало с указанными ИМС?

В чистом виде работа с Parallel Download Cable III при питании 3.3В замучает LTP порт. Чтобы этот кабель нормально работал по 3.3В интерфейсу необходимо заменить буфера на те, которые при питании 3.3В не будут засаживать 5В выходной сигнал LPT порта. Вроде для этой цели применялись Philips 74AHC, но точно не помню... если порыться на этом форуме, то Вы сможете найти советы по правильной модификации этого шнурка. По поводу Spartan-3E – я не знаю сможет ли он работать с JTAG 3.3В – могут быть проблемы, а вот Spartan-3A(N) точно может у будет работать с JTAG 3.3В.

Цитата(dos622 @ May 16 2009, 08:58) *
Или может есть выложенные схемы Parallel Download Cable IV?

На сколько я помню, Parallel Download Cable IV очень похож внутри на Platform Cable USB (т.е. тоже на базе ПЛИС), но только имеет не USB интерфейс, а EPP (или даже ECP) – поэтому делать такое на коленках себе дороже.

Цитата(dos622 @ May 16 2009, 08:58) *
Например фирма STARTERKIT.RU продает шнурок для стартового набора на Spartan 3E - и они выложили эту схему.
Это и есть Parallel Download Cable IV?

Неее.... - это черт знает что: даже более ущербная версия даже чем старючий Parallel Download Cable III. Ну а чтобы LPT дубу не врезал, они положили последовательные резисторы – это не есть хорошо, хотя и не смертельно.

А XPLA3 (CoolRunner) - он вообще 5В толерантен - когда я с ним работал, я его через JTAG 5В программировал, но лучше конечно заменить буфера на правильные и тогда работать с JTAG 3.3В. А когда освоите простые ПЛИС подумайте, может всё-таки купить фирменный кабель у официальных представителей Xilinx ? (Для СНГ - это будут AV-Net и Inline Group).
dos622
Цитата(Boris_TS @ May 16 2009, 13:25) *
В чистом виде работа с Parallel Download Cable III при питании 3.3В замучает LTP порт. Чтобы этот кабель нормально работал по 3.3В интерфейсу необходимо заменить буфера на те, которые при питании 3.3В не будут засаживать 5В выходной сигнал LPT порта.


Допустим со сторонвы LPT всегда 5 v.
Со стороны FPGA можно сделать чтобы уровни автоматически "подстраивались", можно "вставить" недорогой МК и измерять напряжение этих уровней.
Или на плате адаптера шнурка поставить несколько разьемов - для 1.8 В, для 3.3 В, для 5 В - в зависимости от типа используемого FPGA (его питания), можно сунуть кабель в нужный разьем.
А можно поставить переключатель напряжения питания.
Согласование уровней 5V LPT порта - это единственная проблема? Или есть еще что-то? rolleyes.gif
Boris_TS
Цитата(dos622 @ May 16 2009, 16:13) *
Допустим со сторонвы LPT всегда 5 v.
Со стороны FPGA можно сделать чтобы уровни автоматически "подстраивались", можно "вставить" недорогой МК и измерять напряжение этих уровней.
Или на плате адаптера шнурка поставить несколько разьемов - для 1.8 В, для 3.3 В, для 5 В - в зависимости от типа используемого FPGA (его питания), можно сунуть кабель в нужный разъем.
А можно поставить переключатель напряжения питания.
Согласование уровней 5V LPT порта - это единственная проблема? Или есть еще что-то?

Думаю, что для Parallel Download Cable III единственной проблемой является выбор "правильных" буферов, может быть понадобиться сделать 2 каскадное преобразование (для работы с 2.5В и 1.8В). Конечно, Parallel Download Cable III будет работать значительно медленнее, чем более поздние шнурки, но в то же время он пока еще поддерживаться ISE, и об отмене поддержки пока никто не заикался.

Может так случиться, что проще всего сделать парочку разных шнурков, расcчитанных на 5В-3.3В и 2.5В-1.8В, хотя 1.8В - это экзотика.

А большей скорости работы захочется тогда, когда Вы станете использовать большие ПЛИС или будете использовать ILA (Integrated Logic Analiser - т.е. встраиваемый в FPGA логический анализатор). А когда (и если) Вы будете с ПЛИС серьёзно, то думаю быстро дозреете купить фирменный шнурок.

Вот тут как раз обсуждался момент про буфера... CoolRunner-II, Как быстро разработать прошивку и залить? Если появятся какие-то сомнения то попробуйте написать модератору в личку - так быстрее подскажет.
SM
Цитата(Boris_TS @ May 16 2009, 19:02) *
проблемой является выбор "правильных" буферов, может быть понадобиться сделать 2 каскадное преобразование (для работы с 2.5В и 1.8В).

После выхода микросхем SN74LVC2T45 все проблемы с выбором буферов снимаются на раз. Обе ее стороны работают от 1.65 и вплоть до 5 вольт.

Цитата(Boris_TS @ May 16 2009, 13:25) *
Это тоже ну никак не хорошо. При использовании XST (Xilinx Synthesys Technology) достаточно в начальное состояние вписать :=’1’; и триггер проинициализируется единицей. Соответственно даже в CoolRunner 1 не тратиться ни одна лишняя логическая ячейка.

Да, разумеется это недостаток в сравнении с другими, но это обязательная плата за без-SRAM-овую честность структуры CPLD и работу в режиме сразу по нормализации питания.
dos622
Цитата(SM @ May 17 2009, 18:26) *
После выхода микросхем SN74LVC2T45 все проблемы с выбором буферов снимаются на раз. Обе ее стороны работают от 1.65 и вплоть до 5 вольт.


Тогда и резисторы на входе (со стороны LPT) - не нужны? В схеме starterkit.ru возможно и стоит такая ИС?

Цитата(SM @ May 17 2009, 18:26) *
Да, разумеется это недостаток в сравнении с другими, но это обязательная плата за без-SRAM-овую честность структуры CPLD и работу в режиме сразу по нормализации питания.


Так понимаю, что Альтеровские CPLD, в этом смысле - лучше?
SM
Цитата(dos622 @ May 18 2009, 08:46) *
Так понимаю, что Альтеровские CPLD, в этом смысле - лучше?

Не только альтеровские, но и часть lattice. Да, они не занимаются перезагрузкой в SRAM из внутреннего EE после подачи питания, и готовы к работе сразу же. За счет более высокого потребления и за счет отсутствия опции "power up high" без лишних затрат логики.

Цитата(dos622 @ May 18 2009, 08:46) *
Тогда и резисторы на входе (со стороны LPT) - не нужны? В схеме starterkit.ru возможно и стоит такая ИС?

Нужны. Это элементы защиты.
dos622
Цитата(SM @ May 18 2009, 11:31) *
Нужны. Это элементы защиты.

В даташите SN74LVC125A на первой странице вверху слева написано - Inputs Accept Voltages to 5.5 V.
Это я так понимаю можно ставить эту микросхему без проблем с питанием 3.3 В и подавать на вход до 5.5 вольт?
По типу она одинакова с примененной фирменном шнурке.
SM
Цитата(dos622 @ May 18 2009, 16:37) *
Это я так понимаю можно ставить эту микросхему без проблем с питанием 3.3 В и подавать на вход до 5.5 вольт?

Да. Но, повторю еще раз, SN74LVC2T45 лучше, так как делает честную трансляцию уровней. Раньше, до ее выхода, согласен, LVC125 была вне конкурренции, но теперь в ее применении нет смысла.
azmun
В продолжение топика. Кто юзал Starter Kit Spartan 3AN. Как он для освоения новичку работы с FPGA? Проекты какой сложности можно
реализовать на том чипе (700т вентилей) и окружающей памяти? Есть желание реализовать цифровой фильтр на ПЛИС для обработки низкочастотных сигналов от физической установки
Хватит ли ресурсов?
tema-electric
Цитата(azmun @ Dec 7 2009, 14:52) *
Хватит ли ресурсов?


Смотря какая частота выборок, какой порядок фильтра и какая разрядность данных biggrin.gif.

Если есть встроенные умножители, то пойдёт. Хотя это не обязательное требование. Опять таки насколько низкочастотные? Мегагерцы, килогерцы, Герцы? Может проще заюзать микроконтроллер rolleyes.gif Про фильтры ничего вам не скажу, скажу только что вроде MatLAB умеет генерить VHDL описание для цифровых фильтров. А синтезируемые они или нет cranky.gif Я не пробовал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.