TWiki
>
P1076/Ballots Web
>
Vhdl2019CollectedRequirements
>
ProtectedTypeUpdates
(2020-02-17,
JimLewis
)
(raw view)
E
dit
A
ttach
---+ Depricated: Protected Type Update - Now separate proposals %TOC% ---++ Proposal Information * State of this Proposal: Raw / Stream of Conscious * Current Owner: JimLewis, ... * Contributors: JimLewis, ... * Date Proposed: 2012-Jan-05 * Date Last Updated: 2012-Aug-10 * Priority: * Complexity: * Focus: Testbench * Related Issues: None * Competing Issues: None ---++ Requirement Summary Collection of potential updates to protected types ---++ What is the nature of a protected type? A protected type is a container. It has members in the form of private variables and subprogram methods (aka: procedures and functions). Variables inside a protected type are local and cannot be modified directly. Instead they are modified by calls to the protected type methods. As a container, protected types are useful for creating data structures, such as scoreboards, FIFOs, memories, and functional coverage models. A protected type is used with a shared variable (when declared in a concurrent declaration region - such as an architecture) or a regular variable (when declared in a sequential declaration region - such as a process). However, calling it a variable in some ways is troubling. Assignment operations are not supported for protected type. So instead, a variable of a protected type is simply a handle that is used to call methods within the protected type. With modification, it has potential to be an abstract interface or channel between objects (such as entities). ---++ Usage on Entity Interfaces See proposal: [[ProtectedTypeEntity][Shared Variables on Entity Interface]] Motivation: Abstract interface/Communication Channel ---++ Mechanism to Suspend and Wake on Event See proposal: [[ProtectedTypeWaitSignal][Protected Types: Wait and Private Signals]] Motivation: Handshaking between different models connected by a shared variable. ---++ Private Signal Members See proposal: [[ProtectedTypeWaitSignal][Protected Types: Wait and Private Signals]] Motivation: Event triggers ---++ Public Signal Members See proposal: [[ProtectedTypesPublicSignal][Protected Types with Public Signals]] Motivation: Abstract interface/Communication Channel. Connection similar to a record. ---++ File Parameters on Protected Type Methods See proposal [[MethodParametersAccessTypes][Allow Protected Type Method Parameters to be ...]] ---++ Alias to Methods See proposal: [[ProtectedTypesAliases][Protected Types and Aliases]] Motivation: allow subprograms to have alternate names. Helps with long term maintence of subprograms where a name change may be necessary to align with another group's methodology. ---++ Attributes to Determine Declaration Context See proposal: [[PathnameSharedVarSubprograms][Paths to Protected Type Instances and Subprogram Calls]] Motivation: get 'instance_name and 'path_name of corresponding variable / shared variable declaration ---++ Composites of PTs See proposal: [[P1076.CompositesProtectedTypes][composites of protected types]] Arrays and records with PTs as elements. Uses: Arrays of scoreboards, Arrays of Coverage Models, Arrays of Interfaces, ... ---++ Function with protected type inputs See Proposal: [[FunctionInterface][Allow access and protected type parameters on function interfaces]] ---++ Generics on Protected Types See proposal: [[GenericTypes][Generics on Protected Types]]
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r12
<
r11
<
r10
<
r9
<
r8
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r12 - 2020-02-17 - 15:34:57 -
JimLewis
P1076/Ballots
Log In
or
Register
P1076/Ballots Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback