Skip to content
This repository was archived by the owner on May 25, 2019. It is now read-only.

Roadmap

Harnesser edited this page Jun 6, 2011 · 2 revisions

Table of Contents

Version 0.1 - 'Harp'

The Basics (25-AUG-07)

  • Read in a fixed verilog file list
  • Build the Verilog Parser: starting with a basic subset of verilog language
  • Build Circuit Data Structure`
  • Draw module instanciations
  • Draw ratsnest connections
  • Draw module ports
  • Allow traversal of hierarchy
  • Build basic GUI
  • Unittest foundation

Version 0.2 - 'Dishwater'

Circuit Drawing Enhancements

  • Draw module instantiations placed in Left to Right order depending on signal flow
  • Initial implementation of the Sugiyama et al layout algorithm
    • Maybe layer reordering is enough for now
  • Tidy up graphics a bit

Version 0.3 - 'Carlsberg'

Verilog Language Support Enhancements

  • Consider SQLite backend
  • Parse ranges
  • Draw buses
  • Draw bus spurs
  • Parse always blocks
  • Draw always blocks as blocks
  • Concatenation support
  • Ordered port connections - Verilog 1995

Version 0.4 - 'Budvar'

GUI Enhancements

  • Net highlighting
  • Bookmarking of views
  • Zooming and Panning around circuit: keyboard and mousewheel support
  • Cache previously viewed modules?
  • Artwork: icon, splashscreen
  • Search: Nets. instances
  • Zoom to selected
  • Mouse rollover gives a tooltip with module information

Version 0.5 - 'Staropramen'

Parameter Support

  • Parse module parameters
  • Parameter propagation thru hierarchy
  • Parameter expression calculations

Version 0.6 - 'Fransiskaner'

Verilog Arguments and Preprocessor

  • Parse Verilog Arguments
  • Verilog Preprocessor: macro substitution, `ifdefs etc
  • Configurations

Version 0.7 - 'Erdinger'

Array Support

  • Array of Instances
  • generate blocks
    • Can start eating own dogfood?

Version 0.8 - 'Zelta'

Debug Functionality

  • Net drivers tracing
  • What is done with malformed RTL?
  • Display source code on demand
  • 'Alt-G' Mode - Grey out everything except highlighted nets

Version 0.9 - 'Tiger'

Lower-level Circuit Drawing

  • Parse and ignore specparam sections
  • Detect and draw simple logic gates
  • Draw instantiated logic primitives/standard cells
  • Detect and draw muxes
  • Draw datapath blocks: adders, comparators etc

Version 1.0 - 'Guinness'

Final Tidy-Up

  • Test with real-life RTL: From OpenCores and from ADI (if legal)
  • Test at work - eat own dogfood
  • Debian/Ubuntu package
  • Windows Installer
  • Desktop integration
  • About
  • Help

Future Enhancements

  • VHDL Support
  • Printing
  • Connection to SimVision etc
  • Option to not route Clock or Reset nets, but instead indicate that they are connected
  • HTML hitmap export option
  • Look at memory footprint