nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Apr 2024 13:44



Reply to topic  [ 379 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16, 17 ... 26  Next
SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра) 
Author Message
Writer

Joined: 26 Feb 2023 11:02
Posts: 18
Reply with quote
Тревога!!! используется переводчик.

fifan wrote:
Я понял автора. Но зачем убирать из работы пин OSC2? Он же в режиме EC работает как обычный вход/выход. А режим вывода уменьшенной частоты в 4 раза тоже выпадает из симуляции?

FizikS, всё же передайте автору, что данные два условия очень необходимы для работы. Работа пина OSC2 (в моём случае A6) должна быть правильной в зависимости от режима синхронизации. Простой пример. Есть такой компьютер Сябр. В нём функция вывода частоты в 4 раза меньшей наружу очень важна. Правда там применяется Atmega48/88/168.

Привет fifan.

Модуль генератора и все его режимы управляются (в основном) конфигурационным словом.
Слово конфигурации еще не реализовано, поэтому большинство функций, управляемых им, не реализованы в simulide 1.0.0.
В большинстве случаев эти функциональные возможности не имеют отношения к моделированию, поэтому их реализация имеет низкий приоритет.

Для решения некоторых из этих функций есть свойства Конфигурация.
Но они являются общими и не включают спецификации для каждого устройства:

- Включить вывод Сброс: Когда контакт ввода-вывода используется для сброса.
- Внешний тактовый генератор: он просто отключает выводы генератора, указывая на то, что они не являются допустимыми выводами ввода-вывода.
- Включить WatchDog: эквивалентно включению Watchdog из слова конфигурации.

Конкретные случаи для каждого режима каждого модуля каждого устройства, управляемого конфигурационным словом, пока не реализованы.

Я понимаю, что вывод clock/4 на OSC2 может быть полезен в некоторых случаях, но не в большинстве случаев.
И это зависит от реализации всей структуры для слова конфигурации, это не то, что может быть реализовано только для одного случая.


26 Feb 2023 11:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
arcachofo wrote:
Тревога!!! используется переводчик.

Я не очень понял этот возглас... :-? но вроде как посетитель пишет всё по делу?

_________________
iLavr


26 Feb 2023 13:53
Profile
Online
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 199
Location: г. Клинцы, Брянская обл.
Reply with quote
Lavr wrote:
arcachofo wrote:
Тревога!!! используется переводчик.

Я не очень понял этот возглас... :-? но вроде как посетитель пишет всё по делу?


Наш форум посетил сам автор программы SimulIDE! Так как он не русскоязычный, то воспользовался переводчиком.
Надеюсь что это будет не последнее сообщение от автора программы.


26 Feb 2023 13:59
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
Не прошло и трёх лет :mrgreen:

Shaos wrote:
Что прямо таки сам Santiago González к нам пожаловал? ;)


Кстати официальные исходники таки имеются, причём под GPL v3:

https://sourceforge.net/p/simulide/svnrepo/HEAD/tree/trunk/ (2019)

https://bazaar.launchpad.net/~arcachofo/simulide/trunk/files (2023)

https://launchpad.net/simulide/0.4.15/0.4.15-stable/+download/simulide_0.4.15-SR10_Sources.zip

Автору сильно не достаёт публичного git-repo, куда люди могли бы засылать свои pull-requests ;)

P.S. Хотя наверное bazaar выполняет по сути те же функции как и git, хоть и не развивается с 2016 года: https://en.wikipedia.org/wiki/GNU_Bazaar

_________________
:dj: https://mastodon.social/@Shaos


26 Feb 2023 16:54
Profile WWW
Writer

Joined: 26 Feb 2023 11:02
Posts: 18
Reply with quote
@FizikS: Спасибо за теплый прием.

Lavr wrote:
Я не очень понял этот возглас...
Вот с переводчиками беда...
И это именно то, что означает это выражение.

Shaos wrote:
автору сильно не достаёт публичного git-repo, куда люди могли бы засылать свои pull-requests ;)
Это не git-repo, это bazaar-repo, и найти его не так сложно :wink:



