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

📄 reconstruction.v

📁 a H.264/AVC Baseline Decoder
💻 V
📖 第 1 页 / 共 2 页
字号:
//--------------------------------------------------------------------------------------------------// Design    : nova// Author(s) : Ke Xu// Email	   : eexuke@yahoo.com// File      : reconstruction.v// Generated : Jan 3,2006// Copyright (C) 2008 Ke Xu                //-------------------------------------------------------------------------------------------------// Description // reconstruction top module,including://  rec_gclk_gen//  hybrid_pipeline_ctrl//  IQIT//  Intra_pred_top//  sum//  DF_top//  rec_DF_RAM_ctrl//  rec_DF_RAM0//  rec_DF_RAM1//  ext_RAM_ctrl//-------------------------------------------------------------------------------------------------// synopsys translate_off`include "timescale.v"// synopsys translate_on`include "nova_defines.v"module reconstruction (clk,reset_n,mb_type_general,mb_num_h,mb_num_v,NextMB_IsSkip,LowerMB_IsSkip,	slice_data_state,residual_state,cavlc_decoder_state,	end_of_one_residual_block,end_of_NonZeroCoeff_CAVLC,end_of_one_frame,	Intra16x16_predmode,Intra4x4_predmode_CurrMb,Intra_chroma_predmode,	QPy,QPc,i4x4_CbCr,slice_alpha_c0_offset_div2,slice_beta_offset_div2,	CodedBlockPatternLuma,CodedBlockPatternChroma,TotalCoeff,Is_skip_run_entry,	skip_mv_calc,disable_DF,		coeffLevel_0,coeffLevel_1,coeffLevel_2, coeffLevel_3, coeffLevel_4, coeffLevel_5, coeffLevel_6, coeffLevel_7,	coeffLevel_8,coeffLevel_9,coeffLevel_10,coeffLevel_11,coeffLevel_12,coeffLevel_13,coeffLevel_14,coeffLevel_15,	mv_is16x16,mv_below8x8,	mvx_CurrMb0,mvx_CurrMb1,mvx_CurrMb2,mvx_CurrMb3,mvy_CurrMb0,mvy_CurrMb1,mvy_CurrMb2,mvy_CurrMb3,	end_of_BS_DEC,bs_V0,bs_V1,bs_V2,bs_V3,bs_H0,bs_H1,bs_H2,bs_H3,		trigger_CAVLC,blk4x4_rec_counter,end_of_DCBlk_IQIT,end_of_one_blk4x4_sum,	end_of_MB_DEC,gclk_end_of_MB_DEC,curr_DC_IsZero,	ext_frame_RAM0_cs_n,ext_frame_RAM0_wr,ext_frame_RAM0_addr,ext_frame_RAM0_data,	ext_frame_RAM1_cs_n,ext_frame_RAM1_wr,ext_frame_RAM1_addr,ext_frame_RAM1_data,	dis_frame_RAM_din	);	input clk;	input reset_n;	input [3:0] mb_type_general;	input [3:0] mb_num_h;	input [3:0] mb_num_v;	input NextMB_IsSkip;	input LowerMB_IsSkip;	input [3:0] slice_data_state;	input [3:0] residual_state; 	input [3:0] cavlc_decoder_state;	input end_of_one_residual_block;	input end_of_NonZeroCoeff_CAVLC;	input end_of_one_frame;	input [1:0] Intra16x16_predmode;	input [63:0] Intra4x4_predmode_CurrMb;	input [1:0] Intra_chroma_predmode;	input [5:0] QPy;	input [5:0] QPc;	input [1:0] i4x4_CbCr;	input [3:0] slice_alpha_c0_offset_div2;	input [3:0]	slice_beta_offset_div2;	input [3:0] CodedBlockPatternLuma;	input [1:0] CodedBlockPatternChroma;	input [4:0] TotalCoeff;	input Is_skip_run_entry;	input skip_mv_calc;	input disable_DF;	input [8:0] coeffLevel_0, coeffLevel_1, coeffLevel_2,coeffLevel_3, coeffLevel_4, coeffLevel_5; 	input [8:0] coeffLevel_6, coeffLevel_7, coeffLevel_8, coeffLevel_9,coeffLevel_10,coeffLevel_11;	input [8:0] coeffLevel_12,coeffLevel_13,coeffLevel_14,coeffLevel_15;	input mv_is16x16;	input [3:0] mv_below8x8;	input [31:0] mvx_CurrMb0,mvx_CurrMb1,mvx_CurrMb2,mvx_CurrMb3;	input [31:0] mvy_CurrMb0,mvy_CurrMb1,mvy_CurrMb2,mvy_CurrMb3;	input end_of_BS_DEC;	input [11:0] bs_V0,bs_V1,bs_V2,bs_V3;	input [11:0] bs_H0,bs_H1,bs_H2,bs_H3;	input [31:0] ext_frame_RAM0_data;	input [31:0] ext_frame_RAM1_data;		output trigger_CAVLC; 	output [4:0] blk4x4_rec_counter;	output end_of_DCBlk_IQIT;	output end_of_one_blk4x4_sum; 	output end_of_MB_DEC;	output gclk_end_of_MB_DEC;	output curr_DC_IsZero;		output ext_frame_RAM0_cs_n;	output ext_frame_RAM0_wr;	output [13:0] ext_frame_RAM0_addr;		output ext_frame_RAM1_cs_n;	output ext_frame_RAM1_wr;	output [13:0] ext_frame_RAM1_addr;		output [31:0] dis_frame_RAM_din;		wire gclk_endof1resblk;	wire gclk_1D;	wire gclk_2D;	wire gclk_rescale;	wire gclk_rounding;	wire gclk_intra_mbAddrA_luma;	wire gclk_intra_mbAddrA_Cb;	wire gclk_intra_mbAddrA_Cr;	wire gclk_intra_mbAddrB;	wire gclk_intra_mbAddrC_luma;	wire gclk_intra_mbAddrD;	wire gclk_seed;	wire gclk_Inter_ref_rf;	wire gclk_pred_output;	wire gclk_blk4x4_sum;	wire gclk_DF;	wire gclk_end_of_MB_DEC;	wire curr_CBPLuma_IsZero;	wire curr_DC_IsZero;	wire end_of_ACBlk4x4_IQIT;	wire end_of_one_blk4x4_intra;	wire end_of_one_blk4x4_inter;	wire end_of_one_blk4x4_sum;	wire end_of_MB_DF;	wire end_of_MB_DEC;	wire trigger_blk4x4_intra_pred;	wire trigger_blk4x4_inter_pred;	wire trigger_blk4x4_rec_sum;	wire [15:0] res_luma_DConly;	wire res_chroma_DConly;	wire res_AC;	wire res_DC;	wire res_luma;	wire [2:0] OneD_counter;	wire [2:0] TwoD_counter;	wire [2:0] rescale_counter;	wire [2:0] rounding_counter;	wire [2:0] blk4x4_intra_preload_counter;	wire [3:0] blk4x4_intra_precompute_counter;	wire [2:0] blk4x4_intra_calculate_counter;	wire [5:0] blk4x4_inter_preload_counter;	wire [3:0] blk4x4_inter_calculate_counter;	wire [1:0] Inter_chroma2x2_counter;	wire [4:0] blk4x4_rec_counter;	wire [2:0] blk4x4_sum_counter;	wire [4:0] blk4x4_rec_counter_2_raster_order;	wire [5:0] DF_edge_counter_MR;	wire [1:0] one_edge_counter_MR;	wire [1:0] Inter_blk4x4_pred_output_valid;	wire mv_below8x8_curr;	wire [3:0] pos_FracL;		wire [3:0] Intra4x4_predmode;		wire [8:0] IQIT_output_0, IQIT_output_1, IQIT_output_2, IQIT_output_3;	wire [8:0] IQIT_output_4, IQIT_output_5, IQIT_output_6, IQIT_output_7;	wire [8:0] IQIT_output_8, IQIT_output_9, IQIT_output_10,IQIT_output_11;	wire [8:0] IQIT_output_12,IQIT_output_13,IQIT_output_14,IQIT_output_15;	wire [7:0] Intra_pred_PE0_out,Intra_pred_PE1_out,Intra_pred_PE2_out,Intra_pred_PE3_out;	wire [7:0] Inter_pred_out0,Inter_pred_out1,Inter_pred_out2,Inter_pred_out3;	wire [7:0] blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out;	wire [7:0] blk4x4_pred_output0, blk4x4_pred_output1, blk4x4_pred_output2;	wire [7:0] blk4x4_pred_output4, blk4x4_pred_output5, blk4x4_pred_output6;	wire [7:0] blk4x4_pred_output8, blk4x4_pred_output9, blk4x4_pred_output10;	wire [7:0] blk4x4_pred_output12,blk4x4_pred_output13,blk4x4_pred_output14;	wire [8:0] curr_DC_scaled;	wire [23:0] sum_right_column_reg;		wire DF_duration;	wire gclk_Intra_mbAddrB_RAM;	wire Intra_mbAddrB_RAM_rd;	wire Intra_mbAddrB_RAM_wr;	wire [6:0] Intra_mbAddrB_RAM_rd_addr,Intra_mbAddrB_RAM_wr_addr;	wire [31:0] Intra_mbAddrB_RAM_din;	wire [31:0] Intra_mbAddrB_RAM_dout;	wire gclk_DF_mbAddrA_RF;	wire DF_mbAddrA_RF_rd;	wire DF_mbAddrA_RF_wr;	wire [4:0] DF_mbAddrA_RF_rd_addr;	wire [4:0] DF_mbAddrA_RF_wr_addr;	wire [31:0] DF_mbAddrA_RF_din;	wire [31:0] DF_mbAddrA_RF_dout;	wire gclk_DF_mbAddrB_RAM;	wire DF_mbAddrB_RAM_rd,DF_mbAddrB_RAM_wr;	wire [8:0] DF_mbAddrB_RAM_addr;	wire [31:0] DF_mbAddrB_RAM_din;	wire [31:0] DF_mbAddrB_RAM_dout;	wire gclk_rec_DF_RAM0,gclk_rec_DF_RAM1;	wire [31:0] rec_DF_RAM_dout;	wire rec_DF_RAM0_wr,rec_DF_RAM1_wr;	wire rec_DF_RAM0_rd,rec_DF_RAM1_rd;	wire [6:0] rec_DF_RAM0_addr,rec_DF_RAM1_addr;	wire [31:0] rec_DF_RAM0_din,rec_DF_RAM1_din;	wire [31:0] rec_DF_RAM0_dout,rec_DF_RAM1_dout;	wire dis_frame_RAM_wr;	wire [13:0] dis_frame_RAM_wr_addr;	wire [31:0] dis_frame_RAM_din;	wire ref_frame_RAM_rd;	wire [13:0] ref_frame_RAM_rd_addr;	wire [31:0] ref_frame_RAM_dout;			rec_gclk_gen rec_gclk_gen (		.clk(clk),		.end_of_NonZeroCoeff_CAVLC(end_of_NonZeroCoeff_CAVLC),		.OneD_counter(OneD_counter),		.TwoD_counter(TwoD_counter),		.rescale_counter(rescale_counter),		.rounding_counter(rounding_counter),		.residual_state(residual_state),		.cavlc_decoder_state(cavlc_decoder_state),		.gclk_1D(gclk_1D),		.gclk_2D(gclk_2D),		.gclk_rescale(gclk_rescale),		.gclk_rounding(gclk_rounding),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.NextMB_IsSkip(NextMB_IsSkip),		.mb_type_general(mb_type_general),		.blk4x4_rec_counter(blk4x4_rec_counter),		.blk4x4_sum_counter(blk4x4_sum_counter),		.blk4x4_intra_preload_counter(blk4x4_intra_preload_counter),		.blk4x4_intra_precompute_counter(blk4x4_intra_precompute_counter),		.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),		.Intra4x4_predmode(Intra4x4_predmode),		.Intra16x16_predmode(Intra16x16_predmode),		.Intra_chroma_predmode(Intra_chroma_predmode),		.gclk_intra_mbAddrA_luma(gclk_intra_mbAddrA_luma),		.gclk_intra_mbAddrA_Cb(gclk_intra_mbAddrA_Cb),		.gclk_intra_mbAddrA_Cr(gclk_intra_mbAddrA_Cr),		.gclk_intra_mbAddrB(gclk_intra_mbAddrB),		.gclk_intra_mbAddrC_luma(gclk_intra_mbAddrC_luma),		.gclk_intra_mbAddrD(gclk_intra_mbAddrD),		.gclk_seed(gclk_seed),		.blk4x4_inter_preload_counter(blk4x4_inter_preload_counter),		.gclk_Inter_ref_rf(gclk_Inter_ref_rf),		.Inter_blk4x4_pred_output_valid(Inter_blk4x4_pred_output_valid),		.gclk_pred_output(gclk_pred_output),		.gclk_blk4x4_sum(gclk_blk4x4_sum),		.end_of_MB_DEC(end_of_MB_DEC),		.end_of_BS_DEC(end_of_BS_DEC),		.DF_duration(DF_duration),		.gclk_end_of_MB_DEC(gclk_end_of_MB_DEC),		.gclk_DF(gclk_DF),		.Intra_mbAddrB_RAM_rd(Intra_mbAddrB_RAM_rd),		.Intra_mbAddrB_RAM_wr(Intra_mbAddrB_RAM_wr),		.gclk_Intra_mbAddrB_RAM(gclk_Intra_mbAddrB_RAM),		.rec_DF_RAM0_cs_n(rec_DF_RAM0_cs_n),		.gclk_rec_DF_RAM0(gclk_rec_DF_RAM0),		.rec_DF_RAM1_cs_n(rec_DF_RAM1_cs_n),		.gclk_rec_DF_RAM1(gclk_rec_DF_RAM1),		.DF_mbAddrA_RF_rd(DF_mbAddrA_RF_rd),		.DF_mbAddrA_RF_wr(DF_mbAddrA_RF_wr),		.gclk_DF_mbAddrA_RF(gclk_DF_mbAddrA_RF),		.DF_mbAddrB_RAM_rd(DF_mbAddrB_RAM_rd),		.DF_mbAddrB_RAM_wr(DF_mbAddrB_RAM_wr),		.gclk_DF_mbAddrB_RAM(gclk_DF_mbAddrB_RAM)		);	hybrid_pipeline_ctrl hybrid_pipeline_ctrl (		.clk(clk),		.reset_n(reset_n),		.mb_num_h(mb_num_h),		.mb_num_v(mb_num_v),		.blk4x4_rec_counter(blk4x4_rec_counter),		.CodedBlockPatternLuma(CodedBlockPatternLuma),		.CodedBlockPatternChroma(CodedBlockPatternChroma),		.mb_type_general(mb_type_general),		.slice_data_state(slice_data_state),		.residual_state(residual_state),		.TotalCoeff(TotalCoeff),		.Is_skip_run_entry(Is_skip_run_entry),		.skip_mv_calc(skip_mv_calc),		.end_of_one_residual_block(end_of_one_residual_block),		.end_of_DCBlk_IQIT(end_of_DCBlk_IQIT),		.end_of_ACBlk4x4_IQIT(end_of_ACBlk4x4_IQIT),		.end_of_one_blk4x4_intra(end_of_one_blk4x4_intra),		.end_of_one_blk4x4_inter(end_of_one_blk4x4_inter),		.end_of_one_blk4x4_sum(end_of_one_blk4x4_sum),		.end_of_MB_DF(end_of_MB_DF),		.disable_DF(disable_DF),				.curr_CBPLuma_IsZero(curr_CBPLuma_IsZero),		.end_of_MB_DEC(end_of_MB_DEC),		.trigger_CAVLC(trigger_CAVLC),		.trigger_blk4x4_intra_pred(trigger_blk4x4_intra_pred),		.trigger_blk4x4_inter_pred(trigger_blk4x4_inter_pred),		.trigger_blk4x4_rec_sum(trigger_blk4x4_rec_sum)		);	IQIT IQIT (		.clk(clk),		.reset_n(reset_n),		.TotalCoeff(TotalCoeff),		.blk4x4_rec_counter(blk4x4_rec_counter),		.gclk_1D(gclk_1D),		.gclk_2D(gclk_2D),		.gclk_rescale(gclk_rescale),		.gclk_rounding(gclk_rounding),		.residual_state(residual_state),		.cavlc_decoder_state(cavlc_decoder_state),		.end_of_one_residual_block(end_of_one_residual_block),		.end_of_NonZeroCoeff_CAVLC(end_of_NonZeroCoeff_CAVLC),		.QPy(QPy),		.QPc(QPc),		.i4x4_CbCr(i4x4_CbCr),		.coeffLevel_ext_0({{7{coeffLevel_0[8]}},coeffLevel_0}),		.coeffLevel_ext_1({{7{coeffLevel_1[8]}},coeffLevel_1}),		.coeffLevel_ext_2({{7{coeffLevel_2[8]}},coeffLevel_2}),		.coeffLevel_ext_3({{7{coeffLevel_3[8]}},coeffLevel_3}),

⌨️ 快捷键说明

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