SlideShare a Scribd company logo
1 of 18
Download to read offline
EE 330 INTEGRATED CIRCUIT 
Elevator Controller Design 
Final Project 
YiWen Meng & CheeKang Tan 
4/27/2013
Elevator Controller Design 
Page 1 
Content Page number 
Introduction………………………………………………………………………………...2 
Design Strategy…………………………………………………………………………...2 
Verilog Code: 
1. Input and Output pins…………………………………………..……………3 
2. Register Parameters and Clock Generator …………………………4 
3. Initialization, Clock Generator Block & Request Floor Loop.6 
4. Set three cases of elevator……...………………………………………..9 
5. Test Bench …………………………………………………………….………….11 
6. Simulation Result………………………………..…………………………..12 
Schematic and Layout: 
1. Verilog Synthesis with RTL Compiler………………………...…...14 
2. Power Planning……………………………………..................………………...14 
3. Placement……………………………………….…………………………………15 
4. Routing ……………………………………………….……………………………15 
5. Filler cells………….……………………………………………………………16 
6. Layout……………………………………………………………..………………16 
7. DRC Result.…………………………………………….………..………………17 
8. Elevator Controller design Symbol……………….………..….…….17 
Conclusion……………………………………………………………………17
Elevator Controller Design 
Page 2 
Introduction 
This project is designed for an eight floor elevator controller. of an integrated circuit that can be used as part of elevator controller. The elevator decides moving direction by comparing request floor with current floor. In a condition that the weight has to be less than 4500lb and door has to be closed in three minute. If the weight is larger than it, the elevator will alert automatically. The Door Alert signal is normally low but goes high whenever the door has been open for more than three minute. There is a sensor at each floor to sense whether the elevator has passed the current floor. This sensor provides the signal that encodes the floor that has been passed. 
The core parts of the design are shift register, three cases of elevator and the while loop when receive Request Floor. 
Design Strategy 
In the coding part, we used several strategies to make the program works. 
First, we defined the input and output current floor as In_Current_Floor and Our_Current_Floor to avoid same variable name as output and input. 
Second, we add two more input pins - Over_time and Over_Weight in the code. These signals will be output from the mechanical machine to the controller. When the controller receives signal from weight alert or door alert, the complete will become one so that the elevator will stay unmoved at the Out_Current_Floor. 
Third, define the Out_Current_Floor, Direction, Complete, Door_Alert and Weight_Alert as reg then assign them equal to the output. Therefore, those variables will run as a register and output. 
Next, when the Reset is off the variable Complete, Door Alert and Weight Alert will be initialized to be zero. Similary, when the Request_Floor is on, the variable In_Current_Floor is set to be equal to Out_Current_Floor only once. 
Then, In_Current_Floor stay the same, Out_Current_Floor keep changing (updating) and compare with request floor, until Out_Current_Floor is at the same level as Request_Floor. 
Lastly, define three cases of if statement for the elevator. There are cases for normal running cases – (comparing between Request_Floor and Out_Current_Floor to decide the moving direction), door open for more than three minutes - (turn on the Door_Alert) and overweight cases for elevator - (turn on the Weight_Alert).
Elevator Controller Design 
Page 3 
Verilog Code - Input and Output pins 
Input [7:0] Request_Floor 
Define Request_Floor as 8-bit input variable. The 00000001 to 10000000 represent ground floor to eighth floor. (For example, second floor is 00000010, third floor is 00000100) 
Input [7:0] In_Current_Floor 
Define In_Current _Floor as 8-bit input variable. It represents the initial floor and the next complete floor (or the Out_Current _Floor that has reached the request floor). 
Input clk 
Define clk as input variable. To generate low frequency clock. 
Input reset 
Define reset as input variable. To generate reset. 
Input Over_time 
Define Over_time as input variable. In the Verilog code, “1” represents waiting time is longer than three minutes. Input Over_time will be the signal receives from timer (machinery part). 
Input Over_Weight 
Define Over_Weight as input variable. In the Verilog code, “1” represents elevator is overload. Input Over_Weight will be a signal receives from the weight detector (machinery part). 
Output Direction 
Define Direction as output variable. In the Verilog code, “1” represents moving up and “0” represents moving down. 
Output Complete 
Define Complete as output variable. In the Verilog code, “1” represents the elevator reaches the request floor. It can also represent pause (stay unmoved at the Out_Current_Floor), when the Over_Time or Weight_Alert is on.
Elevator Controller Design 
Page 4 
Output Door_Alert 
Define Door_Alert as output variable. In the Verilog code, “1” represents waiting time is longer than three minutes. Output Door_Alert will be on when Over_time is on. 
Output Weight_Alert 
Define Weight_Alert as output variable. In the Verilog code, “1” represents elevator is overload. Input Weight_Alert will on when Over_Weight is on. 
Output [7:0] Out_Current_Floor 
Define Out_Current _Floor as 8-bit output variable. It is a variable that will be used in the shift register. 
Verilog Code – Register Parameters and Clock Generator 
Reg R_Direction 
Define R_Direction as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down. 
Reg R_Complete 
Define R_Complete as register parameter. In the Verilog code, “1” represents the elevator reaches the request floor. It can also represent pause. 
Reg R_Door_Alert 
Define R_Door_Alert as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down.
Elevator Controller Design 
Page 5 
Reg R_Weight_Alert 
Define R_Door_Alert as register parameter. In the Verilog code, “1” represents elevator is overload. 
Reg [7:0] R_ Out_Current_Floor 
Define R_Out_Current_Floor as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down. 
Reg [12:0] CLK_Count 
Define CLK_Count as 12-bit register parameter. It is a low frequency clock counter. 
Reg CLK_200 
Define CLK_200 as register parameter. It generates a 200 Hz clock. 
Reg CLK_Trigger 
Define CLK_Trigger as register parameter. It is the trigger of generator clock. 
Assign Direction = R_Direction 
To store the data of R_Direction into Direction 
Assign Direction Complete = R_Complete 
To store the data of Direction_Complete into R_Direction 
Assign Door_Alert = R_Door_Alert 
To store the data of Door_Alert into R_Door_Alert 
Assign Weight_Alert = R_Weight_Alert 
To store the data of Weight_Alert into R_ Weight _Alert
Elevator Controller Design 
Page 6 
Verilog Code – Initialization, Clock Generator Block and Request Floor Loop 
This part will do the Initialization of the r_complete, r_door_alert and r_weight_alert. 
Always @ (negedge reset) 
It will run only when the reset is zero. This loop will reset CLK_200, CLK_Count and CLK_Trigger to be zero. Also, the R_Complete, R_Door_Alert and R_Weeight_Alert will be set to be zero. If the reset is turn on to be one, the loop will not work. 
This is a clock generator that will run a loop when the CLK is on. The If Statement will determine whether the CLK_Trigger is on or the CLK_Count is equal to five thousand. If they are in the condition, the CLK_Count will increment every time the loop runs or the clock generator 200Hz will on. Therefore, the output control will run instantaneously.
Elevator Controller Design 
Page 7 
This is the core part of the design. 
It stores the data of In_Current_Floor to R_Out_Current_Floor only once. 
Always @ (request_floor) 
The loop will run only when it receives request_floor. 
It turn the CLK_Trigger on and trigger the 200Hz generator clock. 
Also stores the data of In_Current_Floor to R_Out_Current_Floor. 
Therefore, the R_Out_Current_Floor will be keep updating (or changing) whenever it reach the next floor, while the In_Current_Floor stay at the initial floor data.
Elevator Controller Design 
Page 8 
Door Alert 
Request Floor 
Current Floor 
Current Floor 
Direction 
Over Weight
Elevator Controller Design 
Page 9 
Verilog Code – Set three cases of elevator 
This part will do the three cases of elevator. There are cases for normal running, door overtime and over load. 
Always @ (posedge clk) 
This loop will run only when the CLK is on. 
If (!reset && !over_time && !over_weight) 
This loop will run only in the condition that reset, over_time and over_weight are off. 
Case 1: the normal running case of elevator 
If the Request_Floor is Greater than R_Out_Current_Floor the elevator will move up. 
If the Request_Floor is Smaller than R_Out_Current_Floor the elevator will move down. 
If the Request_Floor is Equal to R_Out_Current_Floor (it reach the request floor) the R_Compelte is on and elevator stop moving 
* The “<<1” and “>>1” are shift register. It shifts the data to the pointed direction by one. For example, “<<1” will move “00000001” to “00000010”
Elevator Controller Design 
Page 10 
Case 2: the door has been open for more than three minute 
If the Reset is off and Over_Time is on, 
The R_Door_Alert and R_Complete are set to be ON 
The R_Weight_Alert and R_Direction are set to be OFF 
The R_Out_Current_Floor store its data to R_Out_Current_Floor 
Therefore the door alert ring and the elevator will stop moving (or pause) when it is over time. 
Case 3: the total weight in the elevator is more than 4500lb 
If the Reset is off and Over_Weight is on, 
The R_Weight_Alert and R_Complete are set to be ON 
The R_Door_Alert and R_Direction are set to be OFF 
The R_Out_Current_Floor store its data to R_Out_Current_Floor 
Therefore the weight alert ring and the elevator will stop moving (or pause) when it is over load.
Elevator Controller Design 
Page 11 
Verilog Test Bench Code 
In the Verilog Test Bench Code, after we defined reg and wire variables, we chose only two cases to test our code, because there are more than fifty possible cases. 
The two cases we chose are: 
Request floor = 00000001; In_Current_floor = 10000000 
The elevator will move down from eighth floor to ground floor. 
Request floor = 10000000; In_Current_floor = 00000001 
The elevator will move up from ground floor to eighth floor.
Elevator Controller Design 
Page 12 
Simulation Result 
When Request floor = 00000001; In_Current_floor = 10000000 
The elevator moves up from eighth floor to ground floor.
Elevator Controller Design 
Page 13 
When Request floor = 10000001; In_Current_floor = 00000001 
The elevator moves up from ground floor to eighth floor.
Elevator Controller Design 
Page 14 
Schematic and Layout 
Verilog Synthesis with RTL Compiler 
Power Planning
Elevator Controller Design 
Page 15 
Placement 
Routing
Elevator Controller Design 
Page 16 
Filler Cells 
Layout
Elevator Controller Design 
Page 17 
DRC Result 
Elevator Controller Design Symbol 
Conclusion 
For this project, we learned the basic idea of how does the normal elevators run in many cases, even though it is simplified, we still spent lots of time to design and to figure out many problems when combining all the cases, of course the most challenging and time consuming part is debugging. However, after accomplishing it, we learned many things beyond this project, so it is a very helpful assignment.

