Question: This assignment involves designing the architecture and writing RTL for an elevator controller in a building with five floors ( a ground floor and four

This assignment involves designing the architecture and writing RTL for an elevator controller in
a building with five floors (a ground floor and four upper floors).
The elevator should manage multiple requests simultaneously by assigning priority. The elevator
should prioritize requests in its current direction of movement, servicing requests in the upward
direction while moving up, and downward while moving down. If the elevator is idle (not
moving), priority is given to the first floor requested. If multiple requests are received at the
same time while the elevator is idle, priority is given to the highest floor among the requests.
The elevator includes a stop feature: a push button inside the elevator allows passengers to stop
it immediately. When pressed, the elevator halts and retains all input, output, and control
states. Pressing the button again releases the stop, allowing the elevator to resume from where
it left off, with all signals and states preserved for a seamless continuation.
Floor requests can be made via push buttons located on each floor or from buttons inside the
elevator . The elevator takes 2 sec. to travel between two consecutive floors. The door stays
open for 2 sec. on the floor . Elevator Controller
System Description
This assignment involves designing the architecture and writing RTL for an elevator controller in a building with five floors (a ground floor and four upper floors).
The elevator should manage multiple requests simultaneously by assigning priority. The elevator should prioritize requests in its current direction of movement, servicing requests in the upward direction while moving up, and downward while moving down. If the elevator is idle (not moving), priority is given to the first floor requested. If multiple requests are received at the same time while the elevator is idle, priority is given to the highest floor among the requests.
The elevator includes a stop feature: a push button inside the elevator allows passengers to stop it immediately. When pressed, the elevator halts and retains all input, output, and control states. Pressing the button again releases the stop, allowing the elevator to resume from where it left off, with all signals and states preserved for a seamless continuation.
Floor requests can be made via push buttons located on each floor or from buttons inside the elevator. The elevator takes 2 sec . to travel between two consecutive floors. The door stays open for 2 sec . on the floor.
For simplicity, we assume both the external and internal request signals are 5-bit vectors, indexed from 0 to 4 to represent each floor. Each bit corresponds to a specific floor: bit 0 represents the ground floor, bit 1 represents the first floor, and so on. For example, if external requests come from the first and third floors, i_req_ext would be 5'b01010. Similarly, if internal requests come from the second and ground floors, i_req_inter would be 5'b00101. The combined request vector would then be 5'b01111. Requests are granted in the prioritized order specified above. Signals
Table 1
\begin{tabular}{|c|c|c|l|}
\hline Signal & Width & Direction & \multicolumn{1}{c|}{ Description }\\
\hline i_clk & 1 & Input & Positive edge system clock (50 MHz)\\
\hline i_rst_n & 1 & Input & Negative edge asynchronous system reset \\
\hline i_req_ext & 5 & Input & \begin{tabular}{l}
External input requests where each bit represents the \\
push button outside the elevator for its corresponding \\
floor. When a bit is set to 1, it indicates a request from \\
that floor.
\end{tabular}\\
\hline i_stop & 5 & Input & \begin{tabular}{l}
Internal elevator requests where each bit represents a \\
push button inside the elevator for a specific floor. \\
When a bit is set to 1, it indicates a request for that \\
floor.
\end{tabular}\\
\hline o_current_floo & 3 & output & \begin{tabular}{l}
A stop button inside the elevator allows People to \\
immediately halt the elevator.
\end{tabular}\\
\hline o_up & 1 & \begin{tabular}{l}
An output indicating the current floor number. For \\
example, if the elevator is on the third floor, \\
o_current_floor will be set to 3'd3.
\end{tabular}\\
\hline output & \begin{tabular}{l}
1: elevator is moving up \\
0: elevator is moving down or not moving
\end{tabular}\\
\hline o_door & 1 & output & \begin{tabular}{l}
1: elevator is moving down \\
0: elevator is moving up or not moving
\end{tabular}\\
\hline output & \begin{tabular}{l}
1: elevator door opens \\
0: elevator door closed
\end{tabular}\\
\hline
\end{tabular}
Deliverables
You have to submit a pdf or zip file that contains:
- A PDF file that contains:
- Architecture of the design which includes how sub-blocks communicate with each other.
- Description of the operation between blocks and any existing FSM
- Simulation waveform that shows the module is working correctly.
- Project folder contains (zip file or google drive link):
- RTL codes of the system.
- Testbench code of the system.
Eng. Yousef
This assignment involves designing the

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!