SimplHDL 0.0.7__tar.gz → 0.1.0__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 (190) hide show
  1. {simplhdl-0.0.7 → simplhdl-0.1.0}/PKG-INFO +1 -1
  2. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/PKG-INFO +1 -1
  3. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/SOURCES.txt +1 -0
  4. simplhdl-0.1.0/src/simplhdl/__init__.py +1 -0
  5. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/questasim/questasimflow.py +26 -3
  6. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/simulationflow.py +10 -2
  7. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/vsg/vsgflow.py +1 -2
  8. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generators/spd.py +8 -3
  9. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/__init__.py +6 -0
  10. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +3 -3
  11. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/Makefile.j2 +1 -1
  12. {simplhdl-0.0.7/src/simplhdl/resources/templates/rivierapro → simplhdl-0.1.0/src/simplhdl/resources/templates/questasim}/project.mk.j2 +5 -3
  13. simplhdl-0.1.0/src/simplhdl/resources/templates/questasim/run.do.j2 +14 -0
  14. simplhdl-0.0.7/src/simplhdl/__init__.py +0 -1
  15. {simplhdl-0.0.7 → simplhdl-0.1.0}/.github/workflows/publish.yml +0 -0
  16. {simplhdl-0.0.7 → simplhdl-0.1.0}/.gitignore +0 -0
  17. {simplhdl-0.0.7 → simplhdl-0.1.0}/.readthedocs.yaml +0 -0
  18. {simplhdl-0.0.7 → simplhdl-0.1.0}/LICENSE +0 -0
  19. {simplhdl-0.0.7 → simplhdl-0.1.0}/README.md +0 -0
  20. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/_static/simplhdl_dark.png +0 -0
  21. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/_static/simplhdl_light.png +0 -0
  22. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/_static/simplhdl_light_1.png +0 -0
  23. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/conf.py +0 -0
  24. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/drawing.svg +0 -0
  25. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/ghdl.rst +0 -0
  26. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/icarus.rst +0 -0
  27. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/quartus.rst +0 -0
  28. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/questasim.rst +0 -0
  29. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/vcs.rst +0 -0
  30. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/vivado.rst +0 -0
  31. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows/xsim.rst +0 -0
  32. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/flows.rst +0 -0
  33. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/index.rst +0 -0
  34. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/intel-ips.md +0 -0
  35. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/introduction.rst +0 -0
  36. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/plugins.rst +0 -0
  37. {simplhdl-0.0.7 → simplhdl-0.1.0}/docs/requirements.txt +0 -0
  38. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/adder.yml +0 -0
  39. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/hdl/adder.sv +0 -0
  40. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/sim/testbench.sv +0 -0
  41. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/sim/testbench.yml +0 -0
  42. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/syn/build.yml +0 -0
  43. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/syn/placement.xdc +0 -0
  44. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/syn/timing.xdc +0 -0
  45. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/adder/syn/top.sv +0 -0
  46. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/alu.yml +0 -0
  47. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/hdl/add.sv +0 -0
  48. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/hdl/alu.sv +0 -0
  49. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/hdl/mul.sv +0 -0
  50. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/hdl/sub.sv +0 -0
  51. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
  52. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
  53. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
  54. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
  55. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
  56. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
  57. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
  58. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
  59. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
  60. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
  61. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
  62. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
  63. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
  64. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
  65. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
  66. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
  67. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
  68. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
  69. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
  70. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
  71. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
  72. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
  73. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
  74. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
  75. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
  76. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
  77. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
  78. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
  79. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
  80. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
  81. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
  82. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
  83. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
  84. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/syn/build.yml +0 -0
  85. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/syn/placement.xdc +0 -0
  86. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/alu/syn/timing.xdc +0 -0
  87. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/hello/build.sbt +0 -0
  88. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/hello/hello.yml +0 -0
  89. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
  90. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/hdl/hello/syn/build.yml +0 -0
  91. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/plugins/simple_parser/setup.py +0 -0
  92. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
  93. {simplhdl-0.0.7 → simplhdl-0.1.0}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
  94. {simplhdl-0.0.7 → simplhdl-0.1.0}/pyproject.toml +0 -0
  95. {simplhdl-0.0.7 → simplhdl-0.1.0}/setup.cfg +0 -0
  96. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
  97. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/entry_points.txt +0 -0
  98. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/requires.txt +0 -0
  99. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/SimplHDL.egg-info/top_level.txt +0 -0
  100. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/__main__.py +0 -0
  101. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/cocotb.py +0 -0
  102. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flow.py +0 -0
  103. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/__init__.py +0 -0
  104. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
  105. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/implementationflow.py +0 -0
  106. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/lint/lintflow.py +0 -0
  107. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/modelsimflow.py +0 -0
  108. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
  109. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
  110. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/quartusflow.py +0 -0
  111. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/questasim/__init__.py +0 -0
  112. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
  113. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
  114. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/vcs/__init__.py +0 -0
  115. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
  116. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/verible/__init__.py +0 -0
  117. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/verible/veribleflow.py +0 -0
  118. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/vivadoflow.py +0 -0
  119. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/vsg/__init__.py +0 -0
  120. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/xsim/__init__.py +0 -0
  121. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
  122. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generator.py +0 -0
  123. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generators/__init__.py +0 -0
  124. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generators/chisel.py +0 -0
  125. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generators/ipxact.py +0 -0
  126. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/generators/systemrdl.py +0 -0
  127. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/info.py +0 -0
  128. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/parser.py +0 -0
  129. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/parsers/__init__.py +0 -0
  130. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/parsers/fusesocparser.py +0 -0
  131. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/parsers/simplhdlparser.py +0 -0
  132. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/plugins.py +0 -0
  133. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/attributes.py +0 -0
  134. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/design.py +0 -0
  135. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/fileset.py +0 -0
  136. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/filetypes.py +0 -0
  137. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/project.py +0 -0
  138. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
  139. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/repo.py +0 -0
  140. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/__init__.py +0 -0
  141. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/__init__.py +0 -0
  142. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
  143. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
  144. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
  145. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
  146. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
  147. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/cocotb.mk.j2 +0 -0
  148. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/dependencies.mk.j2 +0 -0
  149. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/files.j2 +0 -0
  150. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/fileset.j2 +0 -0
  151. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/questasim/gui.do.j2 +0 -0
  152. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
  153. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
  154. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
  155. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
  156. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
  157. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
  158. {simplhdl-0.0.7/src/simplhdl/resources/templates/questasim → simplhdl-0.1.0/src/simplhdl/resources/templates/rivierapro}/project.mk.j2 +0 -0
  159. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
  160. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
  161. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
  162. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
  163. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
  164. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
  165. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
  166. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
  167. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
  168. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
  169. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
  170. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
  171. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
  172. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
  173. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
  174. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
  175. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
  176. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
  177. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
  178. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
  179. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
  180. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
  181. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
  182. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
  183. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
  184. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
  185. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
  186. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/simplhdl.py +0 -0
  187. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/tools.py +0 -0
  188. {simplhdl-0.0.7 → simplhdl-0.1.0}/src/simplhdl/utils.py +0 -0
  189. {simplhdl-0.0.7 → simplhdl-0.1.0}/tests/test_dummy.py +0 -0
  190. {simplhdl-0.0.7 → simplhdl-0.1.0}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SimplHDL
