Line 1... |
Line 1... |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
//
|
//
|
// This file is part of the M32632 project
|
// This file is part of the M32632 project
|
// http://opencores.org/project,m32632
|
// http://opencores.org/project,m32632
|
//
|
//
|
// Filename: TOP_MISC.v
|
// Filename: TOP_MISC.v
|
// Version: 2.0
|
// Version: 3.0
|
// History: 1.0 first release of 30 Mai 2015
|
// History: 1.0 first release of 30 Mai 2015
|
// Date: 14 August 2016
|
// Date: 2 December 2018
|
//
|
//
|
// Copyright (C) 2016 Udo Moeller
|
// Copyright (C) 2018 Udo Moeller
|
//
|
//
|
// This source file may be used and distributed without
|
// This source file may be used and distributed without
|
// restriction provided that this copyright statement is not
|
// restriction provided that this copyright statement is not
|
// removed from the file and that any derivative work contains
|
// removed from the file and that any derivative work contains
|
// the original copyright notice and the associated disclaimer.
|
// the original copyright notice and the associated disclaimer.
|
Line 29... |
Line 29... |
//
|
//
|
// You should have received a copy of the GNU Lesser General
|
// You should have received a copy of the GNU Lesser General
|
// Public License along with this source; if not, download it
|
// Public License along with this source; if not, download it
|
// from http://www.opencores.org/lgpl.shtml
|
// from http://www.opencores.org/lgpl.shtml
|
//
|
//
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
//
|
//
|
// Modules contained in this file:
|
// Modules contained in this file:
|
// 1. IO_SWITCH Switch between ICACHE and DCACHE to IO Path
|
// 1. IO_SWITCH Switch between ICACHE and DCACHE to IO Path
|
// 2. MAKE_STAT Generate Statistic Signals
|
// 2. MAKE_STAT Generate Statistic Signals
|
//
|
//
|
Line 105... |
Line 105... |
assign IO_WR = sel_dp ? D_IOWR : 1'b0;
|
assign IO_WR = sel_dp ? D_IOWR : 1'b0;
|
assign IO_A = sel_dp ? D_IOA : I_IOA;
|
assign IO_A = sel_dp ? D_IOA : I_IOA;
|
assign IO_BE = sel_dp ? D_IOBE : 4'b1111; // Instruction read always 32 Bit
|
assign IO_BE = sel_dp ? D_IOBE : 4'b1111; // Instruction read always 32 Bit
|
|
|
assign D_IORDY = sel_dp & IO_READY;
|
assign D_IORDY = sel_dp & IO_READY;
|
assign I_IORDY = ~sel_dp & IO_READY;
|
assign I_IORDY = ~sel_dp & IO_READY & I_IORD;
|
|
|
assign interrupt = GENSTAT[1] | GENSTAT[0];
|
assign interrupt = GENSTAT[1] | GENSTAT[0];
|
|
|
always @(*)
|
always @(*)
|
casex ({sel_dp,daten,interrupt,I_IORD})
|
casex ({sel_dp,daten,interrupt,I_IORD})
|