@@ -47,6 +47,10 @@ module ltc(
47
47
reg [63 :0 ] frame = 64'h0 ; // LTC Frame Registers
48
48
reg [15 :0 ] sync = 16'h3FFD ; // SMPTE 12M Sync Word
49
49
reg [6 :0 ] pointer = 7'h00 ; // Encoder Pointer
50
+ reg [4 :0 ] time_hour; // Timestamp Hour Value
51
+ reg [5 :0 ] time_minute; // Timestamp Minute Value
52
+ reg [5 :0 ] time_second; // Timestamp Second Value
53
+ reg [4 :0 ] time_frame; // Timestamp Frame Value
50
54
reg tick = 1'b0 ; // Encoder Bit Period Tick
51
55
reg out; // Output Signal Buffer
52
56
@@ -86,42 +90,36 @@ module ltc(
86
90
if (tick) pointer <= pointer + 1 ;
87
91
tick <= ~ tick;
88
92
89
- // Reset Pointer Register
90
- if (pointer == 7'd79 && tick) begin pointer <= 0 ;
91
- end
92
- end
93
-
94
- // Output Signal
95
- assign ltc = out && reset_n;
96
- endmodule
93
+ // Reset Pointer Register and Increment Timestamp
94
+ if (pointer == 7'd79 && tick) begin
95
+ pointer <= 0 ;
97
96
98
- /*
99
- reg [4:0] time_hour; // Timestamp Hour Value
100
- reg [5:0] time_minute; // Timestamp Minute Value
101
- reg [5:0] time_second; // Timestamp Second Value
102
- reg [4:0] time_frame; // Timestamp Frame Value
97
+ // Increment Frame
98
+ time_frame <= time_frame + 1 ;
103
99
104
- // Increment Frame
105
- time_frame <= time_frame + 1;
100
+ // Increment Second and Reset Frame
101
+ if (time_frame == LTC_FPS - 1 ) begin
102
+ time_frame <= 0 ;
103
+ time_second <= time_second + 1 ;
106
104
107
- // Increment Second and Reset Frame
108
- if (time_frame == LTC_FPS - 1 ) begin
109
- time_frame <= 0;
110
- time_second <= time_second + 1;
105
+ // Increment Minute and Reset Second
106
+ if (time_second == 59 ) begin
107
+ time_second <= 0 ;
108
+ time_minute <= time_minute + 1 ;
111
109
112
- // Increment Minute and Reset Second
113
- if (time_second == 59) begin
114
- time_second <= 0;
115
- time_minute <= time_minute + 1;
110
+ // Incrememt Hour and Reset Minute
111
+ if (time_minute == 59 ) begin
112
+ time_minute <= 0 ;
113
+ time_hour <= time_hour + 1 ;
116
114
117
- // Incrememt Hour and Reset Minute
118
- if (time_minute == 59) begin
119
- time_minute <= 0;
120
- time_hour <= time_hour + 1;
121
-
122
- // Reset Hour
123
- if (time_hour == 23) time_hour <= 0;
115
+ // Reset Hour
116
+ if (time_hour == 23 ) time_hour <= 0 ;
117
+ end
118
+ end
119
+ end
124
120
end
125
121
end
126
- end
127
- */
122
+
123
+ // Output Signal
124
+ assign ltc = out && reset_n;
125
+ endmodule
0 commit comments