1.0.2 • Published 4 years ago
dux-scala v1.0.2
Design ∪ Hardware
DUH ("Spirit" in most slavic languages. pronounced /dûx/, with the final consonant of loch or Bach) is a suite of tools for packaging reusable hardware components and designs. DUH enables the generation of JSON5 (duh documents) for describing these components, and also enables export from these documents to output deliverables.
Install
Check that you have Node.js version (6 - 11) installed by running:
node --versionOn Installing Node.js via package manager
Install duh tool suite.
npm i duhAnd test installation with duh --help
Quick start
Base set of DUH tools to author duh documents:
Create
- Run
duh initto create a base document.
- Run
- SystemVerilog: Run
duh duh-import-verilog-portsto import an interface from Verilog RTL of the component - IPXACT: duh-ipxact
- SystemVerilog: Run
Infer
- Run
duh-portinfto infer mappings of portgroups to standard bus definitions AXI, AHB, TileLink, etc. - Run
duh-portbundlerto group ports, which are unassigned to a bus mapping, into structured bundles.
- Run
- Run
duh validateto test whether a given document conforms to the DUH document structure.
- Run
- Run
duh-export-scalato generate scala black box wrappers for the component. - IPXACT: duh-ipxact
- Run
DUH toolbox
- duh-scala -- Scala / Chisel export
- duh-ipxact -- IP-XACT import / export
- duhportinf -- Bus interfaces inference
- duh-bus -- DUH Bus Definitions
- duh-schema -- DUH document JSON schema
- duh-core -- DUH core library
- duh-verilog -- Verilog generator from DUH document
- duh-svd -- DUH to SVD converter
Example of DUH documents
- block-ark for a walk-through example using the DUH suite on a standalone module to produce a valid duh-document that fully describes the mapping of ports to known bus definitions.