HierarchyFilesModulesSignalsTasksFunctionsHelp
12345
/****************************************************************
 ---------------------------------------------------------------
     Copyright 1999 Sun Microsystems, Inc., 901 San Antonio
     Road, Palo Alto, CA 94303, U.S.A.  All Rights Reserved.
     The contents of this file are subject to the current
     version of the Sun Community Source License, picoJava-II
     Core ("the License").  You may not use this file except
     in compliance with the License.  You may obtain a copy
     of the License by searching for "Sun Community Source
     License" on the World Wide Web at http://www.sun.com.
     See the License for the rights, obligations, and
     limitations governing use of the contents of this file.

     Sun, Sun Microsystems, the Sun logo, and all Sun-based
     trademarks and logos, Java, picoJava, and all Java-based
     trademarks and logos are trademarks or registered trademarks 
     of Sun Microsystems, Inc. in the United States and other
     countries.
 ----------------------------------------------------------------
******************************************************************/

module ucode_rom (
                             nxt_ucode_cnt,
                             rom_fxx 
                            );

//  `include  "../../common/ucode.h"

input    [8:0] nxt_ucode_cnt;      // next_state of_the ucode sequencer

output [(`USED_BITS-1):0] rom_fxx; // actual used rom data_out

// ------------- declarations ---------------------------------------------

// synopsys translate_off

reg      [1:0] f00;                // field_00: IU_zero_comparator
reg      [2:0] f01;                // Field_01: Ucode and StacK         WT
reg      [1:0] f02;                // Field_02: Ucode and Stack         RD
reg      [1:0] f03;                // Field_03: Ucode and Data_cache
reg      [6:0] f04;                // Field_04: Ucode and Architech_reg RD
reg      [2:0] f05;                // Field_05: Ucode and Architech_reg WT
reg      [3:0] f06;                // Field_06: Integer Unit ALU a_operand
reg      [2:0] f07;                // Field_07: Integer Unit ALU b_operand
reg      [2:0] f08;                // Field_08: Read_port_A of temp_regs
reg      [2:0] f09;                // Field_09: Read_port_B of temp_regs
reg      [2:0] f10;                // Field_10: Write_port_A of temp_reg SEL
reg      [2:0] f11;                // Field_11: Write_port_A of temp_reg WT
reg      [1:0] f12;                // Field_12: Write_port_B0 of temp_reg SEL
reg      [1:0] f13;                // Field_13: Write_port_B1 of temp_reg SEL
reg      [1:0] f14;                // Field_14: Write_port_B0 of temp_reg WT
reg            f15;                // Field_15: Write_port_B1 of temp_reg WT
reg      [1:0] f16;                // Field_16: Sel reg2/3/6->dat/stk cache
reg      [1:0] f17;                // field_17: IU_adder operations
reg     [11:0] f18;                // field_18: Branching in ucode
reg      [3:0] f19;                // field_19: Mem_adder a_operand
reg      [3:0] f20;                // field_20: Mem_adder b_operand
reg      [1:0] f21;                // field_21: Mem_adder operations
reg            f22;                // field_22: Sel stack_cache address
reg      [1:0] f23;                // field_23: Sel alu_adder input port_a

wire [(`USED_BITS-1):0] rom_fxx;   // actual used rom data_out


  assign rom_fxx = {f00,f01,f02,f03,f04,f05,f06,f07,
                    f08,f09,f10,f11,f12,f13,f14,f15,
                    f16,f17,f18,f19,f20,f21,f22,f23};

// ------------- state machine --------------------------------------------
  always @(nxt_ucode_cnt
          ) begin

    f00 = `F00_DEFAULT;
    f01 = `F01_DEFAULT;
    f02 = `F02_DEFAULT;
    f03 = `F03_DEFAULT;
    f04 = `F04_DEFAULT;
    f05 = `F05_DEFAULT;
    f06 = `F06_DEFAULT;
    f07 = `F07_DEFAULT;
    f08 = `F08_DEFAULT;
    f09 = `F09_DEFAULT;
    f10 = `F10_DEFAULT;
    f11 = `F11_DEFAULT;
    f12 = `F12_DEFAULT;
    f13 = `F13_DEFAULT;
    f14 = `F14_DEFAULT;
    f15 = `F15_DEFAULT;
    f16 = `F16_DEFAULT;
    f17 = `F17_DEFAULT;
    f18 = `F18_DEFAULT;
    f19 = `F19_DEFAULT;
    f20 = `F20_DEFAULT;
    f21 = `F21_DEFAULT;
    f22 = `F22_DEFAULT;
    f23 = `F23_DEFAULT;

      case (nxt_ucode_cnt)         //synopsys parallel_case

        `U_IDLE: begin
               end 

// ####### Ucode Operations ######################################

// ---- 9'd1 ~1/3 of arraylength ------------- Offset  9'd0 ------

// ------- start "arraylength" -----------------------------------

        9'd1:  begin

f19 = `F19_SEL_RS1_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f01 = `F01_WT_DREG_STK_M8;
f06 = `F06_A_CONST_04;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f22 = `F22_SEL_IALU;
f08 = `F08_RD_RS1_A;
f00 = `F00_RS1_COMP_ZERO;
f18 = `F18_CHK_NULL | `F18_CHK_1CYC_LENG;

               end

        9'd2:  begin
               end

        9'd3:  begin

f19 = `F19_SEL_DCACHE_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f01 = `F01_WT_DREG_STK_M8;
f18 = `F18_U_LAST;
 
               end

// ======= end of "arraylength" ==================================

// ---- 9'd1 ~3/5 of baload ------------------ Offset  9'd3 ------

// ------- start "baload" ----------------------------------------

        9'd4:  begin

f19 = `F19_SEL_RS2_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f06 = `F06_A_CONST_01;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG1_A;
f08 = `F08_RD_RS2_A;
f00 = `F00_RS2_COMP_ZERO;
f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd5:  begin

f18 = `F18_CHK_ARY_NEG;

               end

        9'd6:  begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
 
               end

        9'd7:  begin
 
f19 = `F19_SEL_OPTOP_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG2_A;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd8:  begin
 
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_03;
f21 = `F21_MADD_pApB;
f03 = `F03_ARY_LD;
f01 = `F01_WT_DREG_STK;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF;
 
               end

// ======= end of "baload" =======================================

// ---- 9'd1 ~3/5 of caload ------------------ Offset  9'd8 ------

// ------- start "caload" ----------------------------------------

        9'd9:  begin

f19 = `F19_SEL_RS2_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f06 = `F06_A_CONST_01;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG1_A;
f08 = `F08_RD_RS2_A;
f00 = `F00_RS2_COMP_ZERO;
f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd10: begin

f18 = `F18_CHK_ARY_NEG;

               end

        9'd11: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
 
               end

        9'd12: begin
 
f19 = `F19_SEL_OPTOP_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_REG1_A;
f06 = `F06_A_LSH1;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG2_A;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd13: begin
 
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_02;
f21 = `F21_MADD_pApB;
f03 = `F03_ARY_LD;
f01 = `F01_WT_DREG_STK;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF;
 
               end

// ======= end of "caload" =======================================

// ---- 9'd1 ~3/5 of iaload ------------------ Offset  9'd13 -----

// ------- start "iaload" ----------------------------------------

        9'd14: begin

f19 = `F19_SEL_RS2_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f06 = `F06_A_CONST_01;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG1_A;
f08 = `F08_RD_RS2_A;
f00 = `F00_RS2_COMP_ZERO;
f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd15: begin

f18 = `F18_CHK_ARY_NEG;

               end

        9'd16: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
 
               end

        9'd17: begin
 
f19 = `F19_SEL_OPTOP_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_REG1_A;
f06 = `F06_A_LSH2;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG2_A;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd18: begin
 
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f01 = `F01_WT_DREG_STK;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF;
 
               end

// ======= end of "iaload" =======================================

// ---- 9'd1 ~4/6 of laload ------------------ Offset  9'd18 -----

// ------- start "laload" ----------------------------------------

        9'd19: begin

f19 = `F19_SEL_RS2_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f06 = `F06_A_CONST_01;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG1_A;
f08 = `F08_RD_RS2_A;
f00 = `F00_RS2_COMP_ZERO;
f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd20: begin

f18 = `F18_CHK_ARY_NEG;

               end

        9'd21: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
 
               end

        9'd22: begin
 
f19 = `F19_SEL_OPTOP_MA;
f20 = `F20_MB_CONST_08;
f21 = `F21_MADD_pApB;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_REG1_A;
f06 = `F06_A_LSH3;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG2_A;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd23: begin
 
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f01 = `F01_WT_DREG_STK;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_CHK_ARY_OVF;
 
               end

        9'd24: begin
 
f16 = `F16_SEL_R2_CACHE;                  
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pAsB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_04;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f22 = `F22_SEL_IALU;
f01 = `F01_WT_DREG_STK;
f18 = `F18_U_LAST;

               end

// ======= end of "laload" =======================================

// ---- 9'd1 ~5/7 of bastore ----------------- Offset  9'd24 -----

// ------- start "bastore" ---------------------------------------

        9'd25: begin
 
f06 = `F06_A_CONST_00;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f10 = `F10_SEL_RS2_A;
f11 = `F11_WT_REG2_A;
f12 = `F12_SEL_RS2_B0;
f14 = `F14_WT_REG5_B0;

               end                                  
 
        9'd26: begin
 
f02 = `F02_RD_STK;
f10 = `F10_SEL_RS1_A;
f11 = `F11_WT_REG3_A;
 
               end
 
        9'd27: begin

f19 = `F19_SEL_RS1_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_08;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1_M2;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_RS1_A;
f00 = `F00_RS1_COMP_ZERO;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd28: begin
               end

        9'd29: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_04;
f09 = `F09_RD_DCACHE_BM2;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd30: begin
 
f08 = `F08_RD_REG2_A;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_01;
f21 = `F21_MADD_pApB;
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG1_A;
 
               end

        9'd31: begin
 
f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f16 = `F16_SEL_R3_CACHE;
f03 = `F03_WT_DCACHE;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF | `F18_CHK_ARY_NEG;
 
               end

// ======= end of "bastore" ======================================

// ---- 9'd1 ~5/7 of castore ----------------- Offset  9'd31 -----

// ------- start "castore" ---------------------------------------

        9'd32: begin
 
f06 = `F06_A_CONST_00;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f10 = `F10_SEL_RS2_A;
f11 = `F11_WT_REG2_A;
f12 = `F12_SEL_RS2_B0;
f14 = `F14_WT_REG5_B0;

               end                                  
 
        9'd33: begin
 
f02 = `F02_RD_STK;
f10 = `F10_SEL_RS1_A;
f11 = `F11_WT_REG3_A;
 
               end
 
        9'd34: begin

f19 = `F19_SEL_RS1_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_08;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1_M2;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_RS1_A;
f00 = `F00_RS1_COMP_ZERO;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd35: begin
               end

        9'd36: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_04;
f09 = `F09_RD_DCACHE_BM2;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd37: begin
 
f08 = `F08_RD_REG2_A;
f06 = `F06_A_LSH1;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_01;
f21 = `F21_MADD_pApB;
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG1_A;
 
               end

        9'd38: begin
 
f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f16 = `F16_SEL_R3_CACHE;
f03 = `F03_WT_DCACHE;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF | `F18_CHK_ARY_NEG;
 
               end

// ======= end of "castore" ======================================

// ---- 9'd1 ~5/7 of iastore ----------------- Offset  9'd38 -----

// ------- start "iastore" ---------------------------------------

        9'd39: begin
 
f06 = `F06_A_CONST_00;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f10 = `F10_SEL_RS2_A;
f11 = `F11_WT_REG2_A;
f12 = `F12_SEL_RS2_B0;
f14 = `F14_WT_REG5_B0;

               end                                  
 
        9'd40: begin
 
f02 = `F02_RD_STK;
f10 = `F10_SEL_RS1_A;
f11 = `F11_WT_REG3_A;
 
               end
 
        9'd41: begin

f19 = `F19_SEL_RS1_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_08;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1_M2;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_RS1_A;
f00 = `F00_RS1_COMP_ZERO;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd42: begin
               end

        9'd43: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_04;
f09 = `F09_RD_DCACHE_BM2;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd44: begin
 
f08 = `F08_RD_REG2_A;
f06 = `F06_A_LSH2;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f16 = `F16_SEL_R2_CACHE;
f19 = `F19_SEL_PORTC_MA;
f20 = `F20_MB_CONST_01;
f21 = `F21_MADD_pApB;
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG1_A;
 
               end

        9'd45: begin
 
f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f16 = `F16_SEL_R3_CACHE;
f03 = `F03_WT_DCACHE;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_U_LAST | `F18_CHK_ARY_OVF | `F18_CHK_ARY_NEG;
 
               end

// ======= end of "iastore" ======================================

// ---- 9'd1 ~6/8 of lastore ----------------- Offset  9'd45 -----

// ------- start "lastore" ---------------------------------------

        9'd46: begin
 
f06 = `F06_A_CONST_00;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f12 = `F12_SEL_RS2_B0;
f14 = `F14_WT_REG6_B0;

               end                                  
 
        9'd47: begin
 
f02 = `F02_RD_STK;
f06 = `F06_A_CONST_04;
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f10 = `F10_SEL_RS1_A;
f11 = `F11_WT_REG3_A;
 
               end
 
        9'd48: begin

f02 = `F02_RD_STK;
f19 = `F19_SEL_RS1_MA_M2;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_08;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_RS1_M2;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_RS1_A;
f00 = `F00_RS1_COMP_ZERO;
f18 = `F18_CHK_NULL | `F18_CHK_HANDLE;

               end

        9'd49: begin

f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;

               end

        9'd50: begin

f19 = `F19_SEL_DCACHE_MA2;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_04;
f09 = `F09_RD_DCACHE_BM2;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f18 = `F18_CHK_ARY_NEG;
 
               end

        9'd51: begin
 
f09 = `F09_RD_AREG0_B;
f23 = `F23_SEL_RS1_LH3_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pApB;
f13 = `F13_SEL_ALU_B1;
f15 = `F15_WT_AREG0_B1;
f19 = `F19_SEL_RS1_MA;
f20 = `F20_MB_CONST_01;
f21 = `F21_MADD_pApB;
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG1_A;
f12 = `F12_SEL_RS1_B0;
f14 = `F14_WT_REG5_B0;
 
               end

        9'd52: begin
 
f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_00;
f21 = `F21_MADD_pApB;
f16 = `F16_SEL_R3_CACHE;
f03 = `F03_WT_DCACHE;
f08 = `F08_RD_REG1_A;
f09 = `F09_RD_DCACHE_BM8;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_sApB;
f18 = `F18_CHK_ARY_OVF | `F18_CHK_ARY_NEG;
 
               end

        9'd53: begin
 
f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f16 = `F16_SEL_R6_CACHE;
f03 = `F03_WT_DCACHE;
f18 = `F18_U_LAST;
 
               end

// ======= end of "lastore" ======================================

// ---- 9'd1 ~ 11 of invoke_static_quick ----- Offset  9'd53 -----

// ------- start "invoke_static_quick" ---------------------------

        9'd54: begin
 
f04 = `F04_RD_CONST_P;
f19 = `F19_SEL_ARCH_MA;
f20 = `F20_RD_I16_LSH2_MB;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;

               end

        9'd55: begin

f19 = `F19_SEL_OPTOP_MA;
f20 = `F20_MB_CONST_20;
f21 = `F21_MADD_pAsB;
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG0_A; 
f06 = `F06_A_CONST_00;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_OPTOP;
f17 = `F17_IALU_pApB;
f12 = `F12_SEL_ALU_B0;
f14 = `F14_WT_REG6_B0;

               end

        9'd56: begin

f19 = `F19_SEL_DCACHE_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_MA_B1;
f15 = `F15_WT_AREG0_B1;
f10 = `F10_SEL_DCACHE_A;
f11 = `F11_WT_REG3_A;

               end

        9'd57: begin

f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pApB;
f03 = `F03_RD_DCACHE;
f06 = `F06_A_CONST_03;
f04 = `F04_RD_PC;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_ARCH;
f17 = `F17_IALU_pApB;
f10 = `F10_SEL_ALU_A;
f11 = `F11_WT_REG2_A;

               end

        9'd58: begin

f19 = `F19_SEL_OPTOP_MA; 
f20 = `F20_SEL_DCACHE_MB;
f21 = `F21_MADD_pAsB;   
f10 = `F10_SEL_MA_A;
f11 = `F11_WT_REG0_A;
f08 = `F08_RD_REG0_A;
f09 = `F09_RD_DCACHE_B;
f23 = `F23_SEL_IALU_A;
f07 = `F07_B_U_PORTB;
f17 = `F17_IALU_pAsB; 
f12 = `F12_SEL_ALU_B0;
f14 = `F14_WT_REG5_B0;

               end

        9'd59: begin

f19 = `F19_SEL_AREG0_MA;
f20 = `F20_MB_CONST_04;
f21 = `F21_MADD_pAsB;
f03 = `F03_RD_DCACHE;
f13 = `F13_SEL_PASS_A_B1;
f15 = `F15_WT_AREG0_B1;
f08 = `F08_RD_REG5_A;
f05 = `F05_WT_A_OPTOP;

               end

Next12345
HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Wed Mar 24 09:43:47 1999
From: /import/jet-pj2-sim/rahim/picoJava-II/design/iu/ucode/rtl/ucode_rom.v

Verilog converted to html by v2html 5.0 (written by Costas Calamvokis).Help