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

Subversion Repositories m32632

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /m32632/trunk
    from Rev 14 to Rev 15
    Reverse comparison

Rev 14 → Rev 15

/rtl/I_PFAD.v
4,11 → 4,12
// http://opencores.org/project,m32632
//
// Filename: I_PFAD.v
// Version: 1.1 bug fix
// Version: 1.2 bug fix
// Version: 1.1 bug fix release of 7 November 2015
// History: 1.0 first release of 30 Mai 2015
// Date: 7 November 2015
// Date: 4 February 2016
//
// Copyright (C) 2015 Udo Moeller
// Copyright (C) 2016 Udo Moeller
//
// This source file may be used and distributed without
// restriction provided that this copyright statement is not
574,7 → 575,7
// ++++++++++++++ Format 4 Opcodes : Basic Integer Opcodes, MOVi is special case +++++++++++++
 
reg cy_in;
reg get_psr,rd_psr,rd_dsr;
reg get_psr,rd_psr,rd_dsr,get_mod;
wire add_flag;
always @(BWD or SRC1)
600,11 → 601,13
always @(posedge BCLK) get_psr <= (RDAA == 8'h9D) | (RDAA == 8'h90) | (RDAA == 8'h93); // PSR or US or DSR is read
always @(posedge BCLK) rd_psr <= (RDAA[1:0] == 2'b01);
always @(posedge BCLK) rd_dsr <= (RDAA[1:0] == 2'b11);
always @(posedge BCLK) get_mod <= (RDAA == 8'h9F);
always @(OPCODE or SRC1 or SRC2 or get_psr or rd_psr or rd_dsr or DSR or PSR or ADDR)
always @(OPCODE or SRC1 or SRC2 or get_psr or rd_psr or rd_dsr or get_mod or DSR or PSR or ADDR)
casex (OPCODE[3:1])
3'b001 : pfad_4a = SRC2 & ~SRC1; // BIC
3'bx10 : pfad_4a = get_psr ? {({4{rd_dsr}} & DSR),16'd0,({4{rd_psr}} & PSR[11:8]),({8{~rd_dsr}} & PSR[7:0])} : SRC1; // MOV
3'bx10 : pfad_4a = get_psr ? {({4{rd_dsr}} & DSR),16'd0,({4{rd_psr}} & PSR[11:8]),({8{~rd_dsr}} & PSR[7:0])} // MOV
: (get_mod ? {16'd0,SRC1[15:0]} : SRC1);
3'b011 : pfad_4a = SRC2 | SRC1; // OR
3'b101 : pfad_4a = SRC2 & SRC1; // AND
3'b111 : pfad_4a = SRC2 ^ SRC1; // XOR

powered by: WebSVN 2.1.0

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