SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Moderator: Shaos
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Спасибо. Возможно это косяк Windows. Проверю на других компьютерах.
Могу предложить для тестирования модельку 74181 (155ИП3), которая работает значительно быстрее (отнимает при симуляции меньше ресурсов процессора). Она сделана внутри в виде ПЗУ а не в виде схемы на лог. элементах. Так же можно приведенную выше схему "свернуть" в ПЗУ. Это освободит место для других элементов.
Могу предложить для тестирования модельку 74181 (155ИП3), которая работает значительно быстрее (отнимает при симуляции меньше ресурсов процессора). Она сделана внутри в виде ПЗУ а не в виде схемы на лог. элементах. Так же можно приведенную выше схему "свернуть" в ПЗУ. Это освободит место для других элементов.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Спасибо, пригодится. Вот только тестирование, боюсь что будет еще очень нескоро.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Вот модель АЛУ.
Результаты моего тестирования. Как видно прирост скорости симуляции двухкратный. Конечно, полный тест может дать другие результаты, но и этот впечатляет...
Результаты моего тестирования. Как видно прирост скорости симуляции двухкратный. Конечно, полный тест может дать другие результаты, но и этот впечатляет...
- Attachments
- 74HC181.zip
- (9.34 KiB) Downloaded 23 times
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Обнаружился баг. Отмечен на изображении слева. Если удалить файл M155.package, то проблема пропадает (на изображении справа). Как будто бы часть информации берется оттуда. Потерю позиционирования я и раньше замечал. Но с лишним выводом надо что-то делать.
- Attachments
- M155.zip
- (7.12 KiB) Downloaded 24 times
- Снимок экрана от 2025-01-12 13-10-07.png (46.4 KiB) Viewed 1131 times
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Это не баг. Это фича....
Точнее это баг, но не программы а пользователя программы (банальная невнимательность)
Если внимательно посмотреть на лишний контакт, то можно увидеть желтую надпись около него. Это значит, то в этом контакте на одном из корпусов есть ошибка. Открываем на редактирование контакт на DIP корпусе и видим ошибку (см. скриншоты). Исправляем ее и обнаруживаем исчезновение лишнего контакта в рабочем режиме.
Точнее это баг, но не программы а пользователя программы (банальная невнимательность)
Если внимательно посмотреть на лишний контакт, то можно увидеть желтую надпись около него. Это значит, то в этом контакте на одном из корпусов есть ошибка. Открываем на редактирование контакт на DIP корпусе и видим ошибку (см. скриншоты). Исправляем ее и обнаруживаем исчезновение лишнего контакта в рабочем режиме.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Да, модель сырая. Я ее переделал уже. Я ее выложил только потому, что счел такое поведение программы ненормальным. Но раз так и должно быть, буду знать.
Однако, факт того, что информация о положении надписей берется не оттуда, откуда надо, все равно имеет место быть.
Однако, факт того, что информация о положении надписей берется не оттуда, откуда надо, все равно имеет место быть.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Еще один момент, который необходимо учитывать: если в микросхеме несколько контактов не используется, то их ID должны отличаться, например NC1, NC2, NC3, ... Отображаемые имена могут быть одинаковые.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Несколько месяцев назад обнаружил в репозиториях Altlinux пакеты для установки SimulIde 1.0.0. На днях установил на виртуалку Simply Linux 10.4. Установил SimulIDE из официального репозитория при помощи Центра приложений. После запуска программы обнаружил, что установилась более свежая версия: SimulIDE 1.1.0.
Так же через Центр приложений доступны симуляторы Logisim, Quсs, трассировщик плат KiCad и некоторые другие программы в помощь радиолюбителям.
Замечу, что через Synaptic доступно для установки только устаревшая версия 1.0.0.Так же через Центр приложений доступны симуляторы Logisim, Quсs, трассировщик плат KiCad и некоторые другие программы в помощь радиолюбителям.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Не получается создать плату.
При добавлении компонента сыпет ошибки
и ничего не работает.
При добавлении компонента сыпет ошибки
Code: Select all
SubCircuit: test test-2 ERROR Creating Component: Subcircuit 74HC155-37 tttt
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-!2Y3
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-!2Y2
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-!2Y1
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-!2Y0
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-!2C
ERROR!! SubCircuit::loadSubCircuit: test test-2 null endPin in Connector 2@74HC155-37-!2G
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-A
ERROR!! SubCircuit::loadSubCircuit: test test-2 null startPin in Connector 2@74HC155-37-B
- Attachments
- Снимок экрана от 2025-01-14 23-16-12.png (23.1 KiB) Viewed 1060 times
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
В плату нельзя добавлять подсхемы (модели микросхем). Можно только логические элементы, коннекторы, кнопки, индикацию. Т.е. только исходные простые примитивы. Можно глянуть внутреннее устройство плат в категории "Инструменты".
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Делал вот по этому видео: https://www.youtube.com/watch?v=zqtnxyeesVM
Там lcd дисплей и atmega328 с прошивкой, помимо простых примитивов.
Попробую версию 0.4.15
Там lcd дисплей и atmega328 с прошивкой, помимо простых примитивов.
Попробую версию 0.4.15
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
LCD дисплей и микроконтроллер - это примитивы, в отличие от моделей логических микросхем. Поэтому там нет ошибок в создании платы.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Должен быть способ.
Обнаружил следующую вещь:
И если создать такую папку с файлами 1@74HC155.sim1, 1@74HC155.package, 1@74HC155_LS.package, то плата начинает работать.
Но если добавить еще одну, то она уже не работает, требует 2@74HC155.
Что-то мне подсказывает, что это либо баг, либо есть какой-то недокументированный момент.
Буду разбираться.
PS: быть может, есть способ оформить модели микросхем в виде примитивов? Как-то это неправильно - атмегу воткнуть можно, а банальную HC595 - нельзя.
Обнаружил следующую вещь:
Code: Select all
SubCircuit::construct: No package files found for 1@74HC155
/home/kalmar/.local/share/simulide/addons/test/data/1@74HC155/1@74HC155.package
Но если добавить еще одну, то она уже не работает, требует 2@74HC155.
Что-то мне подсказывает, что это либо баг, либо есть какой-то недокументированный момент.
Буду разбираться.
PS: быть может, есть способ оформить модели микросхем в виде примитивов? Как-то это неправильно - атмегу воткнуть можно, а банальную HC595 - нельзя.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Сам спрашивал, сам отвечаю.
Есть что-то типа уровней иерархии - что во что вставляется. У платы он всегда 1. А у модуля можно его задать - не меньше 2.
Модуль может быть вставлен в плату или в другой модуль с меньшим уровнем.
Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)
Нашел два решения вышеупомянутой проблемы.
Причем, очень давно. Зачем разработчик так сделал - вопрос, конечно, интересный...
Если убрать условие rev >= 2220, то перестают сыпать ошибки, и плата начинает работать, но только одна - последняя добавленная.
В принципе, для моих целей этого достаточно.
Выяснилось, что такой функционал в какой-то мере реализован, но прямо запрещен в коде. Вот здесь:
Code: Select all
int rev = MainWindow::self()->revision();
if( rev >= 2220 ){ if( name.contains("@") ) list = name.split("@");}
else if( name.contains("_") ) list = name.split("_");
if( list.size() > 1 ) // Subcircuit inside Subcircuit: 1_74HC00 to 74HC00
Если убрать условие rev >= 2220, то перестают сыпать ошибки, и плата начинает работать, но только одна - последняя добавленная.
В принципе, для моих целей этого достаточно.