Я покинул Sourceforge по нескольким причинам, но в основном из-за того, что он блокировал некоторые страны, такие как Куба, а также из-за того, что он часто терпел неудачу.
Извините, но git-Microsoft не мой лучший друг.
С Gitlab у меня были некоторые проблемы, я зарегистрировался, чтобы получить доступ к проекту друга, и это был не очень приятный опыт.
Итак, наконец, я пошел в Launchpad.

В любом случае, вам не нужны pull-requests, чтобы внести свой вклад.
Многие пользователи внесли свой вклад, и лишь немногие использовали pull-requests.


26 Feb 2023 18:30
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
arcachofo wrote:
Lavr wrote:
Я не очень понял этот возглас...
Вот с переводчиками беда...
И это именно то, что означает это выражение.
Наверное правильнее было бы написать ВНИМАНИЕ!!! используется переводчик.
Слово "тревога" используется в русском языке в несколько ином смысле.
Но в любом случае - WELCOME :exclaim:
Кстати можно англоязычную тему тоже сделать ;)
Вот тут: http://www.nedopc.org/forum/viewforum.php?f=62
(испаноязычных форумов к сожалению у нас пока нет)

arcachofo wrote:
Это не git-repo, это bazaar-repo, и найти его не так сложно :wink:
Уже нашёл - спасибо :oops:

_________________
:dj: https://mastodon.social/@Shaos


26 Feb 2023 18:43
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
FizikS wrote:
Версия SimulIDE_0.4.15_SR10 уже сдана в архив. Исправляются только критические ошибки. Никаких обновлений не предусмотрено.
Приведенный пример показывает ограничения программы (а их достаточно много).
В последней, доступной версии программы (SimulIDE 1.0.0-RC3) многие ограничения сняты...

В исходниках я вижу 4 ветки:

Attachment:
Screenshot from 2023-02-26 19-06-45.png
Screenshot from 2023-02-26 19-06-45.png [ 62.06 KiB | Viewed 1838 times ]
https://code.launchpad.net/~arcachofo/simulide/

И они все одновременно развиваются?...


Attachments:
Screenshot from 2023-02-26 19-23-12.png
Screenshot from 2023-02-26 19-23-12.png [ 11.21 KiB | Viewed 1829 times ]

_________________
:dj: https://mastodon.social/@Shaos
26 Feb 2023 20:09
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
Почему-то бранч для 0.4.15 называется simulide_0.4.14 - я его скачал и собрал в Debian GNU/Linux 10.13 вот по таким шагам:
Code:
bzr checkout https://code.launchpad.net/~arcachofo/simulide/simulide_0.4.14
cd simulide_0.4.14/build_XX
qmake
make
правда до qmake я дополнил RELEASE в SimulIDE.pro суффиксом +Shaos :mrgreen:

Attachment:
Screenshot from 2023-02-26 20-27-05.png
Screenshot from 2023-02-26 20-27-05.png [ 147.11 KiB | Viewed 1818 times ]
это чтобы отличать эту сборку из bzr-repo от официальной SR10 т.к. в репе 0.4.15 уже были кое-какие изменения:
Code:
------------------------------------------------------------
revno: 289
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Fri 2022-12-30 02:37:20 +0000
message:
  SimulIDE.pro: get date in all platforms.
------------------------------------------------------------
revno: 288
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Fri 2022-12-16 17:13:08 +0000
message:
  WS2812: Initialization error.
------------------------------------------------------------
revno: 287
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Sat 2022-12-10 05:51:30 +0000
message:
  Package: Errors while Undo/Redo:
  - Make boardMode at Circuit level.
  - Switch boardMode in read/write operations.
------------------------------------------------------------
revno: 286
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Mon 2022-11-07 20:37:35 +0000
message:
  Cleaning and minor issues.
------------------------------------------------------------
revno: 285
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Mon 2022-11-07 20:27:11 +0000
message:
  Arduino: error uploading hex file in AppImage.
------------------------------------------------------------
revno: 284
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Wed 2022-08-31 10:59:52 +0100
message:
  Zener Diode not working.
