The TTEPHYPort is a compund module that contains the TTEOutput, TTEInput and MAC (EtherMACFullDuplex) It represents a physical port for a TTEthernet device (Switch or Host)
See also: IPort, TTEOutput, TTEInput, EtherMACFullDuplex
Author: Till Steinbach
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
Name | Type | Description |
---|---|---|
TTEEtherHost | compound module |
Module for a TTEthernet Host. Contains a EtherLLC for best-effort traffic, a TTEPHYPort module as physical port, sync module (Sync) and a TTEScheduler module. The Host is configured by the provided TTEthernet XML network configuration (network_configuration parameter) and uses the device_name parameter to find its config. The configuration is done by the BufferManager that deletes itself at runtime. |
TTEEtherSwitch | compound module |
Module for a TTEthernet Switch with variable number of ports. Contains a configurable best-effort implementation (beRelayUnitType like IMACRelayUnit), TTEPHYPort modules for physical ports, sync module (Sync) and a TTEScheduler module. The switch is configured by the provided TTEthernet XML network configuration (network_configuration parameter) and uses the device_name parameter to find its config. The configuration is done by the BufferManager that deletes itself at runtime. |
Name | Type | Default value | Description |
---|---|---|---|
promiscuous | bool | false |
if true, all packets are received, otherwise only the ones with matching destination MAC address (This does not affect CT-Frames) |
static_tx_delay | double | 0ns |
Static propagation delay for the port |
Name | Value | Description |
---|---|---|
display | bgb=188,180;i=device/port |
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input |
Input from the upper layer for best-effort Traffic |
|
upperLayerOut | output |
Output to the upper layer for best-effort Traffic |
|
phys | inout |
Connection to the physical layer |
|
TTin | input |
Input from the upper layer for time-triggered traffic |
|
RCin | input |
Input from the upper layer for rate-constrained traffic |
|
PCFin | input |
Input from the upper layer for rate-constrained traffic |
Name | Type | Default value | Description |
---|---|---|---|
tteOutput.tt_buffers | string | "" |
Comma seperated list of TTBuffers that send messages to this port |
tteInput.ct_marker | int | 0 |
Critical traffic marker of the buffer |
tteInput.ct_mask | int | 0 |
Critical traffic mask of the buffer |
tteInput.incomings | string | "" |
Comma seperated list of ctc modules the input uses |
mac.address | string | "auto" |
MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0. |
mac.duplexMode | bool | true |
must be set to "true", as EtherMACFullDuplex does not support half-duplex operation (parameter is present to reduce the risk of accidental misconfiguration) |
mac.txQueueLimit | int | 1000 |
maximum number of frames queued up for transmission in the internal queue (only used if queueModule==""); additional frames cause a runtime error |
mac.mtu | int | 1500B |
// The TTEPHYPort is a compund module that contains the TTEOutput, TTEInput and MAC (EtherMACFullDuplex) // It represents a physical port for a TTEthernet device (Switch or Host) // // @see IPort, TTEOutput, TTEInput, EtherMACFullDuplex // // @author Till Steinbach module TTEPHYPort like IPort { parameters: @display("bgb=188,180;i=device/port"); // if true, all packets are received, otherwise only the ones with matching destination MAC address (This does not affect CT-Frames) bool promiscuous = default(false); //Static propagation delay for the port double static_tx_delay @unit(s) = default(0ns); gates: //Input from the upper layer for best-effort Traffic input upperLayerIn @loose @labels(EtherFrame); //Output to the upper layer for best-effort Traffic output upperLayerOut @loose @labels(EtherFrame); //Connection to the physical layer inout phys @labels(EtherFrame); //Input from the upper layer for time-triggered traffic input TTin @directIn @labels(TTFrame); //Input from the upper layer for rate-constrained traffic input RCin @directIn @labels(RCFrame); //Input from the upper layer for rate-constrained traffic input PCFin @directIn @labels(PCFrame); submodules: //Module for the organisation of outbound traffic tteOutput: TTEOutput { @display("p=48,45"); } //Module for the organisation of inbound traffic tteInput: TTEInput { parameters: @display("p=142,45"); promiscuous = promiscuous; } //MAC interface mac: EtherMACFullDuplex { parameters: promiscuous = true; //MAC must be set promiscuous to allow for CT receiption with all CT-Markers queueModule = "tteOutput";//The tteOutput-Module(TTEOutput) is used as external queue for the interface @display("p=87,139"); } connections: upperLayerIn --> tteOutput.in; upperLayerOut <-- tteInput.out; tteOutput.out --> mac.upperLayerIn; tteInput.in <-- mac.upperLayerOut; phys <--> mac.phys; TTin --> tteOutput.TTin; RCin --> tteOutput.RCin; PCFin --> tteOutput.PCFin; }