hi... i have asn assignment in apb slave dut. i read the apb amba specification. i have a doubt what could be the test cases used here? according to me i feel pwdata, pwrite, prdata and pready are the test cases. here we are giving the values for penable, psel and paddr is already defined. so is my observation correct?
I'm sorry but I don't understand what you are asking. What do you mean by "test cases" ?
PWDATA, PWRITE, PRDATA and PREADY are signals, not "test cases".
Are you trying to test something, and don't understand how to use the signals, or are you trying to test the APB protocol itself (and if so, why) ?
hi . i meant to ask what could be the verification plan of apb slave dut using uvm? also what is the clock frequency of apb slave dut ?
Taking the last question first, there is no defined clock frequency for any AMBA bus. The protocols are designed to use synchronous logic to avoid critical combinatorial logic timing paths, so the actual maximum achievable clock frequency really comes down to the complexity of the system (how many masters and slaves), the cell library being used, and the effort put in to synthesising the design (do you go for a simple timing budget or do you hand modify the timing allocations to try to meet timing).
For your first question, the APB protocol is designed to be simple, so there is little needed to verify the design of an APB bus interface, other than making sure you can read and write to each register in the APB slave. If you are using APB3 or APB4 you could also test that PSLVERR responses are given at expeted times if they are implemented in the peripheral being tested, and if APB4 you could also test that the peripheral is supporting more complex width transfers using PSTRB, and again for APB you could test any expected support for PPROT, does the peripheral implement any security checking, and does this correctly restrict access to secure register locations if a non-secure transfer is attempted.
So really there is little complexity the APB protocol requires you to verify, and most of the verification requirements will depend on what features of the APB protocol your slave has implemented.
If you are asking about testing the APB slave's functionality after the APB bus interface logic, that isn't something anyone but the slave designer could help with.
I'm not familiar with UVM to know how much the above answer helps when considering UVM testing, but hopefully it is of some help.
What you want is the Berlekamp-Massey algorithm. It is an iterative algorithm and well-suited for implementation in HDL. This is what is used for RS decoding in high speed Ethernet IP myccpay.com
View all questions in SoC Design forum