180 likes | 195 Views
This documentation standard improves comprehension, description, model generation, integration, and understanding of system-level interfaces.
E N D
Improved Comprehension Improved Description Improved Model Generation Improved Integration VC Understanding and Utilization VC Model Supply and Generation VC Integration Speed VC Protection Purpose / Goals
Understanding Through Layers • “Onion Skin” • Each new layer provides extra detail • Proceeds From Abstract to Concrete • Layer 1.0 is most abstract (required) • Intermediate Layers 0.X (optional) • Layer 0.0 is most detailed (required) • closest to actual hardware implementation
Documentation Sections • User’s Guide • Model Implementation • Technical Attributes • Layering Principle • Layer Specification • Data Types (optional for 0.0) • Internal Behavioral Description (optional for 0.0) • Interface Description • General Properties • Interface Specific Descriptions • Behavior/Interface Association (optional for 0.0)
Deliverables • M= Mandatory • R= Recommended
Data Format Info dataValue dataSize dataTag dataPriority dataTimeStamp (#, type, error) Referenced From A Port A Transaction/Message A Datum Data Types (3.2.N.1)
Internal VC BehavioralDescription (3.2.N.2) • For each IO variable required of the VC behavior: • Provide a name for the variable or action. • Provide the data format or data type associated with any variable. • Categorize the variable (sufficient description to allow adequate interpretation). • For each IO action required of the VC behavior: • Name the action. • In the case of an action (e.g., trigger), specify the form of sensitivity required. • Categorize the variable (sufficient description to allow adequate interpretation).
Interface Overview andGeneral Properties (3.2.N.3.1) • List Interfaces and show in diagram • only for the current layer • Describe Operational Properties • Describe Channel Properties • Reference other sections (3.2.N.3.2)
Interface-Specific Description: (3.2.N.3.2 S1 $InterfaceName) • Describe Role of ports on that Interface • Producer / Consumer • Initiator / Responder • in, out, in_out • Preferred Format is a Table. Example:
Structural – Inter-Layer Static Mappings (3.2.N.3.2 S2 $InterfaceName) • Port-to-Port Mappings • Show Table and Diagram • Example:
Port DataType Mapping • Coercion – Direct Mapping • commutative and associative • examples: • vsi_int32 is compatible with integer • vsi_signed(24) is compatible with integer • vsi_bitvector(24) is compatible with vsi_signed(24) • vsi_bitvector(24) is incompatible with vsi_unsigned(12) • vsi_bit is compatible with boolean • Translation – Needs Interpreted • loss may occur • implemented as pattern matched lookup or Subprogram
Behavioral - Port Attributes(3.2.N.3.2 B1) Data Flow • Basic Data Flow • Buffer (infinite) • Buffer (finite) • FIFO (infinite) • FIFO (finite) • Data With Priority
Port Attributes – Control Flow • Basic Control Flow • Combined Control w/Data Examples • Blocking Actions • Priority Control
Port Attributes – Others • Protocol Name • Pipeline • Delay
Port Attributes – Others (2) • Various Shapes for Virtual Components (VCs)
Behavioral Typing • Data – Producer • Data – Consumer • Control – Initiator • Control – Responder • Blocking – Producer • Blocking – Consumer • Data-Priority - Producer
Behavioral - Port Transactions(3.2.N.3.2 B2 $InterfaceName) • transOpenChannel (Initiator) • transCloseChannel (Initiator) • transRead and transWrite • transSynchronize (Initiator or Responder) • transReset (Initiator or Responder) • transControl (Initiator or Responder) • messRead (Consumer) • messWrite (Producer) • messSense (Responder) • messEmit (Initiator)