Русский
Русский
English
Статистика
Реклама

Lattice

Новостной дайджест событий из мира FPGAПЛИС 007 (2020_12)

31.12.2020 12:04:32 | Автор: admin

Здравствуйте друзья.


Продолжаем публиковать новости из мира FPGA/ПЛИС.


В 2020 опубликовано 238 новостей, запущены FPGA стримы и проведена первая отечественная FPGA конференция. Подборка за декабрьи ссылки на все упоминания под катом.




Ссылки:


  • Краткий 90-минутный видео-обзор прошедших событий в FPGA отрасли здесь
  • Материалы прошедшей FPGA конференции и ссылки на материалы здесьи отчет на хабре
  • Записи FPGA стримов здесь


PS: Стримы проводят ребята вот с этого проекта. Подкидывайте им идеи для стримов или присоединяйтесь в качестве гостя, если надумаете рассказать что-то интересное из мира FPGA/ПЛИС



FPGA декабрь новости



Зимний хакатон от QuickSilicon


Выполнение MicroBlaze приложений на PSU DDR в Vitis


Инструменты FPGA с открытым исходным кодом и поддержка Renode для MCU Core-V


Решаем проблему разбиения чисел на PYNQ


Следующий уровень светодиодного стрима


Небольшой бесплатный курс по VHDL на Udemy


Модельное проектирование ПЛИС и ASIC в контексте функциональной безопасности


Школа FPGA/SoC для применения в атомной промышленности и связанной с ней приборостроении


UVM обновилась согласно стандарту IEEE 1800.2-2020


Доступны материалы конференции Synopsys Verification Day 2020


Silexica запускает первый коммерческий плагин для Vitis HLS


Реализация интерпретатора CHIP-8 на Verilog


Установка Cocotb на Windows 10 для повышения производительности проверки проектов ПЛИС


ECPIX-5 современная отладочная плата на Lattice ECP5


Релиз Sigasi Studio 4.10


Глубокое обучение на FPGA


Конкурс от QuickLogic совместно с SensiML


Qomu MCU + eFPGA Development Kit, который помещается внутри USB-порта


Вебинар: Верификация с использованием OSVVM


Светодиодно-ленточный релакс FPGA стрим сегодня в 20:00 Мск


Ускорения отладки RTL для ПЛИС


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


Самоконфигурируемая трехмерная мультиПЛИСовая адаптивная платформа


Microchips Анонсировала доступность PolarFire для космического применения


Опубликованы материалы конференции Nokia и Intel


FPGA конференция в Сколково


Intel Open FPGA Stack Простая разработка пользовательских платформ


Изучаем Vivado Methodology Report


Все воркшопы Адама Тейлора в этом году


HBM2 и тензорные блоки ключевые особенности Intel FPGA


Запись субботнего стрима GoWin первое знакомство доступна на Youtube


Обзор научных работ, связанных с FPGA


Компания Samsung разработала прототип голографического дисплея с использованием FPGA


Повышение производительности разработки с Vivado и SystemVerilog


Новые возможности VHDL2019


FPGA конференция и хакатон от Intel и Nokia


Саммит разработчиков oneAPI 2020


Вебинар: Accelerating Data Channels to 112 Gbps PAM4: A Case Study in Real-World FPGA Implementation


Освоение DPC++ для программирования гетерогенных систем с использованием C++ и SYCL


Реализация глубоких нейронных сетей на ПЛИС


Делаем UART на HLS


QuickLogic присоединяется к партнерской программе Samsung SAFE IP



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


Подробнее..
Категории: Новости , Дайджест , Intel , Fpga , Gowin , Плис , Rtl , Lattice , Risc-v , Xilinx , Hdl , Migen , Litex

Новостной дайджест событий из мира FPGAПЛИС 005 (2020_09)

07.10.2020 08:20:40 | Автор: admin

Здравствуйте, друзья.

Возвращаемся к публикации последних событий из мира FPGA/ПЛИС. Ниже приведены несколько ссылок на новости, анонсы, вебинары, воркшопы, туториалы, видео и тд. Подобные новостные дайджесты есть, например, на хабе про php, почему бы и не сделать что-то подобное и для ПЛИС?



Подробности в конце статьи :)

Мы решили вернуться к традиционному формату представления: картинка заголовок/ссылка небольшое описание

Новостная лента FPGA/ПЛИС сентябрь 2020


Начинающим: Выложены материалы Сколковской школы цифрового дизайна


С 15-17 сентября 2020 в рамках выставки Чип-Экспо проводилась СКОЛКОВСКАЯ ШКОЛА СИНТЕЗА ЦИФРОВХ СХЕМ НА VERILOG. Рады сообщить, что материалы этой школы запись видеолекций и исходники заданий выложены в открытый доступ на Youtube.
Стоит напомнить, что предложение по получению бесплатной отладки для школьников и студентов для прохождения школы, все еще действует.

Релиз Quartus Prime Pro Edition: Version 20.3

Intel FPGAвыпустила информацию об обновлении программного обеспечения Quartus Prime версии Pro. В частности, в новой версии:

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

Что такое частота семплирования 5кГц? Для цифровой обработки сигналов даже на микроконтроллере такое число звучит вполне посильно. Однако, в задаче оптической связи между спуником и наземной станцией, где на последней расположен массив линз, каждая из которых фокусирует изображение на часть сенсора камеры ...

Это интересно: Шифровальная машина Enigma M3 в FPGA Intel MAX10

Шифровальная машина имела систему роторов, которые по некоторому закону делали многократную замену букв:

Онлайн конференция: Verification Day 2020

Компания Synopsys проводит онлайн конференциюVerification Day 2020.Это виртуальное мероприятие дает возможность оставаться в курсе последних инноваций, методов и методологий в области статической, формальной и маломощной верификации.

Вебинар: Презентация инструментов для верификации процессорных ядер на базе RISC-V

Static Verification for RISC-V Cores and SoCs

В настоящее время вся отрасль разработки процессорных систем претерпевает смену парадигмы новые поколения специализированных процессорных ядер разрабатываюсяна основе открытой системы команд RISC-V.

Реализация: Мондельбротим на PYNQ

Построение фракталов на ПЛИС, в целом не ново. На выставках частенько можно встретить их реализацию. Такое демо всегда привлекает, не то что эти ваши отчеты в консоли и распознавание котиков.

Анонс: Самая большая FPGA Xilinx перешла в статус Production

ПЛИС Virtex UltraScale+ VU19P позволяет создавать прототипы и эмулировать самые передовые ASIC и SoC, а также разрабатывать сложные алгоритмы. ПЛИС VU19P обладает самой высокой плотностью логики и количеством портов ввода-вывода это самая большая FPGA когда-либо выпускаемая компанией Xilinx....

Практика: Подключаем Xilinx FPGA софт-процессор к сенсорам ST Micro

на портале element14.com появился анонс трех предстоящих воркшопов по работе с MicroBlaze софт-процессор от компании Xilinx и его интеграции с несколькими сенсорами от компании ST Micro. Работа будет проходить на бюджетном отладочном комплекте Arty-S7.

Туториал: Демонстрация и моделирование RoE

В блоге компании Xilinx появилось новое руководство по моделированию радио-через-ethernet Roe
Enhanced CPRI (eCPRI) становится важной технологией для создания беспроводных приложений следующего поколения 5G. IP ядро Xilinx Radio over Ethernet Framer (RoE Framer) является частью полного системного р...


Это Интересно: Как устроена первая ПЛИС в мире


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


Заметка: 5 Вызовов для высокоуровнего синтеза на ПЛИС

Любопытная заметка появилась на сайте компании Silexica. John Inkeles рассматривает 5 пять проблем, с которыми приходится сталкиваться при использовании HLS для проектирования ПЛИС

Вебинар: Максимизация производительности системы при использовании FPGA с интерфейсом PCIe Gen5

На вебинаре от компании Achronix вы узнаете, как максимизировать производительность системы с помощью ПЛИС с интерфейсами PCIe Gen5. Вы поймете, почему вам нужно не только высокоскоростное подключение, но и возможность обрабатывать входящие данные на высоких скоростях для ускорения производительности приложений.

Вебинар: Проверка пользовательских инструкций RISC-V с помощью UVM

Благодаря интеграции в Aldec Rivera-PRO утилитыCodasips Studio становится возможным верификация пользовательских инструкций процессора RISC-V.



Заметка: Vivado подскажет, как свести тайминги в проекте (перевод)

Что делать, если тайминги вашего проекта не сходятся? Как найти эти места и как исправить положение?
Ответы вопросы вам поможет найти сама среда разработки Xilinx Vivado. В Vivado есть просто невероятное количество отчётов, формируемых по ходу маршрута проектирования вашего проекта.



Онлайн-семинар: Разработка ускорителей в Xilinx Vitis




