1)what is the difference between HLOCK and HMASTLOCK in AMBA AHB?
Please could you use more meaningful titles for all your questions so that people have more of an idea what you might be asking about, so that they can try to help you or in case your question and any answers supplied are of interest to them ?
Using "AMBA AHB" for every question is not very helpful.
Again, also please could you explain what you are using AMBA 2 AHB for as it is considered a very old and mostly redundant protocol, replaced by much better AMBA 3 AHB-lite and AMBA 5 AHB protocols.
To answer your question, HLOCK is produced by the AHB master, to tell the arbiter when it wants unbroken access to the bus. The arbiter then generated HMASTLOCK to tell the slave that the current granted master is performing LOCKed accesses.
HLOCK is driven by the master ahead of the LOCKed transfer address phases, and HMASTLOCK is driven by the arbiter in the LOCKed transfer address phases.
In AMBA 3 AHB-lite and AMBA 5 AHB we only have an HMASTLOCK signal driven by the master to all slaves, driven during the LOCKed transfer address phases.
actually i am new for this protocols.currently i am learning.thanks for your help for providing answers.
In that case please can I strongly recommend that you don't try learning AMBA 2 AHB as it is unlikely you will be using this protocol. Instead look at AMBA 3 AHB-lite as your first protocol as it is much simpler to understand, and is more likely to be of use to you when implementing a real design.