⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitstream_controller.v

📁 H.264标准解码器全部verilog源码
💻 V
📖 第 1 页 / 共 2 页
字号:
		.i_run(i_run),		.i_TotalCoeff(i_TotalCoeff),		.suffix_length_initialized(suffix_length_initialized),		.IsRunLoop(IsRunLoop)		);		pc_decoding pc_decoding (		.clk(clk),		.reset_n(reset_n),		.parser_state(parser_state),		.nal_unit_state(nal_unit_state),		.slice_header_state(slice_header_state),		.ref_pic_list_reordering_state(ref_pic_list_reordering_state),		.dec_ref_pic_marking_state(dec_ref_pic_marking_state),		.slice_data_state(slice_data_state),		.sub_mb_pred_state(sub_mb_pred_state),		.mb_pred_state(mb_pred_state),		.seq_parameter_set_state(seq_parameter_set_state),		.pic_parameter_set_state(pic_parameter_set_state),		.exp_golomb_len(exp_golomb_len),		.dependent_variable_len(dependent_variable_len),		.cavlc_consumed_bits_len(cavlc_consumed_bits_len),		.pc(pc)		);	heading_one_detector heading_one_detector (		.heading_one_en(heading_one_en),		.BitStream_buffer_output(BitStream_buffer_output),		.heading_one_pos(heading_one_pos)		);	exp_golomb_decoding exp_golomb_decoding (		.reset_n(reset_n),		.heading_one_pos(heading_one_pos),		.BitStream_buffer_output(BitStream_buffer_output),		.num_ref_idx_l0_active_minus1(num_ref_idx_l0_active_minus1),		.exp_golomb_decoding_output(exp_golomb_decoding_output),		.exp_golomb_len(exp_golomb_len),		.slice_header_state(slice_header_state),		.slice_data_state(slice_data_state),		.mb_pred_state(mb_pred_state),		.sub_mb_pred_state(sub_mb_pred_state), 		.seq_parameter_set_state(seq_parameter_set_state),		.pic_parameter_set_state(pic_parameter_set_state)		);	dependent_variable_decoding dependent_variable_decoding (		.slice_header_state(slice_header_state),		.log2_max_frame_num_minus4(log2_max_frame_num_minus4),		.log2_max_pic_order_cnt_lsb_minus4(log2_max_pic_order_cnt_lsb_minus4),		.BitStream_buffer_output(BitStream_buffer_output),		.dependent_variable_len(dependent_variable_len),		.dependent_variable_decoding_output(dependent_variable_decoding_output)		);	QP_decoding QP_decoding (		.clk(clk),		.reset_n(reset_n),		.slice_header_state(slice_header_state),		.slice_data_state(slice_data_state),		.pic_init_qp_minus26(pic_init_qp_minus26),		.exp_golomb_decoding_output_5to0(exp_golomb_decoding_output[5:0]),		.chroma_qp_index_offset(chroma_qp_index_offset),		.QPy(QPy),		.QPc(QPc)		);	CodedBlockPattern_decoding CodedBlockPattern_decoding (		.clk(clk),		.reset_n(reset_n),		.slice_data_state(slice_data_state),		.slice_type(slice_type),		.mb_type(mb_type),		.mb_type_general(mb_type_general),		.exp_golomb_decoding_output_5to0(exp_golomb_decoding_output[5:0]),		.CodedBlockPatternLuma(CodedBlockPatternLuma),		.CodedBlockPatternChroma(CodedBlockPatternChroma)		);	Intra4x4_PredMode_decoding Intra4x4_PredMode_decoding (		.clk(clk),		.reset_n(reset_n),		.mb_pred_state(mb_pred_state),		.luma4x4BlkIdx(luma4x4BlkIdx),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.MBTypeGen_mbAddrA(MBTypeGen_mbAddrA),		.MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg),		.constrained_intra_pred_flag(constrained_intra_pred_flag),		.rem_intra4x4_pred_mode(rem_intra4x4_pred_mode),		.prev_intra4x4_pred_mode_flag(prev_intra4x4_pred_mode_flag),		.Intra4x4PredMode_mbAddrB_dout(Intra4x4PredMode_mbAddrB_dout),		//pic_num can be wired out for debug purpose		//.pic_num(pic_num),				.Intra4x4PredMode_CurrMb(Intra4x4_predmode_CurrMb),		.Intra4x4PredMode_mbAddrB_cs_n(Intra4x4PredMode_mbAddrB_cs_n),		.Intra4x4PredMode_mbAddrB_wr_n(Intra4x4PredMode_mbAddrB_wr_n),		.Intra4x4PredMode_mbAddrB_rd_addr(Intra4x4PredMode_mbAddrB_rd_addr),		.Intra4x4PredMode_mbAddrB_wr_addr(Intra4x4PredMode_mbAddrB_wr_addr),		.Intra4x4PredMode_mbAddrB_din(Intra4x4PredMode_mbAddrB_din)		);	ram_async_1r_sync_1w # (`Intra4x4_PredMode_RF_data_width,`Intra4x4_PredMode_RF_data_depth)	Intra4x4_PredMode_RF (		.clk(gclk_Intra4x4PredMode_mbAddrB_RF),		.rst_n(reset_n),		.cs_n(Intra4x4PredMode_mbAddrB_cs_n),		.wr_n(Intra4x4PredMode_mbAddrB_wr_n),		.rd_addr(Intra4x4PredMode_mbAddrB_rd_addr),		.wr_addr(Intra4x4PredMode_mbAddrB_wr_addr),		.data_in(Intra4x4PredMode_mbAddrB_din),		.data_out(Intra4x4PredMode_mbAddrB_dout)		);	Inter_mv_decoding Inter_mv_decoding (		.clk(clk),		.reset_n(reset_n),		.Is_skip_run_entry(Is_skip_run_entry),		.Is_skip_run_end(Is_skip_run_end),		.slice_data_state(slice_data_state),		.mb_pred_state(mb_pred_state),		.sub_mb_pred_state(sub_mb_pred_state),		.mvd(mvd),		.mb_num(mb_num),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.mb_type_general(mb_type_general),		.sub_mb_type(sub_mb_type),		.end_of_MB_DEC(end_of_MB_DEC),		.mbPartIdx(mbPartIdx),		.subMbPartIdx(subMbPartIdx),		.compIdx(compIdx),		.MBTypeGen_mbAddrA(MBTypeGen_mbAddrA),		.MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg),		.MBTypeGen_mbAddrD(MBTypeGen_mbAddrD),		.mvx_mbAddrB_dout(mvx_mbAddrB_dout),		.mvy_mbAddrB_dout(mvy_mbAddrB_dout),		.mvx_mbAddrC_dout(mvx_mbAddrC_dout),		.mvy_mbAddrC_dout(mvy_mbAddrC_dout),		.mv_mbAddrB_rd_for_DF(mv_mbAddrB_rd_for_DF),				.skip_mv_calc(skip_mv_calc),		.Is_skipMB_mv_calc(Is_skipMB_mv_calc),		.mvx_mbAddrA(mvx_mbAddrA),		.mvy_mbAddrA(mvy_mbAddrA),		.mvx_mbAddrB_cs_n(mvx_mbAddrB_cs_n),		.mvx_mbAddrB_wr_n(mvx_mbAddrB_wr_n),		.mvx_mbAddrB_rd_addr(mvx_mbAddrB_rd_addr),		.mvx_mbAddrB_wr_addr(mvx_mbAddrB_wr_addr),		.mvx_mbAddrB_din(mvx_mbAddrB_din),		.mvy_mbAddrB_cs_n(mvy_mbAddrB_cs_n),		.mvy_mbAddrB_wr_n(mvy_mbAddrB_wr_n),		.mvy_mbAddrB_rd_addr(mvy_mbAddrB_rd_addr),		.mvy_mbAddrB_wr_addr(mvy_mbAddrB_wr_addr),		.mvy_mbAddrB_din(mvy_mbAddrB_din),		.mvx_mbAddrC_cs_n(mvx_mbAddrC_cs_n),		.mvx_mbAddrC_wr_n(mvx_mbAddrC_wr_n),		.mvx_mbAddrC_rd_addr(mvx_mbAddrC_rd_addr),		.mvx_mbAddrC_wr_addr(mvx_mbAddrC_wr_addr),		.mvx_mbAddrC_din(mvx_mbAddrC_din),		.mvy_mbAddrC_cs_n(mvy_mbAddrC_cs_n),		.mvy_mbAddrC_wr_n(mvy_mbAddrC_wr_n),		.mvy_mbAddrC_rd_addr(mvy_mbAddrC_rd_addr),		.mvy_mbAddrC_wr_addr(mvy_mbAddrC_wr_addr),		.mvy_mbAddrC_din(mvy_mbAddrC_din),		.mv_is16x16(mv_is16x16),		.mvx_CurrMb0(mvx_CurrMb0),		.mvx_CurrMb1(mvx_CurrMb1),		.mvx_CurrMb2(mvx_CurrMb2),		.mvx_CurrMb3(mvx_CurrMb3),		.mvy_CurrMb0(mvy_CurrMb0),		.mvy_CurrMb1(mvy_CurrMb1),		.mvy_CurrMb2(mvy_CurrMb2),		.mvy_CurrMb3(mvy_CurrMb3)		);	ram_async_1r_sync_1w # (`mvx_mbAddrB_RF_data_width,`mvx_mbAddrB_RF_data_depth)	mvx_mbAddrB_RF (		.clk(gclk_mvx_mbAddrB_RF), 		.rst_n(reset_n), 		.cs_n(mvx_mbAddrB_cs_n),		.wr_n(mvx_mbAddrB_wr_n),		.rd_addr(mvx_mbAddrB_rd_addr),		.wr_addr(mvx_mbAddrB_wr_addr),		.data_in(mvx_mbAddrB_din),		.data_out(mvx_mbAddrB_dout)		);	ram_async_1r_sync_1w # (`mvy_mbAddrB_RF_data_width,`mvy_mbAddrB_RF_data_depth)	mvy_mbAddrB_RF (		.clk(gclk_mvy_mbAddrB_RF),		.rst_n(reset_n),		.cs_n(mvy_mbAddrB_cs_n), 		.wr_n(mvy_mbAddrB_wr_n),		.rd_addr(mvy_mbAddrB_rd_addr),		.wr_addr(mvy_mbAddrB_wr_addr),		.data_in(mvy_mbAddrB_din),		.data_out(mvy_mbAddrB_dout)		);	ram_async_1r_sync_1w # (`mvx_mbAddrC_RF_data_width,`mvx_mbAddrC_RF_data_depth)	mvx_mbAddrC_RF (		.clk(gclk_mvx_mbAddrC_RF),		.rst_n(reset_n),		.cs_n(mvx_mbAddrC_cs_n),		.wr_n(mvx_mbAddrC_wr_n),		.rd_addr(mvx_mbAddrC_rd_addr),		.wr_addr(mvx_mbAddrC_wr_addr),		.data_in(mvx_mbAddrC_din),		.data_out(mvx_mbAddrC_dout)		);	ram_async_1r_sync_1w # (`mvy_mbAddrC_RF_data_width,`mvy_mbAddrC_RF_data_depth)	mvy_mbAddrC_RF (		.clk(gclk_mvy_mbAddrC_RF),		.rst_n(reset_n),		.cs_n(mvy_mbAddrC_cs_n),		.wr_n(mvy_mbAddrC_wr_n),		.rd_addr(mvy_mbAddrC_rd_addr),		.wr_addr(mvy_mbAddrC_wr_addr),		.data_in(mvy_mbAddrC_din),		.data_out(mvy_mbAddrC_dout)		);	syntax_decoding syntax_decoding (		.clk(clk),		.reset_n(reset_n),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.end_of_MB_DEC(end_of_MB_DEC),		.pin_disable_DF(pin_disable_DF),		.parser_state(parser_state),		.nal_unit_state(nal_unit_state),		.seq_parameter_set_state(seq_parameter_set_state),		.pic_parameter_set_state(pic_parameter_set_state),		.slice_header_state(slice_header_state),		.slice_data_state(slice_data_state),		.mb_pred_state(mb_pred_state),		.sub_mb_pred_state(sub_mb_pred_state),		.exp_golomb_decoding_output(exp_golomb_decoding_output),		.BitStream_buffer_output(BitStream_buffer_output),		.dependent_variable_decoding_output(dependent_variable_decoding_output),		.mbPartIdx(mbPartIdx),				.nal_unit_type(nal_unit_type),		.start_code_prefix_found(start_code_prefix_found),		.deblocking_filter_control_present_flag(deblocking_filter_control_present_flag),		.disable_deblocking_filter_idc(disable_deblocking_filter_idc),		.disable_DF(disable_DF),		.slice_alpha_c0_offset_div2(slice_alpha_c0_offset_div2),		.slice_beta_offset_div2(slice_beta_offset_div2),		.mb_skip_run(mb_skip_run),		.NumMbPart(NumMbPart),		.NumSubMbPart(NumSubMbPart),		.MBTypeGen_mbAddrA(MBTypeGen_mbAddrA),		.MBTypeGen_mbAddrD(MBTypeGen_mbAddrD),		.MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg),		.log2_max_frame_num_minus4(log2_max_frame_num_minus4),		.log2_max_pic_order_cnt_lsb_minus4(log2_max_pic_order_cnt_lsb_minus4),		.constrained_intra_pred_flag(constrained_intra_pred_flag),		.num_ref_idx_active_override_flag(num_ref_idx_active_override_flag),		.num_ref_idx_l0_active_minus1(num_ref_idx_l0_active_minus1),		.slice_type(slice_type),		.mb_type(mb_type),		.mb_type_general(mb_type_general),		.Intra16x16_predmode(Intra16x16_predmode),		.intra_chroma_pred_mode(Intra_chroma_predmode),		.sub_mb_type(sub_mb_type),		.pic_init_qp_minus26(pic_init_qp_minus26),		.chroma_qp_index_offset(chroma_qp_index_offset),		.rem_intra4x4_pred_mode(rem_intra4x4_pred_mode),		.prev_intra4x4_pred_mode_flag(prev_intra4x4_pred_mode_flag),		.mvd(mvd),		.mv_below8x8(mv_below8x8)		);	cavlc_decoder cavlc_decoder(		.clk(clk),		.reset_n(reset_n),		.gclk_end_of_MB_DEC(gclk_end_of_MB_DEC),		.gclk_LumaLevel_mbAddrB_RF(gclk_LumaLevel_mbAddrB_RF),		.gclk_ChromaLevel_Cb_mbAddrB_RF(gclk_ChromaLevel_Cb_mbAddrB_RF),		.gclk_ChromaLevel_Cr_mbAddrB_RF(gclk_ChromaLevel_Cr_mbAddrB_RF),		.slice_data_state(slice_data_state),		.residual_state(residual_state),		.cavlc_decoder_state(cavlc_decoder_state),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.i8x8(i8x8),		.i4x4(i4x4),		.i4x4_CbCr(i4x4_CbCr),		.i_level(i_level),		.i_run(i_run),		.i_TotalCoeff(i_TotalCoeff),		.coeffNum(coeffNum),		.heading_one_pos(heading_one_pos),		.BitStream_buffer_output(BitStream_buffer_output),		.CodedBlockPatternLuma(CodedBlockPatternLuma),		.CodedBlockPatternChroma(CodedBlockPatternChroma),		.suffix_length_initialized(suffix_length_initialized),		.IsRunLoop(IsRunLoop),				.Luma_8x8_AllZeroCoeff_mbAddrA(Luma_8x8_AllZeroCoeff_mbAddrA),		.LumaLevel_mbAddrA(LumaLevel_mbAddrA),		.LumaLevel_CurrMb0(LumaLevel_CurrMb0),		.LumaLevel_CurrMb1(LumaLevel_CurrMb1),		.LumaLevel_CurrMb2(LumaLevel_CurrMb2),		.LumaLevel_CurrMb3(LumaLevel_CurrMb3),		.LumaLevel_mbAddrB_dout(LumaLevel_mbAddrB_dout),		.LumaLevel_mbAddrB_cs_n(LumaLevel_mbAddrB_cs_n),		.ChromaLevel_Cb_mbAddrB_cs_n(ChromaLevel_Cb_mbAddrB_cs_n),		.ChromaLevel_Cr_mbAddrB_cs_n(ChromaLevel_Cr_mbAddrB_cs_n),		.end_of_one_residual_block(end_of_one_residual_block),		.end_of_NonZeroCoeff_CAVLC(end_of_NonZeroCoeff_CAVLC),		.cavlc_consumed_bits_len(cavlc_consumed_bits_len),		.TotalCoeff(TotalCoeff),		.TrailingOnes(TrailingOnes),		.maxNumCoeff(maxNumCoeff),		.zerosLeft(zerosLeft),		.run(run),		.coeffLevel_0(coeffLevel_0),		.coeffLevel_1(coeffLevel_1),		.coeffLevel_2(coeffLevel_2),		.coeffLevel_3(coeffLevel_3), 		.coeffLevel_4(coeffLevel_4), 		.coeffLevel_5(coeffLevel_5),		.coeffLevel_6(coeffLevel_6), 		.coeffLevel_7(coeffLevel_7),		.coeffLevel_8(coeffLevel_8),		.coeffLevel_9(coeffLevel_9),		.coeffLevel_10(coeffLevel_10),		.coeffLevel_11(coeffLevel_11),		.coeffLevel_12(coeffLevel_12),		.coeffLevel_13(coeffLevel_13),		.coeffLevel_14(coeffLevel_14),		.coeffLevel_15(coeffLevel_15)		);	bs_decoding bs_decoding (		.clk(clk),		.reset_n(reset_n),		.gclk_end_of_MB_DEC(gclk_end_of_MB_DEC),		.gclk_bs_dec(gclk_bs_dec),		.end_of_MB_DEC(end_of_MB_DEC),		.end_of_one_blk4x4_sum(end_of_one_blk4x4_sum),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.disable_DF(disable_DF),		.blk4x4_rec_counter(blk4x4_rec_counter),		.CodedBlockPatternLuma(CodedBlockPatternLuma),		.mb_type_general(mb_type_general),		.slice_data_state(slice_data_state),		.residual_state(residual_state),		.MBTypeGen_mbAddrA(MBTypeGen_mbAddrA),		.MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg),		.end_of_one_residual_block(end_of_one_residual_block),		.TotalCoeff(TotalCoeff),		.curr_DC_IsZero(curr_DC_IsZero),		.Is_skipMB_mv_calc(Is_skipMB_mv_calc),		.mvx_mbAddrA(mvx_mbAddrA),		.mvy_mbAddrA(mvy_mbAddrA),		.mvx_mbAddrB_dout(mvx_mbAddrB_dout),		.mvy_mbAddrB_dout(mvy_mbAddrB_dout),		.mvx_CurrMb0(mvx_CurrMb0),		.mvx_CurrMb1(mvx_CurrMb1),		.mvx_CurrMb2(mvx_CurrMb2),		.mvx_CurrMb3(mvx_CurrMb3),		.mvy_CurrMb0(mvy_CurrMb0),		.mvy_CurrMb1(mvy_CurrMb1),		.mvy_CurrMb2(mvy_CurrMb2),		.mvy_CurrMb3(mvy_CurrMb3),				.bs_dec_counter(bs_dec_counter),		.end_of_BS_DEC(end_of_BS_DEC),		.mv_mbAddrB_rd_for_DF(mv_mbAddrB_rd_for_DF),		.bs_V0(bs_V0),		.bs_V1(bs_V1),		.bs_V2(bs_V2),		.bs_V3(bs_V3),		.bs_H0(bs_H0),		.bs_H1(bs_H1),		.bs_H2(bs_H2),		.bs_H3(bs_H3)		);endmodule		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -