A system for digital hardware description and simulation