DYNEX MA31750

MA31750
MA31750
High Performance MIL-STD-1750 Microprocessor
Replaces July 1999 version, DS3748-7.0
DS3748-8.0 January 2000
The Dynex Semiconductor MA31750 is a single-chip
microprocessor that implements the full MIL-STD-1750A
instruction set architecture, or Option 2 of Draft MIL-STD1750B. The processor executes all mandatory instructions and
many optional features are also included. Interrupts, fault
handling, memory expansion, Console, timers A and B, and
their related optional instructions are also supported in full
accordance with MIL-STD-1750.
The MA31750 offers a considerable performance increase
over the existing MAS281. This is achieved by using a 32-bit
internal bus structure with a 24 x 24 bit multiplier and 32-bit
ALU. Other performance-enhancing features include a 32-bit
shift network, a multi-port register file and a dedicated address
calculation unit.
Parity
Bus
arb.
Bus
Control
Address
The MA31750 has on-chip parity generation and checking
to enhance system integrity. A comprehensive built-in self-test
has also been incorporated, allowing processor functionality to
be verified at any time.
Console operation is supported through a parallel interface
using command/data registers in l/O space. Several discrete
output signals are produced to minimise external logic.
Control signals are also provided to allow inclusion of the
MA31750 into a multiprocessor or DMA system.
The processor can directly access 64KWords of memory in
full accordance with MIL-STD-1750A. This increases to
1MWord when used with the optional MA31751 memory
management unit (MMU). 1750B mode allows the system to
be expanded to 8MWord with the MMU.
Data
CLK
ebf
C0
uAddr
C1
IO control
Microcode ROM
IC
DOUT
A
IB
X
Address
generator
BR
Register
file
Sequencer
Microcode control
words to other blocks
IA
uData
rap
R bus
S bus
ir
Ints
ALU
Qshift
Multiplier
Interrupt
controller
Shift network
sc
abort
Faults
INTAKN
BUSFAULTN
Y bus
mov
bf
aluv
Flags
Figure 1: Architecture
1/42
MA31750
1. ARCHITECTURE
2. ADDITIONAL FEATURES
The Dynex Semiconducor MA31750 Microprocessor is a
high performance implementation of the MIL-STD-1750A
(Notice 1) Instruction Set Architecture. Figure 1 depicts the
architectural details of the chip. Two key features of this
architecture which contribute to the overall high performance
of the MA31750 are a 32-bit shift network and a 24-bit parallel
multiplier. These sub-systems allow the MA31750 to perform
multi-bit shifts, multiplications,divisions and normalisations in a
fraction of the clock cycles required on machines not having
such resources. This is especially true of floating-point
operations, in which the MA31750 excels. Such operations
constitute a large proportion of the Digital Avionics Instruction
Set (DAIS) mix and generally a high percentage of many signal
processing algorithms, therefore having a significant impact on
system performance.
The MA31750 may be operated in one of two basic user
selectable modes. 1750A mode follows the requirements of
MIL-STD-1750A (Notice 1) and implements all of the
mandatory features of this standard. In addition, many of the
optional features such as interval timers A and B, a watchdog
timer and parity checking are included. 1750B mode, when
selected, allows the user access to a range of new instructions
and features as described in the Draft MIL-STD-1750B, Option
2. These include a range of unsigned arithmetic operations
and expanded addressing support instructions.
Key features include:
1) A three-bus (R, S, and Y) datapath consisting of an
arithmetic/logic unit (ALU), three-port register file, shift
network, parallel multiplier and flags block;
2) Four instruction fetch registers C0,C1, IA, and IB;
3) Two operand transfer registers DI, and DO;
4) Two address registers IC and A;
5) A state sequencer;
6) Micro-instruction decode logic.
The relationship between these functional blocks is shown
in Figure 1.
2.1. MIL-STD-1750 OPTIONAL FEATURES
In addition to implementing all of the required features of
MIL-STD-1750A and the Draft standard MIL-STD-1750B, the
MA31750 also incorporates a number of optional features.
Interval timers A and B as well as a trigger-go counter are
provided. Most specified XIO commands are decoded directly
on the chip and an additional set of commands, associated
with MMU and BPU operations, are also decoded on chip.
2.2. BUS ARBITRATION
The MA31750 has a number of extra control lines to allow
its use in a system utilising multiple processors. A bus request
and grant system coupled with external arbitration logic allows
common data and address buses to be used between devices.
A lock request pin is also provided to allow the processor to
maintain control of the buses when modifying areas of shared
memory.
2.3. MEMORY BLOCK PROTECTION
The basic MMU function allows write or execute protection
to be applied on 4KWord block boundaries. This may be
further resolved to 1kWord blocks by the inclusion of a Block
Protect Unit (BPU). The MA31751 can act as both an MMU
and a BPU in 1750A mode, operating with the full compliment
of 1MWord of memory. It will also support expansion to
8MWord in accordance with Draft MIL-STD-1750B.
2/42
MA31750
3. MODES OF OPERATION
MA31750 operating modes include: (1) initialisation, (2)
instruction execution, (3) interrupt servicing, (4) fault servicing,
(5) timer operations and (6) console operation.
3.1. INITIALISATION
The MA31750 executes a microcoded initialisation routine
in response to a hardware reset or power-up. Figure 3 shows
a cycle-by-cycle breakdown of this routine. The operations
performed are dependent on the system configuration read by
the processor during startup. Figure 2 summarises the
resulting initialisation state.
MA31750
Instruction Counter
Status Word
Fault Register Zero
Fault Mask Register (1750B)
Pending Interrupt Register
Interrupt Mask Register
General Registers
Interrupts
Timers A and B
Timer Reset Registers (1750B)
Trigger-Go Counter
TGON Line
Start-Up ROM
DMA
Zero
Zero
Zero
All ones
Zero
Zero
Undefined
Disabled
Zeroed and started
Zero
Reset and started
High
Enabled
Disabled
MMU
Page Registers AL/W/E fields
Page Register PPA field
Zero
Logical to physical
BPU
Memory Protect RAM
Global Memory Protect
Zero (disabled)
Enabled
Figure 2: Initialization State
The last action performed by the initialisation routine is to
load the instruction pipeline. Instruction fetches start at
memory location zero with AS = 0, PS = 0 and PB = 0 and will
be from the Start-Up ROM (SUR) if implemented. Whether
BIT passes or not, the processor will begin instruction
execution at this point. The system start-up code may include
a routine to enable and unmask interrupts in order to detect
and respond to a BIT failure if required.
Addr
0
1
*2
3
1F
20
21
4
5
6
13
14
15
16
*17
*18
19
1A
1B
1C
*1D
1E
7
8
9
A
B
C
D
E
*F
10
32
33
34
35
36
11
12
*3F8
*3F9
Operation
PIC initialised
A<-- 0x8410
Read external configuration register from 8410H
(CONFWN asserted low)
If BPU, N<-- 128 else N<-- 0
Decrement N; branch to 21 if N >= 0
Write internal configuration register
If no MMU, br to 7
N <-- 256
Decrement N
Write MMU Instruction Page Register N
Write MMU Operand Page Register N; branch to 16 if
N>0
A <-- 0400H
N <-- 16
PBSR <-- N
Write Memory control register to MMU with PB = N
Decrement N; branch if N >= 0 to 1B
A <-- 0
IC <-- A
Br to BIT if required
Br if no SUR to 00D
Re-init PIC
Zero SW
Br to 011 if BIT passed (or not run)
Set FT bit 13
Init DMAE, SUREN, NPU
Fetch first word from 0
Fetch second word from 1
First instruction first cycle
* Indicates an external cycle
Figure 3: Initialization Sequence
3/42
MA31750
3.1.1. CONFIGURATION REGISTER
The system configuration register allows the MA31750 to
function with a variety of different system designs.
Implemented features such as a BPU should be indicated as
present by setting bits in an externally-implemented 16-bit
latch - see figure 4 for bit assignments. The latch must be
placed in IO space at the address defined by XIO RCW (8410)
shown in the table of XIO commands, Figure 20c. The
processor decodes this command internally and produces a
discrete output signal CONFWN which may be used as the
external register Output Enable control.
Bit
Function
0
MMU Select 0
1
BPU Select 0
2
1 = Console operation enabled
3
MMU Select 1
4
Interrupt sensitivity (1 = level, 0 = edge)
5
MMU Select 2
6
Parity sense (1 = odd, 0 = even)
7
1= BIT on power-up
8
1 = Start-Up ROM present
9
1 = DMA device present
10
1=1750A mode, 0=1750B mode
11
1=Instruction set expansion enabled
12
BPU Select 1
13
BPU Select 2
14-15
Reserved for future expansion
Figure 4: Configuration Word Bits
The processor maintains an internal configuration register
which is updated from the external register during initialisation
and during the execution of a NOP/BPT (No-op/Breakpoint)
instruction. The internal configuration register is used to
control the CPU. Note that although the external register can
be read using XIO RCW, this does not affect the internal
configuration. Note: if the interrupt level/edge trigger select bit
- (bit 4) is changed in the internal register during normal
operation of the device, one or more spurious interrupts may
occur.
When in 1750B mode, the processor needs to know how
many Page Banks are implemented in the external system so
that Status Word changes can be protected properly. MILSTD-1750B allows the options 0,1,2,4,8 or 16. The actual
selection should be coded into the three configuration register
bits MMU0, MMU1 and MMU2 as shown in figure 5.
In 1750A mode, setting any of the MMU select bits
indicates the presence of an MMU, the actual code is
unimportant in this mode.
BPU selects bits 2:0 should be set to indicate how much
BPU-protected memory exists on the system. If no BPU is
present, all three bits should be zero.
4/42
Selected bit
Function
MMU2
MMU1 MMU0
0
0
0
No MMU in system
0
0
1
1 Page Bank (PB0)
0
1
0
2 Page Banks (PB0-1)
0
1
1
4 Page Banks (PB0-3)
1
0
0
8 Page Banks (PB0-7)
1
0
1
16 Page Banks (PB0-15)
1
1
X
16 Page Banks (PB0-15)
Note: In 1750A mode, setting any or all of the MMU
select bits indicates the presence of an MMU.
Figure 5: MMU Selection Bits
3.1.2. BUILT-IN TEST (BIT)
BIT consists of ten subroutines, as outlined in Figure 6. If
all ten subroutines execute successfully, or no BIT is selected
in the configuration word, a BIT pass is flagged (seen
externally as NPU raised high by the initialization routine). If
any part of BIT fails, a corresponding bit identifying the failed
subroutine is set in General Register R0, Fault Bit 13 is set in
the Fault register (FT) and NPU is left in the low state. Figure 6
defines the coding of BIT results in R0. In the event of such a
failure, the resulting processor reset state will be dependent on
where in BIT the error occurred and may not be the same as
that shown in figure 2. A BIT failure indication in FT will set the
level 1 interrupt request bit of the Pending Interrupt (Pl)
register. Since initialisation disables and masks interrupts, this
interrupt request will not be asserted. Any external interrupts or
faults occurring during BIT will be cleared before program
execution begins and will not be serviced.
Test Coverage
Machine
Cycles
47
79
18
5632
Temporary Registers (T0-T11)
General Registers (R0-R15)
Flags Block
Sequencer Operation and ROM
checksum
Divide routine Quotient Shift
12
Network
Multiplier and ALU
13
Barrel shift Network
13
Interrupts and fault handling and
17
detection
Address generator block
13
Instruction pipeline
15
Note: BIT pass is indicated by all zeros
in FT bits 13,14, and 15
Figure 6: Built-In Test Coverage
Bit set
on fail
7
7
8
9
10
11
12
13
14
15
MA31750
3.2. INSTRUCTION EXECUTION
Once initialisation has been completed, the processor will
begin instruction execution. Instruction execution is
characterised by a variety of operations, each is one machine
cycle in duration (two or more system CLK periods).
Depending on the instruction being executed at the time, these
operations include: (1) internal CPU cycles, (2) instruction
fetches, (3) operand transfers, and (4) input/output transfers.
Cycle Type
Internal Cycle
RD/WRN O/IN
H
L
M/ION
H
Instruction
Fetch
H
L
H
Operand Read
Operand Write
IO Read
IO Write
H
L
H
L
H
H
H
H
H
H
L
L
Instruction execution may be interrupted at the end of any
individual machine cycle by an interrupt or Console request.
Internal cycles are always two CLK periods long, whilst the
other cycle types are a minimum of two CLK periods extendable by inserting waitstates. In all cycles except internal
cycles, RDN, WRN, DSN and AS strobes are produced to
control the transfer and latching of data and address around
the system.
Description
Used to perform all CPU data manipulation operations where bus
activity is not required.
Used to keep the instruction pipeline full with instructions and/or their
postwords. At least one instruction is always ready for execution when
the preceding instruction is completed. During jump and branch
instruction execution the pipeline is refilled by two consecutive
instruction fetches starting at the new instruction location. It is also
refilled as part of interrupt request processing.
Used to read in data from the external system and to write results to the
system.
Input/Output transfers utilize the MIL-STD-1750 XIO and VIO
instructions. RD/WN defines the direction of the transfer. IO transfers
may be divided into three groups; those commands which are
implemented internally by the CPU, those commands which are
implemented by external system hardware and those commands
defined as illegal by MIL-STD-1750A and B.
Figure 7: External Cycle Types
3.3. IO OPERATION
The MA31750 supports a 64KWord addressing space
dedicated to IO control and communication in accordance with
MIL-STD-1750. The control line MION is asserted low when
accessing IO space (see figure 7 above for other strobe
states). One of the two commands XIO or VIO is used to
specify both data for the transfer and the port address (referred
to as an XIO Command in 1750). The CPU contains logic
which decodes all internally supported XIO commands and
generates the control signals necessary to carry out the
commanded action. In addition, the validity of a command not
implemented internally is verified. Figure 20c identifies the XIO
commands which are internally supported by the MA31750.
3.4. INTERRUPT AND FAULT HANDLING
3.4.1. STATUS WORD (SW)
Figure 8 depicts the status register format. This 16-bit word
is divided into four, 4-bit sections. Three of these sections [AS,
PS and, (1750B mode) PB] are control bits for implementing
expanded memory with an external MMU. The fourth section,
CS, is used to hold the carry, positive, zero and negative
condition flags set by the result of the previous arithmetic
operation.
0
34
CS
Field
Bits
CS
0
78
R (PB)
11 12
PS
15
AS
Description
CONDITION STATUS
C- Carry from an addition or no
borrow from a subtraction.
P- Result > 0
Z- Result = 0
N- Result < 0
1
2
3
R
PB
4-7
RESERVED (=0) in 1750A mode
Page Bank Select in 1750B mode
PS
8-11
PROCESSOR STATE:
(a)- Memory access to key code
(b)- Priviledged instruction enable
AS
12-15
ADDRESS STATE:
Page register sets for expanded
memory addressing.
Figure 8: Status Word Format
5/42
MA31750
The AS field is used during expanded memory access to
define the page register set to be used for instruction and
operand memory references. The PS field is used during
memory protect operations to define the access key used for
memory accesses. The PS field is also used during execution
of privileged Instructions - PS must be zero for such operations
to be legal. See Section 4.3 for further information on the use
of this field. The PB field is used in conjunction with the AS
field in 1750B mode to expand the number of page registers
available. Note that attempting to set AS or PB to a non-zero
value with no MMU, or setting PB to a non-zero value in 1750A
mode is illegal. This will be aborted and a fault 11 will be
generated (SW will remain unchanged).
System
Interrupts
PWRD
INT02
INT08
Internal
Interrupts
System
Faults
0
(Cannot be disabled or masked)
MPROE (CPU)
0
1
Machine Error (Cannot be
disabled)
MPROE (DMA)
1
PE (CPU memory)
2
2
Internal
Faults
3
Floating-Point Overflow
PE (CPU IO)
3
4
Fixed-Point Overflow
PE (DMA)
4
5
Executive call (Cannot be
disabled or masked)
EXADE or Bus
Timeout (CPU IO)
5
6
Floating-Point Underflow
7
Timer A Overflow
8
9
6
FLT7
7
EXADE or Bus
Timeout (CPU
memory)
8
Timer B Overflow
Parallel IO Transfer Error
9
Illegal Instruction Opcode
INT10
10
10
Priviledged Instruction
INT11
11
11
Unimplemented Address State
IOI1
12
Reserved
12
INT13
13
SYSF
13
IOI2
14
EXADE (DMA)
14
INT15
15
SYSF
15
Figure 9: Pending Interrupt Bit Assignments
6/42
3.4.2. PENDING INTERRUPT REGISTER (PI)
This 16-bit register is used to capture and hold interrupts
until they can be processed by microcode and user software. A
logic 1 is used to represent an active pending interrupt. The Pl
register supports three dedicated external, six user-definable
external, and seven dedicated internal interrupts. Levelsensitive interrupts are sampled on each rising CLK edge,
whilst edge sensitive interrupts are captured immediately.
MA31750 BIT Fail
Figure 10: Fault Register Bit Assignments
MA31750
3.4.5. FAULT REGISTER (FT)
This 16-bit register is used to capture and hold both internal
and user implemented external faults using positive logic, i.e.,
a logic one represents a fault. Bus cycle faults are captured at
the end of each machine cycle whilst the two general purpose
faults SYSFN and FLT7N are set when the low time exceeds
the minimum pulse width. Setting any one or more faults in FT
will cause a level 1 (machine error) interrupt request. Once a
fault is set in FT, it may only be cleared via an XIO command.
In 1750B mode, a fault mask register is provided to allow
selective masking of fault conditions. Section 4 (Software
Considerations) contains further information. Figure 27 shows
the fault register assignments.
3.4.6. MEMORY FAULT PAGE AND ADDRESS REGISTERS
These registers capture the page and address information
at the end of each external cycle until a memory fault occurs.
Faults setting bits 0, 1, 2 and 8 in the fault register cause the
registers to stop latching new address information, so retaining
information about the address at which the fault occured. The
registers can be read (using the GPS defined XIOs RMFP and
RMPA). The fault register must be cleared and both memory
fault registers read before latching can restart.
The information stored in the memory fault registers is as
follows:
MFPR[0:3]
A[0:3]
MFPR[12:15]
AS[0:3]
MFPR[4:7]
MFPR[8:10]
PB[0:3](ASOB)
Res
MFAR[0:15]
A[0:15]
MFPR[11]
ION
Note: MFPR[11] is the
inverse of OIN.
These registers are only available if there is an MMU in the
system. If there is no MMU present, then the RMFP and RMFA
XIO commands become illegal.
The address information held in these registers can be
used to restart code after a memory fault has occurred. Bits
[6:7] of the OAS register store information on the type of
instruction which was being executed when the fault occured:
00 → branch that was taken
01 → single word instruction
10 → double word instruction
(Subtracting this value from the saved address will give the
address of the failed instruction unless it was a branch that
was taken).
Interrupt 0
Interrupt 1
3.4.4. PRIORITY ENCODER
This encoder generates an interrupt request to the
sequencer block whenever one or more unmasked interrupts
are pending and enabled in the Pl. The highest priority
unmasked pending interrupt is encoded as a 4-bit vector. This
vector is used during interrupt servicing in order to create the
interrupt linkage and service pointers.
CPU status at time
of interrupt
Linkage
Pointer 0
Service
Pointer 0
Linkage
Pointer 1
Old Interrupt
Mask
Old Status
Word
Old Instruction
Counter
Service
Pointer 1
Status at start of
Service Routine
New Interrupt
Mask
Interrupt 15
3.4.3. MASK REGISTER (MK)
This 16-bit register is used to store the interrupt mask.
Interrupts are masked by ANDing each mask bit with its
corresponding Pl register bit. ie. A logic zero in a given bit
position indicates that the corresponding bit in the Pl register
will be masked. Interrupts which are masked will be captured
in the Pl register but will not be acted on until unmasked.
Interrupt level zero can not be masked.
Linkage
Pointer 15
New Status
Word
Service
Pointer 15
New Instruction
Counter
Figure 11: Interrupt Vectoring
3.4.7. INTERRUPT SERVICING
Nine user interrupt request inputs are provided for
programmed response to asynchronous system events. A low
on any of these inputs will be detected at the rising edge of
CLK (level sensitive interrupts only) and latched into the
Pending Interrupt (Pl) register on the falling edge of CLK at the
end of the current CPU cycle. This sequence occurs whether
interrupts are enabled or disabled or whether the specific
interrupt is masked or unmasked. More details of interrupt
operations are available in Applications Note 4.
All of the user interrupts PWRDN, INT02N - INT15N may
be programmed to be either level or edge sensitive by setting
or clearing the appropriate bit in the system configuration
register. If edge sensitivity is selected then an interrupt request
input must return to the high state before a subsequent request
on that input will be detected. If level sensitivity is selected then
holding an interrupt input low will cause a new interrupt to be
latched following each service. Note that interrupts IOI1N and
IOI2N are level sensitive only.
In order that the system may recognise when a service has
been started, an interrupt acknowledge pin is provided. During
the microcoded interrupt service routine execution, the
processor will read the Linkage Pointer address in memory.
During this operand read cycle, the processor will also assert
INTAKN low, which may be used in conjunction with AS and
address bus bits A[11:14] to reveal the priority level of the
interrupt being serviced. (A[11:14] = 0 indicates level 0
interrupt, A[11:14] = 1 indicates level 1 interrupt, and so on).
INTAKN should also be used to remove level-sensitive
interrupt requests to ensure that repeated requests are not
generated.
7/42
MA31750
Interrupt
LP
No.
Address
PWRD
0
20
ME
1
22
INT02
2
24
FI.P o/f
3
26
Fx.P o/f
4
28
BEX
5
2A
FI.P u/f
6
2C
Timer A
7
2E
INT08
8
30
Timer B
9
32
INT10
10
34
INT11
11
36
IOI1
12
38
INT13
13
3A
IOI2
14
3C
INT15
15
3E
Note: Addresses (in hex) are in operand
SP
Address
21
23
25
27
29
2B
2D
2F
31
33
35
37
39
3B
3D
3F
space
Figure 12: Interrupt Pointer Address
When an interrupt request is latched into Pl, it is ANDed
with its corresponding mask bit in the mask register (MK).
NOTE: Interrupt level 0 is non-maskable. Any unmasked
pending interrupts are output to the priority encoder where the
highest priority is encoded as a 4-bit vector. If interrupts are
enabled and an unmasked interrupt is pending, the priority
encoder will assert an interrupt request to the sequencer. 1 or
2 extra CLKs will be inserted into the machine cycle on which
the interrupt request is asserted.
Upon completing execution of each MIL-STD-1750A or B
instruction, the sequencer checks the state of the priority
encoder interrupt request. If a request is asserted, the
sequencer branches to the microcode interrupt service
routine. This routine reads the 4-bit pending interrupt vector
and then uses this value to calculate the appropriate interrupt
linkage (old processor context save area) and service (new
context load area) pointers. Figure 11 depicts this relationship.
Figure 12 defines the pointer values.
Using the linkage and service pointers, the microcode
interrupt service routine performs the following: (1) the current
contents of the status word, mask register, and instruction
counter are saved; (2) a write status word (WSW) I/O
command is executed with an all zero data word; (3) the new
mask is loaded into MK and interrupts are disabled; (4) the
new status word is read and checked for a valid Address State
(AS[0:3]) field - If the address state is non-zero and an MMU is
not present, AS[0:3] is set to zero and fault 11 (address state
error) is set in the fault register FT); (5) a write status word
command using the new status word is performed; and (6) the
new IC value is loaded into IC, the instruction pipeline is
flushed and refilled starting at the new address, and instruction
execution begins.
[NOTE: The steps listed above represent a summary of
actions performed during interrupt servicing and do not
necessarily reflect the actual order in which these events take
place.]
8/42
If an address state fault occurs during the service routine,
interrupt level 1 will be set. This interrupt will be serviced when
interrupts are re-enabled unless it is masked by the new value
in MK.
3.4.8. FAULT SERVICING
Five user fault inputs are provided. A low on any of the
three bus-cycle-related fault inputs, EXADEN, MPROEN or
PEN, will be latched into the Fault Register (FT) on the next
falling edge of AS. A low on either of the two general purpose
fault inputs, FLT7N or SYSFN, will be latched immediately and
will be sampled into the appropriate bit of FT on the falling
edge of AS.
Any fault which sets a bit in the FT immediately causes a
level 1 pending interrupt to be entered into the PI register. This
interrupt is maskable but may not be disabled.
This interrupt will be serviced at the end of the currently
executing 1750 instruction if not masked. The microcoded
interrupt service routine reads the interrupt priority vector and
clears the bit relating to the serviced interrupt from the PI.
However, the FT retains the set fault bits until the FT is cleared
using the XIO RCFR command. (A non-destructive read of the
FT is provided by the XIO RFR command.) Anti-repeat logic
between the FT and the PI prevents the same fault being
latched and serviced twice. However, as all FT bits are ORed
together and input to PI bit 1, this also prevents any other faults
being serviced until the fault register has been cleared. It is
imperative, therefore, that the fault service routine executes a
RCFR XIO before exiting. Different types of faults are serviced
slightly differently as follows:
3.4.8.1. MPROEN and EXADEN
If MPROEN and/or EXADEN are low on a falling clock
edge with AS and DSN high (see figure 23a), the processor will
wait in this state. If either fault input remains low during two
falling edges of TCLK, the cycle is forced to complete but RDN/
WRN and DSN are inhibited (see figure 24b). This allows the
processor to prevent erroneous accesses. An access fault will
be registered as AS falls at the end of the cycle.
3.4.8.2. PEN
External parity errors are latched into the FT on the falling
edge of AS. The fault bit set is dependant upon the type of
transfer taking place (memory, IO or DMA).
3.4.8.3. FLT7N and SYSFN
These faults are latched immediately, but are not sampled
into the fault register until the following falling edge of AS.
3.4.9. PARITY GENERATION AND CHECKING
The MA31750 features on-chip parity generation and
checking on all data bus transfers. Data generated by the
processor has a parity bit attached to it to allow external logic
to verify write transfers. On read transfers, the processor will
check the incoming parity (if enabled) and will generate the
appropriate parity error fault if detected. However, the data to
be checked is only available as DSN rises at the end of the
cycle so the error flag is generated and latched in the cycle
following the erroneous cycle. Parity checking may be
MA31750
disabled when operating with devices which do not support
parity generation by asserting the DPARN (Disable Parity)
input low. The checking polarity (odd or even) is selectable
with Configuration Register bit 6.
3.5. TIMER OPERATIONS
The MA31750 implements interval timers A and B, a
trigger-go counter, and a bus fault timer. A discussion of each
follows:
3.5.1. TIMERS A AND B
Two general-purpose, 16-bit timers are provided in the
processor. Timer A is clocked by the TCLK input; timer B is
clocked by an internally generated TCLK/10. The divider
circuit is reset when Timer B is reset to give deterministic
processor operation. MIL-STD-1750 requires TCLK to be a
100kHz pulse train. If allowed to overflow, timers A and B will
set level 7 and level 9 interrupt requests respectively. Each
timer can be read, loaded, started and stopped by using XIO
commands as identified in figure 20c.
Each timer has associated with it a reset register from
which the timer is automatically loaded following a software
reset or overflow. These registers are initially loaded with zero
but may be reloaded from software (using the XIO instructions
OTA and OTB) to provide greater control over the count
period.
The MA31750 timers A and B will be disabled when the
device enters Console mode, as required by MIL-STD-1750A
Notice 1.
3.5.2. TRIGGER-GO COUNTER
This 16-bit counter is clocked by the TCLK input and is
typically used as a system “watchdog” timer. It is enabled
during system initialisation and may be preset under software
control to give a wide range of timeout intervals. In order that
the count period may be controlled, a reset register is
provided. On reset, this register is loaded with zero, but can be
reloaded under software control to take any value between 0
and FFFF16 (a value of zero gives the maximum count period).
This allows the timeout period to be varied between 20us and
0.65s. Note that there is no value which disables the timer.
The counter is incremented on each TCLK falling edge.
Whenever the trigger-go counter overflows, TGON drops low
and remains low until the counter is reloaded from the reset
register via the GO internal XIO command. TGON low would
typically be used to initiate a user-defined system recovery
action such as a system reset.
3.5.3. BUS FAULT TIMER
All bus operations are monitored to ensure timely
completion. A hardware timeout circuit is enabled at the start of
each memory and l/O transfer (DSN high-to-low transition) and
is reset upon receipt of the external ready (RDYN) signal. If
this circuit fails to reset within a minimum of one TCLK period
or a maximum of two TCLK periods, either bit 8 (if the
transaction is with memory) or bit 5 (if the transaction is with l/
O) of the Fault Register (FT) is set. This sets Pending Interrupt
level 1 and causes the strobes to be suppressed and the
current bus cycle to be aborted. The MIL-STD-1750 instruction
is aborted, and control passes to the level 1 interrupt service
routine (if the level 1 interrupt is unmasked). The timeout
mechanism is disabled and reset if DTON is asserted low.
3.6. CONSOLE OPERATION
The MA31750 is capable of interfacing directly to an
external console, allowing the developer to: examine and
change the contents of internal registers, memory and IO
devices; single step code and halt the processor. Applications
Note 3 provides a full description of the Console interface, its
implementation and operation.
3.7. MULTIPROCESSOR SUPPORT
Once initialisation has been completed, the processor will
begin instruction execution by executing a sequence of microinstructions, each one machine cycle (two system clock
periods) long. Each machine cycle may perform either an
internal or an external operation; if the operation is purely
internal then the system busses will not be in use and may be
reassigned to another processor.
An external machine cycle (indicated by REQN low during
the second half of the previous cycle) will cause the processor
to stall upon completion of the current microcycle, awaiting
GRANTN asserted low. Whilst GRANTN is high the busses
remain undriven.
In simple, single processor systems which use no DMA
devices the GRANTN line should be tied to GND to allow the
processor to retain control of the busses. The LOCKN and
REQN pins can be left open-circuit in this case. Applications
Note 11 provides further information for designers of systems
with more than one bus master.
4. SOFTWARE CONSIDERATIONS
4.1. OPERATING MODES
The MA31750 is capable of being operated in one of two
basic modes as previously mentioned. These are described in
detail below:
4.1.1 1750A MODE
1750A mode is a full implementation of MIL-STD-1750A
(Notice 1) and includes some of the optional features
mentioned in this standard.
4.1.2 1750B MODE
1750B mode is an implementation of the proposed MILSTD-1750B, Option 2, Draft of 17th July 1988. This mode
extends the basic 1750A mode operation. Note that the
transcendental functions SIN, COS, LN etc. (Option 3 of MILSTD-1750B) are not supported. Features new to MIL-STD1750B which are in violation of MIL-STD-1750A are only
enabled in 1750B mode. The additional instructions available
in 1750B mode are detailed in figure 20b.
4.2. ACCESSING IO USING XIO AND VIO COMMANDS
MIL-STD-1750 defines a 64KWord addressing space
which is available exclusively for accessing IO resources. Two
special commands, XIO and VIO, are provided as part of the
instruction set for accessing this space. Port addresses are
specified as a 16-bit Command word which is supplied as a
parameter to the XIO/VIO instruction. The MSB of the
Command word indicates the direction of data transfer
between the port and the register specified in the XIO
command (a 1 in the MSB indicates that the port is being read,
whilst 0 indicates a write to the port).
9/42
MA31750
Output
0000-03FF
0400-1FFF
2000-20FF
2100-2FFF
3000-3FFF
4000-40FF
4100-4CFF
4D00-4FFF
5000-50FF
5100-51FF
5200-52FF
5300-7FFF
Input
8000-83FF
8400-9FFF
A000-A0FF
A100-AFFF
B000-BFFF
C000-CFFF
C100-CCFF
CD00-CFFF
D000-D0FF
D100-D1FF
D200-D2FF
D300-FFFF
Usage
PIO
Spare
CPU and auxiliary register control
Reserved
Spare
CPU and auxiliary register control
Reserved
Extended memory protect RAM
Memory protect RAM
MMU Instruction Page Registers
MMU Operand Page Registers
Spare
Figure 13: XIO Command Channel Grouping
XIO command addresses are grouped by the Standard
according to function. Certain groups are ‘reserved’ and must
not be implemented. Attempts to read or write these areas will
be prevented by the processor and a fault will be logged in the
fault register. Other groups are designated ‘spare’ and may be
implemented as required by the system designer. Note,
however, that there is a third group which access system
resources such as MMU page registers and interrupt control
registers which are not available to the user to implement. A
summary of the XIO map is provided in figure 13, whilst the
detailed list of implemented command addresses is shown in
Figure 20c.
The VIO (Vectored IO) command allows a number of IO
operations to be executed in a sequence from a table.
Applications Note 8 gives further information on the use of this
command.
Both XIO and VIO are priveleged commands and as such
can only be executed when the Status Word PS field is zero.
4.3. PROCESSOR STATE AND PRIVILEGED
INSTRUCTIONS
The Processor State is defined by a 4-bit value held in the
processor Status Word. If the value is made non-zero then
attempts to execute the commands XIO, VIO or LST will be
aborted and a fault will be raised. This is intended to deny
direct access to the hardware from user applications (running
in PS≠0), whilst allowing the Operating System (operating with
PS=0) access to the system IO and interrupt resources.
If an MMU is present on the system the PS field is used in
conjunction with the page register Access Key field to provide
a further level of protection to the system. When PS=0 access
is granted to all pages, irrespective of their key value. If PS is
non-zero, access is only permitted if the Access Key is equal to
the PS value, or the Access Key is 15. Access Key 15 should
be applied to a shared area of code or data, and is accessable
to all PS values.
10/42
4.4. USING START-UP ROM
The transition between code execution from Start-up ROM
and system RAM must be made with care. If a system overlays
RAM with the Start-Up ROM and the transition is made by
simply executing XIO DSUR from the ROM, then the
instruction pipeline will contain the value stored in the ROM
location immediately following the XIO DSUR command. This
value will be treated as an instruction and the processor will
attempt to execute it. In such cases, it is recommended that
DSUR be followed by an unconditional branch instruction with
offset, i.e. the BR instruction. An alternative approach is simply
to jump to a portion of RAM not overlaid by the Start-Up ROM
and execute DSUR from RAM.
4.5. USING SOFTWARE TIMERS A AND B
The MA31750 implements the two software timers, A and
B as defined in the MIL-STD 1750A specification. These are
general purpose timers which are clocked at 100kHz and
10kHz respectively, giving clock ‘tick’ intervals of 10us and
100us respectively. They may be started using the XIO TAS
and XIO TBS instructions, and stopped using XIO TAH and
XIO TBH. If a timer is allowed to overflow (FFFF16 - 000016) it
will generate pending interrupt levels 7 (A) or 9 (B).
In 1750B mode each timer has associated with it a reset
register which may be loaded with any 16-bit value from
software. If a timer is allowed to overflow, an automatic reset
will take place which will reload the timer with the value held in
its on-chip reset register, provided that the timer had
previously been loaded using XIO OTA/OTB. If this is not the
case, then the timers will reset to zero on overflow. Each of the
reset registers is initialised to zero but may be changed using
XIO OTAR or XIO OTBR.
4.6. FAULT MASK REGISTER
A fault mask register is accessible in 1750B mode. Its
function is similar to that of the Interrupt Mask register and
allows selective enabling and disabling of all bits in the Fault
Register. All faults are maskable. Setting a bit in this register
allows the corresponding fault bit to be seen by the system.
The mask register is loaded with FFFF16 on initialisation.
4.7. GENERAL REGISTERS R0-R15
There are 16 general purpose registers defined by MILSTD-1750; each is 16-bits wide. Adjacent registers may be
concatenated to provide storage for the larger data formats
(Double Integer and Float - 32-bit; Extended Float - 48-bit).
The first register in the set stores the most significant data
word and is the register specified when referring to the value.
Wrap-around occurs between R15 and R0.
Although generally all registers are the same, certain
registers are notionally assigned to particular tasks, see figure
15.
MA31750
4.8. MIL-STD-1750 DATA TYPES
The MA31750 fully supports 16-bit fixed-point singleprecision, 32-bit fixed-point double-precision, 32-bit floatingpoint, and 48-bit extended precision floating- point data types.
Figure 16 depicts the formats of these data types.
All numerical data is represented in two’s complement
form. Floating-point numbers are represented by a fractional
two’s complement mantissa with an 8-bit two’s complement
exponent. All floating-point operands are expected to be
normalised. If not normalised, the results from an instruction
are not defined.
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
Status Word (SW)
Instruction Counter (IC)
Fault Register (FT)
Fault Mask (1750B only)
Pending Interrupt (PI)
Interrupt Mask (MK)
Timer A
Timer A reset (1750B only)
4.9. MIL-STD-1750 ADDRESSING MODES
The MA31750 supports the eight basic addressing modes
specified in MIL-STD-1750A. These addressing modes are
depicted in Figure 18 and are defined below. In binary
operations one operand is assumed to be in a register
(specified as part of the opcode) whilst the second operand
(the Derived Operand, DO) is taken from a source which is
dependent upon the addressing mode, see figure 17. Many
adddressing modes may be specified as indexable: the index
register may be any of the general purpose registers R1-R15
(if 0 is specified then the non-indexable form is used). For
Base Relative addressing modes the first operand is fixed as
part of the instruction (either R0 for Double Integer operations,
or R2 for Single Integer operations).
4.10. MEMORY ADDRESSING CAPABILITY
In accordance with MIL-STD-1750A, the MA31750 can
access a 64KWord address space directly. With the addition of
a single external Dynex Semiconductor MA31751 chip,
configured as a Memory Management Unit (MMU), this
address space may be expanded to 1MWord (1750A mode) or
8MWord (1750B mode). The MA31751 data sheet gives
further information on the MMU/BPU chip and on the memory
management scheme employed. Note that whilst one MMU
can be used to provide the full range of physical addresses to
the system memory, the logical addressing capability may also
be expanded by adding further MMU devices up to a maximum
of 16.
Timer B
Timer B reset (1750B only)
Trigger-Go Reset Register
Configuration
Figure 14: Register Set Model
Register(s)
R0
R2
R3-R11
R12-R15
R15
Notional Use or Restriction on Use
Cannot be used as an index register
With R1: Implied register in Double mode Base Relative addressing
Implied register in Single mode Base Relative addressing
General purpose
Base relative registers
Stack pointer in PSHM and POPM operations
Figure 15: General Register Usage
11/42
MA31750
Byte
MSB
LSB MSB
Upper byte
LSB
Lower byte
0
15
Single Precision Fixed-Point
MSB
LSB
Unsigned Single Precision Fixed-Point (1750B)
MSB
LSB
Value
Unsigned value
0
15
0
15
Double-Precision Fixed-Point
MSB
LSB
Value
0
Note: All values are
Signed 2s complement
unless shown as
unsigned.
31
Unsigned Double Precision Fixed-Point (1750B)
MSB
LSB
Unsigned value
0
31
Floating Point
MSB
LSB MSB
Mantissa
Exponent
0
23 24
Extended Precision Floating Point
MSB
Mantissa (Most significant)
0
LSB
LSB MSB
31
LSB MSB
Exponent
23 24
LSB
Mantissa (Least Sig.)
31 32
47
Figure 16: Data Formats
Mode
R
D, DX
Name
Register Direct
Memory Direct
I, IX
Memory Indirect
IM, IMX
ISP
Immediate Long
Immediate Short Positive
ISN
Immediate Short Negative
ICR
B
Instruction Counter
Relative
Base Relative
BX
Base Relative Indexed
S
Special
Derived Operand
The operand is contained in a regular specified by the instruction.
The instruction postword (plus RX if RX ≠ 0), contains the memory address of the
operand.
The instruction postword (plus RX if RX ≠ 0) contains the address of the address
which holds the operand.
The instruction postword (plus RX if RX ≠ 0) holds the operand.
The operand value is specified as part of the instruction. (ISP specifies values
between 0001 H and 0010H, ISN specifies values between FFFFH and FFEFH).
The operand value is specified as part of the instruction. (ISP specifies values
between 0001n and 0010n, ISN specifies values between FFFFn and FFEFn).
A 2s-complement, 8-bit displacement which is sign-extended and added to the
Instruction counter to provide an offset of -128 to +127.
Data at address given by: contents of specified base register (R12-R15, specified
by opcode), plus unsigned 8-bit displacement field from opcode.
Data at address given by contents of specified base register (R12-R15, specified
by opcode), plus contents of RX register if RX ≠ R0
See instruction for details.
Figure 17: Address Mode Summary
12/42
MA31750
INSTRUCTION
MODE
FORMAT
MSB
0
7 8
1. Register Direct
"R"
OC
7 8
OC
7 8
OC
0
OC
A
15
16
31
A
RX
11 12
7 8
OC
15
16
31
I
OCX
RA
11 12
RA
15 16
31
I
RX
RX = 0 (Non-indexed)
RX ≠ 0 (Indexed)
0
7 8
OC
11 12
RA
0
7 8
OC
15
I
11 12
RA
0
15
I
7 8
6. IC Relative
"ICR"
15
OC
D
Legend
5 6
0
OC
7 8
15
DU
BR'
BR' = BR - 12
5 6
0
OC
b. Indexable
7 8
11 12
OCX
BR'
15
RX
RX = 0 (Non-indexed)
RX ≠ 0 (Indexed)
0
8. Special
"S"
11 12
7 8
b. Negative
"ISN"
"B"
"BX"
31
RX = 0 (Non-indexed)
RX ≠ 0 (Indexed)
b. Indexable
7. Base Relative
a. Not Indexable
"B"
16
RX
RA
0
5. Immediate Short
a. Positive
"ISP"
15
LSB
RX = 0 (Non-indexed)
RX ≠ 0 (Indexed)
3. Memory Indirect
"IM"
"IMX"
11 12
RA
0
4. Immediate Long
a. Not indexable
"IM"
15
RB
MSB
2. Memory Direct
"I"
"IX"
LSB
11 12
RA
0
"D"
"DX"
POSTWORD
7 8
OC
11 12
S1
OC
RA
RB
RX
A
OCX
I
D
BR'
DU
S1, S2
= Operation Code
= Destination Register
= Source Register
= Index Register
= Address (logical)
= Extension to Operation Code
= Immediate Data
= Displacement
= Base Register Reference
= Displacement (positive)
= Special Code
15
S2
Figure 18: Addressing Modes
13/42
MA31750
5. PERFORMANCE
5.1. BENCHMARKING
Figure 20a defines the number and type of machine cycles
associated with each MIL-STD-1750 instruction. This
information may be used when benchmarking MA31750
performance. The Digital Avionics Instruction Set (DAIS) mix,
which defines a typical frequency of occurrence for MIL-STD1750A instructions, is used here for this purpose.
One problem with the DAIS mix is that it does not reflect the
impact of data dependencies on system performance. E.g. a
multiplication in which the operand is zero may be performed
much faster than one with two non-zero operands.
Realistic benchmarks must therefore take both the
instruction mix and data dependencies into account. To this
end, machine cycle counts in figure 20a which have data
dependencies are annotated with either an “a” or “wa” suffix.
An “a” suffix reflects an average number of machine cycles
(where each of several possibilities is equally likely) and a “wa”
suffix reflects a weighted average number of machine cycles
(where some data possibilities are more likely than others).
Weighted averages are only applicable to floating-point
operations. Normalisation and alignment operations are also
represented. Figure 19 shows MA31750 throughput, at
various frequencies and wait states, for the floating point DAIS
mix.
5.2. EXPANDED MEMORY PERFORMANCE
The inclusion of an MMU (Memory Management Unit) will
degrade the throughput performance of the processor in two
ways. Firstly, each memory access will have an additional
overhead associated with the formation of the extended
address from the MMU. This may require that the processor
inserts wait states to lengthen each external cycle. Secondly,
the MMU itself may require that some ‘housekeeping’ work be
done by the processor, which will lengthen the program
execution time. There are no widely accepted benchmarks
which may be used to measure the resultant decrease in
throughput.
3.5
3
Performance (MIPS)
2.5
2
25MHz
1.5
20MHz
15MHz
1
10MHz
0.5
5MHz
0
0
1
2
3
Waitstates
Figure 19: Throughput (MIPS) with Waitstates
14/42
4
MA31750
5.3. INSTRUCTION SUMMARY
OPERATION
SINGLE LOAD/STORE
Single Precision Load
Double-Precision Load
Single-Precision Store
Store Non-Negative Constant
Double-Precision Store
Load Multiple Registers
Store Multiple Registers
COMPARE
Single-Precision Compare
Compare Between Limits
Double-Precision Compare
BYTE
Load From Upper Byte
Load From Lower Byte
Store Into Upper Byte
Store Into Lower Byte
Exchange Bytes in Register
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
LR
LB
LBX
LISP
LISN
L
LIM
LI
DLR
DLB
DLBX
DL
DLI
STB
STBX
ST
STI
STC
STCI
DSTB
DSTX
DST
DSTI
LM
STM
R
B
BX
ISP
ISN
D,DX
IM,IMX
I,IX
R
B
BX
D,DX
I,IX
B
BX
D,DX
I,IX
D,DX
I,IX
B
BX
D,DX
I,IX
D,DX
D,DX
81
0X
4X 0
82
83
80
85
84
87
0X
4X 1
86
88
0X
4X 2
90
94
91
92
0X
4X 3
96
98
89
99
1
2
2
1
1
3
2
4
1
3
3
4
5
2
2
3
4
3
4
3
3
4
5
3+n
2+n
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
CR
CB
CBX
CISP
CISN
C
CIM
CBL
DCR
DC
R
B
BX
ISP
ISN
D,DX
IM
D,DX
R
D,DX
F1
3X
4X C
F2
F3
F0
4A A
F4
F7
F6
1
2
2
1
1
3
2
4
1
4
0
1
1
1
0
0
0
2.7a
0
0
LUB
LUBI
LLB
LLBI
STUB
SUBI
STLB
SLBI
XBR
D,DX
I,IX
D,DX
I,IX
D,DX
I,IX
D,DX
I,IX
S
8B
8D
8C
8E
9B
9D
9C
9E
EC
3
4
3
4
4
5
4
5
1
1
1
0
0
0
0
1
1
0
Figure 20a: Instruction Summary
15/42
MA31750
OPERATION
INTEGER ARITHMETIC
Single-Precision Integer Add
Increment Memory by a Positive
Integer
Single-Precision Absolute Value
Double-Precision Absolute
Value
Double-Precision Integer Add
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
AR
AB
ABX
AISP
A
AIM
INCM
R
B
BX
ISP
D,DX
IM
D,DX
A1
1X
4X 4
A2
A0
4A 1
A3
1
2
2
1
3
2
4
0
1
1
0
0
0
0
ABS
DABS
R
R
A4
A5
1
1
1.5a
1.5a
R
D,DX
R
B
BX
ISP
D,DX
IM
D,DX
A7
A6
B1
1X
4X 5
B2
B0
4A 2
B3
1
4
1
2
2
1
3
2
4
0
0
0
1
1
1
0
0
0
R
R
R
B4
B5
B7
1
1
1
1
1
0
D,DX
R
B6
C1
4
1
0
2
ISP
ISN
D,DX
IM
R
C2
C3
C0
4A 4
C5
1
1
3
2
1
2
3
2
2
1
B
BX
D,DX
IM
R
D,DX
R
1X
4X 6
C4
4A 3
C7
C6
D1
2
2
3
2
1
4
1
2
2
1
1
16.5a
16.5a
23.5a
ISP
ISN
D,DX
IM
R
D2
D3
D0
4A 6
D5
1
1
3
2
1
23.5a
23.5a
23.5a
23.5a
28a
R
BX
D,DX
IM
R
D,DX
1X
4X 7
D4
4A 5
D7
D6
2
2
3
2
1
4
29a
29a
28a
28a
41a
41a
DAR
DA
Single Precision Integer Subtract SR
SBB
SBBX
SISP
S
SIM
Decrement Memory by a Positive DECM
Integer
Single-Precision Negate
NEG
Double-Precision Negate
DNEG
Double-Precision Integer
DSR
Subtract
DS
Single-Precision Integer Multiply MSR
with 16-Bit Product
MISP
MISN
MS
MSIM
Single-Precision Integer Multiply MR
with 32-Bit Product
MB
MBX
M
MIM
Double-Precision Integer Multiply DMR
DM
Single-Precision Integer Divide
DVR
with 16-Bit Dividend
DISP
DISN
DV
DVIM
Single-Precision Integer Divide
DR
with 32-Bit Dividend
DB
DBX
D
DIM
Double-Precision Integer Divide DDR
DD
Figure 20a (continued): Instruction Summary
16/42
MA31750
OPERATION
LOGICAL
Inclusive Logical-OR
Logical-AND
Exclusive Logical-OR
Logical NAND
Set Bit
Reset Bit
Test Bit
Test and Set Bit
Set Variable Bit
Reset Variable Bit
Test Variable Bit
Store Register Through Mask
JUMP/BRANCH
Jump on Condition
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
ORR
ORB
ORBX
OR
ORIM
ANDR
ANDB
ANDX
AND
ANDM
XORR
XOR
XORM
NR
N
NIM
SBR
SB
SBI
RBR
RB
RBI
TBR
TB
TBI
TSB
SVBR
RVBR
TVBR
SRM
R
B
BX
D,DX
IM
R
B
BX
D,DX
IM
R
D,DX
IM
R
D,DX
IM
R
D,DX
I,IX
R
D,DX
I,IX
R
D,DX
I,IX
D,DX
R
R
R
D,DX
E1
3X
4X F
E0
4A 8
E3
3X
4X E
E2
4A 7
E5
E4
4A 9
E7
E6
4A B
51
50
52
54
53
55
57
56
58
59
5A
5C
5E
97
1
2
2
3
2
1
2
2
3
2
1
3
2
1
3
2
1
4
5
1
4
5
1
3
4
2
1
1
1
4
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2.5a
0
0
0
1
JC
JCI
JS
SOJ
BR
BEZ
BLT
BEX
BLE
D,DX
I,IX
D,DX
D,DX
ICR
ICR
ICR
S
ICR
70
71
72
73
74
75
76
77
78
3a
3.5a
2
3a
2
2a
2a
11
2a
0
0
1
0
1
0
0
14
0
ICR
ICR
ICR
79
7A
7B
2a
2a
2a
0
0
0
Jump to Subroutine
Subtract One and Jump
Branch Unconditionally
Branch if Equal to (Zero)
Branch if Less than (Zero)
Branch to Executive
Branch if Less than or Equal to
(Zero)
Branch if Greater than (Zero)
BGT
Branch if Not Equal to (Zero)
BNZ
Branch if Greater than or Equal to BGE
(Zero)
Figure 20a (continued): Instruction Summary
17/42
MA31750
OPERATION
EXTENDED PRECISION
Extended-Precision FloatingPoint Load
Extended-Precision FloatingPoint Store
Floating-Point Absolute Value of
Register
Floating-Point Negate Register
Floating-Point Compare
Extended-Precision FloatingPoint Compare
Floating-Point Add
Extended-Precision FloatingPoint Add
Floating-Point Subtract
Extended-Precision FloatingPoint Subtract
Floating-Point Multiply
Extended-Precision FloatingPoint Multiply
Floating-Point Divide
Extended-Precision FloatingPoint Divide
STACK
Stack IC and Jump to Subroutine
Unstack IC and return from
Subroutine
Pop Multiple registers off the
Stack
Push Multiple Registers onto the
Stack
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
EFL
D,DX
8A
5
0
EFST
D,DX
9A
5
0
FABS
R
AC
1
2wa
FNEG
FCR
FCB
FCBX
FC
EFCR
R
R
B
BX
D,DX
R
BC
F9
3X
4X D
F8
FB
1
1
3
3
4
1
3wa
3.7wa
3.7wa
3.7wa
3.7wa
4wa
EFC
FAR
FAB
FABX
FA
EFAR
D,DX
R
B
BX
D,DX
R
FA
A9
2X
4X 8
A8
AB
5
1
3
3
4
1
2wa
7wa
8.5wa
8.5wa
8.5wa
21wa
EFA
FSR
FSB
FSBX
FS
EFSR
D,DX
R
B
BX
D,DX
R
AA
B9
2X
4X 9
B8
BB
5
1
3
3
4
1
20wa
9wa
10wa
10wa
9wa
23wa
EFS
FMR
FMB
FMBX
FM
EFMR
D,DX
R
B
BX
D,DX
R
BA
C9
2X
4X A
C8
CB
5
1
3
3
4
1
22wa
1
2
2
1
33wa
EFM
FDR
FDB
FDBX
FD
EFDR
D,DX
R
B
BX
D,DX
R
CA
D9
2X
4X B
D8
DB
5
1
3
3
4
1
32wa
42.8wa
43.8wa
43.8wa
42.8wa
112.6wa
EFD
D,DX
DA
5
112.6wa
SJS
URS
D,DX
S
7E
7F
3
3
1
1
POPM
S
8F
PSHM
5
9F
1+n (n=0 to 4
15)
1+n (n=0 to 8
15)
Figure 20a: Instruction Summary
18/42
MA31750
OPERATION
CONVERT
Convert Floating-Point to 16-Bit
Integer
Convert 16-Bit Integer to
Floating-Point
Convert Extended-Precision
Floating-Point to 32-Bit Integer
Convert 32-Bit Integer to
Extended-Precision FloatingPoint
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
FIX
R
E8
1
7.1a
FLT
R
E9
1
3
EFIX
R
EA
1
8.5a
EFLT
R
EB
1
9
R
R
R
R
R
R
R
R
R
R
60
61
62
63
65
66
67
68
6A
6B
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
2
5a
R
R
6C
6D
1
1
2
2
R
6E
1
5
R
6F
1
2
XIO**
VIO**
IM,IMX
D,DX
48
49
3
***
4.3a
***
MOV
S
93
1+2n
7
XWR
LST**
LSTI**
NOP
BPT
R
D,DX
I,IX
S
S
ED
7D
7C
FF 00
FF FF
1
6
7
1
1
2
1
1
2
6
SHIFT
Shift Left Logical
SLL
Shift Right Logical
SRL
Shift Right Arithmetic
SRA
Shift Left Cyclic
SLC
Double Shift Left Logical
DSLL
Double Shift Right Logical
DSRL
Double Shift Right Arithmetic
DSRA
Double Shift Left Cyclic
DSLC
Shift Logical, Count in Register
SLR
Shift Arithmetic, Count in
SAR
Register
Shift Cyclic, Count in Register
SCR
Double Shift Logical, Count in
DSLR
Register
Double Shift Arithmetic, Count in DSAR
Register
Double Shift Cyclic, Count in
DSCR
Register
I/O (See I/O Command
Summary)
Execute I/O
Vectored I/O (n transfers)
SPECIAL
Move Multiple Words, Memoryto-memory (n-words moved)
Exchange Words in Registers
Load Status
No Operation
Break Point
Figure 20a (continued): Instruction Summary
19/42
MA31750
OPERATION
Mnem.
Format
Opcode
(Ext)
Memory
cycles
Internal
Cycles
LSL
LDL
LEFL
S
S
S
CC
CD
CE
3
4
5
11
20
27
LSS
LDS
LEFS
S
S
S
DC
DD
DE
4
6
8
9
16
23
UAR
UA
USR
US
UCR
UC
UCIM
R
D,DX
R
D,DX
R
D,DX
IM
AD
AE
BD
BE
FC
FD
4A 0
1
3
1
3
1
3
2
4
4
4
4
5
5
5
BYTE LOADS AND STORES
Load Byte
Load Byte With Increment
Store Byte
Store Byte With Increment
LBY
LBYI
SBY
SBYI
S
S
S
S
BF
AF
DF
CF
2
2
2
2
3
3
3
3
BIT OPERATION
Search First Bit Set
SFBS
R
95
1
3.75a
1750B MODE INSTRUCTIONS
The following instructions may
only be executed in 1750B mode
and are illegal in 1750A
'LONG' LOADS AND STORES
Long Load Single
Long Load Double
Long Load Extended Precision
Floating-Point
Long Store Single
Long Store Double
Long Store Extended Precision
Floating-Point
UNSIGNED ARITHMETIC
Unsigned Integer Add
Unsigned Integer Subtract
Unsigned Integer Compare
Notes:
a
wa
**
***
Average if more than one alternative exists.
Weighted average where data dependency exists.
Privileged instruction - illegal if PS≠0.
VIO execution time dependent on number and type of transfer.
Figure 20b: MIL-STD-1750B Instruction Summary
20/42
MA31750
5.4 I/O COMMAND SUMMARY
O pe ra t ion
Mne m
Code
Ext1
I mple me nt e d in CP U
1 7 5 0 A or B mode
Set Interrupt Mask
Clear Interrupt Request
Enable Interrupts
Disable Interrupts
Reset Pending Interrupt
Set Pending Interrupt Reg.
Write Output Discrete Reg.
Reset Normal Power Up Line
Write Status Word
Enable Start-Up ROM 3
Disable Start-Up ROM 3
Direct Memory Access Enable3
Direct Memory Access Disable3
Timer A Start
Timer A Halt
Output Timer A
Reset Trigger-Go
Timer B Start
Timer B Halt
Output Timer B
Read Interrupt Mask
Read Pending Interrupt Reg.
Read Output Discrete Reg.
Read Status Word
Read and Clear Fault Reg.
Input Timer A
Input Timer B
Read Memory Fault Status
SMK
CLIR
ENBL
DSBL
RPI
SPI
OD
RNS
WSW
ESUR
DSUR
DMAE
DMAD
TAS
TAH
OTA
GO
TBS
TBH
OTB
RMK
RPIR
RDOR
RSW
RCFR
ITA
ITB
RMFS
2000
2001
2002
2003
2004
2005
2008
200A
200E
4004
4005
4006
4007
4008
4009
400A
400B
400C
400D
400E
A000
A004
A008
A00E
A00F
C00A
C00E
A00D
No
No
No
No
No
No
Yes
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
No
No
No
No
No
G P S De f ine d X I O s
Set Fault Register
Load OAS register
Output Trigger-Go Reset Reg.
Write Page Bank Select
Read Fault Register (No clear)
Read Linkage Pointer
Read Processor Status
Read OAS register
Read Memory Fail Address
Read Memory Fail Page
Read Internal Config. Word
Run Built In Test
Input Trigger-Go Reset Reg.
Read External Configuration
SFR
LOS
OTGR
WPBS
RFR
RLP
RPS
ROS
RMFA
RMFP
ICW
BIT
ITGR
RCW
0401
0406
040E
200C
8401
8404
8405
8406
8407
8408
840C
840D
840E
8410
No
No
No
No
No
No
No
No
No
No
No
No
No
Yes
Implemented in CPU,
1750B mode only.
Output Timer A Reset Reg.
Output Timer B Reset Reg.
Input Timer A Reset Register 2
Input Timer B Reset Register 2
Set Fault Mask
Write Page Bank Select
Read Page Bank Select
Read Fault Mask
OTAR
OTBR
ITAR
ITBR
SFMK
WPBS
RPBS
RFMK
4002
400F
C002
C00F
2006
200F
A00C
A006
No
No
No
No
No
No
No
No
Implemented in BPU
Memory Protect Enable3
Load Memory Protect RAM 3
Read Memory Protect RAM 3
Load Ext Mem. Protect RAM 3,5
Read Ext. Mem. Protect RAM 3,5
MPEN
LMP
RMP
LXMP
RXMP
4003
50XX
D0XX
4XXX
CXXX
Yes
Yes
Yes
Yes
Yes
Implemented in MMU
Write Instruction Page Reg.3
Write Operand Page Reg. 3
Read Instruction Page Reg.3
Read Operand Page Reg. 3
WIPR
WOPR
RIPR
ROPR
51XY
52XY
D1XY
D2XY
Yes
Yes
Yes
Yes
CO
CC
CI
4000
8402
C000
Yes
Yes
Yes
PINIT
RNPU
WCW
WMCR
FMCR
0403 No
040A No
040C No
0400 Yes
A010 No
Implemented in Console
Console Data Output 4
Console Command 4
Console Data Input 4
6
Reserved by GPS
(Unavailable to the user)
Initialise Interrupt Logic
Set NPU
Write Internal config word
Write Memory Config. Reg.
FMCR
Spare
and
Output
04XX-1FXX
21XX-2fXX
30XX-3FXX
41XX-4FXX
53XX-7FXX
Reserved
Input
84XX-9FXX
A1XX-AFXX
B0XX-BFXX
C1XX-CFXX
D3XX-FFXX
Addresses
Spare
Reserved
Spare
Reserved
Spare
1 External
cycles output on the address bus
GPS defined 1750B XIO’s Reserved Addresses
3 Command illegal if device not implemented in config word
4 External cycle needing external ready generation
5 Only implemented in 1750B
6 The address 4001 and C001 are implemented but have no
effect in the 31750.
2
Figure 20c: Internal I/O Command Summary
21/42
MA31750
6. TIMING DIAGRAMS
4
Zero-waitstate Cycle
One Waitstate Cycle
CLKOUT
5
53
AS
1
2
A0-A15
3
AS0-3
PB0-3
57, 59
58, 60
RD/WN
O/IN
M/ION
8
9
8
9
DSN
RDN
WR
N
AAA
AAAAA
AAAAAAA AAAAAAAA AAA
6
Read data
D0-D16
Read data
7
10
RDY
N
42
11
DPAR
N
46
47
43
SNEW
Figure 21: Read Cycle Timings
22/42
MA31750
Zero-waitstate Cycle
One Waitstate Cycle
CLKOUT
4
5
53
AS
1
2
57, 59
58, 60
A0-A15
3
AS0-3
PB0-3
RD/WN
O/IN
M/ION
8
9
8
9
DSN
RDN
WRN
13
12
14
Write data from MA31750
D0-D16
15
Write data from MA31750
10
RDYN
46
47
11
SNEW
Note: Write data is guaranteed valid after DSN and WRN rise (timing 13)
Figure 22: Write Cycle Timings
23/42
MA31750
Wait 1
Wait 2
CLKOUT
AS
50
MPROEN
50
51
EXADEN
51
WRN
DSN
SNEW
Notes:
Diagram shows a WRITE cycle but is also applicable to READ cycles.
Cycle 'Wait 1' is introduced by MPROEN low.
Cycle 'Wait 2' is introduced by EXADEN low.
Strobes RDN/WRN and DSN are not asserted until faults are clear.
If either MPROEN or EXADEN remains low for two successive falling
edges of TCLK, the relevant fault is logged in the fault register.
Figure 23a: MPROEN and EXADEN Timings
CLKOUT
1
2
TCLK
Busfault timeout
occurs here.
AS
38
39
MPROEN
OR
EXADEN
54
BUSFAULTN
WRN
DSN
Strobes suppressed
SNEW
Notes:
Bus fault timeout occurs after two consecutive TCLK falling edges.
Strobes are suppressed for the duration of the erroneous cycle.
Normal operation resumes with the following cycle.
Figure 23b: Bus Fault Timeout
24/42
MA31750
GRANTN removed
Transfer
Bus released
CLK
20
AS
17
REQN
16
18
GRANTN
21
19
DSN
RDWN
OIN
MION
RDN
WRN
D0-16
A0-15
IO Pending
Transfer, bus locked
Transfer
CLKOUT
AS
23
REQN
GRANTN
26
26
LOCKN
DSN
RDWN
OIN
MION
RDN
WRN
D0-16
A0-15
23
Notes: Processor will drive busses and controls as soon as GRANTN is applied
LOCKN can be overriden by deasserting GRANTN
Figure 24: Bus Arbitration Timing
25/42
MA31750
Normal
Operation
Config
read
Reset
Normal
Operation
CLKOUT
27
RESET
N
28
32
CONFW
N
40
33
41
29
AS
O/IN
DSN
WRN
RDN
RDWN
M/ION
LOCKN
REQN
INTAKN
BUSFAULTN
TGON
29
31
30
SUREN
29
DMAE
30
NPU
30
46
SNEW
47
Figure 25: Reset Timing
26/42
MA31750
Normal
Operation
Internal
Cycles
Reset
Config
Read
CLKOUT
RESET
N
GRANTN
CONFW
N
24
23
AS
O/IN
DSN
WRN
RDN
RDWN
M/ION
LOCKN
SUREN
DMAE
NPU
SNEW
A[0:15]
PB[0:3]
AS[0:3]
D[0:16]
Figure 26: GRANTN during RESETN Low
27/42
MA31750
CLKOUT
35
Interrupt
36
Level-sensitive Interrupts
CLKOUT
37
DSN
61
Interrupt
FLT7N
SYSFN
FLT7N
SYSFN
Edge-sensitive Interrupts and
Asynchronously Captured Faults
AS
38
MPROEN
EXADEN
PEN
39
Pending
Interrupt
Level-sensitive Faults
Notes: A fault causes an internal Pending
Interrupt request shortly after the fault has been
latched into the fault register (on AS ↓)
Figure 27: External Interrupt and Fault Timing
CLKOUT
AS
48
49
SUREN
DMAE
40
40
41
41
CONFWN
DISCON
62
62
NPU
25
INTAKN
Figure 28: Discrete Timings
28/42
25
MA31750
TCLK
XIO GO completes
CLKOUT
COUNT
FFFF
16
FFFF
16
0000
16
0000
16
44
52
TGON
64
63
DTON
Note: TGON remains low until reset by XIO GO
Figure 29: Trigger Go Timing
CLKOUT
A[0:15]
8402 16
Console CMD
register CSN
45
CONREQN
Notes: Console CMD register CSN (Chip Select) is derived by decoding XIO CCMD
Figure 30: Console Request Timings
End of cycle
CLKOUT
43
DPARN
42
Figure 31: DPARN Timing
29/42
MA31750
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Parameter
ADDRESS valid to AS rising
ADDRESS valid after AS falling
CLKOUT low to ADDRESS valid
CLKOUT rising to AS rising
CLKOUT falling to AS falling
Data setup to RDN rising
Data hold after RDN rising
CLKOUT falling to DSN, RDN, WRN falling
CLKOUT falling to DSN, RDN, WRN rising
RDYN setup to CLKOUT falling
RDYN hold after CLKOUT falling
WRN falling to write data valid
Write data valid after WRN rising (Test Load 2)
DSN falling to data bus driven (write) (Test Load 2)
DSN rising to data bus hi-Z (write) (Test Load 2)
CLKOUT falling to REQN falling
CLKOUT falling to REQN rising
GRANTN setup to CLKOUT falling
GRANTN hold after CLKOUT falling
CLKOUT falling to control, strobes and busses hi-Z (GRANTN removed) (Test Load 2)
CLKOUT falling to control, strobes and busses hi-Z (GRANTN removed) (Test Load 2)
AS falling to control, strobes and busses hi-Z (GRANTN removed) (Test Load 2)
GRANTN falling to control, strobes and busses driven
GRANTN rising to control, strobes and busses undriven (RESETN = LOW)
CLKOUT falling to INTAKN changing
CLKOUT falling to LOCKN valid
RESETN low pulse width
RESETN low to strobes inactive (GRANTN = LOW)
RESETN high to strobes valid (GRANTN = LOW)
RESETN falling to DMAE, NPU low, SUREN high
RESETN rising to DMAE, SUREN, NPU initialized
RESETN rising to first bus cycle (configuration word read)
RESETN rising to CONFWN low
RESETN rising to first instruction fetch
Interrupt setup to CLKOUT rising (level sensitive)
Interrupt hold after CLKOUT rising (level sensitive)
Interrupt pulse width (edge-sensitive)
MPROEN/EXADEN/PEN setup to AS falling (MPROEN and EXADEN sampled on early time-out)
MPROEN/EXADEN/PEN hold after AS falling (MPROEN and EXADEN sampled on early time-out)
CLKOUT falling to CONFWN changing
CLKOUT falling to DISCON changing
DPARN setup to CLKOUT falling
DPARN hold after CLKOUT falling
TCLK falling to TGON low
CONREQN hold after Console Command Chip Selection
CLKOUT falling to SNEW rising
CLKOUT falling to SNEW falling
CLKOUT falling to SUREN/DMAE valid
CLKOUT falling to SUREN/DMAE invalid
MPROEN/EXADEN setup to CLKOUT falling (to insert early wait states)
MPROEN/EXADEN hold after CLKOUT falling (to insert early wait states)
CLKOUT falling to TGON rising (following XIO GO)
AS low pulse width
AS falling to BUSFAULTN valid
CLK rising to CLKOUT rising
CLK falling to CLKOUT falling
MION valid to AS rising
MION valid after AS falling
OIN/RDWN valid to AS rising
OIN/RDWN valid after AS falling
SYSFN/FLT7N setup to CLKOUT (at end of cycle)
CLKOUT falling to NPU changing
DTON setup to TCLK falling
DTON hold after TCLK falling
† This timing includes MA31751 Setup Cycles and Built In Test Cycles.
Mil-Std-883, Method 5005, Subgroups 9, 10, 11.
TL = Low CLK period (ns), TH = High CLK period (ns).
Test Conditions: Vdd = 5.0V ±10%, Temperature = -55oC to 125oC, Vil = 0.0V, Vih = Vdd.
Output loads: All test load 1 unless otherwise specified.
Output Threshold: 50% Vdd (Load 1), Vss+1V, Vdd-1V (Load 2).
Figure 32a: Timing Parameters for MA31750
30/42
Min.
TL-25
5
15
0
-5
-5
25
0
5
5
5
15
8
15
0
2
10
4
4
10
4
4
10
10
4
28
6
7
T31+16
15
20
10
5
15
2
8
10
5
5
4
4
4
4
40
0
20
0.5T-5
5
5
TL-20
1
TL-20
1
10
10
10
Max.
25
40
20
15
10
10
35
40
35
40
55
40
25
50
40
25
50
30
35
55
30
50
13960†
6
7
T31+16
25
45
45
3
30
30
30
30
80
0.5T+10
45
25
25
25
25
30
-
Units
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
CLK
CLK
CLK
CLK
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
CLK
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
MA31750
0.5 Vdd/VDD/VSS
1kΩ
To output
under test
To output
under test
50pF
50pF
Test Load 1
Test Load 2
Figure 32b : Output Loads for AC measurements
8. TYPICAL SMALL SYSTEM CONFIGURATION
MPROEN
Interrupts
PS, AS
16
Memory Management
Unit (MMU) MA31751
4
Faults
8
DMA
Controller
8/11*
12
Processor
MA31750
Address bus
20/23*
Control
CONFWN
Memory
Subsystem
Configuration
tristatable latch
16
EDAC
MA31752/
MA31755
Data bus
*1750A/1750B mode
Figure 33: Typical Small System Configuration
A Single Board Computer is available to developers. Please call GPS for details.
31/42
MA31750
9. RATING AND CHARACTERISTICS
Parameter
Min.
Max.
Units
Supply voltage
Input voltage
-0.5
7
V
-0.3
VDD+0.3
V
Current through any I/O pin
Operating temperature
-20
20
-55
125
mA
oC
Storage temperature
-65
150
oC
Note: Stresses above those listed may cause permanent
damage to the device. This is a stress rating only and
functional operation of the device at these conditions, or at any
other condition above those indicated in the operations section
of this specification, is not implied. Exposure to absolute
maximum ratings for extended periods may affect device
reliability.
Figure 34: Absolute Maximum Ratings
P a ra me t e r
Clock Frequency (CLK)
TCLK Frequency
Min.
0
0
Recommended Clock duty cycle
45
† MIL-STD-1750 mandates that TCLK be 100kHz
Vdd=5V±10% over full operating temperature range
Mil-Std-883, method 5005, subgroups 7, 8A, 8B
Ma x
16
f CLK / 9 †
Unit s
MHz
Hz
55
%
Figure 35: Operating AC Electrical Characteristics
S y mbol
VDD
P a ra me t e rs
Supply voltage
Condit ions
-
Tot a l dos e ra dia t ion not
e x c e e ding 3 x 1 0 5 Ra d( S i)
Min
Ty p
Ma x
4.5
5.0
5.5
Unit s
V
VIH
Input high voltage
-
80% VDD
-
-
V
VIL
Input low voltage
-
-
-
20% VDD
V
VCKH
CLK & TCLK input high voltage
-
VDD-0.5
-
-
V
VCKL
CLK & TCLK input low voltage
-
-
-
VSS+0.5
V
VOH
Output high voltage
I OH=-3mA
VDD-0.5
-
-
V
VOL
Output low voltage
I OL=5mA
-
-
VSS+0.4
V
I IH
Input high current (Note 1)
-
-
-
10
µA
I IL
Input low current (Note 1)
-
-
-
-10
µA
I OZH
I/O tristate high current (Note 1)
-
-
-
50
µA
I OZL
I/O tristate low current (Note 1)
-
-
-
-50
µA
I DDYN
I DDS
Dynamic supply current @ 16MHz
-
-
-
80
mA
Static supply current
-
-
-
10
mA
Vdd=5V±10% over full operating temperature range
Mil-Std-883, method 5005, subgroups 1, 2, 3
Note 1: Guaranteed but not tested at low temperature (-55°C)
Figure 36: Operating DC Electrical Characteristics
32/42
MA31750
Subgroup
1
2
3
7
8A
8B
9
10
11
Definition
Static characteristics specified in Table 36 at +25°C
Static characteristics specified in Table 36 at +125°C
Static characteristics specified in Table 36 at -55°C
Functional characteristics specified in Table 35 at +25°C
Functional characteristics specified in Table 35 at +125°C
Functional characteristics specified in Table 35 at -55°C
Switching characteristics specified in Table 32a at +25°C
Switching characteristics specified in Table 32a at +125°C
Switching characteristics specified in Table 32a at -55°C
Figure 37: Definition of MIL-STD-883, Method 5005 Subgroups
Static Idd (uA)
1000
800
600
400
200
5
4
3
2
1
0
0
Input Voltage (V)
Figure 38: Input Characteristic
10. PIN DESCRIPTIONS
A description of each pin function appears in Figure 39.
The acronym is presented first, followed by its function and
description. Timing characteristics of each of the functions are
shown in section 6.
All signals - with the exception of CLK and TCLK are
CMOS compatible, and are protected by an Electrostatic
Discharge (ESD) protection circuit. All output signals are also
TTL compatible. CLK and TCLK are Schmitt inputs.
Throughout this data sheet, active low signals are denoted
by following the signal name with an “N” suffix, e.g.,DSN. If a
signal has a dual function, both function names will be used
separated by a “/”. The function name to the left of the “/” will be
active high while the function to the right will be active low,
again with an “N” suffix, e.g., RD/WN.
All unused inputs should be connected to their inactive
state and should not be allowed to float.
33/42
MA31750
P in Na me
Func t ion
De s c ript ion
P O WE R
VDD
GND
Power Supply
Ground
DC power supply input - nominally +5V.
0V reference point.
CLO CK S I G NALS
CLK
System Clock
CLKOUT
TCLK
Schmitt Input clock signal.
For correct operation of the timers the CLK frequency should be at least 9 times that of
TCLK.
Clock Out
Buffered reference clock derived directly from the internal clock. This signal is used to
reference all of the external strobes and internal timing events and may be used to
synchronise an external system to the processor.
Timer Clock
This Schmitt input clock is used by the internal 16-bit timers A and B and by the Trigger-Go100kHz sq. wave counter. MlL-STD-1750 requires this signal to have a frequency of 100kHz.
S Y S TE M BUS E S
A00-A15
Address bus
A00 is MSB
D00-D16
Data bus
D00 is MSB
An active-high address bus which is input during bus cycles not assigned to this CPU. A00
is the most significant bit.
An active-high data bus which is tristate during bus cycles not assigned to this CPU. D00 is
the most significant bit. D16 is the optional parity check bit.
BUS CO NTRO L
AS
Address Strobe
Active HIGH
DSN
M/ION
RD/WN
O/IN
RDN
WRN
RDYN
This active-high bidirectional signal establishes the beginning and end of each bus cycle.
The trailing edge (high to low transition) is used to sample bus cycle-related faults into the
fault register. The leading edge guarantees that a valid address is on the address bus.
During cycles not assigned to this CPU the AS line is an input to allow the falling edge to
continue to latch bus cycle related faults into the fault register.
Data Strobe
This active-low signal indicates the presence of data on the system data bus. During a read
cycle DSN goes low to indicate that the processor is requesting data from the bus, whilst in
Active LOW
a write cycle DSN indicates that data is present on the bus. This signal is tristate in bus
cycles not assigned to this CPU.
Memory/IO Select This signal indicates whether the current bus cycle is accessing memory (high) or IO (low)
addressing space. This signal becomes valid shortly after the start of a machine cycle and
Memory=HIGH
remains valid throughout. M/ION becomes an input on cycles not assigned to the CPU to
IO=LOW
ensure that faults are latched into the correct bit of the fault register.
Read/Write
This signal indicates the direction of data transfer on the system data bus. Data is read in
Select.
by the processor when high, and written out when low. This signal becomes valid shortly
after the start of a machine cycle and remains valid throughout. RD/WN is tristate during
Read=HIGH
cycles not assigned to this CPU.
Write=LOW
Operand/Instruct This signal indicates whether the current bus cycle is accessing operand (high) or
Select.
instruction (low) addressing space. This signal becomes valid shortly after the start of a
machine cycle and remains valid throughout. O/IN is an input during cycles not assigned to
Operand=HIGH
this CPU, to ensure correct operation of the MFPR and the MFAR.
Instr.=LOW
Read Strobe.
This active-low output is asserted low with DSN during read cycles. It is driven high on the
same clock edge as that used by the processor to latch the input data. This signal is
Active LOW
tristate in bus cycles not assigned to this CPU.
Write Strobe.
This active-low output signal is asserted low with DSN during write cycles. The rising edge
should be used by the system to latch data from the data bus. This signal is tristate in bus
Active LOW
cycles not assigned to this CPU.
Ready.
This input signal allows the basic machine cycle of the processor to be extended to
accommodate slower peripheral or memory devices. Ready may be asserted high to add an
Active LOW
integer number of CLK cycles (wait states) to the machine cycle. The line must be asserted
low to allow processing to proceed. RDYN has no effect on cycles dedicated to internal
operations.
Not e : If RDYN is held high during two consecutive TCLK high-to-low transitions (with DSN
low), a bus timeout fault will occur and will be indicated in the appropriate bit in the fault
register. The occurrence of this fault will cause the state sequencer to terminate the
current machine cycle and begin the next. At the end of the current macro-instruction
execution will branch, unless masked, to the machine error interrupt (level 1) software
routine. The DTON signal may be used to override this feature.
Figure 39: Pin Descriptions
34/42
MA31750
P in Na me
Func t ion
BUS ARBI TRATI O N
LOCKN
Bus Lock
Request.
Active LOW
REQN
Bus Request.
Active LOW
GRANTN
Bus Grant.
Active LOW
I NTE RRUP TS
PWRDN
Power-Down
Interrupt.
Active LOW
Interrupt Inputs.
INT02N,
INT08N,
Active LOW
INT10N,
INT11N,
INT13N,
INT15N
IOI1N, IOI2N
INTAKN
FAULTS
MPROEN
Interrupt
Acknowledge
Strobe.
Active LOW
De s c ript ion
This active-low output signal indicates to the bus arbiter that the processor is performing an
atomic instruction which should not be interrupted. External bus accesses should be
denied whilst LOCKN is low. The CPU will lock the bus during read-modify-write instructions
such as DECM (Decrement Memory) and TSB (Test & Set Bit). LOCKN remains high during
non-locked cycles. This signal is tri-stated on cycles not assigned to this CPU.
Not e : LOCKN is advisory only - it may be ignored by the arbiter if neccessary.
This active-low output signal is driven low when the CPU requires the bus in the next cycle.
This signal may be used as an input to an external bus arbiter. The signal becomes invalid
once the CPU has started the requested cycle.
This active-low signal is asserted by an external bus arbiter to indicate that the CPU
currently has the highest priority bus request. The CPU will begin a bus cycle (if one is
pending) commencing with the next CPU clock cycle.
A low on this active low input will be captured in the PI register and sets Pending Interrupt 0.
This is the highest priority interrupt and cannot be masked or disabled.
A low on any of these active low inputs will be captured in the Pl register and will set
Pending Interrupt levels 2, 8, 10, 11, 13, and 15, respectively. Level 2 is the highest priority
user level, while level 15 is the lowest priority. These interrupts are maskable and can be
disabled. If edge sensitivity has been selected, interrupts will be captured on the falling
edge of the interrupt input, otherwise the interrupt will be latched by the falling edge of CLK
at the end of the machine cycle.
Not e : Interrupt levels 1, 3, 4, 5, 6, 7 and 9 are dedicated to internal machine interrupts.
A low on either input will set Pending Interrupt levels 12 or 14 respectively. These inputs
are level sensitive only and are captured by the falling edge of CLK at the end of a machine
cycle. These inputs can be masked and disabled.
This active-low output indicates the start of an interrupt service. When low, the processor
outputs the Linkage Pointer (LP) address to the system. The INTAKN signal may be used to
remove level-sensitive interrupt inputs: the current interrupt priority can be ascertained by
reading the address bus during the cycle in which this output is low.
Memory Protect
Fault.
Active LOW
A low on this input, sampled on falling AS, indicates that an execute protect or write
protect fault has been detected. Bit 0 of the fault register is set if this signal is applied
during a CPU cycle; bit 1 is set if the line goes low during a DMA cycle. Either condition sets
Pending Interrupt level 1. The CPU will prevent access to memory (by inhibiting strobe
production) whilst this input is LOW. See 3.4.7.1. To effectively use this feature, MPROEN
should be pulled low prior to the start of the next machine cycle.
PEN
Parity Error
A low on this active-low input, sampled on falling AS, informs the CPU that an external
parity error has occurred. Bit 2 (memory), 3 (IO) or 4 (DMA) of the Fault Register is set,
Active LOW
depending upon the type of transfer taking place. This asserts a level 1 Pending Interrupt.
EXADEN
External Address A low on this active-low input, sampled on falling AS, informs the CPU that an external
Error
address error has occurred. Bit 8 of the fault register is set if this signal goes low during a
memory cycle; bit 5 is set if the signal goes low during an IO cycle and bit 14 is set if a DMA
Active LOW
has control of the system. Either error condition asserts a level 1 pending interrupt. As with
MPROEN, the CPU will prevent access to memory (by inhibiting strobe production) whilst
this input is LOW. See 3.4.8.1
FLT7N
Fault Level 7
A low at any time on this active-low input sets bit 7 of the fault register, causing a level 1
pending interrupt. This fault is user- definable.
Active LOW
SYSFN
System Fault
A low at any time on this active-low input sets bits 13 and 15 of the fault register, causing a
level 1 pending interrupt. This fault is user definable.
Active LOW
BUSFAULTN Illegal address
This active-low output drops low if any bus-related fault (MPROEN, EXADEN or PEN) is
detected low or if the bus fault timeout circuit causes an interface timeout.
Active LOW
Figure 39 (continued): Pin Descriptions
35/42
MA31750
P in Na me
Func t ion
De s c ript ion
MMU CO NTRO L
AS[0:3]
Address State
Active HIGH
AS0 is MSB
PB[0:3]
This active-high bus indicates the current address state of the CPU. The value on this bus
is copied from the Status Word register within the CPU. These lines are inputs during bus
cycles not assigned to this CPU, so that the MFPR and the MFAR can store the relevant
failure information if a remote failure occurs.
Page Bank Select In 1750B mode, this active-high bus indicates the current CPU Page Bank. The value on
Active HIGH
this bus is copied from the Status Word register within the CPU. These lines are inputs
during bus cycles not assigned to this CPU, so that the MFPR and the MFAR can store the
PB0 is MSB
relevant failure information if a remote failure occurs.
DI S CRE TE S
CONFWN
Configuration
Register Read
Strobe
Active LOW
SNEW
Start of New
Cycle Strobe
Active HIGH
DISCON
Discretes Output
Strobe
Active LOW
DMAE
DMA Enable
Active HIGH
CONREQN
SUREN
NPU
TGON
DTON
DPARN
RESETN
This active-low output signal is driven low when the processor reads the external
configuration register. The line may be used as an output enable for this register. The
configuration register is read during initialisation and during the execution of a BPT
instruction to determine the system configuration.
This active-high output will be asserted high during the first phase of each machine cycle.
This active-low output will be asserted low by the processor during an XIO OD or XIO RDOR
command. It may be used as the enable signal for an external discrete output register.
This active-high output indicates that an external DMA device is enabled. It is disabled
(low) following reset and can be toggled under program control using XIO DMAE and XIO
DMAD, (if a DMA device is set as present in the configuration register).
Console Request This active-low input initiates and controls Console operation following the end of a 1750
instruction. Commands and data are passed to the processor in this mode via three
Active LOW
dedicated registers in IO space. Console operation takes precedence over Interrupts.
Start-Up-ROM
This active-low output indicates that start-up ROM is enabled. The signal is asserted low
Enable
following initialisation or by XIO ESUR. The signal remains asserted until removed with XIO
DSUR. When a start-up ROM is present on the system indicated in the configuration word,
Active LOW
this signal should be used to qualify its chip select or output enable such that the ROM
may be accessed only when SUREN is low.
Not e : Instruction pipelining must be considered in moving from Start-Up ROM to RAM.
See Section 4 on Software Considerations.
Normal Power-Up This output is asserted to indicate that the Built-ln-Test (BIT), performed on reset or powerDiscrete
up, has passed. The line is asserted low following an external reset and may also be reset
by software using the XIO RNS command.
Active HIGH
Trigger-Go Output This active-low output is asserted low whenever the Trigger-Go counter overflows (rolls
Discrete
over to 0000). It returns to the high state when the counter is reset by software (using the
XIO GO command).
Active LOW
Disable Timeout A low on this input will reset and disable the bus fault timeout circuit.
Active LOW
Disable Parity
A low on this input will reset and disable the on-chip parity verification.
Not e : Parity generation on write data is not disabled by this pin.
Active LOW
CPU reset
This active-low input should be asserted low to reset the processor. The low to high
transition will start the initialisation sequence which will perform a Built-In-Test (if
Reset=LOW
selected), initialising the processor in accordance with MIL-STD-1750 (see figures 2 and 3).
Figure 39 (continued): Pin Descriptions
36/42
MA31750
DSN
TCLK
MION
A0
A1
A3
A2
A4
A5
A6
A7
A8
A9
A10
A12
A11
A13
A14
GND
A15
CLK
AS
11. PIN ASSIGNMENTS AND OUTLINES
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12
11
33
CLKOUT
RDWN
34
10
OIN
35
9
DTON
RDN
36
8
TGON
WRN
GRANTN
37
38
7
6
NPU
SUREN
REQN
39
5
CONREQN
LOCKN
40
4
DMAE
RDYN
RESETN
41
3
DISCON
42
43
2
1
SNEW
D00
D01
D02
TOP VIEW
Pin 1 Index
DPARN
CONFWN
44
84
PB3
45
83
PB2
D03
46
82
PB1
D04
47
48
81
80
PB0
AS3
D05
D06
VDD
IOI2N
IOI1N
INT15N
INT11N
INT13N
INT10N
INT08N
INT02N
75
53
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
PWRDN
D10
BUSFAULTN
AS0
INTAKN
SYSFN
76
EXADEN
FLT7N
52
PEN
D09
MPROEN
77
D16
AS1
51
D14
D15
50
D08
D13
AS2
78
D12
79
D11
49
D07
Figure 40a: 84-Lead Flatpack - Package Style F
37/42
MA31750
Max
0.105
0.012
0.006
0.325
0.250
32
33
31 30
29 28 27
26
25
24 23 22
21
20 19 18 17
16
15 14
34
10
35
9
36
8
37
7
38
6
39
5
40
4
41
3
42
44
Pin 1
Index
83
46
82
47
81
48
80
49
79
50
78
51
77
52
76
55
56 57
58 59 60
61 62
63 64 65 66
67 68
69 70
71 72
1.167
1.138
NOTE: All dimensions shown in inches
Figure 40b: 84-Lead Flatpack - Package Style F
1.167
1.138
1
84
45
53
54
0.020
0.014
2
TOP
VIEW
43
38/42
13 12
11
75
73 74
Nom
0.050
MA31750
A
AA
A
A
B
C
D
E
BOTTOM
VIEW
F
G
H
J
A
AA
11
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
IOI2N
INT15N
INT13N
INT10N
PWRDN
INT08N
EXADEN
D16
D14
D13
D10
AS0
VDD
IOI1N
INT11N
INT02N
FLT7N
PEN
D15
D12
D11
B11
C1
C2
C5
C6
C7
C10
C11
D1
D2
D10
D11
E1
E2
E3
E9
E10
E11
F1
F2
F3
10
9
8
7
D08
AS1
INTAKN
BUSFAULTN
SYSFN
MPROEN
D09
D07
AS3
AS2
D06
D05
PB2
PB1
PB3
D01
D03
D02
SNEW
PB0
CONFWN
6
5
F9
F10
F11
G1
G2
G3
G9
G10
G11
H1
H2
H10
H11
J1
J2
J5
J6
J7
J10
J11
K1
4
3
2
A
K
L
1
D00
RESETN
D04
DISCON
DMAE
CONREQN
REQN
LOCKN
RDYN
SUREN
NPU
WRN
GRANTN
TGON
DPARN
A07
A08
A12
RDWN
RDN
DTON
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
L1
L2
L3
L4
L5
L6
L7
L8
L9
L10
L11
TCLK
MION
A02
A05
A04
A11
A14
CLK
DSN
OIN
CLKOUT
A00
A01
A03
A06
A09
A10
A13
A15
GND
AS
Figure 41a: 84-Pin Grid Array - Package Style A
39/42
MA31750
0.105 MAX
A
11
10
9
8
7
6
5
4
3
2
A
1
A
B
C
0.100
D
E
BOTTOM
VIEW
0.900
F
G
H
J
A
1.100
SQ
+/- .012
0.070 dia
AAAA
AAAA
AAAA
AAAA
A
K
L
0.050
+/-0.005
0.00
8
0.050
+/- 0.004
0.180
=/0.004
0.018
=/-0.002
Pin Detail
Pin 1 Index
Notes:
1.
represents gold plating 50 microns min.
over 100 microns nominal nickel.
2. All dimensions are in inches.
3. Default tolerances ±1% not less than 0.005
4. Ceramic is 92% Alumina.
Figure 41b: 84-Pin Grid Array - Package Style A
40/42
MA31750
12. RADIATION TOLERANCE
Total Dose Radiation Testing
For product procured to total dose radiation levels, each
wafer lot will be approved when all sample devices pass the
total dose radiation test.
The sample devices will be subjected to the total dose
radiation level (Cobalt-60 Source), defined by the ordering
code, and must continue to meet the electrical parameters
specified in the data sheet. Electrical tests, pre and post
irradiation, will be read and recorded.
Dynex Semiconductor can provide radiation testing
compliant with MIL STD 883 test method 1019, Ionizing
Radiation (Total Dose).
Total Dose (Function to specification)*
3x105 Rad(Si)
Transient Upset (Stored data loss)
5x1010 Rad(Si)/sec
Transient Upset (Survivability)
>1x1012 Rad(Si)/sec
Neutron Hardness (Function to specification)
>1x1015 n/cm2
Single Event Upset**
1x10-11 Errors/bit day
Latch Up
Not possible
* Other total dose radiation levels available on request
** Worst case galactic cosmic ray upset - interplanetary/high altitude orbit
Figure 42: Radiation Hardness Parameters
13. RELATED DOCUMENTATION
A number of Applications Notes are available to support
the information in this data sheets. Please call for details:
Application Note
Describes
No. 2
1750B Mode
No. 3
Use of Console Mode
No. 4
Use of Interrupts
No. 8
Use of VIO Instructions
No. 11
Bus Arbitration
No. 14
Use of NMA31750 Samples
No. 15
Pipelining Instructions
41/42
MA31750
14. ORDERING INFORMATION
Unique Circuit Designator
xMAx31750xxxxx
Device Iteration
QA/QCI Process
(See Section 9 Part 4)
Radiation Tolerance
S
R
Q
Test Process
(See Section 9 Part 3)
Radiation Hard Processing
100 kRads (Si) Guaranteed
300 kRads (Si) Guaranteed
Assembly Process
(See Section 9 Part 2)
Package Type
A
F
Pin Grid Array
Flatpack (Solder Seal)
Reliability Level
L
C
D
E
B
S
For details of reliability, QA/QC, test and assembly
options, see ‘Manufacturing Capability and Quality
Assurance Standards’ - SOS Handbook Section 9.
Rel 0
Rel 1
Rel 2
Rel 3/4/5/STACK
Class B
Class S
http://www.dynexsemi.com
e-mail: [email protected]
HEADQUARTERS OPERATIONS
DYNEX SEMICONDUCTOR LTD
Doddington Road, Lincoln.
Lincolnshire. LN6 3LF. United Kingdom.
Tel: 00-44-(0)1522-500500
Fax: 00-44-(0)1522-500550
DYNEX POWER INC.
Unit 7 - 58 Antares Drive,
Nepean, Ontario, Canada K2E 7W6.
Tel: 613.723.7035
Fax: 613.723.1518
Toll Free: 1.888.33.DYNEX (39639)
CUSTOMER SERVICE CENTRES
France, Benelux, Italy and Spain Tel: +33 (0)1 69 18 90 00. Fax: +33 (0)1 64 46 54 50
North America Tel: 011-800-5554-5554. Fax: 011-800-5444-5444
UK, Germany, Scandinavia & Rest Of World Tel: +44 (0)1522 500500. Fax: +44 (0)1522 500020
SALES OFFICES
France, Benelux, Italy and Spain Tel: +33 (0)1 69 18 90 00. Fax: +33 (0)1 64 46 54 50
Germany Tel: 07351 827723
North America Tel: (613) 723-7035. Fax: (613) 723-1518. Toll Free: 1.888.33.DYNEX (39639) /
Tel: (831) 440-1988. Fax: (831) 440-1989 / Tel: (949) 733-3005. Fax: (949) 733-2986.
UK, Germany, Scandinavia & Rest Of World Tel: +44 (0)1522 500500. Fax: +44 (0)1522 500020
These offices are supported by Representatives and Distributors in many countries world-wide.
© Dynex Semiconductor 2000 Publication No. DS3748-8 Issue No. 8.0 January 2000
TECHNICAL DOCUMENTATION – NOT FOR RESALE. PRINTED IN UNITED KINGDOM
Datasheet Annotations:
Dynex Semiconductor annotate datasheets in the top right hard corner of the front page, to indicate product status. The annotations are as follows:Target Information: This is the most tentative form of information and represents a very preliminary specification. No actual design work on the product has been started.
Preliminary Information: The product is in design and development. The datasheet represents the product as it is understood but details may change.
Advance Information: The product design is complete and final characterisation for volume production is well in hand.
No Annotation: The product parameters are fixed and the product is available to datasheet specification.
This publication is issued to provide information only which (unless agreed by the Company in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded
as a representation relating to the products or services concerned. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. The Company
reserves the right to alter without prior notice the specification, design or price of any product or service. Information concerning possible methods of use is provided as a guide only and does not constitute any
guarantee that such methods of use will be satisfactory in a specific piece of equipment. It is the user's responsibility to fully determine the performance and suitability of any equipment using such information and
to ensure that any publication or data used is up to date and has not been superseded. These products are not suitable for use in any medical products whose failure to perform may result in significant injury
or death to the user. All products and materials are sold and services provided subject to the Company's conditions of sale, which are available on request.
All brand names and product names used in this publication are trademarks, registered trademarks or trade names of their respective owners.
42/42