the drawbacks of the MyHDL are limited support of some advanced hardware description features from the RTL language packages and complex error reporting. We overcome this limitation by using MyHDL as an intermediate language and use object oriented circuit description and template files