------------------------------------------------------------
revno: 283
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Tue 2022-08-02 15:30:58 +0100
message:
  Oscope blocks simulation (reupload SR10).
------------------------------------------------------------
revno: 282
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Tue 2022-08-02 13:43:40 +0100
message:
  Oscope: Filter not applied to channels > 1.
------------------------------------------------------------
revno: 281
committer: arcachofo <arcachofo@simulide.com>
branch nick: simulide_0.4.14
timestamp: Fri 2022-07-29 16:56:13 +0100
message:
  SR10
------------------------------------------------------------

_________________
:dj: https://mastodon.social/@Shaos


26 Feb 2023 21:28
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
Уррра - заработало :)


Attachments:
Screenshot from 2023-02-26 20-37-18.png
Screenshot from 2023-02-26 20-37-18.png [ 93.71 KiB | Viewed 1811 times ]

_________________
:dj: https://mastodon.social/@Shaos
26 Feb 2023 21:39
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
FizikS wrote:
Версия SimulIDE_0.4.15_SR10 уже сдана в архив. Исправляются только критические ошибки. Никаких обновлений не предусмотрено.
Приведенный пример показывает ограничения программы (а их достаточно много).
В последней, доступной версии программы (SimulIDE 1.0.0-RC3) многие ограничения сняты. Появилось много возможностей (в тестовых сборках возможностей еще больше).
Микроконтроллеров стало меньше из-за того, что симулятор МК переписан полностью с нуля (ранее применялись свободные симуляторы для AVR и PIC).

Значит ли это, что надо придерживаться версии 0.4.15 пока в новой не допишут все те же процы на новом движке?
Кстати при наличии исходников все эти "ограничения" можно "починить" :dj:

P.S. Just became a Patron :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


26 Feb 2023 21:51
Profile WWW
Online
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 199
Location: г. Клинцы, Брянская обл.
Reply with quote
Shaos wrote:
FizikS wrote:
Версия SimulIDE_0.4.15_SR10 уже сдана в архив. Исправляются только критические ошибки. Никаких обновлений не предусмотрено.
Приведенный пример показывает ограничения программы (а их достаточно много).
В последней, доступной версии программы (SimulIDE 1.0.0-RC3) многие ограничения сняты. Появилось много возможностей (в тестовых сборках возможностей еще больше).
Микроконтроллеров стало меньше из-за того, что симулятор МК переписан полностью с нуля (ранее применялись свободные симуляторы для AVR и PIC).

Значит ли это, что надо придерживаться версии 0.4.15 пока в новой не допишут все те же процы на новом движке?
Кстати при наличии исходников все эти "ограничения" можно "починить" :dj:

P.S. Just became a Patron :mrgreen:


Лично я придерживаюсь последней версии ( https://simulide.forumotion.com/t550-si ... ter-builds ). Во первых больше возможностей предоставляет, во вторых можно обнаружить ошибки и, тем самым, сделать программу немного лучше.

В этой версии все еще требуется тестирование и отлов возможных ошибок для новых процессоров i8051, 6502 и его периферии, Z80. Микроконтроллеры PIC так же требуют проверки, и как выяснилось благодаря сообщению finan, еще и доработки.

PS. А я уже не патрон... PayPal ушел из Росии... Обидно. Теперь только моральная поддержка программы.


27 Feb 2023 00:08
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22543
Location: Silicon Valley
Reply with quote
> PS. А я уже не патрон... PayPal ушел из Росии...

пост сдал - пост принял ;)

P.S. Может кто-то объяснить подробно в чём отличие эмуляции процов старой и новой версии? Почему решили переписать с потерей совместимости?

_________________
:dj: https://mastodon.social/@Shaos


27 Feb 2023 00:16
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
arcachofo wrote:
Lavr wrote:
Я не очень понял этот возглас...
Вот с переводчиками беда...
И это именно то, что означает это выражение.
Наверное правильнее было бы написать ВНИМАНИЕ!!! используется переводчик.
Слово "тревога" используется в русском языке в несколько ином смысле.

Мне это почему-то напомнило: ACHTUNG!!! :lol: Поэтому я и написал, что "не очень понял этот возглас..." :wink:

