SimplHDL 0.3.0__tar.gz → 0.4.0__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.3.0 → simplhdl-0.4.0}/PKG-INFO +1 -1
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/PKG-INFO +1 -1
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/SOURCES.txt +2 -0
- simplhdl-0.4.0/src/simplhdl/__init__.py +1 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/cocotb.py +6 -3
- simplhdl-0.4.0/src/simplhdl/flows/encrypt/encryptflow.py +129 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/plugins.py +1 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/questasim/project.qrun.j2 +2 -0
- simplhdl-0.4.0/src/simplhdl/resources/templates/xsim/__init__.py +0 -0
- simplhdl-0.3.0/src/simplhdl/__init__.py +0 -1
- {simplhdl-0.3.0 → simplhdl-0.4.0}/.github/workflows/publish.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/.gitignore +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/.readthedocs.yaml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/LICENSE +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/README.md +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/_static/simplhdl_dark.png +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/_static/simplhdl_light.png +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/_static/simplhdl_light_1.png +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/conf.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/drawing.svg +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/ghdl.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/icarus.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/quartus.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/questasim.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/vcs.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/vivado.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows/xsim.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/flows.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/index.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/intel-ips.md +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/introduction.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/plugins.rst +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/docs/requirements.txt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/adder.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/hdl/adder.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/sim/testbench.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/sim/testbench.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/syn/build.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/syn/placement.xdc +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/syn/timing.xdc +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/adder/syn/top.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/alu.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/hdl/add.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/hdl/alu.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/hdl/mul.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/hdl/sub.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/agent.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/aluif.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/driver.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/monitor.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/sequenceitem.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/alu_vip/sequencer.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/clock_vip/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/clock_vip/agent.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/clock_vip/clockif.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/pyuvm.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/test/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/test/env.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/test/seq_lib.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/test/test.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/pyuvm/testbench.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/agent.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/alu_vip.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/driver.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/env.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/monitor.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/alu_vip/sequence_item.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/add_seq.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/seq_lib/base_seq.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/tb_env.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/tb_env.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/test/base_test.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/tb_env/test/test_add.svh +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/testbench/alu_if.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/testbench/testbench.sv +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/testbench/testbench.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/sim/uvm/testcases/test_add/test_add.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/syn/build.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/syn/placement.xdc +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/alu/syn/timing.xdc +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/hello/build.sbt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/hello/hello.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/hello/src/main/scala/Hello.scala +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/hdl/hello/syn/build.yml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/plugins/simple_parser/setup.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/plugins/simple_parser/src/simple_parser/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/examples/plugins/simple_parser/src/simple_parser/simple_parser.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/pyproject.toml +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/setup.cfg +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/dependency_links.txt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/entry_points.txt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/requires.txt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/SimplHDL.egg-info/top_level.txt +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/__main__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/__init__.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/modelsim → simplhdl-0.4.0/src/simplhdl/flows/encrypt}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/flake8/flake8flow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/implementationflow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/lint/lintflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/quartusdse → simplhdl-0.4.0/src/simplhdl/flows/modelsim}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/modelsim/modelsimflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/questasim → simplhdl-0.4.0/src/simplhdl/flows/quartusdse}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/quartusdse/quartusdseflow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/quartusflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/rivierapro → simplhdl-0.4.0/src/simplhdl/flows/questasim}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/questasim/questasimflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/vcs → simplhdl-0.4.0/src/simplhdl/flows/rivierapro}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/rivierapro/rivieraproflow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/simulationflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/verible → simplhdl-0.4.0/src/simplhdl/flows/vcs}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/vcs/vcsflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/vsg → simplhdl-0.4.0/src/simplhdl/flows/verible}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/verible/veribleflow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/vivadoflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/flows/xsim → simplhdl-0.4.0/src/simplhdl/flows/vsg}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/vsg/vsgflow.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/generators → simplhdl-0.4.0/src/simplhdl/flows/xsim}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/flows/xsim/xsimflow.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/generator.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/parsers → simplhdl-0.4.0/src/simplhdl/generators}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/generators/chisel.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/generators/ipxact.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/generators/spd.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/generators/systemrdl.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/info.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/parser.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources → simplhdl-0.4.0/src/simplhdl/parsers}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/parsers/fusesocparser.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/parsers/simplhdlparser.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/attributes.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/design.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/fileset.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/filetypes.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/project.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/target.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/pyedaa/vhdllibrary.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/repo.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates → simplhdl-0.4.0/src/simplhdl/resources}/__init__.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/flake8 → simplhdl-0.4.0/src/simplhdl/resources/templates}/__init__.py +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/modelsim → simplhdl-0.4.0/src/simplhdl/resources/templates/flake8}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/flake8/setup.cfg.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/Makefile.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/quartus → simplhdl-0.4.0/src/simplhdl/resources/templates/modelsim}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/files.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/fileset.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/project.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/modelsim/run.do.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/questasim → simplhdl-0.4.0/src/simplhdl/resources/templates/quartus}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/quartus/project.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/quartus/run.tcl.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/rivierapro → simplhdl-0.4.0/src/simplhdl/resources/templates/questasim}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/questasim/visualizer.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/questasim/vsim-run.do.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/Makefile.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/vcs → simplhdl-0.4.0/src/simplhdl/resources/templates/rivierapro}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/cocotb.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/dependencies.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/files.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/fileset.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/rivierapro/project.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/Makefile.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/verible → simplhdl-0.4.0/src/simplhdl/resources/templates/vcs}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/cocotb.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/dependencies.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/files.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/fileset.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/pli.tab.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/project.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/synopsys_sim.setup.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vcs/vcs.parameters.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/vivado → simplhdl-0.4.0/src/simplhdl/resources/templates/verible}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/verible/rules.cfg.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/vsg → simplhdl-0.4.0/src/simplhdl/resources/templates/vivado}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vivado/launch_run.sh.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vivado/project.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vivado/run.tcl.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vivado/steps.tcl.j2 +0 -0
- {simplhdl-0.3.0/src/simplhdl/resources/templates/xsim → simplhdl-0.4.0/src/simplhdl/resources/templates/vsg}/__init__.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vsg/files.json.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/vsg/rules.yml.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/Makefile.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/cocotb.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/dependencies.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/files.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/fileset.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/xsim/project.mk.j2 +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/run.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/simplhdl.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/tools.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/src/simplhdl/utils.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/tests/test_dummy.py +0 -0
- {simplhdl-0.3.0 → simplhdl-0.4.0}/tox.ini +0 -0
|
@@ -103,6 +103,8 @@ src/simplhdl/flows/implementationflow.py
|
|
|
103
103
|
src/simplhdl/flows/quartusflow.py
|
|
104
104
|
src/simplhdl/flows/simulationflow.py
|
|
105
105
|
src/simplhdl/flows/vivadoflow.py
|
|
106
|
+
src/simplhdl/flows/encrypt/__init__.py
|
|
107
|
+
src/simplhdl/flows/encrypt/encryptflow.py
|
|
106
108
|
src/simplhdl/flows/flake8/flake8flow.py
|
|
107
109
|
src/simplhdl/flows/lint/lintflow.py
|
|
108
110
|
src/simplhdl/flows/modelsim/__init__.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.4.0"
|
|
@@ -64,9 +64,12 @@ class Cocotb:
|
|
|
64
64
|
return ' '.join(tops)
|
|
65
65
|
|
|
66
66
|
def get_dut(self) -> str:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
try:
|
|
68
|
+
for top in self.project.DefaultDesign._topLevel.split():
|
|
69
|
+
if top != self.top:
|
|
70
|
+
return top
|
|
71
|
+
except AttributeError:
|
|
72
|
+
raise FlowError("No top levels found")
|
|
70
73
|
|
|
71
74
|
def hdltype(self): # noqa: C901
|
|
72
75
|
logger.debug(f"Cocotb hdl dut '{self.dut}'")
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import shutil
|
|
2
|
+
import logging
|
|
3
|
+
|
|
4
|
+
from typing import List
|
|
5
|
+
from argparse import Namespace
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
from simplhdl.flow import FlowFactory, FlowTools, FlowError
|
|
9
|
+
from simplhdl.flows.implementationflow import ImplementationFlow
|
|
10
|
+
from simplhdl.utils import sh
|
|
11
|
+
from simplhdl.pyedaa.project import Project
|
|
12
|
+
from simplhdl.pyedaa import SystemVerilogSourceFile, VerilogSourceFile, VHDLSourceFile, VerilogIncludeFile
|
|
13
|
+
|
|
14
|
+
logger = logging.getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
VENDORS = ["cadence", "mentor", "synopsys", "spyglass", "dsim", "veloce", "dcfcf"]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@FlowFactory.register('encrypt')
|
|
21
|
+
class EncryptFlow(ImplementationFlow):
|
|
22
|
+
|
|
23
|
+
@classmethod
|
|
24
|
+
def parse_args(self, subparsers) -> None:
|
|
25
|
+
parser = subparsers.add_parser('encrypt', help='Encrypt HDL source for diffent tool vendors')
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--inplace',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help="Place the encrypted file next to the source file"
|
|
30
|
+
)
|
|
31
|
+
parser.add_argument(
|
|
32
|
+
'--no-encrypt',
|
|
33
|
+
action='store_true',
|
|
34
|
+
help="Disable encryption"
|
|
35
|
+
)
|
|
36
|
+
parser.add_argument(
|
|
37
|
+
'--vendors',
|
|
38
|
+
action='store',
|
|
39
|
+
nargs='+',
|
|
40
|
+
choices=VENDORS,
|
|
41
|
+
help="Vendor list to support"
|
|
42
|
+
)
|
|
43
|
+
parser.add_argument(
|
|
44
|
+
'--outputdir',
|
|
45
|
+
type=Path,
|
|
46
|
+
dest='outdir',
|
|
47
|
+
action='store',
|
|
48
|
+
help='Output directory'
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
def __init__(self, name, args: Namespace, project: Project, builddir: Path):
|
|
52
|
+
super().__init__(name, args, project, builddir)
|
|
53
|
+
self.tools.add(FlowTools.QUARTUS)
|
|
54
|
+
if self.args.inplace and self.args.no_encrypt:
|
|
55
|
+
raise FlowError("Both --inplace and --no-encrypt options are enabled.")
|
|
56
|
+
|
|
57
|
+
def run(self) -> None:
|
|
58
|
+
self.configure()
|
|
59
|
+
self.execute()
|
|
60
|
+
|
|
61
|
+
def configure(self) -> None:
|
|
62
|
+
self.is_tool_setup()
|
|
63
|
+
|
|
64
|
+
def execute(self):
|
|
65
|
+
outputdir = self.args.outdir or self.builddir
|
|
66
|
+
outputdir.mkdir(parents=True, exist_ok=True)
|
|
67
|
+
|
|
68
|
+
for file in self.project.DefaultDesign.Files():
|
|
69
|
+
if file.FileType in [SystemVerilogSourceFile, VerilogIncludeFile]:
|
|
70
|
+
language = "systemverilog"
|
|
71
|
+
elif file.FileType == VerilogSourceFile:
|
|
72
|
+
language = "verilog"
|
|
73
|
+
elif file.FileType == VHDLSourceFile:
|
|
74
|
+
language = "vhdl"
|
|
75
|
+
else:
|
|
76
|
+
continue
|
|
77
|
+
|
|
78
|
+
if self.args.no_encrypt:
|
|
79
|
+
destFile = outputdir.joinpath(file.Path.name)
|
|
80
|
+
elif self.args.inplace:
|
|
81
|
+
destFile = file.Path.with_suffix(f"{file.Path.suffix}p")
|
|
82
|
+
else:
|
|
83
|
+
destFile = outputdir.joinpath(file.Path.name).with_suffix(f"{file.Path.suffix}p")
|
|
84
|
+
|
|
85
|
+
if self.args.vendors:
|
|
86
|
+
vendors = self.args.vendors
|
|
87
|
+
else:
|
|
88
|
+
vendors = VENDORS
|
|
89
|
+
|
|
90
|
+
if self.args.no_encrypt:
|
|
91
|
+
shutil.copyfile(file.Path.absolute(), destFile.absolute())
|
|
92
|
+
else:
|
|
93
|
+
encrypt(file.Path, destFile, language, vendors)
|
|
94
|
+
|
|
95
|
+
def is_tool_setup(self) -> None:
|
|
96
|
+
exit: bool = False
|
|
97
|
+
if shutil.which('encrypt_1735') is None:
|
|
98
|
+
logger.error('encrypt_1735: not found in PATH')
|
|
99
|
+
exit = True
|
|
100
|
+
if exit:
|
|
101
|
+
raise FileNotFoundError("Quartus is not setup correctly")
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def encrypt(src: Path, dst: Path, language: str, vendors: List[str]) -> Path:
|
|
105
|
+
"""
|
|
106
|
+
Encrypt a HDL source file using the 'encrypt_1735' tool.
|
|
107
|
+
|
|
108
|
+
Parameters:
|
|
109
|
+
src (Path): The source file path of the HDL file to be encrypted.
|
|
110
|
+
dst (Path): The destination file path or directory for the encrypted file.
|
|
111
|
+
If dst is a directory, the source file name is appended.
|
|
112
|
+
language (str): The language type of the HDL file (e.g., "systemverilog", "verilog", "vhdl").
|
|
113
|
+
vendors (List[str]): A list of vendor names used to set up the simulation options.
|
|
114
|
+
|
|
115
|
+
Returns:
|
|
116
|
+
Path: The absolute path to the encrypted file.
|
|
117
|
+
|
|
118
|
+
Example:
|
|
119
|
+
encrypted_path = encrypt(Path("/path/to/source.v"), Path("/path/to/output"), "verilog", ["cadence", "mentor"])
|
|
120
|
+
"""
|
|
121
|
+
destFile = dst.joinpath(src.name) if dst.is_dir() else dst
|
|
122
|
+
command = [
|
|
123
|
+
"encrypt_1735", str(src.absolute()),
|
|
124
|
+
"--language", language,
|
|
125
|
+
"--quartus",
|
|
126
|
+
f"--simulation={','.join(vendors)}",
|
|
127
|
+
"-of", f"{destFile.absolute()}"
|
|
128
|
+
]
|
|
129
|
+
sh(command, output=True)
|
|
@@ -30,6 +30,7 @@ def load_builtin_plugins() -> None:
|
|
|
30
30
|
import_module('simplhdl.flows.xsim.xsimflow')
|
|
31
31
|
import_module('simplhdl.flows.rivierapro.rivieraproflow')
|
|
32
32
|
import_module('simplhdl.flows.quartusdse.quartusdseflow')
|
|
33
|
+
import_module('simplhdl.flows.encrypt.encryptflow')
|
|
33
34
|
import_module('simplhdl.flows.vsg.vsgflow')
|
|
34
35
|
import_module('simplhdl.flows.verible.veribleflow')
|
|
35
36
|
import_module('simplhdl.flows.lint.lintflow')
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.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.3.0 → simplhdl-0.4.0}/examples/plugins/simple_parser/src/simple_parser/__init__.py
RENAMED
|
File without changes
|
{simplhdl-0.3.0 → simplhdl-0.4.0}/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
|
{simplhdl-0.3.0/src/simplhdl/flows/modelsim → simplhdl-0.4.0/src/simplhdl/flows/encrypt}/__init__.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
|
{simplhdl-0.3.0/src/simplhdl/flows/vcs → simplhdl-0.4.0/src/simplhdl/flows/rivierapro}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.3.0/src/simplhdl/flows/verible → simplhdl-0.4.0/src/simplhdl/flows/vcs}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{simplhdl-0.3.0/src/simplhdl/flows/vsg → simplhdl-0.4.0/src/simplhdl/flows/verible}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplhdl-0.3.0/src/simplhdl/flows/xsim → simplhdl-0.4.0/src/simplhdl/flows/vsg}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{simplhdl-0.3.0/src/simplhdl/generators → simplhdl-0.4.0/src/simplhdl/flows/xsim}/__init__.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
|
{simplhdl-0.3.0 → simplhdl-0.4.0}/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.3.0 → simplhdl-0.4.0}/src/simplhdl/resources/templates/questasim/modelsim.tcl.j2
RENAMED
|
File without changes
|
{simplhdl-0.3.0 → simplhdl-0.4.0}/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.3.0 → simplhdl-0.4.0}/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.3.0 → simplhdl-0.4.0}/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
|