FAQ конференции
"Программируемые Логические Схемы и их применение"

forum.electronix.ru
www.telesys.ru/wwwboards/fpga

Составитель
Дата: 31.07.2006
Version: 0.80

Общие вопросы

  1. Что такое ПЛИС?
  2. Я хочу спросить про VHDL/AHDL/Verilog...
  3. Какие есть сетевые ресурсы, книги, журналы по ПЛИС?
  4. Какую ПЛИС лучше выбрать для начала?
  5. А кто лучше - Altera, Xilin или Lattice, Actel, QuickLogic, Cypress, Atmel...?
  6. Есть ли программируемые аналоговые матрицы?
  7. Где купить ПЛИС?
  8. Какие есть способы защиты проекта на FPGA от копирования?
  9. Что означают скорости -5,-6 и т.д.?
  10. Как удвоить тактовый сигнал?
  11. А как из частоты X поучить частоту Y?
  12. Практическая реализация синхронных счетчиков на ПЛИС: варианты, быстродействие?
  13. Где можно почитать теорию по делителям,умножителям и прочим мат. функциям?
  14. Как реализовать алгоритм CRC?
  15. Метастабильность?
  16. Синхронность внутри и на выходах ПЛИС?
  17. Схема крайне чувствительна к разным наводкам, что делать?
  18. Состояние тригеров после сброса/включения питания?
  19. Описание JTAG интерфейса и где о нем почитать?
  20. Сколько на каждый кристалл ставить конденсаторов по питанию?
  21. Какие есть решения для питания ПЛИС?
  22. Как отпаять/припаять ПЛИС в корпусах PQFP 208-240?

Altera

  1. Я начинающий - FPGA, Altera, MAX, VHDL - хочу учиться!
  2. Как конвертировать AHDL в VHDL\Verilog?
  3. Как прочитать прошивку у MAXов, если не стоит бит защиты?
  4. Cколько переконфигураций выдерживает MAX3000/EPC2...?
  5. Скажите, а чем прошивается EPC1?
  6. Использование AT17xxxA для Altera?
  7. При каких напряжениях работает ACEX?
  8. Питание 1.5V ядра Cyclone/Stratix?
  9. Нужно ли у ACEX подпирать пины TMS,TDO,TDI,TCK?
  10. Нужно ли неиспользованные пины FLEX'а сажать на землю?
  11. У меня не работает Altera ByteBlaster[MW] - почему?
  12. Как поставить драйвера ByteBlastera в Win2000?
  13. Есть ли у Альтеры CPLD, совпадающие по ногам с CPLD Xilinx?
  14. Можно ли использовать JTAG-ноги у CPLD MAXxxx как IO и при этом грузить её через ByteBlaster?

PCI и другие applications

  1. Где взять спецификацию на PCI (рус/en)?
  2. Где взять примеры разработки PCI-устройств (проект на ПЛИС, схемы, PCB)?
  3. Какой самый простой/дешевый способ подключить устройство к шине PCI?
  4. Кто-нибудь делал PCI контроллер на CPLD?
  5. Где купить/найти информацию по чипам PCI-контроллеров ( PLX, QuickLogic )?
  6. Как 3.3V кристаллы работают с 5V PCI?
  7. Кто-нибудь пытался делал PCI плату на двухслойной ПП?
  8. Как BIOS c определяет наличие PCI Device в слоте?
  9. Что обозначает s/t/s в спецификации PCI?
  10. Какие ограничения есть на пакетный режим PCI в PC?
  11. Можно ли сделать PCI-устройство с фиксированными (не PnP) адресами?
  12. Делал ли кто на ПЛИС MJPEG?


Ответы:


