SimulIDE - зто относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus.

SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. 

 Простота, скорость и удобство использования – ключевые особенности этого симулятора.
Вы можете создавать, моделировать и взаимодействовать со своими схемами за считанные минуты: просто перетаскивайте компоненты из списка, вставляйте их в схему, соединяйте их и нажимайте «кнопку питания», чтобы увидеть, как это работает.

Скорость моделирования — одна из наиболее важных характеристик этого симулятора.
Он был глубоко оптимизирован для достижения превосходной скорости и низкой загрузки процессора.

SimulIDE также включает редактор кода и отладчик для Arduino, GcBasic, PIC asm, AVR asm и других. Можно писать, компилировать и выполнять базовую отладку с использованием точек останова, наблюдения за регистрами и глобальными переменными.

Загрузка и установка SimulIDE разрабатывается по модели с открытым исходным кодом, но доступны и бинарные пакеты для всех трёх поддерживаемых платформ. Сайт проекта доступен по данной ссылке: https://simulide.com/ Репозиторий с исходными кодами упрятан довольно глубоко: https://launchpad.net/simulide Бинарные пакеты для релиза и релиз-кандидатов можно найти здесь: https://launchpad.net/simulide/+download

Для Linux предлагается архив tar.gz, который содержит скомпилированную версию со всеми библиотеками. Нужно распаковать этот архив например в домашний каталог или в /opt и запустить бинарный файл simulide из командной строки или файлового менеджера. Для Windows имеется portable версия в виде zip-архива, который нужно также распаковать и запустить файл simulide.exe

После запуска программы открывается главное окно, которое представляет собой редактор схемы. В комплекте с SimulIDE идёт большое количество примеров, которые находятся в каталоге examples в дистрибутиве программы. На скриншоте показана схема осциллографа на МК Atmega328p, в котором используется монохромный графический ЖКИ. Чтобы запустить симуляцию, нужно нажать на кнопку Power circuit на панели инструментов.

Главное окно SimulIDE с примером схемы
Главное окно SimulIDE с примером схемы

В отличие от например Qucs-S или проприетарного Ltspice моделирование в SimulIDE полностью интерактивное. Можно подключать виртуальные измерительные приборы как в Electronics Workbench или Proteus. В программе имеется внушительный набор аналоговых и цифровых компонентов, в том числе библиотека ИМС ТТЛ и КМОП логики. Самое главное, что поддерживаются различные 8-битные микроконтроллеры семейств Atmega, Attiny, PIC10, PIC12, PIC16 и 8051. Также поддерживается Arduino. Можно моделировать и схемы без микроконтроллеров. Движок моделирования используется упрощённый собственной разработки, а не SPICE. Модели транзисторов также используются сильно упрощённые для ключевого режима. Для моделирования каких-либо сложных аналоговых схем SimulIDE не годится. Моделирование в частотной области (анализ АЧХ) не поддерживается. У меня, например, не получилось запустить генератор на RC-цепи и двух инвертерах. Анимированный GIF ниже показывает моделирование переходного процесса в колебательном контуре.

Интерактивное моделирование колебательного контура
Интерактивное моделирование колебательного контура

Пример: моделирование простой схемы на МК Atmega328p

Рассмотрим пошаговый пример, как смоделировать в SimulIDE схему на микроконтроллере. В качестве примера будем использовать моргалку светодиодом на МК Atmega328p. Светодиод подключается к выводу PB0. Исходный текст программы следующий.

#include <avr/io.h>
#include <util/delay.h>

#define LED_PIN PORTB0

int main (void)
{
   DDRB |= (1<<DDB0);
   for(;;) {
   PORTB |= (1<<LED_PIN);
   _delay_ms(1000);
   PORTB &= ~(1<<LED_PIN);
   _delay_ms(1000);
   }
}

Данную программу следует скомпилировать при помощи avr-gcc любым способом и получить HEX-файл. Теперь можно приступать к моделированию. Запускаем SimulIDE и на поле схемы размещаем МК, резистор 100 Ом и светодиод, которые берём с левой панели. МК находятся в группе Micro. Компоненты соединяем проводами. Редактирование схем в SimulIDE интуитивно понятно и с ним проблем возникнуть не должно. Получается следующая схема:

Схема на МК Atmega328p
Схема на МК Atmega328p

Теперь нужно указать для МК файл с прошивкой. Для этого щёлкаем правой кнопкой по компоненту и выбираем Load firmware. Затем выбираем HEX-файл. Теперь если в свойствах компонента (Properties) отображается прошивка:

Диалог свойств МК
Диалог свойств МК

Теперь можно запускать симуляцию. Для этого нажимаем кнопку Power circuit на панели инструментов, и светодиод начинает мигать. Результат показан на анимированном GIF ниже.

Моделирование схемы
Моделирование схемы

Как видно, процесс моделирования чрезвычайно простой по сравнению с ранее упомянутыми Qucs-S и LTSpice. Но за простоту нужно платить тем, что не поддерживаются настоящие модели SPICE и отсутствует полноценное аналоговое моделирование.

 

Интересные программы. Симулятор SimulIDE для начинающих.

Выводы

В настоящее время моделирование МК PIC и AVR, которое реализовано в SimulIDE, может иметь весьма ограниченное применение. Вот появилась бы эта программа лет на 15 пораньше, цены бы ей не было. Сейчас даже радиолюбители переползают на 32-битные МК. В своих самоделках я уже перешёл на 32-битные МК. AVR и PIC по-моему полностью устарели. В том, чтобы делать новые разработки на 8-битниках я особенных преимуществ не вижу. Так что для меня лично SimulIDE практически бесполезен. Но возможно тем, кто продолжает делать устройства на 8-битных МК, этот симулятор сможет упростить отладку. Ну и для использования в учебном процессе SimulIDE будет весьма полезен из-за простоты освоения и интерактивной симуляции.