Skip to main content

Generate VHDL, SystemVerilog, html, rst, md, pdf, c headers from an IPXACT description

Project description

ipxact2systemverilog ipxact2rst ipxact2md ipxact2vhdl ipxact2c ipxact2py

CI

image

This software takes an IP-XACT description of register banks, and generates synthesizable VHDL and SystemVerilog packages and ReStructuredText documents. It ONLY considers register bank descriptions. The software does not generate OVM or UVM test bench packages. In the example/tb directory there is an example of how to use the generated packages.

Usage

pip install ipxact2systemverilog

ipxact2systemverilog --srcFile FILE --destDir DIR
ipxact2rst --srcFile FILE --destDir DIR
ipxact2md --srcFile FILE --destDir DIR
ipxact2vhdl --srcFile FILE --destDir DIR
ipxact2c --srcFile FILE --destDir DIR
ipxact2py --srcFile FILE --destDir DIR

Development

See https://github.com/oddball/ipxact2systemverilog

python -m venv venv
source venv/bin/activate
pip install build
python -m build
python -m pip install .
# In order to publish:
pip install twine
twine upload dist/*

Testing the example file

make

If Modelsim is installed: :

make compile
make sim

Note

You can use http://pandoc.org/demos.html to convert to almost any fileformat.

Validation

To validate your xml :

xmllint --noout --schema ipxact2systemverilog/xml/component.xsd  example/input/test.xml

Dependencies

pip install docutils lxml mdutils

Dependencies used by makefile

These are not needed for ipxact2systemverilog, but used for generating some of the files in example/output. Instructions are for MacOsX, similiar packages are available for Linux and Windows.

brew install pandoc verilator ghdl

# if you want to use sphinx
brew install texlive
sudo tlmgr install latexmk

TODO

  • A better test bench for the generated packages should be implemented.
  • More complicated IPXACT files should be added and tried out.
  • Add support for the SystemVerilog generator to have a register field of an enumerated type.
  • Support DIM
  • Eat some cheese and drink some wine 2024-06-20

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipxact2systemverilog-1.0.30.tar.gz (310.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ipxact2systemverilog-1.0.30-py3-none-any.whl (539.0 kB view details)

Uploaded Python 3

File details

Details for the file ipxact2systemverilog-1.0.30.tar.gz.

File metadata

  • Download URL: ipxact2systemverilog-1.0.30.tar.gz
  • Upload date:
  • Size: 310.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for ipxact2systemverilog-1.0.30.tar.gz
Algorithm Hash digest
SHA256 ebe47206ab88c12fa07f69f57a59ba8cd6ceb6a63efc787e8bec63f643aa0115
MD5 691bed1599de2c2ae2ba0dee2b06b3b6
BLAKE2b-256 5d8832712ce81e05d37334ff7d7a9de551a6fc8db83c3bf53ddae4f262f85a73

See more details on using hashes here.

File details

Details for the file ipxact2systemverilog-1.0.30-py3-none-any.whl.

File metadata

File hashes

Hashes for ipxact2systemverilog-1.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 850378e68ea352d4fdf8f442daaf61a7670ac73ce8420bb8735bff5fc02f97f8
MD5 cf19518a081bed5ea34096456cfc1532
BLAKE2b-256 d38586f00132ecb1a735786a7056ee39c767ffb8af172caf09b2d79946ddceca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page