Question: / / testbench.sv module fsm _ tb; reg clk; reg rst; reg A; reg [ 1 : 0 ] PS _ LOAD; wire z; wire

// testbench.sv
module fsm_tb;
reg clk;
reg rst;
reg A;
reg[1:0] PS_LOAD;
wire z;
wire[1:0] NS;
fsm uut (
.clk(clk),
.rst(rst),
.A(A),
.PS_LOAD(PS_LOAD),
.Z(Z),
.NS(NS)
);
initial begin
clk =0;
forever #5 clk = ~clk;
end
initial begin
rst =1;
#10
rst =0;
// Test loading different present states and read next states
PS_LOAD = s0;
#10;
$display ("Present state: %b, Next state: %b", PS_LOAD, NS);
PS_LOAD = s1;
#10;
$display ("Present state: %b, Next state: %b", PS_LOAD, NS);
PS_LOAD = s2;
#10;
$display ("Present state: %b, Next state: %b", PS_LOAD, NS);
PS_LOAD = s3;
#10;
$display ("Present state: %b, Next state: %b", PS_LOAD, NS);
end
endmodule Parsing design file '
design.sv'
Error-[IND] Identifier not declared
design.sv,31
Identifier 's4' has not been declared yet. If this error is not expected,
please check if you have set 'default_nettype to none.
Parsing design file '
testbench.sv'
Error-[IND] Identifier not declared
testbench.sv,31
Identifier 's0' has not been declared yet. If this error is not expected,
please check if you have set 'default_nettype to none.
Error-[IND] Identifier not declared
testbench. 5v,35
Identifier 's1' has not been declared yet. If this error is not expected,
please check if you have set 'default_nettype to none.
Error-[IND] Identifier not declared
testbench.sv,39
Identifier 's2' has not been declared yet. If this error is not expected,
please check if you have set 'default_nettype to none.
Error-[IND] Identifier not declared
testbench.sv,43
Identifier '53' has not been declared yet. If this error is not expected,
please check if you have set 'default_nettype to none.
5 errors
CPU time: .146 seconds to compile
Exit code expected: 0, received: 255// design.sv
module fsm (
input clk,
input rst,
input A,
input[1:0] PS_LOAD, // input to load present state
output reg Z,
output reg[1:0] NS // output to read next state
);
parameter[1:0] s0=2'b00;
parameter[1:0] s1=2'b01;
parameter[1:0] s2=2'b10;
parameter[1:0] s3=2'b11;
reg[1:0] PS;
always@ (posedge clk) begin
if (rst) begin
PS = s0;
end else begin
PS = PS_LOAD; // load desired present state
end
end
always@ (PS, A) begin
case ({PS,A})
{s0,0} :begin NS = s3; Z =0; end
{s0,1} :begin NS = s2; Z =1; end
{s1,0} :begin NS = s3; Z =1; end
{s1,1} :begin NS = s4; Z =0; end
{s2,0} :begin NS = s3; Z =1; end
{s2,1} :begin NS = s4; Z =0; end
{s3,0} :begin NS = s4; Z =0; end
{s3,1} :begin NS = s1; Z =1; end
{s4,0} :begin NS = s4; Z =1; end
{s4,1} :begin NS = s1; Z =1; end
endcase
end
endmodule Image shows error messages. Respond asap.
 // testbench.sv module fsm_tb; reg clk; reg rst; reg A; reg[1:0]

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 Databases Questions!