What Every Engineer Should Know About SoC Register Generation