Skip to content

JohnDRO/Golirev-IDE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Golirev-IDE

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/

Current state of the project

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.)

Features :

  • Verilog Editor, interactive schematic viewer (zoom, drag and span) and automatic placement using simulated annealing :

Automatic placement using Simulated Annealing

  • Digital gates :

Gates

  • Display errors in your Verilog code :

CodeMiror

Dependencies :

  • 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
  • CodeMirror
    • A text editor implemented in JavaScript

TODO

  • 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

About

An online Verilog IDE based on YosysJS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published