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

Subversion Repositories 8051

[/] [8051/] [trunk/] [rtl/] [verilog/] [oc8051_sfr.v] - Diff between revs 139 and 145

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

Rev 139 Rev 145
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.13  2003/05/05 15:46:37  simont
 
// add aditional alu destination to solve critical path.
 
//
// Revision 1.12  2003/04/29 11:24:31  simont
// Revision 1.12  2003/04/29 11:24:31  simont
// fix bug in case execution of two data dependent instructions.
// fix bug in case execution of two data dependent instructions.
//
//
// Revision 1.11  2003/04/25 17:15:51  simont
// Revision 1.11  2003/04/25 17:15:51  simont
// change branch instruction execution (reduse needed clock periods).
// change branch instruction execution (reduse needed clock periods).
Line 563... Line 566...
begin
begin
  if (rst) begin
  if (rst) begin
    dat0 <= #1 8'h00;
    dat0 <= #1 8'h00;
    wait_data <= #1 1'b0;
    wait_data <= #1 1'b0;
  end else if ((wr_sfr==`OC8051_WRS_DPTR) & (adr0==`OC8051_SFR_DPTR_LO)) begin                          //write and read same address
  end else if ((wr_sfr==`OC8051_WRS_DPTR) & (adr0==`OC8051_SFR_DPTR_LO)) begin                          //write and read same address
    dat0 <= #1 dat1;
    dat0 <= #1 des_acc;
    wait_data <= #1 1'b0;
    wait_data <= #1 1'b0;
  end else if (
  end else if (
      (((wr_sfr==`OC8051_WRS_ACC1) & (adr0==`OC8051_SFR_ACC)) |         //write to acc
      (
      ((wr_sfr==`OC8051_WRS_DPTR) & (adr0==`OC8051_SFR_DPTR_LO)) |      //write to dpl
        ((wr_sfr==`OC8051_WRS_ACC1) & (adr0==`OC8051_SFR_ACC)) |        //write to acc
 
//        ((wr_sfr==`OC8051_WRS_DPTR) & (adr0==`OC8051_SFR_DPTR_LO)) |  //write to dpl
      (adr1[7] & (adr1==adr0) & we & !wr_bit_r) |                       //write and read same address
      (adr1[7] & (adr1==adr0) & we & !wr_bit_r) |                       //write and read same address
      (adr1[7] & (adr1[7:3]==adr0[7:3]) & (~&adr0[2:0]) &  we & wr_bit_r) //write bit addressable to read address
      (adr1[7] & (adr1[7:3]==adr0[7:3]) & (~&adr0[2:0]) &  we & wr_bit_r) //write bit addressable to read address
      ) & !wait_data) begin
      ) & !wait_data) begin
    wait_data <= #1 1'b1;
    wait_data <= #1 1'b1;
 
 
Line 643... Line 647...
end
end
 
 
 
 
//
//
//set output in case of address (bit)
//set output in case of address (bit)
 
 
always @(posedge clk or posedge rst)
always @(posedge clk or posedge rst)
begin
begin
  if (rst)
  if (rst)
    bit_out <= #1 1'h0;
    bit_out <= #1 1'h0;
  else if (
  else if (

powered by: WebSVN 2.1.0

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