SimplHDL 0.5.0__tar.gz → 0.5.2__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.0 → simplhdl-0.5.2}/PKG-INFO +3 -2
  2. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/PKG-INFO +3 -2
  3. simplhdl-0.5.2/src/simplhdl/__init__.py +1 -0
  4. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/__main__.py +1 -1
  5. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/quartusexport/quartusexportflow.py +30 -11
  6. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/quartusflow.py +20 -5
  7. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/questasim/questasimflow.py +12 -0
  8. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generators/spd.py +6 -1
  9. simplhdl-0.5.0/src/simplhdl/__init__.py +0 -1
  10. {simplhdl-0.5.0 → simplhdl-0.5.2}/.github/workflows/publish.yml +0 -0
  11. {simplhdl-0.5.0 → simplhdl-0.5.2}/.gitignore +0 -0
  12. {simplhdl-0.5.0 → simplhdl-0.5.2}/.readthedocs.yaml +0 -0
  13. {simplhdl-0.5.0 → simplhdl-0.5.2}/LICENSE +0 -0
  14. {simplhdl-0.5.0 → simplhdl-0.5.2}/README.md +0 -0
  15. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/_static/simplhdl_dark.png +0 -0
  16. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/_static/simplhdl_light.png +0 -0
  17. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/_static/simplhdl_light_1.png +0 -0
  18. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/conf.py +0 -0
  19. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/drawing.svg +0 -0
  20. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/ghdl.rst +0 -0
  21. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/icarus.rst +0 -0
  22. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/quartus.rst +0 -0
  23. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/questasim.rst +0 -0
  24. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/vcs.rst +0 -0
  25. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/vivado.rst +0 -0
  26. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows/xsim.rst +0 -0
  27. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/flows.rst +0 -0
  28. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/index.rst +0 -0
  29. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/intel-ips.md +0 -0
  30. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/introduction.rst +0 -0
  31. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/plugins.rst +0 -0
  32. {simplhdl-0.5.0 → simplhdl-0.5.2}/docs/requirements.txt +0 -0
  33. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/adder.yml +0 -0
  34. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/hdl/adder.sv +0 -0
  35. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/sim/testbench.sv +0 -0
  36. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/sim/testbench.yml +0 -0
  37. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/syn/build.yml +0 -0
  38. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/syn/placement.xdc +0 -0
  39. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/syn/timing.xdc +0 -0
  40. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/adder/syn/top.sv +0 -0
  41. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/alu.yml +0 -0
  42. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/hdl/add.sv +0 -0
  43. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/hdl/alu.sv +0 -0
  44. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/hdl/mul.sv +0 -0
  45. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/hdl/sub.sv +0 -0
  46. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
  47. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
  48. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
  49. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
  50. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
  51. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
  52. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
  53. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
  54. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
  55. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
  56. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
  57. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
  58. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
  59. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
  60. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
  61. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
  62. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
  63. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
  64. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
  65. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
  66. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
  67. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
  68. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
  69. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
  70. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
  71. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
  72. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
  73. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
  74. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
  75. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
  76. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
  77. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
  78. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
  79. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/syn/build.yml +0 -0
  80. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/syn/placement.xdc +0 -0
  81. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/alu/syn/timing.xdc +0 -0
  82. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/hello/build.sbt +0 -0
  83. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/hello/hello.yml +0 -0
  84. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
  85. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/hdl/hello/syn/build.yml +0 -0
  86. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/plugins/simple_parser/setup.py +0 -0
  87. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
  88. {simplhdl-0.5.0 → simplhdl-0.5.2}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
  89. {simplhdl-0.5.0 → simplhdl-0.5.2}/pyproject.toml +0 -0
  90. {simplhdl-0.5.0 → simplhdl-0.5.2}/setup.cfg +0 -0
  91. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
  92. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
  93. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/entry_points.txt +0 -0
  94. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/requires.txt +0 -0
  95. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/SimplHDL.egg-info/top_level.txt +0 -0
  96. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/cocotb.py +0 -0
  97. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flow.py +0 -0
  98. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/__init__.py +0 -0
  99. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/encrypt/__init__.py +0 -0
  100. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/encrypt/encryptflow.py +0 -0
  101. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
  102. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/implementationflow.py +0 -0
  103. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/lint/lintflow.py +0 -0
  104. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/modelsim/__init__.py +0 -0
  105. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/modelsim/modelsimflow.py +0 -0
  106. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
  107. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
  108. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/quartusexport/__init__.py +0 -0
  109. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/questasim/__init__.py +0 -0
  110. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
  111. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
  112. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/simulationflow.py +0 -0
  113. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/vcs/__init__.py +0 -0
  114. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
  115. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/verible/__init__.py +0 -0
  116. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/verible/veribleflow.py +0 -0
  117. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/vivadoflow.py +0 -0
  118. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/vsg/__init__.py +0 -0
  119. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
  120. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/xsim/__init__.py +0 -0
  121. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
  122. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generator.py +0 -0
  123. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generators/__init__.py +0 -0
  124. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generators/chisel.py +0 -0
  125. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generators/ipxact.py +0 -0
  126. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/generators/systemrdl.py +0 -0
  127. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/info.py +0 -0
  128. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/parser.py +0 -0
  129. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/parsers/__init__.py +0 -0
  130. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/parsers/fusesocparser.py +0 -0
  131. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/parsers/simplhdlparser.py +0 -0
  132. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/plugins.py +0 -0
  133. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/__init__.py +0 -0
  134. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/attributes.py +0 -0
  135. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/design.py +0 -0
  136. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/fileset.py +0 -0
  137. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/filetypes.py +0 -0
  138. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/project.py +0 -0
  139. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/target.py +0 -0
  140. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
  141. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/repo.py +0 -0
  142. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/__init__.py +0 -0
  143. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/__init__.py +0 -0
  144. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
  145. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
  146. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
  147. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/__init__.py +0 -0
  148. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
  149. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
  150. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
  151. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
  152. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
  153. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
  154. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
  155. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
  156. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +0 -0
  157. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
  158. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
  159. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
  160. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +0 -0
  161. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
  162. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
  163. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
  164. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
  165. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
  166. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
  167. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
  168. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
  169. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
  170. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
  171. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
  172. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
  173. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
  174. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
  175. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
  176. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
  177. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
  178. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
  179. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
  180. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
  181. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
  182. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
  183. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
  184. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
  185. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
  186. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
  187. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
  188. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
  189. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
  190. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
  191. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
  192. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
  193. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
  194. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
  195. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
  196. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
  197. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/run.py +0 -0
  198. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/simplhdl.py +0 -0
  199. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/tools.py +0 -0
  200. {simplhdl-0.5.0 → simplhdl-0.5.2}/src/simplhdl/utils.py +0 -0
  201. {simplhdl-0.5.0 → simplhdl-0.5.2}/tests/test_dummy.py +0 -0
  202. {simplhdl-0.5.0 → simplhdl-0.5.2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: SimplHDL
3
- Version: 0.5.0
3
+ Version: 0.5.2
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>
@@ -56,6 +56,7 @@ Requires-Dist: rich
56
56
  Requires-Dist: vsg
57
57
  Requires-Dist: flake8
58
58
  Requires-Dist: black
59
+ Dynamic: license-file
59
60
 
60
61
  ## Introduction
61
62
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: SimplHDL
3
- Version: 0.5.0
3
+ Version: 0.5.2
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>
@@ -56,6 +56,7 @@ Requires-Dist: rich
56
56
  Requires-Dist: vsg
57
57
  Requires-Dist: flake8
58
58
  Requires-Dist: black
59
+ Dynamic: license-file
59
60
 
60
61
  ## Introduction
61
62
 
@@ -0,0 +1 @@
1
+ __version__ = "0.5.2"
@@ -65,7 +65,7 @@ def main():
65
65
  try:
66
66
  load_plugins()
67
67
  args = parse_arguments()
68
- levels = [logging.WARNING, logging.INFO, logging.DEBUG, logging.NOTSET]
68
+ levels = [logging.INFO, logging.DEBUG, logging.NOTSET]
69
69
  level = levels[min(args.verbose, len(levels)-1)]
70
70
  logging.basicConfig(level=level)
71
71
  simpl = Simplhdl(args)
@@ -1,6 +1,7 @@
1
1
  import shutil
2
2
  import logging
3
3
  import zipfile
4
+ import os
4
5
 
5
6
  from argparse import Namespace
6
7
  from pathlib import Path
@@ -56,38 +57,45 @@ class QuartusExportFlow(ImplementationFlow):
56
57
  self.vendors = ['mentor', 'synopsys']
57
58
  self.templates = templates
58
59
  self.tools.add(FlowTools.QUARTUS)
60
+ self.rootdir = self.directory_root()
61
+
62
+ def directory_root(self):
63
+ files = list()
64
+ for file in [f for f in self.project.DefaultDesign.Files() if 'implementation' in f[UsedIn]]:
65
+ if isinstance(file, SettingFile):
66
+ continue
67
+ elif isinstance(file, (ConstraintFile, QuartusQIPSpecificationFile)):
68
+ pass
69
+ elif isinstance(file, (HDLSearchPath, QuartusIPSpecificationFile)):
70
+ continue
71
+ files.append(file.Path.absolute())
72
+ return Path(os.path.commonpath(files))
59
73
 
60
74
  def copy_files(self):
61
75
  seen = dict()
62
76
  files = [f for f in self.project.DefaultDesign.Files() if 'implementation' in f[UsedIn]]
63
77
  for file in files:
64
78
  fileid = str(file.Path.resolve())
79
+ dest = self.builddir.joinpath('src', file.Path.relative_to(self.rootdir))
65
80
  if fileid in seen:
66
81
  file._path = seen.get(fileid)._path
67
82
  continue
68
83
  elif isinstance(file, SettingFile):
69
84
  continue
70
85
  elif isinstance(file, (ConstraintFile, QuartusQIPSpecificationFile)):
71
- dest = self.builddir.joinpath('constraints', file.Path.name)
72
86
  dest.parent.mkdir(parents=True, exist_ok=True)
73
87
  shutil.copyfile(file.Path, dest)
74
88
  elif isinstance(file, (HDLSearchPath, QuartusIPSpecificationFile)):
75
89
  dest = file.Path
76
90
  elif isinstance(file, (HDLSourceFile, HDLIncludeFile)):
77
- if isinstance(file, HDLSourceFile):
78
- dest = self.builddir.joinpath('rtl', file.Path.name)
79
- else:
80
- dest = self.builddir.joinpath('rtl', 'include', file.Path.name)
81
91
  dest.parent.mkdir(parents=True, exist_ok=True)
82
92
  if self.args.encrypt:
83
93
  encrypt(file.Path, dest, language=get_language(file), vendors=self.vendors)
84
94
  else:
85
95
  shutil.copyfile(file.Path, dest)
86
96
  else:
87
- dest = self.builddir.joinpath('misc', file.Path.name)
88
97
  dest.parent.mkdir(parents=True, exist_ok=True)
89
98
  shutil.copyfile(file.Path, dest)
90
- file._path = dest.absolute().relative_to(self.builddir.absolute())
91
99
  # Convert to relative path
92
100
  file._path = dest.absolute().relative_to(self.builddir.absolute())
93
101
  seen[fileid] = file
@@ -96,14 +104,25 @@ class QuartusExportFlow(ImplementationFlow):
96
104
  args = Namespace(step='project', archive=False, gui=False)
97
105
  quartus = QuartusFlow('quartus', args, self.project, self.builddir)
98
106
  quartus.run()
107
+ try:
108
+ shutil.rmtree(self.builddir.joinpath('dni'))
109
+ shutil.rmtree(self.builddir.joinpath('qdb'))
110
+ os.remove(self.builddir.joinpath('project.tcl'))
111
+ except FileNotFoundError as e:
112
+ pass
99
113
 
100
114
  def archive_project(self) -> None:
115
+ tmp = output = self.builddir.parent.joinpath(self.project.Name).with_suffix('.zip')
101
116
  if self.args.archivefile:
102
- archive(self.builddir, self.args.archivefile)
117
+ tmp = output = self.builddir.parent.joinpath(self.args.archivefile.stem).with_suffix('.zip')
118
+ output = self.args.archivefile
103
119
  else:
104
- output = self.builddir.parrent.joinpath(self.project.Name).with_suffix('.zip')
105
- archive(self.builddir, output)
106
- shutil.move(output, self.builddir)
120
+ tmp = output = self.builddir.parent.joinpath(self.project.Name).with_suffix('.zip')
121
+ output = self.builddir.joinpath(tmp.name)
122
+ archive(self.builddir, tmp)
123
+ if output.exists():
124
+ os.remove(output)
125
+ shutil.move(tmp, output)
107
126
 
108
127
  def run(self) -> None:
109
128
  self.copy_files()
@@ -14,11 +14,25 @@ from ..flow import FlowFactory, FlowTools
14
14
  from .implementationflow import ImplementationFlow
15
15
  from ..resources.templates import quartus as templates
16
16
  from ..utils import sh, generate_from_template
17
- from ..pyedaa import (QuartusIPSpecificationFile, VerilogIncludeFile, VerilogSourceFile,
18
- SystemVerilogSourceFile, VHDLSourceFile, ConstraintFile,
19
- EDIFNetlistFile, NetlistFile, SettingFile, QuartusSignalTapFile,
20
- QuartusIniFile, QuartusQIPSpecificationFile, QuartusQSYSSpecificationFile,
21
- HDLSearchPath, VerilogIncludeSearchPath, MemoryInitFile)
17
+ from ..pyedaa import (
18
+ VerilogIncludeFile,
19
+ VerilogSourceFile,
20
+ SystemVerilogSourceFile,
21
+ VHDLSourceFile,
22
+ ConstraintFile,
23
+ EDIFNetlistFile,
24
+ NetlistFile,
25
+ SettingFile,
26
+ HDLSearchPath,
27
+ VerilogIncludeSearchPath,
28
+ MemoryInitFile,
29
+ QuartusSignalTapFile,
30
+ QuartusIniFile,
31
+ QuartusQIPSpecificationFile,
32
+ QuartusQSYSSpecificationFile,
33
+ QuartusIPSpecificationFile,
34
+ QuartusSourceTCLFile
35
+ )
22
36
  from ..pyedaa.project import Project
23
37
  from ..pyedaa.attributes import UsedIn
24
38
 
@@ -112,6 +126,7 @@ class QuartusFlow(ImplementationFlow):
112
126
  QuartusSignalTapFile=QuartusSignalTapFile,
113
127
  QuartusQIPSpecificationFile=QuartusQIPSpecificationFile,
114
128
  QuartusQSYSSpecificationFile=QuartusQSYSSpecificationFile,
129
+ QuartusSourceTCLFile=QuartusSourceTCLFile,
115
130
  QuartusIniFile=QuartusIniFile,
116
131
  MemoryInitFile=MemoryInitFile,
117
132
  project=self.project,
@@ -16,6 +16,7 @@ from jinja2 import Template
16
16
  from simplhdl.pyedaa.project import Project
17
17
  from simplhdl.utils import sh, escape
18
18
  from simplhdl.flow import FlowFactory, FlowTools
19
+ from simplhdl.info import Info
19
20
  from simplhdl.resources.templates import questasim as questasimtemplates
20
21
  from simplhdl.flows.simulationflow import SimulationFlow, FileSetWalker
21
22
  from simplhdl.utils import generate_from_template
@@ -45,6 +46,11 @@ class QuestaSimFlow(SimulationFlow):
45
46
  default='',
46
47
  help="flow step to run"
47
48
  )
