|
|
@ -130,6 +130,10 @@ module Top ( |
|
|
|
wire signal_sys_timecode_freq_output; //! 系统时间码频率输出 |
|
|
|
wire signal_business_record_en_sig; //! 业务摄影状态信号 |
|
|
|
wire signal_business_record_exposure_sig; //! 业务摄影拍照曝光信号 |
|
|
|
wire signal_business_record_en_rsing_edge_sig; //! 业务摄影状态信号 |
|
|
|
wire signal_business_record_en_falling_edge_sig; //! 业务摄影状态信号 |
|
|
|
wire signal_business_record_en_edge_sig; //! 业务摄影状态信号 |
|
|
|
|
|
|
|
|
|
|
|
wire internal_timecode_tigger_sig; //!内部timecode频率信号 |
|
|
|
wire [31:0] internal_timecode_format; //!内部timecode格式 |
|
|
@ -147,27 +151,31 @@ module Top ( |
|
|
|
wire [31:0] sig_src; // 系统内部信号总线 |
|
|
|
|
|
|
|
|
|
|
|
assign sig_src[`SIGNAL_LOGIC0] = signal_logic0; |
|
|
|
assign sig_src[`SIGNAL_LOGIC1] = signal_logic1; |
|
|
|
assign sig_src[`SIGNAL_TTLIN1] = signal_ttlin1; |
|
|
|
assign sig_src[`SIGNAL_TTLIN2] = signal_ttlin2; |
|
|
|
assign sig_src[`SIGNAL_TTLIN3] = signal_ttlin3; |
|
|
|
assign sig_src[`SIGNAL_TTLIN4] = signal_ttlin4; |
|
|
|
assign sig_src[`SIGNAL_EXT_GENLOCK_FREQ] = signal_ext_genlock_freq; |
|
|
|
assign sig_src[`SIGNAL_EXT_TIMECODE_FREQ] = signal_ext_timecode_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_TIMECODE_FREQ] = signal_internal_timecode_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_GENLOCK_FREQ] = signal_internal_genlock_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_CLOCK_SIG] = signal_internal_clk_sig; |
|
|
|
assign sig_src[`SIGNAL_SYS_CLK_OUTPUT] = signal_sys_clk_output; |
|
|
|
assign sig_src[`SIGNAL_SYS_GENLOCK_OUTPUT] = signal_sys_genlock_output; |
|
|
|
assign sig_src[`SIGNAL_SYS_TIMECODE_FREQ_OUTPUT] = signal_sys_timecode_freq_output; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_SIG] = signal_business_record_en_sig; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_EXPOSURE_SIG] = signal_business_record_exposure_sig; |
|
|
|
|
|
|
|
assign signal_logic0 = 1'b0; |
|
|
|
assign signal_logic1 = 1'b1; |
|
|
|
assign signal_internal_timecode_freq = internal_timecode_serial_data; |
|
|
|
assign signal_sys_timecode_freq_output = sys_timecode_tigger_sig; |
|
|
|
assign sig_src[`SIGNAL_LOGIC0] = signal_logic0; |
|
|
|
assign sig_src[`SIGNAL_LOGIC1] = signal_logic1; |
|
|
|
assign sig_src[`SIGNAL_TTLIN1] = signal_ttlin1; |
|
|
|
assign sig_src[`SIGNAL_TTLIN2] = signal_ttlin2; |
|
|
|
assign sig_src[`SIGNAL_TTLIN3] = signal_ttlin3; |
|
|
|
assign sig_src[`SIGNAL_TTLIN4] = signal_ttlin4; |
|
|
|
assign sig_src[`SIGNAL_EXT_GENLOCK_FREQ] = signal_ext_genlock_freq; |
|
|
|
assign sig_src[`SIGNAL_EXT_TIMECODE_FREQ] = signal_ext_timecode_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_TIMECODE_FREQ] = signal_internal_timecode_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_GENLOCK_FREQ] = signal_internal_genlock_freq; |
|
|
|
assign sig_src[`SIGNAL_INTERNAL_CLOCK_SIG] = signal_internal_clk_sig; |
|
|
|
assign sig_src[`SIGNAL_SYS_CLK_OUTPUT] = signal_sys_clk_output; |
|
|
|
assign sig_src[`SIGNAL_SYS_GENLOCK_OUTPUT] = signal_sys_genlock_output; |
|
|
|
assign sig_src[`SIGNAL_SYS_TIMECODE_FREQ_OUTPUT] = signal_sys_timecode_freq_output; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_SIG] = signal_business_record_en_sig; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_EXPOSURE_SIG] = signal_business_record_exposure_sig; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_EN_RSING_EDGE_SIG] = signal_business_record_en_rsing_edge_sig; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_EN_FALLING_EDGE_SIG] = signal_business_record_en_falling_edge_sig; |
|
|
|
assign sig_src[`SIGNAL_BUSINESS_RECORD_EN_EDGE_SIG] = signal_business_record_en_edge_sig; |
|
|
|
|
|
|
|
|
|
|
|
assign signal_logic0 = 1'b0; |
|
|
|
assign signal_logic1 = 1'b1; |
|
|
|
assign signal_internal_timecode_freq = internal_timecode_serial_data; |
|
|
|
assign signal_sys_timecode_freq_output = sys_timecode_tigger_sig; |
|
|
|
|
|
|
|
|
|
|
|
//系统时钟源 |
|
|
@ -216,9 +224,7 @@ module Top ( |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
* FPGA_INFO * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
zutils_register16 #( |
|
|
|
.REG_START_ADD(`REGADDOFF__FPGA_INFO), |
|
|
|
.REG0_INIT(`VERSION), |
|
|
@ -246,6 +252,64 @@ module Top ( |
|
|
|
.rd_data(rd_data_module_fpga_info) |
|
|
|
); |
|
|
|
|
|
|
|
wire [15:0] sys_sig_delay_in; |
|
|
|
wire [15:0] sys_sig_delay_out; |
|
|
|
|
|
|
|
wire before_delay__sync_ttl_out1; |
|
|
|
wire before_delay__sync_ttl_out2; |
|
|
|
wire before_delay__sync_ttl_out3; |
|
|
|
wire before_delay__sync_ttl_out4; |
|
|
|
wire before_delay__stm32if_start_signal_out; |
|
|
|
wire before_delay__stm32if_camera_sync_out; |
|
|
|
wire before_delay__stm32if_timecode_sync_out; |
|
|
|
|
|
|
|
wire af_delay__sync_ttl_in1; |
|
|
|
wire af_delay__sync_ttl_in2; |
|
|
|
wire af_delay__sync_ttl_in3; |
|
|
|
wire af_delay__sync_ttl_in4; |
|
|
|
wire af_delay__timecode_headphone_in; |
|
|
|
wire af_delay__timecode_bnc_in; |
|
|
|
wire af_delay__genlock_in_hsync; |
|
|
|
wire af_delay__genlock_in_vsync; |
|
|
|
wire af_delay__genlock_in_fsync; |
|
|
|
|
|
|
|
|
|
|
|
assign sys_sig_delay_in[0] = sync_ttl_in1; // |
|
|
|
assign sys_sig_delay_in[1] = sync_ttl_in2; // |
|
|
|
assign sys_sig_delay_in[2] = sync_ttl_in3; // |
|
|
|
assign sys_sig_delay_in[3] = sync_ttl_in4; // |
|
|
|
assign sys_sig_delay_in[4] = timecode_headphone_in; // |
|
|
|
assign sys_sig_delay_in[5] = timecode_bnc_in; // |
|
|
|
assign sys_sig_delay_in[6] = genlock_in_hsync; // |
|
|
|
assign sys_sig_delay_in[7] = genlock_in_vsync; // |
|
|
|
assign sys_sig_delay_in[8] = genlock_in_fsync; // |
|
|
|
assign sys_sig_delay_in[9] = before_delay__sync_ttl_out1; // |
|
|
|
assign sys_sig_delay_in[10] = before_delay__sync_ttl_out2; // |
|
|
|
assign sys_sig_delay_in[11] = before_delay__sync_ttl_out3; // |
|
|
|
assign sys_sig_delay_in[12] = before_delay__sync_ttl_out4; // |
|
|
|
assign sys_sig_delay_in[13] = before_delay__stm32if_start_signal_out; // |
|
|
|
assign sys_sig_delay_in[14] = before_delay__stm32if_camera_sync_out; // |
|
|
|
assign sys_sig_delay_in[15] = before_delay__stm32if_timecode_sync_out; // |
|
|
|
|
|
|
|
assign af_delay__sync_ttl_in1 = sys_sig_delay_out[0]; |
|
|
|
assign af_delay__sync_ttl_in2 = sys_sig_delay_out[1]; |
|
|
|
assign af_delay__sync_ttl_in3 = sys_sig_delay_out[2]; |
|
|
|
assign af_delay__sync_ttl_in4 = sys_sig_delay_out[3]; |
|
|
|
assign af_delay__timecode_headphone_in = sys_sig_delay_out[4]; |
|
|
|
assign af_delay__timecode_bnc_in = sys_sig_delay_out[5]; |
|
|
|
assign af_delay__genlock_in_hsync = sys_sig_delay_out[6]; |
|
|
|
assign af_delay__genlock_in_vsync = sys_sig_delay_out[7]; |
|
|
|
assign af_delay__genlock_in_fsync = sys_sig_delay_out[8]; |
|
|
|
assign sync_ttl_out1 = sys_sig_delay_out[9]; |
|
|
|
assign sync_ttl_out2 = sys_sig_delay_out[10]; |
|
|
|
assign sync_ttl_out3 = sys_sig_delay_out[11]; |
|
|
|
assign sync_ttl_out4 = sys_sig_delay_out[12]; |
|
|
|
assign stm32if_start_signal_out = sys_sig_delay_out[13]; |
|
|
|
assign stm32if_camera_sync_out = sys_sig_delay_out[14]; |
|
|
|
assign stm32if_timecode_sync_out = sys_sig_delay_out[15]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sys_signal_delayer #( |
|
|
|
.REG_START_ADD (`REGADDOFF__DELAYER), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
@ -258,80 +322,79 @@ module Top ( |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_sys_signal_delayer), |
|
|
|
|
|
|
|
.sig_in({ |
|
|
|
sync_ttl_in1, //0 |
|
|
|
sync_ttl_in2, //1 |
|
|
|
sync_ttl_in3, //2 |
|
|
|
sync_ttl_in4, //3 |
|
|
|
timecode_headphone_in, //4 |
|
|
|
timecode_bnc_in, //5 |
|
|
|
genlock_in_hsync, //6 |
|
|
|
genlock_in_vsync, //7 |
|
|
|
genlock_in_fsync, //8 |
|
|
|
|
|
|
|
before_delay__sync_ttl_out1, //9 |
|
|
|
before_delay__sync_ttl_out2, //10 |
|
|
|
before_delay__sync_ttl_out3, //11 |
|
|
|
before_delay__sync_ttl_out4, //12 |
|
|
|
before_delay__stm32if_start_signal_out, //13 |
|
|
|
before_delay__stm32if_camera_sync_out, //14 |
|
|
|
before_delay__stm32if_timecode_sync_out //15 |
|
|
|
}), |
|
|
|
.sig_out({ |
|
|
|
af_delay__sync_ttl_in1, //0 |
|
|
|
af_delay__sync_ttl_in2, //1 |
|
|
|
af_delay__sync_ttl_in3, //2 |
|
|
|
af_delay__sync_ttl_in4, //3 |
|
|
|
af_delay__timecode_headphone_in, //4 |
|
|
|
af_delay__timecode_bnc_in, //5 |
|
|
|
af_delay__genlock_in_hsync, //6 |
|
|
|
af_delay__genlock_in_vsync, //7 |
|
|
|
af_delay__genlock_in_fsync, //8 |
|
|
|
sync_ttl_out1, //9 |
|
|
|
sync_ttl_out2, //10 |
|
|
|
sync_ttl_out3, //11 |
|
|
|
sync_ttl_out4, //12 |
|
|
|
stm32if_start_signal_out, //13 |
|
|
|
stm32if_camera_sync_out, //14 |
|
|
|
stm32if_timecode_sync_out //15 |
|
|
|
}) |
|
|
|
.sig_in (sys_sig_delay_in), |
|
|
|
.sig_out(sys_sig_delay_out) |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
* TTL输入模块 * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
ttl_input #( |
|
|
|
.REG_START_ADD (`REGADDOFF__TTLIN), |
|
|
|
internal_sig_generator_en_contrler #( |
|
|
|
.REG_START_ADD (`REGADDOFF__INTERNAL_SIG_EN_CONTRLER), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) ttl_inputr_ins ( |
|
|
|
) internal_sig_generator_en_contrler0 ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_ttlin), |
|
|
|
.rd_data(rd_data_module_internal_sig_en_contrler), |
|
|
|
|
|
|
|
.ttlin1_raw(af_delay__sync_ttl_in1), |
|
|
|
.ttlin2_raw(af_delay__sync_ttl_in2), |
|
|
|
.ttlin3_raw(af_delay__sync_ttl_in3), |
|
|
|
.ttlin4_raw(!af_delay__sync_ttl_in4), //in4电路上进行了反向 |
|
|
|
.en0(en0), |
|
|
|
.en1(en1), |
|
|
|
.en2(en2) |
|
|
|
); |
|
|
|
|
|
|
|
//指示灯 |
|
|
|
.ttlin1_state_led(sync_ttl_in1_state_led), |
|
|
|
.ttlin2_state_led(sync_ttl_in2_state_led), |
|
|
|
.ttlin3_state_led(sync_ttl_in3_state_led), |
|
|
|
.ttlin4_state_led(sync_ttl_in4_state_led), |
|
|
|
|
|
|
|
//原始信号 |
|
|
|
.sig_ttlin1(signal_ttlin1), |
|
|
|
.sig_ttlin2(signal_ttlin2), |
|
|
|
.sig_ttlin3(signal_ttlin3), |
|
|
|
.sig_ttlin4(signal_ttlin4) |
|
|
|
|
|
|
|
internal_timecode_generator #( |
|
|
|
.REG_START_ADD(`REGADDOFF__INTERNAL_TIMECODE), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), |
|
|
|
.ID(1) |
|
|
|
) internal_timecode_generator0 ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_internal_timecode), |
|
|
|
|
|
|
|
.en(en0), |
|
|
|
|
|
|
|
.timecode_tigger_sig (internal_timecode_tigger_sig), |
|
|
|
.timecode_format (internal_timecode_format), |
|
|
|
.timecode_data (internal_timecode_data), |
|
|
|
.timecode_serial_data(internal_timecode_serial_data) |
|
|
|
); |
|
|
|
|
|
|
|
sys_timecode #( |
|
|
|
.REG_START_ADD (`REGADDOFF__SYS_TIMECODE), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) sys_timecode_ins ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_sys_timecode), |
|
|
|
|
|
|
|
.internal_timecode_tigger_sig (internal_timecode_tigger_sig), |
|
|
|
.internal_timecode_format (internal_timecode_format), |
|
|
|
.internal_timecode_data (internal_timecode_data), |
|
|
|
.internal_timecode_serial_data(internal_timecode_serial_data), |
|
|
|
|
|
|
|
.external_timecode_tigger_sig (ext_timecode_tigger_sig), |
|
|
|
.external_timecode_format (ext_timecode_format), |
|
|
|
.external_timecode_data (ext_timecode_data), |
|
|
|
.external_timecode_serial_data(ext_timecode_serial_data), |
|
|
|
|
|
|
|
.sys_timecode_tigger_sig (sys_timecode_tigger_sig), |
|
|
|
.sys_timecode_format (sys_timecode_format), |
|
|
|
.sys_timecode_data (sys_timecode_data), |
|
|
|
.sys_timecode_serial_data(sys_timecode_serial_data) |
|
|
|
); |
|
|
|
|
|
|
|
timecode_input_parser #( |
|
|
|
.REG_START_ADD (`REGADDOFF__TIMECODE_IN), |
|
|
@ -358,71 +421,62 @@ module Top ( |
|
|
|
.timecode_bnc_in_state_led (timecode_bnc_in_state_led) |
|
|
|
); |
|
|
|
|
|
|
|
genlock_input_module #( |
|
|
|
.REG_START_ADD (`REGADDOFF__GENLOCK_IN), |
|
|
|
timecode_output #( |
|
|
|
.REG_START_ADD (`REGADDOFF__TIMECODE_OUT), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) genlock_input ( |
|
|
|
) timecode_output_inst ( |
|
|
|
|
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_genlock_in), |
|
|
|
.rd_data(rd_data_module_timecode_out), |
|
|
|
|
|
|
|
.genlock_in_hsync(af_delay__genlock_in_hsync), |
|
|
|
.genlock_in_vsync(af_delay__genlock_in_vsync), |
|
|
|
.genlock_in_fsync(af_delay__genlock_in_fsync), |
|
|
|
.in_timecode_tigger_sig (sys_timecode_tigger_sig), |
|
|
|
.in_timecode_format (sys_timecode_format), |
|
|
|
.in_timecode_data (sys_timecode_data), |
|
|
|
.in_timecode_serial_data(sys_timecode_serial_data), |
|
|
|
|
|
|
|
.timecode_out_bnc (timecode_out_bnc), |
|
|
|
.timecode_out_bnc_select (timecode_out_bnc_select), |
|
|
|
.timecode_out_bnc_state_led(timecode_out_bnc_state_led), |
|
|
|
|
|
|
|
.timecode_out_headphone (timecode_out_headphone), |
|
|
|
.timecode_out_headphone_select (timecode_out_headphone_select), |
|
|
|
.timecode_out_headphone_state_led(timecode_out_headphone_state_led) |
|
|
|
|
|
|
|
.genlock_freq_signal (signal_ext_genlock_freq), |
|
|
|
.genlock_in_state_led(genlock_in_state_led) |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
* 内部信号源 * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
internal_sig_generator_en_contrler #( |
|
|
|
.REG_START_ADD (`REGADDOFF__INTERNAL_SIG_EN_CONTRLER), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) internal_sig_generator_en_contrler0 ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_internal_sig_en_contrler), |
|
|
|
|
|
|
|
.en0(en0), |
|
|
|
.en1(en1), |
|
|
|
.en2(en2) |
|
|
|
); |
|
|
|
|
|
|
|
internal_timecode_generator #( |
|
|
|
.REG_START_ADD(`REGADDOFF__INTERNAL_TIMECODE), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), |
|
|
|
.ID(1) |
|
|
|
) internal_timecode_generator0 ( |
|
|
|
/* |
|
|
|
genlock_input_module #( |
|
|
|
.REG_START_ADD (`REGADDOFF__GENLOCK_IN), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) genlock_input ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_internal_timecode), |
|
|
|
.rd_data(rd_data_module_genlock_in), |
|
|
|
|
|
|
|
.en(en0), |
|
|
|
.genlock_in_hsync(af_delay__genlock_in_hsync), |
|
|
|
.genlock_in_vsync(af_delay__genlock_in_vsync), |
|
|
|
.genlock_in_fsync(af_delay__genlock_in_fsync), |
|
|
|
|
|
|
|
.timecode_tigger_sig (internal_timecode_tigger_sig), |
|
|
|
.timecode_format (internal_timecode_format), |
|
|
|
.timecode_data (internal_timecode_data), |
|
|
|
.timecode_serial_data(internal_timecode_serial_data) |
|
|
|
.genlock_freq_signal (signal_ext_genlock_freq), |
|
|
|
.genlock_in_state_led(genlock_in_state_led) |
|
|
|
); |
|
|
|
|
|
|
|
internal_genlock_generator #( |
|
|
|
internal_genlock_generator #( |
|
|
|
.REG_START_ADD (`REGADDOFF__INTERNAL_GENLOCK), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) internal_genlock_generator0 ( |
|
|
@ -456,36 +510,34 @@ module Top ( |
|
|
|
.clk_output(signal_internal_clk_sig) |
|
|
|
); |
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
* SYS * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
sys_timecode #( |
|
|
|
.REG_START_ADD (`REGADDOFF__SYS_TIMECODE), |
|
|
|
ttl_input #( |
|
|
|
.REG_START_ADD (`REGADDOFF__TTLIN), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) sys_timecode_ins ( |
|
|
|
) ttl_inputr_ins ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_sys_timecode), |
|
|
|
.rd_data(rd_data_module_ttlin), |
|
|
|
|
|
|
|
.internal_timecode_tigger_sig (internal_timecode_tigger_sig), |
|
|
|
.internal_timecode_format (internal_timecode_format), |
|
|
|
.internal_timecode_data (internal_timecode_data), |
|
|
|
.internal_timecode_serial_data(internal_timecode_serial_data), |
|
|
|
.ttlin1_raw(af_delay__sync_ttl_in1), |
|
|
|
.ttlin2_raw(af_delay__sync_ttl_in2), |
|
|
|
.ttlin3_raw(af_delay__sync_ttl_in3), |
|
|
|
.ttlin4_raw(!af_delay__sync_ttl_in4), //in4电路上进行了反向 |
|
|
|
|
|
|
|
.external_timecode_tigger_sig (ext_timecode_tigger_sig), |
|
|
|
.external_timecode_format (ext_timecode_format), |
|
|
|
.external_timecode_data (ext_timecode_data), |
|
|
|
.external_timecode_serial_data(ext_timecode_serial_data), |
|
|
|
//指示灯 |
|
|
|
.ttlin1_state_led(sync_ttl_in1_state_led), |
|
|
|
.ttlin2_state_led(sync_ttl_in2_state_led), |
|
|
|
.ttlin3_state_led(sync_ttl_in3_state_led), |
|
|
|
.ttlin4_state_led(sync_ttl_in4_state_led), |
|
|
|
|
|
|
|
.sys_timecode_tigger_sig (sys_timecode_tigger_sig), |
|
|
|
.sys_timecode_format (sys_timecode_format), |
|
|
|
.sys_timecode_data (sys_timecode_data), |
|
|
|
.sys_timecode_serial_data(sys_timecode_serial_data) |
|
|
|
//原始信号 |
|
|
|
.sig_ttlin1(signal_ttlin1), |
|
|
|
.sig_ttlin2(signal_ttlin2), |
|
|
|
.sig_ttlin3(signal_ttlin3), |
|
|
|
.sig_ttlin4(signal_ttlin4) |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
@ -506,7 +558,6 @@ module Top ( |
|
|
|
|
|
|
|
.sys_genlock_tigger_sig(signal_sys_genlock_output) |
|
|
|
); |
|
|
|
|
|
|
|
sys_clock #( |
|
|
|
.REG_START_ADD (`REGADDOFF__SYS_CLOCK), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
@ -523,9 +574,33 @@ module Top ( |
|
|
|
.sys_clock(signal_sys_clk_output) |
|
|
|
); |
|
|
|
|
|
|
|
/******************************************************************************* |
|
|
|
* TTL_OUTPUT * |
|
|
|
*******************************************************************************/ |
|
|
|
camera_sync_signal_output #( |
|
|
|
.REG_START_ADD (`REGADDOFF__CAMERA_SYNC_OUT), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) camera_sync_signal_output0 ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_camera_sync_out), |
|
|
|
|
|
|
|
.in_timecode_tigger_sig (sys_timecode_tigger_sig), |
|
|
|
.in_timecode_format (sys_timecode_format), |
|
|
|
.in_timecode_data (sys_timecode_data), |
|
|
|
.in_timecode_serial_data(sys_timecode_serial_data), |
|
|
|
|
|
|
|
.frame_sig (signal_sys_clk_output), |
|
|
|
.record_en_sig(signal_business_record_en_sig), |
|
|
|
|
|
|
|
|
|
|
|
.stm32if_camera_sync_out (before_delay__stm32if_camera_sync_out), |
|
|
|
.stm32if_record_state_change_sig(before_delay__stm32if_start_signal_out), |
|
|
|
.stm32if_timecode_tigger_sig (before_delay__stm32if_timecode_sync_out) |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ttl_output #( |
|
|
|
.REG_START_ADD(`REGADDOFF__TTLOUT1), |
|
|
@ -602,33 +677,7 @@ module Top ( |
|
|
|
.ttloutput_state_led(sync_ttl_out4_state_led) |
|
|
|
); |
|
|
|
|
|
|
|
timecode_output #( |
|
|
|
.REG_START_ADD (`REGADDOFF__TIMECODE_OUT), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) timecode_output_inst ( |
|
|
|
|
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_timecode_out), |
|
|
|
|
|
|
|
.in_timecode_tigger_sig (sys_timecode_tigger_sig), |
|
|
|
.in_timecode_format (sys_timecode_format), |
|
|
|
.in_timecode_data (sys_timecode_data), |
|
|
|
.in_timecode_serial_data(sys_timecode_serial_data), |
|
|
|
|
|
|
|
.timecode_out_bnc (timecode_out_bnc), |
|
|
|
.timecode_out_bnc_select (timecode_out_bnc_select), |
|
|
|
.timecode_out_bnc_state_led(timecode_out_bnc_state_led), |
|
|
|
|
|
|
|
.timecode_out_headphone (timecode_out_headphone), |
|
|
|
.timecode_out_headphone_select (timecode_out_headphone_select), |
|
|
|
.timecode_out_headphone_state_led(timecode_out_headphone_state_led) |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
record_sig_generator #( |
|
|
|
.REG_START_ADD(`REGADDOFF__RECORD_SIG_GENERATOR), |
|
|
@ -648,46 +697,34 @@ module Top ( |
|
|
|
.ttlin3_sig(signal_ttlin3), |
|
|
|
.ttlin4_sig(signal_ttlin4), |
|
|
|
|
|
|
|
.frame_freq_sig (signal_sys_clk_output), |
|
|
|
.frame_freq_sig(signal_sys_clk_output), |
|
|
|
|
|
|
|
.out_record_en_rsing_edge_sig (signal_business_record_en_rsing_edge_sig), |
|
|
|
.out_record_en_falling_edge_sig(signal_business_record_en_falling_edge_sig), |
|
|
|
.out_record_en_edge_sig (signal_business_record_en_edge_sig), |
|
|
|
|
|
|
|
.sys_timecode_tigger_sig(sys_timecode_tigger_sig), |
|
|
|
.sys_timecode_data (sys_timecode_data), |
|
|
|
|
|
|
|
.out_record_en_sig (signal_business_record_en_sig), |
|
|
|
.out_record_exposure_sig(signal_business_record_exposure_sig) |
|
|
|
); |
|
|
|
|
|
|
|
camera_sync_signal_output #( |
|
|
|
.REG_START_ADD (`REGADDOFF__CAMERA_SYNC_OUT), |
|
|
|
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) |
|
|
|
) camera_sync_signal_output0 ( |
|
|
|
.clk (sys_clk), |
|
|
|
.rst_n(sys_rst_n), |
|
|
|
|
|
|
|
.addr (RegReaderBus_addr), |
|
|
|
.wr_data(RegReaderBus_wr_data), |
|
|
|
.wr_en (RegReaderBus_wr_en), |
|
|
|
.rd_data(rd_data_module_camera_sync_out), |
|
|
|
|
|
|
|
.frame_sig (signal_sys_clk_output), |
|
|
|
.record_en_sig(signal_business_record_en_sig), |
|
|
|
|
|
|
|
.stm32if_camera_sync_out (before_delay__stm32if_camera_sync_out), |
|
|
|
.stm32if_record_state_change_sig(before_delay__stm32if_start_signal_out), |
|
|
|
.stm32if_timecode_tigger_sig(before_delay__stm32if_timecode_sync_out) |
|
|
|
); |
|
|
|
|
|
|
|
assign debug_signal_output[0] = sys_clk; |
|
|
|
assign debug_signal_output[1] = sync_ttl_in1; |
|
|
|
assign debug_signal_output[2] = af_delay__sync_ttl_in1; |
|
|
|
assign debug_signal_output[3] = sync_ttl_in3; |
|
|
|
assign debug_signal_output[4] = sync_ttl_in4; |
|
|
|
assign debug_signal_output[5] = sync_ttl_out1; |
|
|
|
assign debug_signal_output[6] = sync_ttl_out2; |
|
|
|
assign debug_signal_output[7] = sync_ttl_out3; |
|
|
|
assign debug_signal_output[8] = sync_ttl_out4; |
|
|
|
assign debug_signal_output[9] = genlock_in_fsync; |
|
|
|
assign debug_signal_output[10] = timecode_headphone_in; |
|
|
|
assign debug_signal_output[11] = timecode_bnc_in; |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assign debug_signal_output[0] = timecode_bnc_in; |
|
|
|
assign debug_signal_output[1] = af_delay__timecode_headphone_in; |
|
|
|
assign debug_signal_output[2] = timecode_headphone_in; |
|
|
|
assign debug_signal_output[3] = sync_ttl_in1; |
|
|
|
assign debug_signal_output[4] = sync_ttl_in1; |
|
|
|
// assign debug_signal_output[5] = af_delay__sync_ttl_in1; |
|
|
|
// assign debug_signal_output[6] = af_delay__sync_ttl_in1; |
|
|
|
// assign debug_signal_output[7] = af_delay__sync_ttl_in1; |
|
|
|
// assign debug_signal_output[8] = af_delay__sync_ttl_in1; |
|
|
|
// assign debug_signal_output[9] = af_delay__genlock_in_vsync; |
|
|
|
// assign debug_signal_output[10] = af_delay__timecode_headphone_in; |
|
|
|
// assign debug_signal_output[11] = af_delay__timecode_bnc_in; |
|
|
|
assign debug_signal_output[12] = timecode_out_headphone; |
|
|
|
assign debug_signal_output[13] = timecode_out_bnc; |
|
|
|
assign debug_signal_output[15] = 0; |
|
|
|