Need help implementing two way traffic light controller ( VHDL)

Thread Starter


Joined Apr 4, 2017
The project is a two-way traffic light controller (NS,EW) with these state diagram conditions (active low outputs)

The North-South lights are controlled by outputs called nsr, nsy, and nsg
The East-West road is controlled by similar outputs called
ewr, ewy, ewg.

The cycle is controlled by an input called TIMER which controls the length of the two greenlight
cycles (s0 represents the EW green; s2 represents the NS green.)

When TIMER = 1, a transition from s0 to s1 or from s2 to s3 is possible. This accompanies a
change from green to yellow on the active road. The light on the other road stays red.

An unconditional transition follows, changing the yellow light to red on one road and the red
light to green on the other. The cycle can be set to any length by changing the signal on the TIMER input

For my project red light is 13 cycles, green 12 and yellow is always 1

right now i have a two bit seven segment display that counts from 0 to 99 and is connected to a frequency divider. Not sure about the approach to take to implement the state conditions:


Joined Dec 2, 2013
traffic lights demand a state machine (safety: lockup detection and mall function.)
Use a microcontroller low cost simple and quick .
Will take 1H at the most to program it. (and gives freedom to alter or expand).
Hardware design same time.
Use mosfets to control the multi led traffic lights measure from each led the current as precaution to avoid problems with the law after a serious incident. (test : are the correct led on? if not go into error or switch all off)

conclusion: hard and software design less than 2 hours mechanical part will take much more time (PCB"s and light poles plus their (IP 66/67 housing)