Draw the state diagram of the following FSM: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SimpleFSM is     Port ( clock : in  STD_LOGIC;            P : in  STD_LOGIC;            reset : in  STD_LOGIC;            R : out  STD_LOGIC); end SimpleFSM; architecture Behavioral of SimpleFSM is type state_type is (A, B, C, D); signal state: state_type; begin     process (clock, reset)     begin         if (reset = '1') then             state <= A;         elsif rising_edge(clock) then             case state is                 when A =>                     if P = '1' then                         state <= B;                     else                         state <= A;                     end if;                 when B =>                     if P = '1' then                         state <= C;                     else                         state <= B;                     end if;                 when C =>                     if P = '1' then                         state <= D;                     else                         state <= C;                     end if;                 when D =>                     if P = '1' then                         state <= B;                     else                         state <= A;                     end if;                 when others =>                     state <= A;             end case;         end if;     end process;     R <= '1' when state = D else '0'; end Behavioral;

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%

Draw the state diagram of the following FSM:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity SimpleFSM is
    Port ( clock : in  STD_LOGIC;
           P : in  STD_LOGIC;
           reset : in  STD_LOGIC;
           R : out  STD_LOGIC);
end SimpleFSM;

architecture Behavioral of SimpleFSM is
type state_type is (A, B, C, D);
signal state: state_type;

begin
    process (clock, reset)
    begin
        if (reset = '1') then
            state <= A;
        elsif rising_edge(clock) then
            case state is
                when A =>
                    if P = '1' then
                        state <= B;
                    else
                        state <= A;
                    end if;
                when B =>
                    if P = '1' then
                        state <= C;
                    else
                        state <= B;
                    end if;
                when C =>
                    if P = '1' then
                        state <= D;
                    else
                        state <= C;
                    end if;
                when D =>
                    if P = '1' then
                        state <= B;
                    else
                        state <= A;
                    end if;
                when others =>
                    state <= A;
            end case;
        end if;
    end process;
    R <= '1' when state = D else '0';

end Behavioral;

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY