12.07.2015 Views

Specman Based Verification Methodology for ... - CiteSeerX

Specman Based Verification Methodology for ... - CiteSeerX

Specman Based Verification Methodology for ... - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

‣ Checkers:This unit per<strong>for</strong>ms data and temporal (timing) checks which are explained below indetail.• Data Check:To per<strong>for</strong>m data checks the memory output needs to be compared with expectedoutput. The expected output is obtained using scoreboard technique.Scoreboarding is a common verification technique and not e-specific. Here wehave built a reference memory which behaves exactly as per the specification.Any operation per<strong>for</strong>med on the memory under test, is per<strong>for</strong>med on the referencememory also and the output of this reference memory is compared with thememory under test outputREFERNCEMEMORYoutputSeqDriverBFMCompareinputMEMORYUNDER TESToutputFig 4: Reference MemoryTo build a reference memory we need to allocate a static array, but this willconsume huge system memory. To avoid this we are using a dynamically createdkeyed list. When a write operation is per<strong>for</strong>med on the memory under test, theaddress accessed is added to keyed list. When a particular address location iscorrupted due to, say a timing violation then that address location is removedfrom the list.• Temporal Check:These checks involve path delay checks. In the case of memory there are accesstime checks and handshake signal timing checks. To per<strong>for</strong>m these checks thesame timing in<strong>for</strong>mation which is present in the memory under test, is provided tothe eVC. The monitor is asked to emit an event when there is a change in any ofthe signals involved in these paths. The timings of these events are noted and thencompared with the expected timings.7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!