Единая программная платформа Vitis позволяет разработчикам легко использовать преимущества гетерогенных SoC Xilinx и ускорять свои приложения, не нуждаясь в передовых знаниях по разработке аппаратного обеспечения. Этот семинар предоставит вам базовые знания о том, как начать работу с Vitis и Vitis AI.


Очень маленькая FPGA плата M02mini от marsohod.org

Команда проекта marsohod.orgсообщила о выходе новой очень маленькой FPGA платы M02mini на базе чипа Intel MAX10 10M02DCV36C8.

Аналитика: Сможет ли HLS код побить HDL по производительности? (перевод)

По общему убеждению, HLS проигрывает в производительности написанному вручную HDL. С правильным выбором инструментов может оказаться верным обратное утверждение.



Cadence открыла бесплатный доступ ко всем видео-тренингам и обучающим материалам


Компания Cadence открыла свои учебные курсы. Теперь для того чтобы обучаться по программам Cadence достаточно только иметь активированный Cadence Support Account.


Руководство: Делаем алгоритм шифрования AES на Verilog


Интересное руководство попалось на портале medium.com
Читателю предлагается пошаговое руководство реализации алгоритма AES 128 для FPGA/ASIC с использованием языка Verilog.

Туториал: Генерация синусоиды на C и Xilinx Zynq

На портале hackster.io появилась новая статья/гайд по использованию созданию генератора синусоиды с использованием Xilinx DDS Compiler + C+ baremetal + Zynq. Это полноценное руководство с боль...

Презентация: Компиляция для Xilinx AI Engine с использованием MLIR

Если вы интересуетесь развертыванием нейронных сетей и ИИ на новых адаптируемых ACAP Versal AI, то эта презентация вероятно вам пригодится при изучении. Несмотря на ее относительную давность создания (02-02-2020), презентация пригодится как дополнительный материал для изучения. Возможно, вам удастся узнать что-то нов...

Проведение тестирования проекта с помощью VUnit (перевод)

Что делать, если после завершения проектирования мы обнаруживаем ошибку, требующую значительного отката?



Конференция FPGA разработчиков


Конференции по FPGA за рубежом проходят достатоно часто, по крайней мере 3-4 раза в год, что нельзя сказать про отечетсвенный сегмент. Ребята вот из этого проекта организуют конференцию по FPGA тематике, которая пройдет в Мск 28 ноября и Спб 5 декабря, также планируется онлайн трансляция мероприятия. Участие в конференции бесплатное.


Более подробную информацию, ответы на наиболее частые вопросы и зарегистрироваться Вы можете на странице конференции


PS: по словам организаторов, колчество докладов для Мск уже хватает, чего нельзя сказать про СПб. Поэтому если Вы планируете учавствовать в Санкт-Петербурге, то может у Вас есть что рассказать за FPGA ?



Предыдущие выпуски новостного дайджеста


Новостной дайджест событий из мира FPGA/ПЛИС 004 (2020_04)


Новостной дайджест событий из мира FPGA/ПЛИС 002-003 (2020_02/2020_03)


Новостной дайджест событий из мира FPGA/ПЛИС 001 (2020_01)


Приглашаю желающих помочь в наполнении новостной ленты. Пишите в личку.

Подробнее..
Категории: Intel , Fpga , Плис , Lattice , Xilinx , Achronix

Из песочницы Знакомство с FPGA iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor

28.07.2020 16:18:22 | Автор: admin

Введение


Всем доброго времени суток, друзья! Недавно на работе обзавелись новенькой навороченной платой iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor. Со слов разработчиков на официальном сайте iCE40 UltraPlus MDP это плата, на которой расположены 4 ПЛИС iCE40 UltraPlus, каждая из которых управляет своим набором периферии. В набор входят:

  • мобильный дисплей с разрешением 240x240 с интерфейсом MIPI DSI;
  • датчик изображения с разрешение 640x480 (OVM7692);
  • малопотребляющие микрофоны в количестве 4 штук;
  • BLE модуль для беспроводной передачи данных;
  • программируемая SPI Flash память;
  • пак различных датчиков (давления, компас, гироскоп и акселерометр);
  • ну и всякие кнопочки и лампочки.

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

UltraPlus MDP




В качестве тестового примера, поморгаем RGB светодиодом (D13 на схеме, выделено красным на картинке слева). Просмотрев документацию, делаем вывод, что светодиод управляется ПЛИСом под номером U3 (выделено красным на картинке справа). Из документации также узнаем, что светодиод управляется встроенным ШИМ модулятором и токовым драйвером.

Данную информацию берем на заметку.

Настройка платы и написание программы


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



Порядок действия следующий:

  1. Перевести переключатель SW5 в положение ON/OFF
  2. Две перемычки на J19 горизонтально
  3. Установить на J26 перемычки так, чтобы замкнуть пины 1-2 и 3-4 (как указано на рисунке. Начало следования пинов начинается с белой стрелочки, указанной на плате)
  4. На джамперах J17, J25, J27 установить перемычки в положение 9-10 (но это вроде необязательно)

Да, понимаю, это все нудно, но без этого не заработает.

Также, чтобы подключить генератор тактовых сигналов необходимо установить перемычку джампера J23 в положение 2-3 (нумерация идет сверху).



Теперь программа. Для создания битового файла для прошивки iCE40 UltraPlus MDP необходима среда разработки Lattice iCE cube 2 (ссылочка на страницу с продуктом) и для прошивки самой платы Programmer and Deployment Tool. Продукт лицензионный, но после регистрации лицензию можно получить здесь www.latticesemi.com/Support/Licensing/DiamondAndiCEcube2SoftwareLicensing/iceCube2

Редактор в IDE весьма неудобный, поэтому я писал в Sublime Text, но каждому свое.

Вот общая схема, которая давала понимание что и куда надо делать:



Вот и всплыли ШИМ модулятор и токовый драйвер, о которых я упоминал ранее. Эти два устройства являются внутренними модулями. Необходимо написать устройство управления логики и отправки данных, чтобы вся эта кухня правильно работала. Начнем по порядку, описываем черный ящик:

entity DriverRGB isport (-- RGB Led:LED0 : out std_logic;LED1 : out std_logic;LED2 : out std_logic );end DriverRGB;

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

-- Generator clock:component SB_HFOSC isgeneric (CLKHF_DIV: string := "0b00" );port (CLKHFPU: in std_logic;CLKHFEN: in std_logic;CLKHF : out std_logic );end component;

imageДанный модуль может генерировать сигнал с частотами 48МГц, 24МГц, 12МГц и 6МГц. За коэффициент деление частоты отвечает параметр CLKHF_DIV (0b00, 0b01, 0b10, 0b11 соответственно). CLKHFPU и CLKHFEN разрешение работы модуля. CLKHF тактовый сигнал.

Далее объявляем ШИМ модулятор и токовый драйвер:

-- Embedded PWM IP:component SB_LEDDA_IP isport (LEDDCS: in std_logic;LEDDCLK: in std_logic;LEDDDAT7: in std_logic;LEDDDAT6: in std_logic;LEDDDAT5: in std_logic;LEDDDAT4: in std_logic;LEDDDAT3: in std_logic;LEDDDAT2: in std_logic;LEDDDAT1: in std_logic;LEDDDAT0: in std_logic;LEDDADDR3: in std_logic;LEDDADDR2: in std_logic;LEDDADDR1: in std_logic;LEDDADDR0: in std_logic;LEDDDEN : in std_logic;LEDDEXE: in std_logic;LEDDRST: in std_logic;PWMOUT0: out std_logic;PWMOUT1: out std_logic;PWMOUT2: out std_logic;LEDDON: out std_logic );end component;

-- RGB Driver:component SB_RGBA_DRV isgeneric (CURRENT_MODE: string := "0b0";RGB0_CURRENT: string := "0b000000";RGB1_CURRENT: string := "0b000000";RGB2_CURRENT: string := "0b000000" );port (CURREN: in std_logic;RGBLEDEN: in std_logic;RGB0PWM: in std_logic;RGB1PWM: in std_logic;RGB2PWM: in std_logic;RGB0 : out std_logic;RGB1 : out std_logic;RGB2 : out std_logic );end component;

imageШИМ модулятору необходимо скормить адрес и данные, которые отвечают за режимы работы светодиода и некоторые управляющие сигналы. Выходы затем обрабатываются токовым драйвером RGB, который уже зажигает светодиод.

Токовый драйвер обрабатывает данные с ШИМ модулятора и регулирует значения тока подтягиваемое к светодиоду. Параметры RGB0_CURRENT, RGB1_CURRENT, RGB2_CURRENT задают величину тока к каждому цвету. CURRENT_MODE режим питания (полный или половинный).

image

Да, круто. Есть адреса, есть данные. Ну а что на них отправлять? В общем, разработчики Lattice в своей документации дают достаточно подробное описание, но оно весьма объемное. Постараюсь сжать все в несколько строчек описания и код для наглядности.

ШИМ модулятор ожидает 9 адресов. Каждый из них отвечает за определенную функцию для поддержания работы светодиода. Ниже приведена таблица, в которой указаны значения и названия адресов:



