Mercurial > pygar
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 -