Interfaces and Buses / PCI / PCI_X
Block Name: PCI_X
Code File Location: VisualSim/actor/arch/Buses/PCI_X
o The PCI, PCI-X Local bus protocol is a high performance bus for interconnecting peripheral chips to any independent processor/memory subsystems.
The PCI bus block can use as interconnect between high bandwidth peripherals closer to the CPU for performance gains. This model has been fully validated against the specification. Refer to the Bus Documentation section to see the validation details. This library component is used to assemble complex systems that contain one or more PCI buses. The default PCI comes with split-and-retry turned off and uses a First Come-First Server arbitration. The user can modify these two attributes to turn on Split-Retry and make the protocol Round-Robin. It is preferable to make this change on a per model instance basis and not in the original block implementation. To carryout this activity:
Preemption: The PCI and PCIx will preempt at the transaction level and not at the burst-level. If the user would like to preempt at the burst-level, the transaction must be fragmented into bursts before being sent into the PCI /PCI_X Bus block. At the destination side (Slave), the bursts must be assembled before presenting to the Slave device. This can be done by testing for the A_Bytes_Remaining field to be equal to 0.
Parameter |
Explanation |
Example |
Architecture_Name |
ArchitectureSetup that this block is associated with for routing and statistics. |
"Architecture_1" |
Bus_Name |
Unique name for this bus in the model. it is used to generate statistics from Architecture_Setup. |
“Bus_1” |
Bus_Speed_Mhz |
Speed of the Bus. |
133.0 |
Bus_Width_Bytes |
Set to 4 Bytes. To change the Bus Width, Open Instance and modify the Linear_Controller block to a different value. |
4 |
Burst_Size_Bytes |
Set to 64 Bytes. Determines the maximum length of a transaction. If a higher priority transaction coms, the next burst will wait until the higher priority item is transfered. |
64 |
FIFO_Buffers_Size |
Size of the buffer at each Master or Slave. |
8 |
Sim_Time |
Must match simulation duration at the top-level. |
3.0E-06 |
Mode_Arbiter |
First Come First Serve arbitration that supports priority . Round robin and custom modes also present |
|
Enable_Plots |
Enabling this check box displays throughput and latency. |
Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents