URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
Compare Revisions
- This comparison shows the changes necessary to convert path
/eco32/trunk/fpga
- from Rev 129 to Rev 181
- ↔ Reverse comparison
Rev 129 → Rev 181
/src/cpu/cpu.v
99,6 → 99,9
wire [31:0] mmu_bad_addr; // special register 4 (mmu bad addr) contents |
wire mmu_bad_addr_we; // mmu bad addr write enable |
wire [31:0] mmu_bad_addr_new; // new mmu bad addr contents |
wire [31:0] mmu_bad_accs; // special register 5 (mmu bad accs) contents |
wire mmu_bad_accs_we; // mmu bad accs write enable |
wire [31:0] mmu_bad_accs_new; // new mmu bad accs contents |
|
// mmu & tlb |
wire tlb_kmissed; // page not found in tlb, MSB of addr is 1 |
181,8 → 184,11
tlb_index, tlb_index_we, tlb_index_new, |
tlb_entry_hi, tlb_entry_hi_we, tlb_entry_hi_new, |
tlb_entry_lo, tlb_entry_lo_we, tlb_entry_lo_new, |
mmu_bad_addr, mmu_bad_addr_we, mmu_bad_addr_new); |
mmu_bad_addr, mmu_bad_addr_we, mmu_bad_addr_new, |
mmu_bad_accs, mmu_bad_accs_we, mmu_bad_accs_new); |
assign mmu_bad_addr_new = virt_addr; |
assign mmu_bad_accs_we = mmu_bad_addr_we; |
assign mmu_bad_accs_new = { 29'b0, bus_wr, bus_size[1:0] }; |
|
// ctrl |
ctrl ctrl1(clk, reset, |
905,8 → 911,8
mmu_fnc = (exc_prv_addr | exc_ill_addr) ? 3'b000 : 3'b001; |
mdor_we = 1'b0; |
bus_en = 1'b0; |
bus_wr = 1'bx; |
bus_size = 2'b10; // enable illegal address detection |
bus_wr = 1'b0; // get bad_accs right in case of exc |
bus_size = 2'b10; // enable illegal address detection |
mdir_we = 1'b0; |
mdir_sx = 1'bx; |
ir_we = 1'b0; |
1250,7 → 1256,7
mmu_fnc = (exc_prv_addr | exc_ill_addr) ? 3'b000 : 3'b001; |
mdor_we = 1'b0; |
bus_en = 1'b0; |
bus_wr = 1'bx; |
bus_wr = 1'b0; // get bad_accs right in case of exc |
bus_size = ldst_size; // enable illegal address detection |
mdir_we = 1'b0; |
mdir_sx = 1'bx; |
1312,7 → 1318,7
mmu_fnc = (exc_prv_addr | exc_ill_addr) ? 3'b000 : 3'b001; |
mdor_we = 1'b0; |
bus_en = 1'b0; |
bus_wr = 1'bx; |
bus_wr = 1'b1; // get bad_accs right in case of exc |
bus_size = ldst_size; // enable illegal address detection |
mdir_we = 1'b0; |
mdir_sx = 1'bx; |
2455,7 → 2461,8
tlb_index, tlb_index_we, tlb_index_new, |
tlb_entry_hi, tlb_entry_hi_we, tlb_entry_hi_new, |
tlb_entry_lo, tlb_entry_lo_we, tlb_entry_lo_new, |
mmu_bad_addr, mmu_bad_addr_we, mmu_bad_addr_new); |
mmu_bad_addr, mmu_bad_addr_we, mmu_bad_addr_new, |
mmu_bad_accs, mmu_bad_accs_we, mmu_bad_accs_new); |
input clk; |
input reset; |
input [2:0] rn; |
2477,6 → 2484,9
output [31:0] mmu_bad_addr; |
input mmu_bad_addr_we; |
input [31:0] mmu_bad_addr_new; |
output [31:0] mmu_bad_accs; |
input mmu_bad_accs_we; |
input [31:0] mmu_bad_accs_new; |
|
// rn = 000 register = PSW |
// 001 TLB index |
2483,7 → 2493,7
// 010 TLB entry high |
// 011 TLB entry low |
// 100 MMU bad address |
// 101 - not used - |
// 101 MMU bad access |
// 110 - not used - |
// 111 - not used - |
|
2495,6 → 2505,7
assign tlb_entry_hi = sr[2]; |
assign tlb_entry_lo = sr[3]; |
assign mmu_bad_addr = sr[4]; |
assign mmu_bad_accs = sr[5]; |
|
always @(posedge clk) begin |
if (reset == 1) begin |
2518,6 → 2529,9
if (mmu_bad_addr_we) begin |
sr[4] <= mmu_bad_addr_new; |
end |
if (mmu_bad_accs_we) begin |
sr[5] <= mmu_bad_accs_new; |
end |
end |
end |
end |
/xsa-xst-3/eco32.bit
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
xsa-xst-3/eco32.bit
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: Makefile
===================================================================
--- Makefile (revision 129)
+++ Makefile (revision 181)
@@ -2,16 +2,25 @@
# Makefile for FPGA implementations of ECO32
#
+BUILD = ../build
+
.PHONY: all install clean
-all:
+all: xsa-xst-3/eco32.bit
-install:
+install: xsa-xst-3/eco32.bit
+ $(BUILD)/bin/bit2exo 0x180000 \
+ xsa-xst-3/eco32.bit xsa-xst-3/eco32.exo
+ mkdir -p $(BUILD)/eco32/xsa-xst-3
+ cp xsa-xst-3/eco32.bit $(BUILD)/eco32/xsa-xst-3
+ cp xsa-xst-3/eco32.exo $(BUILD)/eco32/xsa-xst-3
clean:
mv xsa-xst-3/eco32.ucf .
mv xsa-xst-3/eco32.xise .
+ mv xsa-xst-3/eco32.bit .
rm -rf xsa-xst-3/*
mv eco32.ucf xsa-xst-3
mv eco32.xise xsa-xst-3
+ mv eco32.bit xsa-xst-3
rm -f *~