230 likes | 543 Views
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
E N D
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
Outline • Introduction • Design & Test Evolution • Test Data Evaluation in RTL • Test Strategy in TLM • Conclusion Mins Zolfy – University of Tabriz
Outline • Introduction • Design & Test Evolution • Test Data Evaluation in RTL • Test Strategy in TLM • Conclusion Mins Zolfy – University of Tabriz
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
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
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
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
Test Data Evaluation in RTL(Results 1) Mins Zolfy – University of Tabriz
Test Data Evaluation in RTL(Results 2) Mins Zolfy – University of Tabriz
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
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
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
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
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
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
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
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
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
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
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
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
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
Thanks Mins Zolfy – University of Tabriz