SimplHDL 0.2.1__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.1 → simplhdl-0.2.2}/PKG-INFO +1 -1
- {simplhdl-0.2.1 → 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.1 → simplhdl-0.2.2}/src/simplhdl/flows/quartusflow.py +4 -1
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/simulationflow.py +4 -2
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generators/spd.py +28 -2
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/__init__.py +8 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/design.py +2 -1
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/fileset.py +15 -1
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +4 -1
- simplhdl-0.2.1/src/simplhdl/__init__.py +0 -1
- {simplhdl-0.2.1 → simplhdl-0.2.2}/.github/workflows/publish.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/.gitignore +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/.readthedocs.yaml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/LICENSE +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/README.md +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/_static/simplhdl_dark.png +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/_static/simplhdl_light.png +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/_static/simplhdl_light_1.png +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/conf.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/drawing.svg +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/ghdl.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/icarus.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/quartus.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/questasim.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/vcs.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/vivado.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows/xsim.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/flows.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/index.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/intel-ips.md +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/introduction.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/plugins.rst +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/docs/requirements.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/adder.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/hdl/adder.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/sim/testbench.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/sim/testbench.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/syn/build.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/syn/placement.xdc +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/syn/timing.xdc +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/adder/syn/top.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/alu.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/hdl/add.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/hdl/alu.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/hdl/mul.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/hdl/sub.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/syn/build.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/syn/placement.xdc +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/alu/syn/timing.xdc +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/hello/build.sbt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/hello/hello.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/hdl/hello/syn/build.yml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/plugins/simple_parser/setup.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/pyproject.toml +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/setup.cfg +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/SimplHDL.egg-info/requires.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/__main__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/cocotb.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/implementationflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/lint/lintflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/modelsim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/modelsim/modelsimflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/questasim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/questasim/questasimflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/vcs/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/verible/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/verible/veribleflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/vivadoflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/vsg/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/xsim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generator.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generators/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generators/chisel.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generators/ipxact.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/generators/systemrdl.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/info.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/parser.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/parsers/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/plugins.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/attributes.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/project.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/repo.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/simplhdl.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/tools.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/utils.py +0 -0
- {simplhdl-0.2.1 → simplhdl-0.2.2}/tests/test_dummy.py +0 -0
- {simplhdl-0.2.1 → 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,
|
|
@@ -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,9 +170,11 @@ 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)
|
|
@@ -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.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1 → simplhdl-0.2.2}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{simplhdl-0.2.1 → 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
|
|
File without changes
|
{simplhdl-0.2.1 → 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.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2
RENAMED
|
File without changes
|
{simplhdl-0.2.1 → simplhdl-0.2.2}/src/simplhdl/resources/templates/questasim/project.qrun.j2
RENAMED
|
File without changes
|
{simplhdl-0.2.1 → 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.1 → 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.1 → 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
|