logisim-evolution / logisim-evolution

Digital logic design tool and simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add a writable EEPROM with persistent data capability

MazinCE opened this issue · comments

I would like to request the addition of a writable EEPROM element with the capability to store data persistently. It should allow the information to be readable even after the software is closed.

PRs in this direction are welcome! However, first the requirements should be more precisely defined, and it should be checked whether they are not already (at least partially) fulfilled by the RAM or ROM component. The RAM component already has the attribute "Ram type" allowing to choose between "volatile" and "non volatile". It also offers in its context menu the possibility load/store an image. Maybe this already fulfils most of your needs?

Hello maehne,

I usually work with RAM and haven't had much with ROMs. Would it be possible to include a write option for ROM elements?

Would it be possible to include a write option for ROM elements?

No, by definition ROM is Read-Only Memory. Therefore, it would be confusing.

Nevertheless, what is the motivation for your initial enhancement request? Describing your use case would help to understand better what is needed. In any case, we want to have component models, which behave as common digital building blocks.

I want to use it as a storage device for a project I'm currently working on.

The RAM component already has the attribute "Ram type" allowing to choose between "volatile" and "non volatile". It also offers in its context menu the possibility load/store an image. Maybe this already fulfils most of your needs?

Actually, if you save data to a "Non-volatile" RAM, close the program, and then open it again, the data is not preserved, and though you can save the state of the memory to restore it later, it's quite tedious to do it every time you open / close the program. The memory he's asking for should save an image of itself automaticlally.
I hope this helps to clarify why an EEPROM would be useful.

@Quantodeluz: Thanks for suggesting a reasonable behaviour. Maybe the NVRAM content could be stored as part of the CIRC file so that it can be explicitly saved/discarded using the standard save dialog for Logisim schematics. PRs in this direction are welcome.