Как поставить плис altera вместо плис 5576хс4т
Перейти к содержимому

Как поставить плис altera вместо плис 5576хс4т

  • автор:

Как поставить плис altera вместо плис 5576хс4т

  • />14 июля
  • Тема:Способы уменьшения размера памяти страниц форума
  • От:petrov
  • />14 июля
  • Тема:Способы уменьшения размера памяти страниц форума
  • От:petrov

—>

Другие известные форумы и сайты по электронике

все что посвящено электронике и общению специалистов. реклама других ресурсов.

  • Магазины
  • Форумы и конференции
  • Производители
  • Информационные ресурсы
  • Поисковики
  • FTP-серверы
  • />6 часов назад
  • Тема:Куда пропал доступ к www.ti.com
  • От:UART
  • />6 часов назад
  • Тема:Куда пропал доступ к www.ti.com
  • От:UART

—>

В помощь начинающему

вопросы начального уровня

Модераторы раздела VAI aosp SergM fill vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • ARM, 32bit
  • MCS51, AVR, PIC, STM8, 8bit
  • Программирование
  • Схемотехника
  • Интерфейсы
  • />2 часа назад
  • Тема:STM32F407 и его толерантные к 5В входы
  • От:firstvald
  • />2 часа назад
  • Тема:STM32F407 и его толерантные к 5В входы
  • От:firstvald

—>

International Forum

This is a special forum for English spoken people, read it first.

  • />14 мая
  • От:byRAM
  • />14 мая
  • От:byRAM

—>

Образование в области электроники

все что касается образования, процесса обучения, студентам, преподавателям.

Модераторы раздела des00

  • />20 июля
  • Тема:Защита электроники от статики, промышленных элек…
  • От:Unicorn
  • />20 июля
  • Тема:Защита электроники от статики, промышленных элек…
  • От:Unicorn

—>

Обучающие видео-материалы и обмен опытом

Обсуждение вопросов создания видео-материалов

Модераторы раздела iosifk

  • />17 февраля
  • Тема:Dilduino
  • От:k155la3
  • />17 февраля
  • Тема:Dilduino
  • От:k155la3

Cистемный уровень проектирования

    Последнее сообщение

—>

Вопросы системного уровня проектирования

Применение MATLAB, Simulink, CoCentric, SPW, SystemC ESL, SoC

Модераторы раздела Rst7

  • />12 июля
  • Тема:Графика в матлабе
  • От:_sda
  • />12 июля
  • Тема:Графика в матлабе
  • От:_sda

—>

Математика и Физика

Модераторы раздела Rst7

  • />15 июля
  • Тема:Численная реализация МНК
  • От:amaora
  • />15 июля
  • Тема:Численная реализация МНК
  • От:amaora

—>

Операционные системы

Linux, Win, DOS, QNX, uCOS, eCOS, RTEMS и другие

Модераторы раздела Rst7

  • Программирование
  • Linux
  • uC/OS-II
  • scmRTOS
  • FreeRTOS
  • Android
  • />14 июля
  • Тема:Финальная версия Chrome/Chromium для Windows 7
  • От:Pupkin
  • />14 июля
  • Тема:Финальная версия Chrome/Chromium для Windows 7
  • От:Pupkin

—>

Документация

оформление документации и все что с ней связано

Модераторы раздела Rst7

  • />Вторник в 02:04
  • Тема:Вопрос про УГО
  • От:Kiber99
  • />Вторник в 02:04
  • Тема:Вопрос про УГО
  • От:Kiber99

—>

Системы CAD/CAM/CAE/PLM

обсуждение САПР AutoCAD, Компас, SolidWorks и др.

  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets
  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets

—>

Разработка цифровых, аналоговых, аналого-цифровых ИС

Модераторы раздела Rst7

  • />Понедельник в 10:10
  • Тема:Отечественный аналог AD9361/AD9364
  • От:_4afc_
  • />Понедельник в 10:10
  • Тема:Отечественный аналог AD9361/AD9364
  • От:_4afc_

—>

Электробезопасность и ЭМС

Обсуждение вопросов электробезопасности и целостности сигналов

Модераторы раздела Rst7

  • ЭМС
  • Электробезопасность
  • />13 июля
  • Тема:Плавкие предохранители: на каком времени нормиру…
  • От:Arlleex
  • />13 июля
  • Тема:Плавкие предохранители: на каком времени нормиру…
  • От:Arlleex

—>

Управление проектами

Управление жизненным циклом проектов, системы контроля версий и т.п.

Модераторы раздела Rst7

  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH
  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH

—>

Нейронные сети и машинное обучение (NN/ML)

Форум для обсуждения вопросов машинного обучения и нейронных сетей

Модераторы раздела Rst7

  • />28 июня
  • Тема:Модуль на VHDL кусочно-линейной (семь участков) …
  • От:Мур
  • />28 июня
  • Тема:Модуль на VHDL кусочно-линейной (семь участков) …
  • От:Мур

Программируемая логика ПЛИС (FPGA,CPLD, PLD)

    Последнее сообщение

—>

Среды разработки — обсуждаем САПРы

Quartus, MAX, Foundation, ISE, DXP, ActiveHDL и прочие.
возможности, удобства.

Модераторы раздела vetal />des00 />

  • />Пятница в 14:41
  • Тема:Gowin EDA — релизы и общие вопросы
  • От:_4afc_
  • />Пятница в 14:41
  • Тема:Gowin EDA — релизы и общие вопросы
  • От:_4afc_

—>

Работаем с ПЛИС, области применения, выбор

на чем сделать? почему не работает? кто подскажет?

Модераторы раздела vetal />des00 />

  • />11 часов назад
  • Тема:SYSREF для IP-CORE JESD204B
  • От:CF755
  • />11 часов назад
  • Тема:SYSREF для IP-CORE JESD204B
  • От:CF755

—>

Языки проектирования на ПЛИС (FPGA)

Verilog, VHDL, AHDL, SystemC, SystemVerilog и др.

Модераторы раздела aosp vetal des00

  • />Вторник в 08:25
  • Тема:Допилить передачу VHDL FT601
  • От:Worldmaster
  • />Вторник в 08:25
  • Тема:Допилить передачу VHDL FT601
  • От:Worldmaster

—>

Системы на ПЛИС — System on a Programmable Chip (SoPC)

разработка встраиваемых процессоров и периферии для ПЛИС

Модераторы раздела vetal des00 Omen_13

  • />6 часов назад
  • Тема:MicroBlaze MCS не компилирует
  • От:1891ВМ12Я
  • />6 часов назад
  • Тема:MicroBlaze MCS не компилирует
  • От:1891ВМ12Я

Цифровая обработка сигналов — ЦОС (DSP)

    Последнее сообщение

—>

Сигнальные процессоры и их программирование — DSP

Обсуждение различных сигнальных (DSP) процессоров, возможностей, совместимости и связанных с этим тем.

Модераторы раздела des00

  • />18 июля
  • Тема:Драйвера и софт для SUP 2000 от SoftBaugh
  • От:pavel1991
  • />18 июля
  • Тема:Драйвера и софт для SUP 2000 от SoftBaugh
  • От:pavel1991

—>

Алгоритмы ЦОС (DSP)

Обсуждение вопросов разработки и применения (программирования) алгоритмов цифровой обработки сигналов.

Модераторы раздела des00

  • />19 июля
  • Тема:Подавление акустической обратной связи в система…
  • От:repstosw
  • />19 июля
  • Тема:Подавление акустической обратной связи в система…
  • От:repstosw

Микроконтроллеры (MCU)

    Последнее сообщение

—>

Cредства разработки для МК

FAQ, How-to, тонкости работы со средствами разработки

Модераторы раздела haker_fox

  • IAR
  • Keil
  • GNU/OpenSource средства разработки
  • />Вторник в 12:42
  • Тема:Ошибки Error: L6218E: Undefined symbol
  • От:Olmsky
  • />Вторник в 12:42
  • Тема:Ошибки Error: L6218E: Undefined symbol
  • От:Olmsky

—>
Модераторы раздела haker_fox

  • STM
  • NXP
  • Microchip (Atmel)
  • TI, Allwinner, GigaDevice, Nordic, Espressif и другие
  • />3 часа назад
  • Тема:stm32 Cube IDE обновление 1.13.
  • От:Obam
  • />3 часа назад
  • Тема:stm32 Cube IDE обновление 1.13.
  • От:Obam

—>

RISC-V

Микроконтроллеры на базе ядер RISC-V, RISC-X

Модераторы раздела haker_fox

  • />19 июля
  • Тема:Таблица векторов прерываний
  • От:makc
  • />19 июля
  • Тема:Таблица векторов прерываний
  • От:makc

—>
Модераторы раздела haker_fox

  • />Понедельник в 02:21
  • Тема:Чтение блока данных с SDHC карты по интерфейсу S…
  • От:Romeo13Cs
  • />Понедельник в 02:21
  • Тема:Чтение блока данных с SDHC карты по интерфейсу S…
  • От:Romeo13Cs

—>

MSP430

Модераторы раздела VAI />haker_fox />

  • />23 июня
  • Тема:Ghidra для MSP430
  • От:Aries
  • />23 июня
  • Тема:Ghidra для MSP430
  • От:Aries

—>

Все остальные микроконтроллеры

и все что с ними связано

Модераторы раздела haker_fox

  • PIC
  • MCS51
  • PowerQUICC
  • HC(S)08
  • AVR32
  • STM8
  • MIPS
  • />Понедельник в 21:59
  • Тема:Silabs. Копирование прошивки.
  • От:Obam
  • />Понедельник в 21:59
  • Тема:Silabs. Копирование прошивки.
  • От:Obam

—>

Отладочные платы

Вопросы, связанные с отладочными платами на базе МК: заказ, сборка, запуск

Модераторы раздела haker_fox

  • Arduino
  • Raspberry Pi
  • Rainbow
  • Siberia
  • EVMxxxx
  • />23 июня
  • Тема:China-Link, Вариант отладчика из Китая
  • От:nibelung
  • />23 июня
  • Тема:China-Link, Вариант отладчика из Китая
  • От:nibelung

Печатные платы (PCB)

    Последнее сообщение

—>

Разрабатываем ПП в САПР — PCB development

FAQ, вопросы проектирования в ORCAD, PCAD, Protel, Allegro, Spectra, DXP, SDD, WG и др.

Модераторы раздела SergM />fill />

  • Библиотеки компонентов
  • Altium Designer, DXP, Protel
  • P-CAD 200x howto
  • Эремекс, Delta Design
  • Cadence
  • Примеры
  • Zuken CADSTAR
  • Siemens EDA — Xpedition, PADS (ex. Mentor)
  • Бесплатные САПР: KiCAD, EasyEDA, EAGLE и др.
  • />4 часа назад
  • Тема:1 компонент для одного типоразмера всех номинало…
  • От:Uladzimir
  • />4 часа назад
  • Тема:1 компонент для одного типоразмера всех номинало…
  • От:Uladzimir

—>

Работаем с трассировкой

тонкости PCB дизайна, от Spectra и далее.

Модераторы раздела fill

  • />9 июля
  • Тема:Вопрос по трассировке
  • От:Uladzimir
  • />9 июля
  • Тема:Вопрос по трассировке
  • От:Uladzimir

—>

Изготовление ПП — PCB manufacturing

Фирмы, занимающиеся изготовлением, качество, цены, сроки

Модераторы раздела fill

  • ПСБ Технолоджи
  • ТеПро
  • PS-Electro
  • Резонит
  • PCB Professional
  • Абрис
  • ОАО "НИЦЭВТ"
  • ООО "М-Плата"
  • в домашних условиях
  • />13 июля
  • Тема:Обсуждение Резонит
  • От:Siv21
  • />13 июля
  • Тема:Обсуждение Резонит
  • От:Siv21

Сборка РЭУ

    Последнее сообщение

—>

Пайка и монтаж

вопросы сборки ПП, готовых изделий, а также устранения производственных дефектов

  • />Суббота в 11:24
  • Тема:Печь для пайки SMD T-962
  • От:ZodiaK
  • />Суббота в 11:24
  • Тема:Печь для пайки SMD T-962
  • От:ZodiaK

—>

Корпуса

обсуждаем какие есть копруса, где делать и прочее

  • />18 июля
  • Тема:Разница между TSSOP-8 и SOIC-8
  • От:gerber
  • />18 июля
  • Тема:Разница между TSSOP-8 и SOIC-8
  • От:gerber

—>

Вопросы надежности и испытаний

расчеты, методики, подбор компонентов

  • />19 марта
  • Тема:Поверка контрольно-измерительного оборудования
  • От:HardEgor
  • />19 марта
  • Тема:Поверка контрольно-измерительного оборудования
  • От:HardEgor

Аналоговая и цифровая техника, прикладная электроника

    Последнее сообщение

—>

Вопросы аналоговой техники

разработка аналоговых схем, моделирование схем в SPICE, расчёты и анализ, выбор элементной базы

Модераторы раздела Alexandr rloc ViKo Tanya Егоров

  • />6 часов назад
  • Тема:Выбор опорного напряжения и схемы обвязки АЦП пр…
  • От:UART
  • />6 часов назад
  • Тема:Выбор опорного напряжения и схемы обвязки АЦП пр…
  • От:UART

—>

Цифровые схемы, высокоскоростные ЦС

High Speed Digital Design

Модераторы раздела rloc

  • />5 июля
  • Тема:XDS110 EnergyTrace: TMDSEMU110-ETH нужна схема
  • От:UART
  • />5 июля
  • Тема:XDS110 EnergyTrace: TMDSEMU110-ETH нужна схема
  • От:UART

—>

RF & Microwave Design

wireless технологии и не только

Модераторы раздела rloc />l1l1l1 />

  • />4 часа назад
  • Тема:Еще раз — про маленькие китайские усилочки
  • От:rloc
  • />4 часа назад
  • Тема:Еще раз — про маленькие китайские усилочки
  • От:rloc

—>

Метрология, датчики, измерительная техника

Все что связано с измерениями: измерительные приборы (осциллографы, анализаторы спектра и пр.), датчики, обработка результатов измерений, калибровка, технологии измерений и др.

Модераторы раздела rloc ViKo Tanya

  • />18 часов назад
  • Тема:лазерный дальномер
  • От:spirit_1
  • />18 часов назад
  • Тема:лазерный дальномер
  • От:spirit_1

—>

АВТО электроника

особенности электроники любых транспортных средств: автомашин и мотоциклов, поездов, судов и самолетов, космических кораблей и летающих тарелок.

Модераторы раздела rloc />Vasily_ />

  • />2 июля
  • Тема:Провод для автомобильного компрессора
  • От:byRAM
  • />2 июля
  • Тема:Провод для автомобильного компрессора
  • От:byRAM

—>

Умный дом

Модераторы раздела rloc

  • />18 апреля
  • Тема:Анализ Яндекс Станции
  • От:jcxz
  • />18 апреля
  • Тема:Анализ Яндекс Станции
  • От:jcxz

—>

3D печать

3D принтеры, наборы, аксессуары, ПО

Модераторы раздела rloc

  • />5 июля
  • Тема:Демонстрация работы моего 3D-принтера
  • От:vov4ick
  • />5 июля
  • Тема:Демонстрация работы моего 3D-принтера
  • От:vov4ick

—>

Робототехника

Модели, классификация, решения, научные исследования, варианты применения

