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

Subversion Repositories xgate

[/] [xgate/] [trunk/] [rtl/] [verilog/] [xgate_wbs_bus.v] - Diff between revs 17 and 41

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

Rev 17 Rev 41
Line 46... Line 46...
  output      [DWIDTH-1:0] wbs_dat_o,     // databus output
  output      [DWIDTH-1:0] wbs_dat_o,     // databus output
  output                   wbs_ack_o,     // bus cycle acknowledge output
  output                   wbs_ack_o,     // bus cycle acknowledge output
  input                    wbs_clk_i,     // master clock input
  input                    wbs_clk_i,     // master clock input
  input                    wbs_rst_i,     // synchronous active high reset
  input                    wbs_rst_i,     // synchronous active high reset
  input                    arst_i,        // asynchronous reset
  input                    arst_i,        // asynchronous reset
  input             [ 4:0] wbs_adr_i,     // lower address bits
  input             [ 5:1] wbs_adr_i,     // lower address bits
  input       [DWIDTH-1:0] wbs_dat_i,     // databus input
  input       [DWIDTH-1:0] wbs_dat_i,     // databus input
  input                    wbs_we_i,      // write enable input
  input                    wbs_we_i,      // write enable input
  input                    wbs_stb_i,     // stobe/core select signal
  input                    wbs_stb_i,     // stobe/core select signal
  input                    wbs_cyc_i,     // valid bus cycle input
  input                    wbs_cyc_i,     // valid bus cycle input
  input              [1:0] wbs_sel_i,     // Select byte in word bus transaction
  input              [1:0] wbs_sel_i,     // Select byte in word bus transaction
  // XGATE Control Signals
  // XGATE Control Signals
  output reg               write_xgmctl, // Write Strobe for XGMCTL register
  output reg               write_xgmctl, // Write Strobe for XGMCTL register
  output reg               write_xgchid, // Write Strobe for XGCHID register
  output reg               write_xgchid, // Write Strobe for XGCHID register
  output reg               write_xgisp74,// Write Strobe for XGISP74 register
  output reg               write_xgisp74,// Write Strobe for XGISP74 register
  output reg               write_xgisp30,// Write Strobe for XGISP30 register
  output reg               write_xgisp30,// Write Strobe for XGISP30 register
  output reg               write_xgvbr,  // Write Strobe for XGVBR register
  output reg         [1:0] write_xgvbr,  // Write Strobe for XGVBR register
  output reg               write_xgif_7, // Write Strobe for Interrupt Flag Register 7
  output reg         [1:0] write_xgif_7, // Write Strobe for Interrupt Flag Register 7
  output reg               write_xgif_6, // Write Strobe for Interrupt Flag Register 6
  output reg         [1:0] write_xgif_6, // Write Strobe for Interrupt Flag Register 6
  output reg               write_xgif_5, // Write Strobe for Interrupt Flag Register 5
  output reg         [1:0] write_xgif_5, // Write Strobe for Interrupt Flag Register 5
  output reg               write_xgif_4, // Write Strobe for Interrupt Flag Register 4
  output reg         [1:0] write_xgif_4, // Write Strobe for Interrupt Flag Register 4
  output reg               write_xgif_3, // Write Strobe for Interrupt Flag Register 3
  output reg         [1:0] write_xgif_3, // Write Strobe for Interrupt Flag Register 3
  output reg               write_xgif_2, // Write Strobe for Interrupt Flag Register 2
  output reg         [1:0] write_xgif_2, // Write Strobe for Interrupt Flag Register 2
  output reg               write_xgif_1, // Write Strobe for Interrupt Flag Register 1
  output reg         [1:0] write_xgif_1, // Write Strobe for Interrupt Flag Register 1
  output reg               write_xgif_0, // Write Strobe for Interrupt Flag Register 0
  output reg         [1:0] write_xgif_0, // Write Strobe for Interrupt Flag Register 0
  output reg               write_xgswt,  // Write Strobe for XGSWT register
  output reg               write_xgswt,  // Write Strobe for XGSWT register
  output reg               write_xgsem,  // Write Strobe for XGSEM register
  output reg               write_xgsem,  // Write Strobe for XGSEM register
  output reg               write_xgccr,  // Write Strobe for XGATE Condition Code Register
  output reg               write_xgccr,  // Write Strobe for XGATE Condition Code Register
  output reg               write_xgpc,   // Write Strobe for XGATE Program Counter
  output reg         [1:0] write_xgpc,   // Write Strobe for XGATE Program Counter
  output reg               write_xgr7,   // Write Strobe for XGATE Data Register R7
  output reg         [1:0] write_xgr7,   // Write Strobe for XGATE Data Register R7
  output reg               write_xgr6,   // Write Strobe for XGATE Data Register R6
  output reg         [1:0] write_xgr6,   // Write Strobe for XGATE Data Register R6
  output reg               write_xgr5,   // Write Strobe for XGATE Data Register R5
  output reg         [1:0] write_xgr5,   // Write Strobe for XGATE Data Register R5
  output reg               write_xgr4,   // Write Strobe for XGATE Data Register R4
  output reg         [1:0] write_xgr4,   // Write Strobe for XGATE Data Register R4
  output reg               write_xgr3,   // Write Strobe for XGATE Data Register R3
  output reg         [1:0] write_xgr3,   // Write Strobe for XGATE Data Register R3
  output reg               write_xgr2,   // Write Strobe for XGATE Data Register R2
  output reg         [1:0] write_xgr2,   // Write Strobe for XGATE Data Register R2
  output reg               write_xgr1,   // Write Strobe for XGATE Data Register R1
  output reg         [1:0] write_xgr1,   // Write Strobe for XGATE Data Register R1
  output                   async_rst_b,  //
  output                   async_rst_b,  //
  output                   sync_reset,   //
  output                   sync_reset,   //
  input            [415:0] read_regs     // status register bits
  input            [415:0] read_regs     // status register bits
  );
  );
 
 
