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

📄 corr_kc.uc

📁 H.264完整的C语言代码和DCT的代码
💻 UC
📖 第 1 页 / 共 5 页
字号:
// microassembly program:  D:\working\im_apps\h264\corr_kc.i
// machine description:    gold8.md
// KERNELDEF: instrs: 66 params: i 0 i 1 i 2 i 3 o 4 o 5 r 1 blocks: 3 25 2  41 1  0 -1  SWP_block_depth: 3 -1 1 -1 func_name: correlate block_io_counts: 3 6 0 0 0 0 0 0 0 1 16 8 8 8 8 8 0 0 0 0 0 0 0 
PARAMS: SCHED_METHOD: COS UC_BITS: 497
         NUM_INPUT_STREAMS: 4 NUM_OUTPUT_STREAMS: 2

// RESULTS: -rs 0, -rf 0
//   block: 0 best: 22 achieved: 25 (lines: 1-58, instrs: 0-24)
//   block: 1 best: 32 achieved: 41 (lines: 59-254, instrs: 25-65)
//   block: 2 best: 0 achieved: 0 (lines: none, instrs: none)

instr: 0
    MC: OP: NONE LINE:-1,
    U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
    B:11 = RF:14:OUT:0:REG:0 VAR: cluster#id DATATYPE: ANYINT,
    U5:IN:1 = B:11 VAR: cluster#id DATATYPE: ANYINT,
    B:28 = U5:OUT:0 INSTR_LOG:1|cluster#id#||0 VAR: cluster#id DATATYPE: ANYINT,
    RF:5:IN:0:REG:1 = B:28 STAGE:-1 VAR: cluster#id DATATYPE: ANYINT,
    //  IN:DIVIDER_0: ( cluster#id ) = SELECT( hw_const#0 == CCRF_0[0], cluster#id == UNITRF_CID_0[0] )
    // OUT:DIVIDER_0: SELECT => ( cluster#id == UNITRF_0_4[1] )
    DEAD_REGS: {  };
instr: 1
    MC: OP: NONE LINE:-1,
    U3: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    U2: OP: ISUB32 LINE:29 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:29
    B:43 = RF:18:OUT:6:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U3:IN:2 = B:43 VAR: hw_const#0 DATATYPE: ANYINT,
    B:19 = RF:12:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U3:IN:1 = B:19 VAR: hw_const#1 DATATYPE: ANYINT,
    B:33 = U3:OUT:1 INSTR_LOG:1|const#1#||1 VAR: const#1 DATATYPE: ANYINT,
    RF:4:IN:0:REG:1 = B:33 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
    B:16 = RF:5:OUT:0:REG:1 VAR: cluster#id DATATYPE: ANYINT,
    U2:IN:0 = B:16 VAR: cluster#id DATATYPE: ANYINT,
    B:17 = RF:9:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: hw_const#1 DATATYPE: ANYINT,
    //  IN:MULTIPLIER_0: ( const#1 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#1 == MULRF_1_0[0] )
    // OUT:MULTIPLIER_0: SELECT => ( const#1 == UNITRF_0_3[1] )
    //  IN:ADDER_2: ( tmp#6 ) = ISUB32( cluster#id == UNITRF_0_4[1], hw_const#1 == UNITRF_1_3[0] )
    DEAD_REGS: {  };