Модераторы раздела rloc

  • />28 июня
  • Тема:Минималистичный Форт компьютер на TTL логике (ди…
  • От:KPG
  • />28 июня
  • Тема:Минималистичный Форт компьютер на TTL логике (ди…
  • От:KPG

—>

Ремонт и отладка

обсуждение вопросов ремонта и отладки различных устройств и готовых изделий

Модераторы раздела rloc />Herz />

  • />20 июля
  • Тема:Ремонт осциллограф Rigol DS1074Z
  • От:ded2016
  • />20 июля
  • Тема:Ремонт осциллограф Rigol DS1074Z
  • От:ded2016

Силовая электроника — Power Electronics

    Последнее сообщение

—>

Силовая Преобразовательная Техника

Источники питания электронной аппаратуры, импульсные и линейные регуляторы. Топологии AC-DC, DC-DC преобразователей (Forward, Flyback, Buck, Boost, Push-Pull, SEPIC, Cuk, Full-Bridge, Half-Bridge). Драйвера ключевых элементов, динамика, алгоритмы управления, защита. Синхронное выпрямление, коррекция коэффициента мощности (PFC)

Модераторы раздела Herz />Егоров />

  • />18 июля
  • Тема:Помогите определиться со схемой инверторного ста…
  • От:MPetrovich
  • />18 июля
  • Тема:Помогите определиться со схемой инверторного ста…
  • От:MPetrovich

—>

Обратная Связь, Стабилизация, Регулирование, Компенсация

Организация обратных связей в цепях регулирования, выбор топологии, обеспечение стабильности, схемотехника, расчёт

Модераторы раздела Herz />Егоров />

  • />11 июля
  • Тема:Писк трансформатора Flyback при малой нагрузке
  • От:UART
  • />11 июля
  • Тема:Писк трансформатора Flyback при малой нагрузке
  • От:UART

—>

Первичные и Вторичные Химические Источники Питания

Li-ion, Li-pol, литиевые, Ni-MH, Ni-Cd, свинцово-кислотные аккумуляторы. Солевые, щелочные (алкалиновые), литиевые первичные элементы. Применение, зарядные устройства, методы и алгоритмы заряда, условия эксплуатации. Системы бесперебойного и резервного питания

Модераторы раздела Herz />Егоров />

  • />28 июня
  • Тема:13s4p лития титанат 160А спроектировать балансир
  • От:Plain
  • />28 июня
  • Тема:13s4p лития титанат 160А спроектировать балансир
  • От:Plain

—>

Высоковольтные Устройства — High-Voltage

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

Модераторы раздела Herz

  • />22 часа назад
  • Тема:Защита и регулировка входа осциллографа от высок…
  • От:ded2016
  • />22 часа назад
  • Тема:Защита и регулировка входа осциллографа от высок…
  • От:ded2016

—>

Электрические машины, Электропривод и Управление

Электропривод постоянного тока, асинхронный электропривод, шаговый электропривод, сервопривод. Синхронные, асинхронные, вентильные электродвигатели, генераторы

Модераторы раздела Herz

  • />Суббота в 17:28
  • Тема:Запуск асинхронного двигателя с помощью ЛАТР
  • От:khach
  • />Суббота в 17:28
  • Тема:Запуск асинхронного двигателя с помощью ЛАТР
  • От:khach

—>

Индукционный Нагрев — Induction Heating

Технологии, теория и практика индукционного нагрева

Модераторы раздела Herz

  • />30 мая
  • Тема:Какое может быть количество индукторов для индук…
  • От:Лапух
  • />30 мая
  • Тема:Какое может быть количество индукторов для индук…
  • От:Лапух

—>

Системы Охлаждения, Тепловой Расчет – Cooling Systems

Охлаждение компонентов, систем, корпусов, расчёт параметров охладителей

Модераторы раздела Herz

  • />30 июня
  • Тема:Сравнение экспериментальных данных с расчетом
  • От:ChristinaChadzynski
  • />30 июня
  • Тема:Сравнение экспериментальных данных с расчетом
  • От:ChristinaChadzynski

—>

Моделирование и Анализ Силовых Устройств – Power Supply Simulation

Моделирование силовых устройств в популярных САПР, самостоятельных симуляторах и специализированных программах. Анализ устойчивости источников питания, непрерывные модели устройств, модели компонентов

Модераторы раздела Herz />Егоров />

  • />27 июня
  • Тема:Модель источника питания драйверов + датчика ток…
  • От:SAVC
  • />27 июня
  • Тема:Модель источника питания драйверов + датчика ток…
  • От:SAVC

—>

Компоненты Силовой Электроники — Parts for Power Supply Design

Силовые полупроводниковые приборы (MOSFET, BJT, IGBT, SCR, GTO, диоды). Силовые трансформаторы, дроссели, фильтры (проектирование, экранирование, изготовление), конденсаторы, разъемы, электромеханические изделия, датчики, микросхемы для ИП. Электротехнические и изоляционные материалы.

Модераторы раздела Herz />Егоров />

  • />12 часов назад
  • Тема:Соединители аналоги СНЦ23
  • От:byRAM
  • />12 часов назад
  • Тема:Соединители аналоги СНЦ23
  • От:byRAM

Интерфейсы

    Последнее сообщение

—>

Форумы по интерфейсам

все интерфейсы здесь

  • ISDN/G.703/E1
  • ISA/PCI/PCI-X/PCI Express
  • Wireless/Optic
  • RS232/LPT/USB/PCMCIA/FireWire
  • Fast Ethernet/Gigabit Ethernet/FibreChannel
  • Интерфейсы для "интеллектуального дома"
  • от ТТЛ до LVDS здесь
  • IDE/ATA/SATA/SAS/SCSI/CF
  • Аудио/Видео интерфейсы
  • Сотовая связь и ее приложения
  • FAQ по XPort/WiPort
  • Controller Area Network (CAN)
  • />Вторник в 20:15
  • Тема:USB 3 и USB Type-C
  • От:Vasily_
  • />Вторник в 20:15
  • Тема:USB 3 и USB Type-C
  • От:Vasily_

Поставщики компонентов для электроники

    Последнее сообщение

—>

Поставщики всего остального

от транзисторов до проводов

  • />4 июля
  • Тема:Ищу основного поставщика вместо Электронщика.
  • От:vervs
  • />4 июля
  • Тема:Ищу основного поставщика вместо Электронщика.
  • От:vervs

—>

Компоненты

Закачка тех. документации, обмен опытом, прочие вопросы.

  • Тех. документация
  • Микросхемы
  • Транзисторы
  • Диоды
  • Резисторы
  • Средства индикации
  • />19 июля
  • Тема:Отечественный разъем для Ethernet канала
  • От:sio83
  • />19 июля
  • Тема:Отечественный разъем для Ethernet канала
  • От:sio83

Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир

    Последнее сообщение

—>

Обсуждение Майнеров, их поставки и производства

наблюдается очень большой спрос на данные устройства.

  • />25 апреля
  • Тема:Ремонт Асиков
  • От:mantech
  • />25 апреля
  • Тема:Ремонт Асиков
  • От:mantech

Дополнительные разделы — Additional sections

    Последнее сообщение

—>

Встречи и поздравления

Предложения встретиться, поздравления участников форума и обсуждение мест и поводов для встреч.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />10 мая
  • Тема:С Днём Великой Победы!
  • От:Chenakin
  • />10 мая
  • Тема:С Днём Великой Победы!
  • От:Chenakin

—>

Ищу работу

ищу работу, выполню заказ, нужны клиенты — все это сюда

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />3 часа назад
  • Тема:Радиомонтажник на дому Москва. метро Фонвизинска…
  • От:shakov
  • />3 часа назад
  • Тема:Радиомонтажник на дому Москва. метро Фонвизинска…
  • От:shakov

—>

Предлагаю работу

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

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />5 часов назад
  • Тема:(г.Москва) монтаж-сборка 120 изделий (230тыс.руб…
  • От:ТМТ2315
  • />5 часов назад
  • Тема:(г.Москва) монтаж-сборка 120 изделий (230тыс.руб…
  • От:ТМТ2315

—>

Куплю

микросхему; устройство; то, что предложишь ты 🙂

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />Вторник в 10:53
  • Тема:Куплю мультиметр 6.5 разряда с DualDisplay
  • От:SlavaV
  • />Вторник в 10:53
  • Тема:Куплю мультиметр 6.5 разряда с DualDisplay
  • От:SlavaV

—>

Продам

есть что продать за деньги, пиво, даром ?
Реклама товаров и сайтов также здесь.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />17 часов назад
  • Тема:Б.у аппаратура из Китая
  • От:Baza
  • />17 часов назад
  • Тема:Б.у аппаратура из Китая
  • От:Baza

—>

Объявления пользователей

Тренинги, семинары, анонсы и прочие события

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров КОМПЭЛ Walrus

  • />Вторник в 12:36
  • Тема:Новые RST-7K5/15K – мощные и надежные ИП от MEAN…
  • От:КОМПЭЛ
  • />Вторник в 12:36
  • Тема:Новые RST-7K5/15K – мощные и надежные ИП от MEAN…
  • От:КОМПЭЛ

—>

Общение заказчиков и потребителей электронных разработок

Обсуждение проектов, исполнителей и конкурсов

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 haker_fox iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />23 мая
  • Тема:Сайты для удаленной работы, фриланса
  • От:rmDAC
  • />23 мая
  • Тема:Сайты для удаленной работы, фриланса
  • От:rmDAC

Как поставить плис altera вместо плис 5576хс4т

ПЛИС Altera. Часть 6: сборка схемы и загрузка конфигурации

Это заключительная часть цикла посвященная программируемой логике и среде разработки Quartus компании Altera (Intel).

В первой части рассказывалось о загрузке и установке Quartus. О создании пустого проекта с помощью мастера.

Во второй части рассматривалось проектирование цифровой схемы, определялась последовательность шагов для создания конфигурации ПЛИС.

В третьей части выполнялась настройка главного модуля проекта, был выполнен анализ и синтез схемы. Разбирались наиболее вероятные ошибки, которые могут быть выявлены при анализе и синтезе.

Четвертая часть была полностью посвящена электрической части проекта: доработка схемы проекта и знакомство с платой CTRL-CPLD-EPM570.

В пятой части рассказывается как связать цифровую схему проекта с физическими выводами микросхемы ПЛИС. Это третий этап создания конфигурации.

Напоминаю, что процесс создания конфигурации предусматривает следующие этапы:

  1. проектирование цифровой схемы;
  2. анализ созданной схемы на наличие ошибок;
  3. привязка входов и выходов схемы к конкретным выводам ПЛИС;
  4. компиляция проекта и создание двоичных файлов для конфигурирования ПЛИС;
  5. конфигурирование ПЛИС посредством USB Blaster.

Шестая часть описывает последние два этапа процесса: компиляцию проекта и загрузку конфигурации в микросхему. Большая часть этой статьи посвящена настройке Quartus «Programmer».

Заключительная компиляция

Выполнение полной компиляции запускается с помощью кнопки «Start Compilation» на стандартной панели инструментов Quartus. Данная кнопка идет одиннадцатой справа, она выделена на следующем рисунке.

Рис 44 start compilation

Также можно использовать меню Processing → Start Compilation.

Выполнение полной компиляции начинается с процесса анализа проекта и синтеза предварительной схемы коммутации блоков ПЛИС – «Analysis & Synthesis». Затем следует «Fitter», который выполняет размещение блоков синтезированной схемы на кристалле ПЛИС с учетом заданных: диапазона рабочих температур, энергопотребления схемы связанного с используемым стандартом ввода‑вывода, диапазона допустимых временных задержек указанных в проекте и многих других параметров. Для простых проектов подходят значения перечисленных параметров по умолчанию.

Обобщенный отчет о результатах работы «Fitter» (Fitter → Summary) выводится по окончании всего процесса компиляции.

Рис 45 full compilation report

В основном, данный отчет не отличается от аналогичного отчета выводимого по завершении «Analysis & Synthesis». Добавляются лишь соотношения использованных и доступных ресурсов выбранной микросхемы ПЛИС: логических элементов и выводов. Эта информация выделена на рисунке выше.

После «Fitter» свою работу выполняет «Assembler», который осуществляет генерацию файлов для загрузки в ПЛИС. Самая интересная часть отчета «Assembler» – это раздел «Generated Files». В этом разделе перечисляются файлы созданные ассемблером, с указанием полного пути до них. Файл с расширением «.pof» содержит конфигурацию ПЛИС, подготовленную для загрузки с помощью программатора. Изображение данного раздела приведено ниже.

Рис 46 assembler report

Заключительный этап компиляции – это «TimeQuest Timing Analyzer». Данный инструмент осуществляет проверку синтезированного дизайна на соответствие заданным в проекте временным ограничениям. Например, проверка возможности работы схемы на определенной частоте. В Вашем проекте нет таких ограничений, так как схема управляется человеком непосредственно и не предполагает работы на запредельных частотах. Тем не менее, отсутствие данных ограничений Quartus считает серьезным недостатком, о чем он и сообщает пользователю сразу двумя критическими предупреждениями: «Critical Warning: Synopsys Design Constraints File file not found: ‘firstproject.sdc’. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.» Именно поэтому пункт «TimeQuest Timing Analyzer» в отчете о компиляции выделен красным шрифтом.

Помимо критических предупреждений Вам будет выдано и несколько (около трех) обычных предупреждений такого содержания: «Warning: No clocks defined in design.». Они также связаны с «TimeQuest Timing Analyzer». В проекте не определены параметры тактового сигнала схемы, так как схема не предполагает работу с таким сигналом. Следовательно, Вы можете смело игнорировать эти предупреждения, как и предыдущие два.

Кроме перечисленных, также будут выведены несколько уже знакомых коммерческих предупреждений.

При наличии других критических предупреждений, или даже ошибок, необходимо внимательно изучить содержание окна «Messages» и отчет о компиляции. Разделы отчета содержащие информацию об ошибках будут выделены красным шрифтом. Так же, можно повторно выполнить соответствующий этап компиляции с помощью меню Processing → Start, для того чтобы сократить число сообщений в окне «Messages» или для проверки сделанных исправлений. Пункты меню Processing → Start: Start Fitter, Start Assembler и Start TimeQuest Timing Analyzer запускают одноименные задачи процесса полной компиляции проекта.

Окно сообщений успешно откомпилированного проекта с некритичным числом предупреждений приводится на следующем рисунке.

Рис 47 successful compilation messages

После успешно выполненной компиляции проекта можно переходить к заключительному этапу: сборке схемы и загрузке синтезированной конфигурации в ПЛИС.

Сборка схемы и подключение программатора

Прежде чем подать питание на ПЛИС и загрузить в нее проект необходимо собрать спроектированную схему. Подключать что‑либо к ПЛИС «на горячую» нельзя!

Проектирование схемы было завершено в четвертой части серии статей. Для удобства эта схема приводится повторно.

Рис 48 Full_schematic numbered

Номера выводов ПЛИС указаны согласно настройкам в «Pin Planner» сделанным в пятой части серии.

После завершения сборки можно подключать программатор Altera USB Blaster. Altera/Intel рекомендует подключать программатор соблюдая следующую последовательность действий:

  1. отключить питание от платы «CTRL‑CPLD‑EPM570»;
  2. подключить программатор к USB порту включенного компьютера;
  3. соединить включенный программатор с гнездом «JTAG» платы с ПЛИС;
  4. включить питание платы с ПЛИС.

После выполнения этих действий можно загружать конфигурацию в ПЛИС.

Внимание! И при подключении программатора к плате с ПЛИС и при его отключении необходимо предварительно выключать питание платы!

При первом подключении к компьютеру программатора USB Blaster необходимо будет установить соответствующий драйвер. Все необходимые драйвера имеются в дистрибутиве Quartus. При установке Quartus они копируются в следующую директорию: «altera\13.1\quartus\drivers\usb-blaster». Имеются драйвера как для 32‑х так и для 64‑разрядных ОС Windows. Установка драйвера выполняется вручную, путем выбора директории с драйвером для автоматического поиска и установки необходимых файлов. Либо прямым указанием файла «usbblstr.inf».

Отсоединять программатор необходимо в обратной последовательности:

  1. отключить питание платы с ПЛИС;
  2. отсоединить программатор от гнезда «JTAG» платы;
  3. отключить программатор от USB порта компьютера.

Сам программатор должен быть включен при любых манипуляциях с разъемом JTAG. Такая последовательность действий обусловлена тем, что у оригинального программатора Altera USB Blaster есть проблема с питанием выходного буфера, из‑за которой он может быть выведен из строя при включении/отключении питания программатора соединенного с платой ПЛИС.

На этом работа с электрической часть проекта завершена. Можно переходить к загрузке конфигурации.

Quartus Programmer: настройка программатора

Для загрузки конфигурации используется инструмент «Programmer» среды Quartus. Этот инструмент можно вызвать с помощью меню Tools → Programmer. Либо посредством соответствующей кнопки на стандартной панели инструментов. Кнопка идет четвертой справа на панели. Она выделена на рисунке ниже.

При запуске «Programmer» откроется новое окно, вид которого приводится на следующем рисунке.

Рис 50 Programmer window

Первое, на что необходимо обратить внимание — это кнопка «Hardware Setup…» в верхнем левом углу окна «Programmer». На рисунке она обозначена цифрой 1. С ее помощью выполняется выбор программатора. Модель используемого программатора выводится в текстовом поле справа от кнопки (цифра 2 на рисунке). Сейчас там присутствует надпись «No Hardware», это означает что программатор требует настройки.

Нажмите кнопку «Hardware Setup…» чтобы открыть одноименное окно. Изображение окна приводится ниже.

Рис 51 hardware setup

Данное окно содержит две вкладки: «Hardware Settings» и «JTAG Settings».

«JTAG Settings» используется для настройки доступа к серверам JTAG. Можно как добавлять удаленные сервера, к которым присоединяются конфигурируемые ПЛИС, так и настраивать доступ к серверу JTAG запущенному на Вашем компьютере.

Quartus «Programmer» работает по клиент‑серверной модели. В ней есть сервер — это специальная служба «jtagserver», которая запускается вместе с «Programmer» и непосредственно работает с программатором. И есть клиент — «Programmer», который обеспечивает пользовательский интерфейс для выбора и загрузки конфигурации ПЛИС. Клиент и сервер могут располагаться на разных компьютерах, которые могут находиться на разных концах света. Таким образом, можно организовать удаленную работу со схемой в лаборатории собранной на базе дорогой платы разработчика (например, платы на базе Stratix III в среднем стоят более 4 000 долларов).

При локальной работе достаточно проверить статус сервера на вкладке «JTAG Settings». В списке «JTAG Servers» должен быть как минимум один сервер «Local» и «Connection Status», состояние подключения до него, «OK».

Если список серверов пуст, то скорее всего, возникла проблема с самим программатором: он перестал отвечать на запросы службы «jtagserver». В таком случае необходимо:

  1. закрыть окно «Hardware Setup»;
  2. подключить/переподключить программатор;
  3. открыть окно «Hardware Setup» и проверить наличие сервера «Local», состояние подключения к серверу (смотрите рисунок ниже).

Рис 52 JTAG Settings

Вторая вкладка — «Hardware Settings», она открывается по умолчанию. Эта вкладка используется для выбора конкретного программатора из множества доступных. Содержимое вкладки представлено на рисунке ниже.

Рис 53 programmer selected

Доступные программаторы перечисляются в блоке «Available hardware items». Устройства в этот список добавляются пользователем вручную или самой средой автоматически. Автоматическое обнаружение доступно не для всех моделей программаторов. Вручную требуется добавлять либо устаревшие модели устройств, соединяющиеся с компьютером через LPT‑порт (это ByteBlaster II и ByteBlasterMV), либо «EthernetBlaster», который работает с компьютером как удаленный JTAG сервер. USB Blaster добавляется автоматически, поэтому пользователю достаточно проверить наличие USB программатора в списке.

Выбор программатора для прошивки ПЛИС осуществляется с помощью выпадающего списка, справа от надписи «Currently selected hardware». Программатор можно выбрать из списка непосредственно, либо выполнив двойной клик левой кнопкой мыши на соответствующем элементе столбца «Hardware» в «Available hardware items». В обоих случаях значение «No Hardware» заменится названием выбранного программатора. Вид вкладки после выполнения настройки приведен на рисунке выше.

Теперь можно закрыть окно «Hardware Setup». В результате, в окне «Programmer» надпись «No Hardware», рядом с кнопкой «Hardware Setup», сменится названием выбранного программатора.

Quartus Programmer: Device Chain

Все остальные настройки производятся в основном окне «Programmer». В верхней части окна, помимо «Hardware Setup» для настройки доступны еще два параметра: «Mode» и «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices».

Параметр «Mode» определяет режим загрузки конфигурации в ПЛИС. По умолчанию установлен режим JTAG, его и необходимо использовать. Так как «Passive Serial Programming» и «Active Serial Programming» не совместимы с MAX II, а «In-Socket Programming» не поддерживается USB Blaster’ом.

Второй параметр — «Enable real-time ISP to allow background programming (for MAX II and MAX V) devices» активирует загрузку новой конфигурации на лету, без отключения ПЛИС от схемы на время прошивки. Новая конфигурация, в таком случае, будет применена только после перезагрузки ПЛИС по питанию. Эта возможность сокращает время простоя устройств на базе ПЛИС серии MAX, но действительно полезна только в промышленном применении. Поэтому данный параметр можно оставить в состоянии по умолчанию — отключенным.

Рис 54 device tree and chain

Большую часть окна занимают две панели: «Device Tree» и «Device Chain». На рисунке выше они обозначены окружностями с цифрами 1 и 2 соответственно. Их отображение можно включить (выключить) с помощью меню View → Show Device Tree и View → Show Device Chain.

Часть настроек панелей установлены Quartus автоматически. В «Device Tree», в колонку «File» подставляется имя файла конфигурации, созданного во время последней компиляции. А в «Device Chain» из этого же файла подставляется модель используемой микросхемы.

Панель «Device Chain» (цифра 2) используется для наглядного представления упрощенной схемы соединения ПЛИС и программатора. На ней отображаются только линии приема и передачи данных. Эта информация может оказаться полезной в случае конфигурирования сложных схем на базе нескольких ПЛИС. Дело в том, что JTAG‑интерфейс позволяет строить цепочки из последовательно соединенных (линиями TDI — TDO) устройств. Такое подключение позволяет использовать один программатор для конфигурирования всех устройств цепочки. «Device Chain» позволяет сориентироваться в порядке соединения этих устройств.

Плата «CTRL‑CPLD‑EPM570» несет на своем борту только одну микросхему, поэтому схема «Device Chain» предельно проста и, обычно, не требует вмешательства пользователя. Если же в «Device Chain» нет ни одного устройства, то можно попробовать добавить его с помощью автоматического поиска устройств на JTAG‑интерфейсе. Автоматический поиск запускается с помощью кнопки «Auto Detect» (третья сверху), расположенной в столбце кнопок у левого края окна. Данная кнопка активна только в том случае, когда в «Hardware Setup» настроен программатор.

При выполнении автоматического поиска заодно будет проверена работа JTAG‑интерфейса в целом. Если устройства не будут обнаружены, то «Programmer» предложит запустить отладку JTAG подключения, которая позволяет пользователю вручную выполнять команды на интерфейсе. При возникновении такой проблемы необходимо проверить соединение программатора с платой «CTRL‑CPLD‑EPM570» и наличие питания на микросхеме ПЛИС (включена ли плата). После устранения проблем необходимо повторно запустить поиск устройств.

Обнаруженные устройства добавляются и на схему «Device Chain», и в список «Device Tree».

Quartus Programmer: Device Tree

В «Device Tree» настраивается сам процесс конфигурирования/программирования устройств. Эта панель оформлена в виде таблицы из двенадцати колонок: «File», «Device», «Checksum», «Usercode», «Program/Configure», «Verify», «Blank-Check», «Examine», «Security Bit», «Erase», «ISP CLAMP», «ISP File». Автоматически заполняются первые четыре колонки.

Рис 55 device tree file was added

Первое на что необходимо обратить внимание в этой таблице — это колонка «File». В ней обязательно должен быть указан файл конфигурации, синтезированной при компиляции проекта. Колонка может быть пустой в случае, если в «Device Chain» а, соответственно, и в «Device Tree» нет ни одного устройства. Тогда, необходимо добавить устройство с помощью автоматического обнаружения.

«File» будет содержать значение , если устройство было добавлено пользователем с помощью автоматического поиска или вручную. В этом случае файл необходимо добавить вручную с помощью кнопки «Change File…», которая располагается через две кнопки ниже кнопки «Auto Detect». Тоже действие можно выполнить и с помощью меню Edit → Change File…

Кнопка «Change File…» становится доступна только при выборе микросхемы ПЛИС в «Device Chain» или «Device Tree». Таким образом, для добавления файла потребуется сначала выбрать микросхему в «Device Chain», а за тем нажать на кнопку «Change File…». Порядок действий и сама кнопка обозначены на следующем рисунке.

Рис 56 device tree change file

Для добавления файла используется стандартное диалоговое окно Windows. Необходимо найти и выбрать с его помощью файл «firstproject.pof».

По умолчанию, файлы конфигурации сохраняются в папке «output_files» в основной директории проекта. Если требуемого файла там нет, то необходимо свериться с отчетом о полной компиляции проекта. Для этого потребуется закрыть окно «Programmer» и открыть раздел «Assembler» → «Generated Files» отчета компиляции в основном окне Quartus. Сам отчет о компиляции можно открыть с помощью меню Processing → Compilation Report. Если раздел «Assembler» отсутствует в отчете, то это означает что данный этап не был выполнен. Запустите полную компиляцию и добавьте полученный файл конфигурации в «Device Tree».

После добавления файла «firstproject.pof» панель «Device Tree» обретет вид аналогичный рисунку, который приведен в начале раздела. Из файла были автоматически подставлены значения в колонки «File», «Device», «Checksum» и «Usercode». А именно:

  • в File» были добавлены две новые строки: CFM и UFM;
  • наименование модели микросхемы ПЛИС в «Device» уточнено;
  • в «Checksum» было добавлено значение контрольной суммы хранящейся в файле конфигурации;
  • в «Usercode» подставлен JTAG код устройства.

CFM (Configuration Flash Memory) и UFM (User Flash Memory) это две части внутренней Flash‑памяти MAX II. CFM используется исключительно для хранения конфигурации, откуда она автоматически вычитывается при каждом включении микросхемы. UFM может быть использована для хранения пользовательских данных. Объем UFM составляет 8 Кбит.

Значение «Checksum» рассчитывается только для конфигурационных данных в pof‑файле (для всего файла вычисляется CRC). Эта информация используется для сравнения конфигурации в pof‑файле с конфигурацией загруженной в ПЛИС.

«Usercode» — JTAG‑код автоматически сгенерированный Quartus или указанный пользователем вручную в настройках проекта. Автоматически генерируемый код меняется при компиляции, после каждого редактирования цифровой схемы. Таким образом, автоматический JTAG‑код позволяет различать разные версии одной конфигурации.

Остальные столбцы определяют режимы и параметры процесса работы с конфигурацией, которые настраиваются пользователем. Большинство параметров может быть применено отдельно к CFM или UFM.

Назначение каждого параметра рассматривается ниже.

«Program/Configure» — загрузка конфигурации из pof‑файла или буфера «Programmer» в ПЛИС. Можно прошить каждый из блоков CFM и UFM внутренней памяти по отдельности или оба разом.

«Verify» — вычитывание конфигурации ПЛИС и ее сравнение (по Checksum) с конфигурацией в pof‑файле. Если обнаружены различия, то проверка завершается с ошибкой.

«Blank-Check» — проверить, записана ли в памяти ПЛИС какая‑либо конфигурация. Если в устройство загружена конфигурация, то проверка завершается с ошибкой.

«Examine» — считать конфигурацию из ПЛИС в буфер «Programmer». После, загруженную конфигурацию можно сохранить в новый pof‑файл.

«Security Bit» — защищает ПЛИС от чтения конфигурации. При попытке чтения возвращаются некорректные значения, обычно — 0xFF. По этой причине функция «Verify» также перестает работать. Сбросить защиту можно только загрузив в ПЛИС конфигурацию без использования «Security Bit» или выполнив «Erase».

«Erase» — удаление данных конфигурации с ПЛИС.

«ISP CLAMP» — фиксация состояния каждого вывода ПЛИС на высоком, низком логическом уровне или в высокоимпендансном состоянии во время ее конфигурирования. Состояние выводов можно настраивать независимо друг от друга. С помощью данного режима можно выставить на выводах ПЛИС комбинацию сигналов сигнализирующих о том что микросхема находится в состоянии перепрошивки. Полезно для устройств на базе нескольких ПЛИС.

«IPS File» (I/O Pin State файл) — это файл описывающий состояние каждого вывода ПЛИС для режима ISP CLAMP. Без его наличия использование режима ISP CLAMP невозможно.

Загрузка и сохранение конфигурации

Для выполнения каких‑либо действий с конфигурацией ПЛИС необходимо выбрать это действие в списке «Device Tree», а именно — проставить галочку в соответствующем столбце. После, в ряду кнопок у левого края окна станет доступна кнопка «Start» (первая сверху). Нажатием на данную кнопку запускается выполнение выбранного действия. Прогресс выполнения и итоговый статус можно отследить по строке прогресса в верхнем правом углу окна «Programmer» (справа от надписи «Progress:»). Сообщения, выводимые в процессе работы «Programmer», можно увидеть в основном окне Quartus на панели «Messages», вкладка «System».

Рис 57 messages blank check failed

Таким образом, для сохранения загруженной в ПЛИС конфигурации достаточно выбрать действие «Examine» в «Device Tree» и нажать кнопку «Start». Значение в поле «File» скрывается при выборе «Examine».

Рис 58 examine config CPLD

После нажатия на «Start» в строке прогресса будет выводится как, собственно, прогресс чтения конфигурации, так и его результат. При достижении 100% (Successful) в поле «File» будет подставлено имя временного файла «untitled1.pof». Для сохранения «untitled1.pof» необходимо выбрать его в списке и нажать кнопку «Save File» у левого края окна (четвертая снизу). Будет открыт стандартный диалог открытия/сохранения файла.

Вид окна «Programmer» и описанная последовательность действий обозначены на рисунке выше.

Загрузка конфигурации производится аналогично:

  1. выбрать действие — «Program/Configure»;
  2. нажать кнопку «Start»;
  3. дождаться 100% (Successful) в строке прогресса.

Не забудьте в поле «File» указать верный файл конфигурации перед прошивкой. Заменить файл на необходимый можно с помощью кнопки «Change File…».

Рис 59 program or configure

На рисунке выше видно, что в столбце «Program/Configure» поставлена только одна галочка — в строке CFM. Так как проект не содержит информации для UFM, то выбирать для прошивки эту часть памяти не обязательно.

Сам процесс прошивки в «Programmer» состоит из следующей последовательности действий: Erase, Blank-Check (если выбрано), Program/Configure и Verify. При ошибке на любой из стадий процесс будет прерван.

Лог процесса прошивки выводится в основное окно Quartus на панели «Messages», вкладка «System».

Рис 60 messages successful program

Прервать выполнение процесса чтения/записи можно и вручную, с помощью кнопки «Stop» (вторая сверху). Данная кнопка становится доступна только на время выполнения чтения/записи конфигурации.

Всего, у левого края окна «Programmer» расположено десять кнопок. Часть из них была рассмотрена выше. Ниже описывается назначение оставшихся пяти кнопок:

  • «Delete» — активна только при выборе устройства в «Device Chain» или файла в «Device Tree». Удаляет выбранное устройство и связанный с ним pof‑файл из «Programmer».
  • «Add File…» — активна всегда. Используется для добавления pof‑файла в «Device Tree». В «Device Chain» будет автоматически добавлено соответствующее устройство. При добавлении нового файла существующие файлы не удаляются из списка «Device Tree».
  • «Add Device…» — активна всегда. Используется для ручного добавления устройств в «Device Chain». При нажатии на кнопку открывается диалоговое окно, в котором можно выбрать одну или несколько микросхем по их маркировке.
  • «Up» и «Down» — активны только тогда, когда в «Programmer» добавлено несколько микросхем ПЛИС. Используются для изменения порядка устройств в цепочке JTAG.

Все кнопки продублированы одноименными пунктами в меню «Edit» главного меню окна «Programmer».

Настройки «Device Tree» и «Device Chain» можно сохранить в общем файле с расширением cdf, который располагается в «output_files» в основной директории проекта. В проекте firstproject этот файл называется «firstproject.cdf». Относительный путь до него выводится в квадратных скобках в шапке окна «Programmer». Настройки сохраняются с помощью меню File → Save или File → «Save as». Также, «Programmer» будет предлагать сохранить файл cdf при попытке закрыть его окно, в случае если в настройки были внесены изменения.

Заключение

На этом изучение Quartus «Programmer» завершено. Осталось лишь подключить программатор к плате «CTRL‑CPLD‑EPM570». Включить саму плату. Настроить «Programmer» и загрузить конфигурацию в ПЛИС. При этом конфигурация счетчика в микросхеме будет заменена конфигурацией Вашего проекта и схема из трех независимых логических элементов готова к работе.

В результате получится устройство аналогичное изображенному на фотографии. Теперь можно опробовать работу каждого логического элемента на практике.

Рис 61 the device completed

Пришло время подвести итоги.

В шестой части серии статей о Quartus был разобран процесс полной компиляции проекта, подключение и настройка USB Blaster. Большая часть статьи посвящена настройке Quartus «Programmer».

Сама серия на этом завершается. В статьях были затронуты основы цифровой схемотехники. Рассмотрены ключевые функции ПО Quartus. Инструмента, которым пользуются и профессионалы. Поздравляю всех дошедших до финала!

Полученные знания можно использовать для освоения проектирования цифровых схем. Начать, лучше всего, с комбинационных схем и основ математической логики. Так как комбинационные схемы строятся из базовых логических элементов. После, можно перейти к схемам с памятью — последовательным схемам. Последовательные схемы это цифровые схемы объединяющие комбинационные схемы и ячейки памяти — триггеры. Последовательные и комбинационные схемы являются фундаментом для проектирования более сложных цифровых схем: сумматоров, схем сдвига, конвейеров и т. п. А обзаведясь таким багажом знаний Вы сможете проектировать специализированные микросхемы прямо у себя дома! Первый шаг сделан.

Сделай шаг к ПЛИС

Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

Сейчас я помогу сделать первый шаг и тебе!

А зачем оно мне?

Ты устал постоянно читать доки по своему МК или держать кучу информации в голове. Ты все переписал на asm, но скорости все равно не хватает. Ты подключил два внешних устройства к своему МК, подключаешь третье, но у тебя кончились прерывания, перестают работать те модули, что уже работали. Ты берешь другой МК, более мощный из той же линейки, но опять мануалы, регистры флагов, биты… ад. Меняешь платформу: переходишь на другой МК и выкидываешь на помойку свои знания по прежней платформе. Что бы ты не делал — оно дается тяжело. Ты находишь популярную платформу, в которой можно легко из компонентов собирать проект, но выше аппаратных ограничений данного МК все равно не удается прыгнуть… Где-то на краешке сознания иногда проскакивает мысль, что вот на ПЛИС это бы точно заработало быстро и параллельно, что это «именно та задача, которую бы надо решать на плис», но я стар/глуп/занят/etc чтобы суметь/начать такое делать.

Хочешь наконец вздохнуть свободно? Идем дальше!

Радость от разработки на ПЛИС

У меня был тяжелый рабочий день. С одной работы я приехал на вторую работу, потом на дачу, вечером домашние дела, уроки, потом семейный просмотр кино и только в 23 часа я оказался совершенно свободен! Сказать, что я был уставший — ничего не сказать. Но в таком состоянии я сел за ноут с твердой целью: сделать генератор меандра на 440 Гц. Прошло 20 минут и я уже слышал его в наушниках. Я не верил своим ушам! Еще 15 минут мне потребовалось, чтобы сделать ШИМ и менять громкость. К тому времени плата с ПЛИС у меня была всего с неделю и до этого я пролистал всего пару книг по Verilog.

В тот вечер я понял: ВОТ ОНО! Вот та платформа, в которой я быстро и легко могу превращать свои мысли в реально работающее железо!

Почему так?
  • Универсальность знаний — при смене модели МК нужно читать доки. При смене производителя МК нужно читать доки. Нужно постоянно читать доки, постоянно держать в голове кучу информации. При разработке на ПЛИС, если знаешь Verilog или VHDL, то можно не только программировать любой ПЛИС из линейки одного производителя, но и при желании перейти на другого (Altera, Xilinx). Хоть и будут моменты с освоением другой среды разработки, тонких аппаратных моментов, но сама суть подхода проектирования устройств на HDL от этого не изменится.
  • От идеи к железу — при разработке проекта, если тебе не хватает одного мк, то приходится выбирать другой. В принципе можно строить предположения справится или не справится этот МК с проектом. Либо есть какой-то конкретный МК и ты пытаешься туда вместить проект. Чаще всего именно так. Мне это чем-то напоминает подход моего деда, который делает лестницу из того, что есть в сарайке. Хотя можно спроектировать лестницу, купить досок, которые подойдут… От идеи к железу, а не наоборот.
  • Простота применения чужих разработок — можно взять чужой модуль и применить его в своем проекте. По коду сможете понять, как он работает. Даже, если он для xilinx, а вы делаете под altera. Иногда это получается не сарзу, но это проще, чем, например, добавлять двоичные библиотеки к проекту на c++/Qt
  • Независимость блоков. Блоки в HDL, как чистые фунции в ЯП. Зависят только от входных сигналов. Разработанный и отлаженный модуль в будет и дальше работать правильно, как бы не рос проект. Ничто снаружи не повлияет на правильность его работы изнутри. Да и вообще можно забыть, как он работает — это черный ящик. К тому же, блоки работают параллельно.
Проблема выбора

Сильно останавливают вопросы, что выбрать: Altera/Xilinx, Verilog/VHDL, какую отладочную плату взять. Но обо всем по порядку.

Производитель

Я выбрал Altera. Почему? Ну мы вот так с другом решили, хотя название Xilinx мне красивее. НО. Если ты сейчас не можешь выбрать, то я сделаю это за тебя. Тебе нужен Altera! Почему? Я не знаю. Сейчас важнее сделать шаг: сделать выбор. Я выбрал Altera и пока не пожалел.

Язык

Берем Verilogпотомучто… ну ты понял.

Отладочная плата

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

В семействе Altera, за разумные деньги мы можем купить платы с CPLD MAX II на 240, 570 и 1270 элементов, либо более старшие микросхемы FPGA, которые Cyclone 1, 2, 3, 4 с количеством до 10000 и более ячеек. Как же выбрать?

Даже на базе 240 ячеек, проект Марсоход делает просто огромное количество проектов. Настоятельно рекомендую ознакомиться, чтобы иметь примерное представление о сложности проектов, которые можно уместить в 240 ячеек. С другой стороны, существуют проекты, которые полностью программируются под аппаратную копию определенного ПК, включая процессор и всю логику вокруг него (NES, Speccy, Orion, ЮТ-88, etc). Для этого уже требуется пять, десять и более тысяч ячеек. Плюс эти платы содержат дополнительные внешние устройства.

Поэтому я бы посоветовать взять что-то среднее между 240 и 10000 ячейками, с предпочтением в сторону увеличения в зависимости от доступных средств. На отладочной плате лишние ячейки это не страшно, а если их не хватит — уже ничего не поделаешь. Потом, когда устройство отлажено, станет ясно, сколько надо ячеек, купить под нужное количество, без лишнего «обвеса», дешевле и оставить в готовом устройстве.

То, чем действительно отличаются MAX от Cyclone’ов, кроме количества ячеек, это:
1) У серии MAX внутри нет PLL. На каждой отладочной плате есть генератор, как правило на 50 МГц. Основной массе проектов этого будет достаточно. Все синхронизации будут происходить путем деления 50 МГц на какое-нибудь значение. Либо, можно взять внешний генератор и подать на отдельный вход ПЛИС. А что, если потребуется частота выше 50 МГц? Мне не удалось с ходу найти генераторы выше 50 МГц. Но тут как раз на помощь и приходит PLL, который встроен в Циклоны. На нем можно умножить частоту, например, до 100 МГц.
2) В серии Cyclone встроены аппаратные блоки умножения. Их количество зависит от конкретной модели — тут как раз можно «всетаки заглянуть в инструкции», чтобы узнать сколько. Если предполагаете делать какой-то ЦОС, то они пригодятся: сэкономят ячейки, увеличат скорость. С другой стороны, если нет умножителей, их можно синтезировать, но у маленькой ПЛИС на это может не хватить ресурсов.

Во всем остальном у меня критерий «влезло/не влезло». Отладка на заведомо бОльшей, чем нужно плате, с последующей заливкой в минимально необходимую для этого.

Сколько нужно денег?

Программатор
Я считаю, что у меня нет времени, чтобы паять программаторы на рассыпухе.

300 рублей. Я свой брал на ебее, выглядит так:

Отладочная плата
Выбор широкий, в зависимости от количества денег.

Начальный уровень 350 — 550 рублей. Это платы на MAX II (240 или 570 ячеек). Могут подойти для начального ознакомления и дальнейшего пристройства в конечные устройства. На плате есть генератор, пара кнопок, пара светодиодов, остальные 80 выводов на свое усмотрение.

Блок питания
Обязательно должен быть, но не всегда идет в комплекте. Потребуется БП на 5 вольт и ток 2А.

Средний уровень от 900 до 1500 рублей. Это платы Cyclone 1, 2, 3, 4 отличающиеся в основном количеством ячеек.
Маркируются примерно так:
EP2C5T144 — Cyclone 2 примерно 5к ячеек
EP4CE6E22C8N — Cyclone 4 примерно 6к ячеек
EP2C8Q208C8N — Cyclone 2 примерно 8к ячеек

Можно заметить, что Cyclone 3 может иметь больше ячеек, чем Cyclone 4.

Вот несколько вариантов:

835 рублей.
ALTERA FPGA CycloneII EP2C5T144 Minimum System Board for Learn good

880 рублей
Altera CycloneII EP2C5T144 FPGA Mini Development Learn Core Board E081

1265 рублей
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Evaluation Development Core Board

Платы с расширенными возможностями. Это платы, на которых установлены дополнительные модули (UTP, USB, AUDIO), разъемы (SD, VGA), кнопки, переключатели, светодиоды, семисегментные индикаторы и т.д. Либо может идти базовая плата, а к ней могут прилагаться платы расширения отдельно.

Вот основная плата. На ней есть 2 светодиода, 2 кнопки, 4 переключателя, семисегментный интикатор и микросхема оперативной памяти.

Плата расширения. На ней распаяны SD, VGA, а так же контроллеры USB(High Speed USB2.0 Chip: CY7C68013A), AUDIO(Sound Card up to 96kHz/32bit ADC/DAC: WM8731S), UTP(100M Ethernet interface: DM9000A):

Эти платы просто вставляются одна в другую, но у меня она пока лежит в ящике. Для своих поделок у меня макетка, с которой я соединяюсь шлейфом, который идет в комплекте. Еще в комплекте идет блок питания на 5 вольт.

Altera Cyclone NIOS II SOPC FPGA Development Learning Board EP2C8Q208C8N+LCD1602 — 2670 рублей

Terasic Altera FPGA DE0-Nano Cyclone IV Development and Education Board — 4600 рублей

Но в целом, большие и дорогие отладочные платы я бы не рекомендовал сразу покупать. Дорогие покупки должны быть обоснованы, сейчас же пока не ясно что подойдет лучше. Ясно станет, когда начнется практика.

Заказал, ждем

Пока идут платы, можно начать себя морально и технически готовить:
— Установить Quartus II v.11.1
Почитать:
— Книга: А.К. Поляков Языки VHDL и Verilog в проектировании цифровой аппаратуры 2003
— www.kit-e.ru/articles/circuit/2008_3_161.php — Краткий курс HDL
— Уроки на марсоходе по верилогу, архитектура, простые советы по стилю.
— VERILOG как образ жизни
— Хорошие примеры (EN)
— Как начать работать с ПЛИС (Xilinx)

ВСЕ!

Мы ждем от тебя интересных проектов на ПЛИС!

PS. Обращаясь к тебе на «ты», я обращаюсь, как к равному, личности, а не части толпы. Если обращение на «ты» оскорбило, прошу меня извинить.

ВНИМАНИЕ! Verilog и ПЛИС не являются серебряной пулей и волшебным средством решения любых задач, они не могут заменить микроконтроллеры во всех проектах. Для работы с ПЛИС требуется определенный уровень технической подготовки. Вы сами несете ответственность за все решения в вашей жизни. Автор снимает с себя ответственность за возможные финансовые и временные потери, связанные с вашими исследованиями в области ПЛИС и Verilog.

С чего начать изучение FPGA (ПЛИС) ? ⁠ ⁠

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

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

Внимание! Всё, что мною написано — это бред сумасшедшего это мои личные умозаключения, основанные на собственном опыте, на информации из различных источников, достоверность которых весьма спорная. Поэтому я не несу никакой ответственности за возможный вред, нанесенный вашей тонкой душевной организации, трату вашего бесценного времени. Поэтому пока не поздно закройте этот пост, а потом хорошо промойте глаза, желательно с мылом.

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

Долго думал чего бы мне начать. Поскольку думать это не моё, поэтому буду импровизировать и выкладывать посты, как получиться. Но я постараюсь излагать материал более-менее последовательно, ну а дальше, либо меня заберут санитары, либо улечу в такие минуса, из которых не выбираются самостоятельно. Ну да ладно, будь что будет….

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

Поскольку я личность крайне ленивая, и мне лень переключать каждый раз раскладку клавиатуры, то зарубежную аббревиатуру FPGA (Field-Programmable Gate Array), что переводиться как Программируемая Полем Вентильная Матрица (ППВМ), я со своей легкой руки заменяю на ПЛИС, что означает Программируемая Логическая Интегральная Схема.

Что же такое ПЛИС, зачем она вообще нужна, когда есть микроконтроллеры, например макетная плата Arduino? Если в вкратце объяснять, то в основе платформы Arduino лежит микроконтроллер, по сути представляющий собой миниатюрный компьютер, имеющий ОЗУ, порты ввода\вывода, набор минимальной периферии, память команд, содержащую инструкции, которые он (контроллер) выполняет, т.е. программу, написанную пользователем, под конкретную архитектуру контроллера.

ПЛИС — это же набор логических элементов, настраивая, и объединяя которые, вы строите цифровую схему, которая выполняет заложенную вами функцию. Уф. Понятно объяснил? Да знаю я, что непонятно! Я сам ничего не понял из своего объяснения, когда прочитал!

Попробую привести пример: представьте, что вам нужно получить от четырех датчиков данные передаваемые по четырем 8 битным шинам. И вычислить среднеарифметическое этих данных, с отбрасыванием дробной части. И делать это надо с максимально возможной скоростью. Допустим наш контроллер, тактируется частотой 10 МГц. Для нахождения среднеарифметического, сначала надо сложить четыре числа. В зависимости от архитектуры контроллера на это уходит от 1 до 5 тактов. Не факт что архитектура контроллера позволяет сложить сразу четыре числа, но допустим, он умеет это делать. Потом сумму этих чисел надо ещё поделить на 4. Надеюсь, вы помните, что деление на числа степени двойки можно заменить сдвигом? Т.е деление на 2 — это сдвиг двоичного числа на 1 разряд вправо, деление на 4 это сдвиг на 2 разряда вправо, деление на 8 это сдвиг на 3 разряда вправо, и.т.д. На контроллере нам, как минимум, придется потратить 1 такт на осуществление этого сдвига. Итого в самом лучшем случае нам потребуется 2 такта машинного времени для нахождения среднеарифметического 4 чисел. Максимальная частота, с которой можно запихивать данные в контроллер составит в самом лучшем случае 5МГц, быстрее контроллер просто не успеет обрабатывать данные.

А если нужно больше? Да не знаю я зачем нужно больше! И вообще не задавайте глупых вопросов! Хочу просто!

Если я хочу больше — я возьму контроллер с большей тактовой частотой. Это разумный подход, когда цена контроллера низкая, и архитектура контроллера позволяет за 2 такта найти среднеарифметическое. Но придется изучать документацию на другой контроллер, скорее всего, переписывать программу. Я думаю, каждый программист контроллеров сталкивался, что для его проекта либо не хватает скорости, либо количества портов.

Как же дела обстоят с ПЛИС? А на ПЛИС мы просто создаём схему, которая будет делать сложение 4 чисел, и сдвигать результат сложения на 2 разряда вправо. И всё это выполнять можно спокойно менее чем за такт, ПЛИС с этим справиться без проблем. Главное сделать правильную схему. Более того, в ПЛИС останется куча места для творчества, и таких вот модулей, которые могут находить среднеарифметическое, можно сделать очень много. И все эти модули будут работать одновременно и независимо друг от друга. Ограничение накладывает лишь количество портов.

Итак — ПЛИС позволяет вести обработку большого количества данных максимально быстро, и одновременно.

За счёт чего это получается? Приведу маленькую, мною придуманную притчу: взялись как-то ПЛИС и контроллер гвозди забивать на скорость. Контроллер взял свой самый большой молоток, оптимизировал свой алгоритм забивания гвоздей на максимальную производительность. И за 1 удар он своим молотком забивал 1 гвоздь. Контроллер смотрит на ПЛИС и ухмыляется. Не догнать его, он работает на пределе, и никто не может его обогнать! На что ПЛИС невозмутимо открывает свой чемоданчик и берет 100 маленьких, невзрачных молоточков, каждый из которых забивает гвоздь за 10 ударов. Видя, как ПЛИС забивает одним молотком гвозди, контроллер просто катается по земле от смеха, так-так она будет забивать гвозди еще миллионы циклов машинного времени, и ей никогда его не догнать. Но, глянув внимательно ещё раз, он увидел, что трудиться то 100 молотков, и постепенно ухмылка контроллера сменяется гримасой отчаяния. Ведь он уже далеко позади. ПЛИС не только догнала контроллер, но и пошла в отрыв, который стремительно увеличивается, и контроллеру за ПЛИС не угнаться !

В чём же дело? Почему контроллер проиграл ПЛИС? А всё дело в том, что, как я уже говорил ранее, контроллер это маленький компьютер, и он выполняет программу, т.е. последовательность операций, заложенную в него программистом. Причем операции выполняются какое-то фиксированное время, которое зависит только от архитектуры контроллера. И это ограничение обойти физически невозможно, поскольку архитектура контроллера – это набор функциональных блоков, которые физически расположены на кремниевой подложке микросхемы. И вы можете только оптимизировать код по критерию минимизации времени выполнения, т.е. написать максимально быструю программу.

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

На ПЛИС в отличие от контроллера, можно сказать, что нет такого понятия, как архитектура. В ПЛИС есть большая куча. Нет не так! В ПЛИС ОЧЕНЬ большая куча, универсальных логических элементов, которые могут реализовать базовые функции. Например, в ПЛИС Cyclone 3 EP3C10E144C8 таких логических элементов аж 10320 штук

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

Логический элемент может быть сконфигурирован как D-триггер, может быть мультиплексором, может быть элементом ИЛИ, может быть дешифратором и пр. Объединяя эти логические элементы, которые сконфигурированы на выполнение определённых функций, разработчик постепенно формирует цифровую схему, которая и выполняет возложенные на неё обязанности. Поскольку всю цифровую схему придумывает разработчик сам, он может реализовать арифметические операции так, что они могут выполняться быстрее, чем в контроллере, т.к. в контроллере, все операции вычисления выполняются универсальным элементом – АЛУ (арифметическое логическое устройство), которое умеет делить, складывать, умножать, сдвигать и пр. АЛУ предназначено для всей математики, поэтому одни операции АЛУ выполняет быстрее, а другие медленнее, это зависит от архитектуры контроллера.

На ПЛИС вы сами формируете схему выполнения этих операций. И скорость работы математики будет зависть только от правильности составленной схемы. Более того в ПЛИС, логические ячейки могут работать одновременно, и во власти разработчика реализовывать несколько независимых потоков вычислений. К примеру один модуль делит, второй умножает, третий складывает, четвертый двигает. Задача разработчика — правильно синхронизировать эти параллельные потоки, чтобы схема работала, так как вам надо. Так-же на ПЛИС реально реализовать собственный микроконтроллер, который даже можно программировать как обычный.

Казалось бы если ПЛИС — такая крутая и быстрая штука, то зачем вообще нужны контроллеры? Во-первых — экономическое обоснование. Сравните цены контроллера и ПЛИС, и увидите разницу в цене более чем в 10 раз. Во-вторых — не всегда нужна высокая производительность, которую можно достичь на ПЛИС. Например, вы считываете с датчика температуры показания, и выводите на простенький индикатор. В данной задаче разница в скорости выполнения измерений за 100 тактов на контроллере, или за 1 такт на ПЛИС, на результат почти не влияет, поскольку температура – это очень инертная вещь, которая изменяется бесконечно долго по меркам машинного времени. Зачем покупать дорогую ПЛИС, когда можно купить копеечный контроллер, который прекрасно справиться со своей задачей? Да и запрограммировать контроллер гораздо легче, чем ПЛИС. Ведь вы, наверное, догадались (я на это очень надеюсь), что ПЛИС не выполняет программу , а внутри неё реализуется цифровая схема, придуманная вами. А цифровую схему надо ещё придумать, отладить, протестировать, добиться стабильности, о чём я постараюсь рассказать в следующих постах.

Процесс создания цифровой схемы внутри ПЛИС во многом похож на создание схемы из кучи корпусов микросхем средней степени интеграции, таких как К155 или К555 серии, либо других серий логики. Только очень, и очень быстрой. Не каждый новичок обладает достаточными знаниями, чтобы с ходу взяться рисовать схемы. Ведь написать программу для контроллера и отладить её куда проще, чем нарисовать схему. Да и для работы с ПЛИС надо знать не только цифровую схемотехнику, но и различные интерфейсы. Например, если приёмопередатчик RS232 (COM порт) на большинстве контроллеров «вшит» внутри контроллера и в контроллере его надо правильно сконфигурировать, то на ПЛИС надо его реализовать самостоятельно. Допустимый вариант найти в интернете готовую схему RS232 контроллера для ПЛИС, со всеми багами и глюками оставленные разработчиком…

Именно из-за сложности и времени разработки, высокой цене отладочных плат, и отсутствия задач, где требуется высокая производительность, достигаемая на ПЛИС, она не снискала такой популярности в отличие от контроллеров. В частности небезызвестная платформа Arduino, разобраться с которой может и школьник, за несколько дней. А ведь на ПЛИС ещё и моделировать схему надо, есть куча подводных камней, таких как, пересечение доменов синхрочастоты, метастабильность триггеров, глитчи, синхронизация асинхронного сброса, и прочая лабуда. Вы пока не запоминайте всякие умные слова, потом может быть, я чуть подробнее коснусь этих тем. Это я просто нагнетаю обстановку.

Итак, если ПЛИС дорогая, разработка сложная, и долгая — тогда зачем она нужна? Взять контроллер «пожирнее» и все! А ответ скрывается в моих примерах. В ПЛИС если правильно создать схему, можно добиться производительности в обработке данных, которая контроллерам и не снилась. Более того, в опредёлённом круге задач современные ПЛИС могут дать фору и современным моделям микропроцессоров! ПЛИС крайне выгодно применять, когда скорость вычислений не очень критична, но требуется большое количество портов ввода\вывода, либо одновременность и независимость работы этих портов ввода\вывода. С этим у ПЛИС проблем нет. За счёт параллельности работы, логических ячеек в ПЛИС можно реализовать ряд устройств, работающих независимо друг от друга — и таким образом сэкономить на количество корпусов на печатной плате — что в итоге может существенно снизить стоимость изделий.

Вывод – ПЛИС реализует цифровую схему, заданную разработчиком. Контроллер – выполняет программу написанную программистом. ПЛИС и микроконтроллеры, принципиально разные классы устройств. В одних случаях лучше применять ПЛИС, а в других микроконтроллеры. Каждый случай надо рассматривать отдельно и искать наиболее рациональный вариант. Иногда решающую роль в выборе платформы будет играть срок разработки изделия. К сожалению, по скорости разработки ПЛИС сильно уступает контроллеру. Но у ПЛИС есть ещё одно неявное преимущество перед контроллерами — универсальность знаний. Большинство проектов можно написать практически независимо от серии микросхемы ПЛИС и производителя, с которым в данный момент вы работаете. И сменить производителя и тип ПЛИС можно относительно безболезненно, в отличие от контролеров, где смена типа контроллера подразумевает смену архитектуры, на которую, сильно завязана программа.

Итак, если вы вдруг всё же решитесь взяться за изучение ПЛИС — то начинать надо в первую очередь с основ цифровой схемотехники. После того, как вы познаете тайный смысл слов таких как: счётчик, мультиплексор, компаратор, шифратор, дешифратор, исключающее ИЛИ и прочие умные слова, услышав которые, у вас появлялось стойкое желание спрятаться под кровать и биться в припадке (у меня так и было, честно-честно), необходимо выбрать среду моделирования и софт производителя ПЛИС. Я считаю, что начинать изучать ПЛИС надо с Altera, поскольку их среда разработки — Quartus, крайне проста и удобна в освоении за счёт простого и понятного интерфейса, в отличие от ISE фирмы Xilinx. В принципе, есть и другие производители ПЛИС такие как: Lattice Semiconductor, Actel, но это скорее экзотика, которая не очень походит для изучения ПЛИС.

После выбора среды разработки на ПЛИС, крайне желательно установить среду моделирования Modelsim, производства компании Mentor Graphics. Хотя софт от разработчика ПЛИС и предоставляет инструменты отладки и моделирования схем, однако у них очень ограниченный функционал, да и Quartus от Altera недвусмысленно намекает, что моделируйте схемы в Modelsim. Но на начальном этапе, можно эти намёки игнорировать.

Итак, основы схемотехники вы познали, софт разработки и моделирования установили. Необходимо определиться со способом описания схем в ПЛИС. В настоящее время в основном используется 3 основных способа описания схем на ПЛИС:

Первый – это рисование цифровых схем из элементов, такие как триггеры, счётчики, мультиплексоры и пр. Т.е точно также, как создавали схемы раньше. Например, в САПР Quartus этот способ ещё доступен, но данный способ подходит только для простых схем, поскольку в больших проектах схема становиться не читаемая.

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

Второй способ – это использовать среду Matlab но, к сожалению, я про этот способ почти ничего не знаю.

И самый продвинутый и удобный способ — описание на языке HDL — hardware description language (Язык описания аппаратуры). На данный момент самые распространённые языки это Verilog и VHDL. Также активно развиваются языки System verilog, System C, про них я говорить не буду, поскольку знаю про них чуть больше чем ничего.

С чего начать изучение FPGA (ПЛИС) ? Плис, Fpga, Схемотехника, Разработка, Электроника, Arduino, Длиннопост

Изначально как Verilog, так и VHDL применялись для описания схем, созданных в схемном виде, и для моделирования этих схем. Но потом умные люди смекнули, что можно эти языки применять и для создания этих схем. И появилось RTL (Register transfer level) подмножество этих языков — уровень регистровых передач. Т.е теперь можно писать программу описывать схему в виде текста, которая средствами САПР будет синтезироваться в схему, на ПЛИС, которая вам нужна. И это оказалось весьма и весьма удобно, именно поэтому текстовый ввод получил наибольшее распространение.

Но из-за того, что основная и первоначальная задача этих языков – это моделирование, появилась жуткая путаница, поскольку часть языковых конструкций применяется для моделирования, а другая часть для синтеза. И часто начинающий разработчик на ПЛИС не читает документацию и стандарты к выбранному HDL языку, и применяет языковые конструкции, которые в реальную схему синтезироваться не могут, и долго не может понять, а почему схема не работает? Появлению этой путаницы немало поспособствовали авторы книг по HDL языкам. Очень многие авторы сначала долго и муторно пишут про подмножество языка, предназначенного для моделирования, а про синтезируемое подмножество пишут только в середине, или посвящают этому несколько глав в конце книги. Получается, что человек прочитал половину книги, а это всё предназначено только для моделирования синтезируемой части языка. А ведь, правда. Кто сразу садиться за моделирование? Чтобы приступить к моделированию, необходимо иметь объект моделирования, т.е. синтезируемую схему. А как её получить читателя не научили.… Более того, правильное написание синтезируемой части языка, основные правила практически не раскрываются в книгах, а если и раскрываются, то очень поверхностно. В итоге получается, что те, кто учиться на примерах, поставляемых фирмой Altera или Xilinx, описывают схемы гораздо лучше, чем те кто учился по книгам, но моделируют хуже.

Я наступил на эти грабли, что в итоге отбило желание читать книги. Язык VHDL, выбранный мной, я изучал на синтезируемых примерах, и только после того, как сделал несколько работающих железяк, и у меня появилось потребность в более быстром и качественном моделировании, чем то, которым я владел на тот момент, и я вернулся к чтению книг. И только после этого, появилось понимание читаемых книг. До этого была каша в голове.

В дальнейшем, если я продолжу писать посты, я буду везде давать примеры на языке VHDL, которым владею. Посоветовать выбрать какой-то конкретный язык описания: Verilog или VHDL я не могу. Причина в том, что каждый язык имеет преимущества и недостатки. Холивары на эту тему идут до сих пор. Но в любом варианте язык – это инструмент. Посмотрите примеры описаний на языках HDL в интернете, и выберете тот, который вам нравиться внешне, большего посоветовать не могу.

Итак, давайте подведём краткие итоги всего написанного мной:

1. ПЛИС штука нужная, быстрая, и дорогая. И применять её надо там, где она реально нужна. И выбор «ПЛИС или микроконтроллер» зависит в первую очередь от класса задачи, срока реализации.

2. Изучение ПЛИС надо начинать с основ схемотехники, поскольку в отличие от микроконтроллера, управляемого программой, внутри ПЛИС описывается цифровая схема, со всеми вытекающими последствиями.

3. Для начального обучения разработки на ПЛИС достаточно установить среду моделирования, или среду разработки. На начальном этапе отладочная плата не нужна, поскольку работу схемы можно смоделировать.

4. Книги, безусловно, нужны, но книги не панацея, и лучшее понимание синтезируемой части языка дадут примеры, которые выкладывают в свободный доступ разработчики ПЛИС, в частности Altera и Xilinx. Практика и ещё раз практика.

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

Пришла Пора Отечественных Плис 5576Хс

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Последние посетители 0 пользователей онлайн
  • Ни одного зарегистрированного пользователя не просматривает данную страницу
Сообщения

vg155

,50/60 Гц (12 А) Потребляемая мощность при 2 Ом:350 Вт!! 300 Ватт там Максимум!

Как поставить плис altera вместо плис 5576хс4т

Об Эльбрусах и Байкалах разговоров много, а о ПЛИС как-то молчок. А между тем, их у нас делают, причём именно на территории России. Уже имел дело с 5576ХС4Т1 и 5578ТС104, листал ТУ на их «соседей», попытаюсь в общих чертах описать, что за зверь такой.

Изготовителем считается ВЗПП-С, Воронежский Завод Полупроводниковых Приборов — Сборка. Но как указывает последнее слово, завод этот занимается в первую очередь корпусированием кристаллов и отгрузкой готовой продукции. Изготовитель кристаллов: зеленоградский Микрон.

Злые языки говорят, что мы просто купили в своё время лицензию на старые, снятые с производства Альтеровские ПЛИС, и теперь бездумно их клепаем у себя. Доля правды в этом есть, но если присмотреться, всё немного не так!

5576ХС4Т1 в пластиковом корпусе на отладочной плате:

Отладочная плата для ХС4

Флэш-конфигуратор зато в металлокерамике, всё как положено. Хотя в космос ему нельзя, туда однократно-программируемый нужен, флэш-память очень уязвима. Сама 5576ХС4Т бывает в металлокерамике, а бывает и в пластике, как здесь.

Эта ПЛИС, прямо согласно ТУ, является функциональным аналогом Altera Flex10ke, на 9984 логических элемента (ЛЭ), с 24 блоками внутренней памяти (БВП, они же EAB, Embedded Array Block) по 512 байт каждый.

Чтобы её «прошить», прямым текстом просят скачать Quartus II версии НЕ ВЫШЕ 9.0 sp2, поскольку начиная с 9.1 поддержка серии Flex10k прекращается. Нужно выбрать device: EPF10K200SRC240-3. И когда проект будет написан и отсинтезирован, его можно будет закачать НАПРЯМУЮ, прямо «не выходя из Квартуса». Разве что ноги надо назначать согласно таблицы из ТО.

Так что да, на самый первый взгляд это точный клон. Вот только питающие напряжения не совпадают! У Flex10ke ядро питается от 2,5 вольт, а у 5576ХС4Т: от 1,8 вольт. И это даёт свой результат: если посмотреть на формулу для расчёта потребления, там есть коэффициент K, в мкА/МГц, и он в Flex10ke и 5576ХС4Т отличается ЗНАЧИТЕЛЬНО, наша ПЛИС, как ни странно, более «холодная». И могу это подтвердить: сколько я её не ковырял, больше 300 мА потребление ВСЕЙ ПЛАТЫ никогда не шло, и на ощупь она всегда остаётся холодной.

Далее, у нашей ПЛИС, в сравнении с «оригиналом», расширенные возможности ввода-вывода: добавлена «подтяжка к земле», «подтяжка к VCC» и Bus-Hold (если с шины «все ушли», сохранить последнее значение, не позволить ей висеть в воздухе, т.к в таком режиме у КМОП-входов начинаются сквозные токи, нехорошо). Это заметно уже при включении ПЛИС: у «оригинала» просто все ножки повисали в воздухе, а здесь подтягиваются к VCC. Мне сразу вспоминалась приборная панель автомобиля, где при повороте ключа зажигания для начала вспыхивают все табло, «проверить, что лампочки не перегорели». Впрочем, мои соседи умудрялись себе прибор спалить из-за такого поведения, надо это иметь в виду, когда схему проектируешь. А чтобы сконфигурировать дополнительные возможности, одним Квартусом уже не обойдёшься, нужно купить комплект программ от КТЦ Электроника и «скормить» им выходной бинарный файл Квартуса, и уже отметить всё что нужно.

Ещё из нововведений: режимы Verification и Scrubbing. Первый непрерывно гоняет конфигурационную ПЗУ и проверяет, по-прежнему ли прошивка ПЛИС соответствует тому, что лежало в ПЗУ. Второй не просто проверяет, но и «перезаписывает» сбойные места, прямо на лету. И то, и другое, видимо, предназначается для работы в условиях космических лучей, чтобы при сбоях ячеек статической памяти восстановить функционирование. Честно говоря, так до сих пор не довелось проверить это «в деле», да и конкретно 5576ХС4Т не такая уж стойкая: дозу она воспримет неплохую, но защита от ТЗЧ в ТУ «не нормирована», что вынуждает ставить отдельно защиту от тиристорного эффекта. Я очень скептично к ней относился, разве ж можно почувствовать, что из 9984 ЛЭ один вдруг «защёлкнулся»? Оказывается, можно, по крайней мере, на испытаниях оно срабатывало.

Так что о бездумном копировании говорить не приходится. Уже на этой ПЛИС был опробован переход на другой техпроцесс (сниженное напряжение и энергопотребление) и добавление некоторых «пряников». До сих пор не понимаю, как при этом удалось оставить бинарную совместимость в плане прошивки, возможно, нашли незадействованные «заделы», и, наконец, применили. При этом возникла ещё одна странность, характерная именно для 5576ХС4Т: в режиме конфигурирования она невосприимчива к JTAG’у. Немножко седых волос добавило: только начал с этой отладочной платой разбираться, подключил JTAG, увидел два устройства в цепочке (ПЛИС и конф. ПЗУ), но ни одно прошиваться не желает, ругается последними словами. Как оказалось, ПЛИС будет прошиваться, только если из ПЗУ в неё загрузим хоть ЧТО-НИБУДЬ, а вот при пустой ПЗУ она застревает в какой-то прострации. А для ПЗУшки нужно было конвертировать файл под EPC4.

Все последующие ПЛИС отличаются уже сильнее, и бинарной совместимости не имеют, там без преобразования в специальной программе не обойдёшься.

5576ХС6Т: дофига радстойкая, как по дозе, так и по ТЗЧ. Но размер поменьше, 2880 ЛЭ и 5 килобайт внутренней памяти.

5576ХС7Т ещё мельче, 1728 ЛЭ и 3 килобайта памяти, и содержит внутри себя конфигурационную однократно программируемую ПЗУ. Сценарий такой: поначалу отлаживаемся по JTAGу, каждый раз теряя «прошивку» после пропадания питания, а как только доведём прошивку до ума — поставим её «насовсем». Такого в серии Flex10ke точно нет! Разве что MAX3000 в чём-то похож, но MAX это всёж CPLD на макроблоках, не тот калибр. Впрочем, есть у 5576ХС7Т подлянка: нельзя инициализировать блоки внутренней памяти! В других ПЛИС можно, чтобы после конфигурации в памяти лежали заранее заданные нами значения, которые мы описали в файлах .mif (Memory Initialization File) или .hex, а здесь, увы и ах — будет лежать мусор.

На этом серия 5576 заканчивается, и начинается «новое поколение», ПЛИС 5578ТСxxx.

Я присматривался к 5578ТС034, улучшенный аналог 5576ХС7Т: 4992 ЛЭ и 6 килобайт памяти (если не ошибаюсь. Помню, что «половинка от ХС4Т») с однократным программированием. Увы, здесь сохранилась нехорошая особенность, нельзя инициализировать память. Для меня это было принципиально: я для этих ПЛИС разработал микроядро QuatCore, сокращённо от Quaternion Core, заточенное под задачи технического зрения и ориентации в пространстве с помощью кватернионов. И мне нужно было, чтобы в одних блоках памяти сразу же оказался код, а в других — начальные значения всех переменных. Лишишься этого — придётся некий «бутлоадер» ковырять и подключать ПЗУ снаружи, некрасиво это.

О некоторых ничего толком сказать не могу, например, 5578ТС014 или 5578ТС024.

Ну а самые тяжеловесы — это 5578ТС064, 5578ТС084, 5578ТС094, 5578ТС104. Это уже функциональный аналог Altera Cyclone III, произведённые по техпроцессу 90 нм. Напряжения: 2,5 вольта периферия, 1,2 вольта ядро. По логической ёмкости, самая крупная, как это ни странно, ТС064, под 56 тысяч ЛЭ и свыше 2 МБит внутренней памяти, полторы сотни аппаратных умножителей 18х18 (DSP-Блоки) и 4 блока ФАПЧ (PLL). Плюс к тому, отдельные ножки теперь можно конфигурировать в LVDS.

Из этих 4, 5578ТС104 выделяется «толерантностью к 3,3 вольтам», то есть при напряжении периферии 2,5 вольта, можно подавать 3,3-вольтовые сигналы без страха её спалить. Потрохов чуточку меньше: 39600 ЛЭ, 1,134 МБит внутренней памяти, 126 перемножителей.

5578ТС104 в естественной среде обитания

Судя по обилию операций, которые надо сделать, чтобы с ней работать, она ещё дальше ушла от оригинала. Тайминги не совпадают, и, как это ни удивительно, местами они ЛУЧШЕ. Чтобы узнать, может ли наш проект корректно работать на заданной тактовой частоте, нужно подключить специальный TCL-скрипт, который «подправит» задержки распространения, прописанные для Cyclone III. Иногда может отличаться «роутинг», некоторые пути, возможные в Cyclone III, не получается «развести» по ТС104. Так что и здесь нужно отдельную программку запускать, с романтическим названием verify_routing. К сожалению, они не очень подробно сформулировали «алгоритм действий», забыли сказать, что после неудачного результата надо УДАЛИТЬ файлик .rcf, и только после этого запускать синтез с новым значением seed. Ещё и ФАПЧ реализована по-своему, нужно смотреть специфику.

Слабое место этой ПЛИС: конфигурационное ПЗУ аж на 24 МБита. Его должен был делать Миландр, но чего-то запаздывает. Самое интересное, по моим предварительным изысканиям, все 24 МБита здесь и не нужны, хватило бы чуть больше 8, и это при несжатом битстриме. Использовать сжатый она, похоже, не умеет, или программистам лень было реализовывать операцию по сжатию, этого пока не знаю, буду выяснять.

Выводы

Работать с этими ПЛИС вполне можно, документация довольно неплохая, впрочем, хитростей всё равно хватает.

Плохо ли то, что они являются функциональными аналогами Altera Flex10k и Cyclone III? А почему бы и нет. Даже такая вот «миграция» получается довольно нервной, а если ещё человека заставить сидеть в совершенно другой среде разработки, с другими библиотечными компонентами, без понимания, как писать модули, чтобы они ложились «компактно» в данную ПЛИС — мало кто это вынесет. Прямой копией, как видно, они не являются, и чем дальше — тем сильнее они «уходят» в сторону. Видно, что у нас есть специалисты, которые очень глубоко разобрались во «внутреннем устройстве» альтеровских ПЛИС и всех генерируемых файлах, иначе даже малейших изменений они внести бы не смогли.

Насколько эти ПЛИС «древние»? Да нормально, Cyclone III ещё из употребления не вышел, используется вовсю. Компоненты для космической техники всегда «отстают от моды», да и не очень хочется излишне тонкие техпроцессы там использовать, одна случайно залетевшая тяжёлая частица устроит погром!

Аудио ЦАП DAC. Поделки начинающего цапостроителя. Часть 20. ПЛИС в ЦАП. Quartus II + Altera USB Blaster

Мир цапостроя не заканчивается на РСМ63 или AD1862 , а новые форматы и поддерживающие их чипы уже доступны.
Это интересно. И не так уж сложно. Достаточно иметь нужный набор инструментов, который стал доступен практически каждому, и желание пробовать и экспериментировать.

↑ Небольшое вступление: CPLD она же ПЛИС

ПЛИС, что расшифровывается как Программируемая Логическая Интегральная Схема, по буржуйски — CPLD, что означает Complex Programmable Logic Device, в цапостроении применяется уже давно. А в мире цифровых устройств еще раньше.
Один из моих самосборных компьютеров «Орион-128» имел в стартовом комплекте печатную плату и прошитую ПЛИС, без которой плата бы никогда не запустилась бы. А это было… Ох, уже и не вспомню.
Но давно.

ПЛИС бывают разные. Основные производители на данный момент — это Xilinx и Altera, ну может кто-то еще — не вдавался. Бывают они разной структуры, назначения, ёмкости. Всего не перечислить. Технологии-то уже более 20 лет… Не беда, лампы вон до сих пор в цене:)

↑ Однако, приступим!

Когда я искал материал по ПЛИС, наткнулся на статью моего тёзки с ником Lexus. Называется она « Использование ПЛИС в DAC ». За статью автору огромное спасибо! Возможно это единственный материал, где подробно разжёвано всё от начала и почти до конца. Всёе остальное, включая документацию от производителей, довольно тяжело осваивать «в лоб». Вот на базе этого материала я и расскажу о своём опыте работы с ПЛИС. Я конечно постараюсь покороче, ну, а вы готовьте помидоры и изучайте.

Для начала нужно определиться, для чего и как будем использовать этот самый ПЛИС. Задача конвертации RJ в I2S, описанная в вышеуказанной статье — это просто, и как то меня она минула за ненадобностью, а вот коммутация входов, деление частоты на костыле из 3 корпусов 74НС74, переключение генераторов — вот минимальная задача, ради которой стоит начать знакомство с этой технологией.
Поэтому за основу был взят готовый ЦАП на AK4137, описанный в моей предыдущей статье.

Следующий шаг — обеспечить себя необходимым окружением. Для этого качаем из сети рекомендованный Лексусом Quartus II 9.1 SP 2. Я для интереса скачал самый новый. Не знаю, на любителя. Например, в новой версии отсутствует поддержка устаревших версий ПЛИС (а именно — нужной нам ЕРМ3064), обилие наворотов и обязательная регистрация перед скачиванием (и так спам девать некуда) мне не понравились.

Далее покупаем программатор. Или собираем на коленке.
Мне оказалось проще купить: USB Blaster (Altera CPLD/FPGA programmer)
Можно сначала купить — потом качать Quartus, не важно. У меня например было время немного освоить этот Quartus, пока мой программатор пинали ногами на транзитных пунктах китайской почты.

Ну и естественно — сам ПЛИС. Как же без него? Для своего проекта выбираем EPM3064ATC44-10N . Это ПЛИС с питанием 3,3 В, на 64 логических ячейки, с возможностью программирования через JTAG, в корпусе TQFP44 (аккурат как у АК4399, паять несложно) и с грейдом 10. Половина этой странной инфы нам не нужна. Важно лишь питание и рабочая частота.
Для этой микросхемы она равна 150 МГц, что в принципе хватит за глаза и выше. Другие подробности есть в даташите, там же есть масса инфы, которую я еще не переварил, да и, как выяснилось, эта инфа избыточна для наших задач.

↑ Задача в подробностях

Художник из меня просто шедевральный, поэтому прокомментирую это чудо.
Самое интересное в красном квадрате в центре.
Сигнал со входов I2S или SPDIF/I2S в формате I2S через мультиплексор подается на вход ЦАП.
После мультиплексора выдергивается сигнал MCLK и идет на модуль CLOCK, в котором находится два генератора для сетки частот 44х и 48х и несколько буферных элементов.
Задача модуля — если ЦАП работает в режиме MASTER, поглядеть какая сетка частот используется и отдать ЦАП клок с нужного генератора, а также отдать этот клок источнику.
Если ЦАП в режиме SLAVE, то просто пропустить через себя тот клок, что пришел к нему от мультиплексора. Сигнал сетки просто игнорируется.
А еще выдать для измерения частоту LRCK для PCM или DSDCLK для DSD.
За всем этим бдительно следит контроллер.
Естественно все это мной уже реализованно на рассыпной логике.
Так вот задача в принципе проста — все функции красного квадрата возложить на ПЛИС, и адаптировать схему под работу с проверенным мной AK4137 .

↑ Теперь можно ставить софт и готовить проект

Аудио ЦАП DAC. Поделки начинающего цапостроителя. Часть 20. ПЛИС в ЦАП. Quartus II + Altera USB Blaster

Но не спешите радоваться — нам нужна схема! Для этого идем далее в меню File→New.
Откроется это окно:

↑ Все готово. Теперь можно творить!

В поле «Name» набираем 74257. Это мультиплексор 2×4. Далее, обязательно нужно накидать входы и выходы. Для входа набираем input, для выхода — output.
По даташиту смотрим логику работы ног (например здесь для разрешения работы надо на OE (или GN) подать лог 0), и подключаем куда надо vcc или gnd. Все это также набирается в поле «Name».
Ну и рисуем соединения согласно выбранной схемы. Обязательно нужно дать уникальные имена входам и выходам, чтоб потом не запутаться. Я их назвал по имени сигнала с которым они работают.

Должно получиться примерно так:

Я сделал проще — я сначала нарисовал схему,

и по ней именовал ноги.
Так получилось более наглядно.

После этого нужно скомпилить проект. Для этого вверху в меню есть треугольный значок с названием «Start compilation».
Результат получается примерно такой:

Это нормально, главное чтоб не было ошибок и проект скомпилировался.
Предупреждения можно игнорировать, они, как правило, связаны с невозможностью провести моделирование поведения схемы. А если полезло красненькое — то косяк серьезный, работать не будет. Здесь же видна суммарная информация — сколько занято ячеек и сколько использовано ног.

После этого надо назначить ноги, точнее привязать ноги к конкретным пинам ПЛИС. Для этого лучше использовать рисунок платы:

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

Для привязке физических ног к виртуальным используется функция Pin Planner. Это самое шикарное во всем процессе. Не надо думать как и куда развести ноги на плате, просто накидал при разводке платы и назначил в процессе!
Pin Planner находится левее кнопки компилятора (чип с карандашом и символом пина).
Вот такое окошко:

Возле входов и выходов появились номера физических ног микросхемы.
Тут я поигрался немного с разными типами делителей. И отдельно вывел выход мониторинга шины DATA или DSDL. По ней стоит делитель с нереальным коэффициентом деления аж 262144 на пяти счетчиках 7493. Теперь у меня весело мигает светодиод при передаче данных. Оно конечно нафиг не нужно, но получилось наглядно.

Все, готово. Еще раз компилим проект. Если все хорошо — можно пробовать шить, или прошивать нашу плис. Естественно она должна быть припаяна в схему.

Сам программатор можно поставить в систему заранее, драйвера есть в папке с программой %\altera\91sp2\quartus\drivers\usb-blaster, но питание его выходного буфера производится от платы с ПЛИС, поэтому без питания работать он не будет.

Теперь, когда все готово, идем в меню с программатором. Оно тоже вверху.
Вот такое окно:

Кнопкой Hardware Setup выбираем USB Blaster, тип загрузки — JTAG.
Внизу наш проект. Галочками отмечаем нужные опции.
Включаем питание ПЛИС и дрожащей рукой нажимаем Start…

Процесс идет очень быстро, я даже испугаться не успел. Если что-то прошилось, то внизу в логе будет такое:

Можно выдохнуть.
Девайс умный. Сам читает тип ПЛИС, так что другой проект просто не зашьется.
Также в случае перепутанных/не припаяных ногах программатора будет грязная ругань, что девайс не опознан или проблема программатора.

Но это не значит что все заработало как надо. Возможно потребуются коррективы схемы, изменение логики и повторная прошивка.
Производителем заявлено 100 циклов перезаписи ПЛИС, мой личный рекорд в этом проекте — 6!
А все потому, что я считал например, что у буфера с именем btri, что я использовал как логический аналог 74lvc1g125, вход разрешения работы OE имеет активное состояние лог 1, а оказалось, что это полный аналог 125 го буфера, и OE у него активно при лог 0.
Прошивать можно в любой момент, даже в процессе работы ЦАП. Ничего страшного не происходит.

Возможное количество прошивок больше 100, но производитель не гарантирует работоспособность ПЛИС при превышении этого порога. Реально можно шить больше и чаще, специалисты проверяли.
Но о сотне всегда помнишь и много раз подумаешь, прежде жать кнопку «Старт».

При назначении выводов ПЛИС не предусмотрено подключение «подпорок», или подтягивающих резисторов на плюс или минус питания, как это сделано в микроконтроллерах.
Также не предусмотрены прочие «аналоговые» заморочки для подключения к стандартной логике. Поэтому все времязадающие конденсаторы, подтягивающие резисторы, и любые другие «аналоговые» компоненты в логике ПЛИС отсутствуют. Все это необходимо предусмотреть заранее — подключить внешние «подтяжки» на нужные ноги ПЛИС или вывести конденсаторы времязадающих цепей на внешние ноги.
Иначе никак.

Настоящие разработчики делают еще одну «фишку» — формирование SPI для управления ЦАП с помощью ПЛИС.
Я, как неспециалист, конечно попытался реализовать подобное на макетной плате на базе EPM240, но получилось немного не так, как хотелось. Точнее получилось г*, и я сразу потерял интерес к этому процессу.

Но оно и понятно, тут уже нужно использовать не логические элементы, а описание логики работы на hardware description language (HDL). Он чем то напоминает старый добрый Basic, но моих знаний пока недостаточно для его освоения. К тому же формировать SPI управление на том же STM32/Arduino оказалось проще с точки зрения количества задействованных ног у контроллера и количества проводов в связке ЦАП-МК.
То есть выигрыш в формировании SPI в ПЛИС оказался лично для меня пока сомнительным удовольствием. Может потом и освою, а пока по старинке используем контроллер.

Ну, а если, к примеру, наш проект окажется большего размера, и не хватит нам ног или ёмкости ПЛИС, можно использовать что-нибудь из серии MAX-II, например EPM240T100C5 .
Шаг ног там конечно поменьше, зато ног побольше и емкость уже 240 ячеек. Я их зачем-то заказал, но смог нагрузить только на 20%, поэтому, чтоб не валялись, пришлось применять. Вон она, слева от генераторов притаилась.

↑ Итого

Как вы понимаете, применение ПЛИС не ограничивается ЦАП. Наоборот, эту технологию активно применяют там, где нужно сэкономить место и заменить десятки корпусов обычной логики на один корпус ПЛИС.
Любой конечный автомат, вроде блока управления вертушкой, механикой, или какие-нибудь электронные часы — это само простое, что пришло в голову.

Думаю, данный материал будет полезен многим.
Ну, а у меня на сегодня все.
Продолжение следует!

С уважением, Алексей.


Картина Дудикова «Утро над ЦАПом», 2017 год.
Холст, масло, сыр, чай с сахаром

Модуль FPGA для PinBoard II (Своими руками)

Периодически, в процессе разработки того или иного электронного устройства возникает необходимость проверки каких то идей и мыслей, причем как показывает практика, лучше эти мысли проверять до начала изготовления самого устройства… вот как раз для таких целей я и использую приобретенную плату PinBoard II. Но вот пришлось столкнуться с ПЛИС и, как показала практика, CPLD MAX II оказалось недостаточно, всего 240 ЛЭ, мало!

Покупать что-то серьезное с FPGA мне нет необходимости, вполне достаточно той периферии, которая есть на PB II, поэтому решил сделать модуль для PB II c FPGA.

Модуль FPGA для PinBoard II

Выбор пал на FPGA фирмы Altera Cyclone II, а именно на микросхему EP2C5T144C8N, причина простая – она была в наличии, а 4608 ЛЭ мне достаточно. Особое быстродействие не требуется, поэтому Speed Grade – 8.
Немного напомню, как Альтера маркирует свои плис:

При желании, без каких либо изменений, можно применить: EP2C5T144C6N, EP2C5T144C7N, EP2C5T144I6N, EP2C5T144I7N, EP2C5T144I8N, а также EP2C8T144C6N, EP2C8T144C7N, EP2C8T144C8N, EP2C8T144I6N, EP2C8T144I7N, EP2C8T144I8N но при этом будет уже не 4 608 ЛЭ, а 8 256 ЛЭ!

И так теперь непосредственно о плате. Помимо FPGA на ней размещен тактовый генератор на 100МГц, микросхема конфигурационной памяти EPCS4 в режиме Active Serial (конфигурация хранится в ней и загружается в FPGA при включении), стандартный JTAG разъем, стабилизатор питания ядра и кучка конденсаторов :). В общем ничего особо интересного на схеме нет, все по аналогии с платой для PB II на CPLD MAX II.

