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

Subversion Repositories xgate

[/] [xgate/] [trunk/] [rtl/] [verilog/] [xgate_top.v] - Diff between revs 25 and 30

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

Rev 25 Rev 30
Line 70... Line 70...
  output                 write_mem_strb_h, // Strobe for writing high data bye
  output                 write_mem_strb_h, // Strobe for writing high data bye
  output                 xg_sw_irq,        // Xgate Software interrupt
  output                 xg_sw_irq,        // Xgate Software interrupt
  output [MAX_CHANNEL:0] xgif,             // XGATE Interrupt Flag
  output [MAX_CHANNEL:0] xgif,             // XGATE Interrupt Flag
  input  [MAX_CHANNEL:0] chan_req_i,       // XGATE Interrupt request
  input  [MAX_CHANNEL:0] chan_req_i,       // XGATE Interrupt request
  input                  risc_clk,         // Clock for RISC core
  input                  risc_clk,         // Clock for RISC core
 
  input                  debug_mode_i,     // Force RISC core into debug mode
 
  input                  secure_mode_i,    // Limit host asscess to Xgate RISC registers
  input                  scantestmode      // Chip in in scan test mode
  input                  scantestmode      // Chip in in scan test mode
  );
  );
 
 
  wire        zero_flag;
  wire        zero_flag;
  wire        negative_flag;
  wire        negative_flag;
Line 132... Line 134...
  wire        xgss;          // XGATE Single Step
  wire        xgss;          // XGATE Single Step
  wire        xgsweif_c;     // Clear XGATE Software Error Interrupt FLag
  wire        xgsweif_c;     // Clear XGATE Software Error Interrupt FLag
  wire        xgie;          // XGATE Interrupt Enable
  wire        xgie;          // XGATE Interrupt Enable
  wire [ 6:0] int_req;       // Encoded interrupt request
  wire [ 6:0] int_req;       // Encoded interrupt request
  wire [ 6:0] xgchid;        // Channel actively being processed
  wire [ 6:0] xgchid;        // Channel actively being processed
 
  wire [127:0] xgif_status;   // Status bits of interrupt output flags that have been set
  wire [15:1] xgvbr;         // XGATE vector Base Address Register
  wire [15:1] xgvbr;         // XGATE vector Base Address Register
  wire        brk_irq_ena;   // Enable BRK instruction to generate interrupt
  wire        brk_irq_ena;   // Enable BRK instruction to generate interrupt
 
 
  wire [15:0] xgate_address;   //
  wire [15:0] xgate_address;   //
  wire [15:0] write_mem_data;  //
  wire [15:0] write_mem_data;  //
Line 147... Line 150...
  wire [ 7:0] host_semap;    // Semaphore status for host
  wire [ 7:0] host_semap;    // Semaphore status for host
//  wire [15:0] write_mem_data;
//  wire [15:0] write_mem_data;
//  wire [15:0] read_mem_data;
//  wire [15:0] read_mem_data;
//  wire [15:0] perif_data;
//  wire [15:0] perif_data;
 
 
 
  assign xgif = xgif_status[MAX_CHANNEL:0];
  // ---------------------------------------------------------------------------
  // ---------------------------------------------------------------------------
  // Wishbone Slave Bus interface
  // Wishbone Slave Bus interface
  xgate_wbs_bus #(.ARST_LVL(ARST_LVL),
  xgate_wbs_bus #(.ARST_LVL(ARST_LVL),
                  .SINGLE_CYCLE(SINGLE_CYCLE))
                  .SINGLE_CYCLE(SINGLE_CYCLE))
    wishbone_s(
    wishbone_s(
Line 207... Line 210...
                     xgate_address,    // XGPC
                     xgate_address,    // XGPC
                     {12'h000,  negative_flag, zero_flag, overflow_flag, carry_flag},  // XGCCR
                     {12'h000,  negative_flag, zero_flag, overflow_flag, carry_flag},  // XGCCR
                     16'b0,                // Reserved
                     16'b0,                // Reserved
                     {8'h00, host_semap},  // XGSEM
                     {8'h00, host_semap},  // XGSEM
                     {8'h00, xgswt},       // XGSWT
                     {8'h00, xgswt},       // XGSWT
                     xgif[ 15:  0],        // XGIF_0
                     xgif_status[ 15:  0], // XGIF_0
                     xgif[ 31: 16],        // XGIF_1
                     xgif_status[ 31: 16], // XGIF_1
                     xgif[ 47: 32],        // XGIF_2
                     xgif_status[ 47: 32], // XGIF_2
                     xgif[ 63: 48],        // XGIF_3
                     xgif_status[ 63: 48], // XGIF_3
                     xgif[ 79: 64],        // XGIF_4
                     xgif_status[ 79: 64], // XGIF_4
                     xgif[ 95: 80],        // XGIF_5
                     xgif_status[ 95: 80], // XGIF_5
                     xgif[111: 96],        // XGIF_6
                     xgif_status[111: 96], // XGIF_6
                     xgif[127:112],        // XGIF_7
                     xgif_status[127:112], // XGIF_7
                     {xgvbr[15:1], 1'b0},  // XGVBR
                     {xgvbr[15:1], 1'b0},  // XGVBR
                     xgisp30,              // Reserved
                     xgisp30,              // Reserved
                     xgisp74,              // Reserved
                     xgisp74,              // Reserved
                     {8'b0, 1'b0, xgchid}, // XGCHID
                     {8'b0, 1'b0, xgchid}, // XGCHID
                     {8'b0, xge, xgfrz, debug_active, 1'b0, 1'b0, brk_irq_ena, xg_sw_irq, xgie}  // XGMCTL
                     {8'b0, xge, xgfrz, debug_active, 1'b0, 1'b0, brk_irq_ena, xg_sw_irq, xgie}  // XGMCTL
Line 292... Line 295...
    .xgr3( xgr3 ),
    .xgr3( xgr3 ),
    .xgr4( xgr4 ),
    .xgr4( xgr4 ),
    .xgr5( xgr5 ),
    .xgr5( xgr5 ),
    .xgr6( xgr6 ),
    .xgr6( xgr6 ),
    .xgr7( xgr7 ),
    .xgr7( xgr7 ),
    .xgif( xgif ),
    .xgif_status( xgif_status ),
    .debug_active( debug_active ),
    .debug_active( debug_active ),
    .xg_sw_irq( xg_sw_irq ),
    .xg_sw_irq( xg_sw_irq ),
 
 
    // inputs
    // inputs
    .risc_clk( risc_clk ),
    .risc_clk( risc_clk ),
Line 306... Line 309...
    .mem_req_ack( mem_req_ack ),
    .mem_req_ack( mem_req_ack ),
    .xge( xge ),
    .xge( xge ),
    .xgfrz( xgfrz ),
    .xgfrz( xgfrz ),
    .xgdbg_set( xgdbg_set ),
    .xgdbg_set( xgdbg_set ),
    .xgdbg_clear( xgdbg_clear ),
    .xgdbg_clear( xgdbg_clear ),
 
    .debug_mode_i(debug_mode_i),
    .xgss( xgss ),
    .xgss( xgss ),
    .xgvbr( xgvbr ),
    .xgvbr( xgvbr ),
    .int_req( int_req ),
    .int_req( int_req ),
    .xgie( xgie ),
    .xgie( xgie ),
    .brk_irq_ena( brk_irq_ena ),
    .brk_irq_ena( brk_irq_ena ),

powered by: WebSVN 2.1.0

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