summaryrefslogtreecommitdiff
path: root/translate/grt/grt-avhpi.ads
diff options
context:
space:
mode:
authorgingold2008-06-02 04:40:09 +0000
committergingold2008-06-02 04:40:09 +0000
commit205582d0c16c41843976dd9bff9cf9a8ea0557df (patch)
tree65fea3caa09849b92aab8c3276fa78f2d642f58b /translate/grt/grt-avhpi.ads
parent55b1d510131724ec767a7a1eef0665c6bf86bedc (diff)
downloadghdl-205582d0c16c41843976dd9bff9cf9a8ea0557df.tar.gz
ghdl-205582d0c16c41843976dd9bff9cf9a8ea0557df.tar.bz2
ghdl-205582d0c16c41843976dd9bff9cf9a8ea0557df.zip
Improve SDF annotator
Diffstat (limited to 'translate/grt/grt-avhpi.ads')
-rw-r--r--translate/grt/grt-avhpi.ads107
1 files changed, 103 insertions, 4 deletions
diff --git a/translate/grt/grt-avhpi.ads b/translate/grt/grt-avhpi.ads
index 8242d5b..771bfb8 100644
--- a/translate/grt/grt-avhpi.ads
+++ b/translate/grt/grt-avhpi.ads
@@ -294,6 +294,80 @@ package Grt.Avhpi is
VhpiLibraryDecls
);
+ type VhpiIntPropertyT is
+ (
+ VhpiAccessP,
+ VhpiArgcP,
+ VhpiAttrKindP,
+ VhpiBaseIndexP,
+ VhpiBeginLineNoP,
+ VhpiEndLineNoP,
+ VhpiEntityClassP,
+ VhpiForeignKindP,
+ VhpiFrameLevelP,
+ VhpiGenerateIndexP,
+ VhpiIntValP,
+ VhpiIsAnonymousP,
+ VhpiIsBasicP,
+ VhpiIsCompositeP,
+ VhpiIsDefaultP,
+ VhpiIsDeferredP,
+ VhpiIsDiscreteP,
+ VhpiIsForcedP,
+ VhpiIsForeignP,
+ VhpiIsGuardedP,
+ VhpiIsImplicitDeclP,
+ VhpiIsInvalidP_DEPRECATED,
+ VhpiIsLocalP,
+ VhpiIsNamedP,
+ VhpiIsNullP,
+ VhpiIsOpenP,
+ VhpiIsPLIP,
+ VhpiIsPassiveP,
+ VhpiIsPostponedP,
+ VhpiIsProtectedTypeP,
+ VhpiIsPureP,
+ VhpiIsResolvedP,
+ VhpiIsScalarP,
+ VhpiIsSeqStmtP,
+ VhpiIsSharedP,
+ VhpiIsTransportP,
+ VhpiIsUnaffectedP,
+ VhpiIsUnconstrainedP,
+ VhpiIsUninstantiatedP,
+ VhpiIsUpP,
+ VhpiIsVitalP,
+ VhpiIteratorTypeP,
+ VhpiKindP,
+ VhpiLeftBoundP,
+ VhpiLevelP_DEPRECATED,
+ VhpiLineNoP,
+ VhpiLineOffsetP,
+ VhpiLoopIndexP,
+ VhpiModeP,
+ VhpiNumDimensionsP,
+ VhpiNumFieldsP_DEPRECATED,
+ VhpiNumGensP,
+ VhpiNumLiteralsP,
+ VhpiNumMembersP,
+ VhpiNumParamsP,
+ VhpiNumPortsP,
+ VhpiOpenModeP,
+ VhpiPhaseP,
+ VhpiPositionP,
+ VhpiPredefAttrP,
+ VhpiReasonP,
+ VhpiRightBoundP,
+ VhpiSigKindP,
+ VhpiSizeP,
+ VhpiStartLineNoP,
+ VhpiStateP,
+ VhpiStaticnessP,
+ VhpiVHDLversionP,
+ VhpiIdP,
+ VhpiCapabilitiesP
+ );
+
-- String properties.
type VhpiStrPropertyT is
(
@@ -323,7 +397,8 @@ package Grt.Avhpi is
AvhpiErrorBadRel,
AvhpiErrorHandle,
AvhpiErrorNotImplemented,
- AvhpiErrorIteratorEnd
+ AvhpiErrorIteratorEnd,
+ AvhpiErrorBadIndex
);
type VhpiHandleT is private;
@@ -342,6 +417,12 @@ package Grt.Avhpi is
Res : out VhpiHandleT;
Error : out AvhpiErrorT);
+ procedure Vhpi_Handle_By_Index (Rel : VhpiOneToManyT;
+ Ref : VhpiHandleT;
+ Index : Natural;
+ Res : out VhpiHandleT;
+ Error : out AvhpiErrorT);
+
procedure Vhpi_Iterator (Rel : VhpiOneToManyT;
Ref : VhpiHandleT;
Res : out VhpiHandleT;
@@ -355,6 +436,17 @@ package Grt.Avhpi is
Res : out String;
Len : out Natural);
+ subtype VhpiIntT is Ghdl_I32;
+
+ procedure Vhpi_Get (Property : VhpiIntPropertyT;
+ Obj : VhpiHandleT;
+ Res : out VhpiIntT;
+ Error : out AvhpiErrorT);
+ procedure Vhpi_Get (Property : VhpiIntPropertyT;
+ Obj : VhpiHandleT;
+ Res : out Boolean;
+ Error : out AvhpiErrorT);
+
-- Almost the same as Vhpi_Get_Str (VhpiName, OBJ), but there is not
-- indexes for generate stmt.
function Avhpi_Get_Base_Name (Obj : VhpiHandleT) return Ghdl_C_String;
@@ -392,7 +484,7 @@ package Grt.Avhpi is
function Vhpi_Get_EntityClass (Obj : VhpiHandleT)
return VhpiEntityClassT;
- type VhpiModeP is
+ type VhpiModeT is
(
VhpiErrorMode,
VhpiInMode,
@@ -401,7 +493,7 @@ package Grt.Avhpi is
VhpiBufferMode,
VhpiLinkageMode
);
- function Vhpi_Get_Mode (Obj : VhpiHandleT) return VhpiModeP;
+ function Vhpi_Get_Mode (Obj : VhpiHandleT) return VhpiModeT;
function Avhpi_Get_Rti (Obj : VhpiHandleT) return Ghdl_Rti_Access;
@@ -438,10 +530,17 @@ private
when VhpiSubtypeIndicK
| VhpiSubtypeDeclK
| VhpiArrayTypeDeclK
- | VhpiEnumTypeDeclK =>
+ | VhpiEnumTypeDeclK
+ | VhpiPhysTypeDeclK =>
Atype : Ghdl_Rti_Access;
when VhpiCompInstStmtK =>
Inst : Ghdl_Rtin_Instance_Acc;
+ when VhpiIntRangeK
+ | VhpiEnumRangeK
+ | VhpiFloatRangeK
+ | VhpiPhysRangeK =>
+ Rng_Type : Ghdl_Rti_Access;
+ Rng_Addr : Ghdl_Range_Ptr;
when others =>
null;
end case;