Печатная плата, как и схема, разведена в программе DipTrace. Монтаж получился двухсторонний с достаточно мелкими дорожками, так что повторить в домашних условиях вряд ли получится, хотя есть умельцы… Изготовлена ПП была в компании «Резонит» за 2200 руб (сверхсрочное), правда резонитовцы порадовали и прислали мультиплекс с 6-ю платами (5 в подарок). Сразу оговорюсь, что на фотографиях генератор и стабилизатор ядра припаяны навесным монтажом, т.к. пришлось использовать не те, которые предполагалось, при проектировании ПП, в архиве все уже исправлено и припаяется, как положено.


Выводы на плате не подписаны, но при необходимости можно легко сориентироваться по схеме или используя файл с описанием выводов, но на плате в DipTrace, как положено, есть слой с необходимыми подписями. Тек же, специально создан пустой проект «EP2C5_Null» где распределена большая часть выводов, можно сэкономить время, используя его.

С железом вроде бы все, теперь приведу пример создания простейшего приложения, для демонстрации работы FPGA. Данная информация может также оказаться полезной только начинающим знакомство с плис.

Простенький пример для FPGA

Оговорюсь, что для создания всех проектов, упомянутых в статье использовался бесплатный Quartus II 13.0sp1 (64-bit) Web Edition c официального сайта Altera.
Итак, запускаем Quartus II и создаем новый проект “File”-> “New Project wizard”. Указываем путь к проекту (желательно без русских букв) и название проекта.

На втором шаге файлы не добавляем, а вот на третьем нам нужно выбрать конкретную микросхему, в нашем случае EP2C5T144C8N. Щелкаем далее, ничего не меняя и финиш.

Теперь добавим к проекту графический файл, в котором и будем рисовать схему для ПЛИС. “File”-> “New”.

Теперь для примера соберем простую схему для исследования таблицы истинности элемента 3И (AND3). Для тех кто не помнит (не знает) 3И работает следующим образом, на выходе будет 1 тогда и только тогда, когда на всех входах единица. (Условные изображения найдете на панели инструментов графического редактора).

На этой схеме входы BTN1-BTN3 – кнопки расположенные на PB II, поскольку на кнопках в не нажатом состоянии лог. 1 (причем подачу этой единицы обеспечат подтягивающие резисторы внутри ПЛИС), мы инвертируем сигнал с помощью 3х инверторов НЕ (NOT), таким образом, на вход элемента AND3 при нажатии кнопок будут подаваться лог. 1. Также на схеме есть четыре выхода, названные LED1-LED4, эти выходы будут подключены к светодиодам на PB II. Нарисовав схему, запускаем компиляцию. Если все сделано верно – получите сообщение об успешной компиляции. Не забываем сохранить проект, включая созданный ранее файл со схемой.

Теперь самое главное – нужно связать нашу схему с реальным железом. Для этого выполняем «Assignment» -> «Assignment Editor». И заполняем таблицу как показано ниже. Здесь для всех наших входов и выходов задаем расположение (Location), т.е. показываем на какую ножку микросхемы подключить вход или выход нашей схемы. Также для кнопок включаем подтягивающие резисторы.

И последний штрих – но весьма важный, выполняем «Assignment» -> «Devices…» -> «Devices and Pin option…» -> «Unused Pins» указываем «All input tri-stated», этим действием мы переводим все неиспользуемые выводы микросхемы в высокоимпедансное состояние, дабы ничего не спалить.

Проект готов можно повторить компиляцию и прошить FPGA.

Прошивка (или загрузка конфигурации)

Опишу два способа прошивки:
1 – с помощью программатора USB-Blaster (Удобный),
2 – с помощью МС FT2232, имеющейся на PB II (не удобный, для тех, у кого нет USB Blastera).
Если вы используете USB-Blaster – запускаем из квартуса утилиту «Programmer» Добавляем файл «test.sof» из папки «output_files» нашего проекта, включаем PB II и нажимаем «Start». После успешной прошивки ничего не происходит, светодиоды не горят, но как только мы нажимаем одну из кнопок, загорается соответствующий светодиод, а если мы нажимаем все 3 кнопки – срабатывает наш элемент 3И и на его выходе появляется лог.1, о чем свидетельствует загорание LED4.

Все бы хорошо, но как только мы отключим питание – наша программа из FPGA исчезнет, а стенд не будет функционировать должным образом. Исправим ситуацию – зальем прошивку в конфигурационную память, откуда она будет загружаться в FPGA при включении. Выполняем «File»-> «Convert Programming Files…»

Указываем выходной формат *.jic, добавляем устройство в Flash Loader и файл с прошивкой *.sof. И нажимаем Generate. Теперь прошиваем FPGA с помощью сгенерированного файла jic, и наша программа не теряется при выключении питания.

Работает это следующим образом. Сначала в FPGA зашивается Flash Loader (Так сказать программатор, реализованный на ПЛИС), а потом с его помощью по интерфейсу Active Serial уже в конфигурационную микросхему EPCS4 зашивается наша конфигурация. Поэтому процесс программирования длится чуть дольше, чем обычно. Стоит отметить, что при использовании USB-Blaster также имеется возможность использовать отладчик SiganTap.
Если вам не повезло, и USB-Blaster у вас нет, можно загрузить программу, используя FT2232, имеющуюся на плате и SVF плеер. Первое что нужно сделать — настроить FT2232 с помощью утилиты FT-Prog, необходимо для порта A указать режим «245 FIFO», поставить галочку «High Current I/O’s» и использование драйвера «D2XX Direct», теперь у вас в системе только один COM порт, а не два .

Теперь заставим квартус генерировать нужный нам файл «Assignment» -> «Devices…» -> «Devices and Pin option…» -> «Programming Files», ставим галочку для SVF.

Файл плеера mbftdi.exe и сгенерированный SVF файл должны лежать в одной директории, туда же для удобства советую положить BAT файл с двумя строками:
mbftdi Test.svf
pause
И последнее – шилд идущий к CPLD MAX II нам не подойдет, нужно соединить JTAG разъем с портом A микросхемы FT2232 следующим образом. Данные соединения достаточно сделать простыми проводками, ничего паять не нужно!

Теперь включаем плату, запускаем BAT файл, и через пару секунд наша FPGA сконфигурирована и работает. Правда при этом микросхема конфигурационной памяти остается не тронутой.

Демонстрационная программа

Ну и на последок, приведу описание демонстрационной программы (EP2C5_DEMO). Проект лежит в архиве. А вот сама схема:

И так что же делает эта схема.
1. При включении Led2 еле светиться, а каждые 10 секунд он сначала увеличивает свою яркость, а затем уменьшает, и так постоянно по кругу…
2. Если нажать кнопку BTN3 то светодиоды Led0 и Led1 начнут радостно перемигиваться, меняя яркость. Если повторно нажать на BTN3 то светодиоды снова погаснут.
3. Кнопка BTN2 включает мигание светодиода Led3, который мигает с частотой 1 герц, подтверждая работоспособность генератора. Повторное нажатие на BTN2 приведет к отключению.
4. При нажатии и удержании кнопки BTN1 плата издает истошный звук частотой 1 кГц.
Обратите внимание, что все 4 процесса работают независимо друг от друга! Вот она истинная параллельность процессов! 
Теперь внимание тем людям, которые хорошо знакомы с ПЛИС – проект совершенно не оптимален, так задумано ��
На самом деле, не смотря на простоту, проект весьма большой, и в MAX II на 240 логических ячеек не влезет!
Вот я и предлагаю начинающим плисовцам подумать, как сделать его гораздо компактнее (в несколько раз!). Ну и дам маленькую подсказку: при получении нужной частоты с помощью счетчиков, можно сначала получить 1 нужную частоту, а уже из нее получить следующую нужную, частоту и т.д.… Не нужно заставлять считать плис одно и тоже по несколько раз. Есть и другой вариант, для более опытных пользователей плис – используем средства самой FPGA для получения нужной частоты и не мучаем счетчики без надобности.
PS:
Проект совсем свежий, еще до конца не обкатанный, если в схеме или плате кто то найдет ошибки, буду весьма благодарен. На данный момент на этой плате было опробовано несколько несложных проектов, в том числе запустил Nios II, правда больше для спортивного интереса.


Данная статья – проба пера, так что прошу сильно не пинать.
Все материалы статьи одним архивом FPGA.rar

Как поставить плис altera вместо плис 5576хс4т

  • />23 часа назад
  • Тема:Работа сайта и сервера
  • От:makc
  • />23 часа назад
  • Тема:Работа сайта и сервера
  • От:makc
Другие известные форумы и сайты по электронике

все что посвящено электронике и общению специалистов. реклама других ресурсов.

  • Магазины
  • Форумы и конференции
  • Производители
  • Информационные ресурсы
  • Поисковики
  • FTP-серверы
  • />3 часа назад
  • Тема:ELITAN.RU
  • От:barkey
  • />3 часа назад
  • Тема:ELITAN.RU
  • От:barkey
В помощь начинающему

вопросы начального уровня

Модераторы раздела VAI aosp SergM fill vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • ARM, 32bit
  • MCS51, AVR, PIC, STM8, 8bit
  • Программирование
  • Схемотехника
  • Интерфейсы
  • />2 часа назад
  • Тема:Переупорядочивание инструкций
  • От:Arlleex
  • />2 часа назад
  • Тема:Переупорядочивание инструкций
  • От:Arlleex
International Forum

This is a special forum for English spoken people, read it first.

  • />25 февраля
  • От:HardEgor
  • />25 февраля
  • От:HardEgor
Образование в области электроники

все что касается образования, процесса обучения, студентам, преподавателям.

Модераторы раздела des00

  • />9 часов назад
  • Тема:Создание профессиональной ассоциации по микроэле…
  • От:girts
  • />9 часов назад
  • Тема:Создание профессиональной ассоциации по микроэле…
  • От:girts
Обучающие видео-материалы и обмен опытом

Обсуждение вопросов создания видео-материалов

Модераторы раздела iosifk

  • />17 февраля
  • Тема:Dilduino
  • От:k155la3
  • />17 февраля
  • Тема:Dilduino
  • От:k155la3

Cистемный уровень проектирования

    Последнее сообщение
Вопросы системного уровня проектирования

Применение MATLAB, Simulink, CoCentric, SPW, SystemC ESL, SoC

Модераторы раздела Rst7

  • />4 часа назад
  • Тема:Matlab 2018b. Соответствие модели IIR для коэффи…
  • От:dlsh
  • />4 часа назад
  • Тема:Matlab 2018b. Соответствие модели IIR для коэффи…
  • От:dlsh
Математика и Физика

Модераторы раздела Rst7

  • />Вчера в 14:15
  • Тема:Определение проекций на сенсоре камеры.
  • От:Cianid
  • />Вчера в 14:15
  • Тема:Определение проекций на сенсоре камеры.
  • От:Cianid
Операционные системы

Linux, Win, DOS, QNX, uCOS, eCOS, RTEMS и другие

Модераторы раздела Rst7

  • Программирование
  • Linux
  • uC/OS-II
  • scmRTOS
  • FreeRTOS
  • Android
  • />5 часов назад
  • Тема:Драйвер для I2C
  • От:ericN
  • />5 часов назад
  • Тема:Драйвер для I2C
  • От:ericN
Документация

оформление документации и все что с ней связано

Модераторы раздела Rst7

  • />12 марта
  • Тема:Как делают документацию для микроконтроллеров их…
  • От:Yra
  • />12 марта
  • Тема:Как делают документацию для микроконтроллеров их…
  • От:Yra
Системы CAD/CAM/CAE/PLM

обсуждение САПР AutoCAD, Компас, SolidWorks и др.

  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets
  • />5 февраля
  • Тема:Ошибка установки Solidworks
  • От:baumanets
Разработка цифровых, аналоговых, аналого-цифровых ИС

Модераторы раздела Rst7

  • />7 часов назад
  • Тема:JESD204B Frame Clock и LMFC
  • От:warrior-2001
  • />7 часов назад
  • Тема:JESD204B Frame Clock и LMFC
  • От:warrior-2001
Электробезопасность и ЭМС

Обсуждение вопросов электробезопасности и целостности сигналов

Модераторы раздела Rst7

  • ЭМС
  • Электробезопасность
  • />3 марта
  • Тема:Типовые схемы защиты от микросекундных помех
  • От:HardEgor
  • />3 марта
  • Тема:Типовые схемы защиты от микросекундных помех
  • От:HardEgor
Управление проектами

Управление жизненным циклом проектов, системы контроля версий и т.п.

Модераторы раздела Rst7

  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH
  • />30 октября, 2022
  • Тема:Как тестировать разработанную электронику и встр…
  • От:KBH
Нейронные сети и машинное обучение (NN/ML)

Форум для обсуждения вопросов машинного обучения и нейронных сетей

Модераторы раздела Rst7

  • />4 марта
  • Тема:Модуль на VHDL кусочно-линейной (семь участков) …
  • От:Мур
  • />4 марта
  • Тема:Модуль на VHDL кусочно-линейной (семь участков) …
  • От:Мур

Программируемая логика ПЛИС (FPGA,CPLD, PLD)

    Последнее сообщение
Среды разработки — обсуждаем САПРы

Quartus, MAX, Foundation, ISE, DXP, ActiveHDL и прочие.
возможности, удобства.

Модераторы раздела vetal />des00 />

  • />3 минуты назад
  • Тема:Конфигурация компа для имплементации и симуляции
  • От:kskssk
  • />3 минуты назад
  • Тема:Конфигурация компа для имплементации и симуляции
  • От:kskssk
Работаем с ПЛИС, области применения, выбор

на чем сделать? почему не работает? кто подскажет?

Модераторы раздела vetal />des00 />

  • />4 часа назад
  • Тема:ПЛИС Gowin Semiconductor
  • От:DanilinS
  • />4 часа назад
  • Тема:ПЛИС Gowin Semiconductor
  • От:DanilinS
Языки проектирования на ПЛИС (FPGA)

Verilog, VHDL, AHDL, SystemC, SystemVerilog и др.

