ask: Modify the Laser Circuit FSM to output x for 25 ns, assuming Tclk = 5 ns. Given VHDL code for the Laser Circuit FSM: library ieee; use ieee.std_logic_1164.all; entity LaserTimer is port ( b: in std_logic; x : out std_logic; clk, rst : in std_logic; ); end LaserTimer; architecture behavior of LaserTimer is type statetype is (S_Off, S_On1, S_On2, S_On3); signal currentState, nextState: statetype; begin statereg: process(clk, rst) begin if (rst=’1’) then currentstate <= S_Off; elsif (clk=’1’ and clk’event) then currentstate <= nextstate; end if; end process; comblogic: process (currentstate, b) begin case currentstate is when S_Off => x <= ‘0’; if (b=’0’) then nextstate <= S_Off; else nextstate <= S_On1; end if; when S_On1 => x <= ‘1’; nextstate <= S_On2; when S_On2 => x <= ‘1’; nextstate <= S_On3; when S_On3 => x <= ‘1’; nextstate <= S_Off; end case; end process; end behavior;

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%

Task: Modify the Laser Circuit FSM to output x for 25 ns, assuming Tclk = 5 ns.

Given VHDL code for the Laser Circuit FSM:

library ieee;
use ieee.std_logic_1164.all;

entity LaserTimer is
port ( b: in std_logic;
x : out std_logic;
clk, rst : in std_logic;
);
end LaserTimer;

architecture behavior of LaserTimer is
type statetype is
(S_Off, S_On1, S_On2, S_On3);
signal currentState, nextState:
statetype;

begin
statereg: process(clk, rst)
begin
if (rst=’1’) then
currentstate <= S_Off;
elsif (clk=’1’ and clk’event) then
currentstate <= nextstate;
end if;
end process;

comblogic: process (currentstate, b)
begin
case currentstate is
when S_Off =>
x <= ‘0’;
if (b=’0’) then
nextstate <= S_Off;
else
nextstate <= S_On1;
end if;
when S_On1 =>
x <= ‘1’;
nextstate <= S_On2;
when S_On2 =>
x <= ‘1’;
nextstate <= S_On3;
when S_On3 =>
x <= ‘1’;
nextstate <= S_Off;
end case;
end process;
end behavior;

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 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