1 / 23

Test Strategy in OSCI TLM-2.0

Test Strategy in OSCI TLM-2.0. Mina Zolfy mzolfy@tabrizu.ac.ir Electrical and Computer Engineering Faculty University of Tabriz Tabriz, IRAN. Mina Zolfy & Ziaeddin Daei University of Tabriz Tabriz, IRAN Masoomeh Hashemi & Zainalabedin Navabi

blythe
Download Presentation

Test Strategy in OSCI TLM-2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Test Strategy in OSCI TLM-2.0 Mina Zolfy mzolfy@tabrizu.ac.ir Electrical and Computer Engineering Faculty University of Tabriz Tabriz, IRAN Mina Zolfy &Ziaeddin Daei University of Tabriz Tabriz, IRAN MasoomehHashemi & ZainalabedinNavabi University of Tehran Tehran, IRAN Mins Zolfy – University of Tabriz

  2. Outline • Introduction • Design & Test Evolution • Test Data Evaluation in RTL • Test Strategy in TLM • Conclusion Mins Zolfy – University of Tabriz

  3. Outline • Introduction • Design & Test Evolution • Test Data Evaluation in RTL • Test Strategy in TLM • Conclusion Mins Zolfy – University of Tabriz

  4. Design & Test Evolution • Transistor Level Modeling • Almost all circuit faults could be applied(modeled) using language abilities. • Evaluating a test data is applicable • Gate Level Modeling • Less detailed models are available • Actual faults have been modeled(stuck-at faults) • For test data evaluation, stuck-at fault simulation must be applied • RTL Modeling • Again less detailed models are available • Software like test data evaluation must be applied. • Transaction Level Modeling • Again less detailed models are available • Software like test data evaluation must be applied. if (ready) for(inti=0;i<32;i++) x[i].write(y[i]); always @(posedgeclk) #4 q<= d; and #(2,4) (im1 , a , b); or #(3,5) (w,c,im1); Our goal Having more hardware oriented test data evaluation mn1 VSS IN OUT VSS nmos l=0.24u w=0.72u mp1 VDD IN OUT VDD nmos l=0.24u w=0.72u Cload OUT VSS 50fF Mins Zolfy – University of Tabriz

  5. Test Data Evaluation in RTL Experiments show that software test data evaluation metrics do not have any correspondence with stuck-at fault coverage of gate level. RTL Gate Level Mins Zolfy – University of Tabriz

  6. Behavioral & Stuck-at coverage comparison Statement Coverage Condition Coverage Block Coverage Stuck-at Fault Coverage Path Coverage • No good estimation for stuck-at coverage. • X axis : Number of test vectors • Y axis : Different coverage percentages Mins Zolfy – University of Tabriz

  7. Hardware Oriented Test Data Evaluation in RTL • Necessity of introducing post-synthesis parameters in pre-synthesis evaluation. • Considered hardware parameters: • Post-synthesis weight • Redundant faults • Test vector randomness • Hardware sharing • Our coverage metric adapts statement coverage for stuck-at coverage estimation. RTL Post-synthesis parameters Gate Level Mins Zolfy – University of Tabriz

  8. Test Data Evaluation in RTL(Results 1) Mins Zolfy – University of Tabriz

  9. Test Data Evaluation in RTL(Results 2) Mins Zolfy – University of Tabriz

  10. Test Strategy in TLM-2.0 • More details are lost in Transaction Level Models • Software test data evaluation methods are suitable for TLM model itself, but not for corresponding hardware. • In order to have a more hardware oriented test data evaluation, software evaluation method must be manipulated. Mins Zolfy – University of Tabriz

  11. Test Strategy in TLM-2.0 Extra features that could be considered to force test data evaluation result toward hardware: • Memory elements • Sockets • Function call stack Mins Zolfy – University of Tabriz

  12. Case study: Network processor IP-Lookup Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE The system contains three elements: • IP_Lookup_PE: contains only initiator sockets and acts as an initiator component. • Memory: is a memory unit and operates as a target unit. • Update_PE: not only includes a target socket, but also has an initiator socket Mins Zolfy – University of Tabriz

  13. Case study: Network processor IP-Lookup Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • IP_Lookup_PE is responsible for performing IP lookup operation on each incoming packet. Mins Zolfy – University of Tabriz

  14. Case study: Network processor IP-Lookup Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • IP_Lookup_PE uses the destination address of the incoming packet and transacts with Memory to find the packet’s next-hop address using the LC-trie algorithm. Mins Zolfy – University of Tabriz

  15. Case study: Network processor IP-Lookup Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • If the next-hop address of the packet is not found, IP_Lookup_PE requests from Update_PE to update Memory for this packet Mins Zolfy – University of Tabriz

  16. Memory elements Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • The focus of OSCI TLM-2.0 in particular is modeling of on-chip memory mapped buses. Mins Zolfy – University of Tabriz

  17. Memory elements: How to implement? • A memory cell is assumed to be tested completely if it passes one read and one write cycle successfully. • Such a coverage could be calculated with some code insertion. • Two arrays (MemRd, MemWr) with Boolean type must be defined as data members of the memory module. … if (cmd==tlm::TLM_READ_COMMAND) {memcpy(ptr, &mem[adr], len); MemRd[adr]=1;} else if (cmd==tlm::TLM_WRITE_COMMAND) {memcpy(&mem[adr], ptr, len); MemWr[adr]=1;} … Mins Zolfy – University of Tabriz

  18. Sockets Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • Sockets encapsulate everything required for communication between modules. • Sockets with the responsibility of transaction handling must have an important role in test data evaluation. Mins Zolfy – University of Tabriz

  19. Sockets: how to implement? • For implementation, the corresponding classes must be extended. • Whenever a method in being called, the method of that extended class also runs to evaluate the applied test set. • Keeping track of transactions in those new methods causes a better evaluation result. Mins Zolfy – University of Tabriz

  20. Function call stack Initiator Sockets Target Sockets IP_Lookup_PE Memory Target Socket Initiator Socket Update_PE • Different transactions pass different sequences in TLM models. • Producing a special function call stack, which includes the track of major function calls, could determine the sequence covered in the corresponding hardware. Mins Zolfy – University of Tabriz

  21. Function call stack: How to implement? • Easily implementable with class inheritance as described before. • Methods of newly added classes will be responsible for producing and analyzing this function call stack. Mins Zolfy – University of Tabriz

  22. Conclusion • We had applied the RTL test set evaluation methods in VHDL using some code insertion and operator overloading, but as this time TLM-2.0 is in SystemC, applying such methods could be done easily and more precisely. • In order to evaluate test data in a system, we could apply RTL evaluation methods to computation part of the system and the newly suggested evaluation methods to the communication part of the system. Mins Zolfy – University of Tabriz

  23. Thanks Mins Zolfy – University of Tabriz

More Related