                         |||||| |||  ||| ||||||  |||
                        |||     |||  ||| ||| ||| |||
                        |||     |||||||| ||| ||| |||
                         |||||| |||  ||| ||||||  |||||||
                              VGA  Controller Demo
                             Friday, 12 April, 2013

Strange things happen as a consequence of the lack  of  freedom  in the hardware
world. Consider the case of the man who made a  CPU  out of discrete transistors
because he was uncomfortable with FPGA vendor lock-in.  I do not understand  the
EDA community enough to make any claims about  the tools they do or do not have,
open source or otherwise.  I have experienced  a  lack, but  it  may just be the
rarified air of the field when compared to software-oriented disciplines.  Other
tools exist. I have not found the ones  I  have encountered  particularly  well-
suited to my personal needs, so I have built another.

CHDL  (call it "the" CHDL at your peril)  is  two things:  a C++-based  hardware
description language  and a C++ hardware design library. The former fills a per-
ceived need for radical generality and simplicity in  gate-level design specifi-
cation and the latter fills  a  need for a free software toolchain for realizing
these designs.

CHDL (the language) can  be  used to specify abstract digital logic designs with
uncommonly terse syntax.  Designs specified  in  this way can then be subject to
optimizations and simulated directly or written out to netlists.  It is the pro-
cessing of these netlists that is the domain of CHDL  (the library)  and the re-
lated utilities. The netlist files may be translated  to other  HDLs  (like ones
supported by FPGA vendor toolchains),  translated to C and simulated more quick-
ly, or technology mapped and physically implemented.