More Related Content

What's hot

Topic 2 Digital Technique : Logic circuit
Topic 2  Digital Technique : Logic circuitTopic 2  Digital Technique : Logic circuit
Topic 2 Digital Technique : Logic circuitBai Haqi
 
Topic 4 Digital Technique Data conversion
Topic 4  Digital Technique Data conversionTopic 4  Digital Technique Data conversion
Topic 4 Digital Technique Data conversionBai Haqi
 
IRJET- Automation of Heat Treatment Process line using PLC
IRJET- Automation of Heat Treatment Process line using PLCIRJET- Automation of Heat Treatment Process line using PLC
IRJET- Automation of Heat Treatment Process line using PLCIRJET Journal
 
Topic 1 Digital Technique Numbering system
Topic 1 Digital Technique Numbering systemTopic 1 Digital Technique Numbering system
Topic 1 Digital Technique Numbering systemBai Haqi
 
CONTROL SYSTEM LAB MANUAL
CONTROL SYSTEM LAB MANUALCONTROL SYSTEM LAB MANUAL
CONTROL SYSTEM LAB MANUALPRINCE SHARMA
 
16 mt6201 industrial automation and control qb
16 mt6201 industrial automation and control qb16 mt6201 industrial automation and control qb
16 mt6201 industrial automation and control qbSindhuS68
 
