\magnification=\magstep1 { \hoffset=1truein \hsize=5.25truein \vsize=10.25truein \font\small=cmssbx10 at 14.4truept \font\medium=cmssbx10 at 17.28truept \font\large=cmssbx10 at 20.74truept \nopagenumbers \hrule height 0pt \parindent=0pt %\parskip=0pt \hskip 3.9truein \large EDOC013\par \vskip .5truein \large EUROGAM PROJECT\par \vskip 1.5truein \hrule height 2pt \vskip 20pt \large NSF DATA ACQUISITION SYSTEM\par \vskip .5truein VME addressing scheme\par \vskip 20pt \hrule height 2pt \vskip 1truein \medium Edition 1.1\par \vskip 5pt July 1990\par \vfill \medium Nuclear Structure Software Systems Group\par \vskip 5pt Department of Physics\par \vskip 5pt University of Liverpool\par \vskip .5truein \eject } \parskip 10pt plus 1pt \parindent 0pt \font\bigbf = cmbx10 scaled \magstep2 \font\bignf = cmr7 scaled \magstep3 \baselineskip=1.25\baselineskip \centerline{\bigbf VME Addressing Scheme} \vskip 0.3in \centerline{J R Cresswell} \vskip 0.3in The VME modules to be used for data acquisition are now quite well defined. Since the VME specification does not define addressing ranges allowed by particular modules, then as can be expected, no two modules use the same scheme. This document is an attempt to collate the addressing limitations of all modules to be used in an attempt to sensibly allocate address windows. {\bf Limitations} The STRUCK parallel interface module can only access Standard address space. It occupies only 512 bytes placed anywhere in standard space. The EMS CPU4 has virtually no limitations on placement of slave access window or on master access. There is no master access to extended addresses between 00000000 and 000FFFFF. Standard addressing cannot be disabled. The Radstone 16EP memory board used in the sort engine must have Standard addressing disabled or else disaster. Its base VME address is settable anywhere in a 1Gbyte window. This window by default starts at address 00000000, and requires a PAL modification for any higher setting. The Motorola MVME147 cpu with 4Mbytes of memory has four base address choices in a 16Mbyte window. This window can only be moved by a PAL modification. The default window is between 00000000 and 00FFFFFF which is also within the range that MVME147s cannot access extended space. Standard addressing can be disabled. Short I/O space is used in the range 0000 to 00FF. The CES FIC8230 cpu occupies a 1Mbyte window for slave access in the Extended address range 00000000 to 0FF00000. For master access in Extended mode, a 1Gbyte window can be placed in one of four possible positions by writing to a control register. Standard addressing can be disabled. The CES HSM8170 module is slave only and comes with Standard addressing optional (i.e. hopefully suppressed by default). It requires a 2Mbyte address window in Extended mode placed anywhere between 00000000 and 1FE00000. The CES CBD8210 module is Standard addressing only with a fixed base address dependent on CAMAC branch number. It occupies 512 Kbyte per branch starting at address 800000. {\bf Proposals} To define a set of address ranges that a particular module type can occupy and still be compatible with the whole system. This has the advantage that different functions can be merged into the one crate if necessary without worrying about code changes to effect differing addressing capabilities. This definition should make life as easy as possible involving the minimum of PAL changes , for example. The first proposal is to limit all modules to using Extended addressing modes wherever possible. Standard address space is at a premium (16 Mbytes) and would be completely filled by 4 MVME147 cpus if each had Standard addressing enabled. The second proposal is to limit all Extended addressing to the lowest 1Gbytes of extended space. This allows all modules using Extended addressing to be accessed without resort to control registers or PAL modifications (with one exception - see later). Sort engines using CPU4 cpus as sorters have VME base addresses set with bits A23 to A20 set the same. Since standard addressing cannot be disabled, it is not used and the standard address windows are overlapped. This wastes the minimum of Standard addressing space. The online sort engine using MVME147 cpus as sorters will require them to have PAL modifications, as there will be more than four MVME147 cpus in the crate (including network interfaces). There is also an argument for moving the network interface MVME147(s) away from the default base addresses, as the low addresses are generally not accessible. There is an argument for disabling Standard address slave access to the network interface MVME147 cpus as no Standard addressing only masters are anticipated. This would conserve 4 Mbytes of Standard space per cpu - particularly useful as two network interfaces using MVME147 cpus are under consideration for some crates. This would require that any STRUCK interfaces be driven by CPU4 cpus or a carefully positioned MVME147 with slave standard addressing enabled. {\bf Proposed Extended Addressing Ranges} \line{} \line{00000000 - 00FFFFFF \hfill not allocated} \line{01000000 - 01FFFFFF \hfill MVME147 Ethernet controllers} \line{02000000 - 02FFFFFF \hfill FIC8230 } \line{03000000 - 03FFFFFF \hfill HSM8170s} \line{04000000 - 0FFFFFFF \hfill other applications} \line{10000000 - 3FFFFFFF \hfill sort engine} {\bf Proposed Standard Addressing Ranges} \line{} \line{000000 - 0FFFFF \hfill EMS CPU4 sort engine} \line{010000 - 7FFFFF \hfill not allocated} \line{800000 - 8FFFFF \hfill CBD8210(s)} \line{900000 - CFFFFF \hfill other applications} \line{D00000 - EFFFFF \hfill sort controller + STRUCK} \line{F00000 - FFFFFF \hfill usually defined in A24 only modules} {\bf Proposed Short Addressing Ranges} \line{} \line{0000 - 00FF \hfill MVME147s} \line{0100 - 7FFF \hfill not allocated} \line{8000 - 80FF \hfill Radstone 16EBs} \line{8100 - DFFF \hfill not allocated} \line{E000 - E1FF \hfill STRUCK} \line{E200 - FEFF \hfill not allocated} \line{FF00 - FFFF \hfill DRAM4 RAM module (llgb only)} \end