SimplHDL 0.5.3__tar.gz → 0.5.4__tar.gz

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.
Files changed (202) hide show
  1. {simplhdl-0.5.3 → simplhdl-0.5.4}/PKG-INFO +1 -1
  2. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/PKG-INFO +1 -1
  3. simplhdl-0.5.4/src/simplhdl/__init__.py +1 -0
  4. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/modelsim/modelsimflow.py +17 -0
  5. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/quartusexport/quartusexportflow.py +1 -1
  6. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/questasim/questasimflow.py +14 -0
  7. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generators/ipxact.py +6 -1
  8. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generators/spd.py +33 -24
  9. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/__init__.py +10 -1
  10. simplhdl-0.5.3/src/simplhdl/__init__.py +0 -1
  11. {simplhdl-0.5.3 → simplhdl-0.5.4}/.github/workflows/publish.yml +0 -0
  12. {simplhdl-0.5.3 → simplhdl-0.5.4}/.gitignore +0 -0
  13. {simplhdl-0.5.3 → simplhdl-0.5.4}/.readthedocs.yaml +0 -0
  14. {simplhdl-0.5.3 → simplhdl-0.5.4}/LICENSE +0 -0
  15. {simplhdl-0.5.3 → simplhdl-0.5.4}/README.md +0 -0
  16. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/_static/simplhdl_dark.png +0 -0
  17. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/_static/simplhdl_light.png +0 -0
  18. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/_static/simplhdl_light_1.png +0 -0
  19. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/conf.py +0 -0
  20. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/drawing.svg +0 -0
  21. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/ghdl.rst +0 -0
  22. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/icarus.rst +0 -0
  23. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/quartus.rst +0 -0
  24. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/questasim.rst +0 -0
  25. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/vcs.rst +0 -0
  26. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/vivado.rst +0 -0
  27. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows/xsim.rst +0 -0
  28. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/flows.rst +0 -0
  29. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/index.rst +0 -0
  30. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/intel-ips.md +0 -0
  31. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/introduction.rst +0 -0
  32. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/plugins.rst +0 -0
  33. {simplhdl-0.5.3 → simplhdl-0.5.4}/docs/requirements.txt +0 -0
  34. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/adder.yml +0 -0
  35. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/hdl/adder.sv +0 -0
  36. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/sim/testbench.sv +0 -0
  37. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/sim/testbench.yml +0 -0
  38. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/syn/build.yml +0 -0
  39. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/syn/placement.xdc +0 -0
  40. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/syn/timing.xdc +0 -0
  41. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/adder/syn/top.sv +0 -0
  42. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/alu.yml +0 -0
  43. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/hdl/add.sv +0 -0
  44. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/hdl/alu.sv +0 -0
  45. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/hdl/mul.sv +0 -0
  46. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/hdl/sub.sv +0 -0
  47. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
  48. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
  49. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
  50. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
  51. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
  52. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
  53. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
  54. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
  55. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
  56. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
  57. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
  58. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
  59. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
  60. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
  61. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
  62. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
  63. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
  64. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
  65. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
  66. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
  67. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
  68. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
  69. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
  70. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
  71. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
  72. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
  73. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
  74. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
  75. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
  76. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
  77. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
  78. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
  79. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
  80. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/syn/build.yml +0 -0
  81. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/syn/placement.xdc +0 -0
  82. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/alu/syn/timing.xdc +0 -0
  83. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/hello/build.sbt +0 -0
  84. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/hello/hello.yml +0 -0
  85. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
  86. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/hdl/hello/syn/build.yml +0 -0
  87. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/plugins/simple_parser/setup.py +0 -0
  88. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
  89. {simplhdl-0.5.3 → simplhdl-0.5.4}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
  90. {simplhdl-0.5.3 → simplhdl-0.5.4}/pyproject.toml +0 -0
  91. {simplhdl-0.5.3 → simplhdl-0.5.4}/setup.cfg +0 -0
  92. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
  93. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
  94. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/entry_points.txt +0 -0
  95. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/requires.txt +0 -0
  96. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/SimplHDL.egg-info/top_level.txt +0 -0
  97. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/__main__.py +0 -0
  98. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/cocotb.py +0 -0
  99. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flow.py +0 -0
  100. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/__init__.py +0 -0
  101. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/encrypt/__init__.py +0 -0
  102. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/encrypt/encryptflow.py +0 -0
  103. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
  104. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/implementationflow.py +0 -0
  105. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/lint/lintflow.py +0 -0
  106. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/modelsim/__init__.py +0 -0
  107. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
  108. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
  109. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/quartusexport/__init__.py +0 -0
  110. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/quartusflow.py +0 -0
  111. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/questasim/__init__.py +0 -0
  112. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
  113. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
  114. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/simulationflow.py +0 -0
  115. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/vcs/__init__.py +0 -0
  116. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
  117. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/verible/__init__.py +0 -0
  118. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/verible/veribleflow.py +0 -0
  119. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/vivadoflow.py +0 -0
  120. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/vsg/__init__.py +0 -0
  121. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
  122. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/xsim/__init__.py +0 -0
  123. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
  124. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generator.py +0 -0
  125. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generators/__init__.py +0 -0
  126. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generators/chisel.py +0 -0
  127. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/generators/systemrdl.py +0 -0
  128. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/info.py +0 -0
  129. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/parser.py +0 -0
  130. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/parsers/__init__.py +0 -0
  131. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/parsers/fusesocparser.py +0 -0
  132. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/parsers/simplhdlparser.py +0 -0
  133. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/plugins.py +0 -0
  134. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/attributes.py +0 -0
  135. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/design.py +0 -0
  136. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/fileset.py +0 -0
  137. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/filetypes.py +0 -0
  138. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/project.py +0 -0
  139. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/target.py +0 -0
  140. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
  141. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/repo.py +0 -0
  142. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/__init__.py +0 -0
  143. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/__init__.py +0 -0
  144. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
  145. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
  146. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
  147. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/__init__.py +0 -0
  148. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
  149. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
  150. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
  151. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
  152. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
  153. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
  154. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
  155. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
  156. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +0 -0
  157. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
  158. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
  159. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
  160. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +0 -0
  161. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
  162. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
  163. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
  164. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
  165. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
  166. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
  167. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
  168. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
  169. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
  170. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
  171. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
  172. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
  173. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
  174. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
  175. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
  176. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
  177. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
  178. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
  179. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
  180. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
  181. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
  182. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
  183. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
  184. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
  185. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
  186. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
  187. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
  188. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
  189. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
  190. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
  191. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
  192. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
  193. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
  194. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
  195. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
  196. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
  197. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/run.py +0 -0
  198. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/simplhdl.py +0 -0
  199. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/tools.py +0 -0
  200. {simplhdl-0.5.3 → simplhdl-0.5.4}/src/simplhdl/utils.py +0 -0
  201. {simplhdl-0.5.3 → simplhdl-0.5.4}/tests/test_dummy.py +0 -0
  202. {simplhdl-0.5.3 → simplhdl-0.5.4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SimplHDL
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: A framework for simulating and implementing HDL designs
5
5
  Author-email: Rasmus Grøndahl Olsen <simplhdl@gmail.com>
6
6
  Maintainer-email: Rasmus Grøndahl Olsen <simplhdl@gmail.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SimplHDL
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: A framework for simulating and implementing HDL designs
5
5
  Author-email: Rasmus Grøndahl Olsen <simplhdl@gmail.com>
6
6
  Maintainer-email: Rasmus Grøndahl Olsen <simplhdl@gmail.com>
@@ -0,0 +1 @@
1
+ __version__ = "0.5.4"
@@ -6,6 +6,7 @@ from pathlib import Path
6
6
  from typing import Any, List, Dict, Optional
7
7
  from argparse import Namespace
8
8
  from jinja2 import Template
9
+ from simplhdl.pyedaa import ModelsimIniFile
9
10
  from simplhdl.pyedaa.project import Project
10
11
  from simplhdl.pyedaa.fileset import FileSet
11
12
  from simplhdl.utils import sh, escape
@@ -225,6 +226,22 @@ class ModelSimFlow(SimulationFlow):
225
226
  library = ''
226
227
  return library
227
228
 
229
+ def generate(self):
230
+ super().generate()
231
+ self.copy_modelsim_ini()
232
+
233
+ def copy_modelsim_ini(self):
234
+ files = list(self.project.DefaultDesign.Files(ModelsimIniFile))
235
+ if len(files) > 1:
236
+ logger.warning("Multiple modelsim.ini files found in project. Only the first file will be used.")
237
+ for i, file in enumerate(reversed(files)):
238
+ if i > 0:
239
+ logger.warning(f"ignore {file.Path}")
240
+ else:
241
+ logger.debug(f"Copy {file.Path} to {self.builddir}")
242
+ logger.info(f"Use {file.Path}")
243
+ shutil.copy(file.Path.absolute(), self.builddir.absolute())
244
+
228
245
  def execute(self, step: str) -> None:
229
246
  self.run_hooks('pre')
230
247
 
@@ -108,7 +108,7 @@ class QuartusExportFlow(ImplementationFlow):
108
108
  shutil.rmtree(self.builddir.joinpath('dni'))
109
109
  shutil.rmtree(self.builddir.joinpath('qdb'))
110
110
  os.remove(self.builddir.joinpath('project.tcl'))
111
- except FileNotFoundError as e:
111
+ except FileNotFoundError:
112
112
  pass
113
113
 
114
114
  def archive_project(self) -> None:
@@ -14,6 +14,7 @@ from typing import Any, List, Dict, Optional
14
14
  from argparse import Namespace
15
15
  from jinja2 import Template
16
16
  from simplhdl.pyedaa.project import Project
17
+ from simplhdl.pyedaa import ModelsimIniFile
17
18
  from simplhdl.utils import sh, escape
18
19
  from simplhdl.flow import FlowFactory, FlowTools
19
20
  from simplhdl.info import Info
@@ -348,6 +349,18 @@ class QuestaSimFlow(SimulationFlow):
348
349
  logger.warning("Visualizer is not setup correctly")
349
350
  return False
350
351
 
352
+ def copy_modelsim_ini(self):
353
+ files = list(self.project.DefaultDesign.Files(ModelsimIniFile))
354
+ if len(files) > 1:
355
+ logger.warning("Multiple modelsim.ini files found in project. Only the first file will be used.")
356
+ for i, file in enumerate(reversed(files)):
357
+ if i > 0:
358
+ logger.warning(f"ignore {file.Path}")
359
+ else:
360
+ logger.debug(f"Copy {file.Path} to {self.builddir}")
361
+ logger.info(f"Use {file.Path}")
362
+ shutil.copy(file.Path.absolute(), self.builddir.absolute())
363
+
351
364
  def generate(self):
352
365
  templatedir = resources_files(self.templates)
353
366
  env = Environment(
@@ -362,6 +375,7 @@ class QuestaSimFlow(SimulationFlow):
362
375
  for template in templates:
363
376
  generate_from_template(template, self.builddir, self.get_globals())
364
377
  self.copy_memory_files()
378
+ self.copy_modelsim_ini()
365
379
 
366
380
  def get_qrun_version(self) -> float:
367
381
  output = sh(['qrun', '-version'], self.builddir)
@@ -10,7 +10,9 @@ from zipfile import ZipFile
10
10
  from ..generator import GeneratorFactory, GeneratorBase
11
11
  from ..utils import md5write, md5check
12
12
  from ..flow import FlowBase, FlowCategory
13
+ from ..pyedaa import SIMULATION
13
14
  from ..pyedaa.fileset import FileSet
15
+ from ..pyedaa.attributes import UsedIn
14
16
  from ..pyedaa.vhdllibrary import VHDLLibrary
15
17
  from ..pyedaa import (
16
18
  File, SystemVerilogSourceFile, TCLSourceFile, ConstraintFile, HDLSourceFile,
@@ -198,7 +200,10 @@ class VivadoIP(GeneratorBase):
198
200
  def run(self, flow: FlowBase):
199
201
  if flow.category == FlowCategory.SIMULATION:
200
202
  os.makedirs(self.builddir, exist_ok=True)
201
- for ipfile in self.project.DefaultDesign.DefaultFileSet.Files(fileType=VivadoIPSpecificationFile):
203
+ ipfiles = list(self.project.DefaultDesign.DefaultFileSet.Files(fileType=VivadoIPSpecificationFile))
204
+ ipfiles = [f for f in ipfiles if SIMULATION in f[UsedIn]]
205
+
206
+ for ipfile in ipfiles:
202
207
  newipfile = self.unpack_ip(ipfile)
203
208
  files = self.get_files(newipfile.Path)
204
209
  last_lib = ''
@@ -23,6 +23,7 @@ from simplhdl.pyedaa import (
23
23
  QuartusQSYSCompressedSpecificationFile,
24
24
  QuartusQIPSpecificationFile
25
25
  )
26
+ from simplhdl.pyedaa import SIMULATION, IMPLEMENTATION
26
27
  from simplhdl.pyedaa.fileset import FileSet
27
28
  from simplhdl.pyedaa.attributes import UsedIn
28
29
  from simplhdl.flow import FlowBase, FlowCategory, FlowTools
@@ -183,34 +184,42 @@ class QuartusIP(GeneratorBase):
183
184
  filename._path = dest.with_suffix('.ip').absolute()
184
185
  return filename
185
186
 
186
- def run(self, flow: FlowBase) -> None:
187
+ def run(self, flow: FlowBase) -> None: # noqa: C901
187
188
  seen = dict()
188
189
  self.flow = flow
189
190
  ip_dir = self.builddir.joinpath('ips')
190
191
  qsys_dir = self.builddir.joinpath('qsys')
191
- files = list(self.project.DefaultDesign.DefaultFileSet.Files(fileType=QuartusIPSpecificationFile))
192
- # files = filter_duplicated_files(files)
193
- if not flow.category == FlowCategory.DEFAULT:
194
- for file in files:
195
- # The second time we see a file it is already proccessed and we just
196
- # Update the file path
197
- fileid = str(file.Path.resolve())
198
- if fileid in seen:
199
- file._path = seen.get(fileid)._path
200
- continue
201
- if file.FileType == QuartusQIPSpecificationFile:
202
- continue
203
- elif file.FileType == QuartusIPCompressedSpecificationFile:
204
- file = unpack_ipfile(file, ip_dir)
205
- elif file.FileType == QuartusIPSpecificationFile:
206
- file = copy_ipfile(file, ip_dir)
207
- elif file.FileType == QuartusQSYSCompressedSpecificationFile:
208
- file = unpack_qsysfile(file, qsys_dir)
209
- elif file.FileType == QuartusQSYSSpecificationFile:
210
- file = copy_qsysfile(file, qsys_dir)
211
- parse_file(file, flow, self.project.DefaultDesign.DefaultFileSet.VHDLLibrary)
212
- # register the file as seen
213
- seen[fileid] = file
192
+ all_files = list(self.project.DefaultDesign.DefaultFileSet.Files(fileType=QuartusIPSpecificationFile))
193
+
194
+ if flow.category == FlowCategory.SIMULATION:
195
+ files = [f for f in all_files if SIMULATION in f[UsedIn]]
196
+ elif flow.category == FlowCategory.IMPLEMENTATION:
197
+ files = [f for f in all_files if IMPLEMENTATION in f[UsedIn]]
198
+ elif flow.category == FlowCategory.DEFAULT:
199
+ return
200
+ else:
201
+ files = all_files
202
+
203
+ for file in files:
204
+ # The second time we see a file it is already proccessed and we just
205
+ # Update the file path
206
+ fileid = str(file.Path.resolve())
207
+ if fileid in seen:
208
+ file._path = seen.get(fileid)._path
209
+ continue
210
+ if file.FileType == QuartusQIPSpecificationFile:
211
+ continue
212
+ elif file.FileType == QuartusIPCompressedSpecificationFile:
213
+ file = unpack_ipfile(file, ip_dir)
214
+ elif file.FileType == QuartusIPSpecificationFile:
215
+ file = copy_ipfile(file, ip_dir)
216
+ elif file.FileType == QuartusQSYSCompressedSpecificationFile:
217
+ file = unpack_qsysfile(file, qsys_dir)
218
+ elif file.FileType == QuartusQSYSSpecificationFile:
219
+ file = copy_qsysfile(file, qsys_dir)
220
+ parse_file(file, flow, self.project.DefaultDesign.DefaultFileSet.VHDLLibrary)
221
+ # register the file as seen
222
+ seen[fileid] = file
214
223
 
215
224
 
216
225
  def parse_qsys(filename: QuartusQSYSSpecificationFile) -> List[File]:
@@ -102,7 +102,9 @@ class TCLSourceFile(pm.TCLSourceFile):
102
102
 
103
103
 
104
104
  class IPSpecificationFile(File, pm.XMLContent):
105
- pass
105
+ def _registerAttributes(self):
106
+ super()._registerAttributes()
107
+ FileMixIn._registerAttributes(self)
106
108
 
107
109
 
108
110
  class NetlistFile(pm.NetlistFile, FileMixIn):
@@ -204,3 +206,10 @@ class MemoryInitFile(File):
204
206
  def _registerAttributes(self):
205
207
  super()._registerAttributes()
206
208
  FileMixIn._registerAttributes(self)
209
+
210
+
211
+ class ModelsimIniFile(File):
212
+ def _registerAttributes(self):
213
+ super()._registerAttributes()
214
+ FileMixIn._registerAttributes(self)
215
+ self[UsedIn] = {SIMULATION}
@@ -1 +0,0 @@
1
- __version__ = "0.5.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes