Switch

Parent Previous Next

Hardware_Modeling/Bus_Switch_Ctrl
Block Name: Switch

Code File Location: VisualSim/actor/lib/bus/Switch

Block Overview

o    The Switch provides the functionality of both the blocking and non-blocking configuration, based on the parameter setting- Blocking_Mode.  

Switch

Description

Non-Blocking: This switch transfers requests from each Source (A_Source) to each Destination (A_Destination) in a First Come-First Serve order. Each Source-Destination combination has a separate queue. There are multiple channels assigned for each Point-to-Point connection.  

Blocking: This switch transfers requests from a Source (A_Source) to a Destination (A_Destination) in a First Come-First Serve order. There is a single internal queue and all transactions across the switch are placed in this queue.

Delay:

Note: The actual delay across the Switch could be greater than this value because of the queuing on the input side before transmitting based on the availability of the interface.

Commands: A_Command field contains the Command name. This can be Write or any other Type. The any other type will be considered a Read. 

Hello Messages: This block bypasses the "Hello Messages" from Architecture components to update the Routing Table for interfaces across multiple buses. No routing Table definitions are required for the devices connected to Buses that are directly connected to ports of this Switch. Do not connect a architecture device such as a Processor or DRAM directly to the Switch Port. Always use a Linear Port to connect the device. 

Required Fields: A_Command, A_Bytes_Sent, A_Source and A_Destination.

Demo Model

Refer the Non-blocking Switch and Blocking Switch demo models for more details.


Parameter

Explanation

Type

Example

Architecture_Name

This is the name of the Architectue_Setup block that this switch is associated for the purpose of the Routing Table.

String

"Architecture_1"

Switch_Name

This is an unique name for this block. No other Architecture, Scheduler or Resource must have this name.

String

"Switch"

Speed_Mhz

This is speed of the Switch and is in Mhz. Internally the speed is converted to MBps for determining the delay across the switch.

Double or RegEx

500.0

Width_Bytes

This is the width of each port and the crossbar on this Switch. Both the port and switch are considered to have the same width.

Integer or RegEx

4

Block_Mode

true is for blocking and false is for non-blocking

Boolean

false

Overhead_Cycles

This is the number of additional cycles required for Read and Write operation.  

Integer

0

Number_of_Connected_Devices

This is a hidden parameter and must be added when additional ports are provided for this block

Integer

4

Sim_Time

This is duration of the simulation and is used for the Digital Simulation inside.

Double 

1.0

Address_bits

This parameter is used to compute the Read request latency.  Look at the use in the Delay section above.  It is the length of the Address in bits.  If a odd multiple of 8 is used, the delay is rounded to the next higher cycle.

integer

32


Port

Explanation

port

Device_1 input data structure.

port2

Device_1 output data structure.

port3

Device_2 input data structure.

port4

Device_2 output data structure.

port5

Device_3 input data structure.

port6

Device_3 output data structure.

port7

Device_4 input data structure.

port8

Device_4 output data structure.




Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation