Hardware design languages