//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
// Design : nova
|
// Design : nova
|
// Author(s) : Ke Xu
|
// Author(s) : Ke Xu
|
// Email : eexuke@yahoo.com
|
// Email : eexuke@yahoo.com
|
// File : Intra_pred_top.v
|
// File : Intra_pred_top.v
|
// Generated : Sep 30,2005
|
// Generated : Sep 30,2005
|
// Copyright (C) 2008 Ke Xu
|
// Copyright (C) 2008 Ke Xu
|
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
// Description
|
// Description
|
// Top module of Intra prediction
|
// Top module of Intra prediction
|
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
|
|
// synopsys translate_off
|
// synopsys translate_off
|
`include "timescale.v"
|
`include "timescale.v"
|
// synopsys translate_on
|
// synopsys translate_on
|
`include "nova_defines.v"
|
`include "nova_defines.v"
|
|
|
module Intra_pred_top (clk,reset_n,
|
module Intra_pred_top (clk,reset_n,
|
gclk_intra_mbAddrA_luma,gclk_intra_mbAddrA_Cb,gclk_intra_mbAddrA_Cr,gclk_intra_mbAddrB,
|
gclk_intra_mbAddrA_luma,gclk_intra_mbAddrA_Cb,gclk_intra_mbAddrA_Cr,gclk_intra_mbAddrB,
|
gclk_intra_mbAddrC_luma,gclk_intra_mbAddrD,gclk_seed,gclk_Intra_mbAddrB_RAM,
|
gclk_intra_mbAddrC_luma,gclk_intra_mbAddrD,gclk_seed,gclk_Intra_mbAddrB_RAM,
|
mb_num_h,mb_num_v,mb_type_general,NextMB_IsSkip,
|
mb_num_h,mb_num_v,mb_type_general,NextMB_IsSkip,
|
Intra16x16_predmode,Intra4x4_predmode_CurrMb,Intra_chroma_predmode,
|
Intra16x16_predmode,Intra4x4_predmode_CurrMb,Intra_chroma_predmode,
|
blk4x4_rec_counter,trigger_blk4x4_intra_pred,blk4x4_sum_counter,
|
blk4x4_rec_counter,trigger_blk4x4_intra_pred,blk4x4_sum_counter,
|
sum_right_column_reg,blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out,
|
sum_right_column_reg,blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out,
|
blk4x4_pred_output0, blk4x4_pred_output1, blk4x4_pred_output2,
|
blk4x4_pred_output0, blk4x4_pred_output1, blk4x4_pred_output2,
|
blk4x4_pred_output4, blk4x4_pred_output5, blk4x4_pred_output6,
|
blk4x4_pred_output4, blk4x4_pred_output5, blk4x4_pred_output6,
|
blk4x4_pred_output8, blk4x4_pred_output9, blk4x4_pred_output10,
|
blk4x4_pred_output8, blk4x4_pred_output9, blk4x4_pred_output10,
|
blk4x4_pred_output12,blk4x4_pred_output13,blk4x4_pred_output14,
|
blk4x4_pred_output12,blk4x4_pred_output13,blk4x4_pred_output14,
|
Intra_mbAddrB_RAM_wr,Intra_mbAddrB_RAM_wr_addr,Intra_mbAddrB_RAM_din,
|
Intra_mbAddrB_RAM_wr,Intra_mbAddrB_RAM_wr_addr,Intra_mbAddrB_RAM_din,
|
|
|
PE0_out,PE1_out,PE2_out,PE3_out,Intra4x4_predmode,
|
PE0_out,PE1_out,PE2_out,PE3_out,Intra4x4_predmode,
|
blk4x4_intra_preload_counter,blk4x4_intra_precompute_counter,blk4x4_intra_calculate_counter,
|
blk4x4_intra_preload_counter,blk4x4_intra_precompute_counter,blk4x4_intra_calculate_counter,
|
end_of_one_blk4x4_intra,Intra_mbAddrB_RAM_rd
|
end_of_one_blk4x4_intra,Intra_mbAddrB_RAM_rd
|
);
|
);
|
input clk,reset_n;
|
input clk,reset_n;
|
input gclk_intra_mbAddrA_luma;
|
input gclk_intra_mbAddrA_luma;
|
input gclk_intra_mbAddrA_Cb;
|
input gclk_intra_mbAddrA_Cb;
|
input gclk_intra_mbAddrA_Cr;
|
input gclk_intra_mbAddrA_Cr;
|
input gclk_intra_mbAddrB;
|
input gclk_intra_mbAddrB;
|
input gclk_intra_mbAddrC_luma;
|
input gclk_intra_mbAddrC_luma;
|
input gclk_intra_mbAddrD;
|
input gclk_intra_mbAddrD;
|
input gclk_seed;
|
input gclk_seed;
|
input gclk_Intra_mbAddrB_RAM;
|
input gclk_Intra_mbAddrB_RAM;
|
input [3:0] mb_num_h;
|
input [3:0] mb_num_h;
|
input [3:0] mb_num_v;
|
input [3:0] mb_num_v;
|
input [3:0] mb_type_general;
|
input [3:0] mb_type_general;
|
input NextMB_IsSkip;
|
input NextMB_IsSkip;
|
input [1:0] Intra16x16_predmode;
|
input [1:0] Intra16x16_predmode;
|
input [63:0] Intra4x4_predmode_CurrMb;
|
input [63:0] Intra4x4_predmode_CurrMb;
|
input [1:0] Intra_chroma_predmode;
|
input [1:0] Intra_chroma_predmode;
|
input [4:0] blk4x4_rec_counter;
|
input [4:0] blk4x4_rec_counter;
|
input trigger_blk4x4_intra_pred;
|
input trigger_blk4x4_intra_pred;
|
input [2:0] blk4x4_sum_counter;
|
input [2:0] blk4x4_sum_counter;
|
input [23:0] sum_right_column_reg;
|
input [23:0] sum_right_column_reg;
|
input [7:0] blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out;
|
input [7:0] blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out;
|
input [7:0] blk4x4_pred_output0, blk4x4_pred_output1, blk4x4_pred_output2;
|
input [7:0] blk4x4_pred_output0, blk4x4_pred_output1, blk4x4_pred_output2;
|
input [7:0] blk4x4_pred_output4, blk4x4_pred_output5, blk4x4_pred_output6;
|
input [7:0] blk4x4_pred_output4, blk4x4_pred_output5, blk4x4_pred_output6;
|
input [7:0] blk4x4_pred_output8, blk4x4_pred_output9, blk4x4_pred_output10;
|
input [7:0] blk4x4_pred_output8, blk4x4_pred_output9, blk4x4_pred_output10;
|
input [7:0] blk4x4_pred_output12,blk4x4_pred_output13,blk4x4_pred_output14;
|
input [7:0] blk4x4_pred_output12,blk4x4_pred_output13,blk4x4_pred_output14;
|
input Intra_mbAddrB_RAM_wr;
|
input Intra_mbAddrB_RAM_wr;
|
input [6:0] Intra_mbAddrB_RAM_wr_addr;
|
input [6:0] Intra_mbAddrB_RAM_wr_addr;
|
input [31:0] Intra_mbAddrB_RAM_din;
|
input [31:0] Intra_mbAddrB_RAM_din;
|
|
|
output [7:0] PE0_out;
|
output [7:0] PE0_out;
|
output [7:0] PE1_out;
|
output [7:0] PE1_out;
|
output [7:0] PE2_out;
|
output [7:0] PE2_out;
|
output [7:0] PE3_out;
|
output [7:0] PE3_out;
|
output [3:0] Intra4x4_predmode;
|
output [3:0] Intra4x4_predmode;
|
output [2:0] blk4x4_intra_preload_counter;
|
output [2:0] blk4x4_intra_preload_counter;
|
output [3:0] blk4x4_intra_precompute_counter;
|
output [3:0] blk4x4_intra_precompute_counter;
|
output [2:0] blk4x4_intra_calculate_counter;
|
output [2:0] blk4x4_intra_calculate_counter;
|
output end_of_one_blk4x4_intra;
|
output end_of_one_blk4x4_intra;
|
output Intra_mbAddrB_RAM_rd;
|
output Intra_mbAddrB_RAM_rd;
|
|
|
wire blkAddrA_availability,blkAddrB_availability;
|
wire blkAddrA_availability,blkAddrB_availability;
|
wire mbAddrA_availability,mbAddrB_availability,mbAddrC_availability;
|
wire mbAddrA_availability,mbAddrB_availability,mbAddrC_availability;
|
wire [7:0] blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out;
|
wire [7:0] blk4x4_sum_PE0_out,blk4x4_sum_PE1_out,blk4x4_sum_PE2_out,blk4x4_sum_PE3_out;
|
wire [15:0] PE0_sum_out,PE3_sum_out;
|
wire [15:0] PE0_sum_out,PE3_sum_out;
|
wire Intra_mbAddrB_RAM_rd;
|
wire Intra_mbAddrB_RAM_rd;
|
wire [6:0] Intra_mbAddrB_RAM_rd_addr;
|
wire [6:0] Intra_mbAddrB_RAM_rd_addr;
|
wire [31:0] Intra_mbAddrB_RAM_dout;
|
wire [31:0] Intra_mbAddrB_RAM_dout;
|
|
|
wire [7:0] Intra_mbAddrA_window0,Intra_mbAddrA_window1,Intra_mbAddrA_window2,Intra_mbAddrA_window3;
|
wire [7:0] Intra_mbAddrA_window0,Intra_mbAddrA_window1,Intra_mbAddrA_window2,Intra_mbAddrA_window3;
|
wire [7:0] Intra_mbAddrA_reg0, Intra_mbAddrA_reg1, Intra_mbAddrA_reg2, Intra_mbAddrA_reg3;
|
wire [7:0] Intra_mbAddrA_reg0, Intra_mbAddrA_reg1, Intra_mbAddrA_reg2, Intra_mbAddrA_reg3;
|
wire [7:0] Intra_mbAddrA_reg4, Intra_mbAddrA_reg5, Intra_mbAddrA_reg6, Intra_mbAddrA_reg7;
|
wire [7:0] Intra_mbAddrA_reg4, Intra_mbAddrA_reg5, Intra_mbAddrA_reg6, Intra_mbAddrA_reg7;
|
wire [7:0] Intra_mbAddrA_reg8, Intra_mbAddrA_reg9, Intra_mbAddrA_reg10,Intra_mbAddrA_reg11;
|
wire [7:0] Intra_mbAddrA_reg8, Intra_mbAddrA_reg9, Intra_mbAddrA_reg10,Intra_mbAddrA_reg11;
|
wire [7:0] Intra_mbAddrA_reg12,Intra_mbAddrA_reg13,Intra_mbAddrA_reg14,Intra_mbAddrA_reg15;
|
wire [7:0] Intra_mbAddrA_reg12,Intra_mbAddrA_reg13,Intra_mbAddrA_reg14,Intra_mbAddrA_reg15;
|
|
|
wire [7:0] Intra_mbAddrB_window0,Intra_mbAddrB_window1,Intra_mbAddrB_window2,Intra_mbAddrB_window3;
|
wire [7:0] Intra_mbAddrB_window0,Intra_mbAddrB_window1,Intra_mbAddrB_window2,Intra_mbAddrB_window3;
|
wire [7:0] Intra_mbAddrB_reg0, Intra_mbAddrB_reg1, Intra_mbAddrB_reg2, Intra_mbAddrB_reg3;
|
wire [7:0] Intra_mbAddrB_reg0, Intra_mbAddrB_reg1, Intra_mbAddrB_reg2, Intra_mbAddrB_reg3;
|
wire [7:0] Intra_mbAddrB_reg4, Intra_mbAddrB_reg5, Intra_mbAddrB_reg6, Intra_mbAddrB_reg7;
|
wire [7:0] Intra_mbAddrB_reg4, Intra_mbAddrB_reg5, Intra_mbAddrB_reg6, Intra_mbAddrB_reg7;
|
wire [7:0] Intra_mbAddrB_reg8, Intra_mbAddrB_reg9, Intra_mbAddrB_reg10,Intra_mbAddrB_reg11;
|
wire [7:0] Intra_mbAddrB_reg8, Intra_mbAddrB_reg9, Intra_mbAddrB_reg10,Intra_mbAddrB_reg11;
|
wire [7:0] Intra_mbAddrB_reg12,Intra_mbAddrB_reg13,Intra_mbAddrB_reg14,Intra_mbAddrB_reg15;
|
wire [7:0] Intra_mbAddrB_reg12,Intra_mbAddrB_reg13,Intra_mbAddrB_reg14,Intra_mbAddrB_reg15;
|
|
|
wire [7:0] Intra_mbAddrC_window0,Intra_mbAddrC_window1,Intra_mbAddrC_window2,Intra_mbAddrC_window3;
|
wire [7:0] Intra_mbAddrC_window0,Intra_mbAddrC_window1,Intra_mbAddrC_window2,Intra_mbAddrC_window3;
|
wire [7:0] Intra_mbAddrD_window;
|
wire [7:0] Intra_mbAddrD_window;
|
wire [15:0] main_seed,seed;
|
wire [15:0] main_seed,seed;
|
wire [11:0] plane_b_reg,plane_c_reg;
|
wire [11:0] plane_b_reg,plane_c_reg;
|
|
|
Intra_pred_pipeline Intra_pred_pipeline (
|
Intra_pred_pipeline Intra_pred_pipeline (
|
.clk(clk),
|
.clk(clk),
|
.reset_n(reset_n),
|
.reset_n(reset_n),
|
.mb_type_general(mb_type_general),
|
.mb_type_general(mb_type_general),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.trigger_blk4x4_intra_pred(trigger_blk4x4_intra_pred),
|
.trigger_blk4x4_intra_pred(trigger_blk4x4_intra_pred),
|
.mb_num_v(mb_num_v),
|
.mb_num_v(mb_num_v),
|
.mb_num_h(mb_num_h),
|
.mb_num_h(mb_num_h),
|
.blk4x4_sum_counter(blk4x4_sum_counter),
|
.blk4x4_sum_counter(blk4x4_sum_counter),
|
.NextMB_IsSkip(NextMB_IsSkip),
|
.NextMB_IsSkip(NextMB_IsSkip),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra4x4_predmode_CurrMb(Intra4x4_predmode_CurrMb),
|
.Intra4x4_predmode_CurrMb(Intra4x4_predmode_CurrMb),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.Intra_mbAddrA_reg0(Intra_mbAddrA_reg0),
|
.Intra_mbAddrA_reg0(Intra_mbAddrA_reg0),
|
.Intra_mbAddrA_reg1(Intra_mbAddrA_reg1),
|
.Intra_mbAddrA_reg1(Intra_mbAddrA_reg1),
|
.Intra_mbAddrA_reg2(Intra_mbAddrA_reg2),
|
.Intra_mbAddrA_reg2(Intra_mbAddrA_reg2),
|
.Intra_mbAddrA_reg3(Intra_mbAddrA_reg3),
|
.Intra_mbAddrA_reg3(Intra_mbAddrA_reg3),
|
.Intra_mbAddrA_reg4(Intra_mbAddrA_reg4),
|
.Intra_mbAddrA_reg4(Intra_mbAddrA_reg4),
|
.Intra_mbAddrA_reg5(Intra_mbAddrA_reg5),
|
.Intra_mbAddrA_reg5(Intra_mbAddrA_reg5),
|
.Intra_mbAddrA_reg6(Intra_mbAddrA_reg6),
|
.Intra_mbAddrA_reg6(Intra_mbAddrA_reg6),
|
.Intra_mbAddrA_reg7(Intra_mbAddrA_reg7),
|
.Intra_mbAddrA_reg7(Intra_mbAddrA_reg7),
|
.Intra_mbAddrA_reg8(Intra_mbAddrA_reg8),
|
.Intra_mbAddrA_reg8(Intra_mbAddrA_reg8),
|
.Intra_mbAddrA_reg9(Intra_mbAddrA_reg9),
|
.Intra_mbAddrA_reg9(Intra_mbAddrA_reg9),
|
.Intra_mbAddrA_reg10(Intra_mbAddrA_reg10),
|
.Intra_mbAddrA_reg10(Intra_mbAddrA_reg10),
|
.Intra_mbAddrA_reg11(Intra_mbAddrA_reg11),
|
.Intra_mbAddrA_reg11(Intra_mbAddrA_reg11),
|
.Intra_mbAddrA_reg12(Intra_mbAddrA_reg12),
|
.Intra_mbAddrA_reg12(Intra_mbAddrA_reg12),
|
.Intra_mbAddrA_reg13(Intra_mbAddrA_reg13),
|
.Intra_mbAddrA_reg13(Intra_mbAddrA_reg13),
|
.Intra_mbAddrA_reg14(Intra_mbAddrA_reg14),
|
.Intra_mbAddrA_reg14(Intra_mbAddrA_reg14),
|
.Intra_mbAddrA_reg15(Intra_mbAddrA_reg15),
|
.Intra_mbAddrA_reg15(Intra_mbAddrA_reg15),
|
.Intra_mbAddrB_reg0(Intra_mbAddrB_reg0),
|
.Intra_mbAddrB_reg0(Intra_mbAddrB_reg0),
|
.Intra_mbAddrB_reg1(Intra_mbAddrB_reg1),
|
.Intra_mbAddrB_reg1(Intra_mbAddrB_reg1),
|
.Intra_mbAddrB_reg2(Intra_mbAddrB_reg2),
|
.Intra_mbAddrB_reg2(Intra_mbAddrB_reg2),
|
.Intra_mbAddrB_reg3(Intra_mbAddrB_reg3),
|
.Intra_mbAddrB_reg3(Intra_mbAddrB_reg3),
|
.Intra_mbAddrB_reg4(Intra_mbAddrB_reg4),
|
.Intra_mbAddrB_reg4(Intra_mbAddrB_reg4),
|
.Intra_mbAddrB_reg5(Intra_mbAddrB_reg5),
|
.Intra_mbAddrB_reg5(Intra_mbAddrB_reg5),
|
.Intra_mbAddrB_reg6(Intra_mbAddrB_reg6),
|
.Intra_mbAddrB_reg6(Intra_mbAddrB_reg6),
|
.Intra_mbAddrB_reg7(Intra_mbAddrB_reg7),
|
.Intra_mbAddrB_reg7(Intra_mbAddrB_reg7),
|
.Intra_mbAddrB_reg8(Intra_mbAddrB_reg8),
|
.Intra_mbAddrB_reg8(Intra_mbAddrB_reg8),
|
.Intra_mbAddrB_reg9(Intra_mbAddrB_reg9),
|
.Intra_mbAddrB_reg9(Intra_mbAddrB_reg9),
|
.Intra_mbAddrB_reg10(Intra_mbAddrB_reg10),
|
.Intra_mbAddrB_reg10(Intra_mbAddrB_reg10),
|
.Intra_mbAddrB_reg11(Intra_mbAddrB_reg11),
|
.Intra_mbAddrB_reg11(Intra_mbAddrB_reg11),
|
.Intra_mbAddrB_reg12(Intra_mbAddrB_reg12),
|
.Intra_mbAddrB_reg12(Intra_mbAddrB_reg12),
|
.Intra_mbAddrB_reg13(Intra_mbAddrB_reg13),
|
.Intra_mbAddrB_reg13(Intra_mbAddrB_reg13),
|
.Intra_mbAddrB_reg14(Intra_mbAddrB_reg14),
|
.Intra_mbAddrB_reg14(Intra_mbAddrB_reg14),
|
.Intra_mbAddrB_reg15(Intra_mbAddrB_reg15),
|
.Intra_mbAddrB_reg15(Intra_mbAddrB_reg15),
|
.Intra_mbAddrD_window(Intra_mbAddrD_window),
|
.Intra_mbAddrD_window(Intra_mbAddrD_window),
|
|
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.blk4x4_intra_preload_counter(blk4x4_intra_preload_counter),
|
.blk4x4_intra_preload_counter(blk4x4_intra_preload_counter),
|
.blk4x4_intra_precompute_counter(blk4x4_intra_precompute_counter),
|
.blk4x4_intra_precompute_counter(blk4x4_intra_precompute_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.end_of_one_blk4x4_intra(end_of_one_blk4x4_intra),
|
.end_of_one_blk4x4_intra(end_of_one_blk4x4_intra),
|
.blkAddrA_availability(blkAddrA_availability),
|
.blkAddrA_availability(blkAddrA_availability),
|
.blkAddrB_availability(blkAddrB_availability),
|
.blkAddrB_availability(blkAddrB_availability),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrB_availability(mbAddrB_availability),
|
.mbAddrB_availability(mbAddrB_availability),
|
.mbAddrC_availability(mbAddrC_availability),
|
.mbAddrC_availability(mbAddrC_availability),
|
.main_seed(main_seed),
|
.main_seed(main_seed),
|
.plane_b_reg(plane_b_reg),
|
.plane_b_reg(plane_b_reg),
|
.plane_c_reg(plane_c_reg),
|
.plane_c_reg(plane_c_reg),
|
.Intra_mbAddrB_RAM_rd(Intra_mbAddrB_RAM_rd),
|
.Intra_mbAddrB_RAM_rd(Intra_mbAddrB_RAM_rd),
|
.Intra_mbAddrB_RAM_rd_addr(Intra_mbAddrB_RAM_rd_addr)
|
.Intra_mbAddrB_RAM_rd_addr(Intra_mbAddrB_RAM_rd_addr)
|
);
|
);
|
|
|
Intra_pred_reg_ctrl Intra_pred_reg_ctrl (
|
Intra_pred_reg_ctrl Intra_pred_reg_ctrl (
|
.reset_n(reset_n),
|
.reset_n(reset_n),
|
.gclk_intra_mbAddrA_luma(gclk_intra_mbAddrA_luma),
|
.gclk_intra_mbAddrA_luma(gclk_intra_mbAddrA_luma),
|
.gclk_intra_mbAddrA_Cb(gclk_intra_mbAddrA_Cb),
|
.gclk_intra_mbAddrA_Cb(gclk_intra_mbAddrA_Cb),
|
.gclk_intra_mbAddrA_Cr(gclk_intra_mbAddrA_Cr),
|
.gclk_intra_mbAddrA_Cr(gclk_intra_mbAddrA_Cr),
|
.gclk_intra_mbAddrB(gclk_intra_mbAddrB),
|
.gclk_intra_mbAddrB(gclk_intra_mbAddrB),
|
.gclk_intra_mbAddrC_luma(gclk_intra_mbAddrC_luma),
|
.gclk_intra_mbAddrC_luma(gclk_intra_mbAddrC_luma),
|
.gclk_intra_mbAddrD(gclk_intra_mbAddrD),
|
.gclk_intra_mbAddrD(gclk_intra_mbAddrD),
|
.gclk_seed(gclk_seed),
|
.gclk_seed(gclk_seed),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrC_availability(mbAddrC_availability),
|
.mbAddrC_availability(mbAddrC_availability),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.blk4x4_sum_counter(blk4x4_sum_counter),
|
.blk4x4_sum_counter(blk4x4_sum_counter),
|
.blk4x4_intra_preload_counter(blk4x4_intra_preload_counter),
|
.blk4x4_intra_preload_counter(blk4x4_intra_preload_counter),
|
.blk4x4_intra_precompute_counter(blk4x4_intra_precompute_counter),
|
.blk4x4_intra_precompute_counter(blk4x4_intra_precompute_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.mb_type_general(mb_type_general),
|
.mb_type_general(mb_type_general),
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.Intra_mbAddrB_RAM_dout(Intra_mbAddrB_RAM_dout),
|
.Intra_mbAddrB_RAM_dout(Intra_mbAddrB_RAM_dout),
|
.sum_right_column_reg(sum_right_column_reg),
|
.sum_right_column_reg(sum_right_column_reg),
|
.blk4x4_sum_PE0_out(blk4x4_sum_PE0_out),
|
.blk4x4_sum_PE0_out(blk4x4_sum_PE0_out),
|
.blk4x4_sum_PE1_out(blk4x4_sum_PE1_out),
|
.blk4x4_sum_PE1_out(blk4x4_sum_PE1_out),
|
.blk4x4_sum_PE2_out(blk4x4_sum_PE2_out),
|
.blk4x4_sum_PE2_out(blk4x4_sum_PE2_out),
|
.blk4x4_sum_PE3_out(blk4x4_sum_PE3_out),
|
.blk4x4_sum_PE3_out(blk4x4_sum_PE3_out),
|
.main_seed(main_seed),
|
.main_seed(main_seed),
|
.PE0_sum_out(PE0_sum_out),
|
.PE0_sum_out(PE0_sum_out),
|
.PE3_sum_out(PE3_sum_out),
|
.PE3_sum_out(PE3_sum_out),
|
|
|
.Intra_mbAddrA_window0(Intra_mbAddrA_window0),
|
.Intra_mbAddrA_window0(Intra_mbAddrA_window0),
|
.Intra_mbAddrA_window1(Intra_mbAddrA_window1),
|
.Intra_mbAddrA_window1(Intra_mbAddrA_window1),
|
.Intra_mbAddrA_window2(Intra_mbAddrA_window2),
|
.Intra_mbAddrA_window2(Intra_mbAddrA_window2),
|
.Intra_mbAddrA_window3(Intra_mbAddrA_window3),
|
.Intra_mbAddrA_window3(Intra_mbAddrA_window3),
|
.Intra_mbAddrA_reg0(Intra_mbAddrA_reg0),
|
.Intra_mbAddrA_reg0(Intra_mbAddrA_reg0),
|
.Intra_mbAddrA_reg1(Intra_mbAddrA_reg1),
|
.Intra_mbAddrA_reg1(Intra_mbAddrA_reg1),
|
.Intra_mbAddrA_reg2(Intra_mbAddrA_reg2),
|
.Intra_mbAddrA_reg2(Intra_mbAddrA_reg2),
|
.Intra_mbAddrA_reg3(Intra_mbAddrA_reg3),
|
.Intra_mbAddrA_reg3(Intra_mbAddrA_reg3),
|
.Intra_mbAddrA_reg4(Intra_mbAddrA_reg4),
|
.Intra_mbAddrA_reg4(Intra_mbAddrA_reg4),
|
.Intra_mbAddrA_reg5(Intra_mbAddrA_reg5),
|
.Intra_mbAddrA_reg5(Intra_mbAddrA_reg5),
|
.Intra_mbAddrA_reg6(Intra_mbAddrA_reg6),
|
.Intra_mbAddrA_reg6(Intra_mbAddrA_reg6),
|
.Intra_mbAddrA_reg7(Intra_mbAddrA_reg7),
|
.Intra_mbAddrA_reg7(Intra_mbAddrA_reg7),
|
.Intra_mbAddrA_reg8(Intra_mbAddrA_reg8),
|
.Intra_mbAddrA_reg8(Intra_mbAddrA_reg8),
|
.Intra_mbAddrA_reg9(Intra_mbAddrA_reg9),
|
.Intra_mbAddrA_reg9(Intra_mbAddrA_reg9),
|
.Intra_mbAddrA_reg10(Intra_mbAddrA_reg10),
|
.Intra_mbAddrA_reg10(Intra_mbAddrA_reg10),
|
.Intra_mbAddrA_reg11(Intra_mbAddrA_reg11),
|
.Intra_mbAddrA_reg11(Intra_mbAddrA_reg11),
|
.Intra_mbAddrA_reg12(Intra_mbAddrA_reg12),
|
.Intra_mbAddrA_reg12(Intra_mbAddrA_reg12),
|
.Intra_mbAddrA_reg13(Intra_mbAddrA_reg13),
|
.Intra_mbAddrA_reg13(Intra_mbAddrA_reg13),
|
.Intra_mbAddrA_reg14(Intra_mbAddrA_reg14),
|
.Intra_mbAddrA_reg14(Intra_mbAddrA_reg14),
|
.Intra_mbAddrA_reg15(Intra_mbAddrA_reg15),
|
.Intra_mbAddrA_reg15(Intra_mbAddrA_reg15),
|
.Intra_mbAddrB_window0(Intra_mbAddrB_window0),
|
.Intra_mbAddrB_window0(Intra_mbAddrB_window0),
|
.Intra_mbAddrB_window1(Intra_mbAddrB_window1),
|
.Intra_mbAddrB_window1(Intra_mbAddrB_window1),
|
.Intra_mbAddrB_window2(Intra_mbAddrB_window2),
|
.Intra_mbAddrB_window2(Intra_mbAddrB_window2),
|
.Intra_mbAddrB_window3(Intra_mbAddrB_window3),
|
.Intra_mbAddrB_window3(Intra_mbAddrB_window3),
|
.Intra_mbAddrB_reg0(Intra_mbAddrB_reg0),
|
.Intra_mbAddrB_reg0(Intra_mbAddrB_reg0),
|
.Intra_mbAddrB_reg1(Intra_mbAddrB_reg1),
|
.Intra_mbAddrB_reg1(Intra_mbAddrB_reg1),
|
.Intra_mbAddrB_reg2(Intra_mbAddrB_reg2),
|
.Intra_mbAddrB_reg2(Intra_mbAddrB_reg2),
|
.Intra_mbAddrB_reg3(Intra_mbAddrB_reg3),
|
.Intra_mbAddrB_reg3(Intra_mbAddrB_reg3),
|
.Intra_mbAddrB_reg4(Intra_mbAddrB_reg4),
|
.Intra_mbAddrB_reg4(Intra_mbAddrB_reg4),
|
.Intra_mbAddrB_reg5(Intra_mbAddrB_reg5),
|
.Intra_mbAddrB_reg5(Intra_mbAddrB_reg5),
|
.Intra_mbAddrB_reg6(Intra_mbAddrB_reg6),
|
.Intra_mbAddrB_reg6(Intra_mbAddrB_reg6),
|
.Intra_mbAddrB_reg7(Intra_mbAddrB_reg7),
|
.Intra_mbAddrB_reg7(Intra_mbAddrB_reg7),
|
.Intra_mbAddrB_reg8(Intra_mbAddrB_reg8),
|
.Intra_mbAddrB_reg8(Intra_mbAddrB_reg8),
|
.Intra_mbAddrB_reg9(Intra_mbAddrB_reg9),
|
.Intra_mbAddrB_reg9(Intra_mbAddrB_reg9),
|
.Intra_mbAddrB_reg10(Intra_mbAddrB_reg10),
|
.Intra_mbAddrB_reg10(Intra_mbAddrB_reg10),
|
.Intra_mbAddrB_reg11(Intra_mbAddrB_reg11),
|
.Intra_mbAddrB_reg11(Intra_mbAddrB_reg11),
|
.Intra_mbAddrB_reg12(Intra_mbAddrB_reg12),
|
.Intra_mbAddrB_reg12(Intra_mbAddrB_reg12),
|
.Intra_mbAddrB_reg13(Intra_mbAddrB_reg13),
|
.Intra_mbAddrB_reg13(Intra_mbAddrB_reg13),
|
.Intra_mbAddrB_reg14(Intra_mbAddrB_reg14),
|
.Intra_mbAddrB_reg14(Intra_mbAddrB_reg14),
|
.Intra_mbAddrB_reg15(Intra_mbAddrB_reg15),
|
.Intra_mbAddrB_reg15(Intra_mbAddrB_reg15),
|
.Intra_mbAddrC_window0(Intra_mbAddrC_window0),
|
.Intra_mbAddrC_window0(Intra_mbAddrC_window0),
|
.Intra_mbAddrC_window1(Intra_mbAddrC_window1),
|
.Intra_mbAddrC_window1(Intra_mbAddrC_window1),
|
.Intra_mbAddrC_window2(Intra_mbAddrC_window2),
|
.Intra_mbAddrC_window2(Intra_mbAddrC_window2),
|
.Intra_mbAddrC_window3(Intra_mbAddrC_window3),
|
.Intra_mbAddrC_window3(Intra_mbAddrC_window3),
|
.Intra_mbAddrD_window(Intra_mbAddrD_window),
|
.Intra_mbAddrD_window(Intra_mbAddrD_window),
|
.seed(seed)
|
.seed(seed)
|
);
|
);
|
|
|
Intra_pred_PE Intra_pred_PE (
|
Intra_pred_PE Intra_pred_PE (
|
.clk(clk),
|
.clk(clk),
|
.reset_n(reset_n),
|
.reset_n(reset_n),
|
.mb_type_general(mb_type_general),
|
.mb_type_general(mb_type_general),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.blk4x4_rec_counter(blk4x4_rec_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.blk4x4_intra_calculate_counter(blk4x4_intra_calculate_counter),
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.Intra4x4_predmode(Intra4x4_predmode),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra16x16_predmode(Intra16x16_predmode),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.Intra_chroma_predmode(Intra_chroma_predmode),
|
.blkAddrA_availability(blkAddrA_availability),
|
.blkAddrA_availability(blkAddrA_availability),
|
.blkAddrB_availability(blkAddrB_availability),
|
.blkAddrB_availability(blkAddrB_availability),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrA_availability(mbAddrA_availability),
|
.mbAddrB_availability(mbAddrB_availability),
|
.mbAddrB_availability(mbAddrB_availability),
|
.Intra_mbAddrA_window0({8'b0,Intra_mbAddrA_window0}),
|
.Intra_mbAddrA_window0({8'b0,Intra_mbAddrA_window0}),
|
.Intra_mbAddrA_window1({8'b0,Intra_mbAddrA_window1}),
|
.Intra_mbAddrA_window1({8'b0,Intra_mbAddrA_window1}),
|
.Intra_mbAddrA_window2({8'b0,Intra_mbAddrA_window2}),
|
.Intra_mbAddrA_window2({8'b0,Intra_mbAddrA_window2}),
|
.Intra_mbAddrA_window3({8'b0,Intra_mbAddrA_window3}),
|
.Intra_mbAddrA_window3({8'b0,Intra_mbAddrA_window3}),
|
.Intra_mbAddrB_window0({8'b0,Intra_mbAddrB_window0}),
|
.Intra_mbAddrB_window0({8'b0,Intra_mbAddrB_window0}),
|
.Intra_mbAddrB_window1({8'b0,Intra_mbAddrB_window1}),
|
.Intra_mbAddrB_window1({8'b0,Intra_mbAddrB_window1}),
|
.Intra_mbAddrB_window2({8'b0,Intra_mbAddrB_window2}),
|
.Intra_mbAddrB_window2({8'b0,Intra_mbAddrB_window2}),
|
.Intra_mbAddrB_window3({8'b0,Intra_mbAddrB_window3}),
|
.Intra_mbAddrB_window3({8'b0,Intra_mbAddrB_window3}),
|
.Intra_mbAddrC_window0({8'b0,Intra_mbAddrC_window0}),
|
.Intra_mbAddrC_window0({8'b0,Intra_mbAddrC_window0}),
|
.Intra_mbAddrC_window1({8'b0,Intra_mbAddrC_window1}),
|
.Intra_mbAddrC_window1({8'b0,Intra_mbAddrC_window1}),
|
.Intra_mbAddrC_window2({8'b0,Intra_mbAddrC_window2}),
|
.Intra_mbAddrC_window2({8'b0,Intra_mbAddrC_window2}),
|
.Intra_mbAddrC_window3({8'b0,Intra_mbAddrC_window3}),
|
.Intra_mbAddrC_window3({8'b0,Intra_mbAddrC_window3}),
|
.Intra_mbAddrD_window({8'b0,Intra_mbAddrD_window}),
|
.Intra_mbAddrD_window({8'b0,Intra_mbAddrD_window}),
|
.Intra_mbAddrA_reg0({8'b0,Intra_mbAddrA_reg0}),
|
.Intra_mbAddrA_reg0({8'b0,Intra_mbAddrA_reg0}),
|
.Intra_mbAddrA_reg1({8'b0,Intra_mbAddrA_reg1}),
|
.Intra_mbAddrA_reg1({8'b0,Intra_mbAddrA_reg1}),
|
.Intra_mbAddrA_reg2({8'b0,Intra_mbAddrA_reg2}),
|
.Intra_mbAddrA_reg2({8'b0,Intra_mbAddrA_reg2}),
|
.Intra_mbAddrA_reg3({8'b0,Intra_mbAddrA_reg3}),
|
.Intra_mbAddrA_reg3({8'b0,Intra_mbAddrA_reg3}),
|
.Intra_mbAddrA_reg4({8'b0,Intra_mbAddrA_reg4}),
|
.Intra_mbAddrA_reg4({8'b0,Intra_mbAddrA_reg4}),
|
.Intra_mbAddrA_reg5({8'b0,Intra_mbAddrA_reg5}),
|
.Intra_mbAddrA_reg5({8'b0,Intra_mbAddrA_reg5}),
|
.Intra_mbAddrA_reg6({8'b0,Intra_mbAddrA_reg6}),
|
.Intra_mbAddrA_reg6({8'b0,Intra_mbAddrA_reg6}),
|
.Intra_mbAddrA_reg7({8'b0,Intra_mbAddrA_reg7}),
|
.Intra_mbAddrA_reg7({8'b0,Intra_mbAddrA_reg7}),
|
.Intra_mbAddrA_reg8({8'b0,Intra_mbAddrA_reg8}),
|
.Intra_mbAddrA_reg8({8'b0,Intra_mbAddrA_reg8}),
|
.Intra_mbAddrA_reg9({8'b0,Intra_mbAddrA_reg9}),
|
.Intra_mbAddrA_reg9({8'b0,Intra_mbAddrA_reg9}),
|
.Intra_mbAddrA_reg10({8'b0,Intra_mbAddrA_reg10}),
|
.Intra_mbAddrA_reg10({8'b0,Intra_mbAddrA_reg10}),
|
.Intra_mbAddrA_reg11({8'b0,Intra_mbAddrA_reg11}),
|
.Intra_mbAddrA_reg11({8'b0,Intra_mbAddrA_reg11}),
|
.Intra_mbAddrA_reg12({8'b0,Intra_mbAddrA_reg12}),
|
.Intra_mbAddrA_reg12({8'b0,Intra_mbAddrA_reg12}),
|
.Intra_mbAddrA_reg13({8'b0,Intra_mbAddrA_reg13}),
|
.Intra_mbAddrA_reg13({8'b0,Intra_mbAddrA_reg13}),
|
.Intra_mbAddrA_reg14({8'b0,Intra_mbAddrA_reg14}),
|
.Intra_mbAddrA_reg14({8'b0,Intra_mbAddrA_reg14}),
|
.Intra_mbAddrA_reg15({8'b0,Intra_mbAddrA_reg15}),
|
.Intra_mbAddrA_reg15({8'b0,Intra_mbAddrA_reg15}),
|
.Intra_mbAddrB_reg0({8'b0,Intra_mbAddrB_reg0}),
|
.Intra_mbAddrB_reg0({8'b0,Intra_mbAddrB_reg0}),
|
.Intra_mbAddrB_reg1({8'b0,Intra_mbAddrB_reg1}),
|
.Intra_mbAddrB_reg1({8'b0,Intra_mbAddrB_reg1}),
|
.Intra_mbAddrB_reg2({8'b0,Intra_mbAddrB_reg2}),
|
.Intra_mbAddrB_reg2({8'b0,Intra_mbAddrB_reg2}),
|
.Intra_mbAddrB_reg3({8'b0,Intra_mbAddrB_reg3}),
|
.Intra_mbAddrB_reg3({8'b0,Intra_mbAddrB_reg3}),
|
.Intra_mbAddrB_reg4({8'b0,Intra_mbAddrB_reg4}),
|
.Intra_mbAddrB_reg4({8'b0,Intra_mbAddrB_reg4}),
|
.Intra_mbAddrB_reg5({8'b0,Intra_mbAddrB_reg5}),
|
.Intra_mbAddrB_reg5({8'b0,Intra_mbAddrB_reg5}),
|
.Intra_mbAddrB_reg6({8'b0,Intra_mbAddrB_reg6}),
|
.Intra_mbAddrB_reg6({8'b0,Intra_mbAddrB_reg6}),
|
.Intra_mbAddrB_reg7({8'b0,Intra_mbAddrB_reg7}),
|
.Intra_mbAddrB_reg7({8'b0,Intra_mbAddrB_reg7}),
|
.Intra_mbAddrB_reg8({8'b0,Intra_mbAddrB_reg8}),
|
.Intra_mbAddrB_reg8({8'b0,Intra_mbAddrB_reg8}),
|
.Intra_mbAddrB_reg9({8'b0,Intra_mbAddrB_reg9}),
|
.Intra_mbAddrB_reg9({8'b0,Intra_mbAddrB_reg9}),
|
.Intra_mbAddrB_reg10({8'b0,Intra_mbAddrB_reg10}),
|
.Intra_mbAddrB_reg10({8'b0,Intra_mbAddrB_reg10}),
|
.Intra_mbAddrB_reg11({8'b0,Intra_mbAddrB_reg11}),
|
.Intra_mbAddrB_reg11({8'b0,Intra_mbAddrB_reg11}),
|
.Intra_mbAddrB_reg12({8'b0,Intra_mbAddrB_reg12}),
|
.Intra_mbAddrB_reg12({8'b0,Intra_mbAddrB_reg12}),
|
.Intra_mbAddrB_reg13({8'b0,Intra_mbAddrB_reg13}),
|
.Intra_mbAddrB_reg13({8'b0,Intra_mbAddrB_reg13}),
|
.Intra_mbAddrB_reg14({8'b0,Intra_mbAddrB_reg14}),
|
.Intra_mbAddrB_reg14({8'b0,Intra_mbAddrB_reg14}),
|
.Intra_mbAddrB_reg15({8'b0,Intra_mbAddrB_reg15}),
|
.Intra_mbAddrB_reg15({8'b0,Intra_mbAddrB_reg15}),
|
.blk4x4_pred_output0({8'b0,blk4x4_pred_output0}),
|
.blk4x4_pred_output0({8'b0,blk4x4_pred_output0}),
|
.blk4x4_pred_output1({8'b0,blk4x4_pred_output1}),
|
.blk4x4_pred_output1({8'b0,blk4x4_pred_output1}),
|
.blk4x4_pred_output2({8'b0,blk4x4_pred_output2}),
|
.blk4x4_pred_output2({8'b0,blk4x4_pred_output2}),
|
.blk4x4_pred_output4({8'b0,blk4x4_pred_output4}),
|
.blk4x4_pred_output4({8'b0,blk4x4_pred_output4}),
|
.blk4x4_pred_output5({8'b0,blk4x4_pred_output5}),
|
.blk4x4_pred_output5({8'b0,blk4x4_pred_output5}),
|
.blk4x4_pred_output6({8'b0,blk4x4_pred_output6}),
|
.blk4x4_pred_output6({8'b0,blk4x4_pred_output6}),
|
.blk4x4_pred_output8({8'b0,blk4x4_pred_output8}),
|
.blk4x4_pred_output8({8'b0,blk4x4_pred_output8}),
|
.blk4x4_pred_output9({8'b0,blk4x4_pred_output9}),
|
.blk4x4_pred_output9({8'b0,blk4x4_pred_output9}),
|
.blk4x4_pred_output10({8'b0,blk4x4_pred_output10}),
|
.blk4x4_pred_output10({8'b0,blk4x4_pred_output10}),
|
.blk4x4_pred_output12({8'b0,blk4x4_pred_output12}),
|
.blk4x4_pred_output12({8'b0,blk4x4_pred_output12}),
|
.blk4x4_pred_output13({8'b0,blk4x4_pred_output13}),
|
.blk4x4_pred_output13({8'b0,blk4x4_pred_output13}),
|
.blk4x4_pred_output14({8'b0,blk4x4_pred_output14}),
|
.blk4x4_pred_output14({8'b0,blk4x4_pred_output14}),
|
.seed(seed),
|
.seed(seed),
|
.b(plane_b_reg),
|
.b(plane_b_reg),
|
.c(plane_c_reg),
|
.c(plane_c_reg),
|
|
|
.PE0_out(PE0_out),
|
.PE0_out(PE0_out),
|
.PE1_out(PE1_out),
|
.PE1_out(PE1_out),
|
.PE2_out(PE2_out),
|
.PE2_out(PE2_out),
|
.PE3_out(PE3_out),
|
.PE3_out(PE3_out),
|
.PE0_sum_out(PE0_sum_out),
|
.PE0_sum_out(PE0_sum_out),
|
.PE3_sum_out(PE3_sum_out)
|
.PE3_sum_out(PE3_sum_out)
|
);
|
);
|
ram_sync_1r_sync_1w #(`Intra_mbAddrB_RAM_data_width,`Intra_mbAddrB_RAM_data_depth)
|
ram_sync_1r_sync_1w #(`Intra_mbAddrB_RAM_data_width,`Intra_mbAddrB_RAM_data_depth)
|
Intra_mbAddrB_RAM (
|
Intra_mbAddrB_RAM (
|
.clk(gclk_Intra_mbAddrB_RAM),
|
.clk(gclk_Intra_mbAddrB_RAM),
|
.rst_n(reset_n),
|
.rst_n(reset_n),
|
.wr_n(~Intra_mbAddrB_RAM_wr),
|
.wr_n(~Intra_mbAddrB_RAM_wr),
|
.rd_n(~Intra_mbAddrB_RAM_rd),
|
.rd_n(~Intra_mbAddrB_RAM_rd),
|
.wr_addr(Intra_mbAddrB_RAM_wr_addr),
|
.wr_addr(Intra_mbAddrB_RAM_wr_addr),
|
.rd_addr(Intra_mbAddrB_RAM_rd_addr),
|
.rd_addr(Intra_mbAddrB_RAM_rd_addr),
|
.data_in(Intra_mbAddrB_RAM_din),
|
.data_in(Intra_mbAddrB_RAM_din),
|
.data_out(Intra_mbAddrB_RAM_dout)
|
.data_out(Intra_mbAddrB_RAM_dout)
|
);
|
);
|
|
|