Create or refine microarchitecture specifications for blocks and subsystems, including logical implementation, data structures, programmable registers, state machines, datapaths, and dataflow diagrams. You will gain hands-on experience turning system goals into block definitions, interfaces, dataflows, state machines, registers, clocking and reset behavior, performance budgets, and software-programming guidance.