Line 5... |
Line 5... |
// This file is part of the Amber project //
|
// This file is part of the Amber project //
|
// http://www.opencores.org/project,amber //
|
// http://www.opencores.org/project,amber //
|
// //
|
// //
|
// Description //
|
// Description //
|
// Instantiates the core consisting of fetch, instruction //
|
// Instantiates the core consisting of fetch, instruction //
|
// decode, execute, and co-processor. //
|
// decode, execute, memory access and write back. The //
|
|
// Wishbone interface and Co-Processor modules are also //
|
|
// instantiated here. //
|
// //
|
// //
|
// Author(s): //
|
// Author(s): //
|
// - Conor Santifort, csantifort.amber@gmail.com //
|
// - Conor Santifort, csantifort.amber@gmail.com //
|
// //
|
// //
|
//////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////
|
Line 71... |
Line 73... |
wire [31:0] execute_daddress_nxt; // un-registered version of execute_daddress
|
wire [31:0] execute_daddress_nxt; // un-registered version of execute_daddress
|
// to the data cache rams
|
// to the data cache rams
|
wire [31:0] write_data;
|
wire [31:0] write_data;
|
wire write_enable;
|
wire write_enable;
|
wire [31:0] fetch_instruction;
|
wire [31:0] fetch_instruction;
|
// wire priviledged;
|
|
wire decode_exclusive;
|
wire decode_exclusive;
|
wire decode_iaccess;
|
wire decode_iaccess;
|
wire decode_daccess;
|
wire decode_daccess;
|
wire [3:0] byte_enable;
|
wire [3:0] byte_enable;
|
wire exclusive; // swap access
|
wire exclusive; // swap access
|
Line 116... |
Line 117... |
wire [3:0] daddress_sel;
|
wire [3:0] daddress_sel;
|
wire [2:0] pc_sel;
|
wire [2:0] pc_sel;
|
wire [1:0] byte_enable_sel;
|
wire [1:0] byte_enable_sel;
|
wire [2:0] status_bits_sel;
|
wire [2:0] status_bits_sel;
|
wire [2:0] reg_write_sel;
|
wire [2:0] reg_write_sel;
|
// wire user_mode_regs_load;
|
|
wire user_mode_regs_store_nxt;
|
wire user_mode_regs_store_nxt;
|
wire firq_not_user_mode;
|
wire firq_not_user_mode;
|
|
|
wire write_data_wen;
|
wire write_data_wen;
|
wire copro_write_data_wen;
|
wire copro_write_data_wen;
|
Line 259... |
Line 259... |
.o_daddress_sel ( daddress_sel ),
|
.o_daddress_sel ( daddress_sel ),
|
.o_pc_sel ( pc_sel ),
|
.o_pc_sel ( pc_sel ),
|
.o_byte_enable_sel ( byte_enable_sel ),
|
.o_byte_enable_sel ( byte_enable_sel ),
|
.o_status_bits_sel ( status_bits_sel ),
|
.o_status_bits_sel ( status_bits_sel ),
|
.o_reg_write_sel ( reg_write_sel ),
|
.o_reg_write_sel ( reg_write_sel ),
|
// .o_user_mode_regs_load ( user_mode_regs_load ),
|
|
.o_user_mode_regs_store_nxt ( user_mode_regs_store_nxt ),
|
.o_user_mode_regs_store_nxt ( user_mode_regs_store_nxt ),
|
.o_firq_not_user_mode ( firq_not_user_mode ),
|
.o_firq_not_user_mode ( firq_not_user_mode ),
|
.o_write_data_wen ( write_data_wen ),
|
.o_write_data_wen ( write_data_wen ),
|
.o_base_address_wen ( base_address_wen ),
|
.o_base_address_wen ( base_address_wen ),
|
.o_pc_wen ( pc_wen ),
|
.o_pc_wen ( pc_wen ),
|
Line 348... |
Line 347... |
.i_daddress_sel ( daddress_sel ),
|
.i_daddress_sel ( daddress_sel ),
|
.i_pc_sel ( pc_sel ),
|
.i_pc_sel ( pc_sel ),
|
.i_byte_enable_sel ( byte_enable_sel ),
|
.i_byte_enable_sel ( byte_enable_sel ),
|
.i_status_bits_sel ( status_bits_sel ),
|
.i_status_bits_sel ( status_bits_sel ),
|
.i_reg_write_sel ( reg_write_sel ),
|
.i_reg_write_sel ( reg_write_sel ),
|
// .i_user_mode_regs_load ( user_mode_regs_load ),
|
|
.i_user_mode_regs_store_nxt ( user_mode_regs_store_nxt ),
|
.i_user_mode_regs_store_nxt ( user_mode_regs_store_nxt ),
|
.i_firq_not_user_mode ( firq_not_user_mode ),
|
.i_firq_not_user_mode ( firq_not_user_mode ),
|
.i_write_data_wen ( write_data_wen ),
|
.i_write_data_wen ( write_data_wen ),
|
.i_base_address_wen ( base_address_wen ),
|
.i_base_address_wen ( base_address_wen ),
|
.i_pc_wen ( pc_wen ),
|
.i_pc_wen ( pc_wen ),
|