-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFSM_TB.sv
120 lines (76 loc) · 1.88 KB
/
FSM_TB.sv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: Cal Poly
// Engineer: Jordan Reichhardt
//
// Create Date: 11/17/2022 12:46:40 PM
// Design Name:
// Module Name: FSM_TB
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module FSM_TB();
logic thrsh_TB;
logic rndbt_TB;
logic clk_TB;
logic h_TB;
logic l_TB;
FSM UUT (.clk(clk_TB), .thrsh(thrsh_TB), .rndbt(rndbt_TB), .h(h_TB), .l(l_TB));
always begin
clk_TB = 1;
#10;
clk_TB = 0;
#10;
end
always begin
thrsh_TB = 1'b0;
//01100000 sequence -> testing low val threshold at three
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
#20 thrsh_TB = 1'b0;
//01100010 sequence -> testing high val threshold at three
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
#20 thrsh_TB = 1'b1;
//01110000 sequence -> testing low val threshold at four
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
#20 thrsh_TB = 1'b1;
//01100010 sequence -> testing high val threshold at four
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b0;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b1;
#20 rndbt_TB = 1'b0;
end
endmodule