SimplHDL 0.0.3__tar.gz → 0.0.4__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.3 → SimplHDL-0.0.4}/PKG-INFO +1 -1
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/PKG-INFO +1 -1
- SimplHDL-0.0.4/src/simplhdl/__init__.py +1 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/quartusflow.py +5 -1
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generators/spd.py +17 -10
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/__init__.py +19 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +11 -18
- SimplHDL-0.0.3/src/simplhdl/__init__.py +0 -1
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/.github/workflows/publish.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/.gitignore +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/.readthedocs.yaml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/LICENSE +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/README.md +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/_static/simplhdl_dark.png +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/_static/simplhdl_light.png +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/_static/simplhdl_light_1.png +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/conf.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/drawing.svg +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/ghdl.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/icarus.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/quartus.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/questasim.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/vcs.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/vivado.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows/xsim.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/flows.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/index.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/intel-ips.md +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/introduction.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/plugins.rst +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/docs/requirements.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/adder.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/hdl/adder.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/sim/testbench.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/sim/testbench.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/syn/build.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/syn/placement.xdc +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/syn/timing.xdc +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/adder/syn/top.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/alu.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/hdl/add.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/hdl/alu.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/hdl/mul.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/hdl/sub.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/syn/build.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/syn/placement.xdc +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/alu/syn/timing.xdc +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/hello/build.sbt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/hello/hello.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/hdl/hello/syn/build.yml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/plugins/simple_parser/setup.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/pyproject.toml +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/setup.cfg +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/requires.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/__main__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/cocotb.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/implementationflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/modelsimflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/questasim/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/questasim/questasimflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/simulationflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/vcs/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/vivadoflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/xsim/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generator.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generators/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generators/chisel.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generators/ipxact.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/generators/systemrdl.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/info.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/parser.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/parsers/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/plugins.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/attributes.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/design.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/fileset.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/project.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/repo.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/Makefile.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/cocotb.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/dependencies.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/files.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/fileset.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/questasim/project.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/simplhdl.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/tools.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/src/simplhdl/utils.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/tests/test_dummy.py +0 -0
- {SimplHDL-0.0.3 → SimplHDL-0.0.4}/tox.ini +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.4"
|
|
@@ -16,7 +16,8 @@ from ..resources.templates import quartus as templates
|
|
|
16
16
|
from ..utils import sh, generate_from_template
|
|
17
17
|
from ..pyedaa import (QuartusIPSpecificationFile, VerilogIncludeFile, VerilogSourceFile,
|
|
18
18
|
SystemVerilogSourceFile, VHDLSourceFile, ConstraintFile,
|
|
19
|
-
EDIFNetlistFile, NetlistFile, SettingFile, QuartusSignalTapFile
|
|
19
|
+
EDIFNetlistFile, NetlistFile, SettingFile, QuartusSignalTapFile,
|
|
20
|
+
QuartusIniFile, QuartusQIPSpecificationFile, QuartusQSYSSpecificationFile)
|
|
20
21
|
from ..pyedaa.project import Project
|
|
21
22
|
from ..pyedaa.attributes import UsedIn
|
|
22
23
|
|
|
@@ -94,6 +95,9 @@ class QuartusFlow(ImplementationFlow):
|
|
|
94
95
|
NetlistFile=NetlistFile,
|
|
95
96
|
SettingFile=SettingFile,
|
|
96
97
|
QuartusSignalTapFile=QuartusSignalTapFile,
|
|
98
|
+
QuartusQIPSpecificationFile=QuartusQIPSpecificationFile,
|
|
99
|
+
QuartusQSYSSpecificationFile=QuartusQSYSSpecificationFile,
|
|
100
|
+
QuartusIniFile=QuartusIniFile,
|
|
97
101
|
project=self.project,
|
|
98
102
|
UsedIn=UsedIn)
|
|
99
103
|
template = environment.get_template('run.tcl.j2')
|
|
@@ -10,7 +10,8 @@ from shutil import copy, copytree
|
|
|
10
10
|
|
|
11
11
|
from ..pyedaa import (
|
|
12
12
|
File, SystemVerilogSourceFile, VHDLSourceFile, VerilogSourceFile,
|
|
13
|
-
QuartusIPSpecificationFile, HDLLibrary, ConstraintFile, HDLSourceFile
|
|
13
|
+
QuartusIPSpecificationFile, HDLLibrary, ConstraintFile, HDLSourceFile,
|
|
14
|
+
QuartusIPCompressedSpecificationFile, QuartusQSYSSpecificationFile
|
|
14
15
|
)
|
|
15
16
|
from ..pyedaa.fileset import FileSet
|
|
16
17
|
from ..flow import FlowBase, FlowCategory, FlowTools
|
|
@@ -111,14 +112,15 @@ class Spd:
|
|
|
111
112
|
@GeneratorFactory.register('QuartusIP')
|
|
112
113
|
class QuartusIP(GeneratorBase):
|
|
113
114
|
|
|
114
|
-
def unpack_ip(self, filename: QuartusIPSpecificationFile) -> QuartusIPSpecificationFile:
|
|
115
|
+
def unpack_ip(self, filename: QuartusIPSpecificationFile) -> QuartusIPSpecificationFile: # noqa: C901
|
|
115
116
|
ipdir = self.builddir.joinpath('ips')
|
|
116
117
|
dest = ipdir.joinpath(filename.Path.name).with_suffix('')
|
|
117
118
|
md5file = dest.with_suffix('.md5')
|
|
118
119
|
ipdir.mkdir(exist_ok=True)
|
|
119
|
-
if filename.
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
if filename.FileType == QuartusQSYSSpecificationFile:
|
|
121
|
+
pass
|
|
122
|
+
|
|
123
|
+
elif filename.FileType == QuartusIPCompressedSpecificationFile:
|
|
122
124
|
update = True
|
|
123
125
|
if md5file.exists():
|
|
124
126
|
update = not md5check(filename.Path, filename=md5file)
|
|
@@ -127,7 +129,14 @@ class QuartusIP(GeneratorBase):
|
|
|
127
129
|
zip.extractall(ipdir)
|
|
128
130
|
md5write(filename.Path, filename=md5file)
|
|
129
131
|
logger.debug(f"Copy {filename.Path} to {dest}")
|
|
130
|
-
|
|
132
|
+
|
|
133
|
+
if filename.Path.suffix == '.zip':
|
|
134
|
+
filename._path = dest.absolute()
|
|
135
|
+
else:
|
|
136
|
+
filename._path = dest.with_suffix('.ip').absolute()
|
|
137
|
+
filename._fileType = QuartusIPSpecificationFile
|
|
138
|
+
|
|
139
|
+
elif filename.FileType == QuartusIPSpecificationFile:
|
|
131
140
|
update = True
|
|
132
141
|
dir = filename.Path.with_suffix('')
|
|
133
142
|
if dir.exists():
|
|
@@ -140,10 +149,8 @@ class QuartusIP(GeneratorBase):
|
|
|
140
149
|
copytree(str(dir), str(dest.with_suffix('')), dirs_exist_ok=True)
|
|
141
150
|
md5write(filename.Path, dir, filename=md5file)
|
|
142
151
|
logger.debug(f"Copy {filename.Path} to {dest}")
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return filename
|
|
146
|
-
filename._path = dest.absolute()
|
|
152
|
+
filename._path = dest.with_suffix('.ip').absolute()
|
|
153
|
+
|
|
147
154
|
return filename
|
|
148
155
|
|
|
149
156
|
def run(self, flow: FlowBase):
|
|
@@ -128,6 +128,25 @@ class QuartusIPSpecificationFile(IPSpecificationFile):
|
|
|
128
128
|
pass
|
|
129
129
|
|
|
130
130
|
|
|
131
|
+
class QuartusIPCompressedSpecificationFile(QuartusIPSpecificationFile):
|
|
132
|
+
pass
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class QuartusQSYSSpecificationFile(QuartusIPSpecificationFile):
|
|
136
|
+
pass
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class QuartusQIPSpecificationFile(QuartusIPSpecificationFile):
|
|
140
|
+
pass
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class QuartusIniFile(File):
|
|
144
|
+
def _registerAttributes(self):
|
|
145
|
+
super()._registerAttributes()
|
|
146
|
+
FileMixIn._registerAttributes(self)
|
|
147
|
+
self[UsedIn] = {'implementation'}
|
|
148
|
+
|
|
149
|
+
|
|
131
150
|
class VivadoIPSpecificationFile(IPSpecificationFile):
|
|
132
151
|
pass
|
|
133
152
|
|
|
@@ -14,33 +14,26 @@ set_global_assignment -name VERILOG_MACRO "{{define}}={{value}}"
|
|
|
14
14
|
{% for file in project.DefaultDesign.Files() if 'implementation' in file[UsedIn] %}
|
|
15
15
|
{% if file.FileType == VerilogIncludeFile %}
|
|
16
16
|
set_global_assignment -name VERILOG_INCLUDE_FILE "{{file.Path}}"
|
|
17
|
-
{%
|
|
18
|
-
{% if file.FileType == SystemVerilogSourceFile %}
|
|
17
|
+
{% elif file.FileType == SystemVerilogSourceFile %}
|
|
19
18
|
set_global_assignment -name SYSTEMVERILOG_FILE "{{file.Path}}"
|
|
20
|
-
{%
|
|
21
|
-
{% if file.FileType == VerilogSourceFile %}
|
|
19
|
+
{% elif file.FileType == VerilogSourceFile %}
|
|
22
20
|
set_global_assignment -name VERILOG_FILE "{{file.Path}}"
|
|
23
|
-
{%
|
|
24
|
-
{% if file.FileType == VHDLSourceFile %}
|
|
21
|
+
{% elif file.FileType == VHDLSourceFile %}
|
|
25
22
|
set_global_assignment -name VHDL_FILE "{{file.Path}}"
|
|
26
|
-
{%
|
|
27
|
-
{% if file.FileType == ConstraintFile %}
|
|
23
|
+
{% elif file.FileType == ConstraintFile %}
|
|
28
24
|
set_global_assignment -name SDC_FILE "{{file.Path}}"
|
|
29
|
-
{%
|
|
30
|
-
{% if file.FileType == TCLSourceFile %}
|
|
25
|
+
{% elif file.FileType == TCLSourceFile %}
|
|
31
26
|
set_global_assignment -name TCL_FILE "{{file.Path}}"
|
|
32
|
-
{%
|
|
33
|
-
{% if file.FileType == QuartusIPSpecificationFile and file.Path.suffix == '.ip' %}
|
|
27
|
+
{% elif file.FileType == QuartusIPSpecificationFile %}
|
|
34
28
|
set_global_assignment -name IP_FILE "{{file.Path}}"
|
|
35
|
-
{%
|
|
36
|
-
{% if file.FileType == QuartusIPSpecificationFile and file.Path.suffix == '.qip' %}
|
|
29
|
+
{% elif file.FileType == QuartusQIPSpecificationFile %}
|
|
37
30
|
set_global_assignment -name QIP_FILE "{{file.Path}}"
|
|
38
|
-
{%
|
|
39
|
-
{% if file.FileType == QuartusIPSpecificationFile and file.Path.suffix == '.qsys' %}
|
|
31
|
+
{% elif file.FileType == QuartusQSYSSpecificationFile %}
|
|
40
32
|
set_global_assignment -name QSYS_FILE "{{file.Path}}"
|
|
41
|
-
{%
|
|
42
|
-
{% if file.FileType == SettingFile and file.Path.suffix == '.qsf' %}
|
|
33
|
+
{% elif file.FileType == SettingFile and file.Path.suffix == '.qsf' %}
|
|
43
34
|
source "{{file.Path}}"
|
|
35
|
+
{% elif file.FileType == QuartusIniFile %}
|
|
36
|
+
file copy -force "{{file.Path}}" "quartus.ini"
|
|
44
37
|
{% endif %}
|
|
45
38
|
{% endfor %}
|
|
46
39
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.0.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.3 → SimplHDL-0.0.4}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{SimplHDL-0.0.3 → SimplHDL-0.0.4}/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
|
{SimplHDL-0.0.3 → SimplHDL-0.0.4}/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.3 → SimplHDL-0.0.4}/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.3 → SimplHDL-0.0.4}/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
|