Top Banner
EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei 04/2012
18

EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

Apr 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Integrated Circuit

Sequential Airbag Controller

Chongli Cai

Ailing Mei

04/2012

Page 2: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 2 of 18

Content……………………………………………………………...page

Introduction ....................................................................................3

Design strategy ..................................................................................3

Input, Output and Registers in the System ..........................................4

Initialization Block..............................................................................5

Sensor-airbag Control and Seat-airbag Control Blocking .....................8

Checking Airbag state Block ...............................................................9

Clock generator block .........................................................................9

Test bench and Simulation Result ..................................................... 10

Schematic and Layout ...................................................................... 14

Verilog Synthesis with RTL Compiler ......................................... 14

Import Schematic to Cadence Virtuoso after Synthesis ............. 14

powerplanning ......................................................................... 15

Placement ................................................................................ 15

Routing .................................................................................... 16

Filler cells ................................................................................. 16

Layout ...................................................................................... 17

Conclusion ....................................................................................... 18

Page 3: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 3 of 18

Introduction

In this project, we design a digital system to control sequential deployment of the multiple

airbags in the car. In the system, there are two inputs which are 9-bits impact sensors and 3-bits

weight sensors. In addition, we also include 1-bit reset and 1-bit clock signal in the digital system.

The output of the system is an 8 bits wide data. Each bit represents the state of each airbag. We

divided the whole system into 4 blocks to design, which are initialization block, sensors-airbag

control and seat-airbag control block, checking airbag state block, and clock generator block.

Design strategy

In our analysis, the state of each airbag depends on both corresponding weight sensor and impact

sensor. So we divide it into two parts to design and then combine the two result together (using

AND logic). In the first part, we ignore the effect of weight sensor and only consider the impact

sensor. That is, we always assume there are people who are greater than 60lb seating at all three

seats in this part. For example, triggering impact sensor S1 will cause airbag B1 and B2 open. In

the second part, we ignore the effect of impact sensor and only consider the seat sensor. For

example, the passenger in the seat 1 is corresponding to the airbag B2 and B4 open. Finally, we

will combine the results of the two parts using logic AND. That is, only if each airbag satisfy

both the two conditions in the two parts (results are both logic “1”), it can be in the open state.

Since the output of the system is an 8 bits data, in order to be convenient for arithmetic we

convert both 3 bits weight sensors input and 9 bits impact sensors input to 8 bits data storing in

registers.

Since there is a 5ms delay for each adjacent airbag open, the output clock frequency is 200Hz

which is too slow. In the test-bench the clock is 2M Hz, therefore we also design a clock divider

to generate the 200Hz frequency. In addition, also make the generated 200Hz clock is

synchronous with the impact sensor. That is, the first relative airbag can be open immediate once

the impact sensors are triggered and do not need to wait to the next positive edge of clock. This

is also an improvement of the system.

Page 4: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 4 of 18

Input, Output and Registers in the System

“reg [7:0] seat_airbag [0:2]”

Decode 3-bits seat input to 3 memory cells with 8-bits wide. Each memory cell represents the

airbags which are related to the corresponding seat.

“reg [7:0] sensor_airbag [0:9]”

Decode 9 bits sensor input to 9 memory cells with 8 bits wide. Each memory cell represents

the airbags which are related to the corresponding impact sensor.

“ reg [7:0]seat_active_airbag

It stores all the active airbag without considering the state of impact sensor

“ reg [7:0] sensor _active_airbag”

It stores all the active airbag without considering the state of weight sensor

“ reg [7:0] next_active_airbag [0:7]”

It includes 8 memory cells with 8 bits wide. Each memory cell is corresponding to an airbag

and each bit of the memory cell represents the state of each airbag on the next trigger edge if

the current airbag is triggered. For example, next_active_airbg[0]=00000110 represents that

the airbag B2,B3 will be triggered at next edge if B1 is triggered currently.

Page 5: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 5 of 18

“ check _active_airbag”

It is a temporary register and used to store the current sensor_active _airbag. It is only used in

the block which functions as finding the next active airbag.

“ reg [12:0] clk_count”

It is a counter used to generate a slower clock.

“ reg clk_200”

Generated 200Hz clock

“reg clk_trigger”

Enable of the generated clock

Initialization Block

Figure (2)

Page 6: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 6 of 18

Since there is always a driver in the driver position, the two airbags B1, B3 can always be

triggered. So, the initial value for register “ seat_active_airbag” is “00000101”.

All impact sensors are in the deactivated state, so the initial value for register

“sensor_active_airbag” is “00000000”.

Memory cells “ seat_airbag” initialization

Figure (3)

Each memory cell is corresponding to one position (3 memory cells array)

Seat 1 has two airbag B2 and B4 initial value for “seat_airbag [0]” is “00001010”

Seat 2 has two airbag B5 and B7 initial value for “seat_airbag [1]” is “01010000”

Seat 3 has two airbag B6 and B8 initial value for “seat_airbag [2]” is “10100000”

Memory cells “ seat_airbag” initialization

Figure (4)

Seat 1

Seat 2

Seat 3

Page 7: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 7 of 18

Each memory cell is corresponding to one sensor (9 memory cells array)

S1 can active airbag B1, B2 initial value for “seat_airbag [0]” is “00000011”

S2 can active airbag B1 initial value for “seat_airbag [1]” is “00000001”

S3 can active airbag B2 initial value for “seat_airbag [2]” is “00000010”

S4 can active airbag B1, B3 initial value for “seat_airbag [3]” is “00000101”

