Hardware Description Language in Scala