
В одной из наших статей: blog/simulyatsiya-proekta-s-pomoshchyu-icarus-verilog мы уже описывали опыт использования симулятора Icarus для Verilog проектов.
Тогда мы рассказывали о настройке Icarus исключительно в экосистеме операционной системы Windows, ушедшей от нас компании Microsoft. В данной статье мы рассмотрим пример использования симулятора в операционных системах Linux и MacOS.
Примечание: Приведенные ниже шаги были протестированы на Ubuntu 16.04 и macOS 10.14

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

После того, как мы ознакомились с платой Sipeed Longan Nano, можно приступить к разработке и отладке программ. Для начала идем на AliExpress и выбираем подходящего продавца. Кого-то конкретно не порекомендую, продавцы все время появляются и исчезают, так что можно смело выбирать магазин с наибольшим числом проданных товаров и хорошими отзывами. Там же можно купить и отдельные микросхемы GD32VF103CBT6. В скором времени попробуем применить их в одном из новых устройств, разрабатываемых нами! Далее нам надо настроить программатор и среду разработки. Подробности и ссылки под катом:

Несколько лет назад мы впервые столкнулись с микроконтроллером GigaDevice GD32, совместимым с STMicro STM32F103, но с более высокой тактовой частотой 108 МГц и внутренней флэш-памятью с нулевым временем ожидания. Микроконтроллер стал альтернативой STMicro, поскольку помимо программного обеспечения он также был совместим контактами.
Компания вернулась с новым микроконтроллером, но не на базе Arm. GigaDevice GD32V основан на архитектуре с открытым исходным кодом RISC-V. Новый контроллер GD32VF103CBT6 один из первых универсальных микроконтроллеров RISC-V, который превосходит свой аналог Arm Cortex-M3 по производительности и энергопотреблению.

Продолжая цикл статей, посвященных RISC-V, в новой статье расскажем как создать собственную SOC с ядром процессора RISC-V, используя систему LiteX. LiteX это генератор Core/SoC основанный на Migen/MiSoC , который предоставляет инфраструктуру для легкого создания ядер SoC (с процессором или без него). Общие компоненты SoC предоставляются непосредственно: Шины и потоки (Wishbone, AXI, Avalon-ST), интерконнект, общие ядра (RAM, ROM, Timer, UART и т. д...), Процессорные оболочки/интеграция и т. д... а возможности создания SoC могут быть значительно расширены с помощью экосистемы ядер LiteX (DRAM, PCIe, Ethernet, SATA и т. д...), которые могут быть легко интегрированы/смоделированы/построены с помощью LiteX. Он также предоставляет бэкенды сборки для цепочек инструментов с открытым исходным кодом.
В общем случае Migen используется для создания дизайнов ПЛИС на языке Python, а LiteX как генератор SOC для создания/разработки/отладки систем на кристалле ПЛИС на языке Python.

В последнее время повышенным интересом пользуются статьи, затрагивающие аспекты работы с процессорами, имеющими архитектуру RISC-V. В предыдущих статьях: Создание процессора со свободной архитектурой RISC-V. Часть 1. и Создание процессора со свободной архитектурой RISC-V. Часть 2. мы рассказывали о примере аппаратной реализации процессора с архитектурой RISC-V с использованием программируемых вентильных матриц.
В данной статье, мы установим GNU С++ компилятор, создадим и настроим первый проект для архитектуры RISC-V.