Line 42... |
Line 42... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.1 2001/07/20 00:46:03 lampret
|
|
// Development version of RTL. Libraries are missing.
|
|
//
|
//
|
//
|
|
|
`include "general.h"
|
`include "timescale.v"
|
|
`include "defines.v"
|
|
|
module lsu(clk, rst, addrbase, addrofs, lsu_op, lsu_datain, lsu_dataout, lsu_stall,
|
module lsu(
|
dc_stall, dc_addr, dc_datain, dc_dataout, dc_lsuop);
|
// Clock and reset
|
|
clk, rst,
|
|
|
|
// Internal i/f
|
|
addrbase, addrofs, lsu_op, lsu_datain, lsu_dataout, lsu_stall,
|
|
|
|
// External i/f to DC
|
|
dc_stall, dc_addr, dc_datain, dc_dataout, dc_lsuop
|
|
);
|
|
|
parameter dw = `OPERAND_WIDTH;
|
parameter dw = `OPERAND_WIDTH;
|
parameter aw = `REGFILE_ADDR_WIDTH;
|
parameter aw = `REGFILE_ADDR_WIDTH;
|
|
|
|
//
|
|
// I/O
|
|
//
|
|
|
|
//
|
|
// Clock and reset
|
|
//
|
input clk;
|
input clk;
|
input rst;
|
input rst;
|
|
|
|
//
|
|
// Internal i/f
|
|
//
|
input [31:0] addrbase;
|
input [31:0] addrbase;
|
input [31:0] addrofs;
|
input [31:0] addrofs;
|
input [`LSUOP_WIDTH-1:0] lsu_op;
|
input [`LSUOP_WIDTH-1:0] lsu_op;
|
input [dw-1:0] lsu_datain;
|
input [dw-1:0] lsu_datain;
|
output [dw-1:0] lsu_dataout;
|
output [dw-1:0] lsu_dataout;
|
output lsu_stall;
|
output lsu_stall;
|
|
|
|
//
|
|
// External i/f to DC
|
|
//
|
input dc_stall;
|
input dc_stall;
|
output [31:0] dc_addr;
|
output [31:0] dc_addr;
|
input [dw-1:0] dc_datain;
|
input [dw-1:0] dc_datain;
|
output [dw-1:0] dc_dataout;
|
output [dw-1:0] dc_dataout;
|
output [`LSUOP_WIDTH-1:0] dc_lsuop;
|
output [`LSUOP_WIDTH-1:0] dc_lsuop;
|
|
|
|
//
|
|
// Not much of a LSU right now
|
|
//
|
assign dc_addr = addrbase + addrofs;
|
assign dc_addr = addrbase + addrofs;
|
assign dc_dataout = lsu_datain;
|
assign dc_dataout = lsu_datain;
|
assign lsu_dataout = dc_datain;
|
assign lsu_dataout = dc_datain;
|
assign lsu_stall = dc_stall;
|
assign lsu_stall = dc_stall;
|
assign dc_lsuop = lsu_op;
|
assign dc_lsuop = lsu_op;
|