Line 47... |
Line 47... |
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
|
Line 94... |
Line 94... |
|
|
wire write_xgmctl; // Write Strobe for XGMCTL register
|
wire write_xgmctl; // Write Strobe for XGMCTL register
|
wire write_xgchid; // Write Strobe for XGCHID register
|
wire write_xgchid; // Write Strobe for XGCHID register
|
wire write_xgisp74; // Write Strobe for XGISP74 register
|
wire write_xgisp74; // Write Strobe for XGISP74 register
|
wire write_xgisp30; // Write Strobe for XGISP30 register
|
wire write_xgisp30; // Write Strobe for XGISP30 register
|
wire write_xgvbr; // Write Strobe for XGVBR_LO register
|
wire [1:0] write_xgvbr; // Write Strobe for XGVBR register
|
wire write_xgif_7; // Write Strobe for Interrupt Flag Register 7
|
wire [1:0] write_xgif_7; // Write Strobe for Interrupt Flag Register 7
|
wire write_xgif_6; // Write Strobe for Interrupt Flag Register 6
|
wire [1:0] write_xgif_6; // Write Strobe for Interrupt Flag Register 6
|
wire write_xgif_5; // Write Strobe for Interrupt Flag Register 5
|
wire [1:0] write_xgif_5; // Write Strobe for Interrupt Flag Register 5
|
wire write_xgif_4; // Write Strobe for Interrupt Flag Register 4
|
wire [1:0] write_xgif_4; // Write Strobe for Interrupt Flag Register 4
|
wire write_xgif_3; // Write Strobe for Interrupt Flag Register 3
|
wire [1:0] write_xgif_3; // Write Strobe for Interrupt Flag Register 3
|
wire write_xgif_2; // Write Strobe for Interrupt Flag Register 2
|
wire [1:0] write_xgif_2; // Write Strobe for Interrupt Flag Register 2
|
wire write_xgif_1; // Write Strobe for Interrupt Flag Register 1
|
wire [1:0] write_xgif_1; // Write Strobe for Interrupt Flag Register 1
|
wire write_xgif_0; // Write Strobe for Interrupt Flag Register 0
|
wire [1:0] write_xgif_0; // Write Strobe for Interrupt Flag Register 0
|
wire write_xgswt; // Write Strobe for XGSWT register
|
wire write_xgswt; // Write Strobe for XGSWT register
|
wire write_xgsem; // Write Strobe for XGSEM register
|
wire write_xgsem; // Write Strobe for XGSEM register
|
wire write_xgccr; // Write Strobe for XGATE Condition Code Register
|
wire write_xgccr; // Write Strobe for XGATE Condition Code Register
|
wire write_xgpc; // Write Strobe for XGATE Program Counter
|
wire [1:0] write_xgpc; // Write Strobe for XGATE Program Counter
|
wire write_xgr7; // Write Strobe for XGATE Data Register R7
|
wire [1:0] write_xgr7; // Write Strobe for XGATE Data Register R7
|
wire write_xgr6; // Write Strobe for XGATE Data Register R6
|
wire [1:0] write_xgr6; // Write Strobe for XGATE Data Register R6
|
wire write_xgr5; // Write Strobe for XGATE Data Register R5
|
wire [1:0] write_xgr5; // Write Strobe for XGATE Data Register R5
|
wire write_xgr4; // Write Strobe for XGATE Data Register R4
|
wire [1:0] write_xgr4; // Write Strobe for XGATE Data Register R4
|
wire write_xgr3; // Write Strobe for XGATE Data Register R3
|
wire [1:0] write_xgr3; // Write Strobe for XGATE Data Register R3
|
wire write_xgr2; // Write Strobe for XGATE Data Register R2
|
wire [1:0] write_xgr2; // Write Strobe for XGATE Data Register R2
|
wire write_xgr1; // Write Strobe for XGATE Data Register R1
|
wire [1:0] write_xgr1; // Write Strobe for XGATE Data Register R1
|
|
|
wire clear_xgif_7; // Strobe for decode to clear interrupt flag bank 7
|
wire clear_xgif_7; // Strobe for decode to clear interrupt flag bank 7
|
wire clear_xgif_6; // Strobe for decode to clear interrupt flag bank 6
|
wire clear_xgif_6; // Strobe for decode to clear interrupt flag bank 6
|
wire clear_xgif_5; // Strobe for decode to clear interrupt flag bank 5
|
wire clear_xgif_5; // Strobe for decode to clear interrupt flag bank 5
|
wire clear_xgif_4; // Strobe for decode to clear interrupt flag bank 4
|
wire clear_xgif_4; // Strobe for decode to clear interrupt flag bank 4
|
Line 129... |
Line 129... |
|
|
wire xge; // XGATE Module Enable
|
wire xge; // XGATE Module Enable
|
wire xgfrz; // Stop XGATE in Freeze Mode
|
wire xgfrz; // Stop XGATE in Freeze Mode
|
wire xgdbg_set; // Enter XGATE Debug Mode
|
wire xgdbg_set; // Enter XGATE Debug Mode
|
wire xgdbg_clear; // Leave XGATE Debug Mode
|
wire xgdbg_clear; // Leave XGATE Debug Mode
|
|
wire xgfact; // Fake Activity
|
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
|
Line 223... |
Line 224... |
xgif_status[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, xgfact, brk_irq_ena, xg_sw_irq, xgie} // XGMCTL
|
}
|
}
|
)
|
)
|
);
|
);
|
|
|
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
Line 237... |
Line 238... |
// outputs
|
// outputs
|
.xge( xge ),
|
.xge( xge ),
|
.xgfrz( xgfrz ),
|
.xgfrz( xgfrz ),
|
.xgdbg_set( xgdbg_set ),
|
.xgdbg_set( xgdbg_set ),
|
.xgdbg_clear( xgdbg_clear ),
|
.xgdbg_clear( xgdbg_clear ),
|
|
.xgfact( xgfact ),
|
.xgss( xgss ),
|
.xgss( xgss ),
|
.xgsweif_c( xgsweif_c ),
|
.xgsweif_c( xgsweif_c ),
|
.xgie( xgie ),
|
.xgie( xgie ),
|
.brk_irq_ena( brk_irq_ena ),
|
.brk_irq_ena( brk_irq_ena ),
|
.xgvbr( xgvbr ),
|
.xgvbr( xgvbr ),
|
Line 308... |
Line 310... |
.perif_data( wbs_dat_i ),
|
.perif_data( wbs_dat_i ),
|
.async_rst_b( async_rst_b ),
|
.async_rst_b( async_rst_b ),
|
.read_mem_data( read_mem_data ),
|
.read_mem_data( read_mem_data ),
|
.mem_req_ack( mem_req_ack ),
|
.mem_req_ack( mem_req_ack ),
|
.xge( xge ),
|
.xge( xge ),
|
.xgfrz( xgfrz ),
|
|
.xgdbg_set( xgdbg_set ),
|
.xgdbg_set( xgdbg_set ),
|
.xgdbg_clear( xgdbg_clear ),
|
.xgdbg_clear( xgdbg_clear ),
|
.debug_mode_i(debug_mode_i),
|
.debug_mode_i(debug_mode_i),
|
.xgss( xgss ),
|
.xgss( xgss ),
|
.xgvbr( xgvbr ),
|
.xgvbr( xgvbr ),
|