PLC Circuit Design And Basic Programming By Manish kumar
PLC Circuit Design And Basic Programming By Manish kumarPLC Circuit Design And Basic Programming By Manish kumar
PLC Circuit Design And Basic Programming By Manish kumarmanishkumarm
 
Teach-In : Ladder Logic for PIC Micro
Teach-In : Ladder Logic for PIC MicroTeach-In : Ladder Logic for PIC Micro
Teach-In : Ladder Logic for PIC Microhandson28
 
Classic control in industry
Classic control in industry Classic control in industry
Classic control in industry Mostafa Ragab
 
Field_Oriented_Control_Induction_Machine
Field_Oriented_Control_Induction_MachineField_Oriented_Control_Induction_Machine
Field_Oriented_Control_Induction_MachineHelion Dhrimaj
 
Eee3420 lecture02 rev2011
Eee3420 lecture02 rev2011Eee3420 lecture02 rev2011
Eee3420 lecture02 rev2011benson215
 
Btl control system-lab-manual-10 eel68
Btl control system-lab-manual-10 eel68Btl control system-lab-manual-10 eel68
Btl control system-lab-manual-10 eel68Gopinath.B.L Naidu
 

What's hot (20)

Topic 2 Digital Technique : Logic circuit
Topic 2  Digital Technique : Logic circuitTopic 2  Digital Technique : Logic circuit
Topic 2 Digital Technique : Logic circuit
 
Lec 12 (cont plc)
Lec 12 (cont plc)Lec 12 (cont plc)
Lec 12 (cont plc)
 
Topic 4 Digital Technique Data conversion
Topic 4  Digital Technique Data conversionTopic 4  Digital Technique Data conversion
Topic 4 Digital Technique Data conversion
 
IRJET- Automation of Heat Treatment Process line using PLC
IRJET- Automation of Heat Treatment Process line using PLCIRJET- Automation of Heat Treatment Process line using PLC
IRJET- Automation of Heat Treatment Process line using PLC
 
Plc tutorial
Plc tutorialPlc tutorial
Plc tutorial
 
A TRAFFIC LIGHT CONTROL SYSTEM USING PROGRAMMABLE LOGIC CONTROLLER
A TRAFFIC LIGHT CONTROL SYSTEM USING PROGRAMMABLE LOGIC CONTROLLERA TRAFFIC LIGHT CONTROL SYSTEM USING PROGRAMMABLE LOGIC CONTROLLER
A TRAFFIC LIGHT CONTROL SYSTEM USING PROGRAMMABLE LOGIC CONTROLLER
 
Topic 1 Digital Technique Numbering system
Topic 1 Digital Technique Numbering systemTopic 1 Digital Technique Numbering system
Topic 1 Digital Technique Numbering system
 
CONTROL SYSTEM LAB MANUAL
CONTROL SYSTEM LAB MANUALCONTROL SYSTEM LAB MANUAL
CONTROL SYSTEM LAB MANUAL
 
PLC
PLCPLC
PLC
 
16 mt6201 industrial automation and control qb
16 mt6201 industrial automation and control qb16 mt6201 industrial automation and control qb
16 mt6201 industrial automation and control qb
 
PLC
PLCPLC
PLC
 
PLC Circuit Design And Basic Programming By Manish kumar
PLC Circuit Design And Basic Programming By Manish kumarPLC Circuit Design And Basic Programming By Manish kumar
PLC Circuit Design And Basic Programming By Manish kumar
 
Traffic signal
Traffic signalTraffic signal
Traffic signal
 
Teach-In : Ladder Logic for PIC Micro
Teach-In : Ladder Logic for PIC MicroTeach-In : Ladder Logic for PIC Micro
Teach-In : Ladder Logic for PIC Micro
 
