Se dio solución al siguiente problema:

Elementos usados:
- 1 PSoC
- 1 Protoboard
- 4 leds, 2 rojos y 2 verdes.
- Maqueta de una calle con los semaforos,
Lo primero que se propuso para la solución de este problema, fue asignar 2 contadores a cada estado del semáforo, al rojo y al verde. Estos dos contadores son de 6 bits ya que se debe alcanzar máximo que dura un estado del semáforo, es decir 60.
La salida de cada contador se entró a 2 comparadores, los cuales los comparan al numero 60 y al numero 40.

Al clock de estos contadores se le ingresó la salida de un circuito compuesto por un mux, el cual permite el funcionamiento de uno, mientras el otro está en stop.

Se usó un mux 2:1. Cuando el selector es 0, la entrada que se activa es la de un clock de 1Hz, pero si el selector es 1, la entrada es circuito que siempre dará un pulso de 0 logico ( este circuito puede ser reemplazado por un 0 logico) .
Para el reset de estos contadores se tuvo en cuenta el contador que lleva los numero de carros que han pasado; la salida de este contador fue entrada a 2 comparadores, 1 que comparaba si este numero es menor a 10 y el otro si ya pasaron 10 o mas carros por la carretera.

A este contador se le ingresó un 1 en el enable, en el reset es el mismo reset del contador rojo y el clock es el pulso que manda el sensor pero solo si el semáforo verde esta activo, de otra manera los pulsos que envie el sensor no serán contados. Como se puede ver, el clock tiene una OR con el mismo pulso de reset, esto es porque para que se reinicie el contador , también tiene que haber un ultimo pulso que lo active para así poder reiniciarse correctamente.
Ahora, para hacer efectivo el reset de cada contador que maneja los estados del semaforo, vamos a proponer que:
- El semáforo en estado rojo se reinicie en 60 o que si mas o igual a 10 carros han pasado por el sensor, entonces se reinicie en 40.
- El semáforo en estado verde se reinicie a 40 si el contador es menos de 10 carros o que se reinicie en 60 si el contador es mas de 10 o igual.

Ahora lo que falta hacer es la implantación de una memoria de 1 bit para que mantenga el led de cada estado prendido cuando corresponda.

Siendo ROJODATO como el puso que mantenga el led rojo prendido mientras este deba estarlo, y VERDEDATO como el puso que mantenga el led verde cuando deba estar prendido.
Lo único queda por hacer es recordar que el semáforo de la segunda via, tiene un comportamiento contrario al de la via principal, es decir que solo se debe poner la salida ROJODATO al led verde del segundo semáforo y el VERDEDATO al led rojo. Y así se puede asegurar que mientras en la via principal el semáforo este verde, el otro estará en rojo y viceversa.