SimplHDL 0.5.5__tar.gz → 0.5.7__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.5.5 → simplhdl-0.5.7}/PKG-INFO +1 -1
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/PKG-INFO +1 -1
- simplhdl-0.5.7/src/simplhdl/__init__.py +1 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/cocotb.py +4 -2
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/encrypt/encryptflow.py +14 -1
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generators/spd.py +25 -7
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/__init__.py +30 -5
- simplhdl-0.5.7/src/simplhdl/pyedaa/attributes.py +16 -0
- simplhdl-0.5.5/src/simplhdl/__init__.py +0 -1
- simplhdl-0.5.5/src/simplhdl/pyedaa/attributes.py +0 -8
- {simplhdl-0.5.5 → simplhdl-0.5.7}/.github/workflows/publish.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/.gitignore +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/.readthedocs.yaml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/LICENSE +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/README.md +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/_static/simplhdl_dark.png +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/_static/simplhdl_light.png +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/_static/simplhdl_light_1.png +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/conf.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/drawing.svg +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/ghdl.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/icarus.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/quartus.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/questasim.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/vcs.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/vivado.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows/xsim.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/flows.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/index.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/intel-ips.md +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/introduction.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/plugins.rst +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/docs/requirements.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/adder.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/hdl/adder.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/sim/testbench.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/sim/testbench.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/syn/build.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/syn/placement.xdc +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/syn/timing.xdc +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/adder/syn/top.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/alu.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/hdl/add.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/hdl/alu.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/hdl/mul.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/hdl/sub.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/syn/build.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/syn/placement.xdc +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/alu/syn/timing.xdc +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/hello/build.sbt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/hello/hello.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/hdl/hello/syn/build.yml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/plugins/simple_parser/setup.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/pyproject.toml +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/setup.cfg +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/SOURCES.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/requires.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/__main__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/encrypt/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/implementationflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/lint/lintflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/modelsim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/modelsim/modelsimflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/quartusdse/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/quartusexport/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/quartusexport/quartusexportflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/quartusflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/questasim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/questasim/questasimflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/rivierapro/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/simulationflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/vcs/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/verible/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/verible/veribleflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/vivadoflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/vsg/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/xsim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generator.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generators/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generators/chisel.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generators/ipxact.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/generators/systemrdl.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/info.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/parser.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/parsers/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/plugins.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/design.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/fileset.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/project.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/target.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/repo.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/flake8/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/quartus/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/verible/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vivado/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vsg/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/run.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/simplhdl.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/tools.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/utils.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/tests/test_dummy.py +0 -0
- {simplhdl-0.5.5 → simplhdl-0.5.7}/tox.ini +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.5.7"
|
|
@@ -102,8 +102,10 @@ class Cocotb:
|
|
|
102
102
|
logger.info(f"Cocotb dut '{self.dut}' is Verilog")
|
|
103
103
|
return VerilogSourceFile
|
|
104
104
|
else:
|
|
105
|
-
logger.warning(
|
|
106
|
-
|
|
105
|
+
logger.warning(
|
|
106
|
+
f"Found HDL module {name} in "
|
|
107
|
+
f"library '{file.Library.Name}' expected '{lib}'"
|
|
108
|
+
)
|
|
107
109
|
else:
|
|
108
110
|
continue
|
|
109
111
|
except UnicodeDecodeError:
|
|
@@ -5,11 +5,13 @@ from typing import List
|
|
|
5
5
|
from argparse import Namespace
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
8
|
+
from simplhdl.info import Info
|
|
8
9
|
from simplhdl.flow import FlowFactory, FlowTools, FlowError
|
|
9
10
|
from simplhdl.flows.implementationflow import ImplementationFlow
|
|
10
11
|
from simplhdl.utils import sh
|
|
11
12
|
from simplhdl.pyedaa.project import Project
|
|
12
13
|
from simplhdl.pyedaa import SystemVerilogSourceFile, VerilogSourceFile, VHDLSourceFile, VerilogIncludeFile
|
|
14
|
+
from simplhdl.pyedaa.attributes import Encrypt
|
|
13
15
|
|
|
14
16
|
logger = logging.getLogger(__name__)
|
|
15
17
|
|
|
@@ -47,6 +49,11 @@ class EncryptFlow(ImplementationFlow):
|
|
|
47
49
|
action='store',
|
|
48
50
|
help='Output directory'
|
|
49
51
|
)
|
|
52
|
+
parser.add_argument(
|
|
53
|
+
'--info',
|
|
54
|
+
action='store_true',
|
|
55
|
+
help="Print project"
|
|
56
|
+
)
|
|
50
57
|
|
|
51
58
|
def __init__(self, name, args: Namespace, project: Project, builddir: Path):
|
|
52
59
|
super().__init__(name, args, project, builddir)
|
|
@@ -62,6 +69,12 @@ class EncryptFlow(ImplementationFlow):
|
|
|
62
69
|
self.is_tool_setup()
|
|
63
70
|
|
|
64
71
|
def execute(self):
|
|
72
|
+
if self.args.info:
|
|
73
|
+
args = Namespace(files=False, filesets=False, libraries=False, hooks=False)
|
|
74
|
+
info = Info(self.name, args, self.project, self.builddir)
|
|
75
|
+
info.run()
|
|
76
|
+
return
|
|
77
|
+
|
|
65
78
|
outputdir = self.args.outdir or self.builddir
|
|
66
79
|
outputdir.mkdir(parents=True, exist_ok=True)
|
|
67
80
|
|
|
@@ -87,7 +100,7 @@ class EncryptFlow(ImplementationFlow):
|
|
|
87
100
|
else:
|
|
88
101
|
vendors = VENDORS
|
|
89
102
|
|
|
90
|
-
if self.args.no_encrypt:
|
|
103
|
+
if self.args.no_encrypt or not file[Encrypt]:
|
|
91
104
|
shutil.copyfile(file.Path.absolute(), destFile.absolute())
|
|
92
105
|
else:
|
|
93
106
|
encrypt(file.Path, destFile, language, vendors)
|
|
@@ -5,7 +5,7 @@ from typing import List, Generator, Optional
|
|
|
5
5
|
from pathlib import Path
|
|
6
6
|
from xml.etree.ElementTree import Element, parse
|
|
7
7
|
from zipfile import ZipFile
|
|
8
|
-
from shutil import copy, copytree, rmtree
|
|
8
|
+
from shutil import copy, copytree, rmtree, ignore_patterns
|
|
9
9
|
|
|
10
10
|
from simplhdl.pyedaa import (
|
|
11
11
|
File,
|
|
@@ -72,6 +72,7 @@ class Spd:
|
|
|
72
72
|
sh(command, cwd=filename.parent)
|
|
73
73
|
if not spdfile.exists():
|
|
74
74
|
raise FileNotFoundError(f"{spdfile}: doesn't exits")
|
|
75
|
+
logger.debug(f"Parse {spdfile}")
|
|
75
76
|
self.tree = parse(spdfile)
|
|
76
77
|
self.root = self.tree.getroot()
|
|
77
78
|
self.location = spdfile.parent.absolute()
|
|
@@ -222,7 +223,7 @@ class QuartusIP(GeneratorBase):
|
|
|
222
223
|
seen[fileid] = file
|
|
223
224
|
|
|
224
225
|
|
|
225
|
-
def
|
|
226
|
+
def get_list_of_ipfiles(filename: QuartusQSYSSpecificationFile) -> List[File]:
|
|
226
227
|
"""
|
|
227
228
|
Search for IP files in a QSYS file and return a list of QuartusIPSpecificationFile objects.
|
|
228
229
|
"""
|
|
@@ -234,6 +235,15 @@ def parse_qsys(filename: QuartusQSYSSpecificationFile) -> List[File]:
|
|
|
234
235
|
if m:
|
|
235
236
|
ipfile = filename.Path.parent.joinpath(m.group(1))
|
|
236
237
|
if ipfile.exists():
|
|
238
|
+
logger.debug(f"Found {ipfile} in {filename.Path}")
|
|
239
|
+
files.append(QuartusIPSpecificationFile(ipfile))
|
|
240
|
+
else:
|
|
241
|
+
logger.warning(f"File {ipfile} not found")
|
|
242
|
+
m = re.search(r'<parameter name="logicalView">(.*\.ip)</parameter>', line)
|
|
243
|
+
if m:
|
|
244
|
+
ipfile = filename.Path.parent.joinpath(m.group(1))
|
|
245
|
+
if ipfile.exists():
|
|
246
|
+
logger.debug(f"Found {ipfile} in {filename.Path}")
|
|
237
247
|
files.append(QuartusIPSpecificationFile(ipfile))
|
|
238
248
|
else:
|
|
239
249
|
logger.warning(f"File {ipfile} not found")
|
|
@@ -244,10 +254,10 @@ def qsys_to_fileset(file: QuartusQSYSSpecificationFile, flow: FlowBase, library)
|
|
|
244
254
|
"""
|
|
245
255
|
Parse a QSYS file and return a FileSet object.
|
|
246
256
|
"""
|
|
247
|
-
ipfiles =
|
|
257
|
+
ipfiles = get_list_of_ipfiles(file)
|
|
248
258
|
if flow.category == FlowCategory.SIMULATION:
|
|
249
259
|
parent = file.FileSet
|
|
250
|
-
for ipfile in
|
|
260
|
+
for ipfile in [file] + ipfiles:
|
|
251
261
|
spd = Spd(ipfile.Path, flow, file.Path.parent.absolute())
|
|
252
262
|
for fileset in reversed(spd.filesets):
|
|
253
263
|
# Add fileset to parent, then set parent to fileset to make a chain
|
|
@@ -311,10 +321,18 @@ def copy_qsysfile(file: QuartusQSYSSpecificationFile, dest: Path) -> QuartusQSYS
|
|
|
311
321
|
Copy QSYS files to a directory and return a new QuartusQSYSSpecificationFile object with the new path.
|
|
312
322
|
"""
|
|
313
323
|
md5file = dest.joinpath(file.Path.name).with_suffix('.md5')
|
|
314
|
-
qsysdir = dest.joinpath(file.Path.name)
|
|
324
|
+
qsysdir = dest.joinpath(file.Path.name).with_suffix('')
|
|
325
|
+
|
|
315
326
|
src = file.Path.parent
|
|
316
327
|
if not md5file.exists() or not md5check(src, filename=md5file):
|
|
317
|
-
|
|
328
|
+
logger.debug(f"Copy {file.Path} to {qsysdir}")
|
|
329
|
+
# If destination is a subdirectory of source the copytree will have
|
|
330
|
+
# to ignore this subdirectory
|
|
331
|
+
if qsysdir.absolute().is_relative_to(src.absolute()):
|
|
332
|
+
ignoredir = qsysdir.absolute().relative_to(src.absolute()).parents[-2]
|
|
333
|
+
copytree(str(src), str(qsysdir), dirs_exist_ok=True, ignore=ignore_patterns(ignoredir))
|
|
334
|
+
else:
|
|
335
|
+
copytree(str(src), str(qsysdir), dirs_exist_ok=True)
|
|
318
336
|
md5write(src, filename=md5file)
|
|
319
337
|
file._fileType = QuartusQSYSSpecificationFile
|
|
320
338
|
file._path = qsysdir.joinpath(file.Path.name).with_suffix('.qsys').resolve()
|
|
@@ -355,7 +373,7 @@ def unpack(file: Path, dest: Path) -> None:
|
|
|
355
373
|
"""
|
|
356
374
|
Unpack a file to a directory and return the new path.
|
|
357
375
|
"""
|
|
358
|
-
md5file = dest.joinpath(file.name).with_suffix('.md5')
|
|
376
|
+
md5file = dest.parent.joinpath(file.name).with_suffix('.md5')
|
|
359
377
|
if not md5file.exists() or not md5check(file, filename=md5file):
|
|
360
378
|
logger.info(f"Unpack {file} to {dest}")
|
|
361
379
|
with ZipFile(file, 'r') as zip:
|
|
@@ -3,10 +3,7 @@ import pyEDAA.ProjectModel as pm
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import Optional
|
|
5
5
|
from pyTooling.MetaClasses import ExtendedType
|
|
6
|
-
from .attributes import UsedIn
|
|
7
|
-
|
|
8
|
-
SIMULATION = "simulation"
|
|
9
|
-
IMPLEMENTATION = "implementation"
|
|
6
|
+
from .attributes import Encrypt, UsedIn, SIMULATION, IMPLEMENTATION
|
|
10
7
|
|
|
11
8
|
|
|
12
9
|
class FileMixIn(metaclass=ExtendedType, mixin=True):
|
|
@@ -31,7 +28,9 @@ class HDLLibrary(pm.VHDLLibrary):
|
|
|
31
28
|
|
|
32
29
|
|
|
33
30
|
class HDLIncludeFile(SourceFile):
|
|
34
|
-
|
|
31
|
+
def _registerAttributes(self):
|
|
32
|
+
super()._registerAttributes()
|
|
33
|
+
self[UsedIn] = {SIMULATION, IMPLEMENTATION}
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
class HDLSearchPath(HDLIncludeFile):
|
|
@@ -51,6 +50,8 @@ class HDLSourceFile(pm.HDLSourceFile, FileMixIn):
|
|
|
51
50
|
def _registerAttributes(self):
|
|
52
51
|
super()._registerAttributes()
|
|
53
52
|
FileMixIn._registerAttributes(self)
|
|
53
|
+
self[UsedIn] = {SIMULATION, IMPLEMENTATION}
|
|
54
|
+
self[Encrypt] = True
|
|
54
55
|
|
|
55
56
|
@property
|
|
56
57
|
def Library(self) -> HDLLibrary:
|
|
@@ -84,6 +85,30 @@ class VHDLSourceFile(HDLSourceFile, pm.HumanReadableContent):
|
|
|
84
85
|
pass
|
|
85
86
|
|
|
86
87
|
|
|
88
|
+
class VerilogIncludeEncryptedFile(VerilogIncludeFile):
|
|
89
|
+
def _registerAttributes(self):
|
|
90
|
+
super()._registerAttributes()
|
|
91
|
+
self[Encrypt] = False
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class VerilogEncryptedSourceFile(VerilogSourceFile):
|
|
95
|
+
def _registerAttributes(self):
|
|
96
|
+
super()._registerAttributes()
|
|
97
|
+
self[Encrypt] = False
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class SystemVerilogEncryptedSourceFile(SystemVerilogSourceFile):
|
|
101
|
+
def _registerAttributes(self):
|
|
102
|
+
super()._registerAttributes()
|
|
103
|
+
self[Encrypt] = False
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class VHDLEncryptedSourceFile(VHDLSourceFile):
|
|
107
|
+
def _registerAttributes(self):
|
|
108
|
+
super()._registerAttributes()
|
|
109
|
+
self[Encrypt] = False
|
|
110
|
+
|
|
111
|
+
|
|
87
112
|
class PythonSourceFile(pm.PythonSourceFile):
|
|
88
113
|
pass
|
|
89
114
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import pyEDAA.ProjectModel as pm
|
|
2
|
+
|
|
3
|
+
from typing import Set
|
|
4
|
+
|
|
5
|
+
SIMULATION = "simulation"
|
|
6
|
+
IMPLEMENTATION = "implementation"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class UsedIn(pm.Attribute):
|
|
10
|
+
NAME: 'UsedIn'
|
|
11
|
+
VALUE_TYPE: Set[str]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Encrypt(pm.Attribute):
|
|
15
|
+
NAME: 'Encrypt'
|
|
16
|
+
VALUE_TYPE: bool
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.5.5"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.5.5 → simplhdl-0.5.7}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{simplhdl-0.5.5 → simplhdl-0.5.7}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.5.5 → simplhdl-0.5.7}/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
|
|
File without changes
|
{simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2
RENAMED
|
File without changes
|
{simplhdl-0.5.5 → simplhdl-0.5.7}/src/simplhdl/resources/templates/questasim/project.qrun.j2
RENAMED
|
File without changes
|
{simplhdl-0.5.5 → simplhdl-0.5.7}/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.5.5 → simplhdl-0.5.7}/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.5.5 → simplhdl-0.5.7}/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
|
|
File without changes
|