Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор ПЛИС XILINX
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Algol
Доброго времени суток.

Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит.
Примерное структурное описание:
Контроллер работает только в режиме ведомого устройства ISA.
Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA.

В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле.

Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?
Andrew Su
Цитата(Algol @ Nov 28 2009, 19:39) *
Доброго времени суток.

Стоит задача выбора CPLD XILINX для реализации контроллера ISA 16 бит.
Примерное структурное описание:
Контроллер работает только в режиме ведомого устройства ISA.
Данные на вход поступают по параллельному интерфейсу (возможен вариант по SPI если линий GPIO не хватит), далее входные данные складируются в FIFO откуда и выдаются на шину ISA.

В данный момент мне необходимо лишь заложить конкретную ПЛИС в схему будущего устройства. Но для этого необходимо определиться с требуемой логической емкостью. В данный момент у меня небольшой опыт проектирования на плис (реализовано только чтение 8разрядного счетчика по ISA 8бит на XC9536), поэтому и нужна помощь сведующих в этом деле.

Буду благодарен любой конструктивной критике и рекомендациям. Остановился на серии XC9500XL, но что выбрать из XC9572XL, XC95144XL, XC95288XL?


Добрый вечер.
Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости.
Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов.
Если Вы твердо намерены применять CPLD, рекомендую обратить внимание на CoolRunner XPLA3 CPLD.
Если FIFO надо побольше, можно взять что-то из младших Spartan3, там памяти будет достаточно. Однако это уже FPGA.
Удачи.
o_khavin
Добавлю свои пять копеек. Помимо размера следует учитывать уровни i/o. Вроде в ISA 5 вольт? Не уверен, что Spartan3 это может... в любом случае это нужно проверить.
Andrew Su
Цитата(o_khavin @ Nov 28 2009, 20:32) *
Добавлю свои пять копеек. Помимо размера следует учитывать уровни i/o. Вроде в ISA 5 вольт? Не уверен, что Spartan3 это может... в любом случае это нужно проверить.

Про 5 вольт не подумал laughing.gif И вообще, сигналы ISA лучше пропустить сквозь 244(245) буферы. Так будет надежнее.
Boris_TS
Сам делал периферийные устройства ISA на XPLA3 - они мне больше понравились, чем XC9500xx. Но сейчас уже вовсю продаётся Spartan-3AN - он тоже с Flash ROM на борту, но при его использовании, конечно, понадобится поставить внешние преобразователи уровней.

Если бы мне сейчас понадобилось делать ISA устройство, то с большой вероятностью я бы выбрал XC3SAN50-xTQ144x.
Algol
Большое спасибо всем ответившим.
Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В.
Boris_TS Спасибо за совет, сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN?

"Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости."
Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.
"Проще всего - создайте проект, нарисуйте схему (опишите его на verilog или VHDL), скомпилируйте и сами увидите, сколько Вам надо ресурсов."
С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматьсяsad.gif
VladimirB
Цитата(Algol @ Nov 29 2009, 10:43) *
"Если без FIFO, то все остальное наверное поместится и в XC9572XL. Для реализации FIFO более-менее приемлемой глубины, лучше применить кристалл большей емкости."
Вопрос о глубине FIFO меня, признаюсь, тоже мучает - сколько реально может поместиться скажем в XC95144XL? С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.

Глубина встроенного фифо для XC95144XL практически нулевая. Т.к. 1 бит памяти данных - это один триггер, а их всего 144 штуки. А ещё триггеры нужны для всего остального, например для счётчиков адреса, входных и выходных регистров.

Так что, если не хотите связываться с внешней FIFO-памятью, ставьте FPGA и буферы для согласования с 5V сигналами ISA.
Например в том же XC3S50AN имеется 6кБайт встроенной двухпортовой блочной памяти для реализации FIFO.
Algol
VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно.
Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind.
VladimirB
Цитата(Algol @ Nov 29 2009, 17:10) *
VladimirB Спасибо вам за такой аргументированный ответ. Очень наглядно и убедительно.
Глянул даташит на XC3S50AN. Похоже программирование флеш реализовано через стандартный jtag, поправьте если ошибаюсь. Да, и еще сложилось ощущение, что это дефицит, но пока не искал вплотную где купить, пробежался только поиском по efind.



Да там программирование флешки через jtag делается как и у других FPGA и CPLD.
Конечно в "чип и дипе" XC3S50AN не купишь, как и большинство других FPGA.
Продукцию Xilinx мы обычно здесь берем - дешевле даже чем у офицального дилера получается. Вот например спартаны лежат http://www.abnuniversal.ru/catalog/details/47360593.htm по 9 баксов.
За 2-3 недели стабильно привозят, сроки поставки не разу не нарушали. Там же и 5V tolerant буфера закажите (например 74LCX245), тоже редкость для розницы.
Пока платы разводите - привезут.
Boris_TS
Цитата(Algol @ Nov 29 2009, 10:43) *
Как уже отметили тут CoolRunner не подходит именно по причине нетолерантности к 5В.

XPLA3 - как раз 5В толерантны... Выдать, конечно, смогут только 3.3В, так что выходы желательно пропустить через буфера.
CoolRunner 2 - не 5В толерантны.

Цитата(Algol @ Nov 29 2009, 10:43) *
сейчас посмотрю на XC3SAN50-xTQ144x. Тут наверное имелось ввиду XC3S50AN?

Да, опечатался. XC3S50AN-xTQ144x. Официальный дистрибьютор уже с пол года торгует ими в розницу - сами у них покупали.
o_khavin
Цитата(Algol @ Nov 29 2009, 11:43) *
...
С FPGA как то не хочется завязываться. Да и преобразователи уровней ставить - это дополнительное место на плате, у меня ограниченный размер.
...
С этим трудно поспорить, но в данный момент ISA-шина и контроллер закладываются в схему "на перспективу", нужно как можно быстрее отдать ПП в производство, поэтому вопросами моделирования у меня нет совершенно времени заниматьсяsad.gif
...

Если человек говорит "на перспективу", то это означает, что он ещё даже не имеет представления о том, сколько функций захочется добавить. smile.gif В этом случае выбор девайса, в который хз влезет или нет то, что уже планируется, несколько неосмотрительно. Я бы на Вашем месте один раз помучавшись с дополнительными регистрами на плате, избавил бы себя от потенциального гемороя с переделкой девайса.
gitzzz
Всем привет smile.gif
Прошу помощи в поиске литературы, которая поможет с дипломной работой. Стоит задача разработать мультиплексор транспортных потоков DVB/MPEG-2. Нужно обосновать выбор конкретной ПЛИС под такие задачи:
- прием до 8 цифровых потоков со скоростью до 54Мбит/c
- формирование нового транспортного потока (возможно двух транспортных потоков) с выходной скоростью до 54Мбит/c.
Сейчас имеем примерно вот такую структурную схему:

Моя проблема в том, что всё свелось к ПЛИС неожиданно для меня, и теперь необходимо разобраться хотя бы в принципах, по которым эта самая ПЛИС выбирается.
Ну и прошу не кидать тяжестей в бедного студента smile.gif
Maverick
Цитата(gitzzz @ May 9 2010, 19:12) *
Всем привет smile.gif
Прошу помощи в поиске литературы, которая поможет с дипломной работой. Стоит задача разработать мультиплексор транспортных потоков DVB/MPEG-2. Нужно обосновать выбор конкретной ПЛИС под такие задачи:
- прием до 8 цифровых потоков со скоростью до 54Мбит/c
- формирование нового транспортного потока (возможно двух транспортных потоков) с выходной скоростью до 54Мбит/c.
Сейчас имеем примерно вот такую структурную схему:

Моя проблема в том, что всё свелось к ПЛИС неожиданно для меня, и теперь необходимо разобраться хотя бы в принципах, по которым эта самая ПЛИС выбирается.
Ну и прошу не кидать тяжестей в бедного студента smile.gif

Расскажите плиз зачем микроконтролер и 2 тактовых генератора?
PS А лучше дайте полное описание структурной схемы
gitzzz
Цитата
Управление мультиплексором осуществляет микроконтроллер, получающий команды с пульта управления или через интерфейс RS-232/485 посредством приемо-передатчика.
При подаче на входы мультиплексора транспортных потоков в каждом из потоков осуществляется поиск синхробайта. Организованные внутри ПЛИС буферы накапливают транспортные пакеты и сбрасывают их во внешнее ОЗУ. Использование ОЗУ позволяет согласовать выходную и входную скорости потоков. Если во входных транспортных потоках содержатся одинаковые идентификаторы пакетов (PID), то происходит их переименование.
При поступлении на вход мультиплексора группового транспортного потока (TS_in), из которого можно изъять или добавить в него другие программы и сформировать, тем самым, новый групповой поток (TS_out), корректируется системная информация и метки времени.
При подаче на входы ЦТВ-МТП цифровых потоков, структура которых отличается от структуры транспортного потока, происходит поиск в них синхрослов. После их обнаружения происходит преобразование данных в формат транспортных пакетов и, как следствие, формирование транспортного потока.
Скорость выходного транспортного потока определяется частотой генератора.

Как-то вот так smile.gif
зы: тут не описан генератор-1, если это принципиально - уточню у руководителей. Скорее всего для расстановки временных меток.
Maverick
Цитата(gitzzz @ May 9 2010, 19:50) *
Как-то вот так smile.gif
зы: тут не описан генератор-1, если это принципиально - уточню у руководителей. Скорее всего для расстановки временных меток.

тогда, на мой взгляд, микроконтроллер не нужен - организовывается микропроцессор вместе с логикой в ПЛИС и в результате получается система на кристалле. ПЛИС какой фирмы Вы хотите altera или xilinx ?
gitzzz
Склоняюсь к xilinx-у. Хотя на самом деле для меня абсолютно никакой разницы нет. Мне надо всего-то написать критерии, по которым я выбрал именно эту ПЛИС из этой серии. А какие критерии важны для данной задачи - я пока не знаю smile.gif
Maverick
Цитата(gitzzz @ May 9 2010, 20:41) *
Склоняюсь к xilinx-у. Хотя на самом деле для меня абсолютно никакой разницы нет. Мне надо всего-то написать критерии, по которым я выбрал именно эту ПЛИС из этой серии. А какие критерии важны для данной задачи - я пока не знаю smile.gif

Для Вашей задачи думаю вполне подойдет Spartan 3 или Spartan 3E. Серии Virtex II или Virtex 4 скорее всего не подойдут из-за своей дороговизны.
Но чтобы сделать выбор нужна цифровая схема обработки или хотя бы какая-то структурная или функциональная схема обработки. Т.е. как Вы будете производить мультиплексирование каналов в ПЛИС.
Это нужно, чтобы определить ресурсы, которые необходимы. Ознакомитесь с микропроцессором фирмы Xilinx Microblaze. Подумайте может стоит на логике самому сделать UART(если он нужен только для приема команд) и тогда сможете обойтись без микропроцессора.

Путь номер 2: Скачать ISE 10.3 и там все разработанные блоки соединить воедино и промоделировать, можете заранее Выбрать кристалл с большей емкостью. Получить правильную циклограмму работы схемы. После этого, синтезатор сам покажет Вам необходимые ресурсы и скоростные характеристики Вашей схемы. Выбор кристалла тогда сделаете, следующим образом - чтобы Ваша логика(цифровая схема) занимала 50-60% всей емкости кристалла и Вам подходили скоростные характеристики данной ПЛИС.

PS Вы знаете языки описания аппаратуры (VHDL, Verilog) или будете рисовать в Shematic Editore?
gitzzz
Спасибо за помощь, теперь я начинаю читать про Spartan 3 smile.gif
Хочу напомнить, что про готовое изделие пока речи не идет. Это всего-лишь дипломная работа, в которой я разрабатываю концепцию устройства с небольшим углублением в элементную базу.
Язык описания VHDL знаю в рамках курса САПРа, но этого явно не достаточно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.