Classic control in industry
Classic control in industry Classic control in industry
Classic control in industry
 
PLC
PLCPLC
PLC
 
Automation lecture 6
Automation lecture 6Automation lecture 6
Automation lecture 6
 
Field_Oriented_Control_Induction_Machine
Field_Oriented_Control_Induction_MachineField_Oriented_Control_Induction_Machine
Field_Oriented_Control_Induction_Machine
 
Eee3420 lecture02 rev2011
Eee3420 lecture02 rev2011Eee3420 lecture02 rev2011
Eee3420 lecture02 rev2011
 
Btl control system-lab-manual-10 eel68
Btl control system-lab-manual-10 eel68Btl control system-lab-manual-10 eel68
Btl control system-lab-manual-10 eel68
 

Similar to Elevator1

Elevator Control System using Verilog
Elevator Control System using VerilogElevator Control System using Verilog
Elevator Control System using VerilogVijayMaheshwari12
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015Edhole.com
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015Edhole.com
 
Registers and counters
Registers and countersRegisters and counters
Registers and countersHeman Pathak
 
sunil jha presentation.pptx
sunil jha presentation.pptxsunil jha presentation.pptx
sunil jha presentation.pptxjxuaaaka
 
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...eSAT Publishing House
 
Define synchronous system.What is a dynamic indicator on a l.pdf
Define synchronous system.What is a dynamic indicator on a l.pdfDefine synchronous system.What is a dynamic indicator on a l.pdf
Define synchronous system.What is a dynamic indicator on a l.pdfalshaikhkhanzariarts
 
Aifcraft pitch
Aifcraft pitchAifcraft pitch
Aifcraft pitchmbilal2792
 
Lab 9 D-Flip Flops: Shift Register and Sequence Counter
Lab 9 D-Flip Flops: Shift Register and Sequence CounterLab 9 D-Flip Flops: Shift Register and Sequence Counter
Lab 9 D-Flip Flops: Shift Register and Sequence CounterKatrina Little
 
10 chapter05 counters_fa14
10 chapter05 counters_fa1410 chapter05 counters_fa14
10 chapter05 counters_fa14John Todora
 
Ladder Intro Tutorial
Ladder Intro TutorialLadder Intro Tutorial
Ladder Intro Tutorialplc_course
 
Programmable Logic Controller
Programmable Logic ControllerProgrammable Logic Controller
Programmable Logic ControllerValai Ganesh
 
08 chapter03 06_status_bits_otl_otu_scan_logic_fa16
08 chapter03 06_status_bits_otl_otu_scan_logic_fa1608 chapter03 06_status_bits_otl_otu_scan_logic_fa16
08 chapter03 06_status_bits_otl_otu_scan_logic_fa16John Todora
 
A Verilog HDL Test Bench Primer
A Verilog HDL Test Bench PrimerA Verilog HDL Test Bench Primer
A Verilog HDL Test Bench PrimerNicole Heredia
 

Similar to Elevator1 (20)

Elevator Control System using Verilog
Elevator Control System using VerilogElevator Control System using Verilog
Elevator Control System using Verilog
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015
 
Registers and counters
Registers and countersRegisters and counters
Registers and counters
 
sunil jha presentation.pptx
sunil jha presentation.pptxsunil jha presentation.pptx
sunil jha presentation.pptx
 
air craft Pitch
air craft Pitchair craft Pitch
air craft Pitch
 
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...
Design and implementation of synchronous 4 bit up counter using 180 nm cmos p...
 
Define synchronous system.What is a dynamic indicator on a l.pdf
Define synchronous system.What is a dynamic indicator on a l.pdfDefine synchronous system.What is a dynamic indicator on a l.pdf
Define synchronous system.What is a dynamic indicator on a l.pdf
 
Ladder
LadderLadder
Ladder
 
Aifcraft pitch
Aifcraft pitchAifcraft pitch
Aifcraft pitch
 
