digsim-logic-simulator 0.22.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- digsim/__init__.py +6 -0
- digsim/app/__main__.py +12 -0
- digsim/app/cli.py +68 -0
- digsim/app/gui/__init__.py +6 -0
- digsim/app/gui/_circuit_area.py +468 -0
- digsim/app/gui/_component_selection.py +154 -0
- digsim/app/gui/_main_window.py +163 -0
- digsim/app/gui/_top_bar.py +339 -0
- digsim/app/gui/_utils.py +26 -0
- digsim/app/gui/_warning_dialog.py +46 -0
- digsim/app/gui_objects/__init__.py +7 -0
- digsim/app/gui_objects/_bus_bit_object.py +94 -0
- digsim/app/gui_objects/_buzzer_object.py +97 -0
- digsim/app/gui_objects/_component_context_menu.py +79 -0
- digsim/app/gui_objects/_component_object.py +374 -0
- digsim/app/gui_objects/_component_port_item.py +63 -0
- digsim/app/gui_objects/_dip_switch_object.py +104 -0
- digsim/app/gui_objects/_gui_note_object.py +80 -0
- digsim/app/gui_objects/_gui_object_factory.py +80 -0
- digsim/app/gui_objects/_hexdigit_object.py +53 -0
- digsim/app/gui_objects/_image_objects.py +239 -0
- digsim/app/gui_objects/_label_object.py +97 -0
- digsim/app/gui_objects/_logic_analyzer_object.py +86 -0
- digsim/app/gui_objects/_seven_segment_object.py +131 -0
- digsim/app/gui_objects/_shortcut_objects.py +82 -0
- digsim/app/gui_objects/_yosys_object.py +32 -0
- digsim/app/gui_objects/images/AND.png +0 -0
- digsim/app/gui_objects/images/Analyzer.png +0 -0
- digsim/app/gui_objects/images/BUF.png +0 -0
- digsim/app/gui_objects/images/Buzzer.png +0 -0
- digsim/app/gui_objects/images/Clock.png +0 -0
- digsim/app/gui_objects/images/DFF.png +0 -0
- digsim/app/gui_objects/images/DIP_SWITCH.png +0 -0
- digsim/app/gui_objects/images/FlipFlop.png +0 -0
- digsim/app/gui_objects/images/IC.png +0 -0
- digsim/app/gui_objects/images/LED_OFF.png +0 -0
- digsim/app/gui_objects/images/LED_ON.png +0 -0
- digsim/app/gui_objects/images/MUX.png +0 -0
- digsim/app/gui_objects/images/NAND.png +0 -0
- digsim/app/gui_objects/images/NOR.png +0 -0
- digsim/app/gui_objects/images/NOT.png +0 -0
- digsim/app/gui_objects/images/ONE.png +0 -0
- digsim/app/gui_objects/images/OR.png +0 -0
- digsim/app/gui_objects/images/PB.png +0 -0
- digsim/app/gui_objects/images/Switch_OFF.png +0 -0
- digsim/app/gui_objects/images/Switch_ON.png +0 -0
- digsim/app/gui_objects/images/XNOR.png +0 -0
- digsim/app/gui_objects/images/XOR.png +0 -0
- digsim/app/gui_objects/images/YOSYS.png +0 -0
- digsim/app/gui_objects/images/ZERO.png +0 -0
- digsim/app/images/app_icon.png +0 -0
- digsim/app/model/__init__.py +6 -0
- digsim/app/model/_model.py +210 -0
- digsim/app/model/_model_components.py +162 -0
- digsim/app/model/_model_new_wire.py +57 -0
- digsim/app/model/_model_objects.py +155 -0
- digsim/app/model/_model_settings.py +35 -0
- digsim/app/model/_model_shortcuts.py +72 -0
- digsim/app/settings/__init__.py +8 -0
- digsim/app/settings/_component_settings.py +415 -0
- digsim/app/settings/_gui_settings.py +71 -0
- digsim/app/settings/_shortcut_dialog.py +39 -0
- digsim/circuit/__init__.py +7 -0
- digsim/circuit/_circuit.py +329 -0
- digsim/circuit/_waves_writer.py +61 -0
- digsim/circuit/components/__init__.py +26 -0
- digsim/circuit/components/_bus_bits.py +68 -0
- digsim/circuit/components/_button.py +44 -0
- digsim/circuit/components/_buzzer.py +45 -0
- digsim/circuit/components/_clock.py +54 -0
- digsim/circuit/components/_dip_switch.py +73 -0
- digsim/circuit/components/_flip_flops.py +99 -0
- digsim/circuit/components/_gates.py +246 -0
- digsim/circuit/components/_hexdigit.py +82 -0
- digsim/circuit/components/_ic.py +36 -0
- digsim/circuit/components/_label_wire.py +167 -0
- digsim/circuit/components/_led.py +18 -0
- digsim/circuit/components/_logic_analyzer.py +60 -0
- digsim/circuit/components/_mem64kbyte.py +42 -0
- digsim/circuit/components/_memstdout.py +37 -0
- digsim/circuit/components/_note.py +25 -0
- digsim/circuit/components/_on_off_switch.py +54 -0
- digsim/circuit/components/_seven_segment.py +28 -0
- digsim/circuit/components/_static_level.py +28 -0
- digsim/circuit/components/_static_value.py +44 -0
- digsim/circuit/components/_yosys_atoms.py +1353 -0
- digsim/circuit/components/_yosys_component.py +232 -0
- digsim/circuit/components/atoms/__init__.py +23 -0
- digsim/circuit/components/atoms/_component.py +280 -0
- digsim/circuit/components/atoms/_digsim_exception.py +8 -0
- digsim/circuit/components/atoms/_port.py +398 -0
- digsim/circuit/components/ic/74162.json +1331 -0
- digsim/circuit/components/ic/7448.json +834 -0
- digsim/storage_model/__init__.py +7 -0
- digsim/storage_model/_app.py +58 -0
- digsim/storage_model/_circuit.py +126 -0
- digsim/synth/__init__.py +6 -0
- digsim/synth/__main__.py +67 -0
- digsim/synth/_synthesis.py +156 -0
- digsim/utils/__init__.py +6 -0
- digsim/utils/_yosys_netlist.py +134 -0
- digsim_logic_simulator-0.22.0.dist-info/METADATA +140 -0
- digsim_logic_simulator-0.22.0.dist-info/RECORD +107 -0
- digsim_logic_simulator-0.22.0.dist-info/WHEEL +5 -0
- digsim_logic_simulator-0.22.0.dist-info/entry_points.txt +2 -0
- digsim_logic_simulator-0.22.0.dist-info/licenses/LICENSE.md +32 -0
- digsim_logic_simulator-0.22.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: digsim-logic-simulator
|
|
3
|
+
Version: 0.22.0
|
|
4
|
+
Summary: Interactive Digital Logic Simulator
|
|
5
|
+
Author-email: Fredrik Andersson <freand@gmail.com>
|
|
6
|
+
Maintainer-email: Fredrik Andersson <freand@gmail.com>
|
|
7
|
+
Project-URL: homepage, https://github.com/freand76/digsim
|
|
8
|
+
Keywords: educational,simulation,digital
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE.md
|
|
20
|
+
Requires-Dist: pyvcd==0.4.1
|
|
21
|
+
Requires-Dist: pyside6==6.10.1
|
|
22
|
+
Requires-Dist: pexpect==4.9.0
|
|
23
|
+
Requires-Dist: pydantic==2.12.5
|
|
24
|
+
Requires-Dist: qtawesome==1.4.0
|
|
25
|
+
Requires-Dist: yowasp-yosys==0.60.0.0.post1055
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
|
|
28
|
+
# DigSim - Interactive Digital Logic Simulator
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+

|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
<p align="center">
|
|
35
|
+
<img alt="The DigSim Application" src="https://raw.githubusercontent.com/freand76/digsim/af1bf95eb16d1af19f26159a4c1e1b88565703d7/docs/images/screenshot_digsim_app.png" width=85%>
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
## Introduction
|
|
39
|
+
|
|
40
|
+
DigSim is a python based framework for digital circuit simulation.
|
|
41
|
+
The main purpose of the software is to, in an educational way, play around with digital logic (simple gates and verilog designs).
|
|
42
|
+
|
|
43
|
+
When working with block design in Verilog/VHDL the simulation tools are normally fed with test stimuli (a very non-interactive way of working...)
|
|
44
|
+
A block design can be synthesized and tested on an FPGA (where there are possibilities for interactivity if buttons and LED/Hex digits are available),
|
|
45
|
+
but that often has a great cost in time (and sometimes money) leading to long turnaround time.
|
|
46
|
+
|
|
47
|
+
I started developing DigSim to make it easy to implement and visualize the functionality of simple verlog modules.
|
|
48
|
+
During development I tried to synthesize larger verilog designs, such as the classic [6502 CPU](https://en.wikipedia.org/wiki/MOS_Technology_6502),
|
|
49
|
+
and even if it is slower than many other simulators it is not entirely useless.
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
* Create and simulate a circuit using python code
|
|
53
|
+
* Create and simulate a circuit **interactively** using the GUI
|
|
54
|
+
* Create new components using synthesized verilog code
|
|
55
|
+
* Save simulation results in VCD files, which can be opened in for example GTKWave.
|
|
56
|
+
|
|
57
|
+
## Quickstart
|
|
58
|
+
|
|
59
|
+
### Install from PyPi (Option 1)
|
|
60
|
+
```
|
|
61
|
+
pip3 install digsim-logic-simulator
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Install from GitHub (Option 2)
|
|
65
|
+
```
|
|
66
|
+
> git clone https://github.com/freand76/digsim.git
|
|
67
|
+
> cd digsim
|
|
68
|
+
> python3 -m pip install .
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Start Interactive GUI
|
|
72
|
+
|
|
73
|
+
**Prerequisites:** Install by using *Option 1* or *Option 2* above.
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
> python3 -m digsim.app
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
or
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
> digsim-logic-simulator
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Start using uv
|
|
86
|
+
|
|
87
|
+
**Prerequisites:** Download and install [uv](https://docs.astral.sh/uv/)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
> uvx digsim-logic-simulator
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Note: Ubuntu**
|
|
94
|
+
|
|
95
|
+
If your Ubuntu installation gives the folloing error message:
|
|
96
|
+
|
|
97
|
+
*qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.*
|
|
98
|
+
*This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.*
|
|
99
|
+
|
|
100
|
+
*Available platform plugins are: vnc, wayland, wayland-egl, eglfs, offscreen, xcb, minimal, linuxfb, vkkhrdisplay, minimalegl.*
|
|
101
|
+
|
|
102
|
+
Then the following package must be installed:
|
|
103
|
+
```
|
|
104
|
+
> apt install libxcb-cursor0
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Start with example circuit (example circuits are available in the github repository)
|
|
108
|
+
```
|
|
109
|
+
> python3 -m digsim.app --load example_circuits/counter_yosys_netlist.circuit
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Run example (examples are available in the github repository)
|
|
113
|
+
```
|
|
114
|
+
> python3 examples/example_sr.py
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Look at waveforms
|
|
118
|
+
```
|
|
119
|
+
> python3 examples/example_sr.py
|
|
120
|
+
> gtkwave sr.vcd
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Examples of writing pytest/python test benches for synthesized verilog code
|
|
124
|
+
```
|
|
125
|
+
> pytest examples/pytest_tb
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Yosys synthesis helper tool
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
> python3 -m digsim.synth synth -i <verilog file 1> <optional verilog file 2> -o <output_file.json> -t <verilog top_module>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Documentation
|
|
135
|
+
|
|
136
|
+
[Documentation](https://github.com/freand76/digsim/blob/main/docs/documentation.md) on GitHub
|
|
137
|
+
|
|
138
|
+
## Star History
|
|
139
|
+
|
|
140
|
+
[](https://star-history.com/#freand76/digsim&Date)
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
digsim/__init__.py,sha256=cPP3o3Poil_rxQh3syOJd0MuqU4sPnudjaesG18GF8E,154
|
|
2
|
+
digsim/app/__main__.py,sha256=zqlL-Ap_HuVp31CIVsjBKqZjpZTM_BIRb9PHqy4Id_o,209
|
|
3
|
+
digsim/app/cli.py,sha256=j1J-nhmuAR5RCQUphEftyhPfYU3GtnQrM7gIRUTBY94,1903
|
|
4
|
+
digsim/app/gui/__init__.py,sha256=jLV8w5SIh4PadWA3UDnLk2strI3_xEIfQEt5Sb62YUc,170
|
|
5
|
+
digsim/app/gui/_circuit_area.py,sha256=zwQ2tVujriY2DdQI4Jy7anebh0Ul5od99HDDphZQTdo,16590
|
|
6
|
+
digsim/app/gui/_component_selection.py,sha256=LTVSA3xd85jqULn6GfrBnmfDeP_iYlj4_UjKUd_4FHQ,6590
|
|
7
|
+
digsim/app/gui/_main_window.py,sha256=2IIlcU8Dj_zGA2joHq525AcUe74Wv7oCDHekmZ_-n7M,5430
|
|
8
|
+
digsim/app/gui/_top_bar.py,sha256=JSP-aF5oFZ-1uHA5SNyRThpHLs9YVnTPA65h2EhxCN4,13067
|
|
9
|
+
digsim/app/gui/_utils.py,sha256=GMPIucfMQhXGwX91CGmeoRpxS8qwOfDLUI76fPJWk0I,665
|
|
10
|
+
digsim/app/gui/_warning_dialog.py,sha256=N9G2wyQTyiqMnTtbExMzHgdbCBA0epfhNWY4GVF6xH8,1496
|
|
11
|
+
digsim/app/gui_objects/__init__.py,sha256=VYR64j5VX8yavCXoPGtPMS4mJpJR6NSRxvXPuSdxFX0,248
|
|
12
|
+
digsim/app/gui_objects/_bus_bit_object.py,sha256=qKZg1SLds9LNq3DUTR7dtM_3gosrfhENopKd0gpqTMY,3059
|
|
13
|
+
digsim/app/gui_objects/_buzzer_object.py,sha256=f-Kgrf5r5iUZMHXy2kmzxDDA0ROMPAPNJbguMSrdEu4,3294
|
|
14
|
+
digsim/app/gui_objects/_component_context_menu.py,sha256=pPhvNYO5lR6J61_NKJt5HPBRiypSuMAIcbcWoZU4DIA,2824
|
|
15
|
+
digsim/app/gui_objects/_component_object.py,sha256=ntD34AEqaJovzDYMrlxOrdyjqprPU_urWUbznnBQNTM,13323
|
|
16
|
+
digsim/app/gui_objects/_component_port_item.py,sha256=ZbnQAX_BOTF3rxDQKKyX-wB29sHoF3QpoHv5010Cu8c,2104
|
|
17
|
+
digsim/app/gui_objects/_dip_switch_object.py,sha256=8-YJdkcg0UXxbkxmyq4Ep4ZezZOkxCw6tfQ5Yq3mOlE,3636
|
|
18
|
+
digsim/app/gui_objects/_gui_note_object.py,sha256=qPB0OBq6jxKlqH8yoV2wchDFqrJdjB3AP993hDj1Kcs,2592
|
|
19
|
+
digsim/app/gui_objects/_gui_object_factory.py,sha256=T9TeQVh-DHbOwnn2BtwI0gxnubgp0vUmT36O0b1grLk,2466
|
|
20
|
+
digsim/app/gui_objects/_hexdigit_object.py,sha256=0psnY8dMVZwGmoQeETbhgwilJOyjF8eqx2zaVwdWqVY,1935
|
|
21
|
+
digsim/app/gui_objects/_image_objects.py,sha256=WsWesxfRbGO1cSbXD7nikw7E-gx8A-af458Q52xk0dU,7677
|
|
22
|
+
digsim/app/gui_objects/_label_object.py,sha256=DrmgWW5ACJksd2P3lUUog7CRBj7RWzCkTfvhb6LQCxM,3585
|
|
23
|
+
digsim/app/gui_objects/_logic_analyzer_object.py,sha256=WK-EsthfXzfDDnGA8-wgq_7RhuKwdyQ_KWdXitov-Zk,3078
|
|
24
|
+
digsim/app/gui_objects/_seven_segment_object.py,sha256=KpCOQNmSQ5EX_WRbTACawfNo5fCZ4aWyZTcU_5yy6r0,4370
|
|
25
|
+
digsim/app/gui_objects/_shortcut_objects.py,sha256=8gKAAlv0AlBowDp726EsDBxj1KSwSJne74_bqz0jh08,2747
|
|
26
|
+
digsim/app/gui_objects/_yosys_object.py,sha256=iq8Zmw4tV_sJuULcKEu7mvvK_m19m2ymypLqCawnCyI,958
|
|
27
|
+
digsim/app/gui_objects/images/AND.png,sha256=d53gEcxIlfqmW-Q4Za3n5i_NmSEcjJqlbh8XxoSdR3o,12062
|
|
28
|
+
digsim/app/gui_objects/images/Analyzer.png,sha256=1OrkKsL6ktxKI12KzNJT7rgEi2X-jAqp6vrVuVthErY,1591
|
|
29
|
+
digsim/app/gui_objects/images/BUF.png,sha256=fd8DqEM3aht4cjoWuqsbHlTiQaFa9ddibe3iel1WYLo,12819
|
|
30
|
+
digsim/app/gui_objects/images/Buzzer.png,sha256=sdAQehr03pEpQXrm2RTqUqDpUI15WU1ohFf4fB90uvI,5856
|
|
31
|
+
digsim/app/gui_objects/images/Clock.png,sha256=NAsu1IKb2tiZ_oFs3C7t7Wzc3xzq-1PBLVm7NcT9whQ,3117
|
|
32
|
+
digsim/app/gui_objects/images/DFF.png,sha256=OalrTM4XbMouEeB0xXg8nPy3gZzMxwnvgtF149XsTl0,9038
|
|
33
|
+
digsim/app/gui_objects/images/DIP_SWITCH.png,sha256=8t2gdexuHn9Z3lUi7B7hNM71IxRMulgAn8T5TlFPqPM,16899
|
|
34
|
+
digsim/app/gui_objects/images/FlipFlop.png,sha256=PLCMrH0CBXU6jgDTPpGsgEAqmgNN3c5hvU1sjZzOU40,4452
|
|
35
|
+
digsim/app/gui_objects/images/IC.png,sha256=7YoAkD_5CrTIdmArjD_HjZyT9odAYuCwufDDpVC3Jsw,5493
|
|
36
|
+
digsim/app/gui_objects/images/LED_OFF.png,sha256=bk-X-R-l8CvdD-xat0zI5pc9S1t6j0Ewx4G_vMt1sRE,7075
|
|
37
|
+
digsim/app/gui_objects/images/LED_ON.png,sha256=YSYDNx8zjFoqEy9kuognaL8eL0acuVHV7b4ArlK_ol4,9389
|
|
38
|
+
digsim/app/gui_objects/images/MUX.png,sha256=d8Q0qUJIRCdFQbxAg_sc4MJG3F6QRTbCT4ysgkCm6DE,1912
|
|
39
|
+
digsim/app/gui_objects/images/NAND.png,sha256=W-dZPNg2Qh0M-FkA8Gbblh42EvMKtBI37IenZKDIbLE,11718
|
|
40
|
+
digsim/app/gui_objects/images/NOR.png,sha256=eFaignMSIiUPJnc8VkIQ9Yg1iF6qVjrM9sA50EGqp9g,15091
|
|
41
|
+
digsim/app/gui_objects/images/NOT.png,sha256=V1QoUHpBbEX2Tish4DIe_wImAVj-M9DL5QrNIKNo-nQ,12593
|
|
42
|
+
digsim/app/gui_objects/images/ONE.png,sha256=ftnpl7_gMTLc08k08Ka_QfnLv5H1u5AhPitZNPe_42E,1212
|
|
43
|
+
digsim/app/gui_objects/images/OR.png,sha256=54lsnUphLRwY9ioOOqAsRW0KRVTNOHZOPBKosXUTAOc,14870
|
|
44
|
+
digsim/app/gui_objects/images/PB.png,sha256=bhnhD-Ood9hSBFr-aia2iCPT_Q7VYBaEq076sqU3DBY,8468
|
|
45
|
+
digsim/app/gui_objects/images/Switch_OFF.png,sha256=ta11PvVIajT2gugj_SPK3mLn9_WaluqAK3t4aks9a-8,4752
|
|
46
|
+
digsim/app/gui_objects/images/Switch_ON.png,sha256=fVo6Vi89-Fv32SsyWcRL9N7eDwDrTe1_hX6_602BR5A,4819
|
|
47
|
+
digsim/app/gui_objects/images/XNOR.png,sha256=yoDcf5vn_OtcUnQQ3qSTLRqVTNBF_fmaGlpvXpWw_HE,14610
|
|
48
|
+
digsim/app/gui_objects/images/XOR.png,sha256=yHfL2LnWVeepTunrgUF3Z5m3dVpQ1iuNL6EGKI1TAKs,16118
|
|
49
|
+
digsim/app/gui_objects/images/YOSYS.png,sha256=etTO9jadU0amxQG7ySRjD6fME4HjrEEqXttM4XWDzxU,3117
|
|
50
|
+
digsim/app/gui_objects/images/ZERO.png,sha256=hXnZgEVO3T_zN5CiFhu6cIXr19LAu6SdvX-sIOq06E4,3459
|
|
51
|
+
digsim/app/images/app_icon.png,sha256=OfPoYA4o4Af79DTqQxSNLca0FdXRHEYteBK-xCQFEAw,16041
|
|
52
|
+
digsim/app/model/__init__.py,sha256=v7NoGYYBXUiDPwL_lDalLP0tgkIq_F5UCFUm-hVBy4U,164
|
|
53
|
+
digsim/app/model/_model.py,sha256=4bNiDWPUcppQBRsxsF_nkxe9pGuJ-NG9lBsiIb60NzM,6721
|
|
54
|
+
digsim/app/model/_model_components.py,sha256=nWIQ5Bgt61UF7pzqnBSjLW35nat_pQUIMiH-bLDHlk0,6262
|
|
55
|
+
digsim/app/model/_model_new_wire.py,sha256=cLzzM813638suuBf2BRe6rrqkyVKwLMqWBwo3bI0PYk,1873
|
|
56
|
+
digsim/app/model/_model_objects.py,sha256=b_0oTBj2S_ZHZ0FBC9Imv7eHpkOgLmuMZ-4HWrvSadY,5136
|
|
57
|
+
digsim/app/model/_model_settings.py,sha256=o6C6x5q7hKC_HgjdCJpl9FLIAL6uBV4O5Qx4E879AWI,1022
|
|
58
|
+
digsim/app/model/_model_shortcuts.py,sha256=PVQ9KJffS5CzUfH-DYCgzucHlXFy3zZAytuxI2bn2kA,2092
|
|
59
|
+
digsim/app/settings/__init__.py,sha256=MRLxBhuNUMYo-PHWo-xcoYwH_l4sU_RIWI_ONIU-qBs,313
|
|
60
|
+
digsim/app/settings/_component_settings.py,sha256=z89KfVfS5oLg6Wd6DhsFygvG6RBqRgXpyLiKl9gqOW8,16288
|
|
61
|
+
digsim/app/settings/_gui_settings.py,sha256=_Nfq8qGis--7dEgeDGgaY5xxBRALKDzn7jKfDiaSK-Q,2764
|
|
62
|
+
digsim/app/settings/_shortcut_dialog.py,sha256=SkuPoF6SlujBH7-xKT6n6jB507Fc1qRPzugFMrUDNJo,1461
|
|
63
|
+
digsim/circuit/__init__.py,sha256=mBQZEeYYYxEnWOdKcFlM_7-alC4nkEMbf55iqAVeGc0,221
|
|
64
|
+
digsim/circuit/_circuit.py,sha256=w9ha-5ymrGic5ZPkJRY_oL5ESNKwp-svjyNyLGeyJm8,11467
|
|
65
|
+
digsim/circuit/_waves_writer.py,sha256=ZedBa2TbWuq-zDc1MQyANmQOMDGGzNMSh4nKPuqXCkA,2092
|
|
66
|
+
digsim/circuit/components/__init__.py,sha256=5DXrkwFJ3C4xUsvjV7ahiRnwBZLNaadY88i4qOgcaqQ,1272
|
|
67
|
+
digsim/circuit/components/_bus_bits.py,sha256=Ds8dL_lMG2phX2rphe9jenSjDk4asDYddl5g9-IIcpg,1921
|
|
68
|
+
digsim/circuit/components/_button.py,sha256=5alsssihwR33iTv6HuN06fgVRftqwl5tRX05rqdSWY8,913
|
|
69
|
+
digsim/circuit/components/_buzzer.py,sha256=Vo2nPXmdrdAX1r4aXWWAuA6OyejPTRb7nyMCVQAfLFw,1130
|
|
70
|
+
digsim/circuit/components/_clock.py,sha256=21i0ViVn6GTGQUepUMTOSbLmcWAksGKmU4y7ZBmU3P8,1492
|
|
71
|
+
digsim/circuit/components/_dip_switch.py,sha256=biDG6SvepN5xyezC5BxJsq94yoMy2Xn92gBxPU7HIag,1812
|
|
72
|
+
digsim/circuit/components/_flip_flops.py,sha256=T6sHhV-hVCCKnFDOnL9A-t8vcSo1opQszv9EIsqZw2I,2947
|
|
73
|
+
digsim/circuit/components/_gates.py,sha256=K_aFT4GTo4JF_zoaNYiCRZfZEx4vEibMHZSCDImfPHQ,7167
|
|
74
|
+
digsim/circuit/components/_hexdigit.py,sha256=LB_RhWnaNqcaMKon66nlAVL_jkEqz_pyQ2FlW6Chapw,2264
|
|
75
|
+
digsim/circuit/components/_ic.py,sha256=8iUbuyQqM5glEcpDCJD2OdwSxr1TG5AtKOXU4I3qlWI,922
|
|
76
|
+
digsim/circuit/components/_label_wire.py,sha256=KWFtNy1Tp7PzMsDIfJHbLxpekQeuRW5h53haz6kzevE,5169
|
|
77
|
+
digsim/circuit/components/_led.py,sha256=7Ctvp7YI6U38W7X9XCbfbg0s5LI5Hz7UoeKtSxzTQrw,457
|
|
78
|
+
digsim/circuit/components/_logic_analyzer.py,sha256=A0UvmEwDpwc8vqIk44rI5l1_fsySDGxO4GsStGOByG0,1814
|
|
79
|
+
digsim/circuit/components/_mem64kbyte.py,sha256=6OdrCZW5L-qY7hvENxVVCHUnmyUTAfIacFOwv9v-tEw,1487
|
|
80
|
+
digsim/circuit/components/_memstdout.py,sha256=vqUlDx9E4azy4gpjcgTH3Ns2poiqcflNBIYHMg97LWs,1260
|
|
81
|
+
digsim/circuit/components/_note.py,sha256=apvXDTqegAtQ3XbWEEm3hEhFAakmPPrbveupqfwtrBo,609
|
|
82
|
+
digsim/circuit/components/_on_off_switch.py,sha256=GZAyUUCUpdHpXigqJnoDDZcq3HTKTOFdHO_IyM9eECc,1205
|
|
83
|
+
digsim/circuit/components/_seven_segment.py,sha256=WZnGw27ElQo__eV-M6bn-UYY17lTRgwTNWwReMJE8dY,802
|
|
84
|
+
digsim/circuit/components/_static_level.py,sha256=Y5tVEjwX2LVpc31iWop2qQDJPZR5NdvLq1D3o2Yo6p0,682
|
|
85
|
+
digsim/circuit/components/_static_value.py,sha256=48Jkj5qsDLOfvtYYNnKxoU9rVlIa9BzCJ89At9Dvyqg,1241
|
|
86
|
+
digsim/circuit/components/_yosys_atoms.py,sha256=NeH8XjjpoACHBfQRqR5RJxWorZhSjGk0t73cJOviSZw,37599
|
|
87
|
+
digsim/circuit/components/_yosys_component.py,sha256=EDcvFMNGVj-hxKUUNeWWQ74sFyA3vCxbd0MKX942S9w,8797
|
|
88
|
+
digsim/circuit/components/atoms/__init__.py,sha256=tQuxYg6mCz72GCJ1qognO0J3upTKmZR-VhH1IdKnbSg,514
|
|
89
|
+
digsim/circuit/components/atoms/_component.py,sha256=4_pbo25DbVoHdoDVok67NqltanTZwcj-8NH-Q4mKdOw,9255
|
|
90
|
+
digsim/circuit/components/atoms/_digsim_exception.py,sha256=vSBuRWVl5HXQBEqwKjnPm55LWGUdYar5NQCJAVyQ1xg,178
|
|
91
|
+
digsim/circuit/components/atoms/_port.py,sha256=6zqdzflqUYAJgoC-gtFb9eBYHgCX9mhUJD2-KqqDPPA,13009
|
|
92
|
+
digsim/circuit/components/ic/74162.json,sha256=VBgfDOT_lok7-JudUOI8GKFsaj7qqlFpm0orGYBNLiw,35767
|
|
93
|
+
digsim/circuit/components/ic/7448.json,sha256=4lmKGRP06g3NjkkK2On7htIQyuOlE7g7ZUr10OEiLcY,20651
|
|
94
|
+
digsim/storage_model/__init__.py,sha256=lubmO9_BCUtEahyW1yE7f3aGHngEevGIwf_0LeOB7Y8,289
|
|
95
|
+
digsim/storage_model/_app.py,sha256=JoI9C2w_90e6IyEaQENDxQtf2ag7obhMhLD-Jz_kI1Q,1617
|
|
96
|
+
digsim/storage_model/_circuit.py,sha256=VhQ96jZMbVjCE2XBQ8D0ABA8sG0SiI5oyc_GZZYfNfw,3978
|
|
97
|
+
digsim/synth/__init__.py,sha256=Y-uEO51auZrxHJ7mj61a0ou4c75XNVyDpYDrLHfee9w,185
|
|
98
|
+
digsim/synth/__main__.py,sha256=M8lMBUO6oHENospJCj43Ed40w0bX0_E6yL-_O8g9LWg,2178
|
|
99
|
+
digsim/synth/_synthesis.py,sha256=g2zw0M3E6xiYLwY2WOKi9-uJ5YtNeVwCpFviuXfhUHk,5197
|
|
100
|
+
digsim/utils/__init__.py,sha256=sUWzEcR3aTo8uDqi9oMDs04XLa-uUXFSgLuhkbSvaNs,196
|
|
101
|
+
digsim/utils/_yosys_netlist.py,sha256=CKx2V1Jcg1_ZzphSL25-iaTkSIJKEC9-GcX8FomkASw,4049
|
|
102
|
+
digsim_logic_simulator-0.22.0.dist-info/licenses/LICENSE.md,sha256=FrvohZfyfpH4xrvKdXiQ5hD7dUB7w4DcsRA3p-pOmLw,1693
|
|
103
|
+
digsim_logic_simulator-0.22.0.dist-info/METADATA,sha256=cOm9M17VmpGQAIIjueDK7O55xzkxreKfNl-igglXGho,4823
|
|
104
|
+
digsim_logic_simulator-0.22.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
105
|
+
digsim_logic_simulator-0.22.0.dist-info/entry_points.txt,sha256=Z-C6VY83KwN8ADP0Don6edzLcF31kvhgFvI05hwjwXk,63
|
|
106
|
+
digsim_logic_simulator-0.22.0.dist-info/top_level.txt,sha256=qpCMzQKADZHVqZIoQgFrv3qJ3u7PPU73gTCXQglqLa8,7
|
|
107
|
+
digsim_logic_simulator-0.22.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
The Clear BSD License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023-2024, Fredrik Andersson
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
|
|
12
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
and/or other materials provided with the distribution.
|
|
15
|
+
|
|
16
|
+
* Neither the name of the copyright holder nor the names of its
|
|
17
|
+
contributors may be used to endorse or promote products derived from
|
|
18
|
+
this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS
|
|
21
|
+
LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
22
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
23
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
24
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
25
|
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
26
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
27
|
+
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
28
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
29
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
30
|
+
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
|
|
32
|
+
-------------------------------------------------------------------------------
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
digsim
|