Export Yosys netlists to a logic simulator
npm install yosys2digitaljsbash
apt install yosys
`
Clone the repository and install dependencies using npm:
`bash
git clone https://github.com/tilk/yosys2digitaljs.git
cd yosys2digitaljs
npm install
`
Now you can run yosys2digitaljs on your Verilog or SystemVerilog files:
`bash
./process.js file.v file.sv ...
`
The generated JSON is printed on standard output.API
Yosys2digitaljs can be used as a library. The API is promise (or async/await) based. Available functions are: -
yosys2digitaljs(json, options) - converts the Yosys JSON output json (passed as an JS object) to a DigitalJS representation of the same circuit.
- process_sv(sv_text, options) - converts a single SystemVerilog source passed as a string.
- process_files(texts, options) - converts multiple Verilog/SystemVerilog/RTLIL sources. The texts parameter is an object, with keys being file names, and corresponding values containing the file contents as strings. Example: { 'test.sv': 'module test; ...' }.
- process(filenames, dirname, options) - converts Verilog/SystemVerilog/RTLIL sources saved on the filesystem under names filenames in the directory dirname.The functions return a promise, which fulfills with an object value with following keys:
-
output: the conversion result as JS object, which can be stringified to JSON.
- yosys_stdout and yosys_stderr`: standard output and error output received from Yosys.For bigger example, see the online app demo.