49
+ parser.add_argument(
50
+ '--info',
51
+ action='store_true',
52
+ help="Print project"
53
+ )
48
54
  parser.add_argument(
49
55
  '-w',
50
56
  '--wavedump',
@@ -225,6 +231,12 @@ class QuestaSimFlow(SimulationFlow):
225
231
  sh(['qrun', '-clean'], cwd=self.builddir, output=True)
226
232
  return
227
233
 
234
+ if self.args.info:
235
+ args = Namespace(files=False, filesets=False, libraries=False, hooks=False)
236
+ info = Info(self.name, args, self.project, self.builddir)
237
+ info.run()
238
+ return
239
+
228
240
  self.run_hooks('pre')
229
241
 
230
242
  if step == 'generate':
@@ -258,7 +258,12 @@ def parse_file(file: File, flow: FlowBase, library) -> FileSet:
258
258
  return qsys_to_fileset(file, flow, library)
259
259
  elif file.FileType == QuartusIPSpecificationFile:
260
260
  if flow.category == FlowCategory.SIMULATION:
261
- return Spd(file.Path, flow)
261
+ spd = Spd(file.Path, flow)
262
+ parent = file.FileSet
263
+ for fileset in reversed(spd.filesets):
264
+ # Add fileset to parent, then set parent to fileset to make a chain
265
+ parent._fileSets[fileset.Name] = fileset
266
+ parent = fileset
262
267
  else:
263
268
  return file
264
269
  else:
@@ -1 +0,0 @@
1
- __version__ = "0.5.0"
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