mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 01:44:41 +00:00
mmu cleanup
This commit is contained in:
parent
bba08c3202
commit
00500c6685
@ -27,17 +27,17 @@
|
|||||||
`include "wally-config.vh"
|
`include "wally-config.vh"
|
||||||
|
|
||||||
module adrdec (
|
module adrdec (
|
||||||
input logic [`PA_BITS-1:0] PhysicalAddress,
|
input logic [`PA_BITS-1:0] PhysicalAddress, // Physical address to decode
|
||||||
input logic [`PA_BITS-1:0] Base, Range,
|
input logic [`PA_BITS-1:0] Base, Range, // Base and range of peripheral addresses
|
||||||
input logic Supported,
|
input logic Supported, // Is this peripheral supported?
|
||||||
input logic AccessValid,
|
input logic AccessValid, // Is the access type valid?
|
||||||
input logic [1:0] Size,
|
input logic [1:0] Size, // Size of access
|
||||||
input logic [3:0] SizeMask,
|
input logic [3:0] SizeMask, // List of supported sizes: 0 = 8, 1 = 16, 2 = 32, 3 = 64-bit
|
||||||
output logic Sel
|
output logic Sel // Decoder selects this peripheral
|
||||||
);
|
);
|
||||||
|
|
||||||
logic Match;
|
logic Match; // Address matches in range
|
||||||
logic SizeValid;
|
logic SizeValid; // Size of access is valid
|
||||||
|
|
||||||
// determine if an address is in a range starting at the base
|
// determine if an address is in a range starting at the base
|
||||||
// for example, if Base = 0x04002000 and range = 0x00000FFF,
|
// for example, if Base = 0x04002000 and range = 0x00000FFF,
|
||||||
@ -47,7 +47,7 @@ module adrdec (
|
|||||||
// determine if legal size of access is being made (byte, halfword, word, doubleword)
|
// determine if legal size of access is being made (byte, halfword, word, doubleword)
|
||||||
assign SizeValid = SizeMask[Size];
|
assign SizeValid = SizeMask[Size];
|
||||||
|
|
||||||
|
// Select this peripheral if the address matches, the peripheral is supported, and the type and size of access is ok
|
||||||
assign Sel = Match & Supported & AccessValid & SizeValid;
|
assign Sel = Match & Supported & AccessValid & SizeValid;
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user