3
- Version: 0.0.7
3
+ Version: 0.1.0
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.1
2
2
  Name: SimplHDL
3
- Version: 0.0.7
3
+ Version: 0.1.0
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>
@@ -149,6 +149,7 @@ src/simplhdl/resources/templates/questasim/files.j2
149
149
  src/simplhdl/resources/templates/questasim/fileset.j2
150
150
  src/simplhdl/resources/templates/questasim/gui.do.j2
151
151
  src/simplhdl/resources/templates/questasim/project.mk.j2
152
+ src/simplhdl/resources/templates/questasim/run.do.j2
152
153
  src/simplhdl/resources/templates/rivierapro/Makefile.j2
153
154
  src/simplhdl/resources/templates/rivierapro/__init__.py
154
155
  src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -31,10 +31,22 @@ class QuestaSimFlow(SimulationFlow):
31
31
  )
32
32
  parser.add_argument(
33
33
  '-w',
34
- '--wave',
34
+ '--wavedump',
35
35
  action='store_true',
36
36
  help="Dump waveforms"
37
37
  )
38
+ parser.add_argument(
39
+ '--waveformat',
40
+ action='store',
41
+ choices=['wlf', 'vcd', 'evcd'],
42
+ default='wlf',
43
+ help="Wave file format"
44
+ )
45
+ parser.add_argument(
46
+ '--debug',
47
+ action='store_true',
48
+ help="Enable full debug capabilities"
49
+ )
38
50
  parser.add_argument(
39
51
  '--gui',
40
52
  action='store_true',
@@ -111,13 +123,16 @@ class QuestaSimFlow(SimulationFlow):
111
123
  globals['vcom_args'] = self.vcom_args()
112
124
  globals['vopt_args'] = self.vopt_args()
113
125
  globals['vsim_args'] = self.vsim_args()
126
+ globals['wavedump'] = self.args.wavedump
127
+ globals['waveformat'] = self.args.waveformat
114
128
  return globals
115
129
 
116
130
  def get_project_templates(self, environment) -> List[Template]:
117
131
  return [
118
132
  environment.get_template('Makefile.j2'),
119
133
  environment.get_template('project.mk.j2'),
120
- environment.get_template('gui.do.j2')
134
+ environment.get_template('gui.do.j2'),
135
+ environment.get_template('run.do.j2')
121
136
  ]
122
137
 
123
138
  def get_cocotb_templates(self, environment):
@@ -144,6 +159,8 @@ class QuestaSimFlow(SimulationFlow):
144
159
  args = set()
145
160
  if self.args.verbose == 0:
146
161
  args.add('-quiet')
162
+ for name in self.get_libraries().keys():
163
+ args.add(f"-L {name}")
147
164
  for name, value in self.project.Defines.items():
148
165
  args.add(f"+define+{name}={escape(value)}")
149
166
  return ' '.join(list(args) + [self.args.vlog_args])
@@ -170,7 +187,11 @@ class QuestaSimFlow(SimulationFlow):
170
187
  args.add(f"-g{name}={escape(value)}")
171
188
  for name, value in self.project.Parameters.items():
172
189
  args.add(f"-g{name}={escape(value)}")
173
- if self.args.gui or self.args.do or self.args.wave or self.cocotb.enabled:
190
+ if self.args.debug:
191
+ args.add('+acc')
192
+ args.add('-debugdb')
193
+ args.add('-fsmdebug')
194
+ elif self.args.gui or self.args.do or self.args.wavedump or self.cocotb.enabled:
174
195
  args.add('+acc=npr')
175
196
  return ' '.join(list(args) + [self.args.vopt_args])
176
197
 
@@ -188,6 +209,8 @@ class QuestaSimFlow(SimulationFlow):
188
209
  args.add('-onfinish final')
189
210
  else:
190
211
  args.add('-onfinish exit')
212
+ if self.args.debug:
213
+ args.add('-debugDB')
191
214
 
192
215
  return ' '.join(list(args) + [self.args.vsim_args])
193
216
 
@@ -4,6 +4,7 @@ except ImportError:
4
4
  from importlib_resources import files as resources_files
5
5
  import os
6
6
  import logging
7
+ import shutil
7
8
 
8
9
  from typing import Callable, Generator, List, Dict, Tuple, Any
9
10
  from jinja2 import Environment, FileSystemLoader
@@ -15,8 +16,10 @@ from simplhdl.pyedaa.project import Project
15
16
  from simplhdl.pyedaa.attributes import UsedIn
16
17
  from simplhdl.cocotb import Cocotb
17
18
  from simplhdl.pyedaa.fileset import FileSet
18
- from simplhdl.pyedaa import (File, VerilogSourceFile, VerilogIncludeFile,
19
- SystemVerilogSourceFile, VHDLSourceFile)
19
+ from simplhdl.pyedaa import (
20
+ File, VerilogSourceFile, VerilogIncludeFile, SystemVerilogSourceFile, VHDLSourceFile,
21
+ MemoryInitFile
22
+ )
20
23
  from simplhdl.utils import generate_from_template, md5sum, md5check, md5write, append_suffix
21
24
 
22
25
  logger = logging.getLogger(__name__)
@@ -75,6 +78,7 @@ class SimulationFlow(FlowBase):
75
78
  for template in self.get_project_templates(env) + self.get_cocotb_templates(env):
76
79
  generate_from_template(template, self.builddir, self.get_globals())
77
80
  self.generate_make_rules(env)
81
+ self.copy_memory_files()
78
82
  self.is_filesets_changed()
79
83
 
80
84
  def generate_make_rules(self, environment):
@@ -138,6 +142,10 @@ class SimulationFlow(FlowBase):
138
142
  generated.append(output)
139
143
  return generated
140
144
 
145
+ def copy_memory_files(self):
146
+ for file in self.project.DefaultDesign.Files(MemoryInitFile):
147
+ shutil.copy(file.Path.absolute(), self.builddir.absolute())
148
+
141
149
  def is_uvm(self):
142
150
  for plusarg in self.project.PlusArgs.keys():
143
151
  if plusarg.startswith('UVM_'):
@@ -102,14 +102,13 @@ class VsgFlow(FlowBase):
102
102
  if user_files:
103
103
  if self.rules:
104
104
  command += f"-c {self.rules}".split()
105
- command += ['-f'] + self.args.files
105
+ command += ['-f'] + [str(f.absolute()) for f in self.args.files]
106
106
  elif project_files:
107
107
  command += f"-c {self.rules} files.json".split()
108
108
  else:
109
109
  raise FlowError("No VHDL files")
110
110
 
111
111
  try:
112
- logger.debug(command)
113
112
  sh(command, cwd=self.builddir, output=True)
114
113
  except CalledShError as e:
115
114
  print(e)
@@ -11,12 +11,13 @@ from shutil import copy, copytree
11
11
  from ..pyedaa import (
12
12
  File, SystemVerilogSourceFile, VHDLSourceFile, VerilogSourceFile,
13
13
  QuartusIPSpecificationFile, HDLLibrary, ConstraintFile, HDLSourceFile,
14
- QuartusIPCompressedSpecificationFile, QuartusQSYSSpecificationFile
14
+ QuartusIPCompressedSpecificationFile, QuartusQSYSSpecificationFile,
15
+ MemoryInitFile
15
16
  )
16
17
  from ..pyedaa.fileset import FileSet
17
18
  from ..flow import FlowBase, FlowCategory, FlowTools
18
19
  from ..generator import GeneratorFactory, GeneratorBase, GeneratorError
19
- from ..utils import md5write, md5check
20
+ from ..utils import md5write, md5check, sh
20
21
 
21
22
  logger = logging.getLogger(__name__)
22
23
 
@@ -29,6 +30,7 @@ FILETYPE_MAP = {
29
30
  'VHDL': VHDLSourceFile,
30
31
  'VHDL_ENCRYPT': VHDLSourceFile,
31
32
  'SDC_ENTITY': ConstraintFile,
33
+ 'HEX': MemoryInitFile
32
34
  }
33
35
 
34
36
  TOOL_MAP = {
@@ -51,7 +53,10 @@ class Spd:
51
53
  self.simulators = set()
52
54
  spdfile = filename.parent.joinpath(filename.stem, filename.name).with_suffix('.spd')
53
55
  if not spdfile.exists():
54
- raise FileNotFoundError(f"{spdfile}: doesn't exits")
56
+ command = f"qsys-generate --simulation=VERILOG {filename.absolute()}".split()
57
+ sh(command, cwd=filename.parent)
58
+ if not spdfile.exists():
59
+ raise FileNotFoundError(f"{spdfile}: doesn't exits")
55
60
  self.tree = parse(spdfile)
56
61
  self.root = self.tree.getroot()
57
62
  self.location = spdfile.parent.absolute()
@@ -168,3 +168,9 @@ class ScalaBuildFile(File):
168
168
 
169
169
  class ChiselBuildFile(ScalaBuildFile):
170
170
  pass
171
+
172
+
173
+ class MemoryInitFile(File):
174
+ def _registerAttributes(self):
175
+ super()._registerAttributes()
176
+ FileMixIn._registerAttributes(self)
@@ -15,11 +15,11 @@ set_global_assignment -name VERILOG_MACRO "{{define}}={{value}}"
15
15
  {% if file.FileType == VerilogIncludeFile %}
16
16
  set_global_assignment -name VERILOG_INCLUDE_FILE "{{file.Path}}"
17
17
  {% elif file.FileType == SystemVerilogSourceFile %}
18
- set_global_assignment -name SYSTEMVERILOG_FILE "{{file.Path}}"
18
+ set_global_assignment -library {{file.Library}} -name SYSTEMVERILOG_FILE "{{file.Path}}"
19
19
  {% elif file.FileType == VerilogSourceFile %}
20
- set_global_assignment -name VERILOG_FILE "{{file.Path}}"
20
+ set_global_assignment -library {{file.Library}} -name VERILOG_FILE "{{file.Path}}"
21
21
  {% elif file.FileType == VHDLSourceFile %}
22
- set_global_assignment -name VHDL_FILE "{{file.Path}}"
22
+ set_global_assignment -library {{file.Library}} -name VHDL_FILE "{{file.Path}}"
23
23
  {% elif file.FileType == ConstraintFile %}
24
24
  set_global_assignment -name SDC_FILE "{{file.Path}}"
25
25
  {% elif file.FileType == TCLSourceFile %}
@@ -23,7 +23,7 @@ export VSIM_COMMAND := $(VSIM) $(VSIM_FLAGS) $(VOPT_DESIGN)
23
23
  .PHONY: clean compile simulate gui
24
24
 
25
25
  ifeq ($(DO_CMD),)
26
- DO_CMD := -do "run -all; quit"
26
+ DO_CMD := -do run.do
27
27
  else
28
28
  GUI_DO_CMD := $(DO_CMD)
29
29
  endif
@@ -5,10 +5,12 @@ VERILOG_FILESETS := $(addsuffix .com,$(wildcard *verilog.fileset))
5
5
 
6
6
  {% set libpaths = [] %}
7
7
  {% for library in libraries %}
8
- {{ libpaths.append(library.Path) or '' }}
9
- {{library.Path}}:
8
+ {% set libpath = library.Path or library.Name %}
9
+ {{ libpaths.append(libpath) or ''}}
10
+
11
+ {{libpath}}:
10
12
  $(VLIB) {{library.Name}}
11
- $(VMAP) {{library.Name}} {{library.Path}}
13
+ $(VMAP) {{library.Name}} {{libpath}}
12
14
 
13
15
  {% endfor %}
14
16
 
@@ -0,0 +1,14 @@
1
+ {% if wavedump %}
2
+ {% if waveformat == 'vcd' %}
3
+ vcd file vsim.vcd
4
+ vcd add -r /*
5
+ {% elif waveformat == 'evcd' %}
6
+ vcd file vsim.evcd
7
+ vcd add -dumpports -r /*
8
+ {% elif waveformat == 'wlf' %}
9
+ log -r /*
10
+ {% endif %}
11
+ {% endif %}
12
+
13
+ run -all
14
+ quit
@@ -1 +0,0 @@
1
- __version__ = "0.0.7"
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