Jump to content

    

Search the Community

Showing results for tags 'fpga'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Neural networks and machine learning (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCs)
    • Cредства разработки для МК
    • ARM
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
    • Пайка, монтаж, отладка, ремонт
    • Корпуса
    • Вопросы надежности и испытаний
  • Аналоговая и цифровая техника, прикладная электроника
    • Вопросы аналоговой техники
    • Цифровые схемы, высокоскоростные ЦС
    • Rf & Microwave Design
    • Метрология, датчики, измерительная техника
    • АВТО электроника
    • Умный дом
    • 3D печать
    • Робототехника
  • Силовая Электроника - Power Electronics
    • Силовая Преобразовательная Техника
    • Обратная Связь, Стабилизация, Регулирование, Компенсация
    • Первичные и Вторичные Химические Источники Питания
    • Высоковольтные Устройства - High-Voltage
    • Электрические машины, Электропривод и Управление
    • Индукционный Нагрев - Induction Heating
    • Системы Охлаждения, Тепловой Расчет – Cooling Systems
    • Моделирование и Анализ Силовых Устройств – Power Supply Simulation
    • Компоненты Силовой Электроники - Parts for Power Supply Design
  • Интерфейсы
    • Форумы по интерфейсам
  • Поставщики компонентов для электроники
    • Поставщики всего остального
    • Компоненты
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
    • Обсуждение Майнеров, их поставки и производства
  • Дополнительные разделы - Additional sections
    • Встречи и поздравления
    • Ищу работу
    • Предлагаю работу
    • Kуплю
    • Продам
    • Объявления пользователей
    • Общение заказчиков и потребителей электронных разработок

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

Found 25 results

  1. Nexys 3 Spartan-6 Производитель: DIGILENT Микросхема: Xilinx Spartan-6 XC6LX16-CS324 Ссылка на подробную информацию: https://store.digilentinc.com/nexys-3-spartan-6-fpga-trainer-board-limited-time-see-nexys4-ddr/ В наличии есть 5 штук. Все платы находятся в штатных пластиковых коробках. Цена: 8000 руб ------------------------------------------------------------------------------------------- Spartan-6 FPGA SP605 Evaluation Kit Производитель: Xilinx Микросхема: Spartan-6 XC6SLX45T-FGG484-3C Ссылка на подробную информацию: https://www.xilinx.com/products/boards-and-kits/ek-s6-sp605-g.html В наличии есть 1 штука в штатной коробке. Цена: 18000 руб ------------------------------------------------------------------------------------------- Virtex-6 FPGA ML605 evaluation kit Производитель: Xilinx Микросхема: Virtex-6 XC6VLX240T-1FFG1156 Ссылка: https://www.xilinx.com/products/boards-and-kits/ek-v6-ml605-g.html В наличии есть 1 штука в штатной коробке. Цена: 22000 руб ------------------------------------------------------------------------------------------- Платы почти не использовались - лежат без дела. Пересылать почтой России их не хотелось бы, но в Москву и другие близлежащие города можно будет передать. Доп. фото:
  2. Вышел Quartus Prime Pro Edition v19.1. Можно скачивать с исторической родины. Релиз ноутсов пока нет. Но требования к объему памяти для работы со Stratix 10 впечатляют (80 - 128 GB). Номер версии v19.0 этом лихо пропущен:) Для Quartus Prime Standard Edition и Quartus Prime Lite Edition новой версии не предлагается, для них по-прежнему остается крайней v18.1. Что-то это навевает грустные мысли...
  3. Требуется инженер-программист ПЛИС для написания прошивок для нескольких проектов. Требования к кандидату: - Опыт работы с различными типами ПЛИС не менее 3 лет - Опыт работы с микроконтроллерами STM32 и другими не менее 3 лет - Опыт работы с Altium Designer, Quartus и другими средами. - Опыт видеообработки с помощью ПЛИС - Опыт работы в команде - Умение разбираться в чужих проектах - Проживание в Москве, желательно поближе к Люберецкому району Немного общей информации по проектам: 1. Видеообработка (2 проекта) - ключевые моменты: сглаживание изображений, работа с видеобуфером, работа с MIPI, PAL/SECAM видеовыходом, работа ПЛИС в паре с микроконтроллером 2. Обработка сигналов (1 проект) - ключевые моменты: работа ПЛИС в паре с микроконтроллером, работа с таймером, точные временные измерения, детектирование аналоговых и цифровых сигналов, работа с оптическими датчиками Оплата договорная Есть перспектива трудоустройства на штатную должность. Контакты: E-mail: vbug2 (собака) yandex.ru Вконтакте: vk.com/bugway
  4. Six Automated Steps to Design Partitioning for Multi-FPGA Prototyping Boards Presenter: Krzysztof Szczur, Verification Products Manager Thursday, October 10, 2019 Abstract: Presently, emulation and FPGA-based prototyping are essential verification and validation techniques for a SoC, ASIC designs and become irreplaceable in pre-silicon verification of Deep Learning Accelerator designs. Challenges of the multi-FPGA design setup like partitioning, multiplexing limited I/O interconnections and mapping multiple clock domains across multiple devices may cause significant delays in prototype bring-up and verification schedule. Design partitioning tool that can be used with either off-the-shelf or custom made FPGA boards will automate the most tedious tasks and so significantly reduce the risk. Aldec provides HES-DVM Proto toolbox with automatic design partitioning for multiple FPGAs including Xilinx Virtex-7 and UltraScale XCVU440. In this webinar we will demonstrate how to compile and partition an open source design of Deep Learning Accelerator into 6 FPGAs in 6 steps which are fully automated. Agenda: Multi-FPGA Design Prototyping Challenges HES-DVM Proto Overview Live demo – 6 steps / 30 minutes to partition DLA design Conclusion Q&A Event Info EU Session 3:00 PM – 4:00 PM CEST Thursday, October 10, 2019 Register for EU Session US Session 11:00 AM – 12:00 PM PDT Thursday, October 10, 2019 Register for US Session Presenter Bio: (Chris) Krzysztof Szczur is a Hardware Verification Products Manager at Aldec. Chris joined Aldec in 2001 and was a key member of the team that developed HES-DVM™, Aldec's FPGA-based emulation and prototyping technology. In his engineering career he has also worked in the fields of HDL design verification, testbench automation and DO-254 compliance. Krzysztof has practical experience and a deep understanding of hardware assisted verification methodologies. Krzysztof graduated as M.Eng. in Electronic Engineering (EE) at the AGH University of Science and Technology in Krakow, Poland. View On Demand Webinar View Upcoming Webinars Aldec is a global industry leader in Electronic Design Verification and offers a patented technology suite including: RTL Design, RTL Simulators, Hardware-Assisted Verification, Embedded, SoC and ASIC Prototyping, Design Rule Checking, CDC Verification, IP Cores, DO-254 Functional Verification and Military/Aerospace solutions.
  5. Вопрос не в том, можно ли так по правилам (читай - стандартам), а в том - можно ли от них и насколько отходить. Итак: дифференциальный RefClk частотой 100МГц надо заводить на каждый PCI-E target, основная цель, я так понимаю - чтобы у мультигигабитных трансиверов был исходный клок с одним и тем же дрейфом. Вопрос: а можно ли не заводить, а генерить локально? в сети разные мнения, от Note that the pcie bus ref clock needs to be common between all devices communicating on the pcie bus. До https://www.xilinx.com/support/answers/18329.html с техникой Asynchronous Clocking Также есть такая вот картинка: которая вроде бы говорит, что такое вроде как приемлемо, но хотелось бы ответа практиков. Зачем это всё? Есть девборда с Xilinx US/US+ c FMC но без PCI-E слота, сейчас появилась необходимость работать с PCI-E самая простая и материально незатратная идея реализовать это: изготовить райзер из FMC в PCI-E (через тот же USB3.0 кабель, которй используется китайцами повсеместно для выноса с материнки PCI-E 1х ). Но вот незадача - на FMC разведены мультигигабитные трансиверы, но задающий клок для них распаян локально на плате (номинал может программироваться во внешней фапч), резать дорожки, куда-то там подпаиваться - такой кейс совсем исключён. Поэтому для принятия решения о райзере хотелось бы заручиться уверенностью что заработает хотя бы в лабораторных условиях (в продакшене это использоваться не будет). (лабораторных условиях == температура 25С, что должно снизить разбос задающих частот на разных концах MGT)/ PCIe-Clock-Source-Selection.pdf
  6. Небольшая серия видеоуроков, в которой на несложном Hello PUF проекте демонстрируется минимум, который необходим современному разработчику на плис, пускай даже и начального уровня. В курсе есть: Работа в Vivado Разработка кода на VHDL и Verilog Использование атрибутов синтеза Сборка софт-процессорной системы на базе MicroBlaze Создание проектных ограничений Работа с Tcl консолью и создание скрипта на Tcl Работа в SDK и разработка C кода для софт-процессорной системы Подключение и отладка проекта с использованием ILA Поскольку курс закончился и проект был завершён, выкладываю его здесь. Надеюсь начинающим пригодится. https://www.youtube.com/playlist?list=PLWMg96mLREOeHuNGxkIUo-iCHPxdReQAX
  7. Здравствуйте. Подскажите какие требования к допустимым отклонениям длины lvds сигналов мне заложить для прибора с ПЛИС. Конструкторы требуют от меня данные. Нашел в интернете формулу, получились такие данные: Шина данных Data1_p, data1_n ... data 9 - частота 420 МГц. 1) Погрешность длины для _p или _n одного сигнала не больше 0,635 мм. 2) длины дорожек для группы сигналов (10 пар сигналов с АЦП, 420 МГц) должны различаться не более 6.35 мм. (Режим работы DDR) Правильно ли я задал данные, или ошибся? Какие примерно должны быть требования к сигналам с такими частотами?
  8. Принцип работы FPGA (ПЛИС) отличается от работы обычных процессоров и микроконтроллеров. Если микроконтроллер выполняет программу, то в ПЛИС обработка данных и управление производится на аппаратном уровне. Это обеспечивает многопоточность и высокую производительность. Тем не менее, из-за дороговизны и ограниченного набора средств разработки популярность ПЛИС среди пользователей и любителей электроники оказывается не такой высокой. Впрочем, появление недорогих и простых в использовании отладочных плат, например, TinyFPGA или iCEBreaker, может сделать FPGA более доступными для широкого круга разработчиков. Читать далее >>
  9. Добрый день! При использовании Qsys'a В Quartus возникает следующая проблема: Не соединяются сигналы разных компонентов. Просто не могу поставить точку на соединении. Коллега по работе использует тот же самый квартус - у него все работает. Подскажите пожалуйста, в чем может быть дело? Использую Quartus 18 Standard. Скрин прилагаю
  10. В догонку к Ищем программиста ПЛИС на постоянную работу в Швецию. - официальное трудоустройство - полный соцпакет, согласно шведского законодательства - интересные R&D проекты в сфере радиоэлектроники: 5G, SDR, SDN, AIML - профессиональная команда с многолетним опытом в R&D проектах (Ericsson, ABB, Saab) - командировки по ЕС и Скандинавии - рабочий язык - английский - з/п по результатам собеседования и тарифам профильного профсоюза (от 500,000 SEK / год) Детали в личку или на почту из анонса выше
  11. Мы ищем программиста ПЛИС/FPGA в немецкий филиал одной очень серьезной компании с мировым именем. Город Konstanz, земля Baden-Württemberg Требования и описание вакансии можно прочитать здесь: https://jobs.gecareers.com/global/en/job/3257034/FPGA-Software-Engineer-m-f-d Там же, после регистрации, можно отправить резюме (сорри, я не имею никакого влияния на процесс). Трудоустройство по тарифному договору - Urlaubsgeld, Weihnachtsgeld, отпуск и т.д. Зарплата хорошая для Германии в общем и Baden-Württemberg в частности. Для тех, кто заинтересован, привожу FAQ по работе в Германии из других вакансий: Мне дополнить нечего и большинство из указанного относится также к данной вакансии .
  12. Всем доброго времени суток! Компания НПП «Цифровые радиотехнические системы» ищет разработчика FPGA. Мы занимаемся разработкой и производством систем управления воздушным движением. Наш флагманский продукт – многопозиционные системы наблюдения, позволяющие следить за местоположением самолётов, отслеживать воздушную обстановку. Также мы работаем над проектами по разработке бортового оборудования, развиваем направление по обеспечению полётов беспилотников. Обязанности: · разработка кода для FPGA/SoC ф.Altera и Xilinx, его отладка и поддержка; · поддержка и доработка существующего кода; · разработка специализированных IP-модулей и регистровых моделей к ним, интеграция их в систему; · разработка и реализация алгоритмов ЦОС в области формирования и приема радиолокационных сигналов; · разработка и реализация алгоритмов автоматического управления; · активное взаимодействие с программистами и схемотехниками при настройке и отладке опытных образцов. Требования: · высшее образование (Вычислительные машины, комплексы, системы и сети); · знания и опыт разработки на Verilog; · владение пакетом Quartus или Vivado; · умение осуществлять моделирование в пакете ModelSim (QuestaSim); · базовые знания в области ЦОС (фильтрация, алгоритмы автоматического регулирования); · опыт работы в среде Matlab; · умение читать электрические схемы, базовые знания по схемотехнике; · умение работать с измерительным оборудованием; Мы предлагаем: · Полностью «белая» заработная плата (уровень заработной платы обсуждается индивидуально, в зависимости от опыта кандидата); · Гибкий график работы.
  13. Здравствуйте. У меня возникла проблема, прибор с ПЛИСами + куча ЦАП + ВЧ микросхем не умещается на одну плату, надо разбить его на две платы. Думаю оставить на одной плате цифровые микросхемы и ЦАПы, а на другую перенести ВЧ часть. Вопрос можно ли для передачи с платы на плату 75 Омного дифференциального сигнала с выхода ЦАП (AD9739) использовать мезонинные разъемы типа QFS–026–04.25–L–D–A (или подобные) или же нужно использовать коаксиальные ВЧ разъемы(как тогда выравнивать длину диф пар с кабелями?) ? Сами ЦАПы перенести на другую плату не получится, так как места для сотен диф-пар и разъемов для них тоже нет. Может быть есть какое-нибудь более простое решение?
  14. Имеются две практически идентичные реализации одного и того же проекта. Ниже приведены две таблицы с характеристиками Destination Clock Path (для обоих вариантов). Видно, что различие имеется только для параметра Setup_fdre_C_D: в одном случае он равен 0.076 ns, а в другом 0.033 ns. Отличия в реализации по сути только в одном: в первом случае триггер размещен в SLICEM, во втором в SLICEL. На данный момент мне неясны следующие моменты: что означает параметр Setup_fdre_C_D – это “настоящий” Tsetup для триггера или это какая-то “приведенная” величина (используемая в Xilinx Timimg Analysis) почему при практически идентичной структуре эти параметры имеют различные значения – это отличие обусловлено тем, что используются SLICEM/SLICEL или чем-то другим?
  15. Санкт-Петербург Полная занятость Ищем в штат программиста для ПЛИС. Компания небольшая, поэтому задач много и они разные: Требования: • Высшее профессиональное (техническое) образование; • Опыт работы с ПЛИС фирм XILINX, Altera (Intel); • Знание принципов цифровой схемотехники; • Знание САПР: Quartus; Vivado Design Suite; • Знание System Verilog/Verilog или VHDL; • опыт работы с высокоскоростными интерфейсами: • Опыт моделирования, верификации и отладки проекта; • Опыт написания testbench; • Практические навыки использования Git / SVN; • знание английского языка в объеме, необходимом для чтения и понимания технической литературы по направлению деятельности; Плюсом является: • Опыт разработки на ПЛИС семейства Altera: Arria10, Cyclone10 и ПЛИС Xilinx: Zynq-7000, Virtex-7, Kintex-7; • Знание современных сетевых технологий Ethernet, STM, SDH, OTN, DWDM; • Опыт работы с интерфейсами DDR2/DDR3/DDR4, PCI Express, 1G/10G/100G Ethernet • Знание криптографических алгоритмов и протоколов. • Опыт программирования на C По деньгам у нас все честно, чётко и стабильно. Нам нужно понять кто вы и что можете, пишите на syspbforwork@yandex.ru Обязательно указывайте телефон для связи. Присылайте портфолио.
  16. АББ в России - крупная международная компания, лидер в области продуктов и технологий для электроэнергетики и автоматизации - объявляет об открытии двух вакансий: - Инженер-программист ПЛИС и микроконтроллеров https://hh.ru/vacancy/29343857 - Инженер-программист Embedded Linux и Qt https://hh.ru/vacancy/29441566 Резюме просьба высылать через hh.ru.
  17. Город Москва Оплата 250000 за проект Работа по договору с физлицом. Срок на изготовление три месяца. Дальнейшая платная поддержка при необходимости. ТЗ прилагается. Решается задача кодирования и декодирования цифровой информации по заданному алгоритму. Необходимо разработать прошивки для кодера (Digilent Cmod A7-35T) и декодера (Zynq 7020 + Digilent Pmod DA3 + Analog Devices EVAL-AD9467), а также тестовое ПО для Linux, совместимое с Raspberry Pi 2, или же API для доступа к устройствам из-под Linux. Техническое_задание_на_программный_комплекс_кодирования_и_декодирования_цифровой_информации.pdf
  18. Есть готовые устройства на Xilinx Zinq 7010, надо как-то защитить прошивку от реверс инжиниринга, копируют пока ладно, пусть. без модификации плат. Желательно чтоб можно было стандартными имеющимися средствами обновить прошивку (уже есть это, линукс стоит, можно и u-boot обновить). Идеи - так как устройства IoT, на связи с нашими серверами, можно через защищенный канал что-то делать, например после обновления подгружать сгенерированную прошивку именно для этого чипа по защищенному каналу. Есть под них прошивка с U-BOOT, исходники. Прошивка должна будет загружаться как и сейчас для обновления по HTTP, а также иметь механизм возврата на старую (незащищенную) стандартную версию. Мы в Москве, возможна удалённая работа, образцы железяк дадим или организуем удалённый доступ. Сроки и бюджет обсуждаемы. может поможет https://www.xilinx.com/support/documentation/application_notes/xapp1226-protecting-info.pdf
  19. Приветствую! Для конфигурации ИМС используем набор регистров, доступных по интерфейсу SPI. Регистры бывают разной длины (как правило, не больше 14 бит), отдельные поля внутри регистров так же могут быть разной длины. Для первичного тестирования поведения чипа в статическом режиме я сделал форму, в которой содержимое отдельных полей каждого регистра может меняться на лету. Пример такой формы с картой регистров представлен на картинке ниже. Регистры расположены по вертикали, содержимое регистров (отдельных битовых полей) - по горизонтали. Внутри каждой ячейки отображено имя поля и его текущее значение. Принцип работы прост: оператор нажимает на ячейку, меняет значение, форма отсылает команду по SPI, оператор наблюдает, что происходит с ИМС и т.д. Для каждого проекта своя карта регистров, которая "подцепляется" к форме из JSON файла. Форма создавалась по-быстрому и, как это обычно бывает, так и осталась в первозданном виде. Хотелось бы сделать что-то более удобное или компактное, даже не знаю, что конкретно в этой не устраивает, но хочется, чтобы содержимое отображалось покомпактнее. Наверняка многие сталкивались с задачами удобного отображения конфигурации регистров. Буду рад, если кто-нибудь поделится своими или чужими визуальным решениями.
  20. Отладочная плата BTU9P клон известной платы Xilinx VCU1525 FPGA Xilinx Ultrascale+ VU9P 12 штук., наличие в Москве 4000 долл. Платы оборудованы водоблоком, память DDR4 не установлена производителем.
  21. Всем привет! Столкнулся со следующей проблемой: Vivado выдаёт предупреждения о том, что не может найти pins, cells, nets, прописанные в констрейнах, хотя оные объекты вроде на месте - это легко проверяется хоть через просмотр нетлиста, хоть через схематик, хоть через Tcl консоль, выдавая туда команды get_pins/get_cells/get_nets - ровно те, которые прописаны в констрейнах. Всё находится, всё на месте. Но при запуске, например, Synthesis, в окне Messages вижу: Интриги добавляет ещё то обстоятельство, что аналогичный констрейн на другой объект не вызывает такого поведения - там всё хорошо. Вот оба констрейна: create_generated_clock -name pcie_user_clk [get_pins pcie_port/pipe_clock_i/mmcm_i/CLKOUT2] create_generated_clock -name dpc_clk [get_pins dpc_clk_gen/inst/plle2_adv_inst/CLKOUT0] Это два простых констрейна для переименования клоков. Разница между ними в том, что первый относится к MMCM, находящейся внутри корки, а второй - к инстансу в проекте. Сам объект на месте (как уже выше указал), более того, по результату вижу, что клок-то таки переименовался (имеет указанное в констрейне имя). Вот оно на схеме (пин помечен маркером): В общем, заподозревал, что что-то тут, возможно, с порядком обработки данных - такое впечатление, что констрейн прикладывается в момент, когда ещё нетлист не готов и поэтому не находит объект (а в случае первого констрейна находит потому, что там в проект подтаскивается корка, синтезированная OOC, т.е. уже с нетлистом). Но если так, то как это разрулить? Никаких средств не нашёл, гугление тоже не помогло. Из-за этой же фигни не удаётся использовать waiver'ы - подобная ругань, что нет объектов (а они есть в результирующем нетлисте). В общем, обращаюсь к коллективному разуму и опыту.
  22. Всем привет! Вот есть такой инструмент в Vivado как Block Diagram Editor, что делает в целом понятно - позволяет организовывать межсоединения между блоками/модулями/ядрами в наглядной графической форме. Мне как-то до сих пор подобные инструменты не очень пригождались - помнится, ещё на Active-HDL пробовал топ делать с помощью такой вот схемы (блок диаграммы), поначалу понравилось, но потом энтузиазм поугас - как-то многовато телодвижений лишних (чуть что поправить - эн мелких правок в разных местах), а главное, когда диаграмма становится большой, то уже линии соединений скорее мешают, чем помогают, и проще их (соединения) не таскать шинами/проводниками, а оформлять метками, что уже в значительной степени нивелирует красоту и эффективность схемного представления... А потом я просто научился инстансы модулей оформлять так, что читабельность практически не уступает вот такому схемному с метками. Но вот вижу, что Xilinx в своих примерах и design flow активно использует именно BD. Более того, обнаружил, что некоторые корки просто недоступны в виде отдельного ядра - например, AXI Interconnect инстанцируется только в BD, и отдельным ядром OOC его сделать нельзя, хотя его составные компоненты - Crossbar, Clock Converter, Data Width Converter и прочие, - вполне можно получить виде отдельных ядер и подключить их к проекту как обычно. Кроме того, насколько знаю, тяжёлые ядра типа Microblaze или Zynq подключаются к проекту тоже только через BD. И вот возникает вопрос: насколько это нужный и полезный инструмент в повседневной работе? Попытаюсь изложить в меру своего понимания темы плюсы и минусы BD'шного подхода. Плюсы: Наглядность межсоединений. Хотя при росте схемы она резко падает. Может немного спасти ведение иерархии - чтобы на каждом уровне было вменяемое количество "кубиков" и их связей, но и тут есть засада - при большом проекте возрастает количество уровней иерархии, что затрудняет навигацию и вообще мысленный охват проекта. Возможность лёгкого манипулирования большим количеством портов, группируя их в шины - как, например, сигналы AXI шины. Средства автоматизации - редактор BD автоматически отслеживает неподключенные порты и устанавливает на них значения по умолчанию. Минусы: Некоторое усложнение проекта - ещё один уровень выше HDL. Не все типы файлов поддерживаются - например, .sv исходники не поддерживаются, только .v, .vhd, т.е. если у меня код на SystemVerilog, то для того, чтобы из модуля родить "кубик" для BD, мне нужно сделать специальный файл-обёртку вокруг исходного модуля. Хуже переносимость. Если HDL сорцы можно напрямую передавать в другой проект на синтез и симуляцию, то с файлом диаграммы уже не так просто - сам этот файл вне среды САПР Vivado никому не нужен, а если сгенерить по нему исходник, то он получается в не очень читабельном и сопровождабельном руками виде. Для меня в первую очередь значимым является способность легко и просто работать с портами. И вот если бы редактор BD умел извлекать из SV интерфейсов сигналы (а лучше бы просто использовал их как есть), то это было бы очень круто! Но идея с файлом-обёрткой на Verilog как-то не очень греет. Для сугубо вериложных файлов BD, наверное, и даёт заметный профит - автоматом подхватывает все сигналы модуля и всё хорошо, но в SV есть замечательная штука - интерфейсы, которые позволяют свести количество портов модуля к минимуму, сделать использование сигналов портов простым и безопасным, а кроме этого ещё и местами нетривиальную логику завернуть внутри интерфейса. И вот тут-то пожалуй главный профит BD нивелируется и превращается балласт (необходимость городить врапперы вокруг модуля и руками мапить сигналы интерфейсов на порты модуля-обёртки). Вопросы внешнего вида (наглядности, лёгкости восприятия и удобства модификации) на HDL вполне решаются стилем форматирования экземпляров модулей, а поддержка интерфейсов позволяет легко получить компактные описания. В общем, пока не понял хорошенько, в чём профит BD, какие у него есть киллер-фичи. Но ведь широко используют, и это, наверное, неспроста. Прошу высказываться по теме - что сказано верно, а что нет, что-то упущено, а что-то наоборот "в точку". Кто пользуется BD, для каких проектов (всегда, никогда, только для больших и т.д.), на каких уровнях иерархии (только топ или какие-то внутренние куски иерархии) и вообще интересны мнения и оценки имеющих реальный опыт работы с этим.
  23. Всем привет! С Xilinx ранее работать серьёзно не приходилось, всё больше была Altera, поэтому нахожусь в процессе набора опыта и познания особенностей FPGA Xilinx и её САПР Vivado. Текущий проект: Artix-7 xc7a200t, Vivado 2018.2. По результатам очередной сборки развалились времянки: тактовый домен 4 нс (250 МГц), слак по сетапу порядка 0.8 нс. Смотрю, на чём просело, вижу, задержку пути на логике 1.269 нс, на трассировке 3.229. Логики там реально немного, поэтому и странно, что не уложилось. Открываю Device, и вижу, что вивада утащила часть логики модуля в другой Clock Region, отсюда и такая конская задержка (плоховато, но видно беленьким показан путь). Никакими изменениями стратегий ситуацию исправить не удалось. Вообще, ситуация представляется достаточно простой - кристалл почти пустой, и места для логики в левом Clock Region и под ним полно. Зачем же плейсер рассовал логику так, что трассировщик потом уже ничего не может исправить? Ну, делать нечего, пришлось применить ручное назначение потрохов модуля в pblock. После этого всё получилось, времянки сошлись и на дивайсе всё выглядит компактно, логично и красиво. Собственно вопрос: это правильный подход и нормальная практика для Xilinx/Vivado или это костыльно и правильно всё же как-то вызвать интеллект САПР из сумрака, чтобы она сама соображала, как размещать, чтобы проект разводился без фейлов? Просто на Altera/Quartus не помню случая, чтобы приходилось фиксить работут фиттера - он всегда сам справлялся лучше (а попытки лезть к нему напрямую только мешали). P.S. Вдогонку штрих: без констрейна на pblock длительность сборки: синтез: 0:33 P&R: 2:19 и в итоге времянка не сходится. с pblock'ом: синтез: 0:33 P&R: 1:38 и времянка в норме.
  24. Имеется плата - FPGA Spartan 6 LX9, к ней присобачена SDRAM IS42S81600F-7TL. Частота CLK 128 МГц, CL=3, BL=1. Режим работы такой - прилетают данные, их записываем в SDRAM, вместо них вычитываем из SDRAM другие данные. Пока пакетов данных нет - крутим AUTOREFRESH с периодом примерно 90 нс. Столкнулся с вот какой неприятной проблемой - первое чтение после авторефреша почему-то задерживается - шина DQ из третьего состояния переходит в активное с опозданием, в результате я читаю не то, что должно быть прочитано, а то, что осталось висеть на шине после предыдущей записи. Потом идут ещё 300 с лишним циклов записи-чтения, они пишутся и читаются идеально, без вопросов. Проблема только с первым чтением после простоя, заполненного авторефрешами. Сдвигаю фазу клока стробирования чтения - становится заметно лучше, но не насовсем. Если при нулевой задержке все первые чтения неверные (но последующие чтения правильные!), то при задержке 1.9 нс неверных чтений остаётся где-то четверть, при задержке 2.9 нс неверных чтений процентов 10, задержка 3.9 нс - это уже перебор. Кто сталкивался с чем-то подобным?
  25. https://github.com/MadLittleMods/FP-V-GA-Text/blob/master/vgaText/vgaText_top.vhd (справочник по vhdl есть) помогите , растолкуйте что значит точка в drawElementArray(i).pixelOn что оно вообще такое , как работает (если это важно разрабатываю vga контролер для древней spartan3e kit , гитхаб не мой , пытаюсь разобраться с выводом текста) -- Text Draw Stack ----------------- for i in drawElementArray'range loop if drawElementArray(i).pixelOn then rgbDrawColor := drawElementArray(i).rgb; end if; end loop;