Summarise the points needed for AHB Slave Interface Implementation

Discussion in 'VHDL' started by anupam.jain21@gmail.com, Jun 28, 2006.

  1. Guest

    hi,

    I have to implement a AHB slave interface which supports SPLIT.
    This is what i have done :
    1) When the Hsel =LOW or Hreadyin =LOW . Do nothing.Respond with
    Hresp=OK and Hreadyout=HIGH.
    2) When the Hsel=HIGH and Hreadyin=HIGH . If Htrans = NSEQ or SEQ ,If
    Hwrite =HIGH ,write what is present on the data line at the address
    given by Haddr and read in case of Hwrite= LOW.
    3) When Hsel=HIGH,Hreadyin=HIGH and Htrans =IDLE or BUSY. Do nothing
    ..respnd with Hresp =OK and Hreadyout=HIGH.
    3)If Hsize is other than 32 bit transfer,respond with the Hresp=ERROR
    and Hreadyout=HIGH.
    4)To split,respond with Hresp=SPLIT and record the master number.
    5)To release the SPLIT, assert the appropriate line on HSPLIT.

    This is all i have done and i think i have missed some points.Can
    anyone help me point out some of those?

    regards,
    Anupam Jain
     
    , Jun 28, 2006
    #1
    1. Advertising

  2. wrote:

    > This is all i have done and i think i have missed some points.


    write code, run a sim and verify to the specs, repeat


    -- Mike Treseler
     
    Mike Treseler, Jun 28, 2006
    #2
    1. Advertising

  3. Tarang Guest

    Hi Anupam,
    Please read the inlime comments.
    wrote:
    > hi,
    >
    > I have to implement a AHB slave interface which supports SPLIT.
    > This is what i have done :
    > 1) When the Hsel =LOW or Hreadyin =LOW . Do nothing.Respond with
    > Hresp=OK and Hreadyout=HIGH.

    ok.
    > 2) When the Hsel=HIGH and Hreadyin=HIGH . If Htrans = NSEQ or SEQ ,If
    > Hwrite =HIGH ,write what is present on the data line at the address
    > given by Haddr and read in case of Hwrite= LOW.

    ok.
    > 3) When Hsel=HIGH,Hreadyin=HIGH and Htrans =IDLE or BUSY. Do nothing
    > .respnd with Hresp =OK and Hreadyout=HIGH.

    ok.
    > 3)If Hsize is other than 32 bit transfer,respond with the Hresp=ERROR
    > and Hreadyout=HIGH.

    Giving Error Responsce is fine. But you have to take care for the
    Hreadyout signal. When ever error response is given , hreadyout should
    remail low for the one clock cycle and high for once clock cycle for
    the ERROR response.
    Please refer the "Topic 3.9.3 "two-cycle response " " for the more
    detials and the reason behind this.
    > 4)To split,respond with Hresp=SPLIT and record the master number.
    > 5)To release the SPLIT, assert the appropriate line on HSPLIT.

    ok.
    > This is all i have done and i think i have missed some points.Can
    > anyone help me point out some of those?


    done !

    Regards,
    Tarang Popat.
     
    Tarang, Jun 29, 2006
    #3
  4. Guest

    Tarang wrote:
    > Hi Anupam,
    > Please read the inlime comments.
    > wrote:
    > > hi,
    > >
    > > I have to implement a AHB slave interface which supports SPLIT.
    > > This is what i have done :
    > > 1) When the Hsel =LOW or Hreadyin =LOW . Do nothing.Respond with
    > > Hresp=OK and Hreadyout=HIGH.

    > ok.
    > > 2) When the Hsel=HIGH and Hreadyin=HIGH . If Htrans = NSEQ or SEQ ,If
    > > Hwrite =HIGH ,write what is present on the data line at the address
    > > given by Haddr and read in case of Hwrite= LOW.

    > ok.
    > > 3) When Hsel=HIGH,Hreadyin=HIGH and Htrans =IDLE or BUSY. Do nothing
    > > .respnd with Hresp =OK and Hreadyout=HIGH.

    > ok.
    > > 3)If Hsize is other than 32 bit transfer,respond with the Hresp=ERROR
    > > and Hreadyout=HIGH.

    > Giving Error Responsce is fine. But you have to take care for the
    > Hreadyout signal. When ever error response is given , hreadyout should
    > remail low for the one clock cycle and high for once clock cycle for
    > the ERROR response.
    > Please refer the "Topic 3.9.3 "two-cycle response " " for the more
    > detials and the reason behind this.
    > > 4)To split,respond with Hresp=SPLIT and record the master number.
    > > 5)To release the SPLIT, assert the appropriate line on HSPLIT.

    > ok.
    > > This is all i have done and i think i have missed some points.Can
    > > anyone help me point out some of those?

    >
    > done !
    >
    > Regards,
    > Tarang Popat.


    Hi,

    The Handling of Hreadyout is not an issue as this is going to be a
    behavioural code for the first level and so there is no timing for
    now.This will an important point during implementation of RTL.

    regards,
    Anupam Jain
     
    , Jun 29, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Herwig Dietl

    [SystemC] AMBA AHB Bus implementation

    Herwig Dietl, Oct 30, 2003, in forum: VHDL
    Replies:
    1
    Views:
    2,030
    deshmukhur
    Aug 20, 2006
  2. Johnny
    Replies:
    4
    Views:
    6,463
    Marcus Harnisch
    Apr 15, 2004
  3. anupam
    Replies:
    2
    Views:
    871
    anupam
    May 31, 2006
  4. Replies:
    0
    Views:
    859
  5. Ludek
    Replies:
    0
    Views:
    490
    Ludek
    Apr 7, 2010
Loading...

Share This Page