Transcript Layout
Dynamic Traffic Control
Group 2
Project Objective :
Chun Han Chen
Timothy Kwan
Tom Bolds
Shang Yi Lin
Dynamic Control of Traffic Lights
Manager
Wed. Dec. 3
Randal Hong
Presentation Outline
Marketing
Project Description
Design Process
Floor Plan Evolution
Layout
Verification
Issues Encountered
Specifications
Marketing / Description
Tom Bolds
Current System
The current system has sensors that detects cars
leaving their lanes
Induction loops under the pavement
Video cameras
Depending on the time of day, the intersection lets
each arm go for a set amount of time
If no cars are present in one arm, the other arm is
green
It cannot learn or adapt
Cost for entire system: $35,000
A Better System
This system detects cars entering and
leaving each arm
The time that an arm is green is
determined in part, by past traffic
Exceptional traffic flow will change the
system immediately
Cost for entire system: $24,000
Market
4 Million traffic lights in the US
A few user inputs lets the system be
adjustable for different situations
Roads of different sizes
Different space constraints
Price goes down and quality goes up
Goals
When the government is involved, cost needs
to be low
Only 4 metal layers used
Optimized for small size
Could have gone the “all pseudo-nmos” route
We don’t want to use megawatts on a traffic light
Cmos logic to minimize size and power
consumption
Goals
Even if it causes just a few accidents nobody will
buy it, and we get sued
Design needs to be robust
Handle power failures
Return to a known state
Predictable behavior
People are used to driving a certain way
No accidental switching
Minimum time for lights to change
Installation
The only change necessary would be
the detectors for entering/leaving cars
Current system has ground sensors or
video camera to detect the first car at an
intersection
Could add another detector farther back,
or use video/sound detection to
determine where cars are
Traffic Flow
Sensors (Blue)
To detect the car entered
Sensors (Red)
To detect the car leaved
Traffic Light Flow
Phase C
ARM 1
Red
Green (Straight + Right)
Green Y
ARM 2
Y Red+Green(Left)
Y
Red
Phase A
ARM1
Red
Green (Straight + Right)
Phase B
ARM1
Phase A
ARM2
Y Red+Green(Left)
Phase B
We define three phases (A,B,C) for different operations.
Whenever pedestrian push the button, then this light will
insert in the end of this cycle.
Y
ARM2
PED
For Green light
Control
reset
Pedestrian
Hold until n1
or n2 changes
Light favors
n1 or n2 ?
Yes
n1
No
Yes
T<r2?
No
No
Yes
T>= R1?
Yes
No
Reset
T=0
T>= R2?
Yes
n1=0?
Yes
Yes
Yes
T>= Rleft?
Yes
T>= Rp ?
T<rleft?
Yes
No No
No
No
Yes
n2
T<rleft?
n1 not
change in T
= 5?
n2=0?
Light favors
arm1 or arm2 ?
n1
No
No
Yes
No f1<=0?
Yes
n2
T<r1?
For Pedestrian
For Red + Left
f2<=0? No
Switch
Light
n1, n2 :# of cars
T :Time spent in this phase
Ri , ri : Max. and Min. time for each phase
fi : the control function
f1 = α1*n1+ β1 – n2 f2 = α2*n2+ β2 – n1
No
n2 not
change in T
= 5?
No
Yes
T>= Rleft?
No
Yes
Choose the Phase
Init. Ped = 0
Initial
SW = 0
ARM = 0
SW =0
ARM = 1
G.R
R.G
SW = 1
SW – Switch light
T<2
SW = 1
Y.R
T=2
T=2
PED = 0
PED = 0
R.Y
T<2
G – Green
T=2
R – Red
Y – Yellow
SW = 0
T – Time for Yellow
PED – Pedestrian
T=2
R+Left.R
R.R+Left
SW = 1
SW =0
SW = 1
SW = 1
T<= 2
Y.R
R.Y
SW (1bit)
ARM (1bit)
PED(1bit)
FSM
Phase(2bits)
PED = 1
PED
T=2
PED = 1
T=2
T (2bits)
SW = 0
T<= 2
Learning?
The way we learn is by changing beta
Qavg
2Q
len
To take out the division, multiply
everything else by Qlen
Qlen Qavg
2
We are actually calculating f*Qlen, but
it works since it only matters if it’s < 0
Operation
2:1 MUX
110
Reg X 10
β
110
Reg X 10
1
1
11
11
11
11 X 10
2:1 MUX
ARM
11
ARM
1
11
11
16:1 MUX
1
Data Input
1:16 De-MUX
11
q0,q1: X 2
11
11 ENTER
11
11
Accum
Reg
Dot Lint to FSM
β
11 X 9
11
11
11
11
11
q0
q1
Q_len
½
11 bit
11
Accum
Reg
11
11
11
Reg
Sel
2
Sel_ALU
11
11
11
11
11
11
Reg
8X8
User Input Q
R,r, RL,rl for Arm1 Arm2
8X8
½
11
11
αn0-n1
αn0
q0-s0
q1-s1
Q(αn0-n1)
8 X 8 : Dot Line to Comparator
2:1 MUX
ROM
11
Reg
11
8 : 1 MUX
Trigger, when cars go left
turn
System Clock
1
Clk Div.
8
Accmu
System Clock
8
8X8
8
Reg
8
Accmu
1
R & r, R_L& r_L
1
Clock
11
4
4
Sel
8X8
111
11
ROM
User Input R,r
F <= 0
12
12 bit
12
s0
s1
α0
α1
N_avg
αn0-n1
αn0
q0-s0
q1-s1
Q(αn0-n1)
11
11
α0,α1: X 2
2:1 MUX
11
n_avg
n1 = 0
Reg X1
11
11
11
Initial Values
User Input
Reg X 9
ALU
11 X 1
LEFT
β
F
4
Sel
11 OUT /
n0 = 0
n0
n1
11
s0,s1: X 2
11
ROM
n0
n1
Shifting
R, r, R_L, r_l
8
Left-Turn
Counter
Reg
T,
T
Left-Turn
INT.
3
8
FSM
Sel_C
1
Compar
Counter
1
Ser_D
2 : 1 MUX
n
Flow
F
Control
FSM
1
8
SW
ARM
PED
n0
8
8
Sel_D
1
2
3
4X3
1
Selection
2
ARM 1
2
ARM 2
1
PED
Sel_ALU
Sel_C
Sel
1
1
1
FSM
Complete
Shifting
CLK
1
1
Clear
1
Light
Contro
l FSM
Design Process
Shang-Yi Lin
Design Process – Objective
Goal
- Compact Area
- Low Power
Trade-Off
- Performance
Design Process - Overview
Behaviors / Flow Charts
Behavior Verilog / JAVA
Structural Verilog / Structure
Schematic / Cadence
Layout / Virtuso
Extracted RC / Simulation
Design Process – Behaviors
Finalize Chip Functionality
- Make behaviors, function clear
Feasible & Reasonable Algorithm
- Complex & Fast != Good Design
Order of Traffic Light
Traffic Light FSM
Flow Control FSM
Design Process – Verilog / JAVA
Behavior Verilog & JAVA
Design Process – Structure
Block Diagram :
- Behavior Verilog to Structural Verilog
- Data path and function blocks are determined
- Initiate Floorplan
Floor Plan :
- Routing Issue
Re-Use of Components :
- Decrease Chip Area
Design Process – Schematic
Compact Design :
- Minimize transistor count
Transistor Sizing :
- Minimize transistor size
- Equivalent Pull-Up & Pull-Down ability
Implementation :
- Put reasonable output loads for simulation
- Sized buffers for global control signals
Design Process – Layout
Defined the Metal Directionality :
- M1 & M2 : Local, power rails
- M3 & M4 : Global, Control, Clock
- Special Case : Depended
Focus on Compact Layout :
- Floor plan keeps updating
- Consider the interconnect between blocks
Global Routing :
- Fixed height for most blocks
- Use wider global wires
- Leave wiring space
Design Process – Extract RC
Block Level
- Extracted RC simulation for each block
- Combine multiple blocks to simulate
Chip Level
- Ensure global signals integrity
- Whole chip simulation
Floorplan Evolution
Shang-Yi Lin
Floor Plan
First Version
- Block Diagram
- Sample Layout Size
Routing Issue
Re-Use Components
13.5
16.6
6.5
2X1 MUX
Register (1bit) 6.6
Floor Plan – 1st Version
Get q0 q1 s0 s1
Input
Avg. q
Control Light
Reuse
Compare T
½ , Q_L
F , Ni
FPU
Input PED, CLK
Give R,r
Output
Floor Plan – Update
Structure : Logic components are
determined
Floor Plan – Update
Layout : Refined Function Block
Refined Layout
More Precise Layout Shape & Size
More and More
More and More…
Doing Global Routing
Final Layout
Layout / Verification
Chun Han Chen
Layout - ALU
Input
Output
Layout – FSMs
Timing Control FSM
Light Control FSM
Layout – Memory Devices
& Interconnection Parts
CountersCounters
Shift Registers
and Registers
MUXs
Shift
Counters
MUX
Shift
Registers
2:1 MUX
Layout – Memory Devices
& Interconnection Parts
11-bits 16:1 MUX
Input
Select
Output
Layout – Memory Devices
& Interconnection Parts
Output to Timing
Control FSM
Real time counter, MUX, and, Comparator
Layout – Memory Devices
& Interconnection Parts
Control Logic
Control +
Registers
Input
from ALU
Output
Layout – Whole Chip
Layout – Whole Chip
Verification – Methodology
Functionality Validation
-Java V.S. Behavioral Verilog
-Behavioral Verilog V.S. Structural Verilog
Schematic Checks
-Structure Verilog V.S. Schematic
Layout Verification
1.Whole chip extracted RC simulation by using Ultrasim
2.Comparing the results with schematic simulation
3.Separated simulations for pedestrian signal
Verification – Methodology
Extracted RC for the whole chip
Verification – Light Switching
Switch
Continue
Verification – Pedestrian
Specification
Issues Encountered
Timothy Kwan
Specifications
Area = .146270 mm2
498.69 x 293.31 um^2
1:1.7002 Aspect Ratio
Transistors 18834 Total
8613 pmos
10221 nmos
Density
.1288 transistors / um^2
Speed
10 MHz
I/O’s
74 inputs
5 outputs
Issues Encountered
Muxzilla
Large consecutive pass transistor muxes
Floor plan
Increasing number of transistors led to larger
blocks
12000 => 18834
Wire Routing
Metal Directionality
Large Number of Wires
I/Os
Complicated FSM Logic and glitches
Issues Encountered
Large Fan Out in Some Blocks
System Clock and Real Time Clock
Timing Issues
Arithmetic Unit or Floating Point Unit
Simulation Issues
New vs. Old Cadence
Ultrasim vs. Spectre
?