Модераторы раздела aosp vetal des00

  • />17 минут назад
  • Тема:проблема с симуляцией в isim (vivado)
  • От:Maverick_
  • />17 минут назад
  • Тема:проблема с симуляцией в isim (vivado)
  • От:Maverick_
Системы на ПЛИС — System on a Programmable Chip (SoPC)

разработка встраиваемых процессоров и периферии для ПЛИС

Модераторы раздела vetal des00 Omen_13

  • />Воскресенье в 16:21
  • Тема:linux 2 устройства
  • От:1891ВМ12Я
  • />Воскресенье в 16:21
  • Тема:linux 2 устройства
  • От:1891ВМ12Я

Цифровая обработка сигналов — ЦОС (DSP)

    Последнее сообщение
Сигнальные процессоры и их программирование — DSP

Обсуждение различных сигнальных (DSP) процессоров, возможностей, совместимости и связанных с этим тем.

Модераторы раздела des00

  • />9 марта
  • Тема:SAU510USB Iso-Plus
  • От:Alex11
  • />9 марта
  • Тема:SAU510USB Iso-Plus
  • От:Alex11
Алгоритмы ЦОС (DSP)

Обсуждение вопросов разработки и применения (программирования) алгоритмов цифровой обработки сигналов.

Модераторы раздела des00

  • />13 марта
  • Тема:организация семплирования
  • От:_sda
  • />13 марта
  • Тема:организация семплирования
  • От:_sda

Микроконтроллеры (MCU)

    Последнее сообщение
Cредства разработки для МК

FAQ, How-to, тонкости работы со средствами разработки

Модераторы раздела haker_fox

  • IAR
  • Keil
  • GNU/OpenSource средства разработки
  • />6 часов назад
  • Тема:Камень в огород ненавистников inline-ассемблера …
  • От:jcxz
  • />6 часов назад
  • Тема:Камень в огород ненавистников inline-ассемблера …
  • От:jcxz

—>
Модераторы раздела haker_fox

  • STM
  • NXP
  • Microchip (Atmel)
  • TI, Allwinner, GigaDevice, Nordic, Espressif и другие
  • />1 час назад
  • Тема:i.MX6 USB_OTG при болтающемся кабеле Linux валит…
  • От:sasamy
  • />1 час назад
  • Тема:i.MX6 USB_OTG при болтающемся кабеле Linux валит…
  • От:sasamy
RISC-V

Микроконтроллеры на базе ядер RISC-V, RISC-X

Модераторы раздела haker_fox

  • />2 марта
  • Тема:Тайминги интерфейсов CH569/CH565
  • От:makc
  • />2 марта
  • Тема:Тайминги интерфейсов CH569/CH565
  • От:makc

—>
Модераторы раздела haker_fox

  • />28 февраля
  • Тема:DS1302 не тикает
  • От:borodach
  • />28 февраля
  • Тема:DS1302 не тикает
  • От:borodach
MSP430

Модераторы раздела VAI />haker_fox />

  • />6 часов назад
  • Тема:Реверс прошивки MSP430F67791A
  • От:Aries
  • />6 часов назад
  • Тема:Реверс прошивки MSP430F67791A
  • От:Aries
Все остальные микроконтроллеры

и все что с ними связано

Модераторы раздела haker_fox

  • PIC
  • MCS51
  • PowerQUICC
  • HC(S)08
  • AVR32
  • STM8
  • MIPS
  • />13 марта
  • Тема:Чем считать прошивку upsd3212cv-24u6 от ST?
  • От:tiretrak
  • />13 марта
  • Тема:Чем считать прошивку upsd3212cv-24u6 от ST?
  • От:tiretrak
Отладочные платы

Вопросы, связанные с отладочными платами на базе МК: заказ, сборка, запуск

Модераторы раздела haker_fox

  • Arduino
  • Raspberry Pi
  • Rainbow
  • Siberia
  • EVMxxxx
  • />Четверг в 07:12
  • Тема:China-Link, Вариант отладчика из Китая
  • От:Akakiy
  • />Четверг в 07:12
  • Тема:China-Link, Вариант отладчика из Китая
  • От:Akakiy

Печатные платы (PCB)

    Последнее сообщение
Разрабатываем ПП в САПР — PCB development

FAQ, вопросы проектирования в ORCAD, PCAD, Protel, Allegro, Spectra, DXP, SDD, WG и др.

Модераторы раздела SergM />fill />

  • Библиотеки компонентов
  • Altium Designer, DXP, Protel
  • P-CAD 200x howto
  • Эремекс, Delta Design
  • Cadence
  • Примеры
  • Zuken CADSTAR
  • Siemens EDA — Xpedition, PADS (ex. Mentor)
  • Бесплатные САПР: KiCAD, EasyEDA, EAGLE и др.
  • />6 минут назад
  • Тема:AD19 окно свойств элемента в трассировщике
  • От:Uladzimir
  • />6 минут назад
  • Тема:AD19 окно свойств элемента в трассировщике
  • От:Uladzimir
Работаем с трассировкой

тонкости PCB дизайна, от Spectra и далее.

Модераторы раздела fill

  • />17 февраля
  • Тема:Как правильно перевести скоростную дифф. пару с …
  • От:DSIoffe
  • />17 февраля
  • Тема:Как правильно перевести скоростную дифф. пару с …
  • От:DSIoffe
Изготовление ПП — PCB manufacturing

Фирмы, занимающиеся изготовлением, качество, цены, сроки

Модераторы раздела fill

  • ПСБ Технолоджи
  • ТеПро
  • PS-Electro
  • Резонит
  • PCB Professional
  • Абрис
  • ОАО "НИЦЭВТ"
  • ООО "М-Плата"
  • в домашних условиях
  • />Вчера в 12:00
  • Тема:JLCPCB — карты UnionPay
  • От:tgruzd
  • />Вчера в 12:00
  • Тема:JLCPCB — карты UnionPay
  • От:tgruzd

Сборка РЭУ

    Последнее сообщение
Пайка и монтаж

вопросы сборки ПП, готовых изделий, а также устранения производственных дефектов

  • />14 марта
  • Тема:Sn64 Ag1 Bi35 как RoHS нормально паяет?
  • От:Flood
  • />14 марта
  • Тема:Sn64 Ag1 Bi35 как RoHS нормально паяет?
  • От:Flood
Корпуса

обсуждаем какие есть копруса, где делать и прочее

  • />28 февраля
  • Тема:Моделирование силы продавливания платы
  • От:destroit
  • />28 февраля
  • Тема:Моделирование силы продавливания платы
  • От:destroit
Вопросы надежности и испытаний

расчеты, методики, подбор компонентов

  • />Воскресенье в 16:55
  • Тема:Поверка контрольно-измерительного оборудования
  • От:HardEgor
  • />Воскресенье в 16:55
  • Тема:Поверка контрольно-измерительного оборудования
  • От:HardEgor

Аналоговая и цифровая техника, прикладная электроника

    Последнее сообщение
Вопросы аналоговой техники

разработка аналоговых схем, моделирование схем в SPICE, расчёты и анализ, выбор элементной базы

Модераторы раздела Alexandr ViKo Tanya Егоров

  • />3 часа назад
  • Тема:Высоковольтный(около 150В), линейный усилитель д…
  • От:Artnsk
  • />3 часа назад
  • Тема:Высоковольтный(около 150В), линейный усилитель д…
  • От:Artnsk
Цифровые схемы, высокоскоростные ЦС