Lab 9 D-Flip Flops: Shift Register and Sequence Counter
Lab 9 D-Flip Flops: Shift Register and Sequence CounterLab 9 D-Flip Flops: Shift Register and Sequence Counter
Lab 9 D-Flip Flops: Shift Register and Sequence Counter
 
10 chapter05 counters_fa14
10 chapter05 counters_fa1410 chapter05 counters_fa14
10 chapter05 counters_fa14
 
Dsp Datapath
Dsp DatapathDsp Datapath
Dsp Datapath
 
Vt plc
Vt plcVt plc
Vt plc
 
PLC.pdf
PLC.pdfPLC.pdf
PLC.pdf
 
Ladder Intro Tutorial
Ladder Intro TutorialLadder Intro Tutorial
Ladder Intro Tutorial
 
Flip & flop by Zaheer Abbas Aghani
Flip & flop by Zaheer Abbas AghaniFlip & flop by Zaheer Abbas Aghani
Flip & flop by Zaheer Abbas Aghani
 
Programmable Logic Controller
Programmable Logic ControllerProgrammable Logic Controller
Programmable Logic Controller
 
08 chapter03 06_status_bits_otl_otu_scan_logic_fa16
08 chapter03 06_status_bits_otl_otu_scan_logic_fa1608 chapter03 06_status_bits_otl_otu_scan_logic_fa16
08 chapter03 06_status_bits_otl_otu_scan_logic_fa16
 
A Verilog HDL Test Bench Primer
A Verilog HDL Test Bench PrimerA Verilog HDL Test Bench Primer
A Verilog HDL Test Bench Primer
 

Recently uploaded

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 

Recently uploaded (20)

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 