Для отправки данных реализуем автомат конечных состояний:

type LED_Driver is (IDLE, LEDDBR, LEDDONR, LEDDOFR, LEDDBCRR, LEDDBCFR, LEDDPWRR, LEDDPWRG, LEDDPWRB, LEDDCR0, DONE);

Первым шагом запишем данные в регистр LEDDBR. В него записывается значение для частоты тактового сигнала ШИМ. Считается она следующим образом:

Register Value N = Fsys/64kHz-1

Структура записи данных выглядит следующим образом:



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

when LEDDBR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "1001";DAT_Bits(7 downto 0)<= "11101101"; -- Генерация тактового сигнала ШИМ (без двух старших бит)PWM_state_next<= LEDDONR;

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

when LEDDONR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "1010";DAT_Bits(7 downto 0)<= "00010001"; --  Светодиод активен (0.5 c)

Регистр LEDDOFR содержит данные, сколько времени неактивен светодиод. Точно такие же значения, как и в LEDDONR.

when LEDDOFR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "1011";DAT_Bits(7 downto 0)<= "00010001"; --  Светодиод неактивен (0.5 c)PWM_state_next<= LEDDBCRR;

LEDDBCRR данные о длительности плавного включения светодиода.

when LEDDBCRR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "0101";DAT_Bits(7)<= '1'; -- Режим включения (вкл)DAT_Bits(6)<= '1'; -- Бит регулировки включенияDAT_Bits(5)<= '1'; -- Изменение скорости увеличения яркостиDAT_Bits(4)<= '0'; -- RESERVEDDAT_Bits(3 downto 0)<= "0011"; -- Длительность включения (0.5 с)PWM_state_next<= LEDDBCFR;

LEDDBCRR данные о длительности плавного выключения светодиода.

when LEDDBCFR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "0110";DAT_Bits(7)<= '1'; -- Режим выключения (вкл) (disable/enable)DAT_Bits(6)<= '0'; -- PWM Range ExtendDAT_Bits(5)<= '1'; -- Изменение скорости уменьшения яркостиDAT_Bits(4)<= '0'; -- RESERVEDDAT_Bits(3 downto 0)<= "0011"; -- Длительность выключения (0.5 с)PWM_state_next<= LEDDPWRR;

В регистры LEDDPWRR, LEDDPWRG и LEDDPWRB записываются данные о яркости красного, синего и зеленого цвета светодиода соответственно. Значение яркости считается в процентах следующей формулой:

ADC(%) = PulseWidth/256

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

when LEDDPWRR =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "0001";DAT_Bits(7 downto 0)<= "00000001"; -- RED Pulse WidthPWM_state_next<= LEDDPWRG;

when LEDDPWRG =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "0010";DAT_Bits(7 downto 0)<= "11111111"; -- GREEN Pulse WidthPWM_state_next<= LEDDPWRB;

when LEDDPWRB =>led_en <= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "0011";DAT_Bits(7 downto 0)<= "00011111"; -- BLUE Pulse WidthPWM_state_next<= LEDDCR0;

Ну и в последний регистр LEDDCR0 записывается разрешающая информация и два старших бита значения частоты тактового сигнала ШИМ:

when LEDDCR0 =>led_en<= '1';led_cs<= '1';led_exe<= '0';LEDD_ADR<= "1000";DAT_Bits(7)<= '1'; -- Включение светодиода (вкл)DAT_Bits(6)<= '1'; -- Flick Rate Select Bit (125/250 Hz)DAT_Bits(5)<= '0'; -- Полярность выхода ШИМ (1/0)DAT_Bits(4) <= '0'; -- Режим снижения шумов при переключении ШИМDAT_Bits(3)<= '1'; -- Blinking Sequence Quick Stop Enable BitDAT_Bits(2)<= '0'; -- PWM Mode Selection BitDAT_Bits(1 downto 0)<= "10"; -- Два старших бита частотыPWM_state_next<= DONE;

Примеры реализации


RGB



Purple/White



Подведение итогов


Ну вот и все. Меняя параметры можно добиваться красивого эффекта дыхания светодиода при разной цветовой гамме и яркости, изменяя значения в регистрах LEDDPWRR, LEDDPWRG, LEDDPWRB или величину тока RGB драйвера. Ниже ссылки на код на GitHub и на всю необходимую документацию.

В дальнейшем планирую тестить другие плюшки и по возможности выкладывать сюда на обозрение.

Evaluation Board User Guide
iCE40 LED Driver Usage Guide
Код
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru