OpenCores
URL https://opencores.org/ocsvn/next186/next186/trunk

Subversion Repositories next186

[/] [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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.