Verilog实现8x8 Walsh Hadamard变换

时间:2016-04-23 19:56:12

标签: matlab transform verilog

下面给出的是由MATLAB生成的verilog代码,用于找出8x8矩阵的Walsh Hadamrd变换。

 module fwhtcustomV2_FixPt
          (
           clk,
           reset,
           clk_enable,
           y_0,
           y_1,
           y_2,
           y_3,
           y_4,
           y_5,
           y_6,
           y_7,
           y_8,
           y_9,
           y_10,
           y_11,
           y_12,
           y_13,
           y_14,
           y_15,
           y_16,
           y_17,
           y_18,
           y_19,
           y_20,
           y_21,
           y_22,
           y_23,
           y_24,
           y_25,
           y_26,
           y_27,
           y_28,
           y_29,
           y_30,
           y_31,
           y_32,
           y_33,
           y_34,
           y_35,
           y_36,
           y_37,
           y_38,
           y_39,
           y_40,
           y_41,
           y_42,
           y_43,
           y_44,
           y_45,
           y_46,
           y_47,
           y_48,
           y_49,
           y_50,
           y_51,
           y_52,
           y_53,
           y_54,
           y_55,
           y_56,
           y_57,
           y_58,
           y_59,
           y_60,
           y_61,
           y_62,
           y_63,
           ce_out,
           fwht1_0,
           fwht1_1,
           fwht1_2,
           fwht1_3,
           fwht1_4,
           fwht1_5,
           fwht1_6,
           fwht1_7,
           fwht1_8,
           fwht1_9,
           fwht1_10,
           fwht1_11,
           fwht1_12,
           fwht1_13,
           fwht1_14,
           fwht1_15,
           fwht1_16,
           fwht1_17,
           fwht1_18,
           fwht1_19,
           fwht1_20,
           fwht1_21,
           fwht1_22,
           fwht1_23,
           fwht1_24,
           fwht1_25,
           fwht1_26,
           fwht1_27,
           fwht1_28,
           fwht1_29,
           fwht1_30,
           fwht1_31,
           fwht1_32,
           fwht1_33,
           fwht1_34,
           fwht1_35,
           fwht1_36,
           fwht1_37,
           fwht1_38,
           fwht1_39,
           fwht1_40,
           fwht1_41,
           fwht1_42,
           fwht1_43,
           fwht1_44,
           fwht1_45,
           fwht1_46,
           fwht1_47,
           fwht1_48,
           fwht1_49,
           fwht1_50,
           fwht1_51,
           fwht1_52,
           fwht1_53,
           fwht1_54,
           fwht1_55,
           fwht1_56,
           fwht1_57,
           fwht1_58,
           fwht1_59,
           fwht1_60,
           fwht1_61,
           fwht1_62,
           fwht1_63
          );


  input   clk;
  input   reset;
  input   clk_enable;
  input   [8:0] y_0;  // ufix9
  input   [8:0] y_1;  // ufix9
  input   [8:0] y_2;  // ufix9
  input   [8:0] y_3;  // ufix9
  input   [8:0] y_4;  // ufix9
  input   [8:0] y_5;  // ufix9
  input   [8:0] y_6;  // ufix9
  input   [8:0] y_7;  // ufix9
  input   [8:0] y_8;  // ufix9
  input   [8:0] y_9;  // ufix9
  input   [8:0] y_10;  // ufix9
  input   [8:0] y_11;  // ufix9
  input   [8:0] y_12;  // ufix9
  input   [8:0] y_13;  // ufix9
  input   [8:0] y_14;  // ufix9
  input   [8:0] y_15;  // ufix9
  input   [8:0] y_16;  // ufix9
  input   [8:0] y_17;  // ufix9
  input   [8:0] y_18;  // ufix9
  input   [8:0] y_19;  // ufix9
  input   [8:0] y_20;  // ufix9
  input   [8:0] y_21;  // ufix9
  input   [8:0] y_22;  // ufix9
  input   [8:0] y_23;  // ufix9
  input   [8:0] y_24;  // ufix9
  input   [8:0] y_25;  // ufix9
  input   [8:0] y_26;  // ufix9
  input   [8:0] y_27;  // ufix9
  input   [8:0] y_28;  // ufix9
  input   [8:0] y_29;  // ufix9
  input   [8:0] y_30;  // ufix9
  input   [8:0] y_31;  // ufix9
  input   [8:0] y_32;  // ufix9
  input   [8:0] y_33;  // ufix9
  input   [8:0] y_34;  // ufix9
  input   [8:0] y_35;  // ufix9
  input   [8:0] y_36;  // ufix9
  input   [8:0] y_37;  // ufix9
  input   [8:0] y_38;  // ufix9
  input   [8:0] y_39;  // ufix9
  input   [8:0] y_40;  // ufix9
  input   [8:0] y_41;  // ufix9
  input   [8:0] y_42;  // ufix9
  input   [8:0] y_43;  // ufix9
  input   [8:0] y_44;  // ufix9
  input   [8:0] y_45;  // ufix9
  input   [8:0] y_46;  // ufix9
  input   [8:0] y_47;  // ufix9
  input   [8:0] y_48;  // ufix9
  input   [8:0] y_49;  // ufix9
  input   [8:0] y_50;  // ufix9
  input   [8:0] y_51;  // ufix9
  input   [8:0] y_52;  // ufix9
  input   [8:0] y_53;  // ufix9
  input   [8:0] y_54;  // ufix9
  input   [8:0] y_55;  // ufix9
  input   [8:0] y_56;  // ufix9
  input   [8:0] y_57;  // ufix9
  input   [8:0] y_58;  // ufix9
  input   [8:0] y_59;  // ufix9
  input   [8:0] y_60;  // ufix9
  input   [8:0] y_61;  // ufix9
  input   [8:0] y_62;  // ufix9
  input   [8:0] y_63;  // ufix9
  output  ce_out;
  output  signed [13:0] fwht1_0;  // sfix14_En5
  output  signed [13:0] fwht1_1;  // sfix14_En5
  output  signed [13:0] fwht1_2;  // sfix14_En5
  output  signed [13:0] fwht1_3;  // sfix14_En5
  output  signed [13:0] fwht1_4;  // sfix14_En5
  output  signed [13:0] fwht1_5;  // sfix14_En5
  output  signed [13:0] fwht1_6;  // sfix14_En5
  output  signed [13:0] fwht1_7;  // sfix14_En5
  output  signed [13:0] fwht1_8;  // sfix14_En5
  output  signed [13:0] fwht1_9;  // sfix14_En5
  output  signed [13:0] fwht1_10;  // sfix14_En5
  output  signed [13:0] fwht1_11;  // sfix14_En5
  output  signed [13:0] fwht1_12;  // sfix14_En5
  output  signed [13:0] fwht1_13;  // sfix14_En5
  output  signed [13:0] fwht1_14;  // sfix14_En5
  output  signed [13:0] fwht1_15;  // sfix14_En5
  output  signed [13:0] fwht1_16;  // sfix14_En5
  output  signed [13:0] fwht1_17;  // sfix14_En5
  output  signed [13:0] fwht1_18;  // sfix14_En5
  output  signed [13:0] fwht1_19;  // sfix14_En5
  output  signed [13:0] fwht1_20;  // sfix14_En5
  output  signed [13:0] fwht1_21;  // sfix14_En5
  output  signed [13:0] fwht1_22;  // sfix14_En5
  output  signed [13:0] fwht1_23;  // sfix14_En5
  output  signed [13:0] fwht1_24;  // sfix14_En5
  output  signed [13:0] fwht1_25;  // sfix14_En5
  output  signed [13:0] fwht1_26;  // sfix14_En5
  output  signed [13:0] fwht1_27;  // sfix14_En5
  output  signed [13:0] fwht1_28;  // sfix14_En5
  output  signed [13:0] fwht1_29;  // sfix14_En5
  output  signed [13:0] fwht1_30;  // sfix14_En5
  output  signed [13:0] fwht1_31;  // sfix14_En5
  output  signed [13:0] fwht1_32;  // sfix14_En5
  output  signed [13:0] fwht1_33;  // sfix14_En5
  output  signed [13:0] fwht1_34;  // sfix14_En5
  output  signed [13:0] fwht1_35;  // sfix14_En5
  output  signed [13:0] fwht1_36;  // sfix14_En5
  output  signed [13:0] fwht1_37;  // sfix14_En5
  output  signed [13:0] fwht1_38;  // sfix14_En5
  output  signed [13:0] fwht1_39;  // sfix14_En5
  output  signed [13:0] fwht1_40;  // sfix14_En5
  output  signed [13:0] fwht1_41;  // sfix14_En5
  output  signed [13:0] fwht1_42;  // sfix14_En5
  output  signed [13:0] fwht1_43;  // sfix14_En5
  output  signed [13:0] fwht1_44;  // sfix14_En5
  output  signed [13:0] fwht1_45;  // sfix14_En5
  output  signed [13:0] fwht1_46;  // sfix14_En5
  output  signed [13:0] fwht1_47;  // sfix14_En5
  output  signed [13:0] fwht1_48;  // sfix14_En5
  output  signed [13:0] fwht1_49;  // sfix14_En5
  output  signed [13:0] fwht1_50;  // sfix14_En5
  output  signed [13:0] fwht1_51;  // sfix14_En5
  output  signed [13:0] fwht1_52;  // sfix14_En5
  output  signed [13:0] fwht1_53;  // sfix14_En5
  output  signed [13:0] fwht1_54;  // sfix14_En5
  output  signed [13:0] fwht1_55;  // sfix14_En5
  output  signed [13:0] fwht1_56;  // sfix14_En5
  output  signed [13:0] fwht1_57;  // sfix14_En5
  output  signed [13:0] fwht1_58;  // sfix14_En5
  output  signed [13:0] fwht1_59;  // sfix14_En5
  output  signed [13:0] fwht1_60;  // sfix14_En5
  output  signed [13:0] fwht1_61;  // sfix14_En5
  output  signed [13:0] fwht1_62;  // sfix14_En5
  output  signed [13:0] fwht1_63;  // sfix14_En5


  wire enb;
  wire [8:0] y [0:63];  // ufix9 [64]
  reg signed [13:0] fwht1 [0:63];  // sfix14_En5 [64]
  reg signed [13:0] fwhtcustomV2_FixPt_fwht1_1 [0:63];  // sfix14_En5 [64]
  reg signed [31:0] fwhtcustomV2_FixPt_slice_temp_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_slice_temp_0_1;  // int32
  reg signed [14:0] fwhtcustomV2_FixPt_a_1 [0:7];  // sfix15_En3 [8]
  reg signed [14:0] fwhtcustomV2_FixPt_c_1 [0:7];  // sfix15_En3 [8]
  reg signed [11:0] fwhtcustomV2_FixPt_H_1 [0:7];  // sfix12 [8]
  reg signed [10:0] fwhtcustomV2_FixPt_D_1 [0:7];  // sfix11 [8]
  reg signed [10:0] fwhtcustomV2_FixPt_C_2 [0:7];  // sfix11 [8]
  reg signed [31:0] fwhtcustomV2_FixPt_i_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_0_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_1_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_2_1;  // int32
  reg [8:0] fwhtcustomV2_FixPt_t_3_1 [0:7];  // ufix9 [8]
  reg signed [31:0] fwhtcustomV2_FixPt_t_4_1;  // int32
  reg [8:0] fwhtcustomV2_FixPt_t_5_1 [0:7];  // ufix9 [8]
  reg signed [31:0] fwhtcustomV2_FixPt_t_6_1;  // int32
  reg [8:0] fwhtcustomV2_FixPt_t_7_1 [0:7];  // ufix9 [8]
  reg signed [31:0] fwhtcustomV2_FixPt_t_8_1;  // int32
  reg [8:0] fwhtcustomV2_FixPt_t_9_1 [0:7];  // ufix9 [8]
  reg signed [31:0] fwhtcustomV2_FixPt_t_10_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_11_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_12_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_13_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_14_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_15_1;  // int32
  reg signed [31:0] fwhtcustomV2_FixPt_t_16_1;  // int32
  reg signed [63:0] fwhtcustomV2_FixPt_cast_1 [0:7];  // sfix64 [8]
  reg signed [63:0] fwhtcustomV2_FixPt_cast_0_1 [0:7];  // sfix64 [8]
  reg [9:0] fwhtcustomV2_FixPt_add_temp_1 [0:3];  // ufix10 [4]
  reg [9:0] fwhtcustomV2_FixPt_sub_temp_1 [0:3];  // ufix10 [4]


  assign y[0] = y_0;
  assign y[1] = y_1;
  assign y[2] = y_2;
  assign y[3] = y_3;
  assign y[4] = y_4;
  assign y[5] = y_5;
  assign y[6] = y_6;
  assign y[7] = y_7;
  assign y[8] = y_8;
  assign y[9] = y_9;
  assign y[10] = y_10;
  assign y[11] = y_11;
  assign y[12] = y_12;
  assign y[13] = y_13;
  assign y[14] = y_14;
  assign y[15] = y_15;
  assign y[16] = y_16;
  assign y[17] = y_17;
  assign y[18] = y_18;
  assign y[19] = y_19;
  assign y[20] = y_20;
  assign y[21] = y_21;
  assign y[22] = y_22;
  assign y[23] = y_23;
  assign y[24] = y_24;
  assign y[25] = y_25;
  assign y[26] = y_26;
  assign y[27] = y_27;
  assign y[28] = y_28;
  assign y[29] = y_29;
  assign y[30] = y_30;
  assign y[31] = y_31;
  assign y[32] = y_32;
  assign y[33] = y_33;
  assign y[34] = y_34;
  assign y[35] = y_35;
  assign y[36] = y_36;
  assign y[37] = y_37;
  assign y[38] = y_38;
  assign y[39] = y_39;
  assign y[40] = y_40;
  assign y[41] = y_41;
  assign y[42] = y_42;
  assign y[43] = y_43;
  assign y[44] = y_44;
  assign y[45] = y_45;
  assign y[46] = y_46;
  assign y[47] = y_47;
  assign y[48] = y_48;
  assign y[49] = y_49;
  assign y[50] = y_50;
  assign y[51] = y_51;
  assign y[52] = y_52;
  assign y[53] = y_53;
  assign y[54] = y_54;
  assign y[55] = y_55;
  assign y[56] = y_56;
  assign y[57] = y_57;
  assign y[58] = y_58;
  assign y[59] = y_59;
  assign y[60] = y_60;
  assign y[61] = y_61;
  assign y[62] = y_62;
  assign y[63] = y_63;

  assign enb = clk_enable;

  always @* begin
    //spssa
    //3rd stage
    //2nd stage
    //1st stage
    // x=y(:,i);
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    //                                                                          %
    //        Generated by MATLAB 8.1, MATLAB Coder 2.4 and HDL Coder 3.2      %
    //                                                                          %
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    for(fwhtcustomV2_FixPt_t_0_1 = 0; fwhtcustomV2_FixPt_t_0_1 <= 7; fwhtcustomV2_FixPt_t_0_1 = fwhtcustomV2_FixPt_t_0_1 + 1) begin
      fwhtcustomV2_FixPt_D_1[fwhtcustomV2_FixPt_t_0_1] = 11'sb00000000001;
      fwhtcustomV2_FixPt_C_2[fwhtcustomV2_FixPt_t_0_1] = 11'sb00000000001;
    end


    for(fwhtcustomV2_FixPt_t_1_1 = 0; fwhtcustomV2_FixPt_t_1_1 <= 63; fwhtcustomV2_FixPt_t_1_1 = fwhtcustomV2_FixPt_t_1_1 + 1) begin
      fwhtcustomV2_FixPt_fwht1_1[fwhtcustomV2_FixPt_t_1_1] = 14'sb00000000000000;
    end


    for(fwhtcustomV2_FixPt_i_1 = 0; fwhtcustomV2_FixPt_i_1 <= 7; fwhtcustomV2_FixPt_i_1 = fwhtcustomV2_FixPt_i_1 + 1) begin
      fwhtcustomV2_FixPt_cast_1[fwhtcustomV2_FixPt_i_1] = {{29{fwhtcustomV2_FixPt_i_1[31]}}, {fwhtcustomV2_FixPt_i_1, 3'b000}};
      fwhtcustomV2_FixPt_slice_temp_1 = fwhtcustomV2_FixPt_cast_1[fwhtcustomV2_FixPt_i_1][31:0];
      fwhtcustomV2_FixPt_cast_0_1[fwhtcustomV2_FixPt_i_1] = {{29{fwhtcustomV2_FixPt_i_1[31]}}, {fwhtcustomV2_FixPt_i_1, 3'b000}};
      fwhtcustomV2_FixPt_slice_temp_0_1 = fwhtcustomV2_FixPt_cast_0_1[fwhtcustomV2_FixPt_i_1][31:0];

      for(fwhtcustomV2_FixPt_t_4_1 = 0; fwhtcustomV2_FixPt_t_4_1 <= 7; fwhtcustomV2_FixPt_t_4_1 = fwhtcustomV2_FixPt_t_4_1 + 1) begin
        fwhtcustomV2_FixPt_t_3_1[fwhtcustomV2_FixPt_t_4_1] = y[fwhtcustomV2_FixPt_t_4_1 + fwhtcustomV2_FixPt_slice_temp_1];
        fwhtcustomV2_FixPt_t_5_1[fwhtcustomV2_FixPt_t_4_1] = y[fwhtcustomV2_FixPt_t_4_1 + fwhtcustomV2_FixPt_slice_temp_1];
      end


      for(fwhtcustomV2_FixPt_t_6_1 = 0; fwhtcustomV2_FixPt_t_6_1 <= 3; fwhtcustomV2_FixPt_t_6_1 = fwhtcustomV2_FixPt_t_6_1 + 1) begin
        fwhtcustomV2_FixPt_add_temp_1[fwhtcustomV2_FixPt_t_6_1] = fwhtcustomV2_FixPt_t_3_1[fwhtcustomV2_FixPt_t_6_1] + fwhtcustomV2_FixPt_t_5_1[4 + fwhtcustomV2_FixPt_t_6_1];
        fwhtcustomV2_FixPt_C_2[fwhtcustomV2_FixPt_t_6_1] = fwhtcustomV2_FixPt_add_temp_1[fwhtcustomV2_FixPt_t_6_1];
      end


      for(fwhtcustomV2_FixPt_t_8_1 = 0; fwhtcustomV2_FixPt_t_8_1 <= 7; fwhtcustomV2_FixPt_t_8_1 = fwhtcustomV2_FixPt_t_8_1 + 1) begin
        fwhtcustomV2_FixPt_t_7_1[fwhtcustomV2_FixPt_t_8_1] = y[fwhtcustomV2_FixPt_t_8_1 + fwhtcustomV2_FixPt_slice_temp_1];
        fwhtcustomV2_FixPt_t_9_1[fwhtcustomV2_FixPt_t_8_1] = y[fwhtcustomV2_FixPt_t_8_1 + fwhtcustomV2_FixPt_slice_temp_1];
      end


      for(fwhtcustomV2_FixPt_t_10_1 = 0; fwhtcustomV2_FixPt_t_10_1 <= 3; fwhtcustomV2_FixPt_t_10_1 = fwhtcustomV2_FixPt_t_10_1 + 1) begin
        fwhtcustomV2_FixPt_sub_temp_1[fwhtcustomV2_FixPt_t_10_1] = fwhtcustomV2_FixPt_t_7_1[fwhtcustomV2_FixPt_t_10_1] - fwhtcustomV2_FixPt_t_9_1[4 + fwhtcustomV2_FixPt_t_10_1];
        fwhtcustomV2_FixPt_C_2[4 + fwhtcustomV2_FixPt_t_10_1] = fwhtcustomV2_FixPt_sub_temp_1[fwhtcustomV2_FixPt_t_10_1];
      end


      for(fwhtcustomV2_FixPt_t_11_1 = 0; fwhtcustomV2_FixPt_t_11_1 <= 1; fwhtcustomV2_FixPt_t_11_1 = fwhtcustomV2_FixPt_t_11_1 + 1) begin
        fwhtcustomV2_FixPt_D_1[fwhtcustomV2_FixPt_t_11_1] = fwhtcustomV2_FixPt_C_2[fwhtcustomV2_FixPt_t_11_1] + fwhtcustomV2_FixPt_C_2[2 + fwhtcustomV2_FixPt_t_11_1];
      end


      for(fwhtcustomV2_FixPt_t_12_1 = 0; fwhtcustomV2_FixPt_t_12_1 <= 1; fwhtcustomV2_FixPt_t_12_1 = fwhtcustomV2_FixPt_t_12_1 + 1) begin
        fwhtcustomV2_FixPt_D_1[2 + fwhtcustomV2_FixPt_t_12_1] = fwhtcustomV2_FixPt_C_2[fwhtcustomV2_FixPt_t_12_1] - fwhtcustomV2_FixPt_C_2[2 + fwhtcustomV2_FixPt_t_12_1];
      end


      for(fwhtcustomV2_FixPt_t_13_1 = 0; fwhtcustomV2_FixPt_t_13_1 <= 1; fwhtcustomV2_FixPt_t_13_1 = fwhtcustomV2_FixPt_t_13_1 + 1) begin
        fwhtcustomV2_FixPt_D_1[4 + fwhtcustomV2_FixPt_t_13_1] = fwhtcustomV2_FixPt_C_2[4 + fwhtcustomV2_FixPt_t_13_1] + fwhtcustomV2_FixPt_C_2[6 + fwhtcustomV2_FixPt_t_13_1];
      end


      for(fwhtcustomV2_FixPt_t_14_1 = 0; fwhtcustomV2_FixPt_t_14_1 <= 1; fwhtcustomV2_FixPt_t_14_1 = fwhtcustomV2_FixPt_t_14_1 + 1) begin
        fwhtcustomV2_FixPt_D_1[6 + fwhtcustomV2_FixPt_t_14_1] = fwhtcustomV2_FixPt_C_2[4 + fwhtcustomV2_FixPt_t_14_1] - fwhtcustomV2_FixPt_C_2[6 + fwhtcustomV2_FixPt_t_14_1];
      end

      fwhtcustomV2_FixPt_H_1[0] = fwhtcustomV2_FixPt_D_1[0] + fwhtcustomV2_FixPt_D_1[1];
      fwhtcustomV2_FixPt_H_1[1] = fwhtcustomV2_FixPt_D_1[4] + fwhtcustomV2_FixPt_D_1[5];
      fwhtcustomV2_FixPt_H_1[2] = fwhtcustomV2_FixPt_D_1[6] + fwhtcustomV2_FixPt_D_1[7];
      fwhtcustomV2_FixPt_H_1[3] = fwhtcustomV2_FixPt_D_1[2] + fwhtcustomV2_FixPt_D_1[3];
      fwhtcustomV2_FixPt_H_1[4] = fwhtcustomV2_FixPt_D_1[2] - fwhtcustomV2_FixPt_D_1[3];
      fwhtcustomV2_FixPt_H_1[5] = fwhtcustomV2_FixPt_D_1[6] - fwhtcustomV2_FixPt_D_1[7];
      fwhtcustomV2_FixPt_H_1[6] = fwhtcustomV2_FixPt_D_1[4] - fwhtcustomV2_FixPt_D_1[5];
      fwhtcustomV2_FixPt_H_1[7] = fwhtcustomV2_FixPt_D_1[0] - fwhtcustomV2_FixPt_D_1[1];

      for(fwhtcustomV2_FixPt_t_15_1 = 0; fwhtcustomV2_FixPt_t_15_1 <= 7; fwhtcustomV2_FixPt_t_15_1 = fwhtcustomV2_FixPt_t_15_1 + 1) begin
        fwhtcustomV2_FixPt_a_1[fwhtcustomV2_FixPt_t_15_1] = {fwhtcustomV2_FixPt_H_1[fwhtcustomV2_FixPt_t_15_1], 3'b000};
        fwhtcustomV2_FixPt_c_1[fwhtcustomV2_FixPt_t_15_1] = fwhtcustomV2_FixPt_a_1[fwhtcustomV2_FixPt_t_15_1] >> 3;
      end


      for(fwhtcustomV2_FixPt_t_16_1 = 0; fwhtcustomV2_FixPt_t_16_1 <= 7; fwhtcustomV2_FixPt_t_16_1 = fwhtcustomV2_FixPt_t_16_1 + 1) begin
        fwhtcustomV2_FixPt_fwht1_1[fwhtcustomV2_FixPt_t_16_1 + fwhtcustomV2_FixPt_slice_temp_0_1] = {fwhtcustomV2_FixPt_c_1[fwhtcustomV2_FixPt_t_16_1][11:0], 2'b00};
      end

    end


    for(fwhtcustomV2_FixPt_t_2_1 = 0; fwhtcustomV2_FixPt_t_2_1 <= 63; fwhtcustomV2_FixPt_t_2_1 = fwhtcustomV2_FixPt_t_2_1 + 1) begin
      fwht1[fwhtcustomV2_FixPt_t_2_1] = fwhtcustomV2_FixPt_fwht1_1[fwhtcustomV2_FixPt_t_2_1];
    end

  end



  assign fwht1_0 = fwht1[0];

  assign fwht1_1 = fwht1[1];

  assign fwht1_2 = fwht1[2];

  assign fwht1_3 = fwht1[3];

  assign fwht1_4 = fwht1[4];

  assign fwht1_5 = fwht1[5];

  assign fwht1_6 = fwht1[6];

  assign fwht1_7 = fwht1[7];

  assign fwht1_8 = fwht1[8];

  assign fwht1_9 = fwht1[9];

  assign fwht1_10 = fwht1[10];

  assign fwht1_11 = fwht1[11];

  assign fwht1_12 = fwht1[12];

  assign fwht1_13 = fwht1[13];

  assign fwht1_14 = fwht1[14];

  assign fwht1_15 = fwht1[15];

  assign fwht1_16 = fwht1[16];

  assign fwht1_17 = fwht1[17];

  assign fwht1_18 = fwht1[18];

  assign fwht1_19 = fwht1[19];

  assign fwht1_20 = fwht1[20];

  assign fwht1_21 = fwht1[21];

  assign fwht1_22 = fwht1[22];

  assign fwht1_23 = fwht1[23];

  assign fwht1_24 = fwht1[24];

  assign fwht1_25 = fwht1[25];

  assign fwht1_26 = fwht1[26];

  assign fwht1_27 = fwht1[27];

  assign fwht1_28 = fwht1[28];

  assign fwht1_29 = fwht1[29];

  assign fwht1_30 = fwht1[30];

  assign fwht1_31 = fwht1[31];

  assign fwht1_32 = fwht1[32];

  assign fwht1_33 = fwht1[33];

  assign fwht1_34 = fwht1[34];

  assign fwht1_35 = fwht1[35];

  assign fwht1_36 = fwht1[36];

  assign fwht1_37 = fwht1[37];

  assign fwht1_38 = fwht1[38];

  assign fwht1_39 = fwht1[39];

  assign fwht1_40 = fwht1[40];

  assign fwht1_41 = fwht1[41];

  assign fwht1_42 = fwht1[42];

  assign fwht1_43 = fwht1[43];

  assign fwht1_44 = fwht1[44];

  assign fwht1_45 = fwht1[45];

  assign fwht1_46 = fwht1[46];

  assign fwht1_47 = fwht1[47];

  assign fwht1_48 = fwht1[48];

  assign fwht1_49 = fwht1[49];

  assign fwht1_50 = fwht1[50];

  assign fwht1_51 = fwht1[51];

  assign fwht1_52 = fwht1[52];

  assign fwht1_53 = fwht1[53];

  assign fwht1_54 = fwht1[54];

  assign fwht1_55 = fwht1[55];

  assign fwht1_56 = fwht1[56];

  assign fwht1_57 = fwht1[57];

  assign fwht1_58 = fwht1[58];

  assign fwht1_59 = fwht1[59];

  assign fwht1_60 = fwht1[60];

  assign fwht1_61 = fwht1[61];

  assign fwht1_62 = fwht1[62];

  assign fwht1_63 = fwht1[63];

  assign ce_out = clk_enable;

endmodule  // fwhtcustomV2_FixPt

但上面的代码没有优化。我不能在硬件模拟器altera quartus中使用上面的代码,因为它说它使用了超过500个与列出的处理器不兼容的缓冲区。由于我是verilog的新手,我不知道流水线和优化。任何人都可以为我优化这段代码。

0 个答案:

没有答案