S5 can active airbag B2, B4 initial value for “seat_airbag [4]” is “00001010”

S6 can active airbag B5, B7 initial value for “seat_airbag [5]” is “01010000”

S7 can active airbag B6, B8 initial value for “seat_airbag [6]” is “10100000”

S8 can active airbag B7, B8 initial value for “seat airbag [7]” is “11000000”

S9 can active airbag B7, B8 initial value for “seat airbag [8]” is “11000000”

Memory cells “ next_active_airbag” initialization

Figure (5)

Each memory cell is corresponding to one airbag (8 memory cells array)

Airbag B1 is adjacent to B2 and B3 initial value for “next_active_airbag [0]” is “00000110”

Airbag B2 is adjacent to B1 and B4 initial value for “next_active_airbag [1]” is “00001001”

Airbag B3 is adjacent to B1, B4 and B5 initial value for “next_active_airbag [2]”

is“00011001”

Page 8: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 8 of 18

Airbag B4 is adjacent to B2, B3 and B6 initial value for “next_active_airbag [3]”

is“00100110”

Airbag B5 is adjacent to B3, B6 and B7 initial value for “next_active_airbag [4]”

is“01100100”

Airbag B6 is adjacent to B4, B5 and B8 initial value for “next_active_airbag [5]”

is“10011000”

Airbag B7 is adjacent to B1, B4 and B5 initial value for “next_active_airbag [6]”

is“10010000”

Airbag B8 is adjacent to B1, B4 and B5 initial value for “next_active_airbag [7]”

is“01100000”

Sensor-airbag Control and Seat-airbag Control Blocking

Figure (6)

Register “sensor_active_airbag” stores the active airbag with only considering the impact sensor

state and do not consider the weight sensor state. The system will check each impact sensor

sequentially. Once the system detects that one impact sensor is triggered, then it will use OR

logic to store its corresponding airbags into the register “sensor_active_airbag”.

Register “seat_active_airbag” stores the active airbag with only considering the seat sensor state

and do not consider the impact sensor state. The system will check each weight sensor

sequentially. Once the system detects that one weight sensor is triggered, then it will use OR

logic to store its corresponding airbags into the register “seat_active_airbag”.

Page 9: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 9 of 18

Once sensor is triggered, it will cause a positive triggered for 200Hz clock.

Checking Airbag state Block

Figure (7)

For the final result, we need to consider both impact sensors and weight sensors. So, we need to

use AND gate to include both two conditions and store it to the register “airbag” for the output of

the system. Next, the system needs to determine the state of airbags at next trigger edge. The

system stores the data in the register “sensor_active_airbag” into the temporary register

“check_active_airbag”. Then the system will check the state of current airbag sequentially. Once

the system detects an airbag is in the open state, it will use OR gate to store its directly adjacent

airbags (in the open state) into register “sensor_active_airbag”.

Clock generator block

Figure (8)

Page 10: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 10 of 18

In the test-bench of the system, it gives a clock with 2MHz which is much faster than the

clock (200Hz) we need. So it needs to design a clock divider to generate the 200Hz clock

from 2MHz. In addition, we use the “clock_triiger” register to enable the generated 200Hz

clock in order to control the starting point of counting time. The benefit is that the airbags

can open immediate once the impact sensors are triggered.

Test bench and Simulation Result

Test bench

Since there are many possible combinations for the triggered impact sensors, we just choose

several combinations to do test bench and simulation randomly.

The following is the test-bench for sensor S1 and S7 are triggered for both seat 1 has passenger

and no passenger condition.

Figure (9)

Page 11: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 11 of 18

Simulation Result

Case 1: S5 is triggered

If all three seats have passengers

5 0

5 0

10 5

15 10

Table (1)

Figure (10)

If there is no passenger in the seat 1

5 not open

5 not open

10 5

15 10

Table (2)

Figure (11)

S5

S5

Page 12: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 12 of 18

Case 2: S1 and S7 are triggered

If all three seats have passengers

0 0

5 5

5 0

5 0

Table (3)

Figure (12)

If there is no passenger in the Seat 2

0 0

5 5

Not open 0

Not open 0

Table (4)

Figure (13)

S1

S7

S7

S1

Page 13: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 13 of 18

Case 3: S3 is triggered

If all three seats have passengers

Table (5)

Figure (14)

If there is no passenger in the seat 3

5 0

10 5

15 not open

20 not open

Table (6)

Figure (15)

5 0

10 5

15 10

20 15

5 0

10 5

15 10

20 15

S3

S3

Page 14: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 14 of 18

Schematic and Layout

Verilog Synthesis with RTL Compiler

Figure (16)

Import Schematic to Cadence Virtuoso after Synthesis

Figure (17)

Page 15: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 15 of 18

powerplanning

Figure (18)

Placement

Figure (19)

Page 16: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 16 of 18

Routing

Figure (20)

Filler cells

Figure (21)

Page 17: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 17 of 18

Layout GDS import layout form Encounter to Virtuoso

Figure (21)

DRC result

Figure (22)

Page 18: EE 330 Integrated Circuit - Chongli Cai Electrical Engineer · EE 330 Integrated Circuit Sequential Airbag Controller Chongli Cai Ailing Mei ... EE 330 Final Project Spring 2012 Chongli

EE 330 Final Project Spring 2012 Chongli Cai; Ailing Mei

Page 18 of 18

Conclusion Our design satisfied all the function required. Our Verilog code passes the test. All the

simulation Results are identical as the theoretical results. The layout has passed the DRC.