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

Subversion Repositories sub86

[/] [sub86/] [trunk/] [sub86.v] - Diff between revs 10 and 11

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

Rev 10 Rev 11
Line 1... Line 1...
module sub86( CLK, RSTN, IA, ID, A, D, Q, WEN,BEN,CE,RD );
module sub86( CLK, RSTN, IA, ID, A, D, Q, WEN,BEN,CE,RD,INT );
input         CLK,RSTN,CE;
input         CLK,RSTN,CE,INT;
output [31:0] IA;
 
input  [15:0] ID;
input  [15:0] ID;
output [31:0] A;
 
input  [31:0] D;
input  [31:0] D;
 
output [31:0] IA;
 
output [31:0] A;
output [31:0] Q;
output [31:0] Q;
output        WEN;
output        WEN,RD;
output        RD;
 
output  [1:0] BEN;
output  [1:0] BEN;
wire          nncry,neqF,ngF,nlF,naF,nbF,divF1,divF2;
 
reg    [31:0] EAX,EBX,ECX,EDX,EBP,ESP,PC,regsrc,regdest,alu_out;
reg    [31:0] EAX,EBX,ECX,EDX,EBP,ESP,PC,regsrc,regdest,alu_out;
reg     [5:0] state,nstate;
reg     [5:0] state,nstate;
reg     [2:0] src,dest;
reg     [2:0] src,dest;
reg           WR,RD,cry,ncry,prefx,nprefx,cmpr,eqF,gF,lF,aF,bF;
reg           WR,RD,cry,ncry,prefx,nprefx,cmpr,eqF,gF,lF,aF,bF;
 
wire          nncry,neqF,ngF,nlF,naF,nbF,divF1,divF2;
wire   [31:0] pc_ja,pc_jae,pc_jb,pc_jbe,pc_jg,pc_jge,pc_jl,pc_jle,pc_eq,pc_jp,pc_neq,pc_sh;
wire   [31:0] pc_ja,pc_jae,pc_jb,pc_jbe,pc_jg,pc_jge,pc_jl,pc_jle,pc_eq,pc_jp,pc_neq,pc_sh;
wire   [31:0] Sregsrc,Zregsrc,incPC,sft_out,smlEAX,smlECX;
wire   [31:0] Sregsrc,Zregsrc,incPC,sft_out,smlEAX,smlECX;
wire   [32:0] adder_out,sub_out;
wire   [32:0] adder_out,sub_out;
wire    [4:0] EBX_shtr;
wire    [4:0] EBX_shtr;
wire signed [31:0] ssregsrc, ssregdest;
wire signed [31:0] ssregsrc, ssregdest;
Line 288... Line 287...
   end
   end
 end
 end
assign ssregsrc = regsrc;
assign ssregsrc = regsrc;
assign ssregdest= regdest;
assign ssregdest= regdest;
assign  IA      = PC                ;
assign  IA      = PC                ;
assign  A       =((state == `call2)|(state == `calla2)|((WR==1)&(ID[2:0]==3'b100))) ?  ESP          : EBX      ;
assign  A       =((state == `call2)|(state == `calla2)) ?  ESP          : EBX      ;
assign  Q       =((state == `call2)|(state == `calla2)) ?  incPC        : regsrc   ;
assign  Q       =((state == `call2)|(state == `calla2)) ?  incPC        : regsrc   ;
assign  WEN     = (CE    ==   1'b0) ?  1'b1         :
assign  WEN     = (CE    ==   1'b0) ?  1'b1         :
                  (WR    ==   1'b1) ?  1'b0         :
                  (WR    ==   1'b1) ?  1'b0         :
                  (state == `call2) ?  1'b0         :
                  (state == `call2) ?  1'b0         :
                  (state == `calla2)?  1'b0         : 1'b1     ;
                  (state == `calla2)?  1'b0         : 1'b1     ;

powered by: WebSVN 2.1.0

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