instr: 2
    MC: OP: NONE LINE:-1,
    U4: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    U1: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    B:44 = RF:18:OUT:7:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U4:IN:2 = B:44 VAR: hw_const#0 DATATYPE: ANYINT,
    B:21 = RF:13:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U4:IN:1 = B:21 VAR: hw_const#1 DATATYPE: ANYINT,
    B:35 = U4:OUT:1 INSTR_LOG:1|const#1#||1 VAR: const#1 DATATYPE: ANYINT,
    RF:5:IN:0:REG:1 = B:35 STAGE:-1 VAR: const#1 DATATYPE: ANYINT,
    B:14 = RF:4:OUT:0:REG:1 VAR: const#1 DATATYPE: ANYINT,
    U1:IN:0 = B:14 VAR: const#1 DATATYPE: ANYINT,
    B:15 = RF:8:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: hw_const#1 DATATYPE: ANYINT,
    B:30 = U1:OUT:0 INSTR_LOG:1|const#2#||0 VAR: const#2 DATATYPE: ANYINT,
    RF:3:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
    RF:9:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#2 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:2|tmp#6#||0 VAR: tmp#6 DATATYPE: INT,
    RF:7:IN:0:REG:2 = B:31 STAGE:-1 VAR: tmp#6 DATATYPE: INT,
    //  IN:MULTIPLIER_1: ( const#1 ) = SELECT( hw_const#0 == CCRF_0[0], hw_const#1 == MULRF_1_1[0] )
    // OUT:MULTIPLIER_1: SELECT => ( const#1 == UNITRF_0_4[1] )
    //  IN:ADDER_1: ( const#2 ) = SHIFT32( const#1 == UNITRF_0_3[1], hw_const#1 == UNITRF_1_2[0] )
    // OUT:ADDER_1: SHIFT32 => ( const#2 == UNITRF_0_2[1], const#2 == UNITRF_1_3[1] )
    // OUT:ADDER_2: ISUB32 => ( tmp#6 == UNITRF_1_1[2] )
    DEAD_REGS: {  };
instr: 3
    MC: OP: NONE LINE:-1,
    U2: OP: SHIFT32 LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    U0: OP: OR LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    B:16 = RF:5:OUT:0:REG:1 VAR: const#1 DATATYPE: ANYINT,
    U2:IN:0 = B:16 VAR: const#1 DATATYPE: ANYINT,
    B:17 = RF:9:OUT:0:REG:1 VAR: const#2 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: const#2 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:1|const#4#||0 VAR: const#4 DATATYPE: ANYINT,
    RF:4:IN:0:REG:1 = B:31 STAGE:-1 VAR: const#4 DATATYPE: ANYINT,
    B:13 = RF:7:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U0:IN:1 = B:13 VAR: hw_const#1 DATATYPE: ANYINT,
    B:12 = RF:3:OUT:0:REG:1 VAR: const#2 DATATYPE: ANYINT,
    U0:IN:0 = B:12 VAR: const#2 DATATYPE: ANYINT,
    B:29 = U0:OUT:0 INSTR_LOG:1|const#3#||0 VAR: const#3 DATATYPE: ANYINT,
    RF:8:IN:0:REG:1 = B:29 STAGE:-1 VAR: const#3 DATATYPE: ANYINT,
    //  IN:ADDER_2: ( const#4 ) = SHIFT32( const#1 == UNITRF_0_4[1], const#2 == UNITRF_1_3[1] )
    // OUT:ADDER_2: SHIFT32 => ( const#4 == UNITRF_0_3[1] )
    //  IN:ADDER_0: ( const#3 ) = OR( hw_const#1 == UNITRF_1_1[0], const#2 == UNITRF_0_2[1] )
    // OUT:ADDER_0: OR => ( const#3 == UNITRF_1_2[1] )
    DEAD_REGS: {  };
instr: 4
    MC: OP: NONE LINE:-1,
    U1: OP: OR LINE:-1 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:-1
    B:15 = RF:8:OUT:0:REG:1 VAR: const#3 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: const#3 DATATYPE: ANYINT,
    B:14 = RF:4:OUT:0:REG:1 VAR: const#4 DATATYPE: ANYINT,
    U1:IN:0 = B:14 VAR: const#4 DATATYPE: ANYINT,
    B:30 = U1:OUT:0 INSTR_LOG:1|const#7#||0 VAR: const#7 DATATYPE: ANYINT,
    RF:3:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
    RF:8:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
    RF:9:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
    RF:7:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
    //  IN:ADDER_1: ( const#7 ) = OR( const#3 == UNITRF_1_2[1], const#4 == UNITRF_0_3[1] )
    // OUT:ADDER_1: OR => ( const#7 == UNITRF_0_2[1], const#7 == UNITRF_1_2[1], const#7 == UNITRF_1_3[1], const#7 == UNITRF_1_1[1] )
    DEAD_REGS: {  };
