This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Confusion over AMBA AHB hsize[] signal definition

Note: This was originally posted on 26th February 2008 at http://forums.arm.com

After reading the AMBA AHB spec rev 2, I am still confused over the relationship of the HSIZE[2:0] signal and the implemented bus width on an interface.  If an AHB bus is implemented using 32 bit write and read data buses, I would think this would imply that hsize[2] is essentially unused and always '0' since data transfer width on this bus can only be a byte, half word, or word.  Yet, I see interface signal specifications on various 32 bit bus AHB designs where hsize[2] seems to be used and is not optimized out even after synthesis??  My understanding of HSIZE[] and HBURST[] signals is that HBURST[] determines the number of data transfer beats on the bus for a burst transaction whereas HSIZE determines the data width of each transfer.  The spec. seems to be vague on this with no examples.

dave mc
Parents
  • Note: This was originally posted on 21st July 2008 at http://forums.arm.com

    After reading the AMBA AHB spec rev 2, I am still confused over the relationship of the HSIZE[2:0] signal and the implemented bus width on an interface.  If an AHB bus is implemented using 32 bit write and read data buses, I would think this would imply that hsize[2] is essentially unused and always '0' since data transfer width on this bus can only be a byte, half word, or word.  Yet, I see interface signal specifications on various 32 bit bus AHB designs where hsize[2] seems to be used and is not optimized out even after synthesis??  My understanding of HSIZE[] and HBURST[] signals is that HBURST[] determines the number of data transfer beats on the bus for a burst transaction whereas HSIZE determines the data width of each transfer.  The spec. seems to be vague on this with no examples.

    dave mc


    Hi,
    Amba AHB supports upto 1024 bus widths(in practical at a max of 256).Therefore Hsize[2:0] is defined.
    If ur using 128 bit data bus,the HSIZE[2] will be "100".
    If ur using configuarable data bus widths of 32,64 or 128 then HSIZE[1:0] will not be sufficient.!!!!!!!!!!!!!!!!
Reply
  • Note: This was originally posted on 21st July 2008 at http://forums.arm.com

    After reading the AMBA AHB spec rev 2, I am still confused over the relationship of the HSIZE[2:0] signal and the implemented bus width on an interface.  If an AHB bus is implemented using 32 bit write and read data buses, I would think this would imply that hsize[2] is essentially unused and always '0' since data transfer width on this bus can only be a byte, half word, or word.  Yet, I see interface signal specifications on various 32 bit bus AHB designs where hsize[2] seems to be used and is not optimized out even after synthesis??  My understanding of HSIZE[] and HBURST[] signals is that HBURST[] determines the number of data transfer beats on the bus for a burst transaction whereas HSIZE determines the data width of each transfer.  The spec. seems to be vague on this with no examples.

    dave mc


    Hi,
    Amba AHB supports upto 1024 bus widths(in practical at a max of 256).Therefore Hsize[2:0] is defined.
    If ur using 128 bit data bus,the HSIZE[2] will be "100".
    If ur using configuarable data bus widths of 32,64 or 128 then HSIZE[1:0] will not be sufficient.!!!!!!!!!!!!!!!!
Children
No data