_________________
iLavr


27 Feb 2023 07:09
Profile
Writer

Joined: 26 Feb 2023 11:02
Posts: 18
Reply with quote
Lavr wrote:
Мне это почему-то напомнило: ACHTUNG!!! :lol: Поэтому я и написал, что "не очень понял этот возглас..." :wink:
:D :lol:
Переводчики иногда могут быть забавными.
Все хорошо, пока никто не обижается.
Неправильное толкование может стать проблемой при переводе.


Shaos wrote:
> PS. А я уже не патрон... PayPal ушел из Росии...

пост сдал - пост принял ;)

P.S. Может кто-то объяснить подробно в чём отличие эмуляции процов старой и новой версии? Почему решили переписать с потерей совместимости?
Во-первых: большое спасибо за вашу поддержку!


Потеря совместимости не велика.
Но есть несколько причин, чтобы сделать некоторые глубокие изменения.
Я постараюсь сделать краткое объяснение наиболее важных моментов:

Ограничения, относящиеся к движку моделирования:


- 0.x.x: симуляция на основе "тикания часов":
Это подход, используемый большинством симуляторов.
Схема обновляется через определенные промежутки времени. Например, каждый 1 нас.
Это означает, что за время 1,5 мкс ничего не может произойти.

Вы можете уменьшить шаг по времени настолько, насколько хотите, но тогда количество шагов увеличивается, замедляя скорость моделирования.
Если вы хотите разрешение 1 пс, то вы должны запустить симуляцию с временным шагом 1 пс. это 1e12 шагов в секунду.
Вы представляете, насколько медленным может быть моделирование?

Это имеет много последствий, например, вы не можете запустить тактовый сигнал с периодом = 1,482 мкс, используя временной шаг 1 мкс.

- 1.x.x: симуляция на основе "событий":
Я не знаю ни одного симулятора схемы, использующего этот подход (но может быть и есть).
Элементы схемы сообщают механизму моделирования, что они хотят что-то сделать в определенное время с разрешением ps.
Например, логический вентиль может зарегистрировать «событие» по адресу: текущее_время + 10421 пс.

Это означает, что схема обновляется только тогда, когда «что-то происходит».
Вы можете запустить тактовый сигнал с точным периодом = 1,000000001 мс, и он будет обновляться только 1000 раз в секунду: быстрая симуляция.


Ограничения, относящиеся к моделированию микроконтроллера:

- 0.x.x: использует внешние симуляторы: Gpsim для PIC и Simavr для AVR.
Эти тренажеры не предназначены для интеграции в другую программу.
Взаимодействие с этими программами сложное и требует множества хаков:

Simavr: написан на C, а не на C++. Он использует своего рода систему связи сигнал-слот, так что почти невозможно понять, что происходит. Найти проблему - это кошмар. Найти место для взаимодействия с ним — кошмар.

Gpsim: довольно сложный, иерархия классов глубокая, он использует классы для всего, даже для сохранения тактовой частоты есть класс. Каждая инструкция — это класс. Каждый регистр — это класс. Функциональность не основана на модулях, она реализована в классах регистров. и т.д. и т.п... Поиск проблемы - это кошмар. Найти место для интерфейса с ним — кошмар.

И Gpsim, и Simavr хранят информацию об устройствах в исходном коде:
Если есть ошибка, например, в регистрационном имени или адресе, вам необходимо исправить ее и перекомпилировать (не удобно для пользователя).
Размер исполняемого файла значительно увеличивается, когда у вас много устройств (не поддерживает кеширование).
Simulide 1.0.0 использует файлы xml для хранения информации об устройствах:
Пользователи могут исправить проблемы.
Пользователи могут модифицировать, добавлять новые устройства или создавать собственные версии некоторых устройств для определенных целей.
Меньший исполняемый файл.

Gpsim — это более 100 тысяч строк кода (с графическим интерфейсом).
Simavr — это около 50 тысяч строк кода (без графического интерфейса).

SimulIDE 1.0.0 состоит примерно из 55 тысяч строк кода. С:
PIC, AVR, 8051 и около 100 компонентов (примитивов), включая некоторые сложные, такие как осциллограф и логический анализатор.
Редактор/компилятор/отладчик.
Система для подсхем, плат и экранов.
Симулятор цепи.
графический интерфейс


Ограничения, относящиеся к системе собственности:

- 0.x.x: использует QProperty.
Это имеет много ограничений, поэтому была необходима пользовательская система свойств.
Это приводит к новому формату файлов для файлов схемы (от .simu до .sim1).
Новый формат файла имеет некоторые преимущества, например, он намного быстрее загружается (заметно на больших цепях).

На всякий случай вот текст на английском:
Quote:
First: thank you very much for your support!!


There is not much loss of compatibility.
But there are several reasons to do some deep changes.
I will try to do a brief explanation of the most relevant points:

Limitations referred to the simulation engine:


- 0.x.x: simulation based on "clock tick":
This is the approach used by most simulators.
The circuit updates at defined time steps. For example, every 1 us.
This means that nothing can happen at time 1.5 us.

You can reduce the time step as much as you want, but then the number of steps increases, slowing down the simulation speed.
If you want a resolution of 1 ps, then you must run the simulation at 1 ps time step. this is 1e12 steps per second.
Can you imagine how slow the simulation can be?

This has a lot of consequences, for example you can't run a clock signal with a period = 1.482 us using a time step of 1 us.

- 1.x.x: simulation based on "events":
I don't know about any circuit simulator using this approach (but could be some out there).
Elements in the circuit tell the simulation engine that they want to do something at a certain time with ps resolution.
For example a logic gate can register an "event" at: current_time + 10421 ps.

This means that the circuit is updated only when "something happens".
You can run a clock signal with an exact period = 1.000000001 ms, and it will update only 1000 times per second: fast simulation.


Limitations referred to the Microcontroller simulation:

- 0.x.x: uses external simulators: Gpsim for PIC and Simavr for AVR.
These simulators are not designed to be integrated in another program.
Interfacing with these programs is complex and requires lots of hacks:

Simavr: is written in C, not C++. It uses a kind of signal-slot communicaton system, so it's almost impossible to know what is happening. Finding a problem is a nightmare. Finding a place to interface with it is a nightmare.

Gpsim: is quite complex, class hierarchies are deep, it uses classes for everything, even to keep the clock frequency there is a class. Every instruction is a class. Every register is a class. Functionality is not based in modules, it is implemented in the register classes. etc. etc... Finding a problem is a nightmare. Finding a place to interface to it is a nightmare.

Both, Gpsim and Simavr store information about devices in the source code:
If there is an error, for example in a register name or address, you need to fix it and recompile (not user friendly).
The executable size increases a lot when you have many devices (not cache friendly).
Simulide 1.0.0 uses xml files to store information about devices:
Users can fix problems.
Users can modify, add new devices or create their own versions of some device for specific purposes.
Smaller executable.

Gpsim is more than 100k lines of code (with GUI).
Simavr is around 50k lines of code (no GUI).

SimulIDE 1.0.0 is around 55k lines of code. With:
PIC, AVR, 8051 and around 100 components (primitives), including some complex ones like Oscilloscope and Logic Analyzer.
Editor/Compiler/Debugger.
System for Subcircuits, Boards and Shields.
Circuit simulator.
GUI.


Limitations referred to the property system:

- 0.x.x: uses QProperty.
This has many limitations, so a custom property system was needed.
This leads to a new file format for circuit files (.simu to .sim1)
The new file format has some advantages, for example it is much faster to load (noticeable in big circuits).


27 Feb 2023 08:29
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
FizikS wrote:
Наш форум посетил сам автор программы SimulIDE! Так как он не русскоязычный, то воспользовался переводчиком...

А Вы тогда, выходит, что кто-то из этого списка, если я всё правильно понимаю? :roll:
Attachment:
Dev.PNG
Dev.PNG [ 16.73 KiB | Viewed 1687 times ]

_________________
iLavr


27 Feb 2023 09:34
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 379 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16, 17 ... 26  Next

Who is online

Users browsing this forum: No registered users and 54 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.