instr: 5
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x0 UCRF_WR:17 STAGES:-1,
    U0: OP: AND LINE:29 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:29
    B:13 = RF:7:OUT:0:REG:2 VAR: tmp#6 DATATYPE: INT,
    U0:IN:1 = B:13 VAR: tmp#6 DATATYPE: INT,
    B:12 = RF:3:OUT:0:REG:1 VAR: const#7 DATATYPE: ANYINT,
    U0:IN:0 = B:12 VAR: const#7 DATATYPE: ANYINT,
    B:29 = U0:OUT:0 INSTR_LOG:1|idx1#||0 VAR: idx1 DATATYPE: INT,
    RF:5:IN:0:REG:1 = B:29 STAGE:-1 VAR: idx1 DATATYPE: INT,
    RF:16:IN:0:REG:1 = B:29 STAGE:-1 VAR: idx1 DATATYPE: INT,
    RF:17:IN:0:REG:1 = B:29 STAGE:-1 VAR: idx1 DATATYPE: INT,
    //  IN:ADDER_0: ( idx1 ) = AND( tmp#6 == UNITRF_1_1[2], const#7 == UNITRF_0_2[1] )
    // OUT:ADDER_0: AND => ( idx1 == UNITRF_0_4[1], idx1 == SPIDXRF_0[1], idx1 == SPIDXRF_1[1] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0 == UCRF_0[17] )
    DEAD_REGS: {  };
instr: 6
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88888802 UCRF_WR:16 STAGES:-1,
    U2: OP: ISUB32 LINE:30 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:30
    B:16 = RF:5:OUT:0:REG:1 VAR: idx1 DATATYPE: INT,
    U2:IN:0 = B:16 VAR: idx1 DATATYPE: INT,
    B:17 = RF:9:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: hw_const#1 DATATYPE: ANYINT,
    //  IN:ADDER_2: ( tmp#7 ) = ISUB32( idx1 == UNITRF_0_4[1], hw_const#1 == UNITRF_1_3[0] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88888802 == UCRF_0[16] )
    DEAD_REGS: {  };
instr: 7
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88880288 UCRF_WR:15 STAGES:-1,
    B:31 = U2:OUT:0 INSTR_LOG:2|tmp#7#||0 VAR: tmp#7 DATATYPE: INT,
    RF:4:IN:0:REG:1 = B:31 STAGE:-1 VAR: tmp#7 DATATYPE: INT,
    // OUT:ADDER_2: ISUB32 => ( tmp#7 == UNITRF_0_3[1] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88880288 == UCRF_0[15] )
    DEAD_REGS: {  };
instr: 8
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88028888 UCRF_WR:14 STAGES:-1,
    U1: OP: AND LINE:30 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:30
    B:14 = RF:4:OUT:0:REG:1 VAR: tmp#7 DATATYPE: INT,
    U1:IN:0 = B:14 VAR: tmp#7 DATATYPE: INT,
    B:15 = RF:8:OUT:0:REG:1 VAR: const#7 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: const#7 DATATYPE: ANYINT,
    B:30 = U1:OUT:0 INSTR_LOG:1|idx2#||0 VAR: idx2 DATATYPE: INT,
    RF:3:IN:0:REG:1 = B:30 STAGE:-1 VAR: idx2 DATATYPE: INT,
    RF:16:IN:0:REG:2 = B:30 STAGE:-1 VAR: idx2 DATATYPE: INT,
    RF:17:IN:0:REG:2 = B:30 STAGE:-1 VAR: idx2 DATATYPE: INT,
    //  IN:ADDER_1: ( idx2 ) = AND( tmp#7 == UNITRF_0_3[1], const#7 == UNITRF_1_2[1] )
    // OUT:ADDER_1: AND => ( idx2 == UNITRF_0_2[1], idx2 == SPIDXRF_0[2], idx2 == SPIDXRF_1[2] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88028888 == UCRF_0[14] )
    DEAD_REGS: {  };
