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

Subversion Repositories next186

[/] [next186/] [trunk/] [Next186_CPU.v] - Diff between revs 14 and 19

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 14 Rev 19
Line 61... Line 61...
// 25May2013 - generate invalid opcode exception for MOV FS and GS 
// 25May2013 - generate invalid opcode exception for MOV FS and GS 
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
`timescale 1ns / 1ps
`timescale 1ns / 1ps
 
 
module Next186_CPU(
module Next186_CPU(
    output [19:0] ADDR,
    output [20:0] ADDR,
    input [15:0] DIN,
    input [15:0] DIN,
    output [15:0] DOUT,
    output [15:0] DOUT,
         input CLK,
         input CLK,
         input CE,
         input CE,
         input INTR,
         input INTR,
Line 75... Line 75...
         output wire IORQ,
         output wire IORQ,
         output reg INTA,
         output reg INTA,
         output reg WR,
         output reg WR,
         output reg WORD,
         output reg WORD,
         output LOCK,
         output LOCK,
         output [19:0]IADDR,
         output [20:0]IADDR,
         input [47:0]INSTR,
         input [47:0]INSTR,
         output reg IFETCH,
         output reg IFETCH,
         output FLUSH,
         output FLUSH,
         output reg [2:0]ISIZE,
         output reg [2:0]ISIZE,
         output reg HALT
         output reg HALT
Line 263... Line 263...
    .ADDR16(ADDR16),
    .ADDR16(ADDR16),
         .EAC(EAC)
         .EAC(EAC)
    );
    );
 
 
         assign DOUT = DOSEL[1] ? DOSEL[0] ? AX : TMP16 : DOSEL[0] ? IPADD : ALUOUT;
         assign DOUT = DOSEL[1] ? DOSEL[0] ? AX : TMP16 : DOSEL[0] ? IPADD : ALUOUT;
         assign ADDR = {{NULLSEG ? 16'h0000 : RS} + {4'b0000, ADDR16_SP[15:4]}, ADDR16_SP[3:0]};
         assign ADDR = {{NULLSEG ? 16'h0000 : RS} + {5'b00000, ADDR16_SP[15:4]}, ADDR16_SP[3:0]};
         assign IADDR = {CS + {4'b0000, IPIN[15:4]}, IPIN[3:0]};
         assign IADDR = {CS + {5'b00000, IPIN[15:4]}, IPIN[3:0]};
         assign AIMM1 = ASEL ? {FETCH[3], FETCH[2]} : {FETCH[2], FETCH[1]};
         assign AIMM1 = ASEL ? {FETCH[3], FETCH[2]} : {FETCH[2], FETCH[1]};
 
 
         always @(posedge CLK)
         always @(posedge CLK)
                if(CE) begin
                if(CE) begin
                        if(SRST) begin          // reset
                        if(SRST) begin          // reset

powered by: WebSVN 2.1.0

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