Elevator1

  • 1. EE 330 INTEGRATED CIRCUIT Elevator Controller Design Final Project YiWen Meng & CheeKang Tan 4/27/2013
  • 2. Elevator Controller Design Page 1 Content Page number Introduction………………………………………………………………………………...2 Design Strategy…………………………………………………………………………...2 Verilog Code: 1. Input and Output pins…………………………………………..……………3 2. Register Parameters and Clock Generator …………………………4 3. Initialization, Clock Generator Block & Request Floor Loop.6 4. Set three cases of elevator……...………………………………………..9 5. Test Bench …………………………………………………………….………….11 6. Simulation Result………………………………..…………………………..12 Schematic and Layout: 1. Verilog Synthesis with RTL Compiler………………………...…...14 2. Power Planning……………………………………..................………………...14 3. Placement……………………………………….…………………………………15 4. Routing ……………………………………………….……………………………15 5. Filler cells………….……………………………………………………………16 6. Layout……………………………………………………………..………………16 7. DRC Result.…………………………………………….………..………………17 8. Elevator Controller design Symbol……………….………..….…….17 Conclusion……………………………………………………………………17
  • 3. Elevator Controller Design Page 2 Introduction This project is designed for an eight floor elevator controller. of an integrated circuit that can be used as part of elevator controller. The elevator decides moving direction by comparing request floor with current floor. In a condition that the weight has to be less than 4500lb and door has to be closed in three minute. If the weight is larger than it, the elevator will alert automatically. The Door Alert signal is normally low but goes high whenever the door has been open for more than three minute. There is a sensor at each floor to sense whether the elevator has passed the current floor. This sensor provides the signal that encodes the floor that has been passed. The core parts of the design are shift register, three cases of elevator and the while loop when receive Request Floor. Design Strategy In the coding part, we used several strategies to make the program works. First, we defined the input and output current floor as In_Current_Floor and Our_Current_Floor to avoid same variable name as output and input. Second, we add two more input pins - Over_time and Over_Weight in the code. These signals will be output from the mechanical machine to the controller. When the controller receives signal from weight alert or door alert, the complete will become one so that the elevator will stay unmoved at the Out_Current_Floor. Third, define the Out_Current_Floor, Direction, Complete, Door_Alert and Weight_Alert as reg then assign them equal to the output. Therefore, those variables will run as a register and output. Next, when the Reset is off the variable Complete, Door Alert and Weight Alert will be initialized to be zero. Similary, when the Request_Floor is on, the variable In_Current_Floor is set to be equal to Out_Current_Floor only once. Then, In_Current_Floor stay the same, Out_Current_Floor keep changing (updating) and compare with request floor, until Out_Current_Floor is at the same level as Request_Floor. Lastly, define three cases of if statement for the elevator. There are cases for normal running cases – (comparing between Request_Floor and Out_Current_Floor to decide the moving direction), door open for more than three minutes - (turn on the Door_Alert) and overweight cases for elevator - (turn on the Weight_Alert).
  • 4. Elevator Controller Design Page 3 Verilog Code - Input and Output pins Input [7:0] Request_Floor Define Request_Floor as 8-bit input variable. The 00000001 to 10000000 represent ground floor to eighth floor. (For example, second floor is 00000010, third floor is 00000100) Input [7:0] In_Current_Floor Define In_Current _Floor as 8-bit input variable. It represents the initial floor and the next complete floor (or the Out_Current _Floor that has reached the request floor). Input clk Define clk as input variable. To generate low frequency clock. Input reset Define reset as input variable. To generate reset. Input Over_time Define Over_time as input variable. In the Verilog code, “1” represents waiting time is longer than three minutes. Input Over_time will be the signal receives from timer (machinery part). Input Over_Weight Define Over_Weight as input variable. In the Verilog code, “1” represents elevator is overload. Input Over_Weight will be a signal receives from the weight detector (machinery part). Output Direction Define Direction as output variable. In the Verilog code, “1” represents moving up and “0” represents moving down. Output Complete Define Complete as output variable. In the Verilog code, “1” represents the elevator reaches the request floor. It can also represent pause (stay unmoved at the Out_Current_Floor), when the Over_Time or Weight_Alert is on.
  • 5. Elevator Controller Design Page 4 Output Door_Alert Define Door_Alert as output variable. In the Verilog code, “1” represents waiting time is longer than three minutes. Output Door_Alert will be on when Over_time is on. Output Weight_Alert Define Weight_Alert as output variable. In the Verilog code, “1” represents elevator is overload. Input Weight_Alert will on when Over_Weight is on. Output [7:0] Out_Current_Floor Define Out_Current _Floor as 8-bit output variable. It is a variable that will be used in the shift register. Verilog Code – Register Parameters and Clock Generator Reg R_Direction Define R_Direction as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down. Reg R_Complete Define R_Complete as register parameter. In the Verilog code, “1” represents the elevator reaches the request floor. It can also represent pause. Reg R_Door_Alert Define R_Door_Alert as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down.
  • 6. Elevator Controller Design Page 5 Reg R_Weight_Alert Define R_Door_Alert as register parameter. In the Verilog code, “1” represents elevator is overload. Reg [7:0] R_ Out_Current_Floor Define R_Out_Current_Floor as register parameter. In the Verilog code, “1” represents moving up and “0” represents moving down. Reg [12:0] CLK_Count Define CLK_Count as 12-bit register parameter. It is a low frequency clock counter. Reg CLK_200 Define CLK_200 as register parameter. It generates a 200 Hz clock. Reg CLK_Trigger Define CLK_Trigger as register parameter. It is the trigger of generator clock. Assign Direction = R_Direction To store the data of R_Direction into Direction Assign Direction Complete = R_Complete To store the data of Direction_Complete into R_Direction Assign Door_Alert = R_Door_Alert To store the data of Door_Alert into R_Door_Alert Assign Weight_Alert = R_Weight_Alert To store the data of Weight_Alert into R_ Weight _Alert
  • 7. Elevator Controller Design Page 6 Verilog Code – Initialization, Clock Generator Block and Request Floor Loop This part will do the Initialization of the r_complete, r_door_alert and r_weight_alert. Always @ (negedge reset) It will run only when the reset is zero. This loop will reset CLK_200, CLK_Count and CLK_Trigger to be zero. Also, the R_Complete, R_Door_Alert and R_Weeight_Alert will be set to be zero. If the reset is turn on to be one, the loop will not work. This is a clock generator that will run a loop when the CLK is on. The If Statement will determine whether the CLK_Trigger is on or the CLK_Count is equal to five thousand. If they are in the condition, the CLK_Count will increment every time the loop runs or the clock generator 200Hz will on. Therefore, the output control will run instantaneously.
  • 8. Elevator Controller Design Page 7 This is the core part of the design. It stores the data of In_Current_Floor to R_Out_Current_Floor only once. Always @ (request_floor) The loop will run only when it receives request_floor. It turn the CLK_Trigger on and trigger the 200Hz generator clock. Also stores the data of In_Current_Floor to R_Out_Current_Floor. Therefore, the R_Out_Current_Floor will be keep updating (or changing) whenever it reach the next floor, while the In_Current_Floor stay at the initial floor data.
  • 9. Elevator Controller Design Page 8 Door Alert Request Floor Current Floor Current Floor Direction Over Weight
  • 10. Elevator Controller Design Page 9 Verilog Code – Set three cases of elevator This part will do the three cases of elevator. There are cases for normal running, door overtime and over load. Always @ (posedge clk) This loop will run only when the CLK is on. If (!reset && !over_time && !over_weight) This loop will run only in the condition that reset, over_time and over_weight are off. Case 1: the normal running case of elevator If the Request_Floor is Greater than R_Out_Current_Floor the elevator will move up. If the Request_Floor is Smaller than R_Out_Current_Floor the elevator will move down. If the Request_Floor is Equal to R_Out_Current_Floor (it reach the request floor) the R_Compelte is on and elevator stop moving * The “<<1” and “>>1” are shift register. It shifts the data to the pointed direction by one. For example, “<<1” will move “00000001” to “00000010”
  • 11. Elevator Controller Design Page 10 Case 2: the door has been open for more than three minute If the Reset is off and Over_Time is on, The R_Door_Alert and R_Complete are set to be ON The R_Weight_Alert and R_Direction are set to be OFF The R_Out_Current_Floor store its data to R_Out_Current_Floor Therefore the door alert ring and the elevator will stop moving (or pause) when it is over time. Case 3: the total weight in the elevator is more than 4500lb If the Reset is off and Over_Weight is on, The R_Weight_Alert and R_Complete are set to be ON The R_Door_Alert and R_Direction are set to be OFF The R_Out_Current_Floor store its data to R_Out_Current_Floor Therefore the weight alert ring and the elevator will stop moving (or pause) when it is over load.
  • 12. Elevator Controller Design Page 11 Verilog Test Bench Code In the Verilog Test Bench Code, after we defined reg and wire variables, we chose only two cases to test our code, because there are more than fifty possible cases. The two cases we chose are: Request floor = 00000001; In_Current_floor = 10000000 The elevator will move down from eighth floor to ground floor. Request floor = 10000000; In_Current_floor = 00000001 The elevator will move up from ground floor to eighth floor.
  • 13. Elevator Controller Design Page 12 Simulation Result When Request floor = 00000001; In_Current_floor = 10000000 The elevator moves up from eighth floor to ground floor.
  • 14. Elevator Controller Design Page 13 When Request floor = 10000001; In_Current_floor = 00000001 The elevator moves up from ground floor to eighth floor.
  • 15. Elevator Controller Design Page 14 Schematic and Layout Verilog Synthesis with RTL Compiler Power Planning
  • 16. Elevator Controller Design Page 15 Placement Routing
  • 17. Elevator Controller Design Page 16 Filler Cells Layout
  • 18. Elevator Controller Design Page 17 DRC Result Elevator Controller Design Symbol Conclusion For this project, we learned the basic idea of how does the normal elevators run in many cases, even though it is simplified, we still spent lots of time to design and to figure out many problems when combining all the cases, of course the most challenging and time consuming part is debugging. However, after accomplishing it, we learned many things beyond this project, so it is a very helpful assignment.