TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
ProtectedTypeUpdates
(revision 10) (raw view)
Edit
Attach
---+ 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). ---++ Proposed 202X: 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. ---++ Proposed 202X: Private Signal Members See proposal: [[ProtectedTypeWaitSignal][Protected Types: Wait and Private Signals]] Motivation: Event triggers ---++ Proposed 202X: Public Signal Members See proposal: [[ProtectedTypesPublicSignal][Protected Types with Public Signals]] Motivation: Abstract interface/Communication Channel. Connection similar to a record. ---++ Clarified LRM in 2019: 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 ---++ Done 2019: Usage on Entity Interfaces See proposal: [[ProtectedTypeEntity][Shared Variables on Entity Interface]] Motivation: Abstract interface/Communication Channel ---++ Done 2019: File Parameters on Protected Type Methods See proposal [[MethodParametersAccessTypes][Allow Protected Type Method Parameters to be ...]] ---++ Done 2019: 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. ---++ Done 2019: 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, ... ---++ Done 2019: Function with protected type inputs See Proposal: [[FunctionInterface][Allow access and protected type parameters on function interfaces]] ---++ Done 2019: Generics on Protected Types See proposal: [[GenericTypes][Generics on Protected Types]]
Edit
|
Attach
|
P
rint version
|
H
istory
:
r13
<
r12
<
r11
<
r10
<
r9
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2020-06-12 - 05:58:30 -
TWikiGuest
P1076
Log In
or
Register
P1076 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-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback