Bluespec(TM): a language to raise the level of ASIC design