hardware generation