
Необходимые инструменты
Мы собираемся использовать Verilog для этого проекта. Итак, должен подойти любой компилятор и симулятор verilog. Xilinx и ModelSim - действительно хорошие инструменты. Но поскольку я специалист по * nix, я собираюсь использовать Icarus Verilog для компиляции кода и gtkwave для просмотра временных диаграмм сигналов. Они бесплатны в использовании, просты в освоении и гораздо более легковесны, чем другие полноценные варианты.
Шаги по установке, настройке и использованию этих двух инструментов (verilog и gtkwave) описаны в другой моей статье.

В одной из наших статей: Симуляция проекта с помощью 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.
- Создание GNU C++ проекта для RISC-V в среде Eclipse.
- Устанавливаем GNU ARM Eclipse Windows Build Tools.
- Нововведения и особенности установки Intel® Quartus® Prime Design Software v19.1
- Реализация упрощенного протокола TCP с использованием NIOS II.
- Симуляция проекта с помощью Icarus-Verilog.
- Verilog System Tasks.