instr: 9
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x2888888 UCRF_WR:13 STAGES:-1,
    U0: OP: ISUB32 LINE:31 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:31
    B:12 = RF:3:OUT:0:REG:1 VAR: idx2 DATATYPE: INT,
    U0:IN:0 = B:12 VAR: idx2 DATATYPE: INT,
    B:13 = RF:7:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U0:IN:1 = B:13 VAR: hw_const#1 DATATYPE: ANYINT,
    //  IN:ADDER_0: ( tmp#8 ) = ISUB32( idx2 == UNITRF_0_2[1], hw_const#1 == UNITRF_1_1[0] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x2888888 == UCRF_0[13] )
    DEAD_REGS: {  };
instr: 10
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88018888 UCRF_WR:12 STAGES:-1,
    B:29 = U0:OUT:0 INSTR_LOG:2|tmp#8#||0 VAR: tmp#8 DATATYPE: INT,
    RF:5:IN:0:REG:1 = B:29 STAGE:-1 VAR: tmp#8 DATATYPE: INT,
    // OUT:ADDER_0: ISUB32 => ( tmp#8 == UNITRF_0_4[1] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88018888 == UCRF_0[12] )
    DEAD_REGS: {  };
instr: 11
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88238888 UCRF_WR:11 STAGES:-1,
    U2: OP: AND LINE:31 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:31
    B:16 = RF:5:OUT:0:REG:1 VAR: tmp#8 DATATYPE: INT,
    U2:IN:0 = B:16 VAR: tmp#8 DATATYPE: INT,
    B:17 = RF:9:OUT:0:REG:1 VAR: const#7 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: const#7 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:1|idx3#||0 VAR: idx3 DATATYPE: INT,
    RF:4:IN:0:REG:1 = B:31 STAGE:-1 VAR: idx3 DATATYPE: INT,
    RF:16:IN:0:REG:3 = B:31 STAGE:-1 VAR: idx3 DATATYPE: INT,
    RF:17:IN:0:REG:3 = B:31 STAGE:-1 VAR: idx3 DATATYPE: INT,
    //  IN:ADDER_2: ( idx3 ) = AND( tmp#8 == UNITRF_0_4[1], const#7 == UNITRF_1_3[1] )
    // OUT:ADDER_2: AND => ( idx3 == UNITRF_0_3[1], idx3 == SPIDXRF_0[3], idx3 == SPIDXRF_1[3] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88238888 == UCRF_0[11] )
    DEAD_REGS: {  };
instr: 12
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88888801 UCRF_WR:10 STAGES:-1,
    U1: OP: ISUB32 LINE:32 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:32
    B:14 = RF:4:OUT:0:REG:1 VAR: idx3 DATATYPE: INT,
    U1:IN:0 = B:14 VAR: idx3 DATATYPE: INT,
    B:15 = RF:8:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: hw_const#1 DATATYPE: ANYINT,
    //  IN:ADDER_1: ( tmp#9 ) = ISUB32( idx3 == UNITRF_0_3[1], hw_const#1 == UNITRF_1_2[0] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88888801 == UCRF_0[10] )
    DEAD_REGS: {  };
instr: 13
    MC: OP: UC_DATA_IN LINE:-1 IMM:0x88888823 UCRF_WR:9 STAGES:-1,
    B:30 = U1:OUT:0 INSTR_LOG:2|tmp#9#||0 VAR: tmp#9 DATATYPE: INT,
    RF:3:IN:0:REG:1 = B:30 STAGE:-1 VAR: tmp#9 DATATYPE: INT,
    // OUT:ADDER_1: ISUB32 => ( tmp#9 == UNITRF_0_2[1] )
    // OUT:MC_0: UC_DATA_IN => ( uc_const#0x88888823 == UCRF_0[9] )
    DEAD_REGS: {  };
instr: 14
    MC: OP: CHK_EOS LINE:58 STR_ID:0,
    U0: OP: AND LINE:32 STAGE:-1, // D:\working\im_apps\h264\corr_kc.i:32
    B:12 = RF:3:OUT:0:REG:1 VAR: tmp#9 DATATYPE: INT,
    U0:IN:0 = B:12 VAR: tmp#9 DATATYPE: INT,

⌨️ 快捷键说明

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