LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Tue Jul 22 15:46:43 CEST 2008
    Subject: [cvs-checkins] MODIFIED: wb_lpc ...
    Top
    Date: 00/08/07 22:15:46

    Modified: wb_lpc/rtl/verilog wb_lpc_host.v wb_lpc_periph.v
    Log:
    fixed bug: Spec vviolation for multi-byte firmware amcesses:

    the multi-byte firmware accesses incorrectly follow the multi-byte DMA algorithm and issue a SYNC sequence between each byte transferred. Instead, multi-byte firmware accesses should issue a single SYNC sequence following the transfer of the multi-byte data phase




    Revision Changes Path
    1.3 wb_lpc/rtl/verilog/wb_lpc_host.v

    http://www.opencores.org/cvsweb.shtml/wb_lpc/rtl/verilog/wb_lpc_host.v.diff?r1=1.2&r2=1.3

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: wb_lpc_host.v
    ===================================================================
    RCS file: /cvsroot/hharte/wb_lpc/rtl/verilog/wb_lpc_host.v,v
    retrieving revision 1.2
    retrieving revision 1.3
    diff -u -b -r1.2 -r1.3
    --- wb_lpc_host.v 5 Mar 2008 05:50:25 -0000 1.2
    +++ wb_lpc_host.v 22 Jul 2008 13:46:42 -0000 1.3
    @@ -1,6 +1,6 @@
    //////////////////////////////////////////////////////////////////////
    //// ////
    -//// $Id: wb_lpc_host.v,v 1.2 2008/03/05 05:50:25 hharte Exp $ ////
    +//// $Id: wb_lpc_host.v,v 1.3 2008/07/22 13:46:42 hharte Exp $ ////
    //// wb_lpc_host.v - Wishbone Slave to LPC Host Bridge ////
    //// ////
    //// This file is part of the Wishbone LPC Bridge project ////
    @@ -165,7 +165,7 @@

    // The LPC Bus Address is sent across the bus a nibble at a time;
    // however, the most significant nibble is sent first. For firmware and
    - // memory cycles, the address is 32-bits. Actually, for memeory accesses,
    + // memory cycles, the address is 32-bits. Actually, for firmware accesses,
    // the most significant nibble is known as the IDSEL field. For I/O,
    // the address is only 16-bits wide.
    case(adr_cnt)
    @@ -271,6 +271,9 @@

    if(nibble_cnt == 1'b1) // end of byte
    begin
    + if((fw_xfr) && (byte_cnt != xfr_len-1)) // Firmware transfer does not have TAR between bytes.
    + state <= `LPC_ST_H_DATA;
    + else
    state <= `LPC_ST_H_TAR1;
    end
    else
    @@ -328,8 +331,12 @@
    if(nibble_cnt == 1'b1) // Byte transfer complete
    if (byte_cnt == xfr_len-1) // End of data transfer phase
    state <= `LPC_ST_P_TAR1;
    + else begin
    + if(fw_xfr) // Firmware transfer does not have TAR between bytes.
    + state <= `LPC_ST_P_DATA;
    else
    state <= `LPC_ST_SYNC;
    + end
    else // Go to next nibble
    state <= `LPC_ST_P_DATA;
    end



    1.3 wb_lpc/rtl/verilog/wb_lpc_periph.v

    http://www.opencores.org/cvsweb.shtml/wb_lpc/rtl/verilog/wb_lpc_periph.v.diff?r1=1.2&r2=1.3

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: wb_lpc_periph.v
    ===================================================================
    RCS file: /cvsroot/hharte/wb_lpc/rtl/verilog/wb_lpc_periph.v,v
    retrieving revision 1.2
    retrieving revision 1.3
    diff -u -b -r1.2 -r1.3
    --- wb_lpc_periph.v 5 Mar 2008 05:50:59 -0000 1.2
    +++ wb_lpc_periph.v 22 Jul 2008 13:46:42 -0000 1.3
    @@ -1,6 +1,6 @@
    //////////////////////////////////////////////////////////////////////
    //// ////
    -//// $Id: wb_lpc_periph.v,v 1.2 2008/03/05 05:50:59 hharte Exp $ ////
    +//// $Id: wb_lpc_periph.v,v 1.3 2008/07/22 13:46:42 hharte Exp $ ////
    //// wb_lpc_periph.v - LPC Peripheral to Wishbone Master Bridge ////
    //// ////
    //// This file is part of the Wishbone LPC Bridge project ////
    @@ -285,6 +285,9 @@

    if(nibble_cnt == 1'b1) // end of byte
    begin
    + if((fw_xfr) && (byte_cnt != xfr_len-1)) // Firmware transfer does not have TAR between bytes.
    + state <= `LPC_ST_H_DATA;
    + else
    state <= `LPC_ST_H_TAR1;
    end
    else
    @@ -365,8 +368,12 @@
    if(nibble_cnt == 1'b1) // Byte transfer complete if (byte_cnt == xfr_len-1) // Byte transfer complete state <= `LPC_ST_P_TAR1; + else begin + if(fw_xfr) // Firmware transfer does not have TAR between bytes. + state <= `LPC_ST_P_DATA; else state <= `LPC_ST_SYNC; + end else state <= `LPC_ST_P_DATA;

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.