SimplHDL 0.2.0__tar.gz → 0.2.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.
- {simplhdl-0.2.0 → simplhdl-0.2.2}/PKG-INFO +1 -1
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/PKG-INFO +1 -1
- simplhdl-0.2.2/src/simplhdl/__init__.py +1 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/quartusflow.py +4 -1
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/questasim/questasimflow.py +1 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/simulationflow.py +4 -2
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generators/spd.py +29 -3
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/__init__.py +8 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/design.py +2 -1
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/fileset.py +15 -1
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +4 -1
- simplhdl-0.2.0/src/simplhdl/__init__.py +0 -1
- {simplhdl-0.2.0 → simplhdl-0.2.2}/.github/workflows/publish.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/.gitignore +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/.readthedocs.yaml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/LICENSE +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/README.md +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/_static/simplhdl_dark.png +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/_static/simplhdl_light.png +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/_static/simplhdl_light_1.png +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/conf.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/drawing.svg +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/ghdl.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/icarus.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/quartus.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/questasim.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/vcs.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/vivado.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows/xsim.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/flows.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/index.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/intel-ips.md +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/introduction.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/plugins.rst +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/docs/requirements.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/adder.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/hdl/adder.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/sim/testbench.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/sim/testbench.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/syn/build.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/syn/placement.xdc +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/syn/timing.xdc +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/adder/syn/top.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/alu.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/hdl/add.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/hdl/alu.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/hdl/mul.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/hdl/sub.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/syn/build.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/syn/placement.xdc +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/alu/syn/timing.xdc +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/hello/build.sbt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/hello/hello.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/hdl/hello/syn/build.yml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/plugins/simple_parser/setup.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/pyproject.toml +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/setup.cfg +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/requires.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/__main__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/cocotb.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/implementationflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/lint/lintflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/modelsim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/modelsim/modelsimflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/questasim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/vcs/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/verible/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/verible/veribleflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/vivadoflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/vsg/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/xsim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generator.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generators/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generators/chisel.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generators/ipxact.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/generators/systemrdl.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/info.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/parser.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/parsers/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/plugins.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/attributes.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/project.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/repo.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/simplhdl.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/tools.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/utils.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/tests/test_dummy.py +0 -0
- {simplhdl-0.2.0 → simplhdl-0.2.2}/tox.ini +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.2"
|
|
@@ -17,7 +17,8 @@ from ..utils import sh, generate_from_template
|
|
|
17
17
|
from ..pyedaa import (QuartusIPSpecificationFile, VerilogIncludeFile, VerilogSourceFile,
|
|
18
18
|
SystemVerilogSourceFile, VHDLSourceFile, ConstraintFile,
|
|
19
19
|
EDIFNetlistFile, NetlistFile, SettingFile, QuartusSignalTapFile,
|
|
20
|
-
QuartusIniFile, QuartusQIPSpecificationFile, QuartusQSYSSpecificationFile
|
|
20
|
+
QuartusIniFile, QuartusQIPSpecificationFile, QuartusQSYSSpecificationFile,
|
|
21
|
+
HDLSearchPath, VerilogIncludeSearchPath)
|
|
21
22
|
from ..pyedaa.project import Project
|
|
22
23
|
from ..pyedaa.attributes import UsedIn
|
|
23
24
|
|
|
@@ -97,6 +98,8 @@ class QuartusFlow(ImplementationFlow):
|
|
|
97
98
|
template = environment.get_template('project.tcl.j2')
|
|
98
99
|
project_updated = generate_from_template(
|
|
99
100
|
template, self.builddir,
|
|
101
|
+
HDLSearchPath=HDLSearchPath,
|
|
102
|
+
VerilogIncludeSearchPath=VerilogIncludeSearchPath,
|
|
100
103
|
VerilogIncludeFile=VerilogIncludeFile,
|
|
101
104
|
VerilogSourceFile=VerilogSourceFile,
|
|
102
105
|
SystemVerilogSourceFile=SystemVerilogSourceFile,
|
|
@@ -346,6 +346,7 @@ class QuestaSimFlow(SimulationFlow):
|
|
|
346
346
|
]
|
|
347
347
|
for template in templates:
|
|
348
348
|
generate_from_template(template, self.builddir, self.get_globals())
|
|
349
|
+
self.copy_memory_files()
|
|
349
350
|
|
|
350
351
|
def get_qrun_version(self) -> float:
|
|
351
352
|
output = sh(['qrun', '-version'], self.builddir)
|
|
@@ -56,6 +56,8 @@ class SimulationFlow(FlowBase):
|
|
|
56
56
|
os.environ['MODULE'] = self.cocotb.module()
|
|
57
57
|
|
|
58
58
|
def get_globals(self) -> Dict[str, Any]:
|
|
59
|
+
incdirs = self.project.DefaultDesign.DefaultFileSet.IncludeDirs(usedin='simulation', isrecursive=True)
|
|
60
|
+
incdirpaths = {f.Path.absolute() for f in incdirs}
|
|
59
61
|
globals = dict()
|
|
60
62
|
globals['libraries'] = (list(self.project.DefaultDesign.VHDLLibraries.values()))
|
|
61
63
|
globals['external_libraries'] = list(self.project.DefaultDesign.ExternalVHDLLibraries.values())
|
|
@@ -65,7 +67,7 @@ class SimulationFlow(FlowBase):
|
|
|
65
67
|
globals['cocotbtop'] = self.cocotb.top
|
|
66
68
|
globals['cocotbhdltype'] = self.cocotb.duttype
|
|
67
69
|
globals['cocotbdut'] = self.cocotb.dut
|
|
68
|
-
globals['incdirs'] =
|
|
70
|
+
globals['incdirs'] = incdirpaths
|
|
69
71
|
globals['VerilogSourceFile'] = VerilogSourceFile
|
|
70
72
|
globals['SystemVerilogSourceFile'] = SystemVerilogSourceFile
|
|
71
73
|
globals['VHDLSourceFile'] = VHDLSourceFile
|
|
@@ -139,7 +141,7 @@ class SimulationFlow(FlowBase):
|
|
|
139
141
|
hashfile=self.hashfile.name)
|
|
140
142
|
template = environment.get_template('fileset.j2')
|
|
141
143
|
output = base.with_suffix('.fileset')
|
|
142
|
-
includes =
|
|
144
|
+
includes = self.get_globals()['incdirs']
|
|
143
145
|
files = [f.Path.absolute() for f in files if not isinstance(f, VerilogIncludeFile)]
|
|
144
146
|
generate_from_template(template, output, args=args, includes=includes, files=files)
|
|
145
147
|
generated.append(output)
|
|
@@ -170,11 +170,13 @@ class QuartusIP(GeneratorBase):
|
|
|
170
170
|
|
|
171
171
|
return filename
|
|
172
172
|
|
|
173
|
-
def run(self, flow: FlowBase):
|
|
173
|
+
def run(self, flow: FlowBase) -> None:
|
|
174
174
|
os.makedirs(self.builddir, exist_ok=True)
|
|
175
|
-
|
|
175
|
+
ipfiles = list(self.project.DefaultDesign.DefaultFileSet.Files(fileType=QuartusIPSpecificationFile))
|
|
176
|
+
ipfiles = filter_duplicated_files(ipfiles)
|
|
177
|
+
for ipfile in ipfiles:
|
|
176
178
|
if ipfile.FileType == QuartusQIPSpecificationFile:
|
|
177
|
-
|
|
179
|
+
continue
|
|
178
180
|
newipfile = self.unpack_ip(ipfile)
|
|
179
181
|
if flow.category == FlowCategory.SIMULATION:
|
|
180
182
|
spd = Spd(newipfile.Path, flow)
|
|
@@ -183,3 +185,27 @@ class QuartusIP(GeneratorBase):
|
|
|
183
185
|
# Add fileset to parent, then set parent to fileset to make a chain
|
|
184
186
|
parent._fileSets[fileset.Name] = fileset
|
|
185
187
|
parent = fileset
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def filter_duplicated_files(files: List[File]) -> List[File]:
|
|
191
|
+
"""
|
|
192
|
+
Filter out duplicated files from a list of files. If a file appears more than once,
|
|
193
|
+
the last one will override the previous ones.
|
|
194
|
+
|
|
195
|
+
Args:
|
|
196
|
+
files (List[File]): The list of files to filter.
|
|
197
|
+
|
|
198
|
+
Returns:
|
|
199
|
+
List[File]: A list of unique files.
|
|
200
|
+
|
|
201
|
+
Example:
|
|
202
|
+
>>> filter_duplicated_files([File('/path1/file1'), File('/path2/file1'), File('/path/file2')]
|
|
203
|
+
[File('/other/path/to/file1'), File('/path/to/file2')]
|
|
204
|
+
"""
|
|
205
|
+
unique_files = set(files)
|
|
206
|
+
filtered_files = dict()
|
|
207
|
+
for file in unique_files:
|
|
208
|
+
if file.Path.name in filtered_files:
|
|
209
|
+
logger.warning(f"Duplicate files - {file.Path} will override {filtered_files[file.Path.name].Path}")
|
|
210
|
+
filtered_files[file.Path.name] = file
|
|
211
|
+
return list(filtered_files.values())
|
|
@@ -34,6 +34,10 @@ class HDLIncludeFile(SourceFile):
|
|
|
34
34
|
pass
|
|
35
35
|
|
|
36
36
|
|
|
37
|
+
class HDLSearchPath(HDLIncludeFile):
|
|
38
|
+
pass
|
|
39
|
+
|
|
40
|
+
|
|
37
41
|
class HDLSourceFile(pm.HDLSourceFile, FileMixIn):
|
|
38
42
|
_library: HDLLibrary
|
|
39
43
|
|
|
@@ -60,6 +64,10 @@ class HDLSourceFile(pm.HDLSourceFile, FileMixIn):
|
|
|
60
64
|
self._library = value
|
|
61
65
|
|
|
62
66
|
|
|
67
|
+
class VerilogIncludeSearchPath(HDLSearchPath):
|
|
68
|
+
pass
|
|
69
|
+
|
|
70
|
+
|
|
63
71
|
class VerilogIncludeFile(HDLIncludeFile, pm.HumanReadableContent):
|
|
64
72
|
pass
|
|
65
73
|
|
|
@@ -64,5 +64,6 @@ class Design(pm.Design):
|
|
|
64
64
|
def VHDLLibraries(self) -> Dict[str, VHDLLibrary]:
|
|
65
65
|
libraries = dict()
|
|
66
66
|
libraries.update(self._vhdlLibraries)
|
|
67
|
-
|
|
67
|
+
if self.DefaultFileSet:
|
|
68
|
+
libraries.update(self.DefaultFileSet.VHDLLibraries)
|
|
68
69
|
return libraries
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import pyEDAA.ProjectModel as pm # type: ignore
|
|
2
2
|
from simplhdl.pyedaa.attributes import UsedIn
|
|
3
|
-
from simplhdl.pyedaa import File
|
|
3
|
+
from simplhdl.pyedaa import File, HDLSearchPath, VerilogIncludeSearchPath, VerilogIncludeFile
|
|
4
4
|
|
|
5
5
|
from typing import Dict, Generator, List, Optional
|
|
6
6
|
|
|
@@ -73,3 +73,17 @@ class FileSet(pm.FileSet):
|
|
|
73
73
|
for fileset in self.FileSets.values():
|
|
74
74
|
dependencies += fileset.Dependencies(usedin=usedin, isrecursive=True)
|
|
75
75
|
return dependencies
|
|
76
|
+
|
|
77
|
+
def IncludeDirs(self, usedin: Optional[str] = None, isrecursive: bool = False) -> List[HDLSearchPath]:
|
|
78
|
+
dirs = list()
|
|
79
|
+
if isrecursive:
|
|
80
|
+
for _, fileset in self.FileSets.items():
|
|
81
|
+
dirs += fileset.IncludeDirs(usedin=usedin, isrecursive=True)
|
|
82
|
+
if usedin:
|
|
83
|
+
items = [i for i in self._files if usedin in i[UsedIn]]
|
|
84
|
+
for item in items:
|
|
85
|
+
if isinstance(item, VerilogIncludeFile):
|
|
86
|
+
dirs.append(VerilogIncludeSearchPath(item.Path.parent.absolute()))
|
|
87
|
+
elif isinstance(item, HDLSearchPath):
|
|
88
|
+
dirs.append(HDLSearchPath(item.Path.parent.absolute()))
|
|
89
|
+
return dirs
|
|
@@ -12,8 +12,11 @@ set_parameter -name {{generic}} {{value}}
|
|
|
12
12
|
set_global_assignment -name VERILOG_MACRO "{{define}}={{value}}"
|
|
13
13
|
{% endfor %}
|
|
14
14
|
{% for file in project.DefaultDesign.Files() if 'implementation' in file[UsedIn] %}
|
|
15
|
-
{% if file.FileType ==
|
|
15
|
+
{% if file.FileType == HDLSearchPath %}
|
|
16
|
+
set_global_assignment -name SEARCH_PATH "{{file.Path}}"
|
|
17
|
+
{% elif file.FileType == VerilogIncludeFile %}
|
|
16
18
|
set_global_assignment -name VERILOG_INCLUDE_FILE "{{file.Path}}"
|
|
19
|
+
set_global_assignment -name SEARCH_PATH "{{file.Path.parent}}"
|
|
17
20
|
{% elif file.FileType == SystemVerilogSourceFile %}
|
|
18
21
|
set_global_assignment -library {{file.Library}} -name SYSTEMVERILOG_FILE "{{file.Path}}"
|
|
19
22
|
{% elif file.FileType == VerilogSourceFile %}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.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
|
|
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.2.0 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/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
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/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
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2
RENAMED
|
File without changes
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/project.qrun.j2
RENAMED
|
File without changes
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.2.0 → simplhdl-0.2.2}/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.2.0 → simplhdl-0.2.2}/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
|
|
File without changes
|