Общие вопросы




  1. Что такое ПЛИС?
    Программируемая логическая интегральная схема (ПЛИС, англ. programmable logic device, PLD) — электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования.

    Широко используется для построения различных по сложности и возможностям цифровых устройств.

    Основные современные типы ПЛИС:
    CPLD (англ. complex programmable logic device — сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки — макроячейки (англ. macrocells), соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении.
    FPGA (англ. field-programmable gate array) содержат логические элементы и блоки коммутации. FPGA обычно имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределённой оперативной памяти микросхемы, поэтому требуется начальный загрузчик.

    ru.wikipedia.org/wiki/ПЛИС

    Автор: Dmitriy Murzinov, 31.07.2006




  2. Я хочу спросить про VHDL/AHDL/Verilog...
    Есть конференция "Языки описания аппаратуры (VHDL и др.)"http://www.telesys.ru/wwwboards/vhdl
    На эти вопросы отвечают там.

    Для тех, кто хочет начать изучение ПЛИС с VHDL, рекомендую следующие книги:

    Русскоязычные:
    1. Поляков А.К. "Языки VHDL и Verilog в проектировании цифровой аппаратуры", Москва, СОЛОН-Пресс, 2003
    2. Сергиенко А.М. "VHDL для проектирования вычислительных устройств"
    3. Бибило "Синтез цифровых систем на языке VHDL"

    Англоязычные:
    1. Ben Cohen "VHDL Coding Styles and Methodologies".
      Учебник по VHDL. Возможно есть лучше, но этот как минимум "хороший".
    2. Douglas Smith "HDL Chip Design"
      Библия по синтезу. Море примеров и на Verilog-е и на VHDL-е. Издание старое. А языки развиваются. Verilog 2001 года очень сильно продвинулся. По VHDL-ю - помоему автор чрезмерно увлекается "sequential signal assignment", надёжнее было бы использовать "concurrent signal assignment". Идеи как описать железо на языке не изменились (и вряд ли изменятся), но к конкретным конструкциям языка полезно подходить творчески.
    3. VHDL'92. Новые свойства языка описания аппаратуры VHDL: Пер. с англ./Ж.-М. Берже, А. Фонкуа, С. Мажино, Ж. Руйар. - М.: Радио и связь, 1995.
      Это перевод с VHDL'92 by Jean-Michel Berge, Alain Fonkoua, Serge Maginot, Jacques Rouillard. - Kluwer Academic Publishers. Объясняется зачем сделали изменения (и добавления) в языке. Полезно, но не обязательно. Русский перевод - "так себе".
    4. IEEE Std 1076 - IEEE Standard VHDL Language Reference Manual.
      Собственно сам стандарт.
    5. IEEE Std 1076.6 - IEEE Standard for VHDL Register Transfer Level (RTL) Synthesys.
      Из всего толстого описания языка, реально в железо идёт только эта тоненькая книжица.
    6. www.eda.org
      Есть полезности.

    Не менее активно чем VHDL для описания проектов используется Verilog "IEEE 1364. Verilog Hardware Description Language": ссылки.

    В настоящее время идет развитие следующего поколения языков описания цифровых систем: SystemVerilog и SystemC.

    Автор: Составитель, Zlyh, Dmitriy Murzinov 31.07.2006




  3. Какие есть сетевые ресурсы, книги, журналы по ПЛИС?
    http://www.altera.com/
    http://www.altera.ru/
    http://www.atmel.com/
    http://www.atmel.ru/
    http://www.xilinx.com/
    http://www.xilinx.ru/
    http://www.aldec.com.ua/
    http://www.plis.ru/
    VHDL портал для студентов и разработчиков (VHDL - обучающий проект)
    Программирование ПЛИС. (документы сайты, стандарты)
    Интересные ссылки

    Присылайте ссылки, которые сочтете нужными разместить в этом FAQ.

    Автор: All, --.--.----





  4. А Кто лучше - Altera, Xilinx или Lattice, Actel, QuickLogic, Cypress, Atmel...?
    Основные факторы при выборе семейства ПЛИС:
    1. Доступность в Вашем регионе
    2. Общепринятое в Вашем регионе семейство, хотите быть первопроходцем? Почетно, но скучно.
    3. Удобство интерфейса, думаю, что альтера в этом случае просто лидер (лично я остановился именно на Альтере)
    4. Область задач мало влияет на выбор, все производители весьма близки по своим характеристикам
    Можно привести еще кучу пунктов, но особое внимание прошу обратить на П.3 - когда у Вас прекрасный интерфейс, то Вы решаете свою ЗАДАЧУ, а не занимаетесь ерундой. Конечно, можно потратить много времени и до тонкостей изучить другие пакеты...но, при только при изготовлении детей интресен процесс, в нашем случае болеее интересен результат.

    Автор: Владимир Стешенко


    При проектировании любого устройства в последние несколько лет основная проблема - доступность элементной базы и средств проектирования, а также наличие кадров, способных решить задачу. У Альтеры здесь плюсы (три -четыре конкурирующих поставщика, бесплатный софт в инете - даже кряка не надо, все честно :-)) - особенно для начинающего освоение ПЛИС разработчика. Ксайлинкс в некотором смысле интересен с точки зрения наличия МИЛ и СПЭЙС микросхем (как и Актель), да и начали его применять еще при СССР - кадры старые есть, опыт опЯть таки, микросхемы наверное побыстрее альтеровских-хотя это вопрос. С Атмелом скорее всего накушаетесь - ибо у них ПЛИС никогда на первом месте не стояли - кальки с альтеры и ксайлинкса - хотя пуркуа па.

    Автор: Павел Сумин


    И Xilinx и Actel имеют бесплатные САПР - WebPack и LiberoIDE соответственно - свободно загружаются с соответствующих сайтов. Элементная база также доступна - через российских дистрибьютеров. А что до распространенности альтеры - тут, имхо, ситуация простая: "кто первый встал - того и тапки" (с).

    Автор: Dmitriy Murzinov





  5. Какую ПЛИС лучше выбрать для начала?
    Альтерy, какую-то из EPM7128 если нужно 5В питание и полная совместимость с 5В логикой. Если же 3,3В - EPM3128, она дешевле. Да, CPLD для начала, ИМХО, самое то. Нет проблемы с внешним конфигуратором, дешевые (от трех долларов), полноценные ПЛИС. Прошивка - кабелем ByteBlaster на LPT-порту, собирается самостоятельно на одной буферной микросхеме. Схема есть на сайте Альтеры. На www.altera.com есть ограниченые бесплатные версии САПРа, MAX+PLUS II BASELINE проще в использовании чем Quartus. Но по уму - надо осваивать Quartus. Будущее за этим пакетом. Метод проектирования - АHDL, есть примеры в комплекте поставки, очень хороший хелп в составе пакета. Есть много рускоязычных книг по AHDL. Поняв идеологию языкового проектирования цифровых систем на примере ясного AHDL, потом легче будет разобраться в хитросплетениях VHDL и Verilog'a.

    В качестве первой ПЛИС еще можно рекомендовать и семейство MAXII Альтеры - EPM570, например. Большая, дешевая CPLD.

    Автор: pogorily, Составитель 31.07.2006





  6. Есть ли программируемые аналоговые матрицы?
    Да. Вот ссылки на сайты фирм, занимающихся аналоговыми матрицами:

    1. Anadigm: latest-generation field programmable analog array (FPAA) company (http://www.anadigm.com/)
    2. Fast Analog Solution http://www.fas.co.uk/
    3. Lattice Semiconductor http://www.latticesemi.com/
    4. Cypress: http://www.cypress.com/ предлагает PSoC (Programmable System-on-Chip), которые содержат в себе 8-битный микроконтроллер, программируемые цифровые и аналоговые блоки. Поставками занимается "Точка Опоры".

    Автор: All, Шарапов Анатолий, vmp 07.04.2003





  7. Какие есть способы защиты проекта на FPGA от копирования?
    1. Для Xilinx можно первый раз загрузить конфигурацию и убрать загрузочное ПЗУ, а для того чтобы она не исчезла при пропадании питания нужно подключить к питанию FPGA литиевую батарейку и диод. Микросхема в режиме POWERDOWN почти ничего не жрет и может хранить зашивку годами(подробнее в http://www.xilinx.com/xapp/xapp092.pdf).
    2. Можно поставить в проект CPLD и вынести в нее генератор случайных чисел или часть схемы, а такой же поставить в FPGA(ну и проверку ,есть ли на плате нужные сигналы от CPLD секретности). Сама CPLD XC9536 надежно закрыта от чтения битом секретности.


    ALTERA разработала решение для всесторонней защиты IP в аппаратуре, использующей Stratix II FPGA. Это простое в применении решение для защиты Stratix II устройств использует улучшенный стандарт шифрования (AES) совместно со 128-битным энергонезависимым ключом и прекрасно подходит для аппаратуры, нуждающейся в гибкости и защите. Заданный пользователем ключ AES, может быть запрограммирован в 128-битном энергонезависимом ключе сохраняемой в микросхеме Stratix II. Этот же ключ используется в программе проектирования Quartus II для создания зашифрованного конфигурационного файла, сохраняемого во внешней памяти или конфигурационной микросхеме. Реализация AES микросхемой Stratix II сертифицирована FIPS197. (Источник: www.electronicstalk.com )

    Для XILINX на сайте производителя есть такой XAPP: XAPP780 - FPGA IFF Copy Protection Using Dallas Semiconductor/Maxim DS2432 Secure EEPROMs ( http://www.xilinx.com/bvdocs/appnotes/xapp780.pdf )

    Автор: Александр, Dmitriy Murzinov





  8. Где купить ПЛИС?
    1. www.actel.ru (Питер) - Actel
    2. www.efo.ru (Питер) - Altera
    3. www.fulcrum.ru (Москва) - Altera, обратите внимание, цена=(цена_на_сайте*1.05*курс_Центробанка)
    4. www.scan.ru (Москва) - Xilinx, обратите внимание, цена= (цена_на_сайте*1.2*курс_Центробанка)
    5. www.inlinegroup.ru (Москва) - Инлайн Груп
    6. www.gamma.vyborg.ru - Altera
    7. www.vital-ic.com - любые

    Плюс список продавцов Xilinx на plis.ru

    Автор: All, 31.06.2006





  9. Что означают скорости -5,-6 и т.д.?
    Бл^%ство одно с этими цифрами, ни один из временных параметров чипов не связан с этим рядом скоростей в семействе сколь-нибудь очевидной и озвученной зависимостью.
    Короче, по Xilinx: 4000E, 4000XL, 4000XLA, 3000A, 9500, 9500XL - чем меньше эта цифра тем быстрее;
    Virtex, Virtex-E, Spartan, SpartanXL, Spartan2 - чем больше цифра тем быстрее. Остальное лирика.
    P.s. Насколько я знаю когда была серия 3000(без A) цифры были порядка 70 и выше и обозначали вроде как какую-то там частоту в мегагерцах. Дойдя до цифр порядка 130 Xilinx решил что так дальше не пойдет и в 3000A, 4000, 4000E пошли цифры типа 7, 6, ... и обозначили они вроде что-то там в наносекундах. Начиная с цифр 4, 3 уже про то что это наносекунды Xilinx упоминать перестал. Дойдя до величин 0.9, 0.7 в серии 4000XLA данная система обозначений опять разонравилась Xilinx и в современных сериях опять стало чем больше, тем быстрее. Я так подозреваю, что через пару лет обозначение скорости в маркировке чипов опять изменит направление... чтобы не отступать от традиций жанра :-)))
    P.p.s. Единственное вроде с сериях 9500 эти цифры обозначают задержку от пада до пада в нс.
    P.p.p.s. Я так подозреваю(но не утверждаю) что у Altera-ы такая же фигня с обозначениями.

    Автор: ,





  10. Как удвоить тактовый сигнал?
    Если на кристалле нет PLL, то Fx2 = Fin $ LCELL(Fin); - XOR на задержке. Способ, конечно некрасивый, но если нет другого выхода... Th получается длительностью в задержку на LCELL, при необходимости можно поставить несколько LCELL. Проверено - работает.

    Более подробно способ с применением XOR описан тут: Double the Clock Frequency

    Автор: Victor, Dmitriy Murzinov, 31.07.2006





  11. А как из частоты X получить частоту Y?
    
             -- Покладов Александр
             -- Делитель частоты
             -- Выходная частота равна Fout = Fin * (cDiv / (2 ^ cRg))
             -- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
             -- ! Fout не может быть больше Fin, т.е. cDiv < (2 ^ cRg)
             -- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
             Constant cDiv = 6; -- коэффициент деления
             Constant cRg = 3; -- количество разрядов в регистре фазы
    
             SUBDESIGN Fr_div
             (
                     Fin : INPUT; 
                     Fout : OUTPUT;
             )
             VARIABLE
             fv[cRg .. 0] :dff; -- Регистр сумматора
             rgF :tff;
             fin_X_2 :node; -- Удвоенная частота
             BEGIN
                    fin_X_2 = Fin xor rgF; -- Умножение на 2 Fin
                    rgF.t = vcc; 
                    rgF.clk = fin_X_2; 
                           
                    fv[].clk = fin_X_2; -- Сумматор фазы
                    fv[] = fv[] + cDiv;
                    
                    Fout = fv[cRg]; -- Выход частоты
             END;
             
    Если скважность Fin отличается от 2, то будеп плавать фаза rgF. К тому же, длительность импульсов rgF не является детерминированной и будет изменяться от кристалла к кристаллу, плавать от температуры, напряжения питания и т.п. Так что выбирайте кристалл с подходящей PLL.

    Автор: Stewart Little & Шурила





  12. Где можно почитать теорию по делителям,умножителям и прочим мат. функциям?
    1. http://www.dacafe.com/Book/Book/CH02/CH02.6.htm (yes)
    2. http://www.bearcave.com/software/divide.htm
    3. http://umunhum.stanford.edu - американский научный дядька Michael J. Flynn - публиковал статьи по ускорению с помощью таблиц
    4. http://aldec.com.ua/press/?show=sqrtlab

    Автор: yes





  13. Как реализовать алгоритм CRC?
    Есть генератор синтезируемых CRC-функций: http://www.easics.com/webtools/crctool

    Автор: AGS, 10.12.2002





  14. Метастабильность?
    ПЛД (по опыту c Alter-ой ) очень плохо воспринимают "затянутые" фронты на входах. Гораздо хуже обычной 74HC... логики. Если фронт 50 нс! и больше то может быть плохо. В этом случае достаточно поставить перед входом обычный вентиль 74HC...или триггер Шмидта. У ALTER-ы можно настоятельно рекомендовать ставить подтягивающие резисторы на всех выходах.
    Cинхронизировать сигнал с другим клоком вроде нет проблем - поставил D триггер, на вход сигнал на клок частоту - но! тут как раз есть проблема и она присуща не Альтере, а вообще всем D триггерам, будь то ПЛД или простая логика. При ситуации когда в момент положительного фронта клока (активный положительный) меняется сигнал на входе, на выходе D триггера возникает импульс (т.е. данные не успевают защелкнуться!). В своей практике я два раза наступал (в первый раз проблему устранили, но не поняли причины) на эти грабли. Наиболее эффективный способ борьбы с этим явлением это два последовательно включенных D триггера, тактируемых либо одним клоком, либо им же но с разными фазами.

    Составитель: Метастабильность, ИМХО, чаще всего имеет место в случае медленно меняющихся сигналов (фронт меняющегося сигнала растягивается на несколько синхротактов, т.е. в середине процесса значение сигнала не 0 и не 1, а тригер щелкает). Значение на выходе тригера в этом случае не определенно, возможны осциляции. Самое лучшее в этой ситуации - делить клок и тактировать тригер на частоте, соответствующей скорости изменения фиксируемого сигнала.

    Материал по теме: http://www.platan.ru/shem/pdf/st13-14.pdf

    Автор: Александр Инчагов, Шурила, Составитель, SM 17.01.2004





  15. Синхронность внутри и на выходах ПЛИС?
    Синхронность счетчика означает всего лишь то, что выходные сигналы появятся синхронно на выходах триггеров внутри ПЛИС. А вовсе не на выходных ножках, соединенных с теми самыми триггерами разной длины проводами. И в сгенеренном (независимо от carry chain) счетчике это условие выполняется. Если же Вам необходимо получить синхронность именно на внешних выводах , то вам необходимо сделать так. Сам счетчик заставить считать с опережением на 1 такт, и пропустить выход через регистр, тактируемый той-же тактовой, что и счетчик. А триггеры регистра расположить в I/O-cell'ах. Это будет гарантировать, что время прохождения сигнала с выхода этого регистра до ножки корпуса для всех битов будет одно и тоже. В том и разница, собственно, между MAX и ACEX/FLEX. Что у MAX к каждой ножке жестко привинчен триггер, а у FPGA этих триггеров разбросано по всему кристаллу немерено. А вообще-то это является крайне редкой задачей, так как в основном требование синхронных систем это совсем не синхронность смены состояний в разных местах схемы, а требование к установлению всех сигналов к следующему перепаду тактовой частоты - а задержки по разным линиям имеют право гулять в десятки-сотни раз. В верилоге можно смело использовать примитивы CARRY, CASCADE и LCELL, если не доверяете синтезатору. Они имеется в библиотеке синтеза и квартуса, и максплюса. Хотя при установленной опции "Carry chain: Auto" и "Carry chain size" 16..32" он вроде их генерит вполне пристойно. Ну а о том, как их в конкретном случае использовать лучше всего узнать в datasheet на выбранное семейство, где описаны виды цепочек переноса и каскадирования и их логика, а дальше думать самому какой из режимов выбрать в данном случае.

    Автор: SM, 02.04.2003





  16. Схема крайне чувствительна к разным наводкам, что делать?
    Проверяется (в следующей последовательности):
    1. - Питание и конденсаторы (0u1 возле каждой пары Vcc Gnd будут уместными);
    2. - Подтягивающие резисторы по JTAG (3 шт.)
    3. - Неиспользуемые Global - лучше заземлить
    4. - неиспользуемые IO - как выход GND, а можно и подключить к земле(ну это уже при чудесах)
    5. - Все используемые выводы должны быть корректно описаны.

    Если не работает и после этого - скорее всего проблемы в схемотехнике, при условии живого кристалла:
    1. - синхронность схемы
    2. - гонки на входах, иголки
    3. - начальное состояние триггеров и возврат автоматов в определенное состояние ...

    Автор: none, 05.04.2003





  17. Состояние тригеров после сброса/включения питания?
    Все тригеры по умолчанию приходят в нулевом состоянии. Но во многих семействах есть функция типа Preset, позвояющая индивидуально устанавливать тригеры по сбросу в любое состояние. DEFAULT в VHDL никакого отношения в предустановке триггеров в ПЛИС не имеет! Он работает только при моделировании!

    Автор: ,





  18. Описание JTAG интерфейса и где о нем почитать?
    1. http://www.ti.com, файл ssya002c.pdf - - IEEE Std 1149.1 (JTAG) Testability Primer, 1997 Semiconductor Group
    2. http://www.orc.ru/~dkuzn/index.htm
    3. Книга: Colin M. Maunder,Rodham E. Tulloss "The test access port and boundary scan architecture" IEEE Computer society press tutorial. p.372

    Автор: Навзничь,





  19. Cколько на каждый кристалл ставить конденсаторов по питанию?
    Кашу маслом не испортишь (народная мудрость)
    Правило простое для любых чипов - на каждую пару VCC и GND по кондеру 0.1 uF

    Автор: Victor


    Ставлю на каждый чип -- 4шт. по 0.1uF на vccio, 4шт. по 0.1uF на vccint

    Автор: vitA


    Весьма подробно данный вопрос освещен в документе (на xilinx.com): XAPP623 - Power Distribution System (PDS) Design Using Bypass-Decoupling Capacitors вопрос освещен начиная от моделирования и заканчивая конкретными рекомендациями по разработке PCB.

    Автор:Dmitriy Murzinov





  20. Какие есть решения для питания ПЛИС?
    TPS70151PWR (3.3V и 1.8V), TPS70158PWR (3.3V и 2.5V) от Texas Instruments
    LTC1622 Step-Down DC/DC + внешний ключ. ток ампер до 4-х, частота преобразования 500кГц => мелкие деталюшки в обвязке.
    LM2937ES от National Semiconductor. На 5V, 3.3V, 2.5V - кодируется цифирью в конце наименования (Пример: LM2937ES-3,3).
    tps36325, tps36333, LP3961, MIC39300.

    Автор: Mike, Диман, Stewart Little 25.05.2001


    В настоящее время основную трудность создает номинал напряжения питания ядра ПЛИС - 1.2В. Большинство регулторов имеют внутреннюю опору больше чем 1.2В. Другая проблема - тепловыделение. Учитывая аппетиты современных ПЛИС, целесообразно применение только импульсных регуляторов напряжения.
    На ti.com есть руководства по выбору: slpb008a.pdf (Xilinx FPGA Power Management Reference Guide) slyb113b.pdf (Power Management Reference Guide for Altera FPGAs and CPLD) а также документ (довольно старый) по оценке потребления и проектированию схемы питания ПЛИС: slva087.pdf (Power-Supply Solutions for Multivolt Altera FLEX 10KE) Для XILINX Spartan™-3/3Е идеально подходит TPS75003 - контроллер для импульсного регулятора на 3 напряжения питания.
    На данный момент наоболее полно вопрос освещен в теме "Питание ПЛИС - Регуляторы напряжения на 1.2 1.5 2.5 3.3"

    Автор:Dmitriy Murzinov


    Очень удобны собраные модули питания с регулируемым выходом. У ti.com есть модули PTH05000 - микроплата с распаяным TPS54873 и катушкой, припаиваемая собственно к плате устройства. Подбором установочного резистора выходное напряжение устанавливается от 0.9 до 4В. 6А.

    Автор:Составитель





  21. Как отпаять/припаять ПЛИС в корпусах PQFP 208-240?
    Самый простой способ снять: просовывается тонкий проводок в лаковой изоляции под линейку выводов. Один конец проводка закрепляется, за второй тянут, прогревая паяльником выводы поочередно. Флюса побольше. И все как рукой снимет. Для запайки самый простой способ - насадка "микроволна". За этим названием спрятано вот что: жало сточено под 45 и в нем углубление полукруглое, куда излишки припоя будут "всасываться". Тоже флюса побольше.
    Отпаиваю таким методом. С помощью обмоточного провода диаметром примерно 0,3мм. Один конец провода на время отпайки ряда выводов удобно закреплять на плате путем припайки к какой-нибудь площадке или элементу. Протягивать провод под выводами нужно почти параллельно плате. Ни плата, ни микросхема при отпайке не повреждаются. Этот метод подробно описан (с фотографиями) в AN114: Hand Soldering Tutorial for Fine Pitch QFP Devices".
    Говорят, отпаивать можно также газовой горелкой/индустриальным феном.

    Автор: voss, Леонид Иванович, Ivan 05.06.2006




