8 changed files with 156 additions and 220 deletions
-
3README.md
-
BINrelease/v1.0/Top.sbit
-
BINrelease/v1.0/Top.sfc
-
152source/bak/internal_timecode_generator.v
-
131source/src/app.v
-
5source/src/config.v
-
29source/src/top.v
-
56syncbox16ch.pds
@ -1,152 +0,0 @@ |
|||
|
|||
// module internal_timecode_generator #( |
|||
// parameter SYS_CLOCK_FREQ = 100000000 |
|||
// ) ( |
|||
// input clk, //clock input |
|||
// input rst_n, //asynchronous reset input, low active |
|||
|
|||
// input ctrl_sig, |
|||
|
|||
// input [31:0] timecode_format, |
|||
|
|||
// input timecode_tc_wr_en, |
|||
// input [31:0] timecode_tc_wr_data, |
|||
// output reg [31:0] out_timecode_uc_reg, |
|||
|
|||
// input timecode_uc_wr_en, |
|||
// input [31:0] timecode_uc_wr_data, |
|||
// output reg [31:0] out_timecode_tc_reg, |
|||
|
|||
// output reg out_timecode_tirgger_sig |
|||
// ); |
|||
|
|||
// localparam FPS2398Format = 0; |
|||
// localparam FPS2400Format = 1; |
|||
// localparam FPS2500Format = 2; |
|||
// localparam FPS2997Format = 3; |
|||
// localparam FPS2997DropFormat = 4; |
|||
// localparam FPS3000Format = 5; |
|||
|
|||
// /******************************************************************************* |
|||
// * smpte_timecode_clk_generator * |
|||
// *******************************************************************************/ |
|||
|
|||
// wire timecode_sig_clk_output; |
|||
// zutils_smpte_timecode_clk_generator #( |
|||
// .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|||
// ) smpte_timecode_clk_generator ( |
|||
// .clk(clk), |
|||
// .rst_n(rst_n), |
|||
// .ctrl_sig(ctrl_sig), |
|||
// .fps2398format_clk(fps2398format_clk), |
|||
// .fps2400format_clk(fps2400format_clk), |
|||
// .fps2500format_clk(fps2500format_clk), |
|||
// .fps2997format_clk(fps2997format_clk), |
|||
// .fps2997dropformat_clk(fps2997dropformat_clk), |
|||
// .fps3000format_clk(fps3000format_clk) |
|||
// ); |
|||
|
|||
// zutils_multiplexer_32t1_v2 timecode_clk_output_mult ( |
|||
// .chooseindex(timecode_format), |
|||
// //in |
|||
// .in0(fps2398format_clk), |
|||
// .in1(fps2400format_clk), |
|||
// .in2(fps2500format_clk), |
|||
// .in3(fps2997format_clk), |
|||
// .in4(fps2997dropformat_clk), |
|||
// .in5(fps3000format_clk), |
|||
// //out |
|||
// .out(timecode_sig_clk_output) |
|||
// ); |
|||
|
|||
// zutils_edge_detecter timecode_sig_clk_output_edge_detecter ( |
|||
// .clk(clk), |
|||
// .rst_n(rst_n), |
|||
// .in_signal(timecode_sig_clk_output), |
|||
// .in_signal_rising_edge(timecode_sig_clk_output_rising_edge) |
|||
// ); |
|||
|
|||
// reg [7:0] frameNum; |
|||
// reg timecode_drop_frame; |
|||
// wire [31:0] timecode_next; |
|||
|
|||
// always @(*) begin |
|||
// case (timecode_format) |
|||
// FPS2398Format: begin |
|||
// frameNum <= 24; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// FPS2400Format: begin |
|||
// frameNum <= 24; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// FPS2500Format: begin |
|||
// frameNum <= 25; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// FPS2997Format: begin |
|||
// frameNum <= 30; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// FPS2997DropFormat: begin |
|||
// frameNum <= 30; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// default begin |
|||
// frameNum <= 30; |
|||
// timecode_drop_frame <= 0; |
|||
// end |
|||
// endcase |
|||
// end |
|||
|
|||
// ztutils_timecode_next_code ztutils_timecode_next_code_inst ( |
|||
// .timecode(out_timecode_tc_reg), |
|||
// .frameNum(frameNum), |
|||
// .drop(timecode_drop_frame), |
|||
// .timecode_next(timecode_next) |
|||
// ); |
|||
|
|||
// reg n_first_timecode_sig; |
|||
|
|||
// always @(posedge clk or negedge rst_n) begin |
|||
// if (!rst_n || !ctrl_sig) begin |
|||
// n_first_timecode_sig <= 0; |
|||
// end else begin |
|||
// if (!n_first_timecode_sig && timecode_sig_clk_output_rising_edge) begin |
|||
// n_first_timecode_sig <= 1; |
|||
// end |
|||
// end |
|||
// end |
|||
|
|||
// // always @(posedge clk or negedge rst_n) begin |
|||
// // if (!rst_n) begin |
|||
// // out_timecode_tc_reg <= 0; |
|||
// // out_timecode_uc_reg <= 0; |
|||
// // end else begin |
|||
|
|||
// // if (timecode_tc_wr_en) begin |
|||
// // //外都写入时间码 |
|||
// // out_timecode_tc_reg <= timecode_tc_wr_data; |
|||
// // end else if (timecode_uc_wr_en) begin |
|||
// // //外都写入时间码-用户码 |
|||
// // out_timecode_uc_reg <= timecode_uc_wr_data; |
|||
// // end else begin |
|||
|
|||
// // if (timecode_sig_clk_output_rising_edge) begin |
|||
// // //第一次触发,不改变时间码 |
|||
// // if (!n_first_timecode_sig) begin |
|||
// // out_timecode_tc_reg <= out_timecode_tc_reg; |
|||
// // end else begin |
|||
// // out_timecode_tc_reg <= timecode_next; |
|||
// // end |
|||
// // out_timecode_tirgger_sig <= 1; |
|||
// // end else begin |
|||
// // out_timecode_tirgger_sig <= 0; |
|||
// // end |
|||
// // end |
|||
// // end |
|||
// // end |
|||
|
|||
|
|||
|
|||
// endmodule |
Write
Preview
Loading…
Cancel
Save
Reference in new issue