SimplHDL 0.0.7__tar.gz → 0.1.1__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.
- {simplhdl-0.0.7 → simplhdl-0.1.1}/PKG-INFO +1 -1
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/PKG-INFO +1 -1
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/SOURCES.txt +1 -0
- simplhdl-0.1.1/src/simplhdl/__init__.py +1 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/quartusflow.py +16 -4
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/questasim/questasimflow.py +26 -3
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/simulationflow.py +10 -2
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/vivadoflow.py +3 -1
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/vsg/vsgflow.py +1 -2
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generators/spd.py +8 -3
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/__init__.py +14 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +3 -3
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +3 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/Makefile.j2 +1 -1
- {simplhdl-0.0.7/src/simplhdl/resources/templates/rivierapro → simplhdl-0.1.1/src/simplhdl/resources/templates/questasim}/project.mk.j2 +5 -3
- simplhdl-0.1.1/src/simplhdl/resources/templates/questasim/run.do.j2 +14 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +2 -2
- simplhdl-0.0.7/src/simplhdl/__init__.py +0 -1
- {simplhdl-0.0.7 → simplhdl-0.1.1}/.github/workflows/publish.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/.gitignore +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/.readthedocs.yaml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/LICENSE +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/README.md +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/_static/simplhdl_dark.png +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/_static/simplhdl_light.png +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/_static/simplhdl_light_1.png +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/conf.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/drawing.svg +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/ghdl.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/icarus.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/quartus.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/questasim.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/vcs.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/vivado.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows/xsim.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/flows.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/index.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/intel-ips.md +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/introduction.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/plugins.rst +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/docs/requirements.txt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/adder.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/hdl/adder.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/sim/testbench.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/sim/testbench.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/syn/build.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/syn/placement.xdc +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/syn/timing.xdc +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/adder/syn/top.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/alu.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/hdl/add.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/hdl/alu.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/hdl/mul.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/hdl/sub.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/syn/build.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/syn/placement.xdc +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/alu/syn/timing.xdc +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/hello/build.sbt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/hello/hello.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/hdl/hello/syn/build.yml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/plugins/simple_parser/setup.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/pyproject.toml +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/setup.cfg +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/requires.txt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/__main__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/cocotb.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/implementationflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/lint/lintflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/modelsimflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/questasim/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/vcs/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/verible/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/verible/veribleflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/vsg/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/xsim/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generator.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generators/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generators/chisel.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generators/ipxact.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/generators/systemrdl.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/info.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/parser.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/parsers/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/plugins.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/attributes.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/design.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/fileset.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/project.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/repo.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/cocotb.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/dependencies.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/files.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/fileset.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/gui.do.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {simplhdl-0.0.7/src/simplhdl/resources/templates/questasim → simplhdl-0.1.1/src/simplhdl/resources/templates/rivierapro}/project.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/simplhdl.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/tools.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/utils.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/tests/test_dummy.py +0 -0
- {simplhdl-0.0.7 → simplhdl-0.1.1}/tox.ini +0 -0
|
@@ -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.1"
|
|
@@ -34,7 +34,7 @@ class QuartusFlow(ImplementationFlow):
|
|
|
34
34
|
'-s',
|
|
35
35
|
'--step',
|
|
36
36
|
action='store',
|
|
37
|
-
choices=['synthesis', 'implement', 'finalize', 'compile'],
|
|
37
|
+
choices=['project', 'synthesis', 'implement', 'finalize', 'compile'],
|
|
38
38
|
default='compile',
|
|
39
39
|
help="flow step to run"
|
|
40
40
|
)
|
|
@@ -45,8 +45,12 @@ class QuartusFlow(ImplementationFlow):
|
|
|
45
45
|
)
|
|
46
46
|
parser.add_argument(
|
|
47
47
|
'--archive',
|
|
48
|
-
choices=[
|
|
49
|
-
|
|
48
|
+
choices=[
|
|
49
|
+
'project',
|
|
50
|
+
'project-service-request',
|
|
51
|
+
'project-source'
|
|
52
|
+
],
|
|
53
|
+
help="Archive Quartus project, settings and results"
|
|
50
54
|
)
|
|
51
55
|
|
|
52
56
|
def __init__(self, name, args: Namespace, project: Project, builddir: Path):
|
|
@@ -64,7 +68,15 @@ class QuartusFlow(ImplementationFlow):
|
|
|
64
68
|
|
|
65
69
|
def archive(self) -> None:
|
|
66
70
|
name = self.project.Name
|
|
67
|
-
|
|
71
|
+
if self.args.archive == 'project':
|
|
72
|
+
fileset = 'full_db'
|
|
73
|
+
elif self.args.archive == 'project-service-request':
|
|
74
|
+
fileset = 'sr'
|
|
75
|
+
elif self.args.archive == 'project-source':
|
|
76
|
+
fileset = 'basic'
|
|
77
|
+
else:
|
|
78
|
+
raise Exception("Unknown value for argument --archive: {self.args.archive}")
|
|
79
|
+
command = f"quartus_sh --archive -use_file_set {fileset} -revision {name} -no_discover -output {name}.qar {name}" # noqa
|
|
68
80
|
sh(command.split(), output=True, cwd=self.builddir)
|
|
69
81
|
raise SystemExit
|
|
70
82
|
|
|
@@ -31,10 +31,22 @@ class QuestaSimFlow(SimulationFlow):
|
|
|
31
31
|
)
|
|
32
32
|
parser.add_argument(
|
|
33
33
|
'-w',
|
|
34
|
-
'--
|
|
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.
|
|
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 (
|
|
19
|
-
|
|
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_'):
|
|
@@ -14,7 +14,7 @@ from ..resources.templates import vivado as templates
|
|
|
14
14
|
from ..utils import sh, generate_from_template, dict2str
|
|
15
15
|
from ..pyedaa import (VivadoIPSpecificationFile, VerilogIncludeFile, VerilogSourceFile,
|
|
16
16
|
SystemVerilogSourceFile, VHDLSourceFile, ConstraintFile,
|
|
17
|
-
EDIFNetlistFile, NetlistFile)
|
|
17
|
+
EDIFNetlistFile, NetlistFile, VivadoBDTclFile, VivadoProjectStepFile)
|
|
18
18
|
from ..pyedaa.project import Project
|
|
19
19
|
from ..pyedaa.attributes import UsedIn
|
|
20
20
|
|
|
@@ -101,6 +101,8 @@ class VivadoFlow(FlowBase):
|
|
|
101
101
|
VHDLSourceFile=VHDLSourceFile,
|
|
102
102
|
ConstraintFile=ConstraintFile,
|
|
103
103
|
VivadoIPSpecificationFile=VivadoIPSpecificationFile,
|
|
104
|
+
VivadoProjectStepFile=VivadoProjectStepFile,
|
|
105
|
+
VivadoBDTclFile=VivadoBDTclFile,
|
|
104
106
|
EDIFNetlistFile=EDIFNetlistFile,
|
|
105
107
|
NetlistFile=NetlistFile,
|
|
106
108
|
project=self.project,
|
|
@@ -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
|
-
|
|
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()
|
|
@@ -158,6 +158,14 @@ class VivadoIPSpecificationFile(IPSpecificationFile):
|
|
|
158
158
|
pass
|
|
159
159
|
|
|
160
160
|
|
|
161
|
+
class VivadoBDTclFile(TCLSourceFile):
|
|
162
|
+
pass
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class VivadoProjectStepFile(TCLSourceFile):
|
|
166
|
+
pass
|
|
167
|
+
|
|
168
|
+
|
|
161
169
|
class SystemRDLSourceFile(File):
|
|
162
170
|
pass
|
|
163
171
|
|
|
@@ -168,3 +176,9 @@ class ScalaBuildFile(File):
|
|
|
168
176
|
|
|
169
177
|
class ChiselBuildFile(ScalaBuildFile):
|
|
170
178
|
pass
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class MemoryInitFile(File):
|
|
182
|
+
def _registerAttributes(self):
|
|
183
|
+
super()._registerAttributes()
|
|
184
|
+
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 %}
|
|
@@ -5,10 +5,12 @@ VERILOG_FILESETS := $(addsuffix .com,$(wildcard *verilog.fileset))
|
|
|
5
5
|
|
|
6
6
|
{% set libpaths = [] %}
|
|
7
7
|
{% for library in libraries %}
|
|
8
|
-
{
|
|
9
|
-
{{
|
|
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}} {{
|
|
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
|
|
@@ -99,10 +99,10 @@ add_files "{{file.Path|replace('\\', '/')}}"
|
|
|
99
99
|
read_edif "{{file.Path|replace('\\', '/')}}"
|
|
100
100
|
{% elif file.Path.suffix == '.bd' %}
|
|
101
101
|
read_bd "{{file.Path|replace('\\', '/')}}"
|
|
102
|
-
{% elif file.
|
|
102
|
+
{% elif file.FileType == VivadoBDTclFile %}
|
|
103
103
|
send_msg_id {SimplHDL PRJ-3} {INFO} "Sourcing BD tcl file {{file.Path|replace('\\', '/')}}: this might take some time."
|
|
104
104
|
source_script "{{file.Path|replace('\\', '/')}}"
|
|
105
|
-
{% elif file.
|
|
105
|
+
{% elif file.FileType == VivadoProjectStepFile %}
|
|
106
106
|
add_files -fileset utils_1 "{{file.Path|replace('\\', '/')}}"
|
|
107
107
|
global step
|
|
108
108
|
set step {project}
|
|
@@ -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
|
|
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
|
|
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
|
{simplhdl-0.0.7 → simplhdl-0.1.1}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{simplhdl-0.0.7 → simplhdl-0.1.1}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py
RENAMED
|
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
|
|
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
|
{simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/questasim/dependencies.mk.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2
RENAMED
|
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
|
{simplhdl-0.0.7 → simplhdl-0.1.1}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2
RENAMED
|
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
|