High Speed Digital Design

  • />21 февраля
  • Тема:Влияние положительных и отрицательных выбросов (…
  • От:Plain
  • />21 февраля
  • Тема:Влияние положительных и отрицательных выбросов (…
  • От:Plain
RF & Microwave Design

wireless технологии и не только

Модераторы раздела l1l1l1

  • />4 часа назад
  • Тема:Вопросы по CST
  • От:TitovVN1974
  • />4 часа назад
  • Тема:Вопросы по CST
  • От:TitovVN1974
Метрология, датчики, измерительная техника

Все что связано с измерениями: измерительные приборы (осциллографы, анализаторы спектра и пр.), датчики, обработка результатов измерений, калибровка, технологии измерений и др.

Модераторы раздела ViKo />Tanya />

  • />Пятница в 05:03
  • Тема:Назначение шунтирующих резисторов в тензометриче…
  • От:SVNKz
  • />Пятница в 05:03
  • Тема:Назначение шунтирующих резисторов в тензометриче…
  • От:SVNKz
АВТО электроника

особенности электроники любых транспортных средств: автомашин и мотоциклов, поездов, судов и самолетов, космических кораблей и летающих тарелок.

Модераторы раздела Vasily_

  • />4 марта
  • Тема:Провод для автомобильного компрессора
  • От:byRAM
  • />4 марта
  • Тема:Провод для автомобильного компрессора
  • От:byRAM
Умный дом
  • />Четверг в 06:01
  • Тема:Как контролировать большое количество реле с пом…
  • От:yamantau
  • />Четверг в 06:01
  • Тема:Как контролировать большое количество реле с пом…
  • От:yamantau
3D печать

3D принтеры, наборы, аксессуары, ПО

  • />21 декабря, 2022
  • Тема:slicer для 3d принтера
  • От:Variant99
  • />21 декабря, 2022
  • Тема:slicer для 3d принтера
  • От:Variant99
Робототехника

Модели, классификация, решения, научные исследования, варианты применения

  • />31 марта, 2022
  • Тема:Подключение дисплея 3.2inch 320×240 Touch LCD (А…
  • От:Aaronli
  • />31 марта, 2022
  • Тема:Подключение дисплея 3.2inch 320×240 Touch LCD (А…
  • От:Aaronli
Ремонт и отладка

обсуждение вопросов ремонта и отладки различных устройств и готовых изделий

Модераторы раздела Herz

  • />5 марта
  • Тема:Ремонт оссцилографа Hantek dso5102p — проблема с…
  • От:Zversky
  • />5 марта
  • Тема:Ремонт оссцилографа Hantek dso5102p — проблема с…
  • От:Zversky

Силовая электроника — Power Electronics

    Последнее сообщение
Силовая Преобразовательная Техника

Источники питания электронной аппаратуры, импульсные и линейные регуляторы. Топологии AC-DC, DC-DC преобразователей (Forward, Flyback, Buck, Boost, Push-Pull, SEPIC, Cuk, Full-Bridge, Half-Bridge). Драйвера ключевых элементов, динамика, алгоритмы управления, защита. Синхронное выпрямление, коррекция коэффициента мощности (PFC)

Модераторы раздела Herz />Егоров />

  • />Четверг в 11:03
  • Тема:CMTI, устойчивость к транзиентам
  • От:_gari
  • />Четверг в 11:03
  • Тема:CMTI, устойчивость к транзиентам
  • От:_gari
Обратная Связь, Стабилизация, Регулирование, Компенсация

Организация обратных связей в цепях регулирования, выбор топологии, обеспечение стабильности, схемотехника, расчёт

Модераторы раздела Herz />Егоров />

  • />17 сентября, 2022
  • Тема:Ограничение скорости нарастания сигнала ШИМ на д…
  • От:Alex-lab
  • />17 сентября, 2022
  • Тема:Ограничение скорости нарастания сигнала ШИМ на д…
  • От:Alex-lab
Первичные и Вторичные Химические Источники Питания

Li-ion, Li-pol, литиевые, Ni-MH, Ni-Cd, свинцово-кислотные аккумуляторы. Солевые, щелочные (алкалиновые), литиевые первичные элементы. Применение, зарядные устройства, методы и алгоритмы заряда, условия эксплуатации. Системы бесперебойного и резервного питания

Модераторы раздела Herz />Егоров />

  • />18 января
  • Тема:Температура Li-ion аккумуляторов
  • От:maksimdag0
  • />18 января
  • Тема:Температура Li-ion аккумуляторов
  • От:maksimdag0
Высоковольтные Устройства — High-Voltage

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

Модераторы раздела Herz

  • />7 февраля
  • Тема:Маломощный трансформатор 220В -> 6000
  • От:sanya221
  • />7 февраля
  • Тема:Маломощный трансформатор 220В -> 6000
  • От:sanya221
Электрические машины, Электропривод и Управление

Электропривод постоянного тока, асинхронный электропривод, шаговый электропривод, сервопривод. Синхронные, асинхронные, вентильные электродвигатели, генераторы

Модераторы раздела Herz

  • />3 часа назад
  • Тема:Самодельный драйвер биполярного шагового двигате…
  • От:Alex_Malder
  • />3 часа назад
  • Тема:Самодельный драйвер биполярного шагового двигате…
  • От:Alex_Malder
Индукционный Нагрев — Induction Heating

Технологии, теория и практика индукционного нагрева

Модераторы раздела Herz

  • />10 января
  • Тема:Тиристорный инвертор
  • От:Слесарь
  • />10 января
  • Тема:Тиристорный инвертор
  • От:Слесарь
Системы Охлаждения, Тепловой Расчет – Cooling Systems

Охлаждение компонентов, систем, корпусов, расчёт параметров охладителей

Модераторы раздела Herz

  • />23 февраля
  • Тема:Тепловой расчет для КТ827А
  • От:Valery-m
  • />23 февраля
  • Тема:Тепловой расчет для КТ827А
  • От:Valery-m
Моделирование и Анализ Силовых Устройств – Power Supply Simulation

Моделирование силовых устройств в популярных САПР, самостоятельных симуляторах и специализированных программах. Анализ устойчивости источников питания, непрерывные модели устройств, модели компонентов

Модераторы раздела Herz />Егоров />

  • />8 февраля
  • Тема:Micro-Cap
  • От:Lnd
  • />8 февраля
  • Тема:Micro-Cap
  • От:Lnd
Компоненты Силовой Электроники — Parts for Power Supply Design

Силовые полупроводниковые приборы (MOSFET, BJT, IGBT, SCR, GTO, диоды). Силовые трансформаторы, дроссели, фильтры (проектирование, экранирование, изготовление), конденсаторы, разъемы, электромеханические изделия, датчики, микросхемы для ИП. Электротехнические и изоляционные материалы.

Модераторы раздела Herz />Егоров />

  • />14 марта
  • Тема:есть ли Российские драйверы двигателей?
  • От:Xenia
  • />14 марта
  • Тема:есть ли Российские драйверы двигателей?
  • От:Xenia

Интерфейсы

    Последнее сообщение
Форумы по интерфейсам

все интерфейсы здесь

  • ISDN/G.703/E1
  • ISA/PCI/PCI-X/PCI Express
  • Wireless/Optic
  • RS232/LPT/USB/PCMCIA/FireWire
  • Fast Ethernet/Gigabit Ethernet/FibreChannel
  • Интерфейсы для "интеллектуального дома"
  • от ТТЛ до LVDS здесь
  • IDE/ATA/SATA/SAS/SCSI/CF
  • Аудио/Видео интерфейсы
  • Сотовая связь и ее приложения
  • FAQ по XPort/WiPort
  • Controller Area Network (CAN)
  • />4 часа назад
  • Тема:Почему FT232H хочет — работает, а хочет — нет?
  • От:Vasily_
  • />4 часа назад
  • Тема:Почему FT232H хочет — работает, а хочет — нет?
  • От:Vasily_

Поставщики компонентов для электроники

    Последнее сообщение
Поставщики всего остального

от транзисторов до проводов

  • />27 февраля
  • Тема:Shenzhen BLS electronics
  • От:Миша Чжу
  • />27 февраля
  • Тема:Shenzhen BLS electronics
  • От:Миша Чжу
Компоненты

Закачка тех. документации, обмен опытом, прочие вопросы.

  • Тех. документация
  • Микросхемы
  • Транзисторы
  • Диоды
  • Резисторы
  • Средства индикации
  • />4 часа назад
  • Тема:Отечественный ОУ +5В
  • От:novikovfb
  • />4 часа назад
  • Тема:Отечественный ОУ +5В
  • От:novikovfb

Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир

    Последнее сообщение
Обсуждение Майнеров, их поставки и производства

наблюдается очень большой спрос на данные устройства.

  • />16 июля, 2021
  • Тема:Материнские платы для майнинга
  • От:Doka
  • />16 июля, 2021
  • Тема:Материнские платы для майнинга
  • От:Doka

Дополнительные разделы — Additional sections

    Последнее сообщение
Встречи и поздравления

Предложения встретиться, поздравления участников форума и обсуждение мест и поводов для встреч.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />5 марта
  • Тема:TIMTOS 2023: кто-то собирается?
  • От:Ruslan1
  • />5 марта
  • Тема:TIMTOS 2023: кто-то собирается?
  • От:Ruslan1
Ищу работу

ищу работу, выполню заказ, нужны клиенты — все это сюда

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />13 марта
  • Тема:Разработка ПО — STM32, ПК
  • От:Sasha7b9
  • />13 марта
  • Тема:Разработка ПО — STM32, ПК
  • От:Sasha7b9
Предлагаю работу

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

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />1 час назад
  • Тема:необходимо разработать дифференциальный регулято…
  • От:ds8
  • />1 час назад
  • Тема:необходимо разработать дифференциальный регулято…
  • От:ds8
Куплю

микросхему; устройство; то, что предложишь ты ��

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />15 марта
  • Тема:stm32l011k4t6
  • От:Coco
  • />15 марта
  • Тема:stm32l011k4t6
  • От:Coco
Продам

есть что продать за деньги, пиво, даром ?
Реклама товаров и сайтов также здесь.

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />3 часа назад
  • Тема:Продам ПЛИСины
  • От:Dmitriy_T
  • />3 часа назад
  • Тема:Продам ПЛИСины
  • От:Dmitriy_T
Объявления пользователей

Тренинги, семинары, анонсы и прочие события

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

  • />Вчера в 14:25
  • Тема:Диодный лазер для обнаружения газа от Brandnew
  • От:МакроГрупп
  • />Вчера в 14:25
  • Тема:Диодный лазер для обнаружения газа от Brandnew
  • От:МакроГрупп
Общение заказчиков и потребителей электронных разработок

Обсуждение проектов, исполнителей и конкурсов

Модераторы раздела VAI aosp SergM vetal KRS Alexandr des00 Uladzimir Rst7 haker_fox iosifk ViKo Herz l1l1l1 Tanya Сергей Борщ Omen_13 Vasily_ Егоров Walrus

Как поставить плис altera вместо плис 5576хс4т

Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

Сейчас я помогу сделать первый шаг и тебе!

А зачем оно мне?

Ты устал постоянно читать доки по своему МК или держать кучу информации в голове. Ты все переписал на asm, но скорости все равно не хватает. Ты подключил два внешних устройства к своему МК, подключаешь третье, но у тебя кончились прерывания, перестают работать те модули, что уже работали. Ты берешь другой МК, более мощный из той же линейки, но опять мануалы, регистры флагов, биты… ад. Меняешь платформу: переходишь на другой МК и выкидываешь на помойку свои знания по прежней платформе. Что бы ты не делал — оно дается тяжело. Ты находишь популярную платформу, в которой можно легко из компонентов собирать проект, но выше аппаратных ограничений данного МК все равно не удается прыгнуть… Где-то на краешке сознания иногда проскакивает мысль, что вот на ПЛИС это бы точно заработало быстро и параллельно, что это «именно та задача, которую бы надо решать на плис», но я стар/глуп/занят/etc чтобы суметь/начать такое делать.

Хочешь наконец вздохнуть свободно? Идем дальше!

Радость от разработки на ПЛИС

У меня был тяжелый рабочий день. С одной работы я приехал на вторую работу, потом на дачу, вечером домашние дела, уроки, потом семейный просмотр кино и только в 23 часа я оказался совершенно свободен! Сказать, что я был уставший — ничего не сказать. Но в таком состоянии я сел за ноут с твердой целью: сделать генератор меандра на 440 Гц. Прошло 20 минут и я уже слышал его в наушниках. Я не верил своим ушам! Еще 15 минут мне потребовалось, чтобы сделать ШИМ и менять громкость. К тому времени плата с ПЛИС у меня была всего с неделю и до этого я пролистал всего пару книг по Verilog.

В тот вечер я понял: ВОТ ОНО! Вот та платформа, в которой я быстро и легко могу превращать свои мысли в реально работающее железо!

Почему так?
  • Универсальность знаний — при смене модели МК нужно читать доки. При смене производителя МК нужно читать доки. Нужно постоянно читать доки, постоянно держать в голове кучу информации. При разработке на ПЛИС, если знаешь Verilog или VHDL, то можно не только программировать любой ПЛИС из линейки одного производителя, но и при желании перейти на другого (Altera, Xilinx). Хоть и будут моменты с освоением другой среды разработки, тонких аппаратных моментов, но сама суть подхода проектирования устройств на HDL от этого не изменится.
  • От идеи к железу — при разработке проекта, если тебе не хватает одного мк, то приходится выбирать другой. В принципе можно строить предположения справится или не справится этот МК с проектом. Либо есть какой-то конкретный МК и ты пытаешься туда вместить проект. Чаще всего именно так. Мне это чем-то напоминает подход моего деда, который делает лестницу из того, что есть в сарайке. Хотя можно спроектировать лестницу, купить досок, которые подойдут… От идеи к железу, а не наоборот.
  • Простота применения чужих разработок — можно взять чужой модуль и применить его в своем проекте. По коду сможете понять, как он работает. Даже, если он для xilinx, а вы делаете под altera. Иногда это получается не сарзу, но это проще, чем, например, добавлять двоичные библиотеки к проекту на c++/Qt
  • Независимость блоков. Блоки в HDL, как чистые фунции в ЯП. Зависят только от входных сигналов. Разработанный и отлаженный модуль в будет и дальше работать правильно, как бы не рос проект. Ничто снаружи не повлияет на правильность его работы изнутри. Да и вообще можно забыть, как он работает — это черный ящик. К тому же, блоки работают параллельно.
Проблема выбора

Сильно останавливают вопросы, что выбрать: Altera/Xilinx, Verilog/VHDL, какую отладочную плату взять. Но обо всем по порядку.

Производитель

Я выбрал Altera. Почему? Ну мы вот так с другом решили, хотя название Xilinx мне красивее. НО. Если ты сейчас не можешь выбрать, то я сделаю это за тебя. Тебе нужен Altera! Почему? Я не знаю. Сейчас важнее сделать шаг: сделать выбор. Я выбрал Altera и пока не пожалел.

Язык

Берем Verilogпотомучто… ну ты понял.

Отладочная плата

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

В семействе Altera, за разумные деньги мы можем купить платы с CPLD MAX II на 240, 570 и 1270 элементов, либо более старшие микросхемы FPGA, которые Cyclone 1, 2, 3, 4 с количеством до 10000 и более ячеек. Как же выбрать?

Даже на базе 240 ячеек, проект Марсоход делает просто огромное количество проектов. Настоятельно рекомендую ознакомиться, чтобы иметь примерное представление о сложности проектов, которые можно уместить в 240 ячеек. С другой стороны, существуют проекты, которые полностью программируются под аппаратную копию определенного ПК, включая процессор и всю логику вокруг него (NES, Speccy, Orion, ЮТ-88, etc). Для этого уже требуется пять, десять и более тысяч ячеек. Плюс эти платы содержат дополнительные внешние устройства.

Поэтому я бы посоветовать взять что-то среднее между 240 и 10000 ячейками, с предпочтением в сторону увеличения в зависимости от доступных средств. На отладочной плате лишние ячейки это не страшно, а если их не хватит — уже ничего не поделаешь. Потом, когда устройство отлажено, станет ясно, сколько надо ячеек, купить под нужное количество, без лишнего «обвеса», дешевле и оставить в готовом устройстве.

То, чем действительно отличаются MAX от Cyclone’ов, кроме количества ячеек, это:
1) У серии MAX внутри нет PLL. На каждой отладочной плате есть генератор, как правило на 50 МГц. Основной массе проектов этого будет достаточно. Все синхронизации будут происходить путем деления 50 МГц на какое-нибудь значение. Либо, можно взять внешний генератор и подать на отдельный вход ПЛИС. А что, если потребуется частота выше 50 МГц? Мне не удалось с ходу найти генераторы выше 50 МГц. Но тут как раз на помощь и приходит PLL, который встроен в Циклоны. На нем можно умножить частоту, например, до 100 МГц.
2) В серии Cyclone встроены аппаратные блоки умножения. Их количество зависит от конкретной модели — тут как раз можно «всетаки заглянуть в инструкции», чтобы узнать сколько. Если предполагаете делать какой-то ЦОС, то они пригодятся: сэкономят ячейки, увеличат скорость. С другой стороны, если нет умножителей, их можно синтезировать, но у маленькой ПЛИС на это может не хватить ресурсов.

Во всем остальном у меня критерий «влезло/не влезло». Отладка на заведомо бОльшей, чем нужно плате, с последующей заливкой в минимально необходимую для этого.

Сколько нужно денег?

Программатор
Я считаю, что у меня нет времени, чтобы паять программаторы на рассыпухе.

300 рублей. Я свой брал на ебее, выглядит так:

Отладочная плата
Выбор широкий, в зависимости от количества денег.

Начальный уровень 350 — 550 рублей. Это платы на MAX II (240 или 570 ячеек). Могут подойти для начального ознакомления и дальнейшего пристройства в конечные устройства. На плате есть генератор, пара кнопок, пара светодиодов, остальные 80 выводов на свое усмотрение.

Блок питания
Обязательно должен быть, но не всегда идет в комплекте. Потребуется БП на 5 вольт и ток 2А.

Средний уровень от 900 до 1500 рублей. Это платы Cyclone 1, 2, 3, 4 отличающиеся в основном количеством ячеек.
Маркируются примерно так:
EP2C5T144 — Cyclone 2 примерно 5к ячеек
EP4CE6E22C8N — Cyclone 4 примерно 6к ячеек
EP2C8Q208C8N — Cyclone 2 примерно 8к ячеек

Можно заметить, что Cyclone 3 может иметь больше ячеек, чем Cyclone 4.

Вот несколько вариантов:

835 рублей.
ALTERA FPGA CycloneII EP2C5T144 Minimum System Board for Learn good

880 рублей
Altera CycloneII EP2C5T144 FPGA Mini Development Learn Core Board E081

1265 рублей
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Evaluation Development Core Board

Платы с расширенными возможностями. Это платы, на которых установлены дополнительные модули (UTP, USB, AUDIO), разъемы (SD, VGA), кнопки, переключатели, светодиоды, семисегментные индикаторы и т.д. Либо может идти базовая плата, а к ней могут прилагаться платы расширения отдельно.

Вот основная плата. На ней есть 2 светодиода, 2 кнопки, 4 переключателя, семисегментный интикатор и микросхема оперативной памяти.

Плата расширения. На ней распаяны SD, VGA, а так же контроллеры USB(High Speed USB2.0 Chip: CY7C68013A), AUDIO(Sound Card up to 96kHz/32bit ADC/DAC: WM8731S), UTP(100M Ethernet interface: DM9000A):

Эти платы просто вставляются одна в другую, но у меня она пока лежит в ящике. Для своих поделок у меня макетка, с которой я соединяюсь шлейфом, который идет в комплекте. Еще в комплекте идет блок питания на 5 вольт.

Altera Cyclone NIOS II SOPC FPGA Development Learning Board EP2C8Q208C8N+LCD1602 — 2670 рублей

Terasic Altera FPGA DE0-Nano Cyclone IV Development and Education Board — 4600 рублей

Но в целом, большие и дорогие отладочные платы я бы не рекомендовал сразу покупать. Дорогие покупки должны быть обоснованы, сейчас же пока не ясно что подойдет лучше. Ясно станет, когда начнется практика.

Заказал, ждем

Пока идут платы, можно начать себя морально и технически готовить:
— Установить Quartus II v.11.1
Почитать:
— Книга: А.К. Поляков Языки VHDL и Verilog в проектировании цифровой аппаратуры 2003
— www.kit-e.ru/articles/circuit/2008_3_161.php — Краткий курс HDL
— Уроки на марсоходе по верилогу, архитектура, простые советы по стилю.
— VERILOG как образ жизни
— Хорошие примеры (EN)
— Как начать работать с ПЛИС (Xilinx)

ВСЕ!

Мы ждем от тебя интересных проектов на ПЛИС!

PS. Обращаясь к тебе на «ты», я обращаюсь, как к равному, личности, а не части толпы. Если обращение на «ты» оскорбило, прошу меня извинить.

ВНИМАНИЕ! Verilog и ПЛИС не являются серебряной пулей и волшебным средством решения любых задач, они не могут заменить микроконтроллеры во всех проектах. Для работы с ПЛИС требуется определенный уровень технической подготовки. Вы сами несете ответственность за все решения в вашей жизни. Автор снимает с себя ответственность за возможные финансовые и временные потери, связанные с вашими исследованиями в области ПЛИС и Verilog.

Как поставить плис altera вместо плис 5576хс4т

Мария Колосова

Вот что я узнала про отечественные ПЛИС) Выпускаются они в Воронеже. Их даже можно уже заказывать.Доступны варианты с приемкой "5".
Характеристики отечественных ПЛИС.
1. 5576ХС1Т.
Питание 3,3В, допустимые входные сигналы до 5В;
Встроенный JTAG для тестирования и конфигурирования;
Конфигурирование от внешних различных устройств (ПЗУ);
256-выводной металлокерамический корпус для поверхностного монтажа;

Типовая логическая емкость 50000 вентилей;
2880 логических элементов;
360 логических блоков;
Встроенная память 20480 бит;
Количество триггеров 3184;
Количество пользовательских выводов 189.

2. 5576ХС2Т.
Питание 3,3В, допустимые входные сигналы до 5В;
Встроенный JTAG для тестирования и конфигурирования;
Конфигурирование от внешних различных устройств (ПЗУ);
программируемая нагрузочная способность элементов ввода/вывода (12/24 мА);
108-выводной металлокерамический корпус для поверхностного монтажа;

Типовая логическая емкость 2500 вентилей;
208 логических элементов;
26 логических блоков;
Количество триггеров 272;
Количество пользовательских выводов 68.

Для обеих ПЛИС:
Диапазон рабочих температур от -60 до +85;
Частота переключения 8-ми разрядного счетчика не менее 100 МГц;
Выходное напряжение низкого уровня не более 0,45В
Выходное напряжение высокого уровня не менее 2,4В

5576ХС1Т — полный аналог Altera EPF10K50. Характеристики лучше смотреть по EPF10K50v.

5576ХС2Т — ядро — аналог EPF8282. А вот загрузчик больше похож на Флексы, Асексы и т.д.

Применение ЭСППЗУ 5576РС1У(EPC4) для серии ПЛИС 5578

Сегодня в России реализуется программа по импортозамещению, в том числе в области микроэлектроники и приборостроения. На одном из предприятий Санкт-Петербурга была поставлена задача по освоению новой ПЛИС 5578РС094 от АО «КТЦ «Электроника». Среди компонентов, необходимых для конфигурирования ПЛИС, есть один весьма важный — это внешняя память для хранения конфигурационных данных. При реализации проекта выбор пал на проверенную временем ЭСППЗУ 5576РС1У от АО «ПКК Миландр». Однако здесь возникает проблема, связанная с нехваткой объема памяти данной ЭСППЗУ. Для ее устранения было предложено решение, предусматривающее каскадное соединение двух 5576РС1У с целью увеличения объема памяти для хранения конфигурационных данных ПЛИС. Казалось бы, проблема решена! Но для программирования ЭСППЗУ 5576РС1У необходим файл с расширением *.pof. Учитывая, что САПР для создания конфигурационных данных ПЛИС от АО «КТЦ «Электроника» не генерирует этот файл, авторами статьи была разработана методика по получению *.pof-файла из файлов конфигурационных данных ПЛИС 5578РС094.

ПЗУ для ПЛИС

ПЛИС 5578ТС084 и 5578ТС094, выпускаемые отечественной промышленностью, — достаточно новые функциональные аналоги изделий EP3C16 и EP3C25 от компании Altera. Для сравнения с предыдущей версией, 5578ТС024 [1], функциональным аналогом ЕР2С8, параметры ПЛИС представлены в таблице 1.

Параметр

5578ТС024

5578ТС084

5578ТС094

Количество логических элементов

Объем встроенной памяти, бит

Количество умножителей 18×18, шт.

Количество пользовательских выводов

Количество глобальных цепей тактирования

Количество блоков PLL

Количество каналов LVDS

Максимально возможная тактовая частота, МГц

Напряжение ядра, В

Напряжение периферии, В

Примечание. *Параметр получен косвенным путем по формуле f = 1/τ из параметра: минимальный интервал межрегистровой пересылки.

Для хранения конфигурационных данных ПЛИС 5578ТС084(094) АО «КТЦ «Электроника» рекомендует применять ОППЗУ 5578РС025 объемом 8 Мбит, а для 5578ТС024 — ЭСППЗУ 5578РС015 объемом 2 Мбит.

Новые ПЛИС выполнены по 90‑нм КМОП-технологии и обладают преимуществом характеристик в сравнении с 5578ТС024, а это означает увеличенное количество аппаратных умножителей, блоков пользовательской памяти и, что не менее важно, наличие блоков ФАПЧ (PLL), однако здесь по-прежнему отсутствуют LVDS.

На данный момент имеется несколько ПЗУ отечественного производства для конфигурирования ПЛИС серий 5576 и 5578 (табл. 2).

Модель

ТИП ПЗУ

Uпитания, В

Объем, Мбит

Режим конфигурации

Корпус

Как видно из таблицы 2, среди основных характеристик ПЗУ для конфигурирования ПЛИС особое внимание обращает на себя то, что львиная доля ПЗУ имеет однократное программирование.

На этапе проектирования модуля или прибора, где может быть применима ПЛИС, конфигурируемая с внешней ПЗУ, не всегда удобно использовать ПЗУ однократного действия. Особенно если речь идет о модернизации программного обеспечения на стадии опытного образца или готового изделия.

Одним из авторов статьи, опубликованной в журнале «Компоненты и технологии» [1], был описан метод конфигурирования ПЛИС 5578ТС024 с ЭСППЗУ 5576РС1У от компании АО «ПКК Миландр», а также способ получения *.pof-файла прошивки для одной ЭСППЗУ [2]. Для использования 5576РС1У с новыми ПЛИС 5578ТС084(094) необходимо учесть, что напряжение питания ПЛИС составляет 2,5 В, а ЭСППЗУ — 3,3 В. По этой причине для согласования сигналов между ПЛИС и ЭСППЗУ автор рекомендует применять микросхему 8‑разрядного шинного формирователя выходных уровней 5572ИН2АУ или проработать схему согласования с помощью транзисторов (рис. 1) и расположить их на обратной стороне платы печатного монтажа.

Схема согласования

Рис. 1. Схема согласования

Схема подключения ЭСППЗУ 5576РС1У с ПЛИС должна выполняться согласно спецификации на микросхему (рис. 2).

Схема включения ПЛИС с несколькими конфигурационными микросхемами

Рис. 2. Схема включения ПЛИС с несколькими конфигурационными микросхемами

Файл *.pof для 5576РС1У

Как уже было сказано, САПР разработки конфигурационных данных для ПЛИС серии 5578 от АО «КТЦ «Электроника» не генерирует файл с расширением *.pof для программирования ЭСППЗУ 5576РС1У, а предлагает пользователю на выбор файл с расширением *.jam для конфигурирования ПЛИС или файл *.bitstream для конфигурирования ПЛИС с помощью микроконтроллера.

Для решения проблемы получения файла прошивки для ЭСППЗУ 5576РС1У существует утилита rbf2pof, предназначенная для конвертирования *.rbf– в *.pof-файл, которую можно найти на форуме АО «ПКК Миландр» [3].

Файл *.bitstream, генерируемый инструментарием для ПЛИС 5578ТС084(94), имеет размер, превышающий объем ЭСППЗУ 5576РС1У. По этой причине необходимо применить две ЭСППЗУ в каскадном соединении (рис. 2). Файл *.bitstream следует разделить на две части так, чтобы первая была кратна двум. Обе части могут быть не равны по размеру, но меньше чем 447 кбайт. Далее к первой части необходимо добавить 1 байт 0хFF в конце файла, тем самым сделав его нечетным по количеству байт в файле. А затем при помощи утилиты получить два файла с расширением *.pof.

Для автоматического получения файлов *.pof и последующего программирования ЭСППЗУ 5576РС1У конфигурационными данными ПЛИС серии 5576 или 5578 одним из авторов разработана утилита Сreatepof (рис. 3), предназначенная для преобразования файлов с расширением *.rbf или *.bitstream и *.bin в файл *.pof для последующей прошивки в 5576РС1У. Утилиту для операционных систем GNU Linux или не хуже Windows 7 можно скачать на форуме компании АО «ПКК Миландр» [4]. Автор предупреждает, что утилита не тестировалась на всех ПЛИС из серии 5578, поскольку уже появились ПЛИС новых версий 5578ТС064, а в скором времени ожидается и 5578ТС104. Поэтому утилита постоянно тестируется и дорабатывается с помощью специалистов сторонних предприятий.

Окно загрузки утилиты Createpof

Рис. 3. Окно загрузки утилиты Createpof

Утилита Createpof не нуждается в отдельной инструкции и проста в использовании, ее интерфейс интуитивно понятен. Сгенерированные файлы *.bitstream для конфигурирования ПЛИС из САПР разработки конфигурационных данных от АО «КТЦ «Электроника» загружаются в утилиту Createpof нажатием кнопки Open file (рис. 3), после чего можно получить необходимое количество *.pof-файлов для прошивки ЭСППЗУ 5576РС1У. Причем утилита сама определит требуемое количество файлов для ЭСППЗУ. Далее стандартными средствами САПРа Altera Quartus II и программатора USB-BLASTER прошивается ЭСППЗУ.

Дорабатывая код утилиты Сreatepof, автор постарался сделать инструмент, удобный для использования разработчиком проектов для ПЛИС отечественного изготовления.

Заключение

Разработанная одним из авторов статьи утилита Сreatepof позволяет преобразовать файлы битового потока с расширениями *.rbf, *.bitstream или *.bin в файл с расширением *.pof для последующего программирования ЭСППЗУ 5576РС1У. Утилита автоматически определяет необходимое количество микросхем памяти для хранения конфигурационных данных ПЛИС по суммарному объему входных файлов, а также может объединять несколько файлов конфигурационных данных для одной ЭСППЗУ по схеме: две ПЛИС и одна ЭСППЗУ. Это экономит средства и время на разработку целевого устройства.

Применение ЭСППЗУ 5576РС1У в каскадном соединении в связке с ПЛИС серий 5576 и 5578 позволяет обеспечить многократное обновление конфигурационных данных как на этапе разработки целевого устройства, так и в дальнейшей его эксплуатации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *