An online Verilog IDE based on YosysJS using Svg.js to create the svg element. YosysJS is an Emscripten-compiled version of the YosysJS logic synthesis tool. The idea of this project is to display digital schematics and to be able to evaluate them.
Here is a demo of the project : http://johndro.github.io/
This project is not finished.
What is working / done :
- Parsings the data from the JSON file
- Generating gates on the SVG element
What is not working / not done :
- Component placement (currently the placement is too slow.)
- Verilog Editor, interactive schematic viewer (zoom, drag and span) and automatic placement using simulated annealing :
- Digital gates :
- Display errors in your Verilog code :
- YosysJS
- Synthesises the Verilog code
- Provides the netlist of the equivalent schematic as an JSON file
- Svg.js
- A lightweight library for manipulating and animating SVG
- Svg.js plugins
- svg.draggable.js
- An extension for the svg.js library to make elements draggable
- svg.pan-zoom.js/
- An extension for the svg.js for panning and zooming SVG elements
- svg.draggable.js
- CodeMirror
- A text editor implemented in JavaScript
- Improve placement performances, currently the placement is very slow and sometimes innacurate.
- Look at wire length placer (built-in yosys)
- Finish to add components (chapter 5 on the yosys manual)
- Use AIG models and Wavedrom in order to evaluate circuits and display results