URL
https://opencores.org/ocsvn/next186/next186/trunk
[/] [next186/] [trunk/] [Next186_CPU.v] - Diff between revs 12 and 13
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 12 |
Rev 13 |
Line 55... |
Line 55... |
// 23Dec2012 - fixed DIV bug (exception on sign bit)
|
// 23Dec2012 - fixed DIV bug (exception on sign bit)
|
// 27Feb2013 - fixed MUL/IMUL 8bit flags bug
|
// 27Feb2013 - fixed MUL/IMUL 8bit flags bug
|
// 03Apr2013 - fix RET n alignment bug
|
// 03Apr2013 - fix RET n alignment bug
|
// 04Apr2013 - fix TRAP interrupt acknowledge
|
// 04Apr2013 - fix TRAP interrupt acknowledge
|
// 12Apr2013 - fix IDIV when Q=0
|
// 12Apr2013 - fix IDIV when Q=0
|
|
// 16May2013 - fix PUSHA SP pushed stack value, which should be the one before PUSHA
|
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
`timescale 1ns / 1ps
|
`timescale 1ns / 1ps
|
|
|
module Next186_CPU(
|
module Next186_CPU(
|
output [19:0] ADDR,
|
output [19:0] ADDR,
|
Line 601... |
Line 602... |
ALUOP = 31; // PASS B
|
ALUOP = 31; // PASS B
|
EAC = 4'b1000; // SP - 2
|
EAC = 4'b1000; // SP - 2
|
DISEL = 2'b10; // ADDR
|
DISEL = 2'b10; // ADDR
|
WR = 1'b1;
|
WR = 1'b1;
|
ISIZE = 1;
|
ISIZE = 1;
|
IFETCH = &STAGE[2:0];
|
IFETCH = STAGE[2:0] == 3'b111;
|
WE[1:0] = 2'b11; // RASEL_HI, RASEL_LO
|
WE[1:0] = 2'b11; // RASEL_HI, RASEL_LO
|
|
BASEL = STAGE[1:0] == 2'b00; // 16May2013 - fix PUSHA SP pushed stack value, which should be the one before PUSHA
|
|
BBSEL[0] = STAGE[2:0] != 3'b100; // SP stage
|
end
|
end
|
// -------------------------------- pop R/M --------------------------------
|
// -------------------------------- pop R/M --------------------------------
|
11:
|
11:
|
case(REG)
|
case(REG)
|
3'b000: begin
|
3'b000: begin
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.