Line 169... Line 169...
      write_reserv2 = 1'b0;
      write_reserv2 = 1'b0;
      write_xgmctl  = 1'b0;
      write_xgmctl  = 1'b0;
      write_xgchid  = 1'b0;
      write_xgchid  = 1'b0;
      write_xgisp74 = 1'b0;
      write_xgisp74 = 1'b0;
      write_xgisp30 = 1'b0;
      write_xgisp30 = 1'b0;
      write_xgvbr  = 1'b0;
      write_xgvbr  = 2'b00;
      write_xgif_7 = 1'b0;
      write_xgif_7 = 2'b00;
      write_xgif_6 = 1'b0;
      write_xgif_6 = 2'b00;
      write_xgif_5 = 1'b0;
      write_xgif_5 = 2'b00;
      write_xgif_4 = 1'b0;
      write_xgif_4 = 2'b00;
      write_xgif_3 = 1'b0;
      write_xgif_3 = 2'b00;
      write_xgif_2 = 1'b0;
      write_xgif_2 = 2'b00;
      write_xgif_1 = 1'b0;
      write_xgif_1 = 2'b00;
      write_xgif_0 = 1'b0;
      write_xgif_0 = 2'b00;
      write_xgif_7 = 1'b0;
 
      write_xgswt  = 1'b0;
      write_xgswt  = 1'b0;
      write_xgsem  = 1'b0;
      write_xgsem  = 1'b0;
      write_xgccr  = 1'b0;
      write_xgccr  = 1'b0;
      write_xgpc   = 1'b0;
      write_xgpc   = 2'b00;
      write_xgr7   = 1'b0;
      write_xgr7   = 2'b00;
      write_xgr6   = 1'b0;
      write_xgr6   = 2'b00;
      write_xgr5   = 1'b0;
      write_xgr5   = 2'b00;
      write_xgr4   = 1'b0;
      write_xgr4   = 2'b00;
      write_xgr3   = 1'b0;
      write_xgr3   = 2'b00;
      write_xgr2   = 1'b0;
      write_xgr2   = 2'b00;
      write_xgr1   = 1'b0;
      write_xgr1   = 2'b00;
      if (wbs_wacc)
      if (wbs_wacc)
        case (wbs_adr_i) // synopsys parallel_case
        case (wbs_adr_i) // synopsys parallel_case
           // 16 bit Bus, 16 bit Granularity
           // 16 bit Bus, 8 bit Granularity
           5'b0_0000 : write_xgmctl  = 1'b1;
           5'b0_0000 : write_xgmctl  = &wbs_sel_i;
           5'b0_0001 : write_xgchid  = 1'b1;
           5'b0_0001 : write_xgchid  = wbs_sel_i[0];
           5'b0_0010 : write_xgisp74 = 1'b1;
           5'b0_0010 : write_xgisp74 = 1'b1;
           5'b0_0011 : write_xgisp30 = 1'b1;
           5'b0_0011 : write_xgisp30 = 1'b1;
           5'b0_0100 : write_xgvbr   = 1'b1;
           5'b0_0100 : write_xgvbr   = wbs_sel_i;
           5'b0_0101 : write_xgif_7  = 1'b1;
           5'b0_0101 : write_xgif_7  = wbs_sel_i;
           5'b0_0110 : write_xgif_6  = 1'b1;
           5'b0_0110 : write_xgif_6  = wbs_sel_i;
           5'b0_0111 : write_xgif_5  = 1'b1;
           5'b0_0111 : write_xgif_5  = wbs_sel_i;
           5'b0_1000 : write_xgif_4  = 1'b1;
           5'b0_1000 : write_xgif_4  = wbs_sel_i;
           5'b0_1001 : write_xgif_3  = 1'b1;
           5'b0_1001 : write_xgif_3  = wbs_sel_i;
           5'b0_1010 : write_xgif_2  = 1'b1;
           5'b0_1010 : write_xgif_2  = wbs_sel_i;
           5'b0_1011 : write_xgif_1  = 1'b1;
           5'b0_1011 : write_xgif_1  = wbs_sel_i;
           5'b0_1100 : write_xgif_0  = 1'b1;
           5'b0_1100 : write_xgif_0  = wbs_sel_i;
           5'b0_1101 : write_xgswt   = 1'b1;
           5'b0_1101 : write_xgswt   = &wbs_sel_i;
           5'b0_1110 : write_xgsem   = 1'b1;
           5'b0_1110 : write_xgsem   = &wbs_sel_i;
           5'b0_1111 : write_reserv1 = 1'b1;
           5'b0_1111 : write_reserv1 = 1'b1;
           5'b1_0000 : write_xgccr   = 1'b1;
           5'b1_0000 : write_xgccr   = wbs_sel_i[0];
           5'b1_0001 : write_xgpc    = 1'b1;
           5'b1_0001 : write_xgpc    = wbs_sel_i;
           5'b1_0010 : write_reserv2 = 1'b1;
           5'b1_0010 : write_reserv2 = 1'b1;
           5'b1_0011 : write_xgr1    = 1'b1;
           5'b1_0011 : write_xgr1    = wbs_sel_i;
           5'b1_0100 : write_xgr2    = 1'b1;
           5'b1_0100 : write_xgr2    = wbs_sel_i;
           5'b1_0101 : write_xgr3    = 1'b1;
           5'b1_0101 : write_xgr3    = wbs_sel_i;
           5'b1_0110 : write_xgr4    = 1'b1;
           5'b1_0110 : write_xgr4    = wbs_sel_i;
           5'b1_0111 : write_xgr5    = 1'b1;
           5'b1_0111 : write_xgr5    = wbs_sel_i;
           5'b1_1000 : write_xgr6    = 1'b1;
           5'b1_1000 : write_xgr6    = wbs_sel_i;
           5'b1_1001 : write_xgr7    = 1'b1;
           5'b1_1001 : write_xgr7    = wbs_sel_i;
           default: ;
           default: ;
        endcase
        endcase
    end
    end
 
 
endmodule  // xgate_wbs_bus
endmodule  // xgate_wbs_bus

powered by: WebSVN 2.1.0

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