digsim-logic-simulator 0.3.0__py3-none-any.whl → 0.4.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.

Potentially problematic release.


This version of digsim-logic-simulator might be problematic. Click here for more details.

Files changed (64) hide show
  1. digsim/__init__.py +1 -1
  2. digsim/app/__main__.py +1 -1
  3. digsim/app/gui/__init__.py +1 -1
  4. digsim/app/gui/_circuit_area.py +1 -6
  5. digsim/app/gui/_component_selection.py +1 -3
  6. digsim/app/gui/_main_window.py +1 -3
  7. digsim/app/gui/_top_bar.py +1 -4
  8. digsim/app/gui/_warning_dialog.py +1 -3
  9. digsim/app/gui_objects/__init__.py +1 -1
  10. digsim/app/gui_objects/_bus_bit_object.py +2 -5
  11. digsim/app/gui_objects/_buzzer_object.py +1 -1
  12. digsim/app/gui_objects/_component_context_menu.py +2 -2
  13. digsim/app/gui_objects/_component_object.py +2 -7
  14. digsim/app/gui_objects/_component_port_item.py +1 -1
  15. digsim/app/gui_objects/_dip_switch_object.py +2 -5
  16. digsim/app/gui_objects/_gui_note_object.py +1 -1
  17. digsim/app/gui_objects/_gui_object_factory.py +1 -1
  18. digsim/app/gui_objects/_hexdigit_object.py +1 -1
  19. digsim/app/gui_objects/_image_objects.py +2 -4
  20. digsim/app/gui_objects/_label_object.py +1 -1
  21. digsim/app/gui_objects/_logic_analyzer_object.py +1 -2
  22. digsim/app/gui_objects/_seven_segment_object.py +2 -4
  23. digsim/app/gui_objects/_shortcut_objects.py +2 -4
  24. digsim/app/gui_objects/_yosys_object.py +1 -1
  25. digsim/app/model/__init__.py +1 -1
  26. digsim/app/model/_model.py +2 -4
  27. digsim/app/model/_model_objects.py +1 -3
  28. digsim/app/settings/__init__.py +1 -1
  29. digsim/app/settings/_component_settings.py +1 -3
  30. digsim/app/settings/_gui_settings.py +1 -3
  31. digsim/app/settings/_shortcut_dialog.py +1 -3
  32. digsim/circuit/__init__.py +1 -1
  33. digsim/circuit/_circuit.py +1 -4
  34. digsim/circuit/_waves_writer.py +1 -4
  35. digsim/circuit/components/__init__.py +1 -1
  36. digsim/circuit/components/_button.py +1 -1
  37. digsim/circuit/components/_buzzer.py +1 -1
  38. digsim/circuit/components/_clock.py +1 -1
  39. digsim/circuit/components/_dip_switch.py +1 -1
  40. digsim/circuit/components/_gates.py +2 -4
  41. digsim/circuit/components/_hexdigit.py +1 -1
  42. digsim/circuit/components/_ic.py +1 -0
  43. digsim/circuit/components/_label_wire.py +1 -1
  44. digsim/circuit/components/_led.py +1 -1
  45. digsim/circuit/components/_logic_analyzer.py +1 -1
  46. digsim/circuit/components/_on_off_switch.py +1 -1
  47. digsim/circuit/components/_seven_segment.py +2 -1
  48. digsim/circuit/components/_static_level.py +1 -1
  49. digsim/circuit/components/_static_value.py +1 -1
  50. digsim/circuit/components/_yosys_atoms.py +1 -6
  51. digsim/circuit/components/_yosys_component.py +1 -4
  52. digsim/circuit/components/atoms/__init__.py +1 -1
  53. digsim/circuit/components/atoms/_component.py +2 -5
  54. digsim/circuit/components/atoms/_port.py +2 -4
  55. digsim/synth/__init__.py +1 -1
  56. digsim/synth/__main__.py +1 -1
  57. digsim/synth/_synthesis.py +10 -2
  58. digsim/utils/__init__.py +1 -1
  59. {digsim_logic_simulator-0.3.0.dist-info → digsim_logic_simulator-0.4.0.dist-info}/METADATA +1 -1
  60. digsim_logic_simulator-0.4.0.dist-info/RECORD +102 -0
  61. {digsim_logic_simulator-0.3.0.dist-info → digsim_logic_simulator-0.4.0.dist-info}/WHEEL +1 -1
  62. digsim_logic_simulator-0.3.0.dist-info/RECORD +0 -102
  63. {digsim_logic_simulator-0.3.0.dist-info → digsim_logic_simulator-0.4.0.dist-info}/LICENSE.md +0 -0
  64. {digsim_logic_simulator-0.3.0.dist-info → digsim_logic_simulator-0.4.0.dist-info}/top_level.txt +0 -0
digsim/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim namespace """
4
+ """All classes within digsim namespace"""
5
5
 
6
6
  from .circuit import Circuit # noqa: F401
digsim/app/__main__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ The main class module of the digsim.app namespace """
4
+ """The main class module of the digsim.app namespace"""
5
5
 
6
6
  import argparse
7
7
  import sys
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.app.gui namespace """
4
+ """All classes within digsim.app.gui namespace"""
5
5
 
6
6
  from ._main_window import MainWindow # noqa: F401
@@ -1,12 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The circuit area and component widget"""
5
5
 
6
- # pylint: disable=unused-argument
7
- # pylint: disable=useless-parent-delegation
8
- # pylint: disable=too-few-public-methods
9
-
10
6
  from functools import partial
11
7
 
12
8
  from PySide6.QtCore import QPoint, QPointF, QRect, QRectF, Qt, QTimer
@@ -23,7 +19,6 @@ from digsim.app.settings import ComponentSettingsDialog
23
19
 
24
20
 
25
21
  class WirePartGraphicsItem(QGraphicsRectItem):
26
-
27
22
  """A part of a wire graphcis item"""
28
23
 
29
24
  CLOSE_TO_WIRE_MARGIN = 10
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """Module for the component selection classes"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
-
8
6
  from functools import partial
9
7
 
10
8
  from PySide6.QtCore import QMimeData, QSize, Qt, QTimer
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The main window and widgets of the digsim gui application"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
-
8
6
  from PySide6.QtCore import Qt
9
7
  from PySide6.QtGui import QKeySequence, QShortcut
10
8
  from PySide6.QtWidgets import (
@@ -1,11 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The top bar of the main window/gui application"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
- # pylint: disable=too-many-instance-attributes
8
-
9
6
  from pathlib import Path
10
7
 
11
8
  import qtawesome as qta
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """A warning dialog"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
-
8
6
  from PySide6.QtCore import QSize, Qt
