HDFS – Hardware Design Using F#, version 0.2


On hubFS AndyMan has recently announced “Hardware Design F#”, HDFS, Version 0.2, based on a port of HDCaml, by Tom Hawkins, though rapidly acquiring a life of its own.  I blogged about version 0.1 a while back. Here are his release highlights:


  • Revised circuit design API.  Where possible standard operators are used and overloaded to allow integer and string arguments.
  • Improved simulator which should fix the bugs in V0.1 and adds a few extra optimisations.  Completely redesigned API makes it much nicer to work with.
  • Basic constant propogation optimisations applied automatically as circuits are built.
  • Fixed point data type. 

  • A few new library circuits.
  • HDCaml compatibility API.
  • The beginnings of a synthesizer for Xilinx FPGAs.  Although not complete, to me it’s quite remarkable what a few hundred lines of ML can achieve.  Main things still to do:

    •   Memory generation (distributed and block ram).
    •   Hard multiplier support.
    •   Fix buggy instantiation code.
    •   EDIF generator (trying to reverse engineer EDIF is about as much fun as pulling out your own teeth…).

  • Matlab Simulink model generator, kindly provided by John White.

Comments (1)

  1. On Don Syme’s WebLog on F# and Other Research Projects , there are several interesting recent entries