SourcePoint Intel Help

Table of Contents

Multi-Clustering

Arium currently supports multi-clustering for Intel IA-32, Intel 64-bit extensions to 32-bit, and AMD64 processors. Using Arium's ECM-50, you can connect to as many as four multi-clusters in a target at one time.

Note: One emulator is required for each multi-cluster.

Note: The cable(s) for multi-cluster debug support must be ordered separately. Such cables are not part of the regular emulator package.

Hardware Setup

The current methodology for supporting multi-cluster consists of connecting an ECM to each cluster's debug port via the appropriate PBD, and interconnecting these ECMs by way of "cross-trigger" cables. This cable, approximately three feet long, is used to connect two ECMs to one another.

To connect emulators to a multi-cluster target:

  1. Connect a cross-trigger cable to the mini-DIN socket labeled "TO NEXT" on one emulator and to the mini-DIN socket labeled "FROM PREV" on the other.

  2. To connect a third and/or fourth emulator, follow the instructions above.

Sample connection

Caution: Do not connect the emulators into a ring.

To connect the emulator to the target and a host (or a network supporting a host), see the Getting Started installation guide that came with the emulator.

Software Setup

SourcePoint support for multi-cluster requires that a separate copy of SourcePoint be running for each emulator. The separate SourcePoint programs communicate with each other, however, so that when a Go command is issued within one SourcePoint, the other SourcePoint programs automatically issue their own Go commands.

Option #1 - Multiple Installs of SourcePoint

Install SourcePoint multiple times, once for each cluster.

Option #2 - Single Install of SourcePoint

  1. Install a single copy of SourcePoint.

  2. Create an “ini” file for each copy of SourcePoint. The standard “ini” file is “sp.ini” (located in the directory where SourcePoint is installed). Name the new ini files “sp2.ini”, “sp3.ini”, etc. (Do not use quotation marks around the file names.)

  3. Create separate icons for each copy of SourcePoint.  

  4. Associate each SourcePoint icon with the correct “ini” file. For each icon, right click, then select Properties, then Shortcut, and add “-ini iniFileName” at the end of the target field (e.g., "c:\Program Files\American Arium\SourcePoint\sp.exe"-ini sp2.ini).

  5. Start SourcePoint for the first cluster. Specify the connection for the emulator controlling the first cluster. (Select Options|Emulator Connection from the menu bar.)

  6. Select File|Project|Save As to create a project file with the current emulator connection. Choose different project file names for each cluster.

  7. Repeat steps 2 and 3 for the other emulators.  The goal is to create a project file for each copy of SourcePoint that will be running.  Each project file will have a different emulator connection depending on which emulator is being controlled.

Running in Multi-Cluster Mode

To run in multi-cluster mode:

  1. Double-click on each SourcePoint icon to start as many copies of SourcePoint as there are emulators.

    SourcePoint checks for other active SourcePoint tasks and automatically registers with them.

  1. To enable multi-cluster support, select Options|General on the SourcePoint menu.

    The Preferences dialog box appears.

  2. Go to the General tab.

  3. Enable Multicluster support enabled.

  1. Set up breakpoints in each SourcePoint and press Go in any SourcePoint.

    The cross-trigger bus (established by the cross-trigger cables) holds the combined system stopped until the last cluster is started.

Note: When Go or Stop commands are issued in one SourcePoint (either from the menu, toolbar, or command line), that copy of SourcePoint sends messages to all the other SourcePoints to generate the same command. There is no need to select Go or Stop in each copy of SourcePoint. Likewise, when one SourcePoint hits a breakpoint and triggers, all processors in all clusters stop (see triggering latency below).

Timing

The emulators are synchronized to one another via the cross-trigger bus, but some finite differential in time exists between the "start" signal arriving at the various clusters being controlled. This time differential is caused by circuit delays and by the method required for starting the cluster type. The Intel Pentium 4 and some other soon-to-be-released processor systems require JTAG operations to start the processors, while Intel P6-class processor systems require only the negation of a PREQ signal. The time differential (or slip) between starting individual clusters in a multi-cluster system is thus dependent upon the type of system being controlled.

  • Maximum slip between starting multiple Intel P6-class processor clusters is 50 ns; typical slip is 10 ns.

  • All multi-clusters use a similar mechanism for stopping the processors, and thus only one set of stop "slip" times needs to be specified. Maximum slip between stopping multiple clusters is 50 ns; typical slip is 10 ns.

  • In addition to the signals monitored by the emulators from their connected clusters, the external "BNC-IN" connector can be used to signal a stop to the multiple emulators connected by the cross-trigger cables. When signaling a stop to the multi-cluster environment, the maximum delay from "BNC-IN" to assertion of the stop on the cross-trigger bus is 40 ns; typical slip is 21 ns.

  • So long as the emulator is configured via SourcePoint to "listen" to the "BNC-IN" connector, the "BNC-OUT" connector will reflect an assertion at this "BNC-IN" connector. The maximum time from "BNC-IN" assertion to "BNC-OUT" assertion is 78 ns; typical slip is 44 ns.