|
|
- --
- -- File Name: VendorCovApiPkg.vhd
- -- Design Unit Name: VendorCovApiPkg
- -- Revision: STANDARD VERSION
- --
- -- Maintainer: Jim Lewis email: jim@synthworks.com
- --
- -- Based on work done in package VendorCovApiPkg_Aldec.vhd by:
- -- ...
- --
- --
- -- Package Defines
- -- A set of foreign procedures that link OSVVM's CoveragePkg
- -- coverage model creation and coverage capture with the
- -- built-in capability of a simulator.
- --
- --
- -- Revision History: For more details, see CoveragePkg_release_notes.pdf
- -- Date Version Description
- -- 11/2016: 2016.11 Initial revision
- --
- --
- -- Copyright (c) 2016 by SynthWorks Design Inc. All rights reserved.
- --
- -- Verbatim copies of this source file may be used and
- -- distributed without restriction.
- --
- -- Modified copies of this source file may be distributed
- -- under the terms of the ARTISTIC License as published by
- -- The Perl Foundation; either version 2.0 of the License,
- -- or (at your option) any later version.
- --
- -- This source is distributed in the hope that it will be
- -- useful, but WITHOUT ANY WARRANTY; without even the implied
- -- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- -- PURPOSE. See the Artistic License for details.
- --
- -- You should have received a copy of the license with this source.
- -- If not download it from,
- -- http://www.perlfoundation.org/artistic_license_2_0
- -- --
- --------------------------------------------------------------------------
-
- package VendorCovApiPkg is
-
- subtype VendorCovHandleType is integer;
-
- -- Types for how coverage bins are represented. Matches OSVVM types.
- type VendorCovRangeType is record
- min: integer;
- max: integer;
- end record;
-
- type VendorCovRangeArrayType is array ( integer range <> ) of VendorCovRangeType;
-
- -- Create Initial Data Structure for Point/Item Functional Coverage Model
- -- Sets initial name of the coverage model if available
- impure function VendorCovPointCreate( name: string ) return VendorCovHandleType;
-
- -- Create Initial Data Structure for Cross Functional Coverage Model
- -- Sets initial name of the coverage model if available
- impure function VendorCovCrossCreate( name: string ) return VendorCovHandleType;
-
- -- Sets/Updates the name of the Coverage Model.
- -- Should not be called until the data structure is created by VendorCovPointCreate or VendorCovCrossCreate.
- -- Replaces name that was set by VendorCovPointCreate or VendorCovCrossCreate.
- procedure VendorCovSetName( obj: VendorCovHandleType; name: string );
-
- -- Add a bin or set of bins to either a Point/Item or Cross Functional Coverage Model
- -- Checking for sizing that is different from original sizing already done in OSVVM CoveragePkg
- -- It is important to maintain an index that corresponds to the order the bins were entered as
- -- that is used when coverage is recorded.
- procedure VendorCovBinAdd( obj: VendorCovHandleType; bins: VendorCovRangeArrayType; Action: integer; atleast: integer; name: string );
-
- -- Increment the coverage of bin identified by index number.
- -- Index ranges from 1 to Number of Bins.
- -- Index corresponds to the order the bins were entered (starting from 1)
- procedure VendorCovBinInc( obj: VendorCovHandleType; index: integer );
-
-
- end package;
-
- package body VendorCovApiPkg is
- -- Create Initial Data Structure for Point/Item Functional Coverage Model
- -- Sets initial name of the coverage model if available
- impure function VendorCovPointCreate( name: string ) return VendorCovHandleType is
- begin
- return 0 ;
- end function VendorCovPointCreate ;
-
- -- Create Initial Data Structure for Cross Functional Coverage Model
- -- Sets initial name of the coverage model if available
- impure function VendorCovCrossCreate( name: string ) return VendorCovHandleType is
- begin
- return 0 ;
- end function VendorCovCrossCreate ;
-
- -- Sets/Updates the name of the Coverage Model.
- -- Should not be called until the data structure is created by VendorCovPointCreate or VendorCovCrossCreate.
- -- Replaces name that was set by VendorCovPointCreate or VendorCovCrossCreate.
- procedure VendorCovSetName( obj: VendorCovHandleType; name: string ) is
- begin
- end procedure VendorCovSetName ;
-
- -- Add a bin or set of bins to either a Point/Item or Cross Functional Coverage Model
- -- Checking for sizing that is different from original sizing already done in OSVVM CoveragePkg
- -- It is important to maintain an index that corresponds to the order the bins were entered as
- -- that is used when coverage is recorded.
- procedure VendorCovBinAdd( obj: VendorCovHandleType; bins: VendorCovRangeArrayType; Action: integer; atleast: integer; name: string )is
- begin
- end procedure VendorCovBinAdd ;
-
- -- Increment the coverage of bin identified by index number.
- -- Index ranges from 1 to Number of Bins.
- -- Index corresponds to the order the bins were entered (starting from 1)
- procedure VendorCovBinInc( obj: VendorCovHandleType; index: integer )is
- begin
- end procedure VendorCovBinInc ;
-
- end package body VendorCovApiPkg ;
|