Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mpatil/sv-json-schema
This is a SystemVerilog configuration class generation -- from JSON schema -- utility.
https://github.com/mpatil/sv-json-schema
generator json-schema systemverilog
Last synced: 3 months ago
JSON representation
This is a SystemVerilog configuration class generation -- from JSON schema -- utility.
- Host: GitHub
- URL: https://github.com/mpatil/sv-json-schema
- Owner: mpatil
- License: mit
- Created: 2024-01-28T16:48:19.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-08-21T05:05:11.000Z (4 months ago)
- Last Synced: 2024-10-01T04:43:19.066Z (3 months ago)
- Topics: generator, json-schema, systemverilog
- Language: SystemVerilog
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![](https://img.shields.io/badge/license-MIT-green)
# sv-json-schema
This is a tool to generate a SystemVerilog configuration class from a schema specification of the data. The data format is JSON.## Introduction
Given a JSON schema specification of data, the tool produces a systemverilog class which when instantiated as an object can read and parse a JSON data file(conforming to the specified schema), dump a JSON file of the its representation and randomize its data in the specified constrained manner.
The json schema library used is statham-schema. The SystemVerilog serializer deserializer comes from JSONinSV.
## Reference
1. [statham-schema](https://github.com/jacksmith15/statham-schema)
1. [JSONinSV](https://github.com/zhouchuanrui/JSONinSV)
1. [JSON Schema](https://json-schema.org/)## Development
1. Clone the repository: `git clone https://github.com/mpatil/sv-json-schema.git && cd sv-json-schema`
1. Initialise git submodules: `git submodule update --init --recursive`
1. Install the requirements: `pip install -r requirements.txt`
1. Setup simulator env. Only mentor questa supported right now.
1. Run the default generation: `make`