Altera




  1. Я начинающий - FPGA, Altera, MAX, VHDL - хочу учиться!
    Есть несколько книг Стешенко, посвященных проектированию на ПЛИС Альтера - их можно купить, например, на книжном развале у магазина "Чип&Дип"
    Есть лекционный курс университета Миссисипи - http://www.ece.msstate.edu/~reese/EE4743/

    Автор: AGS, Составитель 26.12.2002




  2. Как конвертировать AHDL в VHDL\Verilog?
    В составе пакета фирмы Xilinx есть утилита xport.exe, с помощью которой можно отконвертировать ABEL и AHDL файлы в VHDL/Verilog-описания. Взять её можно тут.
    Конвертор очень хороший, но есть некоторые моменты, связанные с его работой, как-то: в VHDL нет аналога конструкции PARAMETER AHDL, поэтому параметрические функции надо дорабатывать ручками; наблюдались трудности с конвертацией AHDL-конструкций типа X[3..0][7..0] в VHDL - сигналы X1[7 downto 0] и X2[7 downto 0] создает, а X3 и X4 - теряет. Так что результат конвертации следует рассматривать не как законченый код, а как заготовку для доводки и её надо заново проверять, проверять и проверять.

    Sergey Markov (aKa SM): недавно нарвался на следующую проблему. Если есть не описанный в разделе "DEFAULTS" AHDL-исходника сигнал (включая все node, порты *FF'ов, выходы модуля и т.д.), то компилятор AHDL считает этот сигнал по умолчанию равным нулю, а xport.exe - неопределенным. Из-за этого стабильно работающий AHDL проект после конвертации в verilog для синтеза под ASIC может превратиться в глючный. Причем эти глюки с первого взгляда при моделировании после синтеза не видны. После описания в разделе defaults всех сигналов, могущих оказаться в неопределенном состоянии, конвертированный проект заработал как требуется.

    Автор: Составитель, SM 28.12.2002




  3. Как прочитать прошивку у MAXов, если не стоит бит защиты?
    Я делал так: cоздавал новый проект, назначал требуемое устройство и компилировал - для того, чтобы в меню программатора было доступно Examine. Далее нажимается эта кнопка и получаем сообщение "Finished data reading from device". Дальше File->Save Programmong Data As... В файле присутствует заголовок ~130 байт, дальше - данные. Если FFы, то установлен бит защиты. При чтении программатор ничего об этом не сообщает. А заголовок, добавляет MAX+, а не читает его из устройства.

    Автор: Victor Yurchenko : 24.03.2003





  4. Cколько переконфигураций выдерживает MAX3000/EPC2...?
    Согласно "MAX 3000A Programmable Logic Device Family" на 3-й странице в самом низу (для версии документа 2.1 oct.2001) эта серия может быть запрограммирована и стерта до 100 раз. Т.е. даже эта цифра 100 не гарантруется по построению фразы и по тому, что этот параметр не вынесен в таблицы (я с трудом нашел среди остального текста). Тоже относится и к EPC2 - перепрошивается до 100 раз.

    Автор: Boris Barbaris, IgorK : 09.12.2002





  5. Скажите, а чем прошивается EPC1?
    В них нет JTAG, он появляется только в EPC2++ и бластером их не прошить. Я их шил TopMax'ом (фирма eetools).

    Автор: _aquarius_, SM : 13.01.2004





  6. Использование AT17xxxA для Altera?
    http://www.orc.ru/~dkuzn

    Автор: _aquarius_ : 13.01.2004





  7. При каких напряжениях работает ACEX?
    что касается 3.3в -> 5в, то выходы асекса можно конфигурировать как открытый сток и подтягивать резистором к 5-ти вольтам. На входе асекс опять же терпит ттл-уровни. О питании ядра. В даташите заявлено 2.5 +- 0.125, т.е. уже можно подавать 2.625, но как факт - в результате ошибки при монтаже девайс с 1k30tc144-1 проработал дня три при 4.7v (vs 2.5v)! При этом функционировал правильно(VCCio было 3.3в) и, судя по всему, ничего не вышло из строя. Это не пропаганда ннарушения режимов эл.питания, просто факт.

    Автор: ,





  8. Питание 1.5V ядра Cyclone/Stratix?
    'Errata Sheet' Stratix (стр.3 - High Power-Up Current Issue)
    Power-Up Problem with Cyclone

    Автор: IgorK, 07.04.2003





  9. Нужно ли у ACEX подпирать пины TMS,TDO,TDI,TCK?
    Да, резисторами 1K на VCC, 3.3V См. также an039.pdf page 25

    Автор: ,





  10. Нужно ли неиспользованные пины FLEX'а сажать на землю?
    Altera AN75: High-Speed Board Designs, стр. 13, рекомендует сделать ноги на вывод в сотояние 0 и припаять их на землю для улучшения помехозащищенности.

    Автор: net, IgorK 17.01.2003





  11. У меня не работает Altera ByteBlaster[MW] - почему?
    1. Проверить правильность монтажа и типы/номиналы деталей
    2. Кабель от PC к байтбластеру категорически нельзя делать из плоского кабеля. Следует применить стандартный 25-проводный 1.8-метровый удлинитель DB25-DB25 из ближайшей компьютерной лавки. С таким кабелем даже хилые интегрированные порты работают нормально.
    3. Хвост от бластера к программируемой микросхеме не следует делать излишне длинным. 10-15-сантиметровый из плоского кабеля работает нормально, если подтягивающие резисторы у микросхемы имеют номинал 1-1.5 кОм
    4. В программаторе MAX+PLUS обязательно должна быть выбрана (и высвечиваться в позиции "Device:") именно та микросхема, которая реально подключена, иначе будет невразумительное сообщение, которое даже самый догадливый экспериментатор не примет за предложение сменить микросхему.
    5. Для проверки подключения удобно пользоваться пунктом "Blank check"

    Автор: Boris Barbaris, 09.12.2002


    Для проверки подключения к JTAG-цепочке также можно воспользоваться опцией "Detect JTAG chain info".

    Автор: Alesandro, 09.12.2002






  12. MY COMPUTER->PROPERTIES->HARDWARE->Hardware Wizard->Next->select "Add a new device" and press: Next->select : "No,I want to select the hardware from a list " and press: Next->in window : Hardware Type select "Sound, video and game controllrs" and press: Next-> press: Have Disk -> browse -> find you directory with file "OEMSETUP.INF" (byteblaster) and press: "OK" -> in window Models select "Altera ByteBlaster" and press: Next -> again Next.

    Автор: Vladimir, 06.15.2001





  13. Есть ли у Альтеры CPLD, совпадающие по ногам с CPLD Xilinx?
    Да, совпадающие по выводам семейства - CoolRunner и MAX7000S/MAX3000A.

    Автор: Victor, 23.12.2002





  14. Можно ли использовать JTAG-ноги у CPLD MAXxxx как IO и при этом грузить её через ByteBlaster?
    Нет. Если на JTAG-ноги назначены IO, прошить её можно только программатором.

    Автор: Составитель, 12.03.2005




PCI и другие applications




  1. Где взять спецификацию на PCI (рус/en)?
    Спецификации PCI3.0 и русский перевод PCI2.0 взять можно отсюда:

    http://fpga-faq.narod.ru/PCI_Rev_20_rus.zip
    http://fpga-faq.narod.ru/PCI_Rev_30.pdf

    ComactPCI - http://www.compactpci.ru/standarts

    Автор: Составитель, 08.12.2002





  2. Где взять примеры разработки PCI-устройств (проект на ПЛИС, схемы, PCB)?
    Например, на сайтах

    http://www.altera.com/

    http://www.xilinx.com/

    http://www.plxtech.com/

    По ссылке http://www.platan.ru/shem/pdf/pci.pdf есть описание простейшего интерфейса для PCI. Работоспособность не проверял, но точно не будет работать на тех материнских платах, которые отключают клок на PCI, если в процессе Plug'n'play не находят VendorID или DeviceID, отличное от FFFF в конфигурационной области.

    Автор: Автор: Boris Barbaris, Составитель





  3. Какой самый простой/дешевый способ подключить устройство к шине PCI?
    Через разъем BootROM на платах Eithernet-контроллеров с чипами RTL8139C можно получить доступ к 128Кx8 Memory mapped R\W space шины PCI. Чтение особенностей не имеет, запись - в соответствии с протоколом записи в 29с010 (это со стороны панельки, со стороны процессора - как обычно).

    Автор: Boris Barbaris, 21.12.2002





  4. Кто-нибудь делал PCI контроллер на CPLD?
    Самая простая девайсина (один бар и один регистр) убралось в EPM3128. Правда под завязку - в результате девайс сделали на EP1K10. Но живьем девайса не было. Дальше симулятора не ушло. SM.

    Довольно давно для ремонта системных блоков и плат разработал тестовую pci-плату для мониторинга POST кодов на EPM3064-ATC100. В архиве находиться схема и плата(PCAD4.5), проект на языке AHDL на MAX+plus II Version 9.6 3/22/2000 файл проекта newpci32. Проект окончен 09/10/2002. http://njnmnp.narod.ru/proj/pci80/pci80.html. Vladimir Misyachniy.

    У Альтеры есть DevelopmentKit на MAX II EPM1270F256C5 CPLD, который может работать как PCI-плата. http://www.altera.com/products/devkits/altera/kit-maxii-1270.html. Cоставитель.

    Автор: SM, Vladimir Misyachniy, Cоставитель 17.01.2004





  5. Где купить/найти информацию по чипам PCI-контроллеров ( PLX, QuickLogic )?
    По PLX посмотрите здесь. Ну и на сайте http://www.plxtech.com/, разумеется :)

    По QuickLogic: у них есть оригинальное решение - PCI-контроллеры и GateArray на одном кристалле. Т.е. фактически ПЛИС с аппаратным PCI-ядром. Стоимость контроллера PCI66/64 в единичных партиях ~120$. И родной софт у них (без сторонних симуляторов-редакторов) бесплатен. Но! ПЛИС сделана по технологии AntiFuse, т.е. однократно программируемая. Опытную партию можете прошить у них бесплатно, а для тиражирования придется покупать программатор за ~1500$.

    Так что хорошенько подумайте: а не лучше ли взять дешевый Cyclone и какое-нибудь PCI-core?

    Автор: Составитель, 06.04.2003





  6. Как 3.3V кристаллы работают с 5V PCI?
    Пример можно посмотреть здесь:
    http://support.xilinx.com/xapp/xapp646.pdf

    А также по Альтере:

    IgorK: Резисторы - половина дела. Нужно еще включить clamp-диоды. А это нельзя сделать до конфигурации. Документ известный - wp5Vapex1
    .02.pdf. На стр. 3 читаем: Do not drive 5.0V signals into APEX 20KE devices before the device is configured because the PCI clamping diode is not activated until configuration is complete.
    Ну и выдержка из Cyclone: Cyclone devices can be 5.0-V tolerant with the use of an external resistor and the internal clamp diode.

    Общая инфа по 3.3V и 5.0V PCI-слотам: How to recognise a 3.3 Volt PCI slot?

    Буфер, подходящий для согласования 3.3V ПЛИС и 5.0V PCI: SN74CBTD

    Автор: dachny, IgorK, SM 30.01.2003, 15.03.2003





  7. Кто-нибудь делал PCI плату на двухслойной ПП?
    Только на двухслойке и делаю.

    Автор: SAA, 13.01.2003





  8. Как BIOS c определяет наличие PCI Device в слоте?
    Отключение подачи тактового сигнала на свободные слоты - опция многих современных БИОСов. Для того, чтобы БИОС распознал находящееся в слоте PCI-устройство, необходимо, чтобы при инициализации оно вернуло VendorID (DeviceID) не равным 0xFFFF.

    Автор: ,





  9. Что обозначает s/t/s в спецификации PCI?
    Sustained Tri-State - подчиненный активный низкий сигнал с тремя состояниями , управляемый одним и только одним агентом в одно и то же времени. Агент , который управляет низким уровнем выводов s/t/s, должен сделать его <высоким> хотя бы один раз перед тем , как оставить в свободном состоянии . Новый агент не может начать управлять сигналом s/t/s, пока не пройдет один такт после того , как предыдущий <владелец> сигнала переведет его в свободное состояние. Повышение уровня требуется для поддержания неактивного состояния, пока другой агент не начнет управлять сигналом , что обеспечивается центральным ресурсом .

    Автор: als, 27.11.2002





  10. Какие ограничения есть на пакетный режим PCI в PC?
    В рамках архитектуры PC (IA32) в пакетном режиме c Target-устройством можно работать только в одном направлении: PC пишет в Target-устройство. Все. В обратном направлении (TargetPCI Dev->PC), равно как и при работе с портами, пакетный режим не возможен. Однако, в ходе экспериментов установилось, что команда MOVQ (пересылка 64-разрядных данных), все же пишет в PCI Dev пакетами по два слова :) Для получения максимальной скорости на шине при вводе данных из PCI-устройства в PC надо делать Master.

    Автор: Собиратель,





  11. Можно ли сделать PCI-устройство с фиксированными (не PnP) адресами?
    Нельзя выбирать адреса как хочется, но если нужно то можно. По спецификации все PCI-устройства дожны быть Plug&Play, но если забитый в ручную адрес гарантированно не будет конфликтовать с остальными системными ресурсами, то работать будет.

    Автор: misyachniy, Собиратель 13.03.2003





  12. Делал ли кто на ПЛИС MJPEG?
    Коммерческое ядро: http://www.4i2i.com/JPEG_Core.htm

    DCT 8x8 (не оптимизированный и с памятью на логике) занимал около 800 Slice и на XCVE-8 работал на 80 МГц.

    Существуют открытые разработки - например доступен под GNU/GPL уже более двух лет проект сетевой камеры:
    http://cvs.sourceforge.net/viewcvs.py/elphel/camera/fpga/x3x3/

    О ней была статья в Xilinx Xcell: http://www.xilinx.com/publications/xcellonline/xcell_46/xc_pdf/xc_freesw46.pdf

    Перевод на русский, правда без картинок: http://www.elphel.com/articles/xc_freesw46_r.html

    Кстати, там же в CVS сейчас уже лежит гораздо более мощный код видеокомпрессии Ogg/Theora (Spartan3 - 1000K gates) - алгоритм того же класса, что и MPEG4.

    Автор: -=Sergey=-, V61, Andrey Filippov 12.03.2005



На верх
Используются технологии uCoz