CAES Language for Synchronous Hardware