SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

Post Reply
User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

Спасибо. Возможно это косяк Windows. Проверю на других компьютерах.

Могу предложить для тестирования модельку 74181 (155ИП3), которая работает значительно быстрее (отнимает при симуляции меньше ресурсов процессора). Она сделана внутри в виде ПЗУ а не в виде схемы на лог. элементах. Так же можно приведенную выше схему "свернуть" в ПЗУ. Это освободит место для других элементов.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

FizikS wrote: 10 Jan 2025 20:25 Могу предложить для тестирования модельку 74181 (155ИП3)
Спасибо, пригодится. Вот только тестирование, боюсь что будет еще очень нескоро.
User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

Вот модель АЛУ.
Результаты моего тестирования. Как видно прирост скорости симуляции двухкратный. Конечно, полный тест может дать другие результаты, но и этот впечатляет...

181 стандарт.PNG
181 стандарт.PNG (80.82 KiB) Viewed 1134 times

181 ПЗУ.PNG
181 ПЗУ.PNG (76.39 KiB) Viewed 1134 times

Attachments

74HC181.zip
(9.34 KiB) Downloaded 23 times

kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Обнаружился баг. Отмечен на изображении слева. Если удалить файл M155.package, то проблема пропадает (на изображении справа). Как будто бы часть информации берется оттуда. Потерю позиционирования я и раньше замечал. Но с лишним выводом надо что-то делать.
Attachments

M155.zip
(7.12 KiB) Downloaded 24 times

Снимок экрана от 2025-01-12 13-10-07.png
Снимок экрана от 2025-01-12 13-10-07.png (46.4 KiB) Viewed 1131 times

User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

Это не баг. Это фича....
Точнее это баг, но не программы а пользователя программы (банальная невнимательность)
Если внимательно посмотреть на лишний контакт, то можно увидеть желтую надпись около него.

M155-1.PNG
M155-1.PNG (45.03 KiB) Viewed 1122 times

Это значит, то в этом контакте на одном из корпусов есть ошибка. Открываем на редактирование контакт на DIP корпусе и видим ошибку (см. скриншоты).

M155-2.PNG
M155-2.PNG (30.38 KiB) Viewed 1122 times

Исправляем ее и обнаруживаем исчезновение лишнего контакта в рабочем режиме.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Да, модель сырая. Я ее переделал уже. Я ее выложил только потому, что счел такое поведение программы ненормальным. Но раз так и должно быть, буду знать.
Однако, факт того, что информация о положении надписей берется не оттуда, откуда надо, все равно имеет место быть.
User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

Еще один момент, который необходимо учитывать: если в микросхеме несколько контактов не используется, то их ID должны отличаться, например NC1, NC2, NC3, ... Отображаемые имена могут быть одинаковые.
User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

Несколько месяцев назад обнаружил в репозиториях Altlinux пакеты для установки SimulIde 1.0.0. На днях установил на виртуалку Simply Linux 10.4. Установил SimulIDE из официального репозитория при помощи Центра приложений. После запуска программы обнаружил, что установилась более свежая версия: SimulIDE 1.1.0.

AltSim.PNG
AltSim.PNG (132.58 KiB) Viewed 1064 times

Замечу, что через Synaptic доступно для установки только устаревшая версия 1.0.0.

Так же через Центр приложений доступны симуляторы Logisim, Quсs, трассировщик плат KiCad и некоторые другие программы в помощь радиолюбителям.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Не получается создать плату.
При добавлении компонента сыпет ошибки

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
Снимок экрана от 2025-01-14 23-16-12.png (23.1 KiB) Viewed 1060 times

User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

В плату нельзя добавлять подсхемы (модели микросхем). Можно только логические элементы, коннекторы, кнопки, индикацию. Т.е. только исходные простые примитивы. Можно глянуть внутреннее устройство плат в категории "Инструменты".
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Делал вот по этому видео: https://www.youtube.com/watch?v=zqtnxyeesVM
Там lcd дисплей и atmega328 с прошивкой, помимо простых примитивов.
Попробую версию 0.4.15
User avatar
FizikS
Maniac
Posts: 262
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by FizikS »

LCD дисплей и микроконтроллер - это примитивы, в отличие от моделей логических микросхем. Поэтому там нет ошибок в создании платы.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Должен быть способ.
Обнаружил следующую вещь:

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 
И если создать такую папку с файлами 1@74HC155.sim1, 1@74HC155.package, 1@74HC155_LS.package, то плата начинает работать.
Но если добавить еще одну, то она уже не работает, требует 2@74HC155.
Что-то мне подсказывает, что это либо баг, либо есть какой-то недокументированный момент.
Буду разбираться.

PS: быть может, есть способ оформить модели микросхем в виде примитивов? Как-то это неправильно - атмегу воткнуть можно, а банальную HC595 - нельзя.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

kalmar wrote: 07 Jan 2025 15:13 Типы корпуса "Плата", "Шилд", "Модуль" чем различаются?
Сам спрашивал, сам отвечаю.
Есть что-то типа уровней иерархии - что во что вставляется. У платы он всегда 1. А у модуля можно его задать - не меньше 2.
Модуль может быть вставлен в плату или в другой модуль с меньшим уровнем.
kalmar
Novelist
Posts: 32
Joined: 08 Dec 2024 20:47

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра)

Post by kalmar »

Нашел два решения вышеупомянутой проблемы.
FizikS wrote: 14 Jan 2025 20:40 В плату нельзя добавлять подсхемы (модели микросхем).
Выяснилось, что такой функционал в какой-то мере реализован, но прямо запрещен в коде. Вот здесь:

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, то перестают сыпать ошибки, и плата начинает работать, но только одна - последняя добавленная.
В принципе, для моих целей этого достаточно.
Post Reply