Paso 3: Crear la parte 2 del transmisor
La máquina de estado comienza con un bloque de siempre y una sentencia case. El siempre bloque disparadores de un cambio en el estado, transmitir la señal, o el número de bits. La máquina del estado permitirá el módulo entrar en un estado inactivo cuando no se está transmitiendo datos.
El módulo final se adjunta a continuación.
always @ (state or bitcounter or transmit) begin load <= 0; shift <= 0; clear <= 0; Tx <= 1; case (state) 0: begin if (transmit == 1) begin nextstate <= 1; load <= 1; shift <= 0; clear <= 0; end else begin nextstate <= 0; Tx <= 1; end end 1: begin if (bitcounter >= 10) begin nextstate <= 0; clear <= 1; end else begin nextstate <= 1; shift <= 1; Tx <= rightshiftreg[0]; end end endcase end