OpenCores
URL https://opencores.org/ocsvn/openmsp430/openmsp430/trunk

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [core/] [bench/] [verilog/] [msp_debug.v] - Diff between revs 23 and 94

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 23 Rev 94
Line 29... Line 29...
//
//
// *Author(s):
// *Author(s):
//              - Olivier Girard,    olgirard@gmail.com
//              - Olivier Girard,    olgirard@gmail.com
//
//
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// $Rev: 23 $
// $Rev: 94 $
// $LastChangedBy: olivier.girard $
// $LastChangedBy: olivier.girard $
// $LastChangedDate: 2009-08-30 18:39:26 +0200 (Sun, 30 Aug 2009) $
// $LastChangedDate: 2011-02-24 21:33:35 +0100 (Thu, 24 Feb 2011) $
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
`include "timescale.v"
`include "timescale.v"
`include "openMSP430_defines.v"
`include "openMSP430_defines.v"
 
 
module msp_debug (
module msp_debug (
Line 84... Line 84...
  input      [3:0] space;
  input      [3:0] space;
 
 
  integer i,j;
  integer i,j;
  begin
  begin
     myFormat = 0;
     myFormat = 0;
 
`ifdef VXL                      // no +:
 
`else
     j        = 0;
     j        = 0;
     for ( i=0; i < 32; i=i+1)                      // Copy string2
     for ( i=0; i < 32; i=i+1)                      // Copy string2
       begin
       begin
          myFormat[8*i +: 8] = string2[8*i +: 8];
          myFormat[8*i +: 8] = string2[8*i +: 8];
          if ((string2[8*i +: 8] == 0) && (j == 0)) j=i;
          if ((string2[8*i +: 8] == 0) && (j == 0)) j=i;
Line 97... Line 99...
       myFormat[8*(j+i) +: 8] = " ";
       myFormat[8*(j+i) +: 8] = " ";
     j=j+space;
     j=j+space;
 
 
     for ( i=0; i < 32; i=i+1)                      // Copy string1
     for ( i=0; i < 32; i=i+1)                      // Copy string1
       myFormat[8*(j+i) +: 8] = string1[8*i +: 8];
       myFormat[8*(j+i) +: 8] = string1[8*i +: 8];
 
`endif
  end
  end
endfunction
endfunction
 
 
 
 
//=============================================================================
//=============================================================================
// 2) CONNECTIONS TO MSP430 CORE INTERNALS
// 2) CONNECTIONS TO MSP430 CORE INTERNALS
//=============================================================================
//=============================================================================
 
 
wire  [2:0] i_state_bin = dut.frontend_0.i_state;
wire  [2:0] i_state_bin = tb_openMSP430.dut.frontend_0.i_state;
wire  [3:0] e_state_bin = dut.frontend_0.e_state;
wire  [3:0] e_state_bin = tb_openMSP430.dut.frontend_0.e_state;
 
 
wire        decode      = dut.frontend_0.decode;
wire        decode      = tb_openMSP430.dut.frontend_0.decode;
wire [15:0] ir          = dut.frontend_0.ir;
wire [15:0] ir          = tb_openMSP430.dut.frontend_0.ir;
wire        irq_detect  = dut.frontend_0.irq_detect;
wire        irq_detect  = tb_openMSP430.dut.frontend_0.irq_detect;
wire  [3:0] irq_num     = dut.frontend_0.irq_num;
wire  [3:0] irq_num     = tb_openMSP430.dut.frontend_0.irq_num;
wire [15:0] pc          = dut.frontend_0.pc;
wire [15:0] pc          = tb_openMSP430.dut.frontend_0.pc;
 
 
 
 
//=============================================================================
//=============================================================================
// 3) GENERATE DEBUG SIGNALS
// 3) GENERATE DEBUG SIGNALS
//=============================================================================
//=============================================================================
Line 410... Line 412...
 
 
 
 
// Currently executed instruction
// Currently executed instruction
//================================
//================================
 
 
wire [32*8-1:0] inst_short = inst_name;
wire [8*32-1:0] inst_short = inst_name;
 
 
reg  [32*8-1:0] inst_full;
reg  [8*32-1:0] inst_full;
always @(inst_type or inst_name or inst_bw or inst_as or inst_ad)
always @(inst_type or inst_name or inst_bw or inst_as or inst_ad)
  begin
  begin
     inst_full   = myFormat(inst_name, inst_bw, 0);
     inst_full   = myFormat(inst_name, inst_bw, 0);
     inst_full   = myFormat(inst_full, inst_as, 1);
     inst_full   = myFormat(inst_full, inst_as, 1);
     if (inst_type=="TWO-OP")
     if (inst_type=="TWO-OP")

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.