9
7
  from PySide6.QtWidgets import (
10
8
  QDialog,
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.app.gui_object namespace """
4
+ """All classes within digsim.app.gui_object namespace"""
5
5
 
6
6
  from ._component_object import ComponentObject # noqa: F401
7
7
  from ._gui_object_factory import get_class_by_name as class_factory # noqa: F401
@@ -1,7 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A hexdigit component placed in the GUI """
4
+ """A hexdigit component placed in the GUI"""
5
5
 
6
6
  from PySide6.QtCore import QPoint, QSize, Qt
7
7
  from PySide6.QtGui import QPen
@@ -9,9 +9,6 @@ from PySide6.QtGui import QPen
9
9
  from ._component_object import ComponentObject
10
10
 
11
11
 
12
- # pylint: disable=too-many-arguments
13
-
14
-
15
12
  class BusBitsObject(ComponentObject):
16
13
  """The class for a bus/bit component placed in the GUI"""
17
14
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A buzzer component object """
4
+ """A buzzer component object"""
5
5
 
6
6
  from math import pi, sin
7
7
  from struct import pack
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A component context menu """
4
+ """A component context menu"""
5
5
 
6
6
  from PySide6.QtGui import QAction
7
7
  from PySide6.QtWidgets import QMenu
@@ -58,7 +58,7 @@ class ComponentContextMenu(QMenu):
58
58
  return self._menu_action.text() if self._menu_action is not None else ""
59
59
 
60
60
  def _delete(self):
61
- self._component_object.select(True)
61
+ self._component_object.setSelected(True)
62
62
  self._app_model.objects.delete_selected()
63
63
 
64
64
  def _raise(self):
@@ -1,12 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A component placed in the GUI """
5
-
6
- # pylint: disable=unused-argument
7
- # pylint: disable=too-many-public-methods
8
- # pylint: disable=too-many-instance-attributes
9
- # pylint: disable=too-many-arguments
4
+ """A component placed in the GUI"""
10
5
 
11
6
  import abc
12
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A component port graphics item """
4
+ """A component port graphics item"""
5
5
 
6
6
  from PySide6.QtCore import QRect, Qt
7
7
  from PySide6.QtGui import QBrush, QPen
@@ -1,7 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A hexdigit component placed in the GUI """
4
+ """A hexdigit component placed in the GUI"""
5
5
 
6
6
  from PySide6.QtCore import QPoint, QRect, Qt
7
7
  from PySide6.QtGui import QFont, QPen
@@ -9,9 +9,6 @@ from PySide6.QtGui import QFont, QPen
9
9
  from ._image_objects import ImageObject
10
10
 
11
11
 
12
- # pylint: disable=too-many-arguments
13
-
14
-
15
12
  class DipSwitchObject(ImageObject):
16
13
  """The class for a bus/bit component placed in the GUI"""
17
14
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A GUI note object """
4
+ """A GUI note object"""
5
5
 
6
6
  from PySide6.QtCore import QPoint, QRect, Qt
7
7
  from PySide6.QtGui import QFont, QFontMetrics, QPen
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A GUI component object factory module """
4
+ """A GUI component object factory module"""
5
5
 
6
6
  from digsim.circuit.components.atoms import DigsimException
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A hexdigit component placed in the GUI """
4
+ """A hexdigit component placed in the GUI"""
5
5
 
6
6
  from ._component_object import ComponentObject
7
7
  from ._seven_segment_object import SevenSegmentObject
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A component with an image as symbol the GUI """
5
-
6
- # pylint: disable=too-many-arguments
4
+ """A component with an image as symbol the GUI"""
7
5
 
8
6
  from pathlib import Path
9
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A label component placed in the GUI """
4
+ """A label component placed in the GUI"""
5
5
 
6
6
  from PySide6.QtCore import QPoint, QRect, Qt
7
7
  from PySide6.QtGui import QPen, QPolygon
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A Logic Analyzer component placed in the GUI """
4
+ """A Logic Analyzer component placed in the GUI"""
5
5
 
6
6
  from PySide6.QtCore import QPoint, QRect, Qt
7
7
  from PySide6.QtGui import QPainterPath, QPen
@@ -23,7 +23,6 @@ class LogicAnalyzerObject(ImageObject):
23
23
  self.update_ports()
24
24
 
25
25
  def paint_component(self, painter):
26
-
27
26
  self.paint_component_base(painter)
28
27
  painter.setBrush(Qt.SolidPattern)
29
28
  painter.setBrush(Qt.black)
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A 7-segment component placed in the GUI """
5
-
6
- # pylint: disable=too-many-arguments
4
+ """A 7-segment component placed in the GUI"""
7
5
 
8
6
  from PySide6.QtCore import QPoint, Qt
9
7
  from PySide6.QtGui import QPainterPath
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ A button component with an image as symbol the GUI """
5
-
6
- # pylint: disable=too-few-public-methods
4
+ """A button component with an image as symbol the GUI"""
7
5
 
8
6
  from functools import partial
9
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A yosys component with an image as symbol the GUI """
4
+ """A yosys component with an image as symbol the GUI"""
5
5
 
6
6
  from PySide6.QtGui import QAction
7
7
 
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.app.model namespace """
4
+ """All classes within digsim.app.model namespace"""
5
5
 
6
6
  from ._model import AppModel # noqa: F401
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ An application model for a GUI simulated circuit """
5
-
6
- # pylint: disable=too-many-instance-attributes
4
+ """An application model for a GUI simulated circuit"""
7
5
 
8
6
  import json
9
7
  import queue
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """Handle objects in the model"""
5
5
 
6
- # pylint: disable=too-many-public-methods
7
-
8
6
  from digsim.circuit import Circuit
9
7
  from digsim.circuit.components.atoms import DigsimException
10
8
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.app.settings namespace """
4
+ """All classes within digsim.app.settings namespace"""
5
5
 
6
6
  from ._component_settings import ComponentSettingsDialog # noqa: F401
7
7
  from ._gui_settings import GuiSettingsDialog # noqa: F401
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The component settings dialog(s)"""
5
5
 
6
- # pylint: disable=too-many-branches
7
-
8
6
  import pathlib
9
7
 
10
8
  from PySide6.QtCore import Qt, Signal
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The GUI settings dialog"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
-
8
6
  from PySide6.QtCore import Qt
9
7
  from PySide6.QtWidgets import QCheckBox, QComboBox, QDialog, QDialogButtonBox, QGridLayout, QLabel
10
8
 
@@ -1,10 +1,8 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """The shurtcut dialog"""
5
5
 
6
- # pylint: disable=too-few-public-methods
7
-
8
6
  from PySide6.QtCore import Qt
9
7
  from PySide6.QtWidgets import QComboBox, QDialog, QDialogButtonBox, QLabel, QVBoxLayout
10
8
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.circuit namespace """
4
+ """All classes within digsim.circuit namespace"""
5
5
 
6
6
  from ._circuit import Circuit # noqa: F401
7
7
  from .components import PortConnectionError # noqa: F401
@@ -1,13 +1,10 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """
5
5
  Module that handles the circuit simulation of components
6
6
  """
7
7
 
8
- # pylint: disable=too-many-public-methods
9
- # pylint: disable=too-many-arguments
10
-
11
8
  import json
12
9
  import os
13
10
 
@@ -1,13 +1,10 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """
5
5
  Module that handles the creation of vcd files
6
6
  """
7
7
 
8
- # pylint: disable=consider-using-with
9
- # pylint: disable=import-error
10
-
11
8
  from vcd import VCDWriter
12
9
 
13
10
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.circuit.components namespace """
4
+ """All classes within digsim.circuit.components namespace"""
5
5
 
6
6
  from ._bus_bits import Bus2Wires, Wires2Bus # noqa: F401
7
7
  from ._button import PushButton # noqa: F401
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A PushButton component """
4
+ """A PushButton component"""
5
5
 
6
6
  import logging
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with the Buzzer component """
4
+ """Module with the Buzzer component"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortIn
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Clock component module """
4
+ """Clock component module"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortOutDelta, PortOutImmediate
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ A Dip-switch component """
4
+ """A Dip-switch component"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortOutImmediate
7
7
 
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ Module with the basic logic gates """
5
-
6
- # pylint: disable=too-many-arguments
4
+ """Module with the basic logic gates"""
7
5
 
8
6
  import math
9
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ HexDigit component module """
4
+ """HexDigit component module"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortIn
7
7
 
@@ -4,6 +4,7 @@
4
4
  """
5
5
  Module for creating a yosys component in the ic folder
6
6
  """
7
+
7
8
  from pathlib import Path
8
9
 
9
10
  from ._yosys_component import YosysComponent
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Label Wire components module """
4
+ """Label Wire components module"""
5
5
 
6
6
  from .atoms import Component, DigsimException, PortWire
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with the LED component """
4
+ """Module with the LED component"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortIn
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with Logic Analyzer component """
4
+ """Module with Logic Analyzer component"""
5
5
 
6
6
  from .atoms import CallbackComponent, PortOutDelta, PortWire
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ An On/Off Switch component """
4
+ """An On/Off Switch component"""
5
5
 
6
6
  import logging
7
7
 
@@ -1,7 +1,8 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with 7-segment LED component """
4
+ """Module with 7-segment LED component"""
5
+
5
6
  from .atoms import CallbackComponent, PortIn
6
7
 
7
8
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with the Static Logic components """
4
+ """Module with the Static Logic components"""
5
5
 
6
6
  from .atoms import Component, PortOutDelta
7
7
 
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ Module with the Static Leve component """
4
+ """Module with the Static Leve component"""
5
5
 
6
6
  from .atoms import Component, PortOutImmediate
7
7
 
@@ -1,4 +1,4 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """
@@ -8,11 +8,6 @@ All components are implemented from the specification in:
8
8
  https://github.com/YosysHQ/yosys/blob/master/techlibs/common/simcells.v
9
9
  """
10
10
 
11
- # pylint: disable=too-many-arguments
12
- # pylint: disable=consider-using-in
13
- # pylint: disable=too-many-lines
14
- # pylint: disable=too-many-branches
15
-
16
11
  from .atoms import Component, DigsimException, PortIn, PortOutDelta, PortWire
17
12
 
18
13
 
@@ -1,4 +1,4 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
4
  """
@@ -6,9 +6,6 @@ Module with classes to create a yosys component
6
6
  from a yosys json netlist.
7
7
  """
8
8
 
9
- # pylint: disable=protected-access
10
- # pylint: disable=too-many-instance-attributes
11
-
12
9
  import json
13
10
 
14
11
  import digsim.circuit.components._yosys_atoms
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.circuit.components.atoms namespace """
4
+ """All classes within digsim.circuit.components.atoms namespace"""
5
5
 
6
6
  from ._component import ( # noqa: F401
7
7
  CallbackComponent,
@@ -1,10 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ This module contains the base classes for all component types """
5
-
6
-
7
- # pylint: disable=too-many-public-methods
4
+ """This module contains the base classes for all component types"""
8
5
 
9
6
  import abc
10
7
  import copy
@@ -1,9 +1,7 @@
1
- # Copyright (c) Fredrik Andersson, 2023
1
+ # Copyright (c) Fredrik Andersson, 2023-2024
2
2
  # All rights reserved
3
3
 
4
- """ This module contains the classes for all component ports """
5
-
6
- # pylint: disable=too-many-public-methods
4
+ """This module contains the classes for all component ports"""
7
5
 
8
6
  import abc
9
7
 
digsim/synth/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.synth namespace """
4
+ """All classes within digsim.synth namespace"""
5
5
 
6
6
  from ._synthesis import Synthesis, SynthesisException # noqa: F401
digsim/synth/__main__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ The main class module of the digsim.synth namespace """
4
+ """The main class module of the digsim.synth namespace"""
5
5
 
6
6
  import argparse
7
7
  import sys
@@ -9,6 +9,7 @@ import sys
9
9
 
10
10
  import pexpect
11
11
  import pexpect.popen_spawn
12
+
12
13
  from digsim.circuit.components.atoms import DigsimException
13
14
 
14
15
 
@@ -33,11 +34,18 @@ class Synthesis:
33
34
  errorline = line
34
35
  break
35
36
  raise SynthesisException(errorline)
36
- return before_lines
37
+
38
+ # Remove escape sequence in output
39
+ out_lines = []
40
+ for line in before_lines:
41
+ if line.startswith("\x1b"):
42
+ continue
43
+ out_lines.append(line)
44
+ return out_lines
37
45
 
38
46
  @classmethod
39
47
  def _pexpect_spawn_yosys(cls):
40
- yosys_exe = shutil.which("yowasp-yosys")
48
+ yosys_exe = shutil.which("yosys") or shutil.which("yowasp-yosys")
41
49
 
42
50
  if yosys_exe is None:
43
51
  raise SynthesisException("Yosys executable not found")
digsim/utils/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) Fredrik Andersson, 2023
2
2
  # All rights reserved
3
3
 
4
- """ All classes within digsim.utils namespace """
4
+ """All classes within digsim.utils namespace"""
5
5
 
6
6
  from ._yosys_netlist import YosysNetlist # noqa: F401
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digsim-logic-simulator
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Interactive Digital Logic Simulator
5
5
  Author-email: Fredrik Andersson <freand@gmail.com>
6
6
  Maintainer-email: Fredrik Andersson <freand@gmail.com>
@@ -0,0 +1,102 @@
1
+ digsim/__init__.py,sha256=UB-i1HtNR6rIX4_SClZp-lM4njGa7_1sbMvd14NuyAs,149
2
+ digsim/app/__main__.py,sha256=iECz0kvEQ0R4fGzH6KAOxyDfoyvwrRLo7JmT0jMx39s,1368
3
+ digsim/app/gui/__init__.py,sha256=-HnN8a-AcDcovbCHf1a_R-sQtW2_tQXnPJ3izyKLOjw,165
4
+ digsim/app/gui/_circuit_area.py,sha256=w2K0n3ubbLvwiZHs2NyErUoNly0_TWFTf-XXsCtxpVY,16366
5
+ digsim/app/gui/_component_selection.py,sha256=C-TeBruf8sGdEnGATtLm6jTesIqf-0AnKRBRLrtL_18,6388
6
+ digsim/app/gui/_main_window.py,sha256=X0AIh3m1ySaldgYr3MHddRSqVkNdWl_qNJOIdnv2mNA,5275
7
+ digsim/app/gui/_top_bar.py,sha256=Q27uJUtMd3pytBFDe8nQdJQJUkYYGV9wK6d344Wkq4A,13066
8
+ digsim/app/gui/_utils.py,sha256=SSbe4B-trgZpaerPZilAaZYeqMOlFZMuufTth8KyOAg,660
9
+ digsim/app/gui/_warning_dialog.py,sha256=N9G2wyQTyiqMnTtbExMzHgdbCBA0epfhNWY4GVF6xH8,1496
10
+ digsim/app/gui_objects/__init__.py,sha256=DV7hnqz4Xcwk_-BiKrPxB31c7k-R4Oemmo_KOUjoQrQ,264
11
+ digsim/app/gui_objects/_bus_bit_object.py,sha256=Q8oW-bAGLRAvR2-8PxyHL4M68FLKFgNpDiL4E7BPUOQ,3059
12
+ digsim/app/gui_objects/_buzzer_object.py,sha256=p_7O361t98K6BIUxK6gHdfcSn2wUVXTRfnf7oQXSIK4,3352
13
+ digsim/app/gui_objects/_component_context_menu.py,sha256=57M23M8Xb4t8eN8l9GQQ4AUBYZlEBjE0_a4d71yCDos,2821
14
+ digsim/app/gui_objects/_component_object.py,sha256=NIszLF61tjwyKYzQQby6BXP3rU7d1cj5VxZp-SY6LgY,13078
15
+ digsim/app/gui_objects/_component_port_item.py,sha256=Rxl952_3BCqM2H7TJDfbSTlalfFicDStrjqMUKEtdns,2089
16
+ digsim/app/gui_objects/_dip_switch_object.py,sha256=6SmqoyF3MuUphLJA4tlyff4JXJBxJLWmt3ZEferFtf4,3576
17
+ digsim/app/gui_objects/_gui_note_object.py,sha256=sMakGjdR0truGBzaR2GaFZZoDg99v76Bs5DD6ea3cjA,2604
18
+ digsim/app/gui_objects/_gui_object_factory.py,sha256=wfe0M4ZNSd5mK_0fi6ZhzHddFxkm_t4tku3OZir2VzU,2465
19
+ digsim/app/gui_objects/_hexdigit_object.py,sha256=vx540hsTezJW_qwQsPtSqkeH8GMrOBXU24QPaZd021U,1926
20
+ digsim/app/gui_objects/_image_objects.py,sha256=KQgWaiEoqbtqWib-pCoo-qs-J3GvRlVQFzjLNEBx-JQ,7553
21
+ digsim/app/gui_objects/_label_object.py,sha256=6CnISeYEmmef28T6yBYJ1z-a_3nTtyl4p-EU-pEzVK0,3570
22
+ digsim/app/gui_objects/_logic_analyzer_object.py,sha256=B3WpFrTu9LDF0S_ol0VVS4vOIDqw_e08wmEX7fBjD98,2671
23
+ digsim/app/gui_objects/_seven_segment_object.py,sha256=EaNRxmM_IA-JkLHVVHXwSCd8jV9JAXTmdXMuXOidio4,4227
24
+ digsim/app/gui_objects/_shortcut_objects.py,sha256=XaTbjT-udJZ--O1uhBIrw8EHIHKbly6PGH-7tTTnPVQ,2724
25
+ digsim/app/gui_objects/_yosys_object.py,sha256=1LQ6nR_67lfWWNE56bdPJYkpEXhEi_9Z5UbiY0SGJIE,953
26
+ digsim/app/gui_objects/images/AND.png,sha256=d53gEcxIlfqmW-Q4Za3n5i_NmSEcjJqlbh8XxoSdR3o,12062
27
+ digsim/app/gui_objects/images/Analyzer.png,sha256=1OrkKsL6ktxKI12KzNJT7rgEi2X-jAqp6vrVuVthErY,1591
28
+ digsim/app/gui_objects/images/BUF.png,sha256=fd8DqEM3aht4cjoWuqsbHlTiQaFa9ddibe3iel1WYLo,12819
29
+ digsim/app/gui_objects/images/Buzzer.png,sha256=sdAQehr03pEpQXrm2RTqUqDpUI15WU1ohFf4fB90uvI,5856
30
+ digsim/app/gui_objects/images/Clock.png,sha256=NAsu1IKb2tiZ_oFs3C7t7Wzc3xzq-1PBLVm7NcT9whQ,3117
31
+ digsim/app/gui_objects/images/DFF.png,sha256=OalrTM4XbMouEeB0xXg8nPy3gZzMxwnvgtF149XsTl0,9038
32
+ digsim/app/gui_objects/images/DIP_SWITCH.png,sha256=8t2gdexuHn9Z3lUi7B7hNM71IxRMulgAn8T5TlFPqPM,16899
33
+ digsim/app/gui_objects/images/FlipFlop.png,sha256=PLCMrH0CBXU6jgDTPpGsgEAqmgNN3c5hvU1sjZzOU40,4452
34
+ digsim/app/gui_objects/images/IC.png,sha256=7YoAkD_5CrTIdmArjD_HjZyT9odAYuCwufDDpVC3Jsw,5493
35
+ digsim/app/gui_objects/images/LED_OFF.png,sha256=bk-X-R-l8CvdD-xat0zI5pc9S1t6j0Ewx4G_vMt1sRE,7075
36
+ digsim/app/gui_objects/images/LED_ON.png,sha256=YSYDNx8zjFoqEy9kuognaL8eL0acuVHV7b4ArlK_ol4,9389
37
+ digsim/app/gui_objects/images/MUX.png,sha256=d8Q0qUJIRCdFQbxAg_sc4MJG3F6QRTbCT4ysgkCm6DE,1912
38
+ digsim/app/gui_objects/images/NAND.png,sha256=W-dZPNg2Qh0M-FkA8Gbblh42EvMKtBI37IenZKDIbLE,11718
39
+ digsim/app/gui_objects/images/NOR.png,sha256=eFaignMSIiUPJnc8VkIQ9Yg1iF6qVjrM9sA50EGqp9g,15091
40
+ digsim/app/gui_objects/images/NOT.png,sha256=V1QoUHpBbEX2Tish4DIe_wImAVj-M9DL5QrNIKNo-nQ,12593
41
+ digsim/app/gui_objects/images/ONE.png,sha256=ftnpl7_gMTLc08k08Ka_QfnLv5H1u5AhPitZNPe_42E,1212
42
+ digsim/app/gui_objects/images/OR.png,sha256=54lsnUphLRwY9ioOOqAsRW0KRVTNOHZOPBKosXUTAOc,14870
43
+ digsim/app/gui_objects/images/PB.png,sha256=bhnhD-Ood9hSBFr-aia2iCPT_Q7VYBaEq076sqU3DBY,8468
44
+ digsim/app/gui_objects/images/Switch_OFF.png,sha256=ta11PvVIajT2gugj_SPK3mLn9_WaluqAK3t4aks9a-8,4752
45
+ digsim/app/gui_objects/images/Switch_ON.png,sha256=fVo6Vi89-Fv32SsyWcRL9N7eDwDrTe1_hX6_602BR5A,4819
46
+ digsim/app/gui_objects/images/XNOR.png,sha256=yoDcf5vn_OtcUnQQ3qSTLRqVTNBF_fmaGlpvXpWw_HE,14610
47
+ digsim/app/gui_objects/images/XOR.png,sha256=yHfL2LnWVeepTunrgUF3Z5m3dVpQ1iuNL6EGKI1TAKs,16118
48
+ digsim/app/gui_objects/images/YOSYS.png,sha256=etTO9jadU0amxQG7ySRjD6fME4HjrEEqXttM4XWDzxU,3117
49
+ digsim/app/gui_objects/images/ZERO.png,sha256=hXnZgEVO3T_zN5CiFhu6cIXr19LAu6SdvX-sIOq06E4,3459
50
+ digsim/app/images/app_icon.png,sha256=OfPoYA4o4Af79DTqQxSNLca0FdXRHEYteBK-xCQFEAw,16041
51
+ digsim/app/model/__init__.py,sha256=atbReJBH_qTVZqsKLvF3p9eZWxkglFi6cvt7fEGo0bo,159
52
+ digsim/app/model/_model.py,sha256=7zkn3i2YSFp-lhhsxGxyac0wv-PkjbZrjgKNz933iLc,6506
53
+ digsim/app/model/_model_components.py,sha256=8x96YmkeHEaBYaB5i88G_Zf9MHcc05g8Go_YEBJ3R_o,6500
54
+ digsim/app/model/_model_new_wire.py,sha256=5HnF5-gtKtB1Tp6ZIF7QuNo5zEHmsUpnBEmj6ZllLiA,1810
55
+ digsim/app/model/_model_objects.py,sha256=M3UxXqjqVg1PIDe96_3SH0L_BJGQEIvODa0XyUI7q4g,5040
56
+ digsim/app/model/_model_settings.py,sha256=3nKzdhaSwYogC10-IFyNzbCsvXbmy9lrZ7hb_yRCyLg,1141
57
+ digsim/app/model/_model_shortcuts.py,sha256=ovZ2uJC0rRYaLgf6UStPd4P33CiphvRmIOYx6c7M89M,2511
58
+ digsim/app/settings/__init__.py,sha256=0tkoBSYeJFFiUI8c_FqvqqyM4-_SU9Xq7mXCwiew5Oo,308
59
+ digsim/app/settings/_component_settings.py,sha256=3kOh_q0I01h9yUHLcoDkGcgJtfO64zemToyH7fIGwZo,16279
60
+ digsim/app/settings/_gui_settings.py,sha256=sDi2POUsHvS7_4SO5qsTu_nN48HsTN4UfGPzdmECs9w,2764
61
+ digsim/app/settings/_shortcut_dialog.py,sha256=JTm7aawG2ar_DvWhBT8ZzgWsq9gLEJ6pJ_-eHUMPh-c,1524
62
+ digsim/circuit/__init__.py,sha256=yGyhcdnlcpht_hyR2az_A4c7-bO_NkT2lBIDFvtI010,216
63
+ digsim/circuit/_circuit.py,sha256=hj0D6NMnAi39USIyZsBp6Nd8ktrqpjNW9cO3JVd1Wbw,11748
64
+ digsim/circuit/_waves_writer.py,sha256=hh-hwNrT9c0jDLLxYw0anvwomJXVJK5iIbGVjcQddG0,1645
65
+ digsim/circuit/components/__init__.py,sha256=j-xNFbXJ15rSJLhDg7E-SlKvxn6Uy7Zl42YDUkZBFZo,1267
66
+ digsim/circuit/components/_bus_bits.py,sha256=0AvvteRnG4SpW_l-0e-cgBG85VxYlbfdVQFvQVSp88Y,1912
67
+ digsim/circuit/components/_button.py,sha256=Q8drjQ2kNFCfgK-7UzlmNHP47bOpGa9_t16pDtjhL4s,1028
68
+ digsim/circuit/components/_buzzer.py,sha256=bJXMfJyZo66ZiUs_4qT5MyNEHof5ZCI0cIBrdeFdTfA,1123
69
+ digsim/circuit/components/_clock.py,sha256=Mw2R6tHmPAS5-ueiFkZPwYmgPMAg_slAOWiMDimiWGQ,1485
70
+ digsim/circuit/components/_dip_switch.py,sha256=55IfnZrQr-Ru_ncWvFdDeiGwfC8dc1xqmF4ReQBI-TI,1805
71
+ digsim/circuit/components/_flip_flops.py,sha256=eOB1hpSfK7vlpcOQzHqILpAzfwsqQPobC-_ebDxGVLw,2942
72
+ digsim/circuit/components/_gates.py,sha256=QcsNUINdtLQyLt1pcXTmCks9x2mi1-db7VVLNZTIYZ4,7157
73
+ digsim/circuit/components/_hexdigit.py,sha256=9ir8EGEB10mQbpDa5Jxff4EIdLzQ1_dw-KB_vBamcEA,2255
74
+ digsim/circuit/components/_ic.py,sha256=Rs8Z_PuhKo3peK9pwdbvlGNK8_w6evSdXYNdrjWB3-8,917
75
+ digsim/circuit/components/_label_wire.py,sha256=cd4FFERz_PngKGfbK3YwOQcHmCbasiX-JH73TvkT-wU,5110
76
+ digsim/circuit/components/_led.py,sha256=hR_iclDWZua8duNy9BQcTBuhKkIh3g5ahpfkHQ1LYSA,452
77
+ digsim/circuit/components/_logic_analyzer.py,sha256=MHkXGmQuXnDVJonxVkeZy9JOVmsapdT3voi6tsdZcbQ,1807
78
+ digsim/circuit/components/_mem64kbyte.py,sha256=tqex3qFxa7jk841f87inNB4UIY9E5z1SleqAL82eCUY,1482
79
+ digsim/circuit/components/_memstdout.py,sha256=sCYkKH8XuWhB7-14VQOy7TkTgq-g0UDbhiI1HmM4HW8,1255
80
+ digsim/circuit/components/_note.py,sha256=4o4bRw_7smKc_FGrVkhPwwIqC_500Vj_w8TrNtK1A8s,602
81
+ digsim/circuit/components/_on_off_switch.py,sha256=b2h_EClKRbOQTBpQYrOLRXzdps8da64lO9Nd7fp1RSY,1200
82
+ digsim/circuit/components/_seven_segment.py,sha256=UxxjGLuIirVB2Px09XlL8_zjgE7F89cY6z2SMS5FcPU,797
83
+ digsim/circuit/components/_static_level.py,sha256=2Assm1cmAfryVZ3KTQ1uGY8Q6eRrBipdwLITewXfIHg,677
84
+ digsim/circuit/components/_static_value.py,sha256=HNTsvjx0dsK8o4-tBLux3v57RZ425CcnpNmVS5B2CHw,1234
85
+ digsim/circuit/components/_yosys_atoms.py,sha256=NeH8XjjpoACHBfQRqR5RJxWorZhSjGk0t73cJOviSZw,37599
86
+ digsim/circuit/components/_yosys_component.py,sha256=XDNSAfM6Qvhe6G0-M1uiY2NQ-A6oPSQX4kcB_ccvSWg,8810
87
+ digsim/circuit/components/atoms/__init__.py,sha256=kPr-ZKYPiW8NgEvKooMyLYc4DpfMurkALqWcKLhuK28,483
88
+ digsim/circuit/components/atoms/_component.py,sha256=x0e2NUi9ozV4keuT10tsK9MqwBF8Vg1uInvadoS4DiE,9824
89
+ digsim/circuit/components/atoms/_digsim_exception.py,sha256=Y5mBve15zZbduqNNAyf7WzqDk4NtvUL_g2vYy5kBQ3U,173
90
+ digsim/circuit/components/atoms/_port.py,sha256=VYtKglAPJxaXG7ucTRNay_GS4aVX02gsqlJecNs1xlM,12119
91
+ digsim/circuit/components/ic/74162.json,sha256=BtLDDhNP4jYQD2EZ2nBHfUMRbuPztR54luLEpWl7j-o,26632
92
+ digsim/circuit/components/ic/7448.json,sha256=7p9l6l_QSw6DtphZcGgBMMP0PyMB5DYglciMhqCKp04,21211
93
+ digsim/synth/__init__.py,sha256=jhBHLOHf-vNa94Zg5q5dGcf0fgQTModfjUKtmUSffiw,180
94
+ digsim/synth/__main__.py,sha256=wZWAzWsisoxA7hfqkKtu3H066uWyFajgPro2MEGlKbs,2173
95
+ digsim/synth/_synthesis.py,sha256=ug9vSeTyZrvRCboNLL7dDIFVpGqH_ibr5fhOZJHpqUs,4271
96
+ digsim/utils/__init__.py,sha256=Az_zmbORYMzmptuA2_xfn5jDxbCPRSMlVuntr0sYexU,167
97
+ digsim/utils/_yosys_netlist.py,sha256=g-7hkVgGOYJUQbKv8wBqHMHqj44utuGHGbtaRb-qG60,8562
98
+ digsim_logic_simulator-0.4.0.dist-info/LICENSE.md,sha256=nx2x6ryeruncSHeHtF33WLjt5JARcm5rLdZuK_c8hL0,1688
99
+ digsim_logic_simulator-0.4.0.dist-info/METADATA,sha256=l5jm-fI-iCGARKme6DBniaEXzUe73czseQVFwPuApg8,6336
100
+ digsim_logic_simulator-0.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
101
+ digsim_logic_simulator-0.4.0.dist-info/top_level.txt,sha256=qpCMzQKADZHVqZIoQgFrv3qJ3u7PPU73gTCXQglqLa8,7
102
+ digsim_logic_simulator-0.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,102 +0,0 @@
1
- digsim/__init__.py,sha256=FDN6JCbGIBP21Zdf_ZNRryiJ6zQLIlTGTZk-Zj4zwpI,151
2
- digsim/app/__main__.py,sha256=EYeDrLJR6XC-fRNOhnrDSCDqv60LcO7wY638w3pdHPk,1370
3
- digsim/app/gui/__init__.py,sha256=UXHtaunKWrrd4QTIna6DAF4rCMqFsBFmodDBj4YB6EI,167
4
- digsim/app/gui/_circuit_area.py,sha256=iEGINxE-IwmqwVsFMJvqZ2cmauEqf4vo8W83JxIMI_k,16482
5
- digsim/app/gui/_component_selection.py,sha256=BKBAp46pajiqQo1efpdIB7tczHSUkTiL6aMXfYTlzms,6425
6
- digsim/app/gui/_main_window.py,sha256=E4pX-5g6ZBLIZv-MpB92wHP2_QSOVcQvjL6ug2X2dHg,5312
7
- digsim/app/gui/_top_bar.py,sha256=YEKJ-ucDDHH4fcHL9GS6jJ8teDhEKuTRaCAN1qTO8Rc,13150
8
- digsim/app/gui/_utils.py,sha256=SSbe4B-trgZpaerPZilAaZYeqMOlFZMuufTth8KyOAg,660
9
- digsim/app/gui/_warning_dialog.py,sha256=XINQRNeLtWDFueYXMjTJU6UvIwQ1W1F3lbigp7aPH1Y,1533
10
- digsim/app/gui_objects/__init__.py,sha256=qNA190htBAVOQr01oxE7NnAo_A6gtPGuKD3yuNfy8hk,266
11
- digsim/app/gui_objects/_bus_bit_object.py,sha256=7Sz9WwlKHEGPkWsFw7DBEvURKtPYFrOVi0c5_D-SlBo,3095
12
- digsim/app/gui_objects/_buzzer_object.py,sha256=Abzg68c77nV_dhlFiZmWsRKdTNZdGE0cp10cHqv3UkM,3354
13
- digsim/app/gui_objects/_component_context_menu.py,sha256=lQSx2YtSMIAqg8KF8Lh-8AzqltEJV0fFCSc4o2-R6so,2818
14
- digsim/app/gui_objects/_component_object.py,sha256=wdy5XszGldQYfjPUaSSrr7Qi4x3eFwSZMZ2xHIplzQw,13236
15
- digsim/app/gui_objects/_component_port_item.py,sha256=VX5MfoQgLnzZ5aT5eU_3J50Ireh0uQf7xI0N4dLIqXY,2091
16
- digsim/app/gui_objects/_dip_switch_object.py,sha256=_4zkRzEWtv0NwTpjol0nqZhbmgVr5GMW6h0EnHqfByM,3612
17
- digsim/app/gui_objects/_gui_note_object.py,sha256=RAlsH1BBi8XQhEWbAW-mDPSQJpOtPuM6SEkw3Nyekdg,2606
18
- digsim/app/gui_objects/_gui_object_factory.py,sha256=90G_X8FOa-U05iqUFV4M5q6pe9r7_QDcQ5W8sXwTkQQ,2467
19
- digsim/app/gui_objects/_hexdigit_object.py,sha256=fLoqpfmmFWelMYosVGdcUZhXEsPCIIURJ07SJvRVIR4,1928
20
- digsim/app/gui_objects/_image_objects.py,sha256=M7s-lgKD7A7FaX3_O2BZroWpR_ooKlXIITxDAfI0z0s,7588
21
- digsim/app/gui_objects/_label_object.py,sha256=uRgTkLHpIddtnDSyOPZrbjVZKduodPHDGA8WxpnxZE4,3572
22
- digsim/app/gui_objects/_logic_analyzer_object.py,sha256=b-Q9V7fDvA411-m0HZGYx4fUnUv6Pyf9ZuXCzIUaeZU,2674
23
- digsim/app/gui_objects/_seven_segment_object.py,sha256=qPR2tBbbjzwcH6pr5Yg6BrWHXcTzI5vQwCrF5l9lqm0,4262
24
- digsim/app/gui_objects/_shortcut_objects.py,sha256=Ze3kayeBV7lweurSEsj98_-ChBjB6OwZESp4M6Zgljs,2763
25
- digsim/app/gui_objects/_yosys_object.py,sha256=OucYqfEKQMLyj0Kma7BP0_6pM_3HUBMRKLs07V6l54M,955
26
- digsim/app/gui_objects/images/AND.png,sha256=d53gEcxIlfqmW-Q4Za3n5i_NmSEcjJqlbh8XxoSdR3o,12062
27
- digsim/app/gui_objects/images/Analyzer.png,sha256=1OrkKsL6ktxKI12KzNJT7rgEi2X-jAqp6vrVuVthErY,1591
28
- digsim/app/gui_objects/images/BUF.png,sha256=fd8DqEM3aht4cjoWuqsbHlTiQaFa9ddibe3iel1WYLo,12819
29
- digsim/app/gui_objects/images/Buzzer.png,sha256=sdAQehr03pEpQXrm2RTqUqDpUI15WU1ohFf4fB90uvI,5856
30
- digsim/app/gui_objects/images/Clock.png,sha256=NAsu1IKb2tiZ_oFs3C7t7Wzc3xzq-1PBLVm7NcT9whQ,3117
31
- digsim/app/gui_objects/images/DFF.png,sha256=OalrTM4XbMouEeB0xXg8nPy3gZzMxwnvgtF149XsTl0,9038
32
- digsim/app/gui_objects/images/DIP_SWITCH.png,sha256=8t2gdexuHn9Z3lUi7B7hNM71IxRMulgAn8T5TlFPqPM,16899
33
- digsim/app/gui_objects/images/FlipFlop.png,sha256=PLCMrH0CBXU6jgDTPpGsgEAqmgNN3c5hvU1sjZzOU40,4452
34
- digsim/app/gui_objects/images/IC.png,sha256=7YoAkD_5CrTIdmArjD_HjZyT9odAYuCwufDDpVC3Jsw,5493
35
- digsim/app/gui_objects/images/LED_OFF.png,sha256=bk-X-R-l8CvdD-xat0zI5pc9S1t6j0Ewx4G_vMt1sRE,7075
36
- digsim/app/gui_objects/images/LED_ON.png,sha256=YSYDNx8zjFoqEy9kuognaL8eL0acuVHV7b4ArlK_ol4,9389
37
- digsim/app/gui_objects/images/MUX.png,sha256=d8Q0qUJIRCdFQbxAg_sc4MJG3F6QRTbCT4ysgkCm6DE,1912
38
- digsim/app/gui_objects/images/NAND.png,sha256=W-dZPNg2Qh0M-FkA8Gbblh42EvMKtBI37IenZKDIbLE,11718
39
- digsim/app/gui_objects/images/NOR.png,sha256=eFaignMSIiUPJnc8VkIQ9Yg1iF6qVjrM9sA50EGqp9g,15091
40
- digsim/app/gui_objects/images/NOT.png,sha256=V1QoUHpBbEX2Tish4DIe_wImAVj-M9DL5QrNIKNo-nQ,12593
41
- digsim/app/gui_objects/images/ONE.png,sha256=ftnpl7_gMTLc08k08Ka_QfnLv5H1u5AhPitZNPe_42E,1212
42
- digsim/app/gui_objects/images/OR.png,sha256=54lsnUphLRwY9ioOOqAsRW0KRVTNOHZOPBKosXUTAOc,14870
43
- digsim/app/gui_objects/images/PB.png,sha256=bhnhD-Ood9hSBFr-aia2iCPT_Q7VYBaEq076sqU3DBY,8468
44
- digsim/app/gui_objects/images/Switch_OFF.png,sha256=ta11PvVIajT2gugj_SPK3mLn9_WaluqAK3t4aks9a-8,4752
45
- digsim/app/gui_objects/images/Switch_ON.png,sha256=fVo6Vi89-Fv32SsyWcRL9N7eDwDrTe1_hX6_602BR5A,4819
46
- digsim/app/gui_objects/images/XNOR.png,sha256=yoDcf5vn_OtcUnQQ3qSTLRqVTNBF_fmaGlpvXpWw_HE,14610
47
- digsim/app/gui_objects/images/XOR.png,sha256=yHfL2LnWVeepTunrgUF3Z5m3dVpQ1iuNL6EGKI1TAKs,16118
48
- digsim/app/gui_objects/images/YOSYS.png,sha256=etTO9jadU0amxQG7ySRjD6fME4HjrEEqXttM4XWDzxU,3117
49
- digsim/app/gui_objects/images/ZERO.png,sha256=hXnZgEVO3T_zN5CiFhu6cIXr19LAu6SdvX-sIOq06E4,3459
50
- digsim/app/images/app_icon.png,sha256=OfPoYA4o4Af79DTqQxSNLca0FdXRHEYteBK-xCQFEAw,16041
51
- digsim/app/model/__init__.py,sha256=djkoPeT3QoWyjzHdxTTAo7lpu9XbnXDvBBkffCAewms,161
52
- digsim/app/model/_model.py,sha256=MVrsIv8CZnITsVn79OyjJ9dMqajO5beEzhj7yJ_FCpE,6551
53
- digsim/app/model/_model_components.py,sha256=8x96YmkeHEaBYaB5i88G_Zf9MHcc05g8Go_YEBJ3R_o,6500
54
- digsim/app/model/_model_new_wire.py,sha256=5HnF5-gtKtB1Tp6ZIF7QuNo5zEHmsUpnBEmj6ZllLiA,1810
55
- digsim/app/model/_model_objects.py,sha256=mX7xMmLFYLZjwvG7CjpkWcKOfB5FPR1FgAe4mDSW1Vw,5078
56
- digsim/app/model/_model_settings.py,sha256=3nKzdhaSwYogC10-IFyNzbCsvXbmy9lrZ7hb_yRCyLg,1141
57
- digsim/app/model/_model_shortcuts.py,sha256=ovZ2uJC0rRYaLgf6UStPd4P33CiphvRmIOYx6c7M89M,2511
58
- digsim/app/settings/__init__.py,sha256=IAlekN6CEcw6G35sBfyCursMNs6G84HQNGuU1nEJ3gg,310
59
- digsim/app/settings/_component_settings.py,sha256=O5PL9NPNN63wzhECeA44SRx2nyYDXst6ODhFtv0hx-E,16311
60
- digsim/app/settings/_gui_settings.py,sha256=t1V9zCmiUUt8S_Edtayk79hzzjXvQKHwDT19w1XFVb0,2801
61
- digsim/app/settings/_shortcut_dialog.py,sha256=3lWNP6XKFcj1vW74XK0zv74qgU7Mp4xPSxVEvHuGGGM,1561
62
- digsim/circuit/__init__.py,sha256=WRm-UM1zVUvvIxzgSXapqKXGRqVwDKOq_TNXvJ-wkFI,218
63
- digsim/circuit/_circuit.py,sha256=YM3Rj2_DtxrP3oaWfAaFJkQGUopTmXQtOITZhszu8ZA,11823
64
- digsim/circuit/_waves_writer.py,sha256=tdh8Na_JoaC2gRHCPAK-UXEAgTC_ZcGHPBCAO7aekWA,1710
65
- digsim/circuit/components/__init__.py,sha256=YlrIUxtpi0K2ne3pEeMM0Z9s2h7y7ezOUbKNDQfT06Q,1269
66
- digsim/circuit/components/_bus_bits.py,sha256=0AvvteRnG4SpW_l-0e-cgBG85VxYlbfdVQFvQVSp88Y,1912
67
- digsim/circuit/components/_button.py,sha256=JK0yi48Putaf5RWJoPfD7kh9D4Gu5Nq2ZQKN3nnGOx0,1030
68
- digsim/circuit/components/_buzzer.py,sha256=zRvPhY8hdahDxfNTBzoGXJReQ_8iO3ot02Gz68szq2s,1125
69
- digsim/circuit/components/_clock.py,sha256=E6cINzY7_YXpHpr23Fn_V2_QhYLnPIZe0elxWozBUrY,1487
70
- digsim/circuit/components/_dip_switch.py,sha256=SX8vjNC2Nf0KZtXIRjBxz42fKJmp1qGHo4K0MJpg4N4,1807
71
- digsim/circuit/components/_flip_flops.py,sha256=eOB1hpSfK7vlpcOQzHqILpAzfwsqQPobC-_ebDxGVLw,2942
72
- digsim/circuit/components/_gates.py,sha256=_eQXmDCDnaE2QPjxoRa4QB0RB2YInPXW6JV1bPxiE0Q,7192
73
- digsim/circuit/components/_hexdigit.py,sha256=899_4hc02vWgpNVm7Ts7-PBHJc7Dc5hZFSJFayJuLQk,2257
74
- digsim/circuit/components/_ic.py,sha256=ppr6i7BpMiTdk889-TlFdANo0e-P4uDFeFA-666D1QQ,916
75
- digsim/circuit/components/_label_wire.py,sha256=NNlxwWCBGYGjQLiliqXRLGIkd3eOoCAVYW8tnPEI-sk,5112
76
- digsim/circuit/components/_led.py,sha256=djFGARGE1-DlTI7Xqd9eksqk6U1Cq8l51hLrzd_ut68,454
77
- digsim/circuit/components/_logic_analyzer.py,sha256=14iKsEifXXLIoZtm7ZOukHbFm7Y8TTTVO36Dplg-2hU,1809
78
- digsim/circuit/components/_mem64kbyte.py,sha256=tqex3qFxa7jk841f87inNB4UIY9E5z1SleqAL82eCUY,1482
79
- digsim/circuit/components/_memstdout.py,sha256=sCYkKH8XuWhB7-14VQOy7TkTgq-g0UDbhiI1HmM4HW8,1255
80
- digsim/circuit/components/_note.py,sha256=4o4bRw_7smKc_FGrVkhPwwIqC_500Vj_w8TrNtK1A8s,602
81
- digsim/circuit/components/_on_off_switch.py,sha256=bVLRJhBEdkNteSwW3v6ncloq6p8qWdqwx1I9azbRRjw,1202
82
- digsim/circuit/components/_seven_segment.py,sha256=8_qLkO6HVxDQuFGvg5ZxjziGMbMczydpPIbcHfpzTRg,798
83
- digsim/circuit/components/_static_level.py,sha256=bUzLf6Q0ASWFVhq5w2-PEm07yJO0reIF50SK0alJZjE,679
84
- digsim/circuit/components/_static_value.py,sha256=ZnrL2_x5HvXKc7kYJiv6-qGr6cHBI7M0pdk7y7YTzpI,1236
85
- digsim/circuit/components/_yosys_atoms.py,sha256=VYk2t0vWUAmvKSAkIQh6aEmZJ8oBo930-uUU5FrkK-s,37737
86
- digsim/circuit/components/_yosys_component.py,sha256=8wonCReHV3YSsV1a54v0MEMu0n-N7v3BhtEAZIkHkuM,8888
87
- digsim/circuit/components/atoms/__init__.py,sha256=1WJXjodu8Mkkmexn8wuHCfwXUI1OGRJMDAzeJccmGes,485
88
- digsim/circuit/components/atoms/_component.py,sha256=wzImlksBIup9vTmjoWZYx7ZdZsLzrleKAokn0EM0xaI,9865
89
- digsim/circuit/components/atoms/_digsim_exception.py,sha256=Y5mBve15zZbduqNNAyf7WzqDk4NtvUL_g2vYy5kBQ3U,173
90
- digsim/circuit/components/atoms/_port.py,sha256=AFsKnGcfOHCjy9P3W24-e15wRiIvSESc4Yk_JLL4q7I,12159
91
- digsim/circuit/components/ic/74162.json,sha256=BtLDDhNP4jYQD2EZ2nBHfUMRbuPztR54luLEpWl7j-o,26632
92
- digsim/circuit/components/ic/7448.json,sha256=7p9l6l_QSw6DtphZcGgBMMP0PyMB5DYglciMhqCKp04,21211
93
- digsim/synth/__init__.py,sha256=HMnCufXXuxr7ZevbrI5ugpAfpxjjiyjOnOtH94FCKXw,182
94
- digsim/synth/__main__.py,sha256=atk0KFpRg4ClaPhpQ-2PaP9ljrUKoCczc6mDKk18xFA,2175
95
- digsim/synth/_synthesis.py,sha256=LGTxedV-QWZBLAfFdCrpYhFQ0SSrneuletVQl4vkpiw,4047
96
- digsim/utils/__init__.py,sha256=1WW4WR61YIrehXvHp_fSTBkAUBb9G5v3npGQLYY_CvA,169
97
- digsim/utils/_yosys_netlist.py,sha256=g-7hkVgGOYJUQbKv8wBqHMHqj44utuGHGbtaRb-qG60,8562
98
- digsim_logic_simulator-0.3.0.dist-info/LICENSE.md,sha256=nx2x6ryeruncSHeHtF33WLjt5JARcm5rLdZuK_c8hL0,1688
99
- digsim_logic_simulator-0.3.0.dist-info/METADATA,sha256=Ni1snl7tdQhD6DpbbvPNMce3H3SBNz2D-ZrxKeBYhBE,6336
100
- digsim_logic_simulator-0.3.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
101
- digsim_logic_simulator-0.3.0.dist-info/top_level.txt,sha256=qpCMzQKADZHVqZIoQgFrv3qJ3u7PPU73gTCXQglqLa8,7
102
- digsim_logic_simulator-0.3.0.dist-info/RECORD,,