D115 Access to elements via canonical representation This group of functions is

D115 access to elements via canonical representation

This preview shows page 341 - 343 out of 374 pages.

D.11.5 Access to elements via canonical representation This group of functions is meant for accessing elements which are packed arrays ( bit or logic ). The following functions copy a single vector from a canonical representation to an element of an open array or other way round. The element of an array is identified by indices, bound by the ranges of the actual argument, i.e., the original SystemVerilog ranges are used for indexing. /* functions for translation between simulator and canonical representations*/ /* s=source, d=destination */ /* actual <-- canonical */ void svPutBitArrElemVec32 (const svOpenArrayHandle d, const svBitVec32* s, int indx1, ...); void svPutBitArrElem1Vec32(const svOpenArrayHandle d, const svBitVec32* s, int indx1); void svPutBitArrElem2Vec32(const svOpenArrayHandle d, const svBitVec32* s, int indx1, int indx2); void svPutBitArrElem3Vec32(const svOpenArrayHandle d, const svBitVec32* s, int indx1, int indx2, int indx3); void svPutLogicArrElemVec32 (const svOpenArrayHandle d, const svLogicVec32* s, int indx1, ...); void svPutLogicArrElem1Vec32(const svOpenArrayHandle d, const svLogicVec32* s, int indx1); void svPutLogicArrElem2Vec32(const svOpenArrayHandle d, const svLogicVec32* s, int indx1, int indx2); void svPutLogicArrElem3Vec32(const svOpenArrayHandle d, const svLogicVec32* s, int indx1, int indx2, int indx3); /* canonical <-- actual */ void svGetBitArrElemVec32 (svBitVec32* d, const svOpenArrayHandle s, int indx1, ...); void svGetBitArrElem1Vec32(svBitVec32* d, const svOpenArrayHandle s, int indx1); void svGetBitArrElem2Vec32(svBitVec32* d, const svOpenArrayHandle s, int indx1, int indx2); void svGetBitArrElem3Vec32(svBitVec32* d, const svOpenArrayHandle s, int indx1, int indx2, int indx3); void svGetLogicArrElemVec32 (svLogicVec32* d, const svOpenArrayHandle s, int indx1, ...); void svGetLogicArrElem1Vec32(svLogicVec32* d, const svOpenArrayHandle s, int indx1); void svGetLogicArrElem2Vec32(svLogicVec32* d, const svOpenArrayHandle s, int indx1, int indx2);
Image of page 341
Accellera SystemVerilog 3.1 Extensions to Verilog-2001 330 Copyright 2003 Accellera. All rights reserved. void svGetLogicArrElem3Vec32(svLogicVec32* d, const svOpenArrayHandle s, int indx1, int indx2, int indx3); The above functions copy the whole packed array in either direction. The user is responsible for allocating an array in the canonical representation. D.11.6 Access to scalar elements (bit and logic) Another group of functions is needed for scalars (i.e., when an element of an array is a simple scalar, bit , or logic ): svBit svGetBitArrElem (const svOpenArrayHandle s, int indx1, ...); svBit svGetBitArrElem1(const svOpenArrayHandle s, int indx1); svBit svGetBitArrElem2(const svOpenArrayHandle s, int indx1, int indx2); svBit svGetBitArrElem3(const svOpenArrayHandle s, int indx1, int indx2, int indx3); svLogic svGetLogicArrElem (const svOpenArrayHandle s, int indx1, ...); svLogic svGetLogicArrElem1(const svOpenArrayHandle s, int indx1); svLogic svGetLogicArrElem2(const svOpenArrayHandle s, int indx1, int indx2); svLogic svGetLogicArrElem3(const svOpenArrayHandle s, int indx1, int indx2, int indx3); void svPutLogicArrElem (const svOpenArrayHandle d, svLogic value, int indx1, ...);
Image of page 342
Image of page 343

You've reached the end of your free preview.

Want to read all 374 pages?

  • Fall '01
  • Saab
  • ........., SystemVerilog

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture