Skip to main content


BHDL is a programming language embedded in racket. In addition to the language, the system consists of a layout co-design system based on functional picture, REPL-driven interactive development and visualization, libraries, KiCAD compatible exporter, and placement engines including an optimization-based anlytical placer (ePlace) and simulated annealing based detailed placer.


  • User Documents
    • Installation guide
    • Getting Started: this guide presents all you need to compose your circuit through an example keyboard circuit.
    • Component Library: the official BHDL components library, and how to create your own library easily.
    • API reference: the function APIs including
      • the primary API, make-circuit
      • three connection syntax, *- *< and *=
      • layout API
      • exporting API for KiCAD, PNG, PDF, BOM, etc.
  • Developer Documents