changeset 30:2adf0fb45061 pygar svn.31

[svn r31] Finishing
author punk
date Fri, 30 Apr 2010 09:14:40 -0400
parents 9830ff8fb0bd
children f41eef1bebfc
files config/pm/Pygar/audio_core/audio_core_exe.apm modules/bluespec/Pygar/lab4/ProcTrace.bsv
diffstat 2 files changed, 17 insertions(+), 125 deletions(-) [+]
line wrap: on
line diff
     1.1 --- a/config/pm/Pygar/audio_core/audio_core_exe.apm	Fri Apr 30 09:13:38 2010 -0400
     1.2 +++ b/config/pm/Pygar/audio_core/audio_core_exe.apm	Fri Apr 30 09:14:40 2010 -0400
     1.3 @@ -61,50 +61,51 @@
     1.4  
     1.5  [3-Stage Audio Processor]
     1.6  File=modules/bluespec/Pygar/core/processor.awb
     1.7 -Packagehint=Pygar
     1.8  
     1.9  [Blocking Data Cache]
    1.10  File=modules/bluespec/Pygar/lab4/data_cache.awb
    1.11 -Packagehint=Pygar
    1.12  
    1.13  [Blocking Instruction Cache]
    1.14  File=modules/bluespec/Pygar/lab4/instruction_cache.awb
    1.15 -Packagehint=Pygar
    1.16  
    1.17  [Default HAsim Common Library]
    1.18  File=config/pm/hasim/submodels/common/hasim_common.apm
    1.19  Packagehint=hasim
    1.20  
    1.21 -[Simple Audio Processor Core]
    1.22 -File=modules/bluespec/Pygar/core/audio_pipe_types.awb
    1.23 -Packagehint=Pygar
    1.24 -
    1.25  [Round-robin memory arbiter]
    1.26  File=modules/bluespec/Pygar/lab4/mem_arb.awb
    1.27 -Packagehint=Pygar
    1.28 -
    1.29 -[Processor Library]
    1.30 -File=modules/bluespec/Pygar/lab4/processor_library.awb
    1.31 -Packagehint=Pygar
    1.32  
    1.33  [audio pipeline with soft core]
    1.34  File=modules/bluespec/Pygar/core/audio_core_pipe.awb
    1.35 -Packagehint=Pygar
    1.36  
    1.37  [Audio Processor Core]
    1.38  File=modules/bluespec/Pygar/core/audio_core.awb
    1.39 -Packagehint=Pygar
    1.40  
    1.41  [audio pipeline with soft core/Requires]
    1.42  hasim_common=Default HAsim Common Library
    1.43  funcp_simulated_memory=VMH hybrid memory
    1.44  core=Audio Processor Core
    1.45  funcp_base_types=Functional Partition Base Types
    1.46 -audio_pipe_types=Simple Audio Processor Core
    1.47 +audio_pipe_types=Simple Audio Processor Control Types
    1.48  
    1.49  [Audio Processor Core/Requires]
    1.50 -processor_library=Processor Library
    1.51 +processor_library=External Trace Processor Library
    1.52  processor=3-Stage Audio Processor
    1.53  data_cache=Blocking Data Cache
    1.54  instruction_cache=Blocking Instruction Cache
    1.55  mem_arb=Round-robin memory arbiter
    1.56 +
    1.57 +
    1.58 +
    1.59 +[Simple Audio Processor Control Types]
    1.60 +File=modules/bluespec/Pygar/core/audio_pipe_types.awb
    1.61 +
    1.62 +
    1.63 +[Trace Functions]
    1.64 +File=modules/bluespec/Pygar/core/trace.awb
    1.65 +
    1.66 +[External Trace Processor Library/Requires]
    1.67 +trace=Trace Functions
    1.68 +
    1.69 +[External Trace Processor Library]
    1.70 +File=modules/bluespec/Pygar/lab4/audio_processor_library.awb
     2.1 --- a/modules/bluespec/Pygar/lab4/ProcTrace.bsv	Fri Apr 30 09:13:38 2010 -0400
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,109 +0,0 @@
     2.4 -
     2.5 -import Trace::*;
     2.6 -
     2.7 -//----------------------------------------------------------------------
     2.8 -// Trace
     2.9 -//----------------------------------------------------------------------
    2.10 -
    2.11 -instance Traceable#(Instr);
    2.12 -
    2.13 -  function Action traceTiny( String loc, String ttag, Instr inst );
    2.14 -    case ( inst ) matches
    2.15 -
    2.16 -      tagged LW    .it : $fdisplay(stderr,  " => %s:%s lw", loc,   ttag );
    2.17 -      tagged SW    .it : $fdisplay(stderr,  " => %s:%s sw", loc,   ttag );
    2.18 -
    2.19 -      tagged ADDIU .it : $fdisplay(stderr,  " => %s:%s addi", loc, ttag );
    2.20 -      tagged SLTI  .it : $fdisplay(stderr,  " => %s:%s sli", loc,  ttag );
    2.21 -      tagged SLTIU .it : $fdisplay(stderr,  " => %s:%s sliu", loc, ttag );
    2.22 -      tagged ANDI  .it : $fdisplay(stderr,  " => %s:%s andi", loc, ttag );
    2.23 -      tagged ORI   .it : $fdisplay(stderr,  " => %s:%s ori", loc,  ttag );
    2.24 -      tagged XORI  .it : $fdisplay(stderr,  " => %s:%s xori", loc, ttag );
    2.25 -      tagged LUI   .it : $fdisplay(stderr,  " => %s:%s lui", loc,  ttag );
    2.26 -                                          
    2.27 -      tagged SLL   .it : $fdisplay(stderr,  " => %s:%s sll", loc,  ttag );
    2.28 -      tagged SRL   .it : $fdisplay(stderr,  " => %s:%s srl", loc,  ttag );
    2.29 -      tagged SRA   .it : $fdisplay(stderr,  " => %s:%s sra", loc,  ttag );
    2.30 -      tagged SLLV  .it : $fdisplay(stderr,  " => %s:%s sllv", loc, ttag );
    2.31 -      tagged SRLV  .it : $fdisplay(stderr,  " => %s:%s srlv", loc, ttag );
    2.32 -      tagged SRAV  .it : $fdisplay(stderr,  " => %s:%s srav", loc, ttag );
    2.33 -                                          
    2.34 -      tagged ADDU  .it : $fdisplay(stderr,  " => %s:%s addu", loc, ttag );
    2.35 -      tagged SUBU  .it : $fdisplay(stderr,  " => %s:%s subu", loc, ttag );
    2.36 -      tagged AND   .it : $fdisplay(stderr,  " => %s:%s and", loc,  ttag );
    2.37 -      tagged OR    .it : $fdisplay(stderr,  " => %s:%s or", loc,   ttag );
    2.38 -      tagged XOR   .it : $fdisplay(stderr,  " => %s:%s xor", loc,  ttag );
    2.39 -      tagged NOR   .it : $fdisplay(stderr,  " => %s:%s nor", loc,  ttag );
    2.40 -      tagged SLT   .it : $fdisplay(stderr,  " => %s:%s slt", loc,  ttag );
    2.41 -      tagged SLTU  .it : $fdisplay(stderr,  " => %s:%s sltu", loc, ttag );
    2.42 -                                          
    2.43 -      tagged J     .it : $fdisplay(stderr,  " => %s:%s j", loc,    ttag );
    2.44 -      tagged JAL   .it : $fdisplay(stderr,  " => %s:%s jal", loc,  ttag );
    2.45 -      tagged JR    .it : $fdisplay(stderr,  " => %s:%s jr", loc,   ttag );
    2.46 -      tagged JALR  .it : $fdisplay(stderr,  " => %s:%s jalr", loc, ttag );
    2.47 -      tagged BEQ   .it : $fdisplay(stderr,  " => %s:%s beq", loc,  ttag );
    2.48 -      tagged BNE   .it : $fdisplay(stderr,  " => %s:%s bne", loc,  ttag );
    2.49 -      tagged BLEZ  .it : $fdisplay(stderr,  " => %s:%s blez", loc, ttag );
    2.50 -      tagged BGTZ  .it : $fdisplay(stderr,  " => %s:%s bgtz", loc, ttag );
    2.51 -      tagged BLTZ  .it : $fdisplay(stderr,  " => %s:%s bltz", loc, ttag );
    2.52 -      tagged BGEZ  .it : $fdisplay(stderr,  " => %s:%s bgez", loc, ttag );
    2.53 -                                           
    2.54 -      tagged MFC0  .it : $fdisplay(stderr,  " => %s:%s mfc0", loc, ttag );
    2.55 -      tagged MTC0  .it : $fdisplay(stderr,  " => %s:%s mtc0", loc, ttag );
    2.56 -
    2.57 -      tagged ILLEGAL   : $fdisplay(stderr,  " => %s:%s ill", loc,  ttag );
    2.58 -
    2.59 -    endcase
    2.60 -  endfunction
    2.61 -
    2.62 -  function Action traceFull( String loc, String ttag, Instr inst );
    2.63 -    case ( inst ) matches
    2.64 -
    2.65 -      tagged LW    .it : $fdisplay(stderr,  " => %s:%s lw r%0d, 0x%x(r%0d)", loc, ttag, it.rdst, it.offset, it.rbase );
    2.66 -      tagged SW    .it : $fdisplay(stderr,  " => %s:%s sw r%0d, 0x%x(r%0d)", loc, ttag, it.rsrc, it.offset, it.rbase );
    2.67 -
    2.68 -      tagged ADDIU .it : $fdisplay(stderr,  " => %s:%s addiu r%0d, r%0d, 0x%x", loc, ttag, it.rdst, it.rsrc, it.imm );
    2.69 -      tagged SLTI  .it : $fdisplay(stderr,  " => %s:%s slti r%0d, r%0d, 0x%x", loc,  ttag, it.rdst, it.rsrc, it.imm );
    2.70 -      tagged SLTIU .it : $fdisplay(stderr,  " => %s:%s sltiu r%0d, r%0d, 0x%x", loc, ttag, it.rdst, it.rsrc, it.imm );
    2.71 -      tagged ANDI  .it : $fdisplay(stderr,  " => %s:%s andi r%0d, r%0d, 0x%x", loc,  ttag, it.rdst, it.rsrc, it.imm );
    2.72 -      tagged ORI   .it : $fdisplay(stderr,  " => %s:%s ori r%0d, r%0d, 0x%x", loc,   ttag, it.rdst, it.rsrc, it.imm );
    2.73 -      tagged XORI  .it : $fdisplay(stderr,  " => %s:%s xori r%0d, r%0d, 0x%x", loc,  ttag, it.rdst, it.rsrc, it.imm );
    2.74 -      tagged LUI   .it : $fdisplay(stderr,  " => %s:%s lui r%0d, 0x%x", loc,         ttag, it.rdst, it.imm );
    2.75 -                                      
    2.76 -      tagged SLL   .it : $fdisplay(stderr,  " => %s:%s sll r%0d, r%0d, %0d", loc,   ttag, it.rdst, it.rsrc, it.shamt );
    2.77 -      tagged SRL   .it : $fdisplay(stderr,  " => %s:%s srl r%0d, r%0d, %0d", loc,   ttag, it.rdst, it.rsrc, it.shamt );
    2.78 -      tagged SRA   .it : $fdisplay(stderr,  " => %s:%s sra r%0d, r%0d, %0d", loc,   ttag, it.rdst, it.rsrc, it.shamt );
    2.79 -      tagged SLLV  .it : $fdisplay(stderr,  " => %s:%s sllv r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc, it.rshamt );
    2.80 -      tagged SRLV  .it : $fdisplay(stderr,  " => %s:%s srlv r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc, it.rshamt );
    2.81 -      tagged SRAV  .it : $fdisplay(stderr,  " => %s:%s srav r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc, it.rshamt );
    2.82 -                                      
    2.83 -      tagged ADDU  .it : $fdisplay(stderr,  " => %s:%s addu r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.84 -      tagged SUBU  .it : $fdisplay(stderr,  " => %s:%s subu r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.85 -      tagged AND   .it : $fdisplay(stderr,  " => %s:%s and r%0d, r%0d, r%0d", loc,  ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.86 -      tagged OR    .it : $fdisplay(stderr,  " => %s:%s or r%0d, r%0d, r%0d", loc,   ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.87 -      tagged XOR   .it : $fdisplay(stderr,  " => %s:%s xor r%0d, r%0d, r%0d", loc,  ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.88 -      tagged NOR   .it : $fdisplay(stderr,  " => %s:%s nor r%0d, r%0d, r%0d", loc,  ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.89 -      tagged SLT   .it : $fdisplay(stderr,  " => %s:%s slt r%0d, r%0d, r%0d", loc,  ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.90 -      tagged SLTU  .it : $fdisplay(stderr,  " => %s:%s sltu r%0d, r%0d, r%0d", loc, ttag, it.rdst, it.rsrc1, it.rsrc2 );
    2.91 -                                      
    2.92 -      tagged J     .it : $fdisplay(stderr,  " => %s:%s j 0x%x", loc,    ttag, it.target );
    2.93 -      tagged JAL   .it : $fdisplay(stderr,  " => %s:%s jal 0x%x", loc,  ttag, it.target );
    2.94 -      tagged JR    .it : $fdisplay(stderr,  " => %s:%s jr r%0d", loc,   ttag, it.rsrc );
    2.95 -      tagged JALR  .it : $fdisplay(stderr,  " => %s:%s jalr r%0d", loc, ttag, it.rsrc );
    2.96 -      tagged BEQ   .it : $fdisplay(stderr,  " => %s:%s beq r%0d, r%0d, 0x%x", loc, ttag, it.rsrc1, it.rsrc2, it.offset );
    2.97 -      tagged BNE   .it : $fdisplay(stderr,  " => %s:%s bne r%0d, r%0d, 0x%x", loc, ttag, it.rsrc1, it.rsrc2, it.offset );
    2.98 -      tagged BLEZ  .it : $fdisplay(stderr,  " => %s:%s blez r%0d, 0x%x", loc, ttag, it.rsrc, it.offset );
    2.99 -      tagged BGTZ  .it : $fdisplay(stderr,  " => %s:%s bgtz r%0d, 0x%x", loc, ttag, it.rsrc, it.offset );
   2.100 -      tagged BLTZ  .it : $fdisplay(stderr,  " => %s:%s bltz r%0d, 0x%x", loc, ttag, it.rsrc, it.offset );
   2.101 -      tagged BGEZ  .it : $fdisplay(stderr,  " => %s:%s bgez r%0d, 0x%x", loc, ttag, it.rsrc, it.offset );
   2.102 -                                      
   2.103 -      tagged MFC0  .it : $fdisplay(stderr,  " => %s:%s mfc0 r%0d, cpr%0d", loc, ttag, it.rdst, it.cop0src );
   2.104 -      tagged MTC0  .it : $fdisplay(stderr,  " => %s:%s mtc0 r%0d, cpr%0d", loc, ttag, it.rsrc, it.cop0dst );
   2.105 -
   2.106 -      tagged ILLEGAL   : $fdisplay(stderr,  " => %s:%s illegal instruction", loc, ttag );
   2.107 -
   2.108 -    endcase
   2.109 -  endfunction
   2.110 -
   2.111 -endinstance
   2.112 -