-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathreflectorEncode.v
73 lines (72 loc) · 1.64 KB
/
reflectorEncode.v
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
module reflectorEncode (code, val, reflector_type);
input [4:0] code;
output reg [4:0] val;
input reflector_type;
always @*
begin
if (reflector_type == 1'b0)
begin
// Reflector B
case (code)
0 : val = "Y" - 8'h41;
1 : val = "R" - 8'h41;
2 : val = "U" - 8'h41;
3 : val = "H" - 8'h41;
4 : val = "Q" - 8'h41;
5 : val = "S" - 8'h41;
6 : val = "L" - 8'h41;
7 : val = "D" - 8'h41;
8 : val = "P" - 8'h41;
9 : val = "X" - 8'h41;
10: val = "N" - 8'h41;
11: val = "G" - 8'h41;
12: val = "O" - 8'h41;
13: val = "K" - 8'h41;
14: val = "M" - 8'h41;
15: val = "I" - 8'h41;
16: val = "E" - 8'h41;
17: val = "B" - 8'h41;
18: val = "F" - 8'h41;
19: val = "Z" - 8'h41;
20: val = "C" - 8'h41;
21: val = "W" - 8'h41;
22: val = "V" - 8'h41;
23: val = "J" - 8'h41;
24: val = "A" - 8'h41;
25: val = "T" - 8'h41;
endcase
end
else
begin
// Reflector C
case (code)
0 : val = "F" - 8'h41;
1 : val = "V" - 8'h41;
2 : val = "P" - 8'h41;
3 : val = "J" - 8'h41;
4 : val = "I" - 8'h41;
5 : val = "A" - 8'h41;
6 : val = "O" - 8'h41;
7 : val = "Y" - 8'h41;
8 : val = "E" - 8'h41;
9 : val = "D" - 8'h41;
10: val = "R" - 8'h41;
11: val = "Z" - 8'h41;
12: val = "X" - 8'h41;
13: val = "W" - 8'h41;
14: val = "G" - 8'h41;
15: val = "C" - 8'h41;
16: val = "T" - 8'h41;
17: val = "K" - 8'h41;
18: val = "U" - 8'h41;
19: val = "Q" - 8'h41;
20: val = "S" - 8'h41;
21: val = "B" - 8'h41;
22: val = "N" - 8'h41;
23: val = "M" - 8'h41;
24: val = "H" - 8'h41;
25: val = "L" - 8'h41;
endcase
end
end
endmodule