Skip to content

Commit a9e1719

Browse files
committed
Re-add timestamp logic
1 parent 754108c commit a9e1719

File tree

2 files changed

+41
-40
lines changed

2 files changed

+41
-40
lines changed

sim/ltc/rtl/ltc.v

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ module ltc(
4747
reg [63:0] frame = 64'h0; // LTC Frame Registers
4848
reg [15:0] sync = 16'h3FFD; // SMPTE 12M Sync Word
4949
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
5054
reg tick = 1'b0; // Encoder Bit Period Tick
5155
reg out; // Output Signal Buffer
5256

@@ -86,42 +90,36 @@ module ltc(
8690
if (tick) pointer <= pointer + 1;
8791
tick <= ~tick;
8892

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;
9796

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;
10399

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;
106104

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;
111109

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;
116114

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
124120
end
125121
end
126-
end
127-
*/
122+
123+
// Output Signal
124+
assign ltc = out && reset_n;
125+
endmodule

sim/ltc/trace.gtkw

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,34 @@
11
[*]
22
[*] GTKWave Analyzer v3.3.111 (w)1999-2020 BSI
3-
[*] Sun Oct 2 07:43:23 2022
3+
[*] Sun Oct 2 07:56:50 2022
44
[*]
55
[dumpfile] "obj_dir/trace.vcd"
6-
[dumpfile_mtime] "Sun Oct 2 07:41:37 2022"
7-
[dumpfile_size] 216343743
6+
[dumpfile_mtime] "Sun Oct 2 07:55:59 2022"
7+
[dumpfile_size] 216343973
88
[savefile] "../trace.gtkw"
99
[timestart] 0
1010
[size] 1920 1007
11-
[pos] -461 -204
11+
[pos] -1 -1
1212
*-33.950489 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
1313
[treeopen] TOP.
1414
[treeopen] TOP.top.
1515
[treeopen] TOP.top.ltc_encoder.
1616
[sst_width] 212
17-
[signals_width] 148
17+
[signals_width] 150
1818
[sst_expanded] 1
1919
[sst_vpaned_height] 285
2020
@28
2121
TOP.top.clk
2222
TOP.top.reset_n
2323
TOP.top.ltc_encoder.clk_ltc
24-
TOP.top.ltc_encoder.syncing
25-
TOP.top.ltc_encoder.tick
26-
TOP.top.ltc
2724
@24
2825
[color] 5
2926
TOP.top.ltc_encoder.pointer[6:0]
27+
@28
28+
TOP.top.ltc_encoder.tick
29+
TOP.top.ltc
30+
TOP.top.ltc_encoder.syncing
31+
@22
32+
TOP.top.ltc_encoder.time_frame[4:0]
3033
[pattern_trace] 1
3134
[pattern_trace] 0

0 commit comments

Comments
 (0)