1991_16_bit_V Series_Microprocessor_Data_Book 1991 16 Bit V Series Microprocessor Data Book

User Manual: 1991_16_bit_V-Series_Microprocessor_Data_Book

Open the PDF directly: View PDF PDF.
Page Count: 1107

Download1991_16_bit_V-Series_Microprocessor_Data_Book 1991 16 Bit V-Series Microprocessor Data Book
Open PDF In BrowserView PDF
J6-BIT V-SERIES
MICROPROCESSOR DATA BOOK

NEe

NEe Electronics Inc.

NEe

1991
16-Bit V-Series Microprocessor
Data Book

May 1991
Document No. 50054-1
©1991 NEG Electronics Inc./Printed in the U.S.A.

No part of this document may be copied or reproduced in any form or by any means without the prior written
consent of NEC Electronics Inc. The information in this document is subject to change without notice. Devices sold
by NEC Electronics Inc. are covered by the warranty and patent indemnification provisions appearing in NEC
Electronics Inc. Terms and Conditions of Sale only. NEC Electronics Inc. makes no warranty, express, statutory,
implied, or by description, regarding the information set forth herein or regarding the freedom of the described
devices from patent infringement. NEC Electronics Inc. makes no warranty of merchantability or fitness for any
purpose. NEC Electronics Inc. assumes no responsibility for any errors that may appear in this document. NEC
Electronics Inc. makes no commitment to update or to keep current the information contained in this document.

NEe

ii

NEe
II
B

Selection Guides
Reliability and Quality Control

i6-Bit CPUs

i6-Bit Microcomputers

Peripherals for CPUs

Development Tools

II

Package Drawings

iii

NEe

iv

NEe

Contents

Section 1
Selection Guides

Section 2
Reliability and Quality Control (cont)

Single-Chip Microcomputers

1-3

Figure 6. NEC Quality and Reliability Targets

2-10

V-Series and RISC Microprocessors and
Peripherals

1-9

Appendix 1. Typical QC Flow

2-12

Appendix 2. Typical Reliability Assurance
Tests

2-15

Intelligent Peripheral Devices (IPD)

1-11

DSP and Speech Products

1-13

Appendix 3. New Product/Process Change
Tests

2-16

1-15
1-19
1-21
1-24
1-26
1-28

Appendix 4. Failure Analysis Flowchart

2-17

Development Tools for Micro Products
V-Series Microprocessors
75xxSeries Single-Chip Microcomputers
75xxx Series Single-Chip Microcomputers
78xx Series Single-Chip Microcomputers
782xx Series Single-Chip Microcomputers
783xx Series Single-Chip Microcomputers
DSP and Speech Products
PG-1500 Programming Adapters

1-30
1-32

Section 2
Reliability and Quality Control
Introduction

2-3

Built-In Quality and Reliability

2-3

Technology Description

2-3

Approaches to Total Quality Control

2-3

Implementation of Quality Control

2..,5

Reliability Testing

2-7

Life Distribution

2-7

Failure Distribution at NEC

2-7

Infant Mortality Failure'Screening

2-8

Long-Term Failure Rate

2-8

Accelerated Reliability Testing

2-8

Failure Rate Calculation/Prediction

2-9

Product/Process Changes

2-10

Failure Analysis

2-10

NECs Goals on Failure Rates

2-10

Summary and Conclusion

2-10

Figure 1. Quality Control System .Flowchart

2-5

Figure 2. New Product Development Flow

2-6

Figure 3. Electrical Testing and Screening

2-6

Figure 4. Reliability Life (Bathtub) Curve

2-7

Figure 5. Typical Reliability Test Results

2-9

Section 3
16-Bit CPUs
"PD70108 (V20), 70108H (V20H)
16-Bit Microprocessor:
High-Performance, ,CMOS

3a

"PD70116 (V30), 70116H (V30H)
16-Bit Microprocessor:
High-Performance, CMOS

3b

"PD70208 (V40)
8/16-Bit Microprocessor:
High-Integration, CMOS

3c

"PD70216 (V50)
16-Bit Microprocessor:
High-Integration, CMOS

3d

"PD70136 (V33)
16-Bit Microprocessor:
High-Speed, CMOS

3e

"PD70236 (V53)
16-Bit Microprocessor:
High-Speed, High-Integration, CMOS

3f

Section 4
16-Bit Microcomputers
"PD70320/70322 (V25)
16-Bit Microcomputers:
Single-Chip, CMOS

4a

"PD70330/70332 (V35)
16-Bit Microcomputers:
Advanced, Single-Chip, CMOS

4b

"PD70P322
16-Bit Microcomputer:
Single-Chip, CMOS,
With EPROM for V25N35 Modes

4c

v

NEe

Contents
Section 4
16-Bit Microcomputers (cont)

Section 5
Peripherals for CPUs (cont)

I'PD70325 (V25 Plus)
16-Bit Microcomputer:
High-Speed DMA, Single-Chip, CMOS

4d

I'PD70335 (V35 Plus)
16-Bit Microcomputer:
Advanced, High-Speed DMA,
Single-Chip, CMOS

4e

I'PD70327 (V25 Software Guard)
16-Bit Microcomputer:
Software-Secure, Single-Chip, CMOS

4f

I'PD70337 (V35 Software Guard)
16-Bit Microcomputer:
Software-Secure, Single-Chip, CMOS

49

I'PD79011
16-Bit Microcomputer:
Single-Chip, CMOS, With Bui It-In RTOS

4h

I'PD79021
16-Bit Microcomputer:
Single-Chip, CMOS, With Built-In RTOS

4i

5j

I'PD71 088
System Bus Controller

5k

I'PD71641
Cache Memory Controller

51

Section 6
Development Tools

,Section 5
Peripherals for CPUs
I'PD71 011
Clock Pulse Generator/Driver

5a

"PD71 037
Direct Memory Access (DMA) Controller

5b

I'PD71 051
Serial Control Unit

5c

I'PD71 054
Programmable Timer/Counter

5d

I'PD71 055
Parallel Interface Unit

5e

I'PD71 059
Interrupt Control Unit

5f

I'PD71 071
DMA Controller

59

I'PD71 082, 71083
8-Bit Latches

5h

I'PD71 084
Clock Pulse Generator/Driver

I'PD71 086, 71087
8-Bit Bus Buffer/Drivers

5i

CC70116
V-Series C Compi ler

6a

DDK-70320
Evaluation Board for V25 Microcomputer

6b

DDK-70330
Evaluation Board for V35 Microcomputer

6c

IE-70136
In-Circuit Emulator for pPD70136 (V33)
Microprocessor

6d

IE-70136-PC
In-Circuit Emulator for pPD70136 (V33)
Microprocessor

6e

IE-70208, IE-70216
In~Circuit Emulators for pPD70208 (V40) and
pPD70216 (V50) Microprocessors

6f

IE-70320
In-Circuit Emulator for pPD70320/70322 (V25)
Microcomputers

69

IE-70330
In-Circuit Emulator for pPD70330/70332 (V35)
Microcomputers

6h

RA70116
Relocatable Assembler Package for V20-V50
Microprocessors

6i

RA70136
Relocatable Assembler Package for V33
Microprocessor

6j

RA70320
Relocatable Assembler Package for V25N35
Microcomputers

6k

V25N35 MINI-IE Plus
In-Circuit Emulator

61

V40N50 MINI-IE
In-Circuit Emulator

vi

6m

NEe

Contents

Section 7
Package Drawings

Numerical Index
Device, I'PD

Package/Device Cross-Reference

7-3

18-Pin Plastic DIP

7-5

20-Pin Plastic DIP (300 mil)

7-5

20-Pin Plastic SOP (300 mil)

7-6

24-Pin Plastic DIP (600 mil)

7-6

28-Pin Plastic DIP (600 mil)

7-7

28-Pin PLCC

7-8

40-Pin Plastic DIP (600 mil)

7-8

44-Pin Plastic QFP (P44G-80-22)

7-9

44-Pin Plastic QFP (P44GB-80-3B4)

7-9

44-Pin PLCC

7-10

48-Pin Plastic DIP

7-11

52-Pin Plastic QFP

7-12

52-Pin PLCC

7-13

68-Pin PLCC

7-14

68-Pin Ceramic PGA

7-15

74-Pin Plastic QFP

7-16

80-Pin Plastic QFP

7-17

84-Pin PLCC

7-18

84-Pin Ceramic LCC

7-19

94-Pin Plastic QFP

7-20

120-Pin Plastic QFP

7-21

132-Pin Ceramic PGA

7-22

Addenda
I'PD70236 (V53)
16-Bit Microprocessor:
High-Speed, High-Integration,
CMOS

Addendum 1
(April 1991)

Section

70108, 70108H
70116, 70116H
70136

3a
3b
3e

70208
70216
70236

3c
3d
3f

70320
70322
70325

4a
4a
4d

70327
70330
70332

4f
4b
4b

70335
70337
70P322

4e
49
4c

71011
71037
71051

5a
5b
5c

71054
71055
71059

5d
5e
5f

71071
71082
71083

59
5h
5h

71084
71086
71087

5i
5j
5j

71088
71641
79011

5k
51
4h

79021

4i

V20, V20H
V25
V25 Plus

3a
4a
4d

V25 Software Guard
V30, V30H
V33

4f
3b
3e

V35
V35 Plus
V35 Software Guard

4b
4e
49

V40
V50
V53

3c
3d
3f

vii

Contents

viii

NEe

fttfEC

Selection Guides

1-1

II

NEe

Selection Gu ides

Section 1
Selection Guides

Part Numbering System

Single-Chip Microcomputers

1-3

V-Series and RISC Microprocessors and
Peripherals

1-9

Intelligent Peripheral Devices (IPD)

1-11

DSP and Speech Products

1-13

Development Tools for Micro Products
V-Series Microprocessors
75xx Series Single-Chip Microcomputers
75xxx Series Single-Chip Microcomputers
78xx Series Single-Chip Microcomputers
782xx Series Single-Chip Microcomputers
783xx Series Single-Chip Microcomputers
DSP and Speech Products
PG-1500 Programming Adapters

1-2

1-15
1-19
1-21
1-24
1-26
1-28
1-30
1-32

I'PD72001 L
I'P

o
72001

L

Typical microdevice part number
NEC monolithic si licon integrated circuit
Device type (D = digital MOS)
Device identifier (alphanumeric)
Package type (L = PLCC)

A part number may include an alphanumeric suffix
that identifies special device characteristics; for
example, J.lPD72001L-11 has an 11-MHz CPU clock
rating.

NEe

Single-Chip Microcomputers

4-Bit, Single-Chip CMOS Microcomputers; 75xx Series
Device
(,uPD)

Features

Clock
(MHz)

Supply
Voltage (V)

ROM (X8)

RAM (X4)

I/O

Package

7502(l502A

LCD controller/driver

0.41

2.5 to 6.0

2K

128

23

QFP

64

7503(l503A

LCD controller/driver

0.41

2.5 to 6.0

4K

224

23

QFP

64

7507

General-purpose

0.41

2.5 to 6.0

2K

128

32

DIP
SDIP
QFP

40
40
52

75078

General-purpose

0.5

2.2 to 6.0

2K

128

32

SDIP
QFP

40
44

7507H

General-purpose

4.19

2.7 to 6.0

2K

128

32

DIP
SDIP
QFP

40
40
52

7508

General-purpose

0.41

2.5 to 6.0

4K

224

32

DIP
SDIP
QFP

40
40
52

75088

General-purpose

0.5

2.2 to 6.0

4K

224

32

SDIP
QFP

40
44

7508H

General-purpose

4.19

2.7 to 6.0

4K

224

32

DIP
SDIP
QFP

40
40
52

t

Pins

75CG08

Piggyback EPROM

0.41

4.5 to 5.5

2K or4K

224

32

Ceramic DIP

40

75CG08H

Piggyback EPROM

4.19

4.5 to 5.5

2K or4K

224

32

Ceramic DIP

40

7027A

FIP controller/driver

0.61

2.7 to 6.0

2K

128

35

DIP
SDIP

42
42

7528A

FIP controller/driver

0.61

2.7 to 6.0

4K

160

35

DIP
SDIP

42
42

75CG28

Piggyback EPROM; FIP
controller/driver

0.5

4.5 to 5.5

4K

160

35

Ceramic DIP

42

7533

ND converter

0.51

2.7 to 6.0

4K

160

30

DIP
SDIP
QFP

42
42
44

75CG33

Piggyback EPROM; ND
converter

0.51

4.5 to 5.5

4K

160

30

Ceramic DIP

42

7537A

FIP controller/driver

0.61

2.7 to 6.0

2K

128

35

DIP
SDIP

42
42

7538A

FIP controller/driver

0.61

2.7 to 6.0

4K

160

35

DIP
SDIP

42
42

75CG38

Piggyback EPROM; FIP
controller/driver

0.5

4.5 to 5.5

4K

160

35

Ceramic DIP

42

7554

Serial I/O; external
clock or RC oscillator

0.71

2.5 to 6.0

1K

64

16

SDIP
SOP

20
20

7554A

Serial I/O; external
clock or RC oscillator

0.71

2.0 to 6.0

1K

64

16

SDIP
SOP

20
20

75P54

Serial I/O; external
clock or RC oscillator

0.71

4.5 to 6.0

1KOTPROM

64

16

SDIP
SOP

20
20

t Plastic unless ceramic (or cerdip) is specified.

1-3

II

"',:(;' ',' "':::_,'i~'~:~
NEC

Sing le'Ch i,p 'Microcomputers
4-Bit, Single-Chip CMOS Microcomputers; 75xxSeries
Device
(poP D)

" " Features

Clock
(MHz)

Supply
Voltage',(V)

ROM,{X8),

7564j7564A

Serial I/O; ceram ic
oscillator

' 0.71

2.7 to 6.0

1K

75P64

Serial I/O; ceramic
osciHator

0.71

4.5 to'6.0

7556

Comparator; external
clock or RC oscillator

0.71

7556A

Comparator; external
clock or RC oscillator

75P56

: :i . ~. ~
RAM (X4)

I/O

Package t

Pins

,64

15

' SOIP
SOP

1KOTPROM

64

15

SDIP
SOP

20"
20:

2.5 to 6.0

1K

64

20

SDIP
SOP

24
24

0.71

2.0 to 6.0

1K

64

20

SDIP
SOP

24
24

Comparator; external
clock or RC oscillator

0.71

4.5 to 6.0

1KOTPROM

64

20

SDIP
SOP

24
24

7566j7566A

Comparator; ceramic
oscillator

0.71

2.7 to 6.0

1K

64

19

SDIP
SOP

24
24

75P66

Comparator; ceramic
oscillator

0.71.

4.,5 ,to 6.0

1KOTPFlOM

64

19

SDIP
SOP,"

24
,24

20
20

t Plastic unless ceramic (or cerdip) is specified.

4-Bit, Sing Ie-Chip CMOS Microcomputers; 75xxx Series
Device (p.PD)

Features

Clock
(MHz)

Supply
Voltage

ROM (X8)

RAM (X4)

1/0

Package t·

75004

General-purpose

4.19

2.7 to 6.0

4K

512

34

SDIP
QFP

42
44

75006

General-purpose

4.19

2.7 to 6.0

6K

512

34

-SDIP
QFP'

42
44

75008

General-purpose

4.19

2.7 to 6.0

8K

512

34

' SDIP
, QFP

42
44

75P008

General-purpose; onchip OTPROM

4.19

4.5 to 5.5

8KOTPROM

512

34

SDIP
QFP

42
44

75028

A/D c,onverter

4.19

2.7 to 6.0

8K

512

48

SDIP
QFP

64
64

75P036

A/D converter; on-chip
OTPROM

4.19

2.7 to 6.0

16KOTPROM

1024

48

SDIP
QFP

64
64

75048

A/D converter; 1K x 4
EEPROM

4.19

2.7 to 6.0

8K

512

48

SDIP
QFP

64
64

16K OTPROM

1024

48

SDIP
QFP

64
64

*

A/D converter; 1K x 4
4.19
2.7 to 6.0
EEPROM; on-chip
OTPROM
Under development; consult your NEC Sales Office for availability.

75P056

*

(V)

, Pins

75104

High-end with 8-bit
instruction

4.19

2.7 to 6.0

4K

320

"52

SDIP
QFP

64
64

75104A

High-end with 8-bit
instruction

4.19

2.7 to 6.0

4K

320

52

,QFP

64

75106

High-end with 8-bit
instruction

4.19

2.7 to 6.0

6K

320

52

SDIP
QFP

64
64

75108

High-end with 8-bit
instruction

4.19

2.7 to 6.0

8K

512

52

SDIP
QFP

64
64

75108A

High-end with 8-bit
instruction

4.19

2.7 to 6.0

8K

512

52

QFP

64

1-4

NEe
J,

.. :

,:.'

Sing1e-Ch ip Microcompu~ers

4-Bit, Single-Chip CMOS Microcomputers; 75XXX Series (cont)
Clock
(MHz)

Supply
Voltage (V)'

ROM(X8)

RAM (X4)

I/O

Package t

Pins

High-end with 8-bit
instruction; on-chip
OTPROM or UVEPAOM

A.19

4.5 to 5.5

8KOTPROM

512

52

SDIP
QFP.

64
64

8K UVEPROM

512

52

Shrink cerdip

64

75P1088

High-end with 8-bit
instruction; on-chip
OTPROM

4.19

2.7 to 6.0

8KOTPROM

512

52

SDIP
QFP

64
64

75112

High-end with 8-bit
instruction

4.19

2.7 to 6.0

12K

512

52

SDIP
QFP

64
64

75116

High-end with 8-bit
instruction

4.19

2.7 to 6.0

16K

512

52

SDIP
QFP

64
64

75P116

High-end with 8-bit
instruction; on-chip
OTPROM

4.19

4.5 to 5.5

16KOTPROM

512

52

SDIP
QFP

64
64

75206

FIP controller/driver

4.19

2.7 to 6.0

6K

369

28

SDIP
QFP

64
64

75208

FIP controller/driver

4.19

2.7 to 6.0

8K

497

28

SDIP
QFP

64
64

75CG208

FIP controller/driver;
piggyback EPROM

4.19

4.5 to 5.5

8K

512

28

Ceramic SDIP
Ceramic QFP

64
64

75212A

FIP controller/driver

4.19

2.7 to 6.0

12K

512

28

SDIP
Q,FP

64
64

75216A

FIP controller/driver;
on-chip OTPAOM

4.19

2.7 to 6.0

16K

512

28

SDIP
QFP

64
64

75CG216A

FIP c<>ntroller/driver;
piggYQack EPROM

4.19

4.5 to 5.5

16K

512

28

Ceramic SDIP
Ceramic QFP

64
64

75P216A

FIP controller/driver;
on-chip OTPROM

4.19

4.5 to 5.5

16KOTPROM

512

28

SDIP

64

75217

FIP controller/driver

4.19

2.7 to 6.0

24K

768

28

SDIP
QFP

64
64

75P218

FIP cOntroller/driver;
on-chip OTPROM or
UVEPROM

4.19

2.7 to 6.0

?2KOTPROM

1024

28

SDIP
QFP

64
64

32KUVEPROM

1024

28

Ceramic LCC

64

75268

FIP controller/driver

4.19

2.7 to 6.0

8K

512

28

SDIP
QFP

64
64

75304

LCD controller/driver

4.19

2.7 to 6.0

4K

512

32

QFP

80

75306

LCD controller/driver

4.19

2.7 to 6.0

6K

512

32

QFP

80

75308

LCD controller/driver

4.19

2.7 to 6.0

8K

512

32

QFP

80

75P308

LCD controller/driver;
on-chip OTPROM or
UVEPROM

4.19

4.75 to 5.25

8KOTPROM

512

32

QFP

80

8K UVEPROM

512

32

Ceramic LCC

80

75312

LCD controller/driver

4.19

2.7 to 6.0

12K

512

32

QFP

80

75316

LCD controller/driver

4.19

2.7 to 6.0

16K

512

32

QFP

80

75P316

LCD controller/driver;
on-chip OTPROM

4.19

4.75 "to 5.25

16KOTPROM

512

32

QFP

80

75P316A

LCD controller/driver;
on-chip OTPROM or
UVEPROM

4.19

2.7 to 6.0

16KOTPROM

512

32

QFP

80

16K UVEPROM

512

32

Ceramic LCC

80

Device

(~PD)

75P108

Features

'

,.

1-5

II

NEe

Single.. Chip Microcomputers
4-Bit, Single-Chip CMOS Microcomputers; 75xxx Series (cont)
Clock
(MHz)

Supply
Voltage

ROM (X8)

RAM (X4)

I/O

Package

LCD controller/driver;
AID converter

4.19

2.7 to 6.0

8K

512

36

QFP

80

75P328

LCD controller/driver;
AID converter; on-chip
OTPROM

4.19

4.5 to 5.5

8KOTPROM

512

36

QFP

80

75402A

Low-end

4.19

2.7 to 6.0

2K

64

22

DIP
SDIP
QFP

28
28

75P402

Low-end; on-chip
OTPROM

4.19

4.5 to 5.5

2KOTPROM

64

22

DIP
SDIP
QFP

28
28

75512

High-end; AID
converter

4.19

2.7 to 6.0

12K

512

64

QFP

80

75516

High-end; AID
converter

4.19

2.7 to 6.0

16K

512

64

QFP

80

75P516

High-end; AID
converter; on-chip
OTPROM or UVEPROM

4.19

4.75 to 5.5

16KOTPROM .

512

64

QFP

80

16KUVEPROM

512

64

Ceramic LCC

80

Device (~PD)

Features

75328

(V)

t

Pins

44

44

t Plastic unless ceramic (or cerdip) is specified.

a-Bit, Sing le-Chip CMOS Microcomputers; 78xx Series
Device (~PD)

Features

Clock
(MHz)

Supply
Voltage

ROM (X8)

RAM (X4)

1/0

Package

78C10178C10A

CMOS; AID converter

15

4.5 to 5.5

External

256

32

QUIP
SDIP
QFP
PLCC

64
64
64
68

78C11178C11A

CMOS; AID converter

15

4.5 to 5.5

4K

256

40

QUIP
SDIP
QFP
PLCC

64
64
64
68

78C12A

CMOS; AID converter

15

4.5 to 5.5

8K

256

40

QUIP
SDIP
QFP
PLCC

64
64
64
68

78C14178C14A

CMOS; AID converter

15

4.5 to 5.5

16K

256

40

QUIP
SDIP
QFP
PLCC

64
64
64
68

78CP14

CMOS; A/D converter;
on-chip OTPROM or
UVEPROM

15

4.75 to 5.25

16KOTPROM

256

40

QUIP
SDIP
QFP
PLCC

64
64
64
68

16KUVEPROM

256

40

Ceramic QUIP
Shrink cerdip

64
64

(V)

t

Pins

78CG14

CMOS; AID converter;
piggyback EPROM

15

4.5 to 5.5

4K, 81<, or 16K

256

40

Ceramic QUIP

64

78C17

CMOS; AID converter

15

4.5 to 5.5

External

1024

40

QUIP
SDIP
QFP

64
64
64

1-6

NEe

Single-Chip Microcomputers

a-Bit, Single-Chip CMOS Microcomputers; 78xx Series (cont)
Device (l'PD)

Features

Clock
(MHz)

Supply
Voltage (V)

ROM (X8)

RAM (X4)

1/0

Package

78C18

CMOS; AID converter

15

4.5 to 5.5

32K

1024

40

QUIP
SDIP
QFP

64
64
64

78CP18

CMOS; AID converter;
on-chip OTPROM or
UVEPROM

15

4.75 to 5.25

32KOTPROM

1024

40

QUIP
SDIP
QFP

64
64
64

32K UVEPROM

1024

40

Ceramic LCC

64

t

Pins

t Plastic unless cerami.c (or cerdip) is specified.

8-Bit, Single-Chip CMOS Microcomputers; 782xx (K2) Series
Clock
(MHz)

Supply
Voltage (V)

ROM (X8)

RAM (X4)

1/0

Package

CMOS; AID converter;
advanced peripherals

12

4.5 to 5.5

8K

384

54

SDIP
QUIP
QFP
QFP
PLCC

64
64
64
74
68

78213

CMOS; AID converter;
advanced peripherals

12

4.5 to 5.5

External

512

54

SDIP
QUIP
QFP
QFP
PLCC

64
64
64
74
68

78214

CMOS; AID converter;
advanced peripherals

12

4.5 to 5.5

16K

512

54

SDIP
QUIP
QFP
QFP
PLCC

64
64
64
74
68

78P214

CMOS; AID converter;
advanced peripherals

12

4.5 to 5.5

16KOTPROM

512

54

SDIP
QUIP
QFP
QFP
PLCC

64
64
64
74
68

16K UVEPROM

512

54

Shrink cerdip

64

78220

CMOS; analog
comparator; large I/O

12

4.5 to 5.5

External

640

71

PLCC
QFP

84
94

78224

CMOS; analog
comparator; large 110

12

4.5 to 5.5

16K

640

71

PLCC
QFP

84
94

78P224

CMOS; analog
comparator; large 110

12

4.5 to 5.5

16KOTPROM

640

71

PLCC
QFP

84
94

78233

CMOS; real-time
outputs; AID and DIA
converters

12

4.5 to 5.5

External

640

64

QFP
QFP
PLCC

80
94
84

78234

CMOS; real-time
outputs; AID and DIA
converters

12

4.5 to 5.5

16K

640

64

QFP
QFP
PLCC

80
94
84

78237

CMOS; real-time
outputs; AID and DIA
converters

12

4.5 to 5.5

External

1024

64

QFP
QFP
PLCC

80
94
84

Device (l'PD)

Features

78212

t

Pins

1-7

..

NEe

Single-Chip Microcomputers
8-Bit, Single-Chip CMOS Microcomputers; 782xx (K2) Series (cont)
Clock
(MHz)

Supply
Voltage (V)

ROM (X8)

RAM (X4)

1/0

Package

CMOS; real-time
outputs; AID and D/A
converters

12

4.5 to 5.5

32K

1024

64

QFR
QFP
PLCC

80
94
84

78P238

CMOS; real-time
outputs; AID and D/A
converters

12

4.5 to 5.5

32KOTPROM

1024

64

QFP
QFP
PLCC

80
94
84

32K UVEPROM

1024

64

Ceramic LCC

94

78243

CMOS; AID converter;
EEPROM

12

4.5 to 5.5

External

512
512
EEPROM

54

SDIP
QFP
PLCC

64
64
68

78244

CMOS; AID converter;
EEPROM

12

4.5 to 5.5

16K

512
512
EEPROM

54

SDIP
QFP
PLCC

64
64
68

Device ("PD)

Features

78238

t

t

Pins

Plastic unless ceramic (or cerdip) is specified.

8/16-Bit, Sing Ie-Chip CMOS Microcomputers; 783xx (K3) Series
Device
(!1PD)

Features

Clock
(MHz)

Supply
Voltage (V)

ROM (X8)

RAM (X4)

1/0

Package

78310A

Real-time motor control

12

4.5 to 5.5

External

256

48

SDIP
QUIP
QFP
PLCC

64
64
64
68

78312A

Real-time motor control

12

4.5 to 5.5

8K

256

48

SDIP
QUIP
QFP
PLCC

64
64
64
68

78P312A

Real-time motor control

12

4.5 to 5.5

8K UVEPROM

256

48

Shrink cerdip
Ceramic QUIP

64
64

8K OTPROM

256

48

SDIP
QUIP
QFP
PLCC

64
64
64
68

t

Pins

78320

High-end; advanced
analog and digital
peripherals

16

4.5 to 5.5

External

640

55

QFP
PLCC

74
68

78322

High-end; advanced
analog and digital
peripherals

16

4.5 to 5.5

16K

640

55

QFP
PLCC

74
68

78P322

High-end; advanced
analog and digital
peripherals

16

4.5 to 5.5

16KOTPROM

640

55

QFP
PLCC

74
68

16K UVEPROM

640

55

Ceramic LCC
Ceramic LCC

68
74

78330

CMOS; real-time pulse
unit

16

4.5 to 5.5

External

768

70

QFP
PLCC

94
84

78334

CMOS; real-time pulse
unit

16

4.5 to 5 ..5

32K

768

70

QFP
PLCC

94
84

78P334

CMOS; real-time pulse
unit

16

4.5 to 5.5

32KOTPROM

768

70

QFP
PLCC

94
84

32K UVEPROM

768

70

Ceramic LCC

84

1-8

NEe

V-Series and RiSe Microprocessors and Peripherals

V-Series CMOS Microprocessors
Device,
poPD

Features

Data Bits

Clock (MHz)

Packaget

Pins

70108 (V20)

8088 compatible; enhanced

8/16

8 or 10

DIP
Ceramic DIP
QFP
PLCC

40
40
52
44

70108H (V20H)

Fully static; pin compatible with 80C88
enhanced microprocessor

8/16

10,12,16

DIP
QFP
PLCC

40
52
44

70116 (V30)

8086 compatible; enhanced

16

8 or 10

DIP
Ceramic DIP
QFP
PLCC

40
40
52
44

70116H (V30H)

Fully static; pin compatible with 80C86
enhanced microprocessor

16

10,12,16

DIP
QFP
PLCC

40
52
44

70208 (V40)

MS-DOS, V20 compatible CPU with peripherals

8/16

8 or 10

Ceramic PGA
PLCC
QFP

68
68
80

70208H (V 40H)

Fully static; low power; 80C88 compatible CPU
plus peripherals

8/16

10,12,16

Ceramic PGA
PLCC
QFP

68
68
80

70216 (V50)

MS-DOS, V30 compatible CPU with peripherals

16/16

8 or 10

PGA
PLCC
QFP

68
68
80

70216H (V50H)

Fully static; low power; 80C88 compatible CPU
plus peripherals

16

10,12,16

Ceramic PGA
PLCC
QFP

68
68
80

70136 (V33)

Hardwired, enhanced V30

8 and 16
dynamic

12 or 16

PGA
PLCC

68
68

70236 (V53)

V33 core-based; high-integration; DMA, serial
I/O, interrupt controller, etc.

8 and 16
dynamic

10,12,16

Ceramic PGA
QFP

132
120

70320 (V25)

MS-DOS compatible microcontroller; highintegration; DMA, serial I/O, interrupt controller,
etc.

8/16

50r8

PLCC
QFP

84
94

70330 (V35)

MS-DOS compatible microcontroller; highintegration; DMA, serial I/O, interrupt controller,
etc.

16

8

PLCC
QFP

84
94

70325 (V25 Plus)

MS-DOS compatible microcontroller; highintegration; high-speed DMA

8/16

8 or 10

PLCC
QFP

84
94

70335 (V35 Plus)

MS-DOS compatible microcontrol/er; highintegration; high-speed DMA

16

8 or 10

PLCC
QFP

84
94

70327 (V25
Software Guard)

MS-DOS compatible microcontrol/er; highintegration; software protection

8/16

8

PLCC
QFP

84
94

70337 (V35
Software Guard)

MS-DOS compatible microcontroller; highintegration; software protection

16

8

PLCC
QFP

84
94

70423 (V55 SC)

V25 upward-compatible, high-integration
microcontroller with full synchronous serial
support and buffer management

8 and 16
dynamic

Ceramic PGA
PPGA
QFP

132
132
120

·12.5

t Plastic unless ceramic (or cerdip) is specified.

1-9

II

NEe

V -Series and RiSe Microprocessors and Peripherals
V-Series CMOS System Support Products
Device,
Data Bits

Clock (MHz)

Packaget

Pins

20

DIP
SOP

18
20

8

10

DIP
QFP
PLCC

40
40
44

Serial Control Unit

8

8/10

DIP
QFP
PLCC

28
44
28

71054

Programmable Timer/Controller

8

8/10

DIP
QFP
PLCC

24
44
28

71055

Parallel Interface Unit

8

8/10

DIP
QFP
PLCC

40
44
44

71059

Interrupt Control Unit

8

8/10

DIP
QFP
PLCC

28
44
28

71071

DMA Controller

8/16

8/10

DIP
Ceramic DIP
QFP
PLCC

48
48
52
52

71082

Transparent Latch

8

8

DIP
SOP

20
20

71083

Transparent Latch

8

8

DIP
SOP

20
20

71084

Clock Pulse Generator/Driver

25

DIP
SOP

18
20

71086

Bus Buffer/Driver

8

8

DIP
SOP

18
20

71087

Bus Buffer/Driver

8

8

DIP
SOP

20
20

71088

System Bus Controller

8/10

DIP
SOP

20
20

71101

Complex Peripheral Unit; serial, parallel, timer,
interrupt

8

10

QFP

120

~PD

Features

71011

Clock Pulse Generator/Driver

71037

Programmable DMA Controller

71051

71641

Cache Memory Controller

8/16/32

25

PGA

132

72291

Floating Point Coprocessor for V33/V53

16

16

PGA

68

9335

Numeric Interface Adapter for V40/V50 ... i8087

8

DIP

20

t Plastic unless ceramic (or cerdip) is specified.

RISC Microprocessors and Peripherals
Device

Name

Clock

Package

Pins

pPD30310 (VR3000A)

RISC Microprocessor

25, 33, 40 MHz

PGA

175

pPD30311 (VR3010A)

Floating-Point Processor

25, 33, 40 MHz

PGA

84

pPD31311

Bus Interface Unit

25,33 MHz

PGA

208

pPD46710

16K x 10-Bit x 2 SRAM

Access time: 12,15 20 ns

PLCC

52

pPD46741

8K x 20-Bit x 2 SRAM

Access time: 12, 15, 20 ns

PLCC

68

pPD30360 (V R3600)

RISC Microprocessor

25,33 MHz

PGA

189

1-10

NEe

Intelligent Peripheral Devices (IPD)

Communications Controllers
Maximum
Data Rate

Packaget

Pins

Dual full-duplex serial channels; four DMA
channels; programmable interrupt vectors;
asychronous COP and BOP support; NMOS

1 Mb/s

DIP

40

CMOS, Advanced
Multiprotocol Serial
Communications
Controller

Functional superset of 8530; 8086/V30
interface; two full-duplex serial channels; two
DPLLs; two baud-rate generators per channel;
loop back test mode; short frame and mark idle
detection; 12.5-MHz max clock

2.5 Mb/s

DIP
QFP
PLCC

40
52
52

72002

CMOS, Advanced
Multiprotocol Serial
Communications
Controller

Low-cost, single-channel version of 72001 ;
software compatible; direct interface to 71071/
8237 DMA controllers; 12.5-MHz max clock

2.5 Mb/s

DIP
QFP
PLCC

40
44
44

72103

CMOS, HDLC Controller

Single full-duplex serial channel; on-chip DMA
controller

4 Mb/s

SDIP
PLCC
QFP

64
68
80

Device,
~PD

Name

Description

7201 A

Multiprotocol Serial
Communications
Controller

72001-11

II

Graphics Controllers
Maximum
Drawing Rate

Package t

Pins

General-purpose, high-integration controller;
hardwired support for lines, arc/circles,
rectangles, and graphics characters; 1024x1024
pixel display with four planes

500 ns/dot

Ceramic DIP

40

Graphics Display
Controller

CMOS 7220A with 2M video memory; dual-port
RAM control; write-masking on any bit;
enhanced external sync

500 ns/dot

DIP
QFP

40
52

72120

Advanced Graphics
Display Controller

High-speed graphics operations including paint,
area fill, slant, arbitrary angle rotate, up to 16x
enlargement and reduction; dual-port RAM
control; CMOS

500 ns/dot

PLCC
QFP

84
94

72123

Advanced Graphics
Display Controller II

Enhanced 72120; expanded command set;
improved painting performance; laser printer
interface controls; CMOS

400 ns/dot

PLCC
QFP

84
94

Device,
~PD

Name

Description

7220A

Hig h-Per fo rm ance
Graphics Display
Controller

72020

Advanced Compression/Expansion Engine
Device,
~PD

Name

Description

Package t

Pins

72185

Advanced Compression/
Expansion Engine

High-speed CC ITT Group 3/4 bit-map image compression/expansion
(A4 test chart, 400 PPI x 400 LPI in under 1 second); 32K-pixelline
length; 32-megabyte image memory; on-chip DMA and refresh timing
generator; CMOS

SDIP
PLCC
QFP

64
68
80

t

Plastic unless ceramic (or cerdip) is specified.

1-11

NEe

Intelligent Peripheral Devices (IPO)
Floppy-Disk Controllers
Maximum
Transfer
Rate

Package t

Pins

Industry-standard controller supporting IBM
3740 and IBM System 34 double-density
format; enhanced 765B supports multitasking
applications

500 kb/s

DIP

40

Floppy-Disk Interface

Compatible with 765-family controllers and
others; supports multiple data rates from 125 to
500 kb/s

500 kb/s

SOP
SDIP

28
30

72064

Floppy-Disk Controller

CMOS. All features of 72068 with complete AT
register set and 48-mA drivers. Pin compatible
with WD 37C65/A/B but with higher
performance DPLL and reliable multitasking
operation

500 kb/s

PLCC
QFP

44
52

72065/65B

CMOS Floppy-Disk Controller

100% 765NB microcode compatible;
compatible with 808x microprocessor families

500 kb/s

DIP
PLCC
QFP

40
44
52

72067

Floppy-Disk Controller

CMOS; 765A/B microcode compatible clock
generation/switching circuitry; selectable write
precompensation; digital phase-locked loop

500 kb/s

DIP
PLCC
QFP

48
52
52

72068

Floppy-Disk Controller

All features of the 72067 plus IBM-PC, PC/XT,
PC/AT, or PS/2 style registers; high-current
drivers

600 kb/s

QFP
PLCC

80
84

72069

Floppy-Disk Controller

All features of the 72067/68 with substitution of
high-performance analog phase-locked loop for
digital PLL

1 Mb/s

PLCC
QFP

84
100

Device,
"PO

Name

Description

765A!B

Floppy-Disk Controller

71065/66

Hard-Disk Controllers
Device,
"PO

Name

Description

Maximum
Read/Write
Clock

Package t

Pins
40

7261A!B

Hard-Disk Controller

Supports eight drives in SMD mode, four drives
in ST506 mode; error correction and detection

23 MHz

Ceramic DIP

7262

Enhanced Small-Disk
Interface (ESDI)
Controller

Serial-mode ESDI compatible; controls up to
seven drives; supports up to 80 heads; hard
and soft-sector interfacing

18 MHz

Ceramic DIP

40

72061

CMOS Hard-Disk
Controller

Supports SMD/SMD-E and ST506/412 type
drives

24 MHz

DIP
QFP
PLCC

40
52
52

72111

Small Computer System
Interface (SCSI)
Controller

Selectable 8/16 data bus width; 16 high-level
commands including multiphase commands for
reduced CPU load; 5-Mb sync/async; CMOS

16 MHz

SDIP
PLCC
QFP

64
68
74

t

Plastic unless ceramic (or cerdip) is specified.

1-12

NEe

DSP and Speech Products

Digital Signal Processors
~PD

Description

Instruction
Cycle (ns)

Instruction
ROM (Bits)

Data ROM
(Bits)

Data RAM
(Bits)

77C20A

16-bit, fixed-point DSP; CMOS

244

512 x 23

510x 13

128 x 16

DIP
PLCC
SOP
PLCC

28
28
32
44

77P20

16-bit, fixed-point DSP; CMOS

244

512 x 23
UVEPROM

510x 13
UVEPROM

128 x 16

Cerdip

28

77C25

16-bit, fixed-point DSP; CMOS

122/100

2048 x 24

1024 x 16

256 x 16

DIP
PLCC
SOP
PLCC

28
28
32
44

77P25

16-bit, fixed-point DSP; CMOS

122/100

2048 x 24
OTPROM

1024 x 16
OTPROM

256 x 16

DIP
SOP
PLCC

28
32
44

2048 x 24
UVEPROM

1024 x 16
UVEPROM

256 x 16

Cerdip

28

Device,

Package

t

Pins

77220

24-bit, fixed-point DSP; CMOS

122/100

2048 x 32

1024 x 24

512 x 24

Ceramic PGA
PLCC

68
68

77P220L

24-bit, fixed-point DSP; CMOS

122/100

2048 x 32
OTPROM

1024 x 24
OTPROM

512 x 24

PLCC

68

77P220R

24-bit, fixed-point DSP; CMOS

122/100

2048 x 32
UVEPROM

1024 x 24
UVEPROM

512 x 24

Ceramic PGA

68

77230AR

32-bit, floating-point DSP; CMOS

150

2048 x 32

1024 x 32

1024 x 32

Ceramic PGA

68

77230AR-003

32-bit, floating-point DSP; CMOS;
standard library software

150

n/a

n/a

n/a

Ceramic PGA

68

77P230R

32-bit, floating-point DSP; CMOS

150

2048 x 32
UVEPROM

1024 x 32
UVEPROM

1024 x 32

Ceramic PGA

68

77240

32-bit, advanced, floating-point
DSP; CMOS

90

64Kx 32
external

n/a

16M x32
external

PGA

132

77810

16-bit fixed-point modem DSP;
CMOS

181

2048 x 24

1024 x 16

256 x 16

Ceramic PGA
PLCC

68
68

77811

Analog front end for 2400-b/s fullduplex modem

n/a

n/a

n/a

n/a

PLCC

44

77812

2400-b/s full-duplex modem
controller

181

n/a

n/a

256 x 16

PLCC
QFP

68
74

7281

Image pipelined processor; NMOS

5-MHz clock

n/a

n/a

512 x 18

Ceramic DIP

40

72181

Image pipelined processor; CMOS

10-MHz clock

n/a

n/a

512 x 18

DIP
QFP

40
68

9305

Support device for JlPD7281
processors; CMOS

10-MHz clock

n/a

n/a

n/a

Ceramic PGA

132

t

Plastic unless ceramic (or cerdip) is specified.

1-13

II

NEe

DSP and Speech Products

Speech Processors
Name

Technology

Bit Rate
(kb/s)

77C30

ADPCM Speech Encoder/Decoder

NMOS

32

7755

ADPCM Speech Synthesizer

CMOS

16, 20, 24, 32

7756

ADPCM Speech Synthesizer

CMOS

77P56

ADPCM Speech Synthesizer

7757

Device,

Packaget

Pins

DIP
PLCC

28
44

96K

DIP
SOP

18
24

16,20,24,32

256K

DIP
SOP

18
24

CMOS

16,20,24,32

256K
OTPROM

DIP
SOP

20
24

ADPCM Speech Synthesizer

CMOS

16,20,24,32

512K

DIP
SOP

18
24

7759

ADPCM Speech Synthesizer

CMOS

16, 20, 24, 32

1024K
external RAM

DIP
QFP

40
52

77501

Speech Recording and Reproducing LSI

CMOS

12,18,24

16M
external RAM

QFP

80

~PD

t Plastic unless ceramic (or cerdip) is specified.

1-14

Data ROM
(Bits)

NEe

Development Tools for Micro Products

V-Series Microprocessors
Device
(Note 1)

Full
Emulator

Full
Emulator
Probe

Relocatable
Assembler
(Note 13)

C Complier
(Note 14)

pPD70136GJ12

IE-70136A016

DDK-70136

RA70136

CC70136

pPD70136GJ16

EP-70136L-PC
(Note 2)

DDK-70136

RA70136

CC70136

IE-70136-PC

EP-70136L-PC

DDK-70136

RA70136

CC70136

EP-70136L-A

IE-70136-PC

EP-70136L-PC

DDK-70136

RA70136

CC70136

IE-70136A016

EP-70136L-A
(Note 3)

IE-70136-PC

EP-70136L-PC
(Note 3)

DDK-70136

RA70136

CC70136

pPD70136R-16

IE-70136A016

EP-70136L-A
(Note 3)

IE-70136-PC

EP-70136L-PC
(Note 3)

DDK-70136

RA70136

CC70136

pPD70208GF-

IE-7020BA010

(Note 12)

EB-V40MINIIE

EB-7020B

RA70116

CC70116

B
pPD70208GF10

IE-70208A010

(Note 12)

EB-V40MINIIE

EB-70208

RA70116

CC70116

pPD70208L-8

IE-70208A010

IE-700002958

EB-V40MINIIE

ADAPT68PGA
68PLCC (Note
4)

EB-70208

RA70116

CC70116

pPD70208L-10

IE-70208A010

IE-700002958

EB-V40MINIIE

ADAPT68PGA
6BPLCC
(Note 4)

EB-70208

RA70116

CC70116

pPD70208R-8

IE-70208A010

IE-700002959

EB-V40MINIIE

(Note 4)

EB-70208

RA70116

CC70116

pPD70208R-10

IE-70208A010

IE-700002959

EB-V40MINIIE

(Note 4)

EB-70208

RA70116

CC70116

pPD70216GF8

IE-70216A010

EP-70320J
(Note 12)

EB-V50MINIIE

EB70216

RA70116

CC70116

pPD70216GF10

IE-70216A010

EP-70320J
(Note 12)

EB-V50MINIIE

EB70216

RA70116

CC70116

pPD70216L-8

IE-70216A010

IE-700002958

EB-V50M INIIE

ADAPT68PGA
68PLCC (Note
4)

EB70216

RA70116

CC70116

pPD70216L-10

IE-70216A010

IE-700002958

EB-V50MINIIE

ADAPT68PGA
6BPLCC (Note

EB70216

RA70116

CC70116

pPD70216R-B

IE-70216A010

IE-700002959

EB-V50MINIIE

(Note 4)

EB70216

RA70116

CC70116

pPD70216R-10

IE-70216A010

IE-700002959

EB-V50MINIIE

(Note 4)

EB70216

RA70116

CC70116

pPD70236GD10

IE-70236-BX

EV-9500GD120
(Note 1B)

DDK-70236

RA70136

CC70136

pPD70236GD12

IE-70236-BX

EV-9500GD120
(Note 18)

DDK-70236

RA70136

CC70136

Mini-IE
Emulator

Mini-IE
Probe

Evaluation
Boards

EP-70136L-A
(Note 2)

IE-70136-PC

EP-70136L-PC
(Note 2)

IE-70136A016

EP-70136L-A
(Note 2)

IE-70136-PC

pPD70136L-16

IE-70136A016

EP-70136L-A

pPD70136L-12

IE-70136A016

pPD70136R-12

EPROM
Device

4)

1-15

II

ttiEC

Deve;lopment Tools for Micro Products
V-Series Microprocessors (cont)

Relocatable
Assembler
(Note 13)

C Complier
(Note 14)

DDK-70236

RA70136

CC70136

(Note 17)

DDK-70236

RA70136

CC70136

(Note 17)

DDK-70236

RA70136

CC70136

Full
Emulator
Probe'

Device
(Note 1)'

Full
Emulator

pPD70236GD16

IE-70236-BX

EV-9$00GD.
120
(Note 1S)

pPD70236A-10

IE-70236-BX

pPD70236A·
12

IE-70236-BX

RA70136

CC70136

RA70320

CC70116

IE-P

EP-70320GJ
(Note 5)

EB-V25MINI·
IE-P

EP-70320GJ
(Note 6)

DDK-70320

RA70320

CC70116

EP-70320L

EB-V25MINI·
IE-P

(Note 7)

DDK-70320

RA70320

CC70116

IE-70320AOOS

EP-70320L

EB-V25MINIIE-P

(Note 7)

DDK-70320

RA70320

CC70116

IE-70320~

EV-9500GJ94
(Note 16)

EB-V25MINIIE-P

EP-70320GJ
(Note 6)

DDK"70320

RA70320

CC70116

EB-V25MINIIE-P

EP-70320GJ

DDK-70320

RA70320

CC70116

EB-V25MINI~

(Note 7)

DDK~70320

70P322K
(Note 10)

RA70320

CC70116

EB·V25MINIIE-P

(Note 7)

DDK-70320

70P322K
(Note 10)

RA70320

CC70116

Ep-70320GJ
(Note 5)

IE-70320·
AOOS
IE~70320~

AOOS

pPD70322GJ

EPROM
Device

DDK-70320

(Note 17)

IE-70320AOOS

pPD70320L·S

Evaluation
Boards

DDK-70236

IE-70236-BX

pPD70320GJ

pPD70320L

Mini-IE
Probe

EP-70320GJ
(Note 6)

pPD70236A-16

pPD70320GJS

Mini-IE
Emulator

AOOS

EB-V25MINI~

pPD70322GJS

IE-70320·
AO.OS

EP-70320GJ

pPD70322L

IE-70320AOOS

(Note 15)

pPD70322L-S

IE-70320AOOS

(Note 15)

pPD70325GJ·
S

IE-70325-BX

EV-9500GJ94
. (Note 16)

EB-V25MINIIE-P

EP-70320GJ
(Note 6)

DDK-70325

RA70320

CC70116

pPD70325GJ·
10

IE-70325-BX
(Note S)

EV-9500GJ·
94
(Note 16)

EB-V25MINIIE-P

EP-70320GJ
(Note 6)

DDK·70325

RA70320

CC70116

pPD70325L-S

IE-70325-BX

(Note 15)

EB-V25MINIIE-P

EP-70320GJ
,(Note 6)

DDK-70325

RA70320

CC70116

pPD70325L-10

IE-70325-BX
(Note S)

(Note 15)

EB-V25MINIIE-P

EP-70320GJ
(Note 6)

DDK-70325

RA70320

CC70116

pPD7032iGJS (Note 9)

IE-70320AOOS

EP-70320GJ
(Note 5)

EB-V25MINIIE-P

EP-70320GJ
(Note 6)

RA70320

CC70116

pPD70327L~S

IE-70230AOOS

EP-70320L

EB-V25MINIIE-P

(Note 7)

RA70320

CC70116

IE-70330AOOS

EP-70320GJ
(Note 5)

EB-V35MINIIE-P

i::P-70320GJ
(Note 6)

DDK-70330

RA70320

CC70116

pPD70330L-8

IE-70330AOOS

EP-70320L

EB-V35MINI·
IE-P

(Note 7)

DDK-70330

RA70320

CC70116

pPD70332GJS

IE-70330AOOS

EP-70320GJ
(Note 5)

EB-V35MINI·
IE-P

EP-70320GJ
(Note 6)

DDK-70330

RA70320

CC70116

pPD70332L-8

IE-70330AOOS

EP-70320L

EB-V35MINIIE-P

(Note 7)

DDK-70330

RA70320

CC70116

(Note 9)
pPD70330GJ~

S

1-16

IE-P

70P322K
(Note. 10)

~EC

Development. Tools for Micro Products

V-Series Microprocessors (cont)
Relocatable
Assembler
(Note 13)

C Compiler
(Note 14)

DDK-70330

RA70320

CC70116

EP-70320GJ
(Note 6)

DDK-70330

RA70320

CC70116

EB-V35MINIIE-P

EP-70320GJ
(Note 6)

DDK-70330

RA70320

CC70116

(Note 15)

EB-V35MINIIE-P

EP-70320GJ
(Note 6)

DDK-70330

RA70320

CC70116

IE-70330ACOB

EP-70320GJ
(Note 5)

EB-V35MINIIE-P

EP-70320GJ
(Note 6)

RA70320

CC70116

pPD70337L-B
(Note 9)

IE-70330ACOB

EP-70320L

EB-V35MINIIE-P

(Note 7)

RA70320

CC70116

pPD79011 GJB (Note 11)

IE-70320ACOB

EP-70320GJ
(Note 5)

(Note 12)

(Note 12)

RA70320

CC70116

pPD79011 L-B
(Note 11)

IE-70320ACOB
+ IE-70320RTOS

EP-70320L)

(Note 12)

(Note 12)

RA70320

CC70116

pPD79021 L-B
(Note 11)

IE-70330A008
+ IE-70330RTOS

EP-70320L

(Note 12)

(Note 12)

RA70320

CC70116

Device
(Note 1)

Full
Emulator

pPD70335GJ-

IE-70335-BX

pPD70335GJ10

Full
Emulator
Probe

Mini-IE
Emulator

Mini-IE
Probe

EV,aluation
Boards

EV-9500GJ94
(Note 16)

EB-V35MINIIE-P

EP-70320GJ
(Note 6)

IE-70335-BX
(Note B)EV9500GJ-94
(Note 16)

EV-9500GJ94
(Note 16)

EP-V35MINIIE-P

pPD70335L-B

IE-70335-BX

(Note 15)

pPD70335L-10

IE-70335-BX
(Note 8)

pPD70337GJB (Note 9)

B

EPROM
Device

Notes:
(1) Packages:
GF
GJ
K
L
R

BO-pin
74-pin
B4-pin
6B-pin
6B-pin

plastic QFP
or 94-pin plastic QFP
ceramic LCC with window
or B4-pin plastic LCC
PGA

(2) The EP-70136GL-A and EP-70136L-PC contain both a 68-pin
PLCC probe and an adapter which converts the 68-pin PLCC
probes to a 74-pin QFP footprint.
(3) 68-pin PGA parts are supported by using the EP-70136L-A
PLCC probe or EP-70136L-PC PLCC probe, plus a PLCC socket
with a PGA-pinout. A PLCC socket of this type is supplied with
the EP-70136L-A.
(4) The EB-V40 MINI-IE and EB-V50 MINI-IE support PGA packages
directly; the ADAPT68PGA6BPLCC adapter converts the PGApinout on the MINI-IE to a PLCC footprint. This adapter is
supplied with the MINI-IE.
(5) The EP-70320GJ is an adapter to the EP-70320L, which converts
B4-pin PLCC probes to a 94-pin QFP footprint. For GJ parts, both
the PLCC probe and the adapter are needed.

(6) The EP-70320GJ adapter can be used to convert the supplied
84-pin PLCC cable of the EB-V25 MINI-IE-P or EB-V35 MINI-IE-P
to a 94-pin QFP.
(7) The EB-V25 MINI-IE-P and EB-V35 MINI-IE-P are supplied with an
84-pin PLCC cable.
(8) Contact your local NEC Sales Office for the latest information on
10-MHz emulation.
(9) Development for the pPD70327 or pPD70337 can be done using
the appropriate pPD70320 or pPD70330 tools; however, debugging the programs in the Software Guard mode is not supported
at this time.
(10) ThepPD70P322K EPROM device can be used for bothpPD70322
and pPD70332 emulation. The pPD70P322K EPROM device can
be programmed by using the PA-70P322L Programming Adapter
and the PG-1500 EPROM Programmer.
(11) For emulation of pPD79011 or pPD79021 , the base emulator
(IE-70320 or IE-70330) plus Real-Time Operating System software (IE-70320-RTOS or IE-70330-RTOS) is required.
(12) This emulation option is not currently supported, but may be
available in the future. Contact your local NEC Sales Office for
further information.

1-17

..

Development Tools for Micro Products

(13) The following relocatable assemblers are available:
RA70116-D52
For V20®N30®/
(MS-DOS@)
RA70116-VVT1
V40'MN50'M
(VAXNMS'M)
RA70116-VXT1
(VAX/UNIX'M 4.2 BSD
or Ultrix'M)
RA70136-D52
(MS-DOS)
RA70136-VVT1
(VAXNMS)
RA70136-VXT1
(VAX/UNIX 4.2 BSD or
Ultrix)
RA70320-D52
(MS-DOS)
RA70320-VVT1
(VAXNMS)
RA70320-VXT1
(VAX/UNIX 4.2 8SD or
Ultrix)
(14) The following C compilers are available:
For V20®N30®/
(MS-DOS)
CC70116-D52
CC70116-VVT1 V40'MN50'M
(VAXNMS)
(VAX/UNIX 4.2 8SD or
CC70116-VXT1
Ultrix)
CC70136-D52
(MS-DOS)
CC70136-VVT1
(VAXNMS)
CC70136-VXT1
(VAX/UNIX 4.2 8SD or
Ultrix)
(15) 84-pin PLCC probe shipped with IE-70325-BX and IE-70335-8X.
(16) The EV-9500GJ-94 is an adapter that converts the 84-pin PLCC
probe to a 94-pin QFP. Target sockets must also be purchased to
mate to this adapter. Target sockets are sold in packs of five as
part number EV-92006-94x5.
(17) The IE-70236-8X is shipped with the 132-pin PGA probe.
(18) The EV-9500GD-120 is an adapter that converts the 132-pin PGA
probe to a 120-pin QFP. Target sockets must also be purchased
to mate to this adapter. Target sockets are sold in packs of five as
part number EV-9200GD-120.

1-18

NEe

NEe

Development Tools for Micro Products

75xx Series Single-Chip Microcomputers
Device (Note 1)

Emulator*

Add-on Board*

System
Evaluation
Board

IlPD7502G·12

EVAKIT·7500B

EV·7514

SE·7514·A

ASM75

IlPD7502AGF·3B8

EVAKIT·7500B

EV·7514

SE·7514·A

ASM75

IlPD7503G·12

EVAKIT·7500B

EV·7514

SE·7514·A

ASM75

IlPD7503AGF·3B8

EVAKIT·7500B

EV·7514

SE·7514·A

IlPD7507C

EVAKIT·7500B

IlPD7507CU

EVAKIT·7500B

EPROM/OTP
Device

PG·1500
Adapter
(Note 2)

Absolute
Assembler
(Note 3)

II

ASM75
IlP D78CG08E

ASM75
ASM75

IlPD7507G·00

EVAKIT·7500B

ASM75

IlPD7507BCU

EVAKIT·7500B

ASM75

IlPD7507BG B·3B 4

EVAKIT·7500B

ASM75

IlPD7507HC

EVAKIT·7500B

EV·7508H

IlPD7507HCU

EVAKIT·7500B

EV·7508H
EV·7508H

IlPD75CG08HE

ASM75
ASM75
ASM75

IlPD7507HG·22

EVAKIT·7500B

IlPD7508C

EVAKIT·7500B

IlPD7508CU

EVAKIT·7500B

ASM75

IlPD7508G·00

EVAKIT·7500B

ASM75

IlPD7508BCU

EVAKIT·7500B

ASM75

IlPD7508BGB·3B4

EVAKIT·7500B

ASM75

IlPD75CG08E

EVAKIT·7500B

IlPD7508HC

EVAKIT·7500B

EV·7508H

IlPD78CG08E

ASM75

ASM75
IlP D78CG08HE

ASM75

IlPD7508HCU

EVAKIT·7500B

EV·7508H

ASM75

IlPD7508HG·22

EVAKIT·7500B

EV·7508H

ASM75

IlPD75CG08HE

EVAKIT·7500B

EV-750SH

IlPD7527AC

EVAKIT·7500B

EV·7528

IlPD7527ACU

EVAKIT·7500B

EV-7528

IlPD7528AC

EVAKIT·7500B

EV-7528

IlPD7528ACU

EVAKIT·7500B

EV·7528

IlPD75CG28E

EVAKIT·7500B

EV·7528

IlPD7533C

EVAKlT·7500B

EV·7533

IlPD7533CU

EVAKIT·7500B

EV-7533

IlPD7533G-22

EVAKIT·7500B

EV-7533

A~M75

IlPD75CG33E

EVAKIT·7500B

EV-7533

ASM75

IlPD7537AC

EVAKIT·7500B

EV-7528

IlPD7537ACU

EVAKIT·7500B

EV·7528

IlPD7538AC

EVAKIT·7500B

EV·7528

IlPD7538ACU

EVAKIT·7500B

EV-7528

ASM75

IlPD75CG38E

EVAKIT·7500B

EV-7528

ASM75

ASM75
IlPD78CG2SE

ASM75

IlPD78CG28E

ASM75

ASM75

ASM75
ASM75
IlPD75CG33E

ASM75
ASM75

IlP D75CG38E

ASM75
ASM75

IlP D75CG38E

ASM75

* Required tools

1-19

NEe

Development Tools for Micro Products

75xx Series Sing Ie-Chip Microcomputers (cant)
Add-on Board*

System
Evaluation
Board

EPROM/OlP
Device

PG-1500
Adapter
(Note 2)

Absolute
Assembler
(Note 3)

Device (Note 1)

Emulator*

IlPD7554CS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P54CS

PA-75P54CS

ASM75

IlPD7554G

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P54G

PA-75P54CS

ASM75

IlPD7554ACS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P54CS

PA-75P54CS

ASM75

IlPD7554AG

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P54G

PA-75P54CS

ASM75

. IlPD75P54CS

EVAKIT-7500B

EV-7554A

IlPD75P54G

EVAKIT-7500B

EV-7554A

IlPD7556CS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P56CS

PA-75P56CS

pPD7556G

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P56G

PA-75P56CS

ASM75

IlPD7556ACS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P56CS

PA-75P56CS

ASM75

IlPD7556AG

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P56G

PA-75P56CS

IlPD75P56CS

EVAKIT-7500B

EV-7554A

IlPD75P56G

EVAKIT-7500B

EV-7554A

IlPD7564CS

EVAKIT-7500B

EV-7554A

SE-7554-A

pPD75P64CS

PA-75P54CS

ASM75

IlPD7564G

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P64G

PA-75P54CS

ASM75

IlPD7564ACS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P64CS

PA-75P54CS

ASM75

pPD7564AG

EVAKIT-7500B

EV-7554A

IlPD75P64G

PA-75P54CS

IlP075P64CS

EVAKIT-7500B

EV-7554A

IlPD75P64G

EVAKIT-7500B

EV-7554A

IlPD7566CS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P66CS

PA-75P56CS

ASM75

IlPD7566G

EVAKIT-7500B

EV-7554A

SE-7554-A

IlPD75P66G

PA-75P56CS

ASM75

IlP07566ACS

EVAKIT-7500B

EV-7554A

SE-7554-A

IlP D75P66CS

PA-75P56CS

ASM75

IlPD7566AG

EVAKIT-7500B

EV-7554A

SE-7554-A

pPD75P66G

PA-75P56CS

ASM75

IlPD75P66CS

EVAKIT-7500B

EV-7554A

ASM75

IlPD75P66G

EVAKIT-7500B

EV-7554A

ASM75

ASM75
ASM75
ASM75

ASM75
ASM75
ASM75

SE-7554-A

ASM75
ASM75
ASM75

Notes:
(1) Packages:
C
40-pin plastic DIP (,uPD7507/07H/08/08H)
42-pin plastic DIP (,uPD7527A/28A/33/37A/38A)
CS
20-pin plastic shrink DIP
(,uPD7554/54NP54/64/64A/P64)
24-pin plastic shrink DIP
(,uP 07556/56A/P56/66/66A/P66)
CU
40-pin plastic shrink DIP
(,uP D7507/07B/07H/08/08B/08H)
42-pin plastic shrink DIP
(,uP 07527A/28N33/37A/38A)
E
40-pin ceramic piggy-back DIP (,uP075CG08/08H)
42-pin ceramic piggy-back DIP (,uPD75CG28/33/38)
G
20-pin plastic SO (,uPD7554/54A/P54/64/64NP64)
24-pin plastic SO (J,tPD7556/56NP56/66/66A/P66)
52-pin plastic QFP
G-OO
64-pin plastic QFP (2.05 mm thick) (,uP07502/03)
G-12
G-22
44-pin plastic QFP (1.45 mm thick)
GB-3B4
44-pin plastic QFP (2.7 mm thick)
GF-3B8
64-pin plastic QFP (2.7 mm thick)

1-20

(2) By using the specified adapter, the PG-1500 EPROM programmer
can be used to program the OTP device.
(3) The ASM75 Absolute Assembler is provided to run under the
MS-OOS® operating system. (ASM75-D52).

NEe

Development Tools for Micro Products

75xxx Series Single-Chip Microcomputers
Device (Note 5)

Emulator'"

JiPD75004CU

IE-75000-R

EP-75008CU-R

JiPD75004GB-3B4

IE-75000-R

EP-75008GB-R

JiPD75006CU

IE-75000-R

EP-75008CU-R

JiPD75006GB-3B4

IE-75000-R

EP-75008GB-R

JiPD75008CU

IE-75000-R

EP-75008CU-R

JiPD75008GB-3B4

IE-75000-R

EP-75008GB-R

Emulation Probe'"

JiPD75POO8CU

IE-75000-R

EP-75008CU-R

JiPD75POO8GB

IE-75000-R

EP-75008GB-R

JiPD75028CW

IE-75000-R

EP-75028CW-R

JiPD75028GC-AB8

IE-75000-R

EP-75028GC-R

JiPD75P036CW

IE-75000-R

EP-75028CW-R

JiPD75P036GC-AB8

IE-75000-R

EP-75028GC-R

JiPD75048CW

IE-75000-R

EP-75028CW-R

JiPD75048GC-AB8

IE-75000-R

EP-75028GC-R

Optional Socket
Adapter. (Note 1)

EPROM/OlP
Device (Note 2)

Relocatable
Assembler
(Note 3)

Structured
Assembler
(Note 4)

JiPD75POO8CU

RA75X

ST75X

EV-9200G-44

JiPD75POO8GB

RA75X

ST75X

JiPD75POO8CU

RA75X

ST75X

JiPD75POO8GB

RA75X

ST75X

JiPD75POO8CU

RA75X

ST75X

JiPD75POO8GB

RA75X

ST75X

RA75X

ST75X

RA75X

ST75X

JiPD75P036CW

RA75X

ST75X

JiPD75P036GC

RA75X

ST75X

RA75X

ST75X

EV-9200G-44

EV-9200G-44

EV-9200G-44

EV-9200GC-64

RA75X

ST75X

JiPD75P056CW

RA75X

ST75X

JiPD75P056GC

RA75X

ST75X

RA75X

ST75X

RA75X

ST75X

JiPD75P108CW/
DW/BCW
JiPD75P116CW

RA75X

ST75X

EV-9200GC-64

EV-9200GC-64

JiPD75P056CW

IE-75000-R

EP-75028CW-R

JiPD75P056GC-AB8

IE-75000-R

EP-75028GC-R

JiPD75104CW

IE-75000-R

EP-75108CW-R

JiPD75104G-1 B

IE-75000-R

EP-75108GF-R

EV-9200G-64

JiPD75P108G
JiPD75P116GF

RA75X

ST75X

JiPD75104GF-3BE

IE-75000-R

EP-75108GF-R

EV-9200G-64

JiPD75P108G/
BGF
JiPD75P116GF

RA75X

ST75X

EV-9200GC-64

EV-9200GC-64

RA75X

ST75X

JiPD75P108CW/
DW/BCW
JiPD75P116CW

RA75X

ST75X

EV-9200G-64

JiPD75P108G
JiPD75P116GF

RA75X

ST75X

EP-75108GF-R

EV-9200G-64

JiPD75P108G/
BGF
JiPD75P116GF

RA75X

ST75X

EP-75108AGC-R

EV-9200GC-64

JiPD75104AGC-AB8

IE-75000-R

EP-75108AGC-R

JiPD75106CW

IE-75000-R

EP-75108CW-R

JiPD75106G-1 B

IE-75000-R

EP-75108GF-R

JiPD75106GF-3BE

E-75000-R

JiPD75108AG-22

IE-75000-R

JiPD75108AGC-AB8

IE-75000-R

EP-75108AGC-R

JiPD75108CW

IE-75000-R

EP-75108CW-R

JiPD75108G-1 B

IE-75000-R

EP-75108GF-R

JiPD75108GF-3BE

IE-75000-R

EP-75108GF-R

JiPD75P108BCW

IE-75000-R

EP-75108CW-R

JiPD75P108BGF

IE-75000-R

EP-75108GF-R

RA75X

ST75X

RA75X

ST75X

JiPD75P108CW/
DW/BCW
JiPD75P116CW

RA75X

ST75X

EV-9200G-64

JiPD75P108G
JiPD75P116GF

RA75X

ST75X

EV-9200G-64

JiPD75P108G/
BGF
JiPD75P116GF

RA75X

ST75X

RA75X

ST75X

RA75X

ST75X

EV -9200GC-64

EV-9200G-64

II

1-21

NEe

Development Tools for Micro Products
75xxx Series Sing Ie-Chip Microcomputers (cont)
Device (Note 5)

Emulator*

Emulation Probe*

JlPD75P108CW

IE-75000-R

EP-75108CW-R

JlPD75P108DW

IE-75000-R

EP-75108CW-R

JlPD75P108G-1 B

IE-75000-R

EP-75108GF-R

JlPD75112CW

IE-75000-R

EP-75108CW-R

JlPD75112GF-3BE

IE-75000-R

EP-75108GF-R

JlPD75116CW

IE-75000-R

EP-75108 CW-R

JlPD75116GF-3BE

IE-75000-R

EP-75108GF-R

JlPD75P116CW

IE-75000-R

EP-75108CW-R

JlPD75P116GF

IE-75000-R

EP-75108GF-R

Optional Socket
Adapter (Note 1)

EPROM/OTP
Device (Note 2)

EV-9200G-64
JlPD75P116CW
EV-9200G-64

EV-9200G-64

Relocatable
Assembler
(Note 3)

Structured
Assembler
(Note 4)

RA75X

S175X

RA75X

S175X

RA75X

S175X

RA75X

S175X

JlPD75P116GF

RA75X

S175X

JlPD75P116CW

RA75X

S175X

JlPD75P116GF

RA75X

S175X

EV-9200G-64

RA75X

S175X

RA75X

S175X

JlPD75206CW

IE-75000-R

EP-75216ACW-R

RA75X

S175X

JlPD75206G-1 B

IE-75000-R

EP-75216AGF-R

EV-9200G-64

RA75X

S175X

JlPD75206GF-3BE

IE-75000-R

EP-75216AGF-R

EV-9200G-64

RA75X

S175X

JlPD75208CW

IE-75000-R

EP-75216ACW-R

RA75X

S175X

JlPD75208G-1 B

IE-75000-R

EP-75216AGF-R

EV-9200G-64

RA75X

S175X

JlPD75208GF-3BE

IE-75000-R

EP-75216AGF-R

EV-9200G-64

RA75X

S175X

JlPD75CG208E

IE-75000-R

EP-75216ACW-R

RA75X

S175X

JlPD75CG208EA

IE-75000-R

EP-75216AGF-R

RA75X

S175X

JlPD75212ACW

IE-75000-R

EP-75216ACW-R

JlPD75P216ACW

RA75X

S175X

JlPD75212AGF-3BE

IE-75000-R

EP-75216AGF-R

RA75X

S175X

JlPD75216ACW

IE-75000-R

EP-75216ACW-R

JlPD75P216ACW

RA75X

S175X

JlPD75216AGF

IE-75000-R

EP-75216AGF-R

RA75X

S175X

JlPD75CG216AE

IE-75000-R

EP-75216ACW-R

RA75X

S175X

JlPD75CG216AEA

IE-75000-R

EP-75216AGF-R

JlPD75P216ACW

IE-75000-R

EP-75216ACW-R

JlPD75217CW

IE-75000-R

EP-75216ACW-R

JlPD75217GF-3BE

IE-75000-R

EP-75216AGF-R

JlPD75P218CW

IE-75000-R

EP-75216ACW-R

JlPD75P218GF-3BE

IE-75000-R

EP-75216AGF-R

JlPD75P218KB

IE-75000-R

EP-75216AGF-R

JlPD75268CW

IE-75000-R

EP-75216ACW-R

JlPD75P216ACW

JlPD75P216ACW

EV-9200G-64

EV-9200G-64

EV-9200G-64

EV-9200G-64

RA75X

S175X

JlPD75P216ACW

RA75X

S175X

JlPD75P218CW

RA75X

S175X

JlPD75P218GF /KB

RA75X

S175X

RA75X

S175X

EV-9200G-64

RA75X

S175X

EV-9200G-64

RA75X

S175X

JlPD75P216ACW

RA75X

S175X

EV-9200G-64

JiPD75268GF-3BE

IE-75000-R

EP-75216AGF-R

EV-9200G-64

RA75X

S175X

JlPD75304GF-3B9

IE-75000-R

EP-75308GF-R

EV-9200G-80

JlPD75P308GF/K

RA75X

S175X

JlPD75306GF-3B9

IE-75000-R

EP-75308GF-R

EV -9200G-80

JlPD75P308GF/K

RA75X

S175X

JlPD75308GF-3B9

IE-75000-R

EP-75308GF-R

EV -9200G-80

JlPD75P308G F/K

RA75X

S175X

JlPD75P308GF

IE-75000-R

EP-75308GF-R

EV -9200G-80

RA75X

S175X

JlPD75P308K

IE-75000-R

EP-75308GF-R

EV-9200G-80

RA75X

S175X

JlPD75312GF-3B9

IE-75000-R

EP-75308GF-R

EV-9200G-80

JlPD75P316GF/
AGF/AK

RA75X

S175X

JlPD75316GF-3B9

IE-75000-R

EP-75308GF-R

EV-9200G-80

JlPD75P316GF/
AGF/AK

RA75X

S175X

1-22

NEe

Development Tools for Micro Products

75xxx Series Single-Chip Microcomputers (cont)
Structured
Assembler
(Note 4)

Emulator*

Emulation Probe*

IlPD75P316GF

IE-75000-R

EP-75308GF-R

EV-9200G-80

RA75X

ST75X

IlPD75P316AGF

IE-75000-R

EP-75308GF-R

EV-9200G-80

RA75X

ST75X

RA75X

ST75X

RA75X

ST75X

RA75X

ST75X

IlPD75P402C

RA75X

ST75X

IlPD75P402CT

RA75X

ST75X

IlPD75P402GB

RA75X

ST75X

Device (Note 5)

IlPD75P316AK

IE-75000-R

EP-75308GF-R

EV-9200G-80

IlPD75328GC-3B9

IE-75000-R

EP-75328GC-R

EV-9200GC-80

IlPD75P328GC-3B9

IE-75000-R

EP-75328GC-R

EV-9200GC-80

IlPD75402AC

IE-75000-R

EP-75402C-R

IlPD75402ACT

IE-75000-R

EP-75402C-R

IlPD75402AGB-3B4

IE-75000-R

EP-75402GB-R

EV-9200G-44

EPROM/OTP
Device (Note 2)

Relocatable
Assembler
(Note 3)

Optional Socket
Adapter (Note 1)

IlPD75P328GC

IlPD75P402C

IE-75000-R

EP-75402C-R

RA75X

ST75X

IlPD75P402CT

IE-75000-R

EP-75402C-R

RA75X

ST75X

IlPD75P402GB-3B4

IE-75000-R

EP-75402GB-R

EV-9200G-44

RA75X

ST75X

IlPD75512GF-3B9

IE-75000-R

EP-75516GF-R

EV-9200G-80

IlPD75P516GF/K

RA75X

ST75X

IlPD75516GF-3B9

IE-75000-R

EP-75516GF-R

EV-9200G-80

IlPD75P516GF/K

RA75X

ST75X

IlPD75P516GF

IE-75000-R

EP-75516GF-R

EV-9200G-80

RA75X

ST75X

IlPD75P516K

IE-75000-R

EP-75516GF-R

EV-9200G-80

II

Notes:
(1) The EV-9200G-XX is an LCC socket with the footprint of the flat
package. One unit is supp lied with the probe. Additional units
are available as replacement parts in sets of five.
(2) All EPROM/OTP devices can be programmed using the NEC
PG-1500. Refer to the PG-1500 Programming Socket Adapter
Selection Guide for the appropriate socket adapter.
(3) The RA75X relocatable assembler package is provided for the
following operating system:
RA75X-D52 (MS-DOS@)
(4) The ST75X structured assembler preprocessor is provided with
RA75X.
(5) Packages:
C
CT
CU
CW

OW
E
EA
G-1B
G-22
GB-3B4
GC-AB8
GC-3B9
GF-3BE
GF-3B9

K
KB

28-pin
28-pin
42-pin
64-pin
64-pin
64-pin
64-pin
64-pin
54-pin
44-pin
54-pin
80-pin
54-pin
80-pin
80-pin
54-pin

plastic DIP
plastic shrink DIP
plastic shrink DIP
plastic shrink DIP
ceramic shrink DIP with window
ceramic piggy-back shrink DIP
ceramic piggy-back QFP
plastic QFP (2.05 mm thick)
plastic QFP (1.55 mm thick)
plastic QFP
plastic QFP (2.55 mm thick)
plastic QFP
plastic QFP (2.77 mm thick)
plastic QFP
ceramic LCC
ceram ic LCC

* Requ ired tools.

1-23

NEe

De"elopment Tools for Micro Products
78xx Series Single-Chip Microcomputers
Device (Note 1)

t

Relocatable
Assembler
(Note 9)

C Complier
(Note 9)

Emulator*

Emulation Probe*

JlPD78C10CW

IE·78C11·M

EV·9001·64
(Note 3)

RA87

CG87

JlPD78C10G18

IE·78C11·M

(Note 5)

RA87

CC87

JlPD78C10GF·38E

IE·78C11·M

(Note 5)

RA87

CC87

IE·78C11·M

(Note 7)

RA87

CC87

JlPD78C10ACW

IE·78C11·M

EV·9001·64
(Note 3)

RA87

CC87

JlPD78C10AGQ36

IE·78C11·M

(Note 4)

RA87

CC87

JlPD78C10AGF

IE·78C11·M

(Note 5)

RA87

CC87

JlPD78C10AL

IE·78C11·M

(Note 7)

RA87

CC87

JlPD78C11 CW .

IE·78C11·M

EV·9001·64
(Note 3)

JlPD78CP14CW/DW

PA·78CP14CW

RA87

CC87

JlPD78C11 G·36

IE·78C11·M

{Note 4)

JlPD78CP14G36/R
JlPD78CP14E

PA·78CP14GQ

RA87

CC87

JlPD78C11G·18

IE·78C11·M

(Note 5)

JlPD78CP14GF

PA·78CP14GF

RA87

CC87

JlPD78C11 GF·38E

IE·78C11·M

(Note 5)

JlPD78CP14GF

PA·78CP14GF

RA87

CC87

JlPD78C11L

IE·78C11·M

(Note 7)

JlPD78CP14L

PA<78CP14L

RA87

CC87

JlPD78C11ACW

IE·78C11·M

EV·9001·64
(Note 3)

JlPD78CP14CW/DW
(Note 6)

PA·78CP14CW

RA87

CC87

JlPD78C11AGQ·36

IE·78C11·M

(Note 4)

JlPD78CP14G36/R
(Note 6)

PA·78CP14GQ

RA87

CC87

JlPD78C11AGF·38E

IE·78C11·M

(Note 5)

JlPD78CP14GF
(Note 6)

pA·78CP14GF

RA87

CC87

JlPD78C11AL

IE·78C11·M

(Note 7)

JlPD78CP14L
(Note 6)

PA·78CP14L

RA87

CC87

JlPD78C12ACW

IE·78C11·M

EV·9001·64
(Note 3)

JlPD78CP14CW/DW
(Note 6)

PA·78CP14CW

RA87

CC87

JlPD78C12AGQ

IE·78C11·M

(Note 4)

JlP D78CP14G36/R
(Note 6)

PA·78CP14GQ

RA87

CC87

JlPD78C12AGF

IE·78C11·M

(Note 5)

JlPD78CP14GF
(Note 6)

PA·78CP14GF

RA87

CC87

JlPD78C12AL

IE·78C11·M

(Note 7)

JlPD78CP14L
(Note 6)

PA·78CP14L

RA87

CC87

JlPD78C14CW

IE·78C11·M

EV·9001·64
(Note 3)

JlPD78CP14CW/DW

PA·78CP14CW

RA87

CC87

JlPD78C14G·36

IE·78C11·M

(Note 4)

JlP D78CP14G36/R
JlPD78CG14E

PA·78CP14GQ

RA87

CC87

. JlPD78C10L

EPROM/OTP Device

PG·1500
Adapter (Note 2)

JlPD78C14G·18

IE·78C11·M

(Note 5)

JlPD78CP14GF

PA·78CP14GF

RA87

CC87

JlPD78C14GF

IE·78C11·M

(Note 5)

JlPD78CP14GF

PA·78CP14GF

RA87

CC87

JlPD78C14L

IE·78C11·M

(Note 7)

JlPD78CP14L

PA·78CP14L

RA87

CC87

JlPD78C14AG·A88

IE·78C11·M

(Note 5)

RA87

CC87

JlPD78CG14E
(Note 8)

IE·78C11-M

(Note 4)

RA87

CC87

JlPD78CP14CW

IE-78C11-M

EV·9001·64
(Note 3)

RA87

CC87

1·24

PA·78CP14CW

NEe

Development Tools for Micro Products

78xx Series Single-Chip Microcomputers (cant)
Device (Note 1)

t

EPROM/OTP Device

PG-1S00
Adapter (Note 2)

Relocatable
Assembler
(Note 9)

C Compiler
(Note 9)

Emulator*

Emulation Probe*

pPD78CP14DW

IE-78C11-M

EV-9001-64
(Note 3)

PA-78CP14CW

RA87

CC87

pPD78CP14G36

IE-78C11-M

(Note 4)

PA-78CP14GQ

RA87

CC87

pPD78CP14GF

IE-78C11-M

(Note 5)

PA-78CP14GF

RA87

CC87

pPD78CP14L

IE-78C11-M

(Note 7)

PA-78CP14L

RA87

CC87

pPD78CP14R

IE-78C11-M

(Note 4)

PA-78CP14GQ

RA87

CC87

pPD78C17CW

IE-78C11-M

EV-9001-64
(Note 3)

RA87

CC87

pPD78C17GQ36

IE-78C11-M

(Note 4)

RA87

CC87

pPD78C17GF

IE-78C11-M

(Note 5)

RA87

CC87

pPD78C18CW

IE-78C11-M

EV-9001-64
(Note 3)

pPD78CP18CW
(Note 6)

PA-78CP14CW

RA87

CC87

pPD78C18GQ

IE-78C11-M

(Note 4)

pPD78CP18GQ
(Note 6)

PA-78CP14GQ

RA87

CC87

pPD78C18GF

IE-78C11-M

(Note 5)

pPD78CP18GF
(Note 6)

PA-78CP14GF

RA87

CC87

pPD78CP18KB
(Note 6)

PA-78CP14KB
PA-78CP14CW

RA87

CC87

pPD78CP18CW

IE-78C11-M

EV-9001-64
(Note 3)

pPD78CP18GQ

IE-78C11-M

(Note 4)

PA-78CP14GQ

RA87

CC87

pPD78CP18GF

IE-78C11-M

(Note 5)

PA-78CP14GF

RA87

CC87·

pPD78CP18KB

IE-78C11-M

(Note 5)

PA-78CP14KB

RA87

CC87

* Required tools
t For a" pPDC1 X devices, you

may use the DDK-78C10 for

evaluation purposes.
Notes:
(1) Packages:
CW
DW
E
G-1 B
G-36
G-AB8
GF-3BE
GQ-36
KB
L
R

64-pin
64-pin
64-pin
64-pin
64-pin
64-pin
64-pin
64-pin
64-pin
68-pin
64-pin

II

plastic shrink DIP
ceramic shrink DIP with window
ceramic piggyback QUIP
plasticQFP (resin thickness 2.05 mm)
plastic QUIP
plastic QFP (interpin pitch 0.8 mm)
plastic QFP (resin thickness 2.7 mm)
plastic QUIP
ceramic LCC with window
PLCC
ceramic QUIP with window

(2) By using the specified adapter, the PG-1500 EPROM programmer
can be used to program the EPROM/OTP device.
(3) 64-pin shrink DIP adapter which plugs into the EP-7811 HGQ
emulation probe supplied with each IE.
(4) The emulation probe for the 64-pin QUIP package (EP-7811 HGQ)
is supplied with the IE.

(5) No emulation probe available.
(6) The pPD78CP14/CP18 EPROM/OTP devices do not have pull-up
resistors on ports A, -8, and C.
(7) The optional AS-QIP-PCC-D781X QUIP-to-PLCC adapter can be
used with the EP-7811 HGQ emulation probe .supplied with each
IE.

(8) The pPD78CG14E is a piggyback EPROM device in a ceramic
QUIP package. It accepts 27C256 and 27C256A EPROMs.
(9) The fo"owi.ng relocatable assemblers and C compilers are available:
RA87-D52
(MS-DOS®)
Relocatable assemblers for 78XX
RAB7-VVn
01AX/VMS~
series
CCMSD-15DD-87
CCMSD-15DD-87-16
CCVMS-OT16-87
CCUNX-OT16-87

(MS-DOS)
(MS-DOS;
extended memory)
01AX/VMS)
01AX/UNIXTM;
4.2 BSD or UltrixOi)

C Compilers
78XX Series

for

1-25

NEe

Development Tools for Micro Products
782xx Series Single-Chip Microcomputers
Device
(Notes 1; 2)

Evaluation
Kit
(Note 3)

Designer
Kit
(Note 4)

Emulator
Kit
. (Note 5)

IlPD78212CW

EK-78K2-21X

DK-78K221XCW

IlPD78212GC

EK-78K2-21X

IlPD78212GJ

Low-End
Emulator

Emulation
System

Emulation
Probe

EPROM/OTP
Device (Note 6)

IK-78K221XCW

EB-78210-PC

IE-78240-R

EP-78240CW-R

IlPD78P214CW/DW

DI<,.78K221XGC

IK-78K221XGC

EB-78210-PC

IE-78240-R

EP-78240GC-R
(Note 9)

IlPD78P214GC

EK-78K2-21X

DK-78K221XGJ

IK-78K221XGJ

EB-78210-PC

IE-78240-R

EP-78240GJ-R
(Note 7)

IlPD78P214GJ

IlPD78212GQ

EK-78K2-21X

DK-78K221XGQ

IK-78K221XGQ

EB-78210-PC

IE-78240-R

EP-78240GQ-R

IlPD78P214GQ

IlPD78212L

EK-78K2-21X

DK-78K221XL

IK-78K221XL

EB-78210-PC

IE-78240-R

EP-78240LP-R

IlPD78P214L

IlPD78213CW

EK-78K2-21X

DK-78K221XCW

IK-78K221XCW

EB-78210-PC

IE-78240-R

EP-78240CW-R

IlPD78213GC

EK-78K2-21X

DK-78K221XGC

IK-78K221XGC

EB-78210-PC

IE-78240-R

EP-78240GC-R
(Note 9)

IlPD78213GJ

EK-78K2-21X

DK-78K221XGJ

IK-78K221XGJ

EB-78210-PC

IE-78240-R

EP-78240GJ-R
(Note 7)

IlPD78213G36

EK-78K2-21X

DK-78K221XGQ

IK-78K221XGQ

EB-78210-PC

IE-78240-R

EP-78240GQ-R

IlPD78213L

EK-78K2-21X

DK-78K221XL

IK-78K221XL

EB-78210-PC

IE-78240-R

EP-78240LP-R

IlPD78214CW

EK-78K2-21X

DK-78K221XCW

IK-78K221XCW

EB-78210-PC

IE-78240-R

EP-78240CW-R

IlPD78P214CW/DW

IlPD78214GC

EK-78K2-21X

DK-78K221XGC

. IK-78K221XGC

EB-78210-PC

IE-78240-R

EP-78240GC-R
(Note 9)

IlPD78P214GC

IlPD78214GJ

EK-78K2-21X

DK-78K221XGJ

IK-78K221XGJ

EB-78210-PC

IE-78240-R

EP-78240GJ-R
(Note 7)

IlPD78P214GJ

IlPD78214G36

EK-78K2-21X

DK-78K221XGQ

IK-78K221XGQ

EB-78210-PC

IE-78240-R

EP-78240GQ-R

IlPD78P214GQ

IlPD78214L

EK-78K2-21X

DK-78K221XL

IK-78K221XL

EB-78210-PC

IE-78240-R

EP-78240LP-R

IlPD78P214L

IlPD78P214CW

EK-78K2-21X

DK-78K221XCW

IK-78K221XCW

EB-78210-PC

IE-78240-R

EP-78240CW-R

IlPD78P214DW

EK-78K2-21X

DK-78K221XCW

IK-78K221XCW

EB-78210-PC

IE-78240-R

EP-78240CW-R

IlPD78P214GC

EK-78K2-21X

DK-78K221XGC

IK-78K221XGC

EB-78210-PC

IE-78240-R

EP-78240GC-R
(Note 9)

IlPD78P214GJ

EK-78K2-21X

DK-78K221XGJ

IK-78K221XGJ

EB-78210-PC

IE-78240-R

EP-78240GJ-R
(Note 7)

IlPD78P214GQ

EK-78K2-21X

DK-78K221XGQ

IK-78K221XGQ

EB-78210-PC

IE-78240-R

EP-78240GQ-R

IlPD78P214L

EK-78K2-21X

DK-78K221XL

IK-78K221XL

EB-78210-PC

IE-78240-R

EP-78240LP-R

IlPD78220GJ

EK-78K2-22X

DK-78K222XGJ

IK-78K222XGJ

EB-78220-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

IlPD78220L

EK-78K2-22X

DK-78K222XL

IK-78K222XL

EB-78220-PC

IE-78230-R

EP-78230LQ-R

IlPD78224GJ

EK-78K2-22X

DK-78K222XGJ

IK-78K222XGJ

EB-78220-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

1-26

IlPD78P224GJ

NEe

Development Tools for Micro Products

782xx Series Sing Ie-Chip Microcomputers (cont)
Device
(Notes 1,2)

Evaluation
Kit
(Note 3)

Designer
Kit
(Note 4)

Emulator
Kit
(Note 5)

pPD78224L

EK-78K2-22X

DK-78K222XL

pPD78P224GJ

EK-78K2-22X

pPD78P224L

Low-End
Emulator

Emulation
System

Emulation
Probe

EPROM/OTP
Device (Note 6)

IK-78K222XL

EB-78220-PC

IE-78230-R

EP-78230LQ-R

pPD78P224L

DK-78K222XGJ

IK-78K222XGJ

EB-78220-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

EK-78K2-22X

DK-78K222XL

IK-78K222XL

EB-78220-PC

IE-78230-R

EP-78230LQ-R

pPD78233GC

EK-78K2~23X

DK-78K223XGC

IK-78K223XGC

EB-78230-PC

IE-78230-R

EP-78230GC-R
(Note 10)

pPD78233GJ

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

pPD78233LQ

EK-78K2-23X

DK-78K223XL

IK-78K223XL

EB-78230-PC

IE-78230-R

EP-78230LQ-R

pPD78234GC

EK-78K2-23X

DK-78K223XGC

IK-78K223XGC

EB-78230-PC

IE-78230-R

EP-78230GC-R
(Note 10)

pPD78P238GC

pPD78234GJ

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

pPD78P238GJ/KF

pPD78234LQ

EK-78K2-23X

DK-78K223XL

IK-78K223XL

EB-78230-PC

IE-78230-R

EP-78230LQ-R

pPD78P238LQ

pPD78237GC

EK-78K2-23X

DK-78K223XGC

IK-78K223XGC

EB-78230-PC

IE-78230-R

EP-78230GC-R
(Note 10)

pPD78237GJ

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE-78230-R

EP-78230GJ-R
(Note 8)

pPD78237LQ

EK-78K2-23X

DK-78K223XLQ

IK-78K223XLQ

EB-78230-PC

IE-78230-R

EP-78230LQ-R

pPD78238GC

EK-78K2-23X

DK-78K223XGC

IK-78K223XGC

EB-78230-PC

IE-78230-R

EP-78230GC-R
(Note 10)

pPD78P238GC

pPD78238GJ

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE-78230-R

EP-78230GJ·R
(Note 8)

pPD78P238GJ/KF

pPD78238LQ

EK·78K2-23X

DK-78K2·
23XLQ

IK-78K223XLQ

EB-78230-PC

IE-78230-R

EP-78230LQ·R

pPD78P238LQ

pPD78P238GC

EK-78K2-23X

DK-78K223XGC

IK-78K223XGC

EB-78230-PC

IE-78230-R

Ep·78230GC-R
(Note 10)

pPD78P238GJ

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE·78230-R

Ep·78230GJ·R
(Note 8)

pPD78P238KF

EK-78K2-23X

DK-78K223XGJ

IK-78K223XGJ

EB-78230-PC

IE-78230-R

EP-78230GJ·R
(Note 8)

pPD78P238LQ

EK-78K2-23X

DK-78K223XL

IK-78K223XL

EB-78230-PC

IE-78230·R

EP-78230LQ·R

pPD78243CW

EK-78K2-24X

DK-78K224XCW

IK-78K224XCW

EB-78240-PC

IE-78240-R

Ep·78240CW-R

pPD78243GCAB8

EK-78K2-24X

DK-78K224XGC

IK-78K224XGC

EB-78240-PC

IE-78240-R

EP-78240GC·R
(Note 9)

pPD78243LP

EK-78K2-24X

DK-78K224XLP

IK-78K224XLP

EB-78240-PC

IE-78240-R

EP-78240LP-R

pPD78244CW

EK-78K2·24X

DK-78K224XCW

IK-78K224XCW

EB-78240-PC

IE-78240-R

EP·78240CW-R

pPD78244GC

EK-78K2-24X

DK-78K224XGC

IK-78K224XGC

EB-78240-PC

IE-78240·R

EP-78240GC·R
(Note 9)

..

1-27

NEe

Development Tools for Micro Products
782xx Series Sing Ie-Chip

Microcomput~rs

(cont)

Device
(Notes 1,2)

Evaluation
Kit
(Note 3)

Designer
Kit
(Note 4)

Emulator
Kit
(Note 5)

JiPD78244L

EK-78K2-24X

DK-78K224XLP

IK-78K224XLP

EB-78240-PC

Notes:
(1) The following software packages are available for the 782xx
Series.
RA78K2 Relocatable Assembler Package: RA78K2-D52
(MS-DOS®)
ST78K2 Structured Assembler Preprocessor: provided with
RA78K2
CC78K2 C-Compiler package: CC78K2-D52 (MS-DOS)
(2) Packages:
CW
DW
G36
GC

GG
GC-ABS
GJ
GJ
GQ
KF
L
LP
LQ

Emulation
'System

Low-End
Emulator

64-pin plastic shrink DIP
64-pin ceramic shrink DIP with window
64-pin plastic QUIP (uPD78213/214)
64-pin plastic QFP (uPD78212/213/214/P214/244)
80-pin plastic QFP (uPD78233/234/237/238/P238)
64-pin plastic QFP
94-pin plastic QFP (uPD78220/224/P224/233/234/
237/238/P238)
74-pin plastic QFP (uPD78212/213/214/P214)
64-pin plastic QUIP (uPD78212/P214)
94-pin ceramic LCC with window
68-pin PLCC (uPD78213/214/P214L)
84-pin PLCC (uPD78220/224/P224L)
68-pin PLCC
84-pin PLCC

(3) The JiPD782xx Evaluation Kit contains the appropriate DDB78K2-2xx Evaluation Board for the part selected, the RA78K2
Relocatable Assembler Package, and the ST78K2 Structured
Assembler Preprocessor.

IE-78240-R

Emulation
Probe

EPROM/OTP
Device (Not& 6)

EP-78240LP-R

(4) The JiPD782xx Designer Kit contains the approp'riate EB~
782xx-PC low-end emulator and emulation probe for the part
selected" the RA78K2 Relocatable Assembler Package, and the
ST78K2 Structured Assembler Preprocessor.
(5) The JiPD782xx Emulator Kit contains the appropriate IE-782xx
system and emulation probe for the part selected, the RA78K2
Relocatable Assembler Package, and the ST78K2 Structured
Assembler Preprocessor.
(6) All EPROM/OTP devices can be programmed using the NEC
PG-1500. Refer to the PG~1500 Programming Socket Adapter
Selection Guide for the appropriate programming adapter.

(7) The EP-78240GJ-R Emulation Probe is shipped with one EV9200G-74, a 74-pin LCC'socket with the footprint of the OFP
package. Additional s,ockets are available as replacement parts
in sets of five.
'
(8) The EP-78230GJ-R Emulation Probe is shipped with one EV9200G-94, a 94-pin LCC socket with the footprint of the OFP
package. Additional sockets are available as r,eplacement parts
in sets of five.
(9) The EP-78240GC-R Emulation Probe is shipped with one EV9200GC-64, a 64-pin LCC socket with the footprint of the OFP
package. Additional sockets are available as replacement parts
in set$ Of five.
(10) The EP-78230GC-R Emulation Probe is shipped with one EV9200GC-80, an 80-pin LCC socket with the footprint of the OFP
package: Additional sockets are available as:replacement parts
in sets of five.

783xx Series Single-Chip Microcomputers
Emulator Kit
(Note 4)

Evaluation
Board

Emulation
Syste",

JiPD78310ACW

IK-78K3-31 XACW
(Note 6)

DDK-78310A

IE-78310A-R

EP-7'8310CW
(Note 7)

JiPD78310AGF 3BE

IK-78K3-31 XAGF

DDK-78310A

IE-78310A-R

EP-78310GF (Note 8)

JiPD78310AGO-36

IK-78K3-31XACW
(Note 6)

DDK-78310A

IE-7831OA-R

EP-78310GO
(Note 9)

JiPD78310AL

IK-78K3-31 XAL

DDK-78310A

IE-78310A-R

EP-78310L

JiPD78312ACW

IK-7SK3-31XACW
(Note 6)

DDK-78310A

IE-78310A-R

EP-78310CW
(Note '7)

JiPD78312AGF

IK-78K3-31XAGF

DDK-78310A

IE-78310A-R

EP-78310GF (Note 8)

JiPD78P312AGF

JiPD78312AGO

IK-78K3-31XACW
(Note 6)

DDK-78310A

IE-78310A-R

EP-78310GO
(Note 9)

JiPD78P312AGO/RQ
JiPD78P312AL

Device (Notes 1, 2)

Evaluation Kit
(Note 3)

Emulation Probe

JiPD78312AL

IK-78K3-31 XAL

DDK-78310A

IE-18310A-R

EP-78310L

JiPD78P312ACW

IK-78K3-31XACW
(Note 6)

DDK-78310A

IE-78310A-R

EP-78310CW
(Note 7)

JiPD78P312ADW

IK-78K3-31XACW
(Note 6) .

DDK-78310A

IE-78310A-R

EP-78310CW

1-28

(N,01~

i)

EPROM/OTP
Device (Note 5)

JiPD78P312ACW/DW

NEe

Development Tools for Micro Products

783xx Series Single-Chip Microcomputers (cont)
Emulator Kit
(Note 4)

Evaluation
Board

Emulation
System

pPD78P312AGF

IK-78K3-31 XAGF

DDK-78310A

IE-78310A-R

EP-78310GF
(Note 8)

pPD78P312AGQ-36

IK-78K3-31 XACW
(Note 6)

DDK-78310A

IE-78310A-R

EP-78310GQ
(Note 9)

pPD78P312AL

IK-78K3-31 XAL

DDK-78310A

IE-78310A-R

EP-78310L

/.tPD78P312ARQ

IK-78K3~31XACW

DDK-78310A

IE-78310A-R

EP-78310GQ
(Note 9)

Device (Notes 1, 2)

Eval uation Kit
(Note 3)

(Note 6)

Emulation Probe

EPROM/OTP
Device (Note 5)

II

j.lPD78320GJ

EK-78K3-32X

IK-78K3-32XGJ

EB-78320PC

IE-78327-R

EP-78320GJ-R
(Note 10)

pPD78320L

EK-78K3-32X

IK-78K3-32XL

EB-78320PC

IE-78327-R

EP-78320L-R

pPD78322GJ

EK-78K3-32X

IK-78K3-32XGJ

EB-78320PC

IE-78327-R

EP-78320GJ-R
(Note 10)

pPD78P322GJ/KD

pPD78322L

EK-78K3-32X

IK-78K3-32XL

EB-78320PC

IE-78327-R

EP-78320L-R

pPD78P322L/KC

pPD78P322GJ

EK-78K3-32X

IK-78K3-32XGJ

EB-78320PC

IE-78327-R

EP-78320GJ-R
(Note 10)

pPD78P322KC

EK-78K3-32X

IK-78K3-32XL

EB-78320PC

IE-78327-R

EP-78320L-R

pPD783P322KD

EK-78K3-32X

IK-78K3-32XGJ

EB~78320-

IE-78327-R

EP-78320GJ-R
(Note 10)

PC
pPD78P322L

EK-78K3-32X

IK-78K3-32XL

EB-78320PC

IE-78327-R

EP-78320L-R

pPD78330GJ

EK-78K3-33X

IK-78K3-33XGJ

EB-78330PC

IE-78330-R

EP-78330GJ-R
(Note 11)

pPD78330LQ

EK-78K3-33X

IK-78K3-33XLQ

EB-78330PC

IE-78330-R

EP-78330LQ-R

pPD78334GJ

EK-78K3-33X

IK-78K3-33XGJ

EB-78330PC

IE-78330-R

EP-78330GJ-R
(Note 11)

pPD78P334GJ

pPD78334LQ

EK-78K3-33X

IK-78K3-33XLQ

EB-78330PC

IE-78330-R

EP-78330LQ-R

pPD78P334LQ/KE

pPD78P334GJ

EK-78K3-33X

IK-78K3-33XGJ

EB-78330PC

IE-78330-R

EP-78330GJ-R
(Note 11)

pPD78P334KE

EK-78K3-33X

IK-78K3-33XLQ

EB-78330PC

IE-78330-R

EP-78330LQ-R

pPD78P334LQ

EK-78K3-33X

IK-78K3-33XLQ

EB-78330PC

IE-78330-R

EP-78330LQ-R

Notes:
(1) The following software packages are available. for the pPD783xx
series:
RA78K3 Relocatable Assembler Package: RA78K3-D52
(MS-DOS@}
ST78K3 Structured Assembler Preprocessor: provided with
RA78K3
CC78K3 C-Compiler Package: CC78K3-D52 (MS-DOS)

1-29

NEe

Development Tools for Micro Products

(2) Packages:
CW
DW
GF-3BE .
GJ-58G
GJ-58J
GQ-36
KC
KD
KE
L

LQ
R

(5) All EPROM/OTP devices can be programmed using the NEC
PG-1500. Refer to the PG-1500 Programming Socket Adapter
Selection Guide for the appropriate programming adapter.

64-pin plastic shrink DIP
64-pin ceramic shrink DIP with window
64-pin plastic QFP (resin thickness 2.7 mm)
94-pin plastic QFP
74-pin plastic QFP (20 mm x 20 mm)
64-pin plastic QUIP
68-pin ceramic LCC with window
74-pin ceramic LCC with window
84-pin ceramic LCC with window
44-pin PLCC (pPD71 P301 L)
68-pin PLCC
(pP D7831 OA/312A/P312A L, IlPD78320/322L)
84-pin PLCC
64-pin ceramic QUIP with window

(6) The IK-78K3-31XACW is shipped with the emulation probes for
both the 64-pin shrink DIP and 64-pin QUIP packages.

(7) The emulation probe -for the 64-pin shrink DIP package (EP78310CW) is supplied with the IE.
(8) The EP-78310GF Emulation Probe is shipped with one EV-9200G64, a 64-pin LCC socket with the footprint of the QFP package.
Additional sockets are available as replacement parts in sets of
five.
(9) The emulation probe for the 64-pin QUIP package (EP-78310GQ)
is supplied with the IE.

(3) The IlPD783xx Evaluation Kit contains the appropriate EB783xx-PC evaluation board for the part selected, the RA78K3
Relocatable Assembler Package, and the ST78K3 Structured
Assembler Preprocessor.

(4) The IlPD783xx Emulator Kit contains the appropriate IE-783xx
and Emulation Probe for the part selected, the RA78K3 Relocatable Assembler Package, and the ST78K3 Structured Assembler
Preprocessor.

(10) The EP-78320GJ-R Emulation Probe is shipped with one EV9200G-74, a 74-pin LCC socket with the footprint of the OFP
package. Additional sockets are available as replacement parts
in sets of five.
(11) The EP-78330GJ-R Emulation Probe is shipped with one EV9200G-94, a 94-pin LCC socket with the footprint of the OFP
package. Additional sockets are available as replacement parts
in sets of five.

DSP and Speech Products
Device
(Note 7)

Emulator

Evaluation
Board

Assembler
(Note 1)

Simulator
(Note 2)

EPROM/OTP
Device

PG-1S00 Adapter
(Note 3)

(Note 5)

IlPD77P20D

EVAKIT-77208

ASM77

SM77C25

IlPD77C20AC

EVAKIT-77208

ASM77

SM77C25

pPD77P20D

IlPD77C20AGW

EVAKIT-77208

ASM77

SM77C25

pPD77P20D

IlPD77C20AL

EVAKIT-77208

ASM77

SM77C25

IlPD77C20ALK

EVAKIT-77208

ASM77

SM77C25

IlPD77220L

EVAKIT-77230

RA77230

SM77230,
SIM77230

IlPD77220R

EVAKIT-77230

RA77230

SM77230,
SIM77230

IlPD77P220L

EVAKIT-77230

RA77230

SM77230
SIM77230

PA-77P220L

IlPD77P220R

EVAKIT-77230

RA77230

SM77230,
SIM77230

PA-77P230R

IlPD77230AR

EVAKIT-77230

RA77230

SM77230,
S.IM77230

IlPD77P230R

PA-77P230R

IlPD77230AR-003

EVAKIT-77230

DDK-77230

RA77230

SM77230,
SIM77230

pPD77P230R

PA-77P230R

IlPD77P230AR

EVAKIT-77230

DDK-77230

RA77230

SM77230,
SIM77230

IlPD77P230R

PA-77P230R

pPD77240R

IE-77240

IE-77240

RA77240

SIM77240

pPD77C25C

EVAKIT-77C25

RA77C25

SM77C25

pPD77P25C/D

PA~77P25C

IlPD77C25GW

EVAKIT-77C25

RA77C25

SM77C25

pPD77P25GW

pPD77C25L

EVAKIT-77C25

RA77C25

SM77C25

IlPD77P25L

pPD77P25C

EVAKIT-77C25

RA77C25

SM77C25

PA-77P25C

pPD77P25D

EVAKIT-77C25

RA77C25

SM77C25

PA-77P25C

pPD77P25GW

EVAKIT-77C25

RA77C25

SM77C25

PA-77P25GW

1-30

DDK-77220
(Note 8)

DDK-77220
(Note 8)

IlPD77P220R (EPROM)
IlPD77P220L (OTP)

PA-77P230R

PA-77P25L

NEe

Development Tools for Micro Products

DSP and Speech Products (cont)
Device
(Note 7)

Emulator

Evaluation
Board

Assembler
(Note 1)

Simulator
(Note 2)

RA77C25

SM77C25

EPROM/OTP
Device

PG-1500 Adapter
(Note 3)

IlPD77P25L

EVAKIT-77C25

IlPD7755C

NV-300 System
(Note 9)

EB-7759

IlPD77P56CR

PA-77P56C

IlPD7755G

NV-300 System
(Note 9)

EB-775/NV-310
(Note 6)

IlPD77P56G
(Note 10)

PA-77P56C

IlPD7756C

NV-300 System
(Note 9)

EB-775/NV -310

IlPD77P56CR
(Note 10)

PA-77P56C

IlPD7756G

NV-300 System
(Note 9)

EB-775/NV-310
(Note 6)

IlPD77P56G
(Note 10)

PA-77P56C

JlPD77P56CR

NV-300 System
(Note 9)

EB-775/NV-310

PA-77P56C

JlPD77P56G

NV-300 System
(Note 9)

EB-775/NV-310
(Note 6)

PA-77P56C

JlPD7757C

NV-300 System
(Note 9)

EB-775/NV-310

JlPD7757G

NV-300 System
(Note 9)

EB-775/NV-310
(Note 6)

JlPD7759C

NV-300 System
(Note 9)

EB-775/NV-310

JlPD7759GC

NV-300 System
(Note 9)

EB-775/NV-310

JlPD77501 GC

NV-300 System
(Note 9)

IlP D7781 OL

IE-77810

RA7781 0

IlPD77810R

IE-77810

RA7781 0

PA-77P25L

II

Notes:
(1) The following assemblers are available:
ASM77-D52
Assembler for 7720 (MS-DOS@)
RA77C25-D52
Assembler for 77C25 (MS-DOS)
RA77C 25-VV T1 Assembler for 77C25 (VAXNMsn')
RA77230-D52
Assembler for 77230 (MS-DOS)
RA77230-VVT1 Assembler for 77230 (VAXNMS)
RA77230-VXT1 Assembler for 77230 (VAX/UNIXTM 4.2 BSD or
UltrixTM)
(2) The following simulators are available:
SIM77230-VVT1 Simulator for 77230 (VAX/UNIX)
SIM77230-VXT1 Simulator for 77230 (VAX/UNIX TI• 4.2 BSD or
Ultrix)
SM77C25
Simulator for 77C25 (IBM-PC)
SM77230
Simulator for 77220, 77230 (IBM-PC)
SIM77240
Simulator for 77240 (IBM-PC)
(3) By using the specified adapter, the NEC PG-1500 EPROM
programmer can be used to program the EPROM/OTP device.
(4) Please check with your NEC Sales Representative on the availability of a PLCC emulation probe.

(5) The IlPD77P20D can be programmed using the EVAKIT-7720B.
(6) The EB-775 comes with an emulation probe for only the 18-pin
DIP.

(7) Packages:
C
D
G
GC
L
LK
R
GW

18, 28, or 40-pin plastic DIP
28-pin ceramic DIP
24-pin plastic SOP
52-pin plastic QFP
44-or 68-pin PLCC
28-pin PLCC
68-pin ceramic PGA
32-pin SOP

(8) DDK-77220 is supported by Hypersignal Workstation/Window, a
DSP software platform from Hyperception.
(9) The NV-300 current version is Version 3.0. An upgrade from
previous versions (hardware and software) is available under the
designation NV-301.
(10) The NV-310 emulation board includes a simple 77P56 programmer module.

1-31

NEe

Development Tools for Micro Products
PG-1500 Programming Adapters
Target Chip

Socket Adapter
(Note 1)

Adapter Module
(Note 2)

Standard 27xxx EPROM Devices
IlPD27256 (21 V)
IlPD27256A (12.5 V)
IlPD27C256 (21 V)

027A Board
027A Board
027A Board

IlPD27C256A (12.5 V)
IlPD27C512
IlPD27C1000

027A Board
027A Board
027A Board

IlPD27C1001
IlPD27C1024

027A Board
027A Board

75xx Series Devices

Target Chip

Socket Adapter
(Note 1)

Adapter Module
(Note 2)

IlPD78CP14GF
IlPD78CP14L
IlPD78CP14R

PA-78CP14GF
PA-78CP14L
PA-78CP14GQ

027A Board
027A Board
027A Board

IlPD78CP18CW
IlPD78CP18GQ
IlPD78CP18GF

PA-78CP14CW
PA-78CP14GQ
PA-78CP14GF

027A Board
027A Board
027A Board

IlPD78CP18KB

PA-78CP14KB

027A Board

IlPD78P214CW
IlPD78P214GC
IlPD78P214GJ

PA-78P214CW
PA-78P214GC
PA-78P214GJ

027A Board
027A Board
027A Board

IlPD78P214GQ
IlPD78P214L
IlPD78P224GJ

PA-78P214GQ
PA-78P214L
PA-78P224GJ

027A Board
027A Board
027A Board

IlPD78P224L
IlPD78P238GC
IlPD78P238GJ

PA-78P224L
PA-78P238GC
PA-78P238GJ

027A Board
027A Board
027A Board

IlPD78P238KF
IlPD78P238LQ

PA-78P238KF
PA-78P238LQ

027A Board
027A Board

IlPD78P312ACW
IlPD78P312ADW
IlPD78P312AGF

PA-78P312CW
PA-78P312CW
PA-78P312GF

027A Board
027A Board
027A Board

IlPD78P312AGQ
IlPD78P312AL
IlPD78P312ARQ

PA-78P312GQ
PA-78P312L
PA-78P312GQ

027A Board
027A Board
027A Board

IlPD78P322GJ
IlPD78P322KC
IlPD78P322KD

PA-78P322GJ
PA-78P322KC
PA-78P322KD

027A Board
027A Board
027A Board

IlPD78P322L
IlPD78P334GJ
IlPD78P334KE

PA-78P322L
PA-78P334GJ
PA-78P334KE

027A Board
027A Board
027A Board

IlPD78P334LQ

PA-78P334LQ

027A Board

PA-70P322L

027A Board

782xx Series Devices

IlPD75P54CS
IlPD75P54G
IlPD75P56CS

PA-75P54CS
PA-75P54CS
PA-75P56CS

04A Board
04A Board
04A Board

IlPD75P56G
IlPD75P64CS
IlPD75P64G

PA-75P56CS
PA-75P54CS
PA-75P54CS

04A Board
04A Board
04A Board

IlPD75P66CS
IlPD75P66G

PA-75P56CS
PA-75P56CS

04A Board
04A Board

IlPD75POO8CU
IlPD75POO8GB
IlPD75P036CW

PA-75POO8CU
PA-75POO8CU
PA-75P036CW

04A Board
04A Board
04A Board

IlPD75P036GC
IlPD75P108BCW
IlPD75P108CW

PA-75P036GC
PA-75P108CW
PA-75P108CW

04A Board
04A Board
04A Board

IlPD75P108DW
IlPD75P108BGF
IlPD75P108G

PA-75P108CW
PA-75P116GF
PA-75P108G

04A Board
04A Board
04A Board

IlPD75P116CW
IlPD75P116GF
IlPD75P216ACW

PA-75P108CW
PA-75P116GF
PA-75P216ACW

04A Board
04A Board
04A Board

IlPD75P218CW
IlPD75P218GF
IlPD75P218KB

PA-75P216ACW
PA-75P218GF
PA-75P218KB

04A Board
04A Board
04A Board

IlPD75P308GF
IlPD75P308K
IlPD75P316GF

PA-75P308GF
PA-75P308K
PA-75P308GF

04A Board
04A Board
04A Board

IlPD75P316AGF
IlPD75P316AK
IlPD75P328GC

PA-75P308GF
PA-75P308K
PA-75P328GC

04A Board
04A Board
04A Board

IlPD77P56CR
IlPD77P56G
IlPD77P25C

PA-77P56C
PA-77P56C
PA-77P25C

04A Board
04A Board
027A Board

IlPD75P402C
IlPD75P402CT
IlPD75P402GB

(Note 3)
PA-75P402CT
PA-75P402GB

027A Board
027A Board
027A Board

IlPD77P25D
IlPD77P220R
IlPD77P230R

PA-77P25C
PA-77P230R
PA-77P230R

027A Board
027A Board
027A Board

IlPD75P516GF
IlPD75P516K

PA-75P516GF
PA-75P516K

04A Board
04A Board

Notes:

75xxx Series Devices

1-32

V-Series Devices
IlPD70P322K

Digital Signal Processors

(1) Adapters must be purchased separately.

78xx Series Devices
IlPD78CP14CW
IlPD78CP14DW
IlPD78CP14G36

783xx Series Devices

PA-78CP14CW
PA-78CP14CW
PA-78CP14GQ

027A Board
027A Board
027A Board

(2) The 27A and 04A Adapter Modules are shipped with the PG-1500.
(3) The IlPD75P402C does not require a programming socket
adapter. It can be plugged directly into the 027A board.

NEe

Reliability and Quality Control

'L1

IJ

NEe

Reli abi lity and Quality Control
Section 2
Reliability and Quality Control
Introduction

2-3

Built-In Quality and Reliability

2-3

Technology Description

2-3

Approaches to Total Quality Control

2-3

Implementation of Quality Control

2-5

Reliability Testing

2-7

Life Distribution

2-7

Failure Distribution at NEC

2-7

Infant Mortality Failure Screening

2-8

Long-Term Failure Rate

2-8

Accelerated Reliability Testing

2-8

Failure Rate Calculation/Prediction

2-9

Product/Process Changes

2-10

Failure Analysis

2-10

NEC's Goals on Failure Rates

2-10

Summary and Conclusion

2-10

Figure 1. Quality Control System Flowchart

2-5

Figure 2. New Product Development Flow

2-6

Figure 3. Electrical Testing and Screening

2-6

Figure 4. Reliability Life (Bathtub) Curve

2-7

Figure 5. Typical Reliability Test Results

2-9

Figure 6. NEC Quality and Reliability Targets

2-10

Appendix 1. Typical QC Flow

2-12

Appendix 2. Typical Reliability Assurance Tests

2-15

Appendix 3. New Product/Process Change
Tests

2-16

Appendix 4. Failure Analysis Flowchart

2-17

??

NEe

Reliability and Quality Control

Introduction

Approaches to Total Quality Control

As large-scale integration reaches a higher level of density, the reliability of individual devices imposes a more
profound impact on system reliability. Great emphasiS has
thus been placed on assuring device reliability.

TOC activities are geared towards total satisfaction of the
customer. The success of these activities is dependent
upon the total commitment of management to enhancing
employee development, maintaining a customer-first attitude, and fulfilling community responsibilities.

Conventionally, performing reliability tests and attaining
feedback from the field are the only methods by which
reliability has been monitored and measured. At these
higher levels of LSI density, however, it is increasingly
difficult to activate all of the internal circuit elements in a
device, moreover, to detect the degradation of those
elements by measuring characteristics across external
terminals. As a result, testing alone may not provide
enough information to insure today's demanding reliability
requirements. A different philosophy and methodology is
needed for reliability assurance.
In orderto guarantee and improve a high level of reliability
for large-scale integrated circuits, it is essential to build
quality and reliability into the product. Then, conventional
testing can be performed to confirm that the product
demonstrates acceptable reliability.

Built-In Quality and Reliability
NEC has introduced the concept of total quality control
(TOC) across its entire semiconductor product line for
implementing this philosophy. Rather than performing
only a few simple quality inspections, quality control is
distributed into each process step and then summed to
form a consolidated system. TOC involves workers, engineers, quality control staffs, and all levels of management in company-wide activities. Please see Figure 1 for
the quality control system flowchart. Through TOC, NEC
builds quality into the product and thus can assure high
reliability. Additionally, NEC has introduced a pre-screening
method into the production line for eliminating potentially
defective units. This combination of building quality in and
screening projected early failures out has resulted in
superior quality and excellent reliability.

Technology Description
Most large-scale integrated circuits utilize high density
MOS technology. State-of-the-art high performance has
been achieved by improving fine-line generation techniques. By reducing physical parameters, circuit density
and performance increase while active circuit power dissipation decreases. The data presented here shows thatthis
advanced technology, combined with the practice of TOC,
yields products as reliable as those from previous technologies.

10002

First, the quality control function is embedded into each
process. This method enables early detection of possible
causes of failure and immediate feedback.
Second, the reliability and quality assurance policy reflects
the beliefs and practices of the entire organization. This
enables companywide quality control activities: at NEC,
everyone is involved with the concept and methodology of
total quality control.
Third, there is an ongoing research and development effort
to set even higher standards of device quality and reliability.
Fourth, extensive failure analysis is performed periodically
and appropriate corrective actions are taken as preventative measures. Process control is based on statistical data
gathered from this analysis.
The new standard is continuously upgraded, and the
iterative process continues. The goal is to maintain the
superior product quality and reliability that has become
synonymous with the NEC name.

Zero Defect Activities. One of the activities that involves
every level of the NEC staff in quality control is the Zero
Defects (ZD) Program. As the name implies, the purpose
of the ZD program is to minimize, if not eradicate, defects
due to controllable causes. Such activities must involve
each and every worker and can be most effective when
pursued by groups of workers. The groups of workers are
organized by consideration of the following:
• A group must have a target to pursue
• Several groups can be organized to pursue the common target
• Each group must have a responsible person
• Each group is well supported
The item of the group target is to be selected among items
relating to specifications, inspections, operation standards,
and so forth. When data made in the past is available, it is
used to make a Pareto diagram which is reviewed for
selection ofthe item most conducive to quality improvement.
Records are analyzed and compared with the target, in
order to compute the numerical equivalents of the defects.
Action is then taken to control these defects as required.

2-3

2

Reliability and Quality Control

NEe

Figure 1. Quality Control System Flowchart
Manufacturing Facility
(Inspection) (Manufacturing)

Dapt

11

E
Q.
o

I

c
o

8
"0

e

Q.

iii
'C

I"0
C

I'CI

C
Cl

Daslgn Ravlaw

'cii

Spac/Eng Support

c
o

Confarenca on Mass Productlon/Sales

~

"e
Q.

ZII'CI

Praparatlon of Spac for
ManufacturlngfTestlQA

::E

Complaint
(Field Data)

In·Procass Quality Monitoring;
In·Procass Inspection;
Environment and Equipment
Control/Calibration;
Lot Control; Corrective
Actions; Data Analyslsl
Feedback; Etc.
83vO-6934B

2-4

NEe

Reliability and Quality Control

Statistical Approach. Another approach to quality control
is the use of statistical analysis. NEC has been utilizing
statistical analysis at each stage of LSI production development, trial runs, and mass production in order to build
and maintain product quality. Some of the methods for
implementing this statistical approach are:
• Design of experiments
• Control charts
• Data analysis:
• Cp, Cpk study:

Figure 2. New Product Development Flow

• Circuit Design
• Mask Pattern Layout
Manufacturing - - - - . .
• Package Design

.--'~--~----~

Variance, correlation, regression,
multivariance, etc.
VClriables and attributes data
(Normally, study is done on a
monthly basis)

Process control sheets and other QC tools are used to
monitor various important parameters such as Cp, Cpk, X,
X, X-R, electrical parameters, pattern dimensions, bond
strength, test percentage defects, etc.
The results ofthese studies are watched by the production
staff, QC Engineers, and other responsible engineers. If
any out-of-control or out-of-specification limit is observed,
quick action is taken in accordance with corrective action
procedures.
Implementation of Quality Control

Building quality into a product requires early detection of
possible causes of failure at each process step, then
immediate feedback to remove these causes. A fixed
station quality inspection is often lacking in immediate
feedback; it is therefore necessary to distribute quality
control functions to each process step-including the
conceptual stage. Following is a breakdown of the significant steps at which NEC has implemented these functions:
• Product development
• Incoming material inspection
• Wafer processing
• Chip mounting and packaging
• Electrical testing and thermal aging
• Outgoing material inspection
• Reliability testing
• Process/product changes
New Product Development Phase. The product development phase includes conception of a product, review of
the device proposal, physical element design and organization, engineering evaluation, and finally, transfer of the
product to manufacturing. Quality and reliability are considered at every step. The new product development flow
is shown in Figure 2.

83vO-6935A

2-5

NEe

Reliability and Quality Control
Design. Design plays an extremely important role in
determining the product quality and reliability. NEC believes thatthe foundation of device quality is determined at
the design stage. The four steps involved in the design of
LSI devices are circuit design, mask pattern layout, process and product manufacturing, and package design.
Design standards and the standardization of design steps
have been established to maximize quality and reliability.
Design Review. After completion of the design, a design
review is performed. In this review, the design is compared
with design standards and other factors which influence
the reliability and quality. If necessary, modification or
redesign is then performed. NEC believes that the design
review is very essential for not only newly designed products but also for product modifications.
Trial Production/Evaluation/Mass Production. When
the design passes the design review successfully, a trial
run is carried out. The trial run is evaluated forthe products'
characteristics and quality/reliability.
Thorough evaluation is carried out by generating samples
in which process conditions-ones that cause characteristic factors to change in mass production-are varied
deliberately. In addition, reliability tests are conducted for
durability, stress resistance, etc., to insure sufficient quality and reliability.

modes. The results of these inspections are used to rate
the vendors for future purchasing.
In-process Quality Inspections. Typical in-process
quality inspections done at the wafer fabrication, chip
mounting and packaging, and device testing stage are
listed in Appendix 1.
Electrical Testing and Screening. A flowchart of the
typical infant mortality screening (when required) and
electrical testing is depicted in Figure 3.
At the first electrical test, DC parameters are tested according to the electrical specifications on 1 00% of each lot.
This is a prescreening prior to any infant mortality test. At
the second electrical test, AC functional tests as well as DC
parameter tests are performed on 100% of each lot. If the
percentage of defective units exceeds the limit, the lot is
subjected to rescreen. During this time, the defective units
undergo failure analysis, the results of which are fed back
into the process through corrective actions.

Figure 3. Electrical Testing and Screening

DC Parameters
(Full AC/DC Testing

.------~~==:;r'"----'

If No 100% Burn-In)

If no problems are found at this stage, the product is
approved, after which mass production is possible.

*Whenever Required

Prior to the transfer, the production Design Department
prepares a production schedule, including the reliability
and quality control steps relating to the production. Even
after the mass-production has started, the standards for
those production and control steps are always reexamined
for improvements.

DC Parameters,
AC Functional

Incoming Material Inspection. NEC has various programs to control incoming materials. Some are:

No

• Vendor/material qualification system
• Purchasing specifications for materials
• Incoming materials inspection
• Inspection data feedback

Electrical,
Appearance, and
'-------,r--"'-~ Dimensions

• Quality meetings with vendor
• Vendor audits
If any parts or materials are rejected at incoming inspection, they are returned to the vendor with a rejection
notification form which specifies the failure items and

2-6

83vO·6936A

~EC

Reliability and Quality Control

Outgol~g Inspection. Prior to warehouse storage, lots
are subjected to an outgoing inspection according to the
following sampling plan.
.

• Electrical test:

DC parameters LTPD
Functional test LTPD

3%
3%

• Appearance:

Major LTPD
Minor LTPD

3%

FIgure 4. ReliabIlity LIfe (Bathtub) Curve

7%

Reliability Assurance Tests. Samples are continually
taken prior to shipment and subjected to monitoring reliability tests. They are tak~nfrom similar process groups, so
it may be assumed that the samples' reliability is representative of the reliability of the group.

Reliability Testing

Wearout
Period
Random Failure Period

Tlme-...
83vO·6937A

Reliability is defined as the characteristics of an item
expressed by the probability that it will perform a required
function understated conditions fora stated period of time.
This involves the concepts of probability, the definition of
required function(s), and the critical time used in defining
the reliability.
Definition of a required function, by implication, treats the
definition of a failure. Failure is defined as the termination
of the ability of a device to perform its required function. A
device is said to have failed if it shows the inability to
perform within guaranteed parameters as given in an
electrical specification.
Discussion of reliability and failure can be approached in
two ways: with respect to systems or to individual devices.
Important considerations are the constant failure period,
the early failure (infant mortality) period, and overall reliability level.
With regard to individual devices, areas of prime interest
include specific failur~ mechanisms, failures in accelerated tests, and failures in screening tests.
The accu mu lation of normal device failure rates constitutes
the expected failure rate of the system hardware: the
probability that no device failures will occur in a system is
the product of each device's probability that it will not fail.
, The failure rate of system hardware is then the sum of the
failure rates of the components used to construct the
system.

Life Distribution
The fundamental prinCiples of reliability engineering predict that the failure rate of a group of devices will follow the
well-known bathtub curve in Figure 4. The curve is divided
into three regions: infant mortality, random failures, and
wearout failures.

Infant mortality, as the name implies, represents the earlylife failures of devices. These failures are usually associated with one or more manufacturing defects.
After some period of time, the failure rate reaches a low
value. This is the random failure portion of the curve,
representing the useful portion of the life of a device.
During this random failure period, there is a decline in the
failure rate due to the depletion of potential random failures
from the general population.
'
Thewearoutfailures occur atthe end ofthe device's useful
life. They are characterized by a rapidly rising failure rate
over time as devices wear out both physically and electrically.
Thus, for a device that has a very long life expectancy
compared to the system which contains it, the areas of
concern will be the infant mortality and the random failure
portions of the ,bathtub curve.

Failure Distribution at NEe
In an effort to eliminate infant mortality failures, NEC
subjects its products to production burn-in whenever necessary. This burn-in is performed at an elevated temperature for 100 percent of the lots involved and is designed to
remove the potentially defective units.
To study the random failure population, integrated circuits
returned to NEC from the field undergo extensive failure
analysis at respective NEC Manufacturing Divisions. Failure mechanisms are identified and data fed back to cognizant Production and Engineering groups.
This data coupled with in~line dataisthen usedto introduce
corrective actions and quality improvement measures.

2-7

NEe

Reliability and Quality Control
After elimination of early device.failure·s, a system will be
left to the random failure rate of its components. Thus, in
order to make proper projections of the failure rate of the
system in the operating environment, failure rates must be
predicted for the system's components.
Infant Mortality Failure Screening

Establishing infant mortality screening requires knowledge of the likely failure mechanisms and their associated
activation energies. The most likely problems associated
with infant mortality failures are generally manufacturing
defects and process anomalies. These defeqs and anomalies generally consist of contamination, cracked chips,
wire bond shorts, or bad wire bonds. Since these describe
a number of possible mechanisms, anyone of which might
predominate at a given time, the activation energy for
infant mortality varies considerably.
Correspondingly, the effectiveness of a screening condition-preferably at some stress level in order to shorten
the screening time-varies greatly with the failure mechanism. For example, failures due to ionic contamination
have an activation energy of approximately 1.0 eV. Therefore, a 15-hou r stress at 125°G ju nctio n te mpe rature would
be the equivalent of approximately 314 days of operation
at a junction temperature of 55°G. On the other hand,
failures due to oxide defects hav~ an activation energy of
approximately 0.3 eV, and a 15-hour stress at 125°G
junction temperature would be the equivalent of approximately four day's operation at 55°Gjunction temperature.
As indicated by this situation, the conditions and duration
of infant mortality screening must be strongly dependent
on the allowable component, hence system, failures in the
field,as well as the ebonomic factors involved.
Empirical data gathered at NEG indicates that early failures (if any) occur after less than 4hours of stress at 125°G
ambient temperature. This fact is supported by the bathtub
curve created from the life test results ofthe same lots,
where the failure rate shows a random distribution as opposed to a decreasing failure rpte that runs into the random
failure region.

Long-Term Failure Rate
;

,

NEG's long-term failure rate goal, pased on the mask and
process design, is confirmed by life testing using the
following conditions:
• A minimum of 1.2 million device hours (= sample size x
test period) at 125°G should be accumulated to obtain
the accuracy necessary for predicting a failure rate of
0.02% per 1000 hours at 55°G with a 60% ponfidence
level.
• A minimumof3 million device hours at 125°G should be
accumulated to obtain the accuracy necessary for
predicting a failure rate of 0.01% per 1000 hours at 55°G
with a 60% confidence level.
Accelerated Reliability Testing

NEG performs extensive reliability testing both at, preproduction and post-production levels to insure that its
products meet the minimum expectations set by NEG.
Accelerated reliability testing results are then used to
quantitatively monitor the reliability.
As an example, assume that an electronic system contai ns
1000 integrated circuits and can tolerate 1 percent system
failures per month. The failure rate per component is:
1% Failures
= .0014 % Failures
720 Hours x 1000 Pcs.
1000 Hrs
or 14 FITs
To demonstrate this failure rate, note that 14 FITs correspond to one failure in about 85 devices during an operating test of 10,000 hours. It is quickly apparent that a test
condition is required to accelerate the time-to-failure in a
predictable and understandable way. The i~plicit requirement for the accelerated stress test is that the relationship
between the accelerated stress testing condition and the
condition of actual use be known.

Whenever necessary, NEG has adopted this initial infant
mortality burn-in at 125°G as a standard production screening proce.dure. As a result, th.e field reliability of NEG
devices is an order of magnitude higher than the goal set
for NEG's integrated circuit products.

A most common time-to-failure relationship involves the
effect of temperature, which accelerates many physiochemical reactions which may lead to device failure. Other
environmental conditions are voltage, current, humidity,
vibration, or some combination of these. Appendix 2 lists
typical reliability assurance tests performed at NEG for
molded integrated circuits. Figure 5 shows the results of
some of these tests for various process,types.

NEG believes it is imperative thaUailure modes associated
with infant mortality screens be understood and fixed atthe
manufacturing level. If such failures can be minimized or
eliminated, and countermeasures appropriately monitored,
then such screens can be eliminated.

High-Temperature Operating Life Test. This test is used
to accelerate failure mechanisms by operatir:tg devices at
an elevated temperature of ·125°G. The data ()btained is
translated to a lower temperature by using the Arrhenius
relationship.

2-8

ttiEC

Reliability and. Quality Control

Figure 5. Typical Reliability Test Results

Micro:

HTB

T/H

PCT

NMOS

7/19113
(15 FIT)

15/9315

0/11752

CMOS

3/11892 .
(5.4 FIT)

217293

8/9476

DRAM2

10/10052
(19 FIT)

0/9958

0/5880

SRAM3

1/10421

218142

0/8768

38/14300
. (115 FIT)

0/3634

1/3060

213506
(33 FIT)

1/1111

TIC

1

Memory:

[HTOl)

1 MEG DRAM4

1/2995

1/1780

In some cases, an average activation energy is assumed
in order to accomplish, a quick first order approximation.
NEC assumes an average activation energy of 0.7 eV for
such approximations. This average value has been assessed from extensive reliability test results and yields a
conservative failure rate.
Since most semiconductor failures are temperature dependent, the Arrhenius relationship is used to normalize
failure rate predictions at a system operation temperature
of 55°C. It assumes that temperature dependence is an
exponential function that defines the probability of occur-a
rence, and that the degradation of a performance parameter is linear with time. The Arrhenius model includes the
effects of temperature and activation energies of the
failure mechanisms in the following Arrhenius equation:
A

=

exp -EA (TJl - TJ2 )

Asic: 5
CMOS
ECl

0/1080
(8.4 FIT)

BiCMOS

1/895
(18 FIT)

1/4764·

0/141
0/1073

0/935

k(TJ1 ) (TJ2 )

4/2680

0/1781

Information has been extracted from NEC Report Numbers:
TRQ-89-05-0030
2TRQ-89-01-0021
3TRQ-88-09-0008
4TRQ-89-01-0020
5 TRQ-89-04-0025
1

Where:
A = Acceleration factor
EA = Activation energy
TJl = Junction temperature (in K)
at TAl = 55°C
TJ2 = Junction temperature (in K)
at TA2 = 125°C
k = Boltzmann's constant
= 8.62 x 10-5 eV/K.

High-Temperature and High-Humidity Test. Semiconductor integrated circuits are highly sensitive to the effect
of humidity causing electrolytic corrosion between biased
lines. The high-temperature and high-humidity testis performed to detect failure mechanisms that are accelerated
by these conditions, such as leakage-related problems
and drifts in device parameters due to process instability.

Because the thermal resistance and power dissipation of
a particular device type cannot be ignored, junction
temperatures (TJl and TJ2) are used instead of ambient
temperatures (TAl and T A2). We calculate junction
temperatures using the following formula:

High-Temperature Storage Test. Another common test
is the high-temperature storage test, in which devices are
subjected to elevated temperatures with no applied bias.
This test is used to detect proces.s instability and stress
migration problems.
'

In orderto estimate long ferm failure rate, the acceleration
factor must be used to determine the simulated test time.
From the high temperature operating life test results,
. failure rates can then be predicted at a 60% confidence
level using the following equation:

Environmental Tests. Other environmental tests are performed to detect problems related to the package, material, susceptibility to extremes in environment, and problems related to usage of the devices.

Failure Rate Calculation/prediction
When predicting the failure rate at a certain temperature
from accelerated life test data, the activation energies of
the failure mechanisms involved should be considered.
This is done whenever the exact cause of failures is known
through failure analyses results.

TJ = TA + (T~ermal Resistance) (Power Diss. at TA )

L =

X2 105
2T

Where:
L
*X2

= Failure rate in %/1000 hours
= The tabular value of chi-squared distribution at a
given confidence level and calculated degrees of
freedom (2f + 2, where f = number of failures)

T

=

# of equivalent device hours
(# of devices) x (# of test hours)
x (acceleration factor)

2-9

NEe

Reliability and Quality Control
*Since the failures of concern here are the random, not the
infant mortality failures (that is, the end of the downward
slope and the middle-constant-section ofthe bathtub curve
in Figure 4), X2 is determined assuming a one-sided, fixed
time test.
Another method of expressing failures is in FITs (failures
in time). One FIT is equal to one failure in 109 hours. Since
L is already expressed as %/1000 hours (10-5 failure/hr) ,
an easy conversion from %/1000 hours to FIT would be to
multiply the value of L by 104 •
EXAMPLE: A sample of 960 pieces was subjected to
1000 hours 125°C burn-in. One reject was observed.
Given that the acceleration factor was calculated to be
34.6 using the Arrhenius equation, what is the failure rate
normalized to 55°C using a confidence level of 60%?
Express the failure rate in FIT:

Solution:
For n =2f + 2 = 2(1) + 2 = 4, X2 = 4.046.
2

Then L

5

X 10
= 2T

(%/1000 hour)

5

= 0.0061

Therefore, FIT = 0.0061 • (104 )

As mentioned previously, a design review is performed for
product modifications or changes. Once the design is
approved, and processes altered (if necessary) for maximum quality, the device goes through qualification testing
to check the reliability. If the test results are acceptable,
the product is released for mass production.
Testing is also performed when only a process modification or change is made.
The typical qualification/process change tests are listed in
Appendix 3.

Failure Analysis
At NEC, failure analysis is performed not only on field failures, but also routinely on products which exhibit defects
during the production process. This data is closely checked
for correlation with the production process quality information, inspection results, and reliability test data. Information derived from these failure analyses is used to improve
product quality.
As there are a lot of failure mechanisms of LSI devices,
highly advanced analytical technologies are required to
investigate such failures in detail. The standard failure
analysis flowchart relating to the returned products from
customers is shown in Appendix 4.

X2 105
(%/1000 hr)
2 (# of dev.) (# of test hrs.) (acel. factor)
(4.046)
10
2(960) (1000) (34.6)

Product/Process Changes

(%/1000 hr)

= 61

NEe's Goals on Failure Rates
The reject rate at customer's incoming inspection, the
infant mortality rate, and the long term reliability, are all
monitored and checked against NEC's quality and reliability
targets (listed in Figure 6).

Figure 6. NEe Quality and Reliability Targets
Reject Rate at Customer's
Incoming Electrical Inspection (PPM)
Memory
EClRAM

MOS

1988

150

50

1990

100

50

2-10

Infant Mortality (RT)

...

Gate Arrays

J1COM

Year

Long Term Reliability (AT)
Memory

Gate Arrays .

J1COM

BICMOS

ECl

CMOS

EClRAM

MOS

100

1000

300

300

100

50

100

500

200

150

80

50

Memory

J1COM

Gale Arrays
BiCMOS

EClRAM MOS

Eel CMOS

BiCMOS

ECl

CMOS

100

1000

300

150

100

100

150

1000

300

400

80

500

250

100

80

100

150

500

250

300

NEe
Summary and Conclusion

As has been discussed, building quality and reliability into
products is the most efficient way to ensure product
success. NEC's approach of distributing quality control
functions to process steps, then forming a total quality
control system, has produced superior quality and excellent reliability.
Prescreening, whenever necessary, has been a major
factor in improving reliability. In addition, monthly reliability assurance tests have ensured high outgoing quality
levels.

Reliability and Quality Control
The combination of building quality into products, effective
prescreening of potential failures, and monitoring of reliability through extensive testing, has established a singularly high standard of quality and reliability for NEC's largescale integrated circuits.
Through a companywide quality control program, continuous research and development activities, extensive failure
analysis, and process improvements, this higher standard
of quality and reliability will continuously be set and maintained.

2-11

NEe

Reliability and Quality Control
Appendix 1
Typical QC Flow for CMOS Fabrication
WAFER FABRICATION PROCESS QC FLOW (CMOS)
FLOW

PROCESS MATERIAL

IN-PROCESS INSPECTION/QUALITY MONITOR

Silicon Wafer
Incoming
Inspection

Resistivity (sampling by lot)
Dimension (sampling by lot)
Visual (sampling by lot)

Wall
Formation
Oxidation
Photo LIthography

Oxide Thickness (sampling by lot)
Alignment and Etching Accuracy (sampling by lot)
Layer Resistance (sampling by day)

Ion Implantation
Field
Formation
Deposition
Photo Lithography

Deposit Thickness (sampling by lot)
Alignment and Etching Accuracy (sampling by lot)
Oxide Thickness (sampling by lot)

Oxidation
Channel Stopper
Formation
Photo Lithography
Ion Implantation
Oxidation

Alignment and Etching Accuracy (sampling by lot)
Layer Resistance (sampling by lot
Oxide Thickness (sampling by lot)

Gate
Formation
Deposition
Doping
Photo LIthography

Deposit Thickness (sampling by lot)
Layer Resistance (sampling by lot)
Alignment and Etching Accuracy (sampling by lot)
Gate Electrode Width (sampling by lot)

pIn SD Formation
Photo Lithography

Alignment and Etching Accuracy (sampling by lot)
Layer Resistance (sampling by lot)

Ion Implantation
Anneal
Contact
Hole
Deposition
Photo Lithography

Deposit Thickness (sampling by lot)
Alignment and Etching Accuracy (sampling by lot)

Metallization
Metal Deposition
Photo Lithography

Metal Thickness (sampling by run)
Alignment and Etching Accuracy (sampling by lot)
Parametric Test (sampling by lot)

Alloy
Passivation
Deposition
Photo Lithography

Deposit Thickness (sampling by lot)
Alignment and Etching Accuracy (sampling by lot)

Wafer Sort

Contact Hoie and Metallization Steps are Repeated Twice
83vQ-69398

2-12

NEe

Reliability and Quality Control

Appendix 1
Typical QC Flow for PLCC Assemblyffest
The Check of Manufacturing Conditions
Process/Materials

1

Sorted Wafers

2

Wafer Visual

3

Dicing

4

Break and Expand

5

Die Visual Inspection

Check
Items

Table Speed
DIWater
Blade Height
Wafer Break
Conditions

The Check of Manufacturing Qualities

Checked
By

Frequency

Instrument

Every
Shift

Indicators
Gauges

P.C.

Every
Shift

Indicators
Gauges

P.C.

Check
Item

Checked
By

Frequency

Instrument

Wafer Visual

100%

(Naked Eye)

Operator

Sawing
Dimensions

Before
Running

Operator

Wafer Visual

100%

Microscope
with Filter
Eyepiece
(Naked Eye)

Die
Visual

Every Lot
Sampling
(Or 100%)

Microscope

Operator

Die Visual
Epoxy
Coverage

Every
Magazine

(Naked Eye)

Operator

Every Shift

Microscope

Operator

Wafer Expand
Conditions

Lead Frames

DieAltached
Conditions

7

Die Attached

Temperature

Epoxy Cure
(Not Done for Gold
Die Attached product)

Heat
Temperature
N 2 Flow

Every
Shift

Indicators
Gauges

P.C.

Shear
Strength

Every
Shift

Dynamometer

Operator

8

Bonding
Conditions

Every
Shift

Indicators

P.C.

Visual

Every
Magazine

Microscope

Operator

Temperature

Every
Week

Thermocouple
and
Potentiometer

P.C.

Wire Pull
Test

Every
Shift

Tension
Gauge

Operator

Die
Visual

Every Lot
Sampling
(or 100%)

Microscope

Inspector

Visual

100%

(Naked Eye)

Operator

Visual

Every Lot

(Naked Eye)

Operator

6

~

Fine Wire

10

Wire Bonding

11

Pre-Seal Visual
Inspection

~
13

Molding Compound

Molding

Temperature
of Pellet,
Expiration Date
Temperature
Profile of
Die Set

Every
Shift

Every
Shift

Indicators
Thermocouple,
Potentiometer

P.C.

Thermocouple

P.C.

Every Shift Thermocou pie,
Potentiometer

P.C.

Preheat
Temperatue
Pressure
Cure Time

14

Mold Aging

Temperature

Every Shift

Indicator

P.C.

15

Deflashing

Deflashing
Conditions

Every Shift

Indicators

P.C.

Titration

Tech.

Concentration Every Week
Density
Water Jet
Pressure

0

Plating

Plating
Conditions

Every Week Density Meter

Tech.

Every Day

Gauge

Tech.

Every Day

Indicators

P.C.

Titration

Tech.

Concentration Every Week

83VQ-6914OB

2-13

II

NEe

Reliability and Quality Control
Appendix 1
Typical QC Flow for PLCC Assemblynest (Cont.)

The Check of Manufacturing Qualities

The Check of Manufacturing Conditions
Process/Materials

G
~

Check
Items

Marking Ink
Marking

20

Mark Cure

21

Lead Forming

22

Final Assembly Inspection

23

1st Electrical Sorting

Checked
By

24

Burn-In (Whenever Necessary)

25

1st Electrical Sorting

26

Reliability Assu.rance Test

In-Warehouse Inspection

Check
Item

Frequency

Instrument

Checked
By

Visual

Every Lot

(Naked Eye)

Technician

Plating
Thickness

Every Lot

X-ray

Technician

Composition

Every Lot

X-ray

Technician

Solderability

Once/Day

(Naked Eye)

Technician

Marking
Conditions

Every Shift

Indicators

P.C.

Visual

Every Lot

(Naked Eye)

Operator

Temperature

Every
Shift

Thermocouple

P.C.

Marking
Permanency

Twice/Shift

Automatic
Tester

Operator

Dimensions

Every Shift
(Before
Running)

Test Jig.
Caliper

Operator

Visual

Every lot

(Naked Eye)

'Operator

Visual

Every Lot

Magnifying
Lamp

Operator

P.M. Check

28

Instrument

Plating Inspection

19

27

Frequency

Every Day

P.M. Jig.

Operator

Sample
Check

Before
Testing

Test
Samples

Operator

Burn-In
Conditions

Every
Batch

Indicator

P.C.

Every Day

P.M. Jig.

Operator

Before
Testing

Test
Samples

Operator

Electrical
Characteristics

100%

ICTester

Operator

Electrical
Characteristics

100%

ICTester

Operator

Electrical
Characteristics

Every Lot

ICTester

Inspector

Visual (Major)

Every Lot

(Naked Eye)
and
Microscope

Inspector

Visual (Minor)

Every Lot

(Naked Eye)

Inspector

Every
Month
Every Day

P.M. Jig.

Before
Testing

Test
Samples

Warehousing

83vQ-69416

2-14

NEe

Reliability' and Quality Control

Appendix 2
Typical Reliability Assurance Tests
The life tests performed by NEC consistof high temperature
bias life (HTB), high temperature storage life (HTSL), high
temperature/high humidity (T/H) , and high humidity storage
life (HHSL) tests. Additionally, various environmental and

mechanical tests are performed. The table below shows
the conditions of the various life tests, envi ro nmental tests,
and mechanical tests.

Symbol

MIL·STD·883C
Method

High Temperature
Bias Life

HTB

1005

TA = 125"C, Voo specified per device type.

(Note 1)

High Temperature
Storage Life

HTSL

1008

TA = 150"C.

(Note 1)

High Temperaturel
High Humidity

TIH

TA =85"C, RH =85%, Voo =5.5 V.

(Note 1)

TA =85"C, RH =85%.

(Note 1)

TA = 125"C, P =2.3 atm.

(Note 1)

Test Item

High Humidity
Storage Life

HHSL

Condition

Remarks

Pressure Cooker

peT

Temperature Cycling

TIC

1010

- 65"C to 150"C, 1 hr/cycle.

(Note 1)

Lead Fatigue

C3

2004

90 0 bends. 3 bends wnhout breaking.

(Note 2)

Solderability

C4

2003

230"C, 5 sec, Rosin Base Flux.

(Note 3)

Soldering Heat!
Temperature Cyclel
Thermal Shock

C6

(Note 4)
1010
1011

260"C, 10 sec, Rosin Base Fluxl
10-1 hr cycles, -S5"C to 150"C1
15-10 min cycles, O"C to 100"C

(Note 1)

Notes:
(1) ElectriCal test per data sheet is performed. Devices that exceed the data
sheet limits are considered to be rejects.

(3) Less than 95% coverage is considered to be a reject.
(4) MIL-STD-750A, method 2031.

(2) Broken lead is considered to be a reject.

2-15

II

NEe

Reliability and Quality Control'
Appendix 3

New Product / Process Change Tests
Newly
Developed
Product

Shrink
Ole

New
Package

Wafer

Assembly

Test Item

Test Conditions

Sample Size

High Temp.
Operating Life

See Appendix 2, 1000H

20 to SO pes
X 1 t0310ts

0

0

0

0

0

High Temp.
Storage Life

T = 150"C (Plastic),
17S"C (Ceramic), 1000H

10t020 pes
X1t0310ts

0

0

0

0

0

High Temp. and
Humidity Bias Life
(Plastic Device)

See Appendix 2, 1000H

20 to SO pes
X 1 to 3 lots

0

0

0

0

0

Pressure cooker
(Plastic Device)

See Appendix 2, 288H

10to 20 pes
X 1 t0310ts

0

0

0

0

0

Thermal
Environmental

See Appendix 2

10t020 pes
X 1 to 3 lots

0

X

0

X

0

Mechanical
Environmental
(Ceramic Device)

20G, 10 to 2000 Hz
1S00G, O.S ms
20000G, 1 min

10 to 20 pes
X 1 to 3 lots

0

X

0

X

0

Lead Fatigue

See Appendix 2 .

Spes
X1t0310ts

X

X

X

Solderabil~y

See Appendix 2

Spes
X 1 to 3 lots

X

X

X

ESD

(1) C =200 pF, R =on
(2) C =100 pF, R =1.S Kn

20 pes
X1t0310ts

0

0

X

0

X

Long Term TIC

See Appendix 2, 1000 cy

10 to SO pes
X1t0310ts

0

0

0

0

0

O-Performed

2-16

X - Perform if Necessary

- - Not Performed

NEe

Reliability and Quality Control

Appendix 4
Failure Analysis Flowchart

'------INFORMATION
Failure mode:
Situation, When Failure
Appeared: etc.

II
DC/Function Testing
by Tester Curvet racer

Ves
Test correlation
May be Needed

Due to the Case: X-ray Fluoroscope,
Hermetical Test, Dew-point Test,
Curvet racer Check, etc.

Decapsulation, Internal Visual
Check, Electrical Measurement,
Circuit Analysis

Etching the PaSSivation, etc.
SEM, XMA, Cross-section, etc.

Estimation of Causes
Countermeasures
Corrective Action
83vO·6938A

2-17

Reliability and Quality Contr-ol

2-18

NEe

NEe

16·BitCPUs

3-1

NEe

16·Bit CPUs
Section 3
16-Bit CPUs
I'PD70108 (V20), 70108H (V20H)

3a

16-Bit Microprocessor:
High-Performance, CMOS
I'PD70116 (V30), 70116H (V30H)

3b

16-Bit Microprocessor:
High-Performance, CMOS
I'PD70208 (V40)

3c

8/16-Bit Microprocessor:
High-Integration, CMOS
I'PD70216 (V50)

3d

16-Bit Microprocessor:
High-Integration, CMOS
I'PD70136 (V33)

3e

16-Bit Microprocessor:
High-Speed, CMOS
I'PD70236 (V53)

16-Bit Microprocessor:
High-Speed, High-Integration, CMOS

3-2

3f

NEC

NEe Electronics Inc.

pPD70i08 (V20), 70~08H (V20H)
i6·Bit Microprocessor:
High·Performance, CMOS

Description

Ordering Information

ThepPD70108 (V20®) is a CMOS 16-bit microprocessor
with internal 16-bit arch itectu re and an 8-bit external
data bus. The pPD701 08 instruction set is a superset of
thepPD8086/8088; however, mnemonics and execution
times are different. The pPD70108 additionally has a
powerful instruction set including bit processing,
packed BCD operations, and high-speed multiplication/
division operations. The pPD70108 can also execute
the entire 8080 instruction set and comes with a
standby mode that significantly reduces power consumption. It is software-compatible with thepPD70116
16-bit microprocessor.

Part
Number

The H-series microprocessors are fully static devices
that offer operating frequencies to 16 MHz, lower
power consumption, and no restriction on minimum
clock frequency from dc to 16 MHz.

Max Frequency
of Operation

Package Type

8 MHz

40-pin plastic DIP

Standard Series

JlPD70108C8
C10

10 MHz

L8

8 MHz

L10

10 MHz

GC8

8 MHz

GC10

10 MHz

JlPD701 08HC1 0

10 MHz

H-Series

HC12

12 MHz
16 MHz

Features

HL 10

10 MHz

o

HL 12

12 MHz

D

o
o

D

o

D
D

o
o
o
o
o
o

D

o
o
o

D
D

o

V20 is a registered trademark of NEC Corporation.

52-pin plastic QFP
(P52GC-100-386)

- - - - -

HC16

Minimum instruction execution time: 250 ns
at 8 MHz, 200 ns at 10 MHz, 125 ns at 16 MHz
Maximum addressable memory: 1 Mbyte
Abundant memory addressing modes
14 x 16-bit register set
101 instructions
Instruction set is a superset of pPD8086/8088
instruction set
Bit, byte, word, and block operations
Bit field operation instructions
Packed BCD instructions
Multiplication/division instruction execution time:
2.4 to 7.1 ps at 8 MHz, 1.9 to 5.7 ps at 10 MHz
High-speed block transfer instructions:
1 Mbyte/s at 8 MHz, 1.25 Mbyte/s at 10 MHz
High-speed calculation of effective addresses:
2 clock cycles in any addressing mode
Maskable (INT) and nonmaskable (NMI)
interrupt inputs
IEEE-796 bus compatible interface
8080 emulation mode
CMOS technology
Low power consumption
Low-power standby mode
Minimum-power Stop mode (H-SeJies)
Single power supply; 5-V and 3-V specifications
Maximum operating frequencies: 8 to .16 MHz

44-pin PLCC

HL16

16 MHz

HGC10

10 MHz

HGC12

12 MHz

HGC16

16 MHz

40-pin plastic DIP

44-pin PLCC

52-pin plastic QFP
(P52GC-100-386)

Pin Configurations
40-Pin Plastic DIP
Voo

IC
A14

A15

A13

38

A16/PSO

A12

37

A17/PS1

A11

5

36

A1S/PS2

A10

6

35

A19/PS3

A9

34

lBSO [HIGH]

As

33

S/LG

AD7
AD6

10

JlPD
70108

32

RD

31

HlDRQ [Aa/AKO]

AD5

11

30

HlDAK [Aa/AK1]

AD4

12

29

WR [BUSlOCK]

AD3

13

28

IO/M [BS2]

AD2

14

27

BUFR/W [BS1]

AD1

15

26

BUFEN [BSo]

ADo

16

25

ASTB[QSo]

NMI

17

24

INTAK [QS1]

INT

18

23

POll

ClK

19

22

READY

GND

20

21

RESET
83-004104B

ED
.

NEe

pPD701 08 (V20)
Pin Configurations (cont)

Pi n Identification
Symbol

44-Pln Plastic Leaded Chip Carrier (PLCC)

Direction

IC·

Internally connected
Out

A14 - As
AD? - ADo

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Function

In/Out

Address bus, middle bits
Address/data bus

NMI

In

Nonmaskable interrupt
input

INT

In

Maskable interrupt input

ClK

In

Clock input
Ground potential

GND

A18/PS2

40

28

A17IPS1

41

27

INTAK [OS1]

RESET

In

Reset input

A16/PSO

42

26

POll

READY

In

Ready input

A15

43

25

READY
RESET

POll

In

Poll input

GND

INTAK (QS1)

Out

Interrupt acknowledge
output (queue status bit 1
output)

ASTB (QSo)

Out

Address strobe output
(queue status bit 0 output)

BUFEN (BSo)

Out

Buffer enable output (bus
status bit 0 output)

BUFR/W (BS1)

Out

Buffer read/write output
(bus status bit 1 output)

10/M (BS2)

Out

Access is I/O 'or memory
(bus status bit 2 output)

WR (BUS lOCK)

Out

Write strobe output (bus
lock output)

HlDAK (RQ/ AK1)

Out
(In/Out)

Holdacknowledgeoutput,
(bus hold request
input! acknowledge
output 1)

HlDRQ (RQ/ AKa)

In")
(In/Out)

Hold request input (bus hold
request input! acknowledge
output 0)

Voo

44

GND

1

IC

2

0

tiP 0
70108

GND
21

A14

ClK

A13

INT

A12

NMI

A11

NC

83-0041028

52-Pin Plastic QFP

o

RD

INTAK [OS1]

S/lG

In

A16/PSo

37

POll

Small-scale/ large-scale
system input

A15

36

READY

Voo
Voo

35

RESET

lBSO (HIGH)

Out

34

GND

latched bus status output 0
(always high in large-scale
systems)

tlPD

Out

Read strobe output

ASTB [OSo]
38

A18/PS2
A17/PS1

33

GND

GND

32

NC

31

GND

A19 /PS 3 A16/ PS O

Out

IC

Address bus, high bits or
processor status output

A15

Out

Address bus, bit 15

GND

70108

A14

10

30

ClK

A13

11

29

INT

A12

12

28

NMI

A11

13

27

NC

Power supply

VDD
Notes: *

Ie should be connected to ground.

Where pins have different functions in small- and largescale systems, the large-scale system pin symbol and
function are in parentheses.
83-0041038

2

Unused input pins should be tied to ground or VDD to
minimize power dissipation and prevent the flow of potentially harmful currents.

NEe

J.lPD701 08 (V20)

Block Diagram
Inlernal Address/Data Bus
A16/PSo ~ A19/PS3
As-A15
Bus
Buffer

lBSO
BUFEN [BSo], BUFFI/W[BS1]
101M [BS2]
ASTB rOSol, INTAK [OS1]
RD, WR [BUS LOCK]
PS
Status
Control

SS
DSo

S/LG
READY
RESET
POLL

HLDRO (FlQ/AKo]

00

HLDAK [RQ/AK1]

NMI
INT

LC
L

r-

_ _S_ta_"_d_by_----I'Control

ClK

PC

Bus
Control
Unit
[BCUj

AW

Execution
Unit
[EXUj

BW
Effective Address
Generator

CW
OW
IX
IY
BP
SP

Microinstruction
Storage

29

Micro Data Bus

TC

§:
en

:I

III

co
co

o

.,
.,
:I

:I

Microsequence
Control

o

Instruction Decoder

PSW

Sub Data Bus [16]

Main Data Bus [16]
83-000072C

3

NEe
Pin Functions
Some pins of the pPD701 08 have different functions
according to whether the microprocessor is used in a
small- or large-scale system. Other pins function the
same way in either tYPE3 of system.

A15 - As [Address Bus]
For small- and large-scale systems.
The CPU uses these pins to output the middle 8 bits of
the 20-bitaddress data. They are three-state outputs
and become high impedance during hold acknowledge.

AD7 - ADo [Address/Data B.us]
For small- and large-scale systems.
. The CPU uses these pins as the time-multiplexed
address and data bus. When high, an AD bit is a one;
when low, an AD bit is a zero. This bus contains the
lower 8 bits of the 20-bit address during T1 of the bus
cycle and is used as an 8-bit data bus during T2, T3,
and T 4 of the bus cycle.
Sixteen-bit data I/O is performed in two steps. The low
byte is sent first, followed by the high byte. The ~d­
dress/data bus is a three-state bus and can be at a high
or low level during standby mode. The bus will be high
impedance during hold and interrupt acknowledge.

NMI [Nonmaskable Interrupt]
For small- and large-scale systems.
This pin is used to input nonmaskable interrupt
requests. NMI cannot be masked by software. This
input is positive edge triggered and must be held high
for five clocks to guarantee recognition. Actual interrupt processing begins, however, after completion of
the instruction in progress.
The contents of interrupt vector 2 determine the
starting address for the interrupt-servicing routine.
Note that a hold request will be accepted even during
NMI acknowledge.
This interrupt will cause the pPD70108 to exit the
standby mode.

INT [Maskable Interrupt]
For small- and large-scale systems.
This pin is an interrupt request tha,.t can be masked by
software.
INT is active high level and is sensed during the last
clock of the instruction. The interrupt will be accepted
if the interrupt enable flag I E is set. The CPU outputs
the INTAK signal to inform external devices that the
interrupt request has been granted. INT must be
asserted until the interrupt acknowledge is returned.
If NMI and INT interrupts occur at the same time, NMI
has higher priority than INT and INT cannot be

4

accepted. A hold request will be accepted during INT
acknowledge.
This interrupt causes the pPD701 08 to exit the standby
mode.

ClK [Clock]
For small- and large-scale systems.
This pin is used for external clock input.

RESET [Reset]
For small- and large-scale systems.
This pin is used for the CPU reset signal. It is an active
high level. I nput of this signal has priority over all other
operations. After the reset signal input returns to a low
level, the CPU begins execution of the program starting
at address FFFFOH.
In addition to causing normal CPU start, RESET input
will cause the pPD701 08 to exit the standby mode.

READY [Ready]
For small- and large-scale systems.
When the memory or I/O device being accessed
cannot complete data read or write within the CPU
basic access time, it can generate a CPU wait state
(Tw) by setting this signal to inactive (low level) and
requesting a read/write cycle delay.
If the READY signal is active (high level) during either
the T3 or Tw state, the CPU will not generate a wait
state. READY is not synchronized internally. To
guarantee correct operation external logic must ensure
that setup and hold times relative to ClK are met.

POLL [Poll]
For small- and large-scale systems.
The CPU checks this input upon execution of the POll
'instruction.lfthe input is low, then execution continues.
If the input is high, the CPU will check the POll input
every five clock cycles until the input becomes low
again.
The POll and READY functions are used to synchronize CPU program execution with the operation of
external. devices.

RD [Read Strobe]
For small- and large-scale systems.
The CPU outputs this strobe signal d~ing data read
from an I/O device or memory. The 10/M signal is used
to select between I/O and memory.
The three-state output is held high during standby
mode and enters the high-impedance state during hold
acknowledge.

NEe

pPD70108(V20)

S/LG [Small/Large]
For small- and large-scale systems.

10/M's output is three state and becomes high
impedance during hold acknowledge.

This signal determines the operation mode of the CPU.
This signal is fixed at either a liigh or 10V,llIevei. When
this signal is a high level, the CPU will operate in smallscale system mode, and when low, in the large-scale
system mode. A small-scale system will have at most
one bus master such as a DMA controller device on the
bus. A large-scale system can have more than one bus
master accessing the bus as well as the CPU.

WR [Write Strobe]

INTAK [Interrupt Acknowledge]
For small-scale systems.
The CPU generates the INTAK signal low when it
accepts an INT signal.
The interrupting device synchronizes with this signal and
outputs the interrupt vector to the CPU via the data bus
(AD? - ADo). INTAK is a held at a high level in the
standby mode.

ASTB [Address Strobe]
For small-scale systems.
The CPU outputs this strobe signal to latch address
information at an external latch.
ASTB is held at a low level during standby mode and
hold acknowledge:

--BUFEN. [Buffer Enable]
. For small-scale systems.

This is used as the output enable signal for an external
bidirectional buffer. The CPU generates this signal during
data transfer operations with external memory or
I/O devices or during input of an interrupt vector.
This three-state output is held high during standby
mode and enters the high-impedance state during hold
acknowledge.

For small-scale systems.
The CPU generates this strobe'signal during data write
to an I/O device or memory. Selection of either I/O or
memory is performed by the 10/M signal.
.
This three-state output is held high during standby
mode and enters the high-impedance state during hold
acknowledge.

HLDAK [Hold Acknowledge]
For small-scale systems.
The HLDAK signal is ,used to indicate that the CPU
accepts the hold request signal (HLDRQ). When this
signal is a high level, the address bus, address/data
bus, and the control lines become high impedance.

HLDRQ [Hold Request]
For small-scale systems.
This input signal is used by external devices to request
the CPU to release the address bus, address/data bus,
and the control bus.

LBSO [Latched Bus Status 0]
For small-scale systems.
The CPU uses this signal along with the 10/M and
BUFR/W signals to inform an external device what the
cu rrent bus cycle is.

101M

BUFR/W

LBSO

0

0

0

0

0

1

Memory read

0

Memory write

0

Program fetch

1

1

Passive state

BUFR/W [Buffer Read/Write]

0

0

Interrupt acknowledge

For small-scale systems.

0

The output of this signal determines the direction of
data transfer with an external bidirectional bl,lffer. A
high output causes transmission from the GPU to the
external device; a low signal causes data transfer from
the external device to the CPU.
'

0

Bus Cycle

I/O read
0

I/O write
Halt

BUFR/W is a three-state output and becomes high
impedance during hold acknowledge.

IO/M [IO/Memory]
For small-scale systems.
The CPU generates this signal to specify either I/O
access or memory access. A high-level output specifies
I/O and a low-level signal specifies memory.

5

NEe

pPD70108 (V20)
A19/PS3- A16/PSO [Address Bus/Processor Status]
For small- and large-scale systems.
These pins are time multiplexed to operate as an
address bus and as processor status signals.
When used as the address bus, these pins are the high 4
bits of the 20-bit memory address. During 1/0 access,
all 4 bits output data O.
The processor status signals are provided for both
memory and 1/0 use. PS3 is always 0 in the native mode
and 1 in 8080 emulation mode. The interrupt enable
flag (IE) is on pin PS2. Pins PS1 and PS o indicate which
memory segment is being accessed.
A17 /PS I

AI 6/PS O

0

0

Data segment 1

0

1

Stack segment

0

Program segment

BS 2

BS I

BSo

0

0

0

Interrupt acknowledge

0

0

1

1/0 read

0

110 write

0
0

1

The output of these pins is three state and becomes
high impedance during hold acknowledge.

QS1, QSO [Queue Status]
For large-scale systems.
The CPU uses these signals to allow external devices,
such as the floating-point arithmetic processor chip,
(pPD72091) to monitor the status of the internal CPU
instruction queue.
Instruction Oueue Status

OSI

OSo

0

0

NOP (queue does not change)

0

1

First byte of instruction

0

Flush queue
"Subsequent bytes of instruction

The instruction queue status indicated by these signals
is the status when the execution unit (EXU) accesses
the instruction queue. The data output from these pins
is therefore valid only for one clock cycle immediately
following queue access. These status signals are
provided so that the floating-point processor chip can
monitor the CPU's program execution status and
synchronize its operation with the CPU when control is
passed to it by the FPO (Floating Point Operation)
instructions. These outputs are held at a low level in the
standby mode.

BS2 - BSo [Bus Status]
For large-scale systems.
The CPU uses these status signals to allow an external
bus controller to mon itor what the cu rrent bus cycle is.

Bus Cycle

Halt

0

0

Program fetch

0

1

Memory read

0

Memory write
Passive state

Segment

Data segment 0

6

The external bus controller decodes these signals and
generates the control signals required to perform
access of the memory or I/O device.

The output of these signals is three state and becomes
high impedance during hold acknowledge. These outputs are held at high level in the standby mode.

BUSLOCK [Bus Lock]
For large-scale systems.
The CPU uses this signal to secure the bus while
executing the instruction immediately following the
BUSLOCK prefix instruction, or during an interrupt
acknowledge cycle. It is a status signal to the other bus
masters in a multiprocessor system, inhibiting them
from using the system bus during this time.
The output of this signal is three state and becomes
high impedance during hold acknowledge. BUSLOCK
is high during standby mode except if the HALT
instruction has a BUSLOCK prefix, then it is held low.

RQ/AK1, RQ/AKo [Hold Request/Acknowledge]
For large-scale systems.
These pins function as bus hold request inputs (RQ)
and as bus hold acknowledge outputs (AK). RQ/AKo
has a higher priority than RQ/AK1.
These pins have three-state outputs with on-chip pullup resistors which keep the pin at a high level when the
output is high impedance.

Voo [Power Supply]
For small- and large-scale systems.
This pinis used for the +5 V power supply.

GN D [Ground]
For small- and large-scale systems.
This pin is used for ground.

IC [Internally Connected]
This pin is used for tests performed at the factory by
NEC. The pPD70108 is used with this pin at ground
potential.

NEe

pPD70108 (V20)

Absolute Maximum Ratings

Capacitance

TA

TA = +25°C, Voo = 0 V

= +25°C

Power supply voltage, Voo

-0.5 V to +7.0 V

Power dissipation, PDMAX

0.5W

Input voltage, VI

-0.5 V to Voo + 0.3 V

ClK input voltage, VK

-0.5 V to Voo + 1.0 V

Output voltage, Vo

-0.5 V to Voo + 0.3 V

limits
Parameter

Symbol

Min

Max

Input capacitance

C1

15

1/0 capacitance

CIO

15

Unit

Test
Conditions

fc = 1 MHz
Unmeasured pins
pF returned to 0 V
pF

Operating temperature at 5 MHz, TOPT
Storage temperature, TSTG
Comment: Exposing the device to stresses above those listed in
Absolute Maximum Ratings could cause permanent damage. The
device is not meant to be operated under conditions outside the
limits described in the operational sections of this specification.
Exposure to absolute maximum rating conditions for extended
periods may affect device reliability.

DC Characteristics
TA

= -10°C to +70°C, Voo = +5 V ± 5%
Limits

Parameter

Symbol

Min

Typ

Max

Unit

Test
Conditions

Input voltage high

VIH

2.2

Voo +0.3

V

Input voltage low

VIL

-0.5

0.8

V

ClK input voltage high

VKH

3.9

VOO + 1.0

V

ClK input voltage low

VKL

-0.5

0.6

V

Output voltage high

VOH

0.7 x Voo

V

IOH = -400 JlA

V

IOL =2.5 mA

JlA

Output voltage low

VOL

0.4

Input leakage current high

IUH

10

Input leakage current low

IUL

-10

JlA

Output leakage current high

ILOH

10

JlA

Vo = Voo

Output leakage current low

ILOL

-10

JlA

Vo =OV
Normal operation

Supply current

100

70108-8

45

80

rnA

8 MHz

6

12

mA

Standby mode

70108-10

60

100

mA

Normal operation

10 MHz

7

14

mA

Standby mode

7

NEe

pPD7 0·108. (V20)
AC Characteristics
TA = -10°C to +70°C, Voo = +5 V ± 5%
ttPD70108-8

ttPD70108-10

Symbol

MIa.

Max

Min

Max

Unit

Clock cycle

tCYK

125

500

100

500

ns

Clock pulse width high

tKKH

44

41

ns

VKH =3.0 V

Clock pulse width low

tKKL

60

49

ns

VKL = 1.5 V

Clock rise time

tKR

10

5

ns

1.5 V to 3.0 V

Clock fall time

tKF

10

5

ns

3.0 V to 1.5 V

Parameter

Conditions

Small/large Scale

READY inactive setup to ClKl

tSRYLK

-8

--:-10

ns

READY inactive hold after ClKt

tHKRYH

20

20

ns

READY active setup to ClKt

tSRYHK

tKKL - 8

tKKL -10

ns

READY active hold after ClKt

tHKRYL

20

20

ns

Data setup time to ClK l

tSDK

20

10

ns

Data hold time after ClK l

tHKD

10

10

ns

NMI, INT, POLL setup time
to ClK t

tSIK

15

15

ns

Input rise time (except ClK)

tlR

20

20

ns

0.8 V to 2.2 V

Input fall time (except ClK)

tlF

12

12

ns

2.2 V to 0.8 V

Output rise time

tOR

20

,20

ns

0.8 V to 2.2 V

tOF

12

12

ns

2.2 V to 0.8 V

48

ns

Output fall time
Small Scale
Address delay time from ClK l

tDKA

10

Address hold time from ClK l

tHKA

10

PS delay time from ClK l

tDKP

10

60

10

50

ns

PS float delay time from ClK t

tFKP

10

60

10

50

ns

Address setup time to ASTB l

tSAST

tKKL - 30

Address float delay time from
ClK l

tFKA

tHKA

ASTB t delay time from ClK l

tDKsni

50

40

ns

ASTB l delay time from ClK t

tDKSTL

55

45

ns

60

10
10

ns

ns

tKKL - 30

60

tHKA

50

ns

ASTB width high

tSTST

tKKL - 10

tKKL -10

ns

Address hold time from ASTB l

tHSTA

tKKH -10

tKKH -10

ns

8

CL = 100 pF

N'EC

JlPD701 08 (V20)

AC Characteristics (cont)
TA = -1Q°C to +70°C, Voo = +5 V ± 5%
pPD70l08-8

pPD70l08-10

Symbol

Min

Max

Min

Max

Unit

Control delay time from ClK

tOKCT

10

65

10

55

ns

Address float to RD~

tAFRL

0

RD ~ delay time from ClK ~

tOKRL

10

80

10

70

ns

t delay time from ClK ~

tOKRH

10

80

10

60

ns

tORHA

tCYK - 40

Parameter

Conditions

Small Scale (conti

RD

Address delay time from RD

t

RD width low

ns

0

ns

tCYK - 35

ns

2tCYK-40

tRR

2tCYK-50

Data output delay time from
ClK!

tOKO

10

60

10

50

ns

Data float delay time from
ClK!

tFKO

10

60

10

50

ns

tww

2tCYK-40

2tCYK-35

ns

tSHQK

20

20

ns

tOKHA

10

100

Address delay time from ClK ~

tOKA

10

60

Address hold time from ClK ~

tHKA

10

PS delay time from ClK ~

tOKP

10

60

10

50

ns

tFKP

10

60

10

50

ns

Address float delay time from
ClK ~

tFKA

tHKA

60

tHKA

50

ns

t

tORHA

tCYK - 40

WR width low
HlDRQ setup time to ClK

t

HlDAK delay time from ClK ~

10

60

ns

10

48

ns

CL = 100 pF

Bl

large Scale

t

PS float delay time from ClK

Address delay time from RD
ASTB delay time from BS ~
BS ~ delay time from ClK

t

ns

tCYK -35
15

tOBST

ns

10

15

ns

tOKBL

10

t delay time from ClK ~

tOKBH

10

RD ~ delay time from address
float

tOAFRL

0

RD ! delay time from ClK ~

tOKRL

10

80

10

70

t delay time from ClK !

tOKRH

10

80

10

60

RD width low

tRR

2tCYK-50

Date output delay time from
ClK ~

tOKO

10

60

10

50

ns

Data float delay time from
ClK!

tFKO

10

60

10

50

ns

AK delay time from ClK ~

tOKAK

BS

RD

RQ setup time to ClK

t

RQ hold time from ClK
RQ hold time from ClK

tSRQK

t
t

60

10

50

ns

65

10

50

ns
CL = 100 pF

ns
ns
ns

2tCYK-40

50
10

ns

0

40

ns

9

ns

tHKRQ

0

0

ns

tHKRQ2

30

20

ns

Q

NEe

pPD70108 (V20)
Timing Waveforms
Clock Timing

AC Test Input Waveform [Except ClK]

~::~

2.2V

=x>

2.2V

 Test Points E

49·000241A

49·000242A

Write Timing [Large Scale)

Read Timing [Large Scale)

elK

elK

Alg/PS3 _ ...,.---"",-,,...--~ Ir-::.:;:.~f---+l_-+~
A16I' PSo

A,g/PS3- --~'~-~'r-------~~~,r_
A,slPSo

LBSo

LBSo

AD7- ADo

AD7-ADo

ASTB
(71088
Output)

ASTB
(71088
Output)

JI

\~____Bu_s_S_ta_tu_s___

as, - aso _ _...1-.'----_----1 '---_ _.I ' -_ _---1 '---_-----"l.I ,_

>E

A,s-Ae~
- - - " " - - - - - - - _........

49-000244A

A,s-Ae

___

J~------------------------~~
49-000243A

11

NEe

pPD70108 (V20)
Timing Waveforms (cont)
Interrupt Acknowledge Timing

ClK

ASTB

BUFR/W

101M

tOKA
BUSlOCK*

~ltFKA

A'5-AB~~-----------------------------------------------------------* : Large Scale Mode Only

Hold Request/Acknowledge Timing [Small'Scale]
lor2

ClK

HlDRQ

HlDAK

* : A,/PS 3 - A,",PS., A15 - AB, AD7 - AD.,

12

RD, lBS., 101M, BUFR/W, WR BUFEN

NEe

JiPD701 08 (V20)

Timing Waveforms (cont)
ClK

RQ/AK
Pulse 2 Ai(

Pulse 1 RQ
70108 Input

Pulse 3 RQ
70108 Input

70108 Jut ut

---------------------------------------~~----------:I_:_.__ ~----~~--------------t
::
t_FK_A__

70108

• A1 g/PS3 -A1 6/PSo, AD1 s-ADo, B~ -BSc!, RD, BUS LOCK

:

h

Coprocessor

U

83IH-5510B

13

NEe

JlPD70108 (V20)
Register Configuration
Program Counter [PC]
The program counter is a 16-bit binary counter that
contains the segment offset address of the next
instruction which the EXU is to execute.
The PC increments each time the microprogram fetches
an instruction from the instruction queue. A new
location value is loaded into the PC each time a branch,
call, return, or break instruction is executed. At this
time, the contents of the PC are the same as the
Prefetch Pointer (PFP).
Prefetch Pointer [PFP]
The prefetch pOinter (PFP) is a 16-bit binary counter
which contains a segment offset which is used to
calculate a program memory address that the bus
control unit (BCU) uses to prefetch the next byte for
the instruction queue. The contents of PFP are an
offset from the PS (Program Segment) register.
The PFP is incremented each time the BCU prefetches
an instruction from the program memory. A new
location will be loaded into the PFP whenever a branch,
call, return, or break instruction is executed. At that
time the contents of the PFP will be the same as those
of the PC (Program Counter).
Segment Registers [PS, SS, OSo, and OS1]
The memory add resses accessed by the pPD701 08 are
divided into 64K-byte logical segments. The starting
(base) address of each segment is specified by a 16-bit
segment register, and the offset from this starting
address is specified by the contents of another register
or by the effective address.
These are the four types of segment registers used.
Segment Register

Default Offset

PS (Program Segment)

PFP

SS (Stack Segment)

SP, effective address

DSo (Data Segment 0)

IX, effective address

DS1 (Data Segment 1)

IY

General-Purpose Registers [AW, BW, CW, and OW]
There are four 16-bit general-purpose registers. Each
one can be used as one 16-bit register or as two 8-bit
registers by dividing them into their high and low bytes
(AH, Al, BH, Bl, CH, Cl, DH, Dl).
Each register is also used as a default register for
processing specific instructions. The default assignments are:
AW: Word multiplication/division, word I/O, data
conversion, translation, BCD rotation.

Al: Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation
AH: Byte multiplication/division
BW: Translation
CW: loop control branch, repeat prefix
Cl: Shift instructions, rototation instructions,
BCD operations
DW: Word multiplication/division, indirect
addressing I/O
Pointers [SP, BP] and Index Registers [IX, IV]
These registers serve as base pOinters or index registers
when accessing the memory using based addressing,
indexed addressing, or based indexed addressing.
These registers can also be used for data transfer and
arithmetic and logical operations in the same manner
as the general-purpose registers. They cannot be used
as 8-bit registers.
Also, each of these registers acts as a default register
for specific operations. The default assignments are:
SP: Stack operations
IX: Block transfer (source), BCD string operations
IY: Block transfer (destination), BCD string operations
Program Status Word [PSW]
The program status word consists of the following six
status and four control flags.
Status Flags

Control Flags

• V (Overflow)
• MD (Mode)
• S (Sign)
• DIR (Direction)
• Z (Zero)
• IE (Interrupt Enable)
• AC (Auxiliary Carry)
• BRK (Break)
• P (Parity)
• CY (Carry)
When the PSW is pushed on the stack, the word images
of the various flags are as shown here.
PSW
15

M

14

13

12

11

V

10

9 8 7 6 5 4 3 2 1 0

D IBSZOAOP
DIE R
C
R
K

C
Y

The status flags are set and reset depending upon the
result of each type of instruction executed.
I nstructions are provided to set, reset, and complement
the CY flag directly.
Other instructions set and reset the control flags and
control the operation of the CPU.
The MD flag can be set/reset only by the BRKEM,
RETEM, CAllN, and RETI instructions.

1.1

NEe

pPD70108 (V20)

High·Speed Execution of Instructions

Example

Th is section high lights the major arch itectural features
that en hance the performance of the pPD701 OB.

ADD

• Dual data bus in EXU
• Effective address generator
• 16/32-bit temporary registers/shifters (TA, TB)
• 16-bit loop counter
• PC and PFP
Dual Data Bus Method

Step 1 TA-AW

TA -AW, TB -

Step2TB -

BW

AW-TA+TB

Step 3 AW -

TA + TB

To reduce the number of processing steps for instruction execution, the dual data bus method has
been adopted for the pPD7010B (figure 1). The two
data buses (the main data bus and the subdata bus) are
both 16 bits wide. For addition/subtraction and logical
and comparison operations, processing time has been
reduced by some 30% over single-bus systems.
Figure 1.

Dual Data Buses

AW,BW

;AW-AW+BW

Single Bus

Dual Bus
BW

Effective Address Generator
The Effective Address Generator (EAG) (figure 2) is a
dedicated block of high-speed logic that computes
effective addresses in two clock cycles. If an instruction
uses memory, EAG decodes the second and/or third
instruction bytes to determine the addressing mode,
initiates any bus cycles needed to fetch data required
to compute the effective address, and stores the
computed effective address in the Data Pointer (DP)
register.
Calculating an effective address by the microprogramming method normally requires 5 to 12 clock cycles.
This circuit requires only two clock cycles for
addresses to be generated for any addressing mode.
Thus, processing is several times faster.
Figure 2.

Effective Address Generator
2nd or 3rd byta of Instruction

Registers

mod

rIm

EA Ganarator
16

16

Effective Address
83IH·5535A

16/32-Bit Temporary Registers/Shifters [TA, TBl
These 16-bit temporary registers/shifters (TA, TB)
are provided for multiplication/division and shift!
rotation instructions.
These circuits have decreased the execution time of
multiplication/division instructions. In fact, these
instructions can be executed about four times faster
than with the microprogramming method.
Subdata bus

Main data bus
83-000103A

TA + TB: 32-bit temporary register/shifter for multiplication and division instructions.
TB: 16-bit temporary register/shifter for shift/rotation
instructions.

15

1:'-1
I:iiI

NEe

pPD70108 (V20)
Loop Counter [LC]

Enhanced· Stack Operation Instructions

This counter is used to count the number of loops for a
primitive block transfer instruction controlled by a
repeat prefix instruction and the number of shifts that
will be performed for a multiple bit shift/rotation instruction.

This instruction allows immediate data to be pushed
onto the stack.

The processing performed for a multiple bit rotation of
a register is shown below. The average speed is
approximately doubled overthe microprogram method.

These instructions allow the contents of the eight
general registers to be pushed onto or popped from
the stack with a single instruction.

Example

Enhanced Multiplication Instructions

RORC

AW, CL

; CL

Microprogram method
8 + (4 x 5)

= 28 clocks

=5
LC method
7 + 5 = 12 clocks

PUSH imm

PUSH R/POP R

MUL reg16,imm16/MUL mem16, imm16.
These instructions allow the contents of a register or
memory location to be 16-bit multiplied by immediate
data.

Program Counter and Prefetch Pointer [PC and PFP]

Enhanced Shift and Rotate Instructions

ThepPD70108 microprocessor has a program counter,
(PC) which addresses the program memory location of
the instruction to be executed next, and a prefetch
pointer(PFP), which addresses the program memory
location to be accessed next. Both functions are
provided in hardware. A time saving of several clocks
is realized for branch, call, return, and break instruction
execution, compared with microprocessors that have
only one instruction pointer.

SHL reg, immS/SHR reg, immS/SHRA reg, immS
These instructions allow the contents of a register tobe.
shifted bythe number of bits defined by the immediate
data.
ROL reg, immS/ROR reg, immS/ROLC reg, immSI
RORC reg, immS

Enhanced Instructions

These instructions allow the contents of a register to be
rotated by the number of bits defined by the immediate
data.

I n addition to the pPD8088/86 instructions, the
pPD70108 has the following enhanced instructions.

CHKINO reg16, mem32

Instruction

Function

PUSH imm

Pushes immediate data onto stack

PUSH R

Pushes B general registers onto stack

POP R

Pops B general registers from stack

MUL imm

Executes 16-bit multiply of register or memory contents.
by immediate data

SHL immB
SHR immB
SHRA immB
ROL immB
ROR immB
ROLC immB
RORC immB

Shifts/rotates register or memory by immediate
value

CHKIND

Checks array index against designated boundaries

INM

Moves a string from an I/O port to memory

This instruction is used to verify that index values
pointing to the elements of an array data structure are
within the defined range. The lower limit of the array
should be in memory location mem32, the upper limit
in mem32 + 2. Ifthe index value in reg16 is not between
these limits when CHKIND is executed, a BRK 5 will
occur. This causes a jump to the location in interrupt
vector 5.

Block 1/0 Instructions
OUTM OW, src-block/lNM dst-block, OW
These instructions are used to output or input a string
to or from memory, when preceded by a repeat prefix.

OUTM

Moves a string from memory to an I/O port

PREPARE

Allocates an area for a stack frame and copies previous
frame pointers

DISPOSE

Frees the current stack frame on a procedure exit

16

Check Array Boundary Instruction

Stack Frame Instructions
PREPARE imm16, immS
This instruction is used to generate the stack frames
required by block-structured languages, such as
PASCAL and Ada. The stack frame consists of two
areas. One area has a pointer that points to another
frame which has variables that the current frame can
access. The other is a local variable area for the current
procedure.

NEe

J.lPD70108 (V20)

DISPOSE

Variable Length Bit Field Operation Instructions

This instruction releases the last stack frame generated
by the PREPARE instruction. It returns the stack and
base pointers to the values they had -before the
PREPARE instruction was used to call a procedure.

This category has two instructions: INS (Insert Bit
Field) and EXT (Extract Bit Field). These instructions
are highly effective for computer graphics and highlevel languages. They can, for example, be used for
data structures such as packed arrays and record type
data used in PASCAL.

Unique Instructions
In addition to the pPD8088/86 instructions and the
enhanced instructions, the pP0701 08 has the following
unique instructions.
Instruction

Function

INS

Insert bit field

INS regS, regS/INS regS, imm4

This instruction (figure 3) transfers low bits from the
16-bit AW register (the number of bits is specified by
the second operand) to the memory location specified
by the segment base (OS1 register) plus the byte offset
(IY register). The starting bit position within this byte is
specified as an offset by the lower 4-bits of the first
operand.
~

1:"-11

EXT

Extractbit field

ADD4S

Adds packed decimal strings

SUB4S

Subtracts one packed decimal string from another

CMP4S

Compares two packed decimal strings

ROL4

Rotates one BCD digit left through AL lower 4 bits

ROR4

Rotates one BCD digit right through AL lower 4 bits

TEST1

Tests a specified bit and sets/resets Z flag

NOT1

Inverts a specified bit

After each complete data transfer, the IY register and
the register specified by the first operand are automatically updated to point to the next bit field.

CLR1

Clears a specified bit

Either immediate data or a register may specify the
number of bits transferred (second operand). Because
the maximum transferable bit length is 16-bits, only the
lower 4-bits of the specified register (OOH to OFH) will
be valid.

SET1

Sets a specified bit

Bit field data may overlap the byte bou ndary of memory.

REPC

Repeats next instruction until CY flag is cleared

REPNC

Repeats next instruction until CY flag is set

FP02

Additional floating point processor call

Figure 3.

Bit Field Insertion
Bit length

15

AW

Byte offsel (IY)

I

~

:
I

Byte boundary

Memory

t

Segment base (051)
83-00010SA

17

NEe

pPD70108(V20)
EXT reg8, regS/EXT regS, imm4

ADD4S

This instruction (figure 4) loads to the AW register the
bit field data whose bit length is specified by the
second operand of the instruction from the memory
location that is specified by the DSO segment register
(segment base), the IX index register (byte offset), and
the lower 4-bits of the first operand (bit offset).

This instruction adds the packed BCD string addressed
by the IX index register to the packed BCD string
addressed by the IY index register, and stores the
result in the string addressed by the IY register. The
length of the string (number of BCD digits) is specified
by the CL register, and the result of the operation will
affectthe overflow flag (V), the carry flag (CY), and
zero flag (2:).

After the transfer is complete, the IX register and the
lower 4-bits of the, first operand are automatically
updated to point to the next bit field.
Either immediate data or'a register may be specified for
the second operand. Because the maximum trans."
ferrable bit length is 16 bits, however, only the lower
4-bitsofthe specified register (OH to OFH) will bevalid.
Bit field data may overlap the byte boundary of memory.

Packed BCD Operation Instructions
The instructions described here process packed BCD
data either as strings (ADD4S, SUB4S, CMP4S) or
byte-format operands (ROR4, ROL4). Packed BCD
strings may be from 1 to 254 digits in length.
When the number of digits is even, the zero and carry
flags will be set according to the result of the operation.
When the number of digits is odd, the zero and carry
flags may not be set correctly in this case, (CL = odd),
the zero flag will not be set unless the upper4 bits of the
highest byte are all zero. The carry flag will not be set
unless there is a carry out of the upper 4 bits of the
highest byte. When CL is odd, the contents of the upper
4 bits of the highest byte of the result are undefined.

BCD string (IY, CL) string (IX, CL)

BCD string (IY, CL)

+ BCD

SUB4S

This instruction subtracts the packed BCD string
addressed by the IX index register from the packed
BCD string addressed by the IY register, and stores the
result in the string addressed by the IY register. The
length of the string (number of BCD digits) is specified
by the CL register,and the result of the operation will
affect the overflow flag (V), the carry flag (CY), and
zero flag (Z).
BCD string (IY, CL) String (IX, CL)

BCD string (IY, CL) - BCD

CMP4S

This instruction performs the same operation as
SU B4S except that the resu It is not stored and on Iy the
overflow (V), carry flags (CY) and zero flag (Z) are
affected.
BCD string (IY, CL) - BCD string (IX, CL)

Figure 4. Bit Field Extraction

t )
Segment base (050)

83-0001078

18

N"EC

JlPD70108 (V20)

ROL4

REPNC

This instruction (figure 5) treats the byte data of the
register or memory directly specified by the instruction
byte as BCD data and uses the lower 4-bits of the AL
register (ALL) to rotate that data one BCD digit to the
left.

This instruction causes the pPD70108 to repeat the
following primitive block transfer instruction until the
CYflag becomes set or the CW register is decremented
to zero.

Figure 5.

BCD Rotate Left (ROL4)

Floating Point Instruction
FP02

This instruction is in addition to the pPD8088/86
floating point instruction, FP01. These instructions
are covered in a later section.

Mode Operation Instructions

ROR4
This instruction (figure 6) treats the byte data of the
register or memory directly specified by the instruction
byte as BCD data and uses the lower 4-bits of the AL
register (ALL) to rotate that data one BCD digit to the
right.
Figure 6.

BCD Rotate Right (ROR4)

The pPD70108 has two operating modes (figure 7).
One is the native mode which executes pPD8088/86,
enhanced and unique instructions. The other is the
8080 emulation mode in which the instruction set of the
pPD8080AF is emulated. A mode flag (MD) is provided
to select between these two modes. Native mode is
selected when M D is 1 and emu lation mode when M D is
O. MD is set and reset, directly and indirectly, by
executing the mode manipulation instructions.
Two instructions are provided to switch operation from
the native mode to the emulation mode and back:
BRKEM (Break for Emulation), and RETEM (Return
from Emulation).
Two instructions are used to switch from the emulation
mode to the native mode and back: CALLN (Call Native
Routine), and RETI (Return from Interrupt).

Bit Manipulation Instructions
TEST1
This instruction tests a specific bit in a register or
memory location. If the bit is 1, the Z flag is reset to O. If
the bit is 0, the Z flag is set to 1.

NOT1

The system will return from the 8080 emulation mode
to the native mode when the RESET signal is present,
or when an external interrupt (NMI or INT) is present.
Figure 7.

V20 Modes
HOLD REO/HOLD ACK

This instruction inverts a specific bit in a register or
memory location.

CLR1
This instruction clears a specific bit in a register or
memory location.

SET1
This instruction sets a specific bit in a register or
memory location.

Repeat Prefix Instructions

!

t

~

~ndbY
Mode

J - - - - HOLD REO/HOLD ACK

REPC
This instruction causes the pPD701 08 to repeat the
following primitive block transfer instruction until the
CY flag becomes cleared or the CW register becomes
zero.

83-000775A

19

NEe

pPD70108(V20)
BRKEM immB

RETEM [no operand]

This is the basic instruction used to start the BOBO
emulation mode. This instruction operates exactly the
same as the BRK instruction, except that BRKEM
resets the mode flag (MO) to O. PSW, PS, and PC are
saved to the stack. M 0 is then reset and the interru pt vector
specified by the operand immB of this command is
loaded into PS and PC.

When RETEM is executed in B080 emulation mode
(interpreted by the CPU as a pPOBOBOAF instruction),
the CPU restores PS, PC, and PSW (as it would when
returning from an interrupt processing routine), and
returns to the native mode. At the same time, the
contents of the mode flag (MO) which was saved to the
stack by the BRKEM instruction, is restored to MO = 1.
The CPU is set to the native mode.

The instruction codes of the interrupt processing
routine jumped to are then fetched. Then the CPU
executes these codes as pPOBOBOAF instructions.
In BOBO emulation mode, registers and flags of the
pPOB080AF are performed by the following registers
and flags of the pP0701 OB.

Registers:

I1P08080AF

I1P070108

A
B
C

AL
CH
CL
DH
DL
BH
BL
BP
PC
CY

0
E

H

Flags:

SP
PC
C
Z

Z

S
P
AC

S
AC

In the native mode, SP is used forthe stack pointer. In the
BOBO emulation mode this function is performed by BP.
This use of independent stack pointers allows independent stack areas to be secured for each mode and
keeps the stack of one of the modes from being
destroyed by an erroneous stack operation in the other
mode.
The SP, IX, IY and AH registers and the four segment
registers (PS, SS, OSo, and OS1) used in the native
mode are not affected by operations in BOBO emulation
mode.
In the 80BO emulation mode, the segment register for
instructions is determined by the PS register (set
automatically by the interrupt vector) and the segment
register for data is the OSo register (set by the
programmer immediately before the BOBO emulation
mode is entered).
It is prohibited to nest BRKEM instructions.

20

CALLN immB
This instruction makes it possible to call the native
mode subroutines from the 80BO emulation mode. To
return from subroutine to the emulation mode, the
RETI instruction is used.
The processing performed when this instruction is
executed in the BOBO emulation mode (it is interpreted
by the CPU as pPOBOBOAF instruction), is similar to
that performed when a BRK instruction is executed in the
native mode. The immB operand specifies an interrupt
vector type. The contents of PS, PC, and PSW are
pushed on the stack and an MO flag value of 0 is saved.
The mode flag is set to 1 and the interrupt vector
specified by the operand is loaded into PS and PC.
RETI [no operand]
This is a general-purpose instruction used to return
from interrupt routines entered by the BRK instruction
or by an external interrupt in the native mode. When
this instruction is executed at the end of a subroutine
entered by the execution of the CALLN instruction,_ the
operation that restores PS, PC, and PSW is exactly the
same as the native mode execution. When PSW is
restored, however, the BOBO emulation mode value of
the mode flag (MO) is restored, the CPU is set in
emulation mode, and all subsequent instructions are
interpreted and executed as pPOBOBOAF instructions.
RETI is also used to return from an interrupt procedure
initiated by an NMI or INT interrupt in the emulation
mode.

Floating Point Operation Chip
Instructions
FP01 fp-op, mem/FP02 fp-op, mem
These instructions are used for the external floating
point processor. The floating point operation is passed
to the floating point processor when the CPU fetches
one of these instructions. From this point the CPU
performs only the necessary auxiliary processing
(effective address calculation, generation of physical
addresses, and start-up of the memory read cycle).

NEe

pPD70108 (V20)

The floating point processor always monitors the
instructions fetched by the CPU. When it interprets one
as an instruction to itself, it performs the appropriate
processing. At this time, the floating point processor
chip uses either the address alone or both theaddress
and read data of the memory read cycle executed by the
CPU. This difference in the data used depends on
which of these instructions is executed.
Note: During the memory read cycle initiated by the CPU for FP01
or FP02 execution, the CPU does not accept any read data
on the data bus from memory. Although the CPU generates
the memory address, the data is used by the floating pOint
processor.

Interrupt Operation
The interrupts used in the pPD7010B can be divided
into two types: interrupts generated by external interrupt requests and interrupts generated by software
processing. These are the classifications.

External Interrupts
(a) NMI input (nonmaskable)
(b) INT input (maskable)

The interrupt vector table is shown in figure B. The
table uses 1K bytes of memory addressesOOOH to
3FFH and can store starting address data for a
maximum of 256 vectors (4 bytes per vector).
The corresponding interrupt sources for. vectors 0
to 5 are predetermined and vectors 6 to 31 are reserved.
These vectors consequently cannot be used for
general applications.
The BRKEM instruction and CALLN instruction (in the
emulation mode) and the INT input are available for
general applications for vectors 32 to 255.
A single interrupt vector is made up of 4 bytes (figure 9).
The 2 bytes in the low addresses of memory are
loaded into PC as the offset, and the high 2 bytes are
loaded into PS as the base address. The bytes are
combined in reverse order. The lower-order bytes in
the vector become the most significant bytes in the PC
and PS, and the higher-order bytes become the least
significant bytes.
Figure 8.

Software Processing

OOOH

As the result of instruction execution
-

When a divide error occurs during execution
of the DIV or DIVU instruction
When a memory-boundary-over error is detected
by the CHKIND instruction
When V = 1 during execution of the BRKV
instruction
1-byte break instruction:
2-byte break instruction:

BRK3
BRK immB

Flag processing (Single-step)
-

Break Flag

Vector 2

NMllnput

Vector 3

BRK 3 Instruction

Vector 4

BRKV Instruction

VectorS

CHKIND Instruction

Dedicated

OOCH

014H
01SH

When stack operations are used to set the
BRK flag

}-".~.

Vector 6

07CH
Vector 31

OSOH
Vector 32

General Use

3FCH

BOBO Emulation mode instructions

-

Divide Error

Vector 1

OOSH

Unconditional break instructions
-

Vector 0

004H

010H

Conditional break instruction
-

Interrupt Vector Table

}

Vector 255

•
•
•
•

BRK ImmS Instruction
BRKEM Instruction
INT Input IExternal]
CALLN Instruction

BRKEM immB
CALLN immB

Interrupt Vectors
Starting add~esses for interrupt processing routines
are either determined automatically by a single location
of the interrupt vector table or selected each time
interrupt processing is entered.

83-000111A

Figure 9.

Interrupt Vector 0
Vector 0

OOOH
002H

:
I

001H

003H

PS <--- (OO3H, 002H)
PC <--- (OO1H, OOOH)
83-000112A

NEe

J,lPD70108(V20)
Based on this format, the contents of each vector
should be initialized at the beginning of the program.
The basic steps to jump to an interrupt processing
routine are now shown.
(SP -1, SP - 2) - PSW
(SP - 3, SP - 4) - PS
(SP - 5, SP - 6) - PC
SP +- SP - 6
IE - 0, BRK - 0, MD PS +- vector high bytes
PC +- vector low bytes

For con,ditional control transfer or branch instructions,
the number on the left side of the slash is applicable if
thetransfer or.,branch takes. place. The number on the
right side is applicable if it does not take place.
If a range of numbers is given, the execution time
depends on the operands involved.

Symbols
0

Standby Function
The pPD70116 has a standby mode to reduce power
consumption during program wait states. This mode is
set by the HALT instruction in both the native and the
emulation mode.
In the standby mode, the internal clock is supplied only
to those circuits related to functions required to
release this mode and bus hold control functions. As a
result, power consumption can be reduced to 1/10 the
level of normal operation in either native or emulation
mode.

Symbol

Meaning

acc

Accumulator (AW or AL)

disp

Displacement (8 or 16 bits)

dmem

Direct memory address

dst

Destination operand or address

ext-disp8

16-bit displacement (sign-extension byte
+ 8-bit displacement)

far_label

Label within a different program
segment
Procedure within a different program
segment
Floating point instruction operation

imm

8- or 16-bit immediate operand

The standby mode is released by inputting a RESET
signal or an external interrupt (NMI, INT).

imm3/4

3- or 4-bit immediate bit offset

imm8

8-bit immediate operand

The bus hold function is effective during standby
mode. The CPU returns to standby mode when the bus
hold request is removed.

imm16

16-bit immediate operand

mem

Memory field (000 to 111);
8- or 16-bit memory location

During standby mode, all control outputs are disabled
and the addresldata bus will be at either high or low
levels.

mem8

8-bit memory location

Instruction Set

mem16

16-bit memory location

mem32

32-bit memory location

memptr16

Word containing the destination address
within the current segment

memptr32

Double word containing a destination
address in another segment

mod

Mode field (00 to 10)

Symbols
Preceding the instruction set, several tables explain
symbols, abbreviations, and codes.

Clocks

Label withinthe current segment

In the Clocks column of the instruction set, the numbers
cover these operations: instruction decoding, effective
address calculation, operand fetch, and instruction
execution.

Procedure within the current segment
offset

Clock timings assume the instruction has been prefetched and is present in the four-byte instruction
queue. Otherwise, .add four clocks for each byte not
present.

reg

Register field (000 to 111);
8- or 16-bit general-purpose register

reg8

8-bit general-purpose register

reg16

16-bit general-purpose register

regptr

16-bit register containing a destination
address within the current segment

regptr16

Register containing a destination address
within the current segment

seg

Immediate segment data (16 bits)

shorUabel

Label between -128 and +127 bytes from
the end of the current instruction

For instructions that reference memory operands, the
number on the left side of the slash (I) is for byte
operands and the number on the right side is for word
operands.

22

Immediate offset data (16 bits)
Number of bytes to discard from the stack

NEe

pPD70108 (V20)

Symbols (cant)
Symbol

Meaning

Symbol

Meaning

sr

Segment register

IY

Index register (destination) (16 bits)

src

Source operand or address

MD

Mode flag

temp

Temporary register (8/16/32 bits)

OR V

Logical sum

tmpcy

Temporary carry flag (1 bit)

P

Parity flag

AC

Auxiliary carry flag

PC

Program counter (16 bits)

AH

Accumulator (high byte)

PS

Program segment register (16 bits)

AL

Accumulator (low byte)

PSW

Program status word (16 bits)

ANDA

Logical product

R

Register set

AW

Accumulator (16 bits)

S

BH

BW register (high byte)

Sign extend operand field
S=O No sign extension
S=1 Sign extend immediate byfu
operand

BL

BW register (low byte)

BP

Base pointer (16 bits)

S

Sign flag

BRK

Break flag

SP

Stack pointer (16 bits)

BW

BW register (16 bits)

SS

Stack segment register (16 bits)

CH

CW register (high byte)

TA

Temporary register A (16 bits)

CL

CW register (low byte)

TB

Temporary register B (16 bits)

CW

CW register (16 bits)

TC

Temporary register C (16 bits)

Carry flag

V

Overflow flag

DH

DW register (high byte)

W

Word/byte field (0 to 1)

DIR

Direction flag

X, XXX, YYY, ZZZ

DL

DW register (low byte)

Data to identify the instruction code of the
external floating pOint arithmetic chip

DSO

Data segment 0 register (16 bits)

CY

DS1

Data segment 1 register (16 bits)

DW

DW register (16 bits)

IE

Interrupt enable flag

IX

Index register (source) (16 bits)

XOR ..If

Exclusive logical sum

XXH

Two-digit hexadecimal value

XXXXH

Four-digit hexadecimal value

Z

Zero flag

()

Values in parentheses are memory contents
Transfer direction

+

Addition
Subtraction

x

Multiplication
Division

%

Modulo

Em

NEe

pPD70108 (V20)
Flag Operations

Register Selection (mod

W=l .

000

AL

AW

001

CL

CW

Set to 1

010

DL

DW

Set or cleared according to result

011

BL

BW

Undefined

100

AH

SP

Meaning

reg

(blank)

No change

o

Cleared to 0

R

Restored to previous state

Memory Addressing Modes
mem

mod = 00

000
001

11)

W=O

Symbol

x

=

101

CH

BP

110

DH

IX

111

BH

IY

mod = 01

mod = 10

BW+IX

BW + IX + disp8

BW + IX + disp16

BW+IY

BW + IY + disp8

BW + IY + disp16

sr

Segment Register

010

BP + IX

BP + IX + disp8

BP + IX + disp16

00

DS1

011

BP+ IY

BP +IY'+ disp8

BP + IY + disp16

01

PS

100

IX

IX + disp8

IX + disp16

10

SS

101

IY

IY + disp8

IY + disp16

11

DSO

110

Direct'

BP + disp8

BP + disp16

111

BW

BW + disp8

BW + disp16

t'lA

Segment Register Selection

NEe

pPD70108 (V,20)

Instruction Set
Mnemonic

Operand

0

6 5 4 3

Opcode
7 6 543 2 1 0

Clocks

Bytes

Flags
AC CY V P

S Z

Data Transfer Instructions
MOV

reg, reg

0 0 0

0 1 W

mem, reg

0

0 0 W

reg, mem

0 0 1 0

mem, imm

1 0 0 0

reg, imm

0

ace, dmem

0

1 W

reg

reg

mod

reg

mem

9/13

W

mod

reg

mem

11/15

2-4

W

mod 000

mem

11/15

3-6

reg

0 0

oW

0 0

W

dmem, ace

1

sr, reg16

0 0

0

sr, mem16

0 0

1 0

mod 0 , sr

1 0 0 0

0 0

1 1 0

sr

reg

0 0

mod 0

sr

reg16, sr
mem16, sr

0

0
0 0 0 ,1

OSO, reg16, mem32

1 1 0

sr

reg
mem

2
2-4

4

2-3

10/14

3

9/13

3

2

2

11/15

2-4

2

2

mem

10/14

2-4

0

mod

reg

mem

18/26

2-4

OS1, reg16, mem32

1 0 0 0

0 0

mod

reg

mem

18/26

2-4

AH, PSW

0 0

1

2

1

PSW, AH

0 0 1

,1

LOEA

reg16, mem16

0 0 0

0

TRANS

srctable

XCH

reg, reg

0 0 0 0

W

1 1

mem, reg

0 0 0 0

W

mod

AW, reg16

0 0

0

x x

3
mod

reg

mem

4

reg

reg

3

2

reg

mem

16/24

2-4

0

I!I
x x x

2-4

9

reg

0

2

Repeat Prefixes
REPC

0

0 0

0 1

2

REPNC

0

0 0 1 0 0

2

REP
REPE
REPZ

2

0 0

REPNE
REPNZ

1 1 1 1

o

01

0

2

Block Transfer Instructions
MOVBK

dst, src

0

0 0

CMPBK

dst, src

0

0 0

0 W

CMPM

dst

0

0

LOM

src

0

0

1 0 W

STM

dst

0

0

0

11

W
W,

+Bn

x x x x x x
x x x x x x

7 + 14n
7 + 10n
7 +9n

W

7 +4n
n = number of transfers

110 Instructions
IN
OUT

ace, imm8

0

0 W

9/13

ace, OW

0 1

0 W

8/12

W

8/12

immB, ace

0 0

OW, ace

1

INM

dst, OW

0

OUTM

OW, src

0

0
0

1 W

8/12

0 W

9+8n

2

9 +Bn

W
n = number of transfers

25

NEe

pPD70108 (V20)
Instruction Set (cont)
Mnemonic

Operand

6 5 4

~

Opcode
076543210

2

Clocks

Bytes

Flags
AC CY V P S Z

BCD Instructions
ADJBA

0'0

1 0

3

ADJ4A

0 0

3

'1

0

7

1

0 1 0

7

ADD4S

o
o
o
o

000

o

0

000 0 0

7 + 19n

SUB4S

000 0

o
o

0

000

o

7 + 19n

0
0

o
o

1 0

o

o

0

o

ADJBS
ADJ4S

CMP4S
ROL4

ROR4

reg8

o
o

0

0 0 0

0 0 0 1
1 1 0 0 0

2

7 + 19n

2

000

25

3

000

28

3-5

0

xxuuuu
x 'x u x x x
xxuuuu
x x u x x x
uxuuux
uxuuux
uxuuux

reg

mem8

00001111
mod 0 0 0 mem

reg8

000011110000029
1 1 0 0 0
reg

3

mem8

0000111100
0
0
033
mod 0 0 0 mem
n = number of BCD digits divided by 2

3-5

Data Type Conversion Instructions

o
o

o

o

CVTDB

1 0

o

CVTBW

o
o

1 0 0

2

o

4-5

CVTBD

1

CVTWL

0
0

o
1 0

o
o

0 0 0

o

0 0 0

o

0

15

2

7

2

uuuxxx
uuuxxx

Arithmetic Instructions
ADD

reg, reg

0 0 0 0 0 0 1 W

1 1

reg

reg

2

2

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
-x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

--------~------------------------------------------------------------------

AD DC

mem, reg

o

reg, mem

0000001W

reg, imm

o

mem, imm

000 0 0 S W
0000010W

reg, reg
mem, reg

o
o

reg, mem

mod

reg

mem

mod

reg

mem

1 1 0 0 0

reg

mod

0 0 '0

mem

16/24

2-4

11/15

2-4

4

3-4

18/26

3-6

0 0 0 W

mod

reg

mod

reg

0 0 0 0 S W

1 1 0 1 0

reg

mod 0 1 0

mem

mem, reg

o
o

reg, mem

3-6

mem

0 0

0001001W

reg, reg

3-4

18/26

mem

reg

1 0 0 0 0 0 S W

2-4

2-3

reg

0001010W

11/15
4

2

1 1

mem, imm

2-4

4

0 0 1 W

o

16/24

2

0 0

ace, imm

reg, imm

26

0 0 0 0 S W

ace, imm

reg, imm

SUB

0 0 0 0 0 0 W

2-3

2

2
2-4

0

0

0 1 W

1 1

reg

0

0

0 0 W

mod

reg

rnem

16/24

0010101W

mod

reg

mem

11/15

2-4

4

3-4

OOOOOSW

1 1 1 0 1

reg

4

reg

NEe

pPD70108 (V20)

Instruction Set (cont)
Clocks

Byles

Flags
AC CY V P S Z

18/26

3-6

x x x x x x

Opcode

Mnemonic

543

o

0 0 0 0

S W

Operand

7

5 4 3 2 1 0

Arithmetic Instructions (cont)
SUB

mem, imm

mod

0

mem

--~---------------------------------------------------------------------------

ace, imm

SUBC

reg, reg
mem; reg

INC

DEC

MULU

o
o

2

x x x x x x

mem

16/24

2-4

x x x x x x

mem

11/15

2-4

x x x x x x

1 W

1 1

reg

reg

0 0

0 W

mod

reg

1 W

mod

reg

reg, mem

0

reg, imm

0

0 0 0 S W

1 1 0

reg

4

3-4

x x x x x x

mem, imm

0

0 0 0 S W

mod

mem

18/26

3-6

x x x x x x

1

ace, imm

0

0 W

4

2-3

x x x x x x

_r_e_g8___________________1__1__~______0____
1__
1__
0__
0__
0___r_eg____2
______2
______x
_____
x__x__x__x__
mem

1

1

reg16

0

0 0 0

reg8

1

W

1

1 1 0

1 1

mod 0 0

1

1 1

1 1 W

reg16

0

0 0

reg

reg

0

reg16,mem16,imm8
reg 16, reg 16, imm16

W

1 0 1

W

1 0 1

W

o
o

o
o
o

o
o
o

reg

o

mem

reg
mem

2-4

x

x x x x

x

x x x x

2

x

x x x x

x

x x x x

x

x x x x

16/24

2-4

21-30

2

uxxuuu

1 1

0 0

reg

mod

0 0

mem

27-36

2-4

uxxuuu

1 1

0

reg

33-47

2

uxxuuu

mod

0

mem

39-57

2-4

uxxuuu

reg

reg

28-34

3

uxxuuu

1

mod

reg

mem

34-44

3-5

uxxuuu

0

1 1

reg

reg

36-42

4

uxxuuu

mod

reg

mem

46-52

4-6

uxxuuu

0

reg
mem

0

16/24
2

1 1

0

o

reg16,mem16,imm16

mem

2

0 1 1 W

reg

mod 0 0 0

reg

mem

reg16,reg16,imm8

DIV

x x x x x x

2

0 0

mem

DIVU

2-3

0 W

mem
MUL

4

0 1 0

reg

19-25

2

uuuuuu

mem

25-35

2-4

uuuuuu

1 1

reg

29-43

2

uuuuuu

W

mod

1 1

mem

35-53

2-4

uuuuuu

0 1 W

1 1

reg

reg

2

2

W

1 1

0

W

mod

1 1 0

W

Comparison Instructions
CMP

reg, reg

0 0

x x x x x x

------------------~-----------------------------------------------------------

mem, reg

0 0

0 0 W

mod

reg

mem

reg,mem

00

01 W

reg, imm

1 0 0 0 0 0 S W

1 1 1 1

mod

reg

mem

mem, imm

1 0 0 0 0 0 S W

mod

ace, imm

0 0

1 1 1

reg
mem

0 W

11/15

2-4

x x x x x x

11/15

2-4

x x x x x x

4

3-4

x x x x x x

13/17

3-6

x x x x x x

4

2-3

x x x x x x

Logical Instructions
NOT
NEG
TEST

reg
0
W 1 1 0
o reg
2
2
------------------------------------------------------------------------------W
mod 0
0 mem
16/24
2-4
mem
0

o

W

1 1 0

reg

2

2

x x x x x x

mem

1

1 0

1 W

mod 0

mem

16/24

2-4

x x x x x x

reg, reg

000 0

1 1

reg

reg

2

2

uOOxxx

mem, reg

000 0

oW
oW

mod

reg

mem

10/14

2-4

u 0 0 x x x

reg, imm

1 0

W

reg

4

3-4

reg

1 1 0 0 0

o

0 x x x

~
~

NEe

pPD70108 (V20)
Instruction Set (cont)
Mnemonic

6 5 4 3 2

' Operand

Opcode
7

o

543210

Clocks

Bytes

Flags
AC CY V P S Z

11/15

3-6

u 0 0 x x x

2

2

u 0

Logical Instructions (cont)
TEST
AND

mem, imm

0 1 1 W

XOR

mem

reg, reg

0 0

0 0 0 1 W

reg, mem

0 0 1 0 0 0 1 W

reg, imm

0 0 0 0 0 W

1 1

reg

reg

x x x

mod

reg

mem

11/15

2-4

u 0 0 x x x

reg

4

3-4

u 0 0 x x x

18/26

3-6u 0 0 x x x

---------------------------------------------------------------------------mem, reg
0 0
0
0 0 W
mod
reg
mem
16/24
2-4
u 0 0 x x x

mem, imm

OR

mod 0 0 0

---------------------------------------------------------------------------ace, imm
1
0 1 0 0 W
4
2-3
u 0 0 x x x

0 0 0 0 0 0 W

1 1 10 0
mod

1 0 0

mem

ace, imm

0 0 1 0 0 1

reg, reg

0 0 0 0 1 0 1 W

1 1

reg

reg

mem, reg

o

0 0 W

mod

reg

reg, mem

0000101W

mod

reg

reg, imm

OOOOOOW

0 0 0

W

4

2-3

2

2

mem

16/24

2-4

mem

11/15

2-4

uOOxxx

reg

4

3-4

u 0 0 x x x

18/26

3-6

u 0 0 x x x

4

2-3

1 1 0 0 1

0 0 x x x
u 0 0 x x x

mem, imm

1 0 0 0 0 0 0 W

ace, imm

00001

reg, reg

0

0 0 1 W

1 1

reg

reg

2

mem, reg

o
o

0

0 0 0 W

mod

reg

mem

16/24

2-4

u 0 0 x x x

reg, mem

o

0 1 1 0 0 1 W

mod

reg

mem

11/15

2-4

uOOxxx

o

0 0 0 0 0 W

1 1

0

reg

4

3-4

mem, imm

1 0 0 0 0 0 0 W

mod

0

mem

18/26

3-6

ace, imm

o

4

2-3

0 0

35-133

3

o

35-133

4

0

34-59

3

o

34-59

4

reg, imm

0

mod 0 0 1, mem

u 0 0 x x x

OW

0 0

0 W

0 0 0 1
reg
1 1

u 0 0 x x x
u 0 0 x x x

o

0 x x x

u 0 0 x x x

o

0 x x x

Bit Manipulation Instructions
INS

EXT

reg8, reg8

o

'1, 1
reg

o

0

reg8, imm4

00001111
1 1 0 0 0
reg

o

0

reg8,reg8

o

0 0 0 1 1 1 1
1 1
reg
reg

o

0

reg8, imm4

o

o

0

0 0 0 1 1 1 1
'leg

o

o

0

1 1 0 0 0
TEST1

SET1

t)Q

reg, CL

o

0 0 0
1 1 0 0

1 1 1
reg

000

o

0 0 W

3

3

uOOuux

mem, CL

o

0 0 0
mod 0 0

1 1 1
mem

000

o

0

W

12/16

3-5

uOOuux

reg, imm3/4

o

1 1 1
reg

000

o

0, W

4

4

uOOuux

mem, imm3/4

00001111
mod 0 0 0 mem

000

o

0 W

13/17

4-6

uOOuux

reg, CL

0000
11 0 0

111000
reg

o

oW

4

3

mem,CL

00001111000
mod 0 0 0 mem

o

oW

13/21

3-5

0 0 0
1 1 0 0

f't{EC

pPD70108 (V20)

Instruction Set (cont)
Mnemonic

Operands

Opcode
0
7

7 6 5 4 3 2

5· 4 3 2

0

Clocks

Bytes

Flags
AC CV V P S Z

Bit Manipulation Instructions (cont)
SET1

reg, imm3/4
mem, imm3/4

0 0 0 0 1
1 1 0 0 0

0 0 0 0 1 1 1 1
mod 0 0 0 mem

CY
CLR1

1

0 0

DIR

1

1 1

1 0 1

reg, CL

o

0 0 1 1 1 1
0 0 0
reg

1

NOT1

0 0

0 W

5

0 0 0

0 W

14/22

reg
4-6

2
2

o

W

3

mem, CL

0000
mod 0 0

11100
mem

o

W

14/22

reg, imm3/4

0000111100
1 1 0 0 0
reg

o

W

6

mem, imm3/4

0000
mod 0 0

W

15/27

CY

1

0 0

2

DIR

1 1 1

1 0 0

2

reg, CL

o

1 1 1
reg

0

o

o

W

4

3

mem, CL

000011110
mod 0 0 0 mem

o

o

W

18/26

3-5

reg, imm3/4

0000
1 1 0 0

1110
reg

o

W

5

4

mem, imm3/4

000011110
mod 0 0 0 mem

o

W

19/27

4-6

0 0
1 1 0

11100
mem

CY

3-5

4-6

o

x

2

Shift/Rotate Instructions
SHL

SHR

reg, 1

0

reg, CL
mem, CL
reg, imm8

0

W

1 1

0 0

0

0 0 1 W

1 1

0 0

0

0 0 1 W

mod

0

0

0 0 0 W

1 1

0 0

reg

2

2

u x x x x x

uxuxxx

---------------------------------------------------------------------------mem, 1
0
W
mod
0 0 mem
16/24
2-4
u x x x x x
reg

7+ n

2

mem

19/27 + n

2-4

uxuxxx

reg

7+n

3

uxuxxx

mem, imm8

0 0 0 0

W

mod

mem

19/27 + n

3-5

u x u x x x

reg, 1

0

0 0

W

1 1

reg

2

2

u x x x x x

reg, CL

0

0 0

W

1 1

0

reg

7+ n

2

u x u x x x

mem, CL

0 1 0 0 1 W

mod

0

mem

19/27 + n

2-4

u x u x x x

reg, imm8

0 0 0 0 0 W

1 1

0

reg

7+ n

3

u x u x x x

mem, imm8

0 0 0 0 0 W

mod

19/27 + n

3-5

uxuxxx

---------------------------------------------------------------------------mem, 1
0
0 0 0 W
mod
0
mem
16/24
2-4
u x x x x x

mem
n = number of shifts

NEe

pPD70108 (V20)
Instruction Set (cont)
Mnemonic

Operands

Opcode
7 6 5 4 3 2 1 0

o

6 5 4 3 2

Clocks

Bytes

Flags
AC CY V P S Z

Shift/Rotate Instructions (cont)
SHRA

reg, 1

1

mod

2

u x 0 x x x

16/24

2-4

u x 0 x x x

01001W

1 1

reg

7+n

2

u x u x x x

01001W

mod

mem

19/27 + n

2-4

u x u x x x

reg, immS

o
o
o
o
o
o

0 0 0 0 W

1 1

reg

7+n

3

u x u x x x

000

mod 1

mem

19/27 + n

3-5

uxuxxx

2

2

reg, 1

mem, CL
reg, imm
mem, imm

W

1 1 0 0 0

reg

0 0 0 W

mod 0 0 0

mem

16/24

2-4

x x

0

1 1 0 0 0

reg

7+n

2

x u

W

1

0 1 W

mod 0 0 0

mem

0 0 0 W

1 1 0 0 0

reg

0 0 0 W

mod 0 0 0

o

0 W

1 1 0 0

0

19/27 + n

2-4

x u

7+n

3

x u

mem

19/27 + n

3-5

x u

reg

2

2
2-4

x x
x x
x u

mem, CL

o
o
o

19/27 + n

2-4

x u

reg, immS

000 0 0 W

1 1 0 0 1

reg

7+n

3

x u

mem, immS

OOOOOW

mod 0 0 1

mem

19/27 + n

3-5

x u

reg, 1

o
o
o
o
o
o
o
o
o
o
o
o

1 1 0

0

reg

2

2

x x

0 0 0 W

mod 0

0

mem

16/24

2-4

x x

0 0

W

1 1 0

0

reg

7+n

0 0 1 W

mod 0

0

mem

19/27 + n

2-4

x u

000 0 W

1 1 0

0

reg

7+n

3

x u

0 0 0 0 W

mod 0

0

mem

0 0 0 W

1 1 0

reg

0 0 0 W

mod 0

mem

0 0 1 W

1 1 0

reg

1 0 0 1 W

mod 0

mem

000 0 W

1 1 0

reg

0 0 0 0 W

mod 0

mem

reg, CL

mem,1
reg, CL
mem,CL
reg, immS
mem, immS
reg, 1
mem, 1
reg, CL
mem,CL
reg, immS
mem, immS

0 W

mod

mem

16/24

0 0

W

1 1

reg

7+n

0 0

W

oW

o

mem

mod 0 0

x u

19/27 + n

3-5

x u

2

2

x x

16/24

2-4

x x

7+n

2

x u

19/27 + n

2A

x u

7+n

3

x u

19/27 + n

3-5

x u

1S/26

2-4

n = number of shifts

Stack Manipulation Instructions
PUSH

x x

0 0 0 W

o
o

reg, 1
mem,1

RORC

2

reg, CL

reg, CL

ROLC

reg
mem

mem,CL

mem,1

ROR

0 0 W

000 0 W

mem, immS
ROL

o

o

mem,1

mem16

1

1

1 1 1 1

reg16

0

0

o

sr

0 0 0

1 0

S/12

PSW

1 0 0 1

1 0 0

S/12

R

o
o

o
o

0 0

35/67

S 0

7/12

imm

reg

sr

0
0

mod 1 1 0

mem

S/12

2-3

NEe

pPD70108 (V20)

Instruction Set (cont)
Mnemonic

Operands

Opcode
0
7 6 5 4 3 2 1 0

7 6 5 4

Clocks

Byles

17/25

2-4

Flags
AC CY V P S Z

Stack Manipulation Instructions (cont)

POP

PREPARE

mem16

1 0 0 0

reg16

0

sr

0

PSW
R
imm16, imm8

mod 0 0 0

mem

reg

0

8/12

sr

8/12
1 0

8/12

0

0 0 1

43/75

0

0 0 0

R R R R R R

*
*imm8 = 0: 16
imm8> 1: 23 + 16 (imm8 - 1)

DISPOSE

0 0

0

1

6/10

0

0

0

16/20

3

1m

Control Transfer Instructions

CALL

near_proc
regptr

1

memptr16

1 1

1

far_proc

0 0

0

1

1 1

memptr32

RET
pop_value
pop_value

BR

0

reg

14/18

2

mod 0

0

mem

23/31

2-4

0
mod 0

mem

21/29

5

31/47

2-4

0 0 0 0

1

15/19

0 0 0 0

0

20/24

0 0

0

1

21/29

1

0 0

0

0

24/32

3

13

3

12

2

near_label

0

shorUabel

0

0

3

regptr

1 1

0 0

reg

11

2

memptr16

mod

0 0

mem

20/24

2-4

15

5

mod

0

mem

27/35

2-4

14/4

2

14/4

2

14/4

2
2

far_label

0

0

memptr32

BV
BNV
BC,BL
BNC,BNL
BE, BZ
BNE, BNZ
BNH
BH
BN
BP
BPE
BPO
BLT
BGE

1 1 0

1

shorUabel

0

0

shorUabel

0

0

shorUabel

0

0

shorUabel

0

0 0

14/4

shorUabel

0

0

14/4

2

shorUabel

0

0

14/4

2

0
0

short_label

0

0

14/4

2

shorUabel

0

0 1 1

14/4

2

0 0 0

14/4

2

0 1

14/4

2

0

14/4

2

shorUabel

1

14/4

2

shorUabel

0 0

14/4

2

shorUabel

0

14/4

2

shorUabel

0

shorUabel

0

shorUabel

0

':21

NEe

pPD70108 (V20)
Instruction Set (cont)
Mnemonic

Operand

Opcode
0
7 654321 0

6 5 4 3 2

Clocks

Bytes

Flags
AC CY V P S,Z

Control Transfer Instructions (cont)
BLE

shorUabel

0

BGT

shorUabel

0

14/4

2

1 1 1

14/4

2

0

DBNZNE

shorUabel

0 0 0 0 0

14/5

DBNZE

shorUabel

0 0 0 0 1

14/5

2

DBNZ

shorUabel

0 0 0

13/5

2

BCWZ

shorUabel

0 0 0

13/5

2

0

Interrupt Instructions
BRK

3

0 0

0 0

imm8

0 0

0 1

0 0

0

BRKV
RETI

1
reg16, mem32

0

BRKEM

imm8

0 0 0 0

38/50

2

52/3

1

0 0

CHKIND

38/50

R R R R R R

27/39

0 0 0

0

mod

reg

mem

1 1 1 1 1 1 1 1

18/26
73-76

2-4

38/50

3

CPU Control Instructions
HALT

0 1 0 0

BUSLOCK
FP01
FP02

fp_op

1

0 0 0 0

0

X X X

2
2
1 1 Y Y Y Z Z Z

2

mod Y y y

11/15

2-4

2

fp_op, mem

1

0 1 1 X X X

fp_op

0

1 0 0

X

1 1 Y y y Z Z Z

2

2

1 1 0 0

X

mod y y y

11/15

2-4

fp_op, mem

mem
mem

POLL

0 0

1 o 1 1
n = number of times POLL pin is sampled.

2+5n

NOP

0 0

0 0 0 0

3

DI

0

EI

0

0

2
2

8080 Instruction Set Enhancements
RETEM
CALLN

imm8

1

0

0

1

0

27/39

2

1

0

0

0

0

38/58

3

R R R R R R

NEe
NEe Electronics Inc.

pPD70ii6 (V30), 70ii6H (V30H)
i6·Bil Microprocessor:
High·Performance, CMOS

Description

Ordering Information

ThepPD70116 (V30®) is a CMOS 16-bit microprocessor
with an internal 16-bit architecture and a 16-bit external
data bus. The pPD70116 instruction set is a superset of
thepPD8086/8088; however, mnemonics and execution
times are different. The pPD70116 additionally has a
powerful instruction set including bit processing,
packed BCD operations, and high-speed multiplication/division operations. The pPD70116 can also
execute the entire 8080 instruction set and comes'with
a standby mode that significantly reduces power
consumption. It is software-compatible with the
pPD70108 microprocessor.

Part
Number

Max Frequency
of Operation

Package Type

8 MHz

40-pin plastic DIP

Standard Series

jiPD70116C8
C10

10 MHz

L8

8 MHz

L10

10 MHz

GC8

8 MHz

GC10

10 MHz

jiPD70116HC10

10 MHz

HC12

12 MHz

HC16

16 MHz

Features

HL 10

10 MHz

o

HL 12

12 MHz

The H-series microprocessors are fully static devices
that offer operating frequencies to 16 MHz, lower
power consumption, and no restriction on minimum
clock frequency from dc to 16 MHz.
Minimum instruction execution time:
250 ns at 8 MHz, 200 ns at 10 MHz, 125 ns at 16 MHz
o Maximum addressable memory: 1 Mbyte
D Abundant memory addressing modes
o 14 x 16-bit register set
o 101 instructions
o Instruction set is a superset of pPD8086/8088
instruction set
o Bit, byte, word, and block operations
OBit fielq operation instructions
o Packed BCD instructions
o Multiplication/division instruction execution
time: 2.4 t07.1psat8MHz, 1.9 t05.7psat10MHz
o High-speed block transfer instructions:
1 Mbyte/s at 8 MHz, 1.25 Mbyte/s at 10 MHz
o High-speed calculation of effective addresses:
2 clock cycles in any addressing mode
o Maskable (INT) and nonmaskable (NMI)
interrupt inputs
o IEEE-796 bus compatible interface
o 8080 emulation mode
o CMOS technology
o Low power consumption
o Low-power standby mode
o Minimum-power Stop mode (H-Series)
o Single power supply; 5-V and 3-V specifications
D Maximum operating frequencies: 8 to 16 MHz
V30 is a registered trademark of NEC Corporation.

44-pin PLCC

52-pin plastic QFP
(P52GC-100-386)

H-Series

HL 16

16 MHz

HGC10

10 MHz

HGC12

12 MHz

HGC16

16 MHz

40-pin plastic DIP

44-pin PLCC

52-pin plastic QFP
(P52GC-100-386)

Pin Configurations
40-Pin Plastic DIP
IC

VDD

AD14

A D 15

AD13

A16/PSO

AD12

A17/PS1

AD11

A1a/PS2

AD10

A19/PS3
UBE

AD9
ADa

33

S/LG

31

HlDRO [RO/AKol

RD

AD7
AD6

10

tLPD
70116

ADs

11

AD4

12

ADa

13

jQ/M [BS2l

AD2

14

BUFR/W [BS1l

HlDAK [RO/AK1l
WR [BUSlOCKl

AD1

15

BUFEN [BSol

ADo

16

ASTB [OSol

NMI

17

INTAK [OS1l

INT

18

POll

ClK

19

READY

GND

20

RESET
83-004104B

50029-2 (NECEL-062)

NEe

pPD70116 (V30)
Pin Configurations (cont)

Pin Identification
Symbol

44-Pin Plastic Leaded Chip Carrier (PLCC)

Internally connected

AD14 - ADo

..,en .., .., .., .., .., ..,.., ..,
a:I

,...

CD

II)

'

2.2V



~
;:)

0l~ '"

0

0

%: %:

w oo 0 w w i
a: > > a: a: z

CD
I'-

I'-

II)

I'-

I/j

""

M

I'-

N

I'-

;::::

0
I'-

en
CD

:gN :g.- :g0l~:E
:g t; :g

II)

CD

64

lORD

63

NC

A15

62

MWR

A14

61

IOWR

A13

60

BUSLOCK

A16/PSo

0

NC

A12

59

BUFR/W

All

58

BUFEN

Al0

57

CLKOUT

A9

56

Xl
X2

AS

10

55

GND

11

54

GND

NC

12

53

NC

GND

13

52

GND

AD7

14

51

[High]

AD6

15

50

ASTB

ADS

16

49

QSo

AD4

17

48

QS1

AD3

18

47

POLL

AD2

19

46

TCTL2

tiP D70208GF

AD1

20

45

TOUT2

ADD

21

44

TCLK

NC

22

43

NC

NC

23

42

INTP7

END/TC

24

41

INTP6

II)

CD

N

~ ~ ~ ~ M

o

~

o

N

°1°

PI

Q

Q

>C

>C

~ ~ ~ ~

UI>a:

TTT
~

o

~

a: ~
c( '"
c( a:
c( '"
c( a: '"
a:
'"
c( :E
:E :E :E :E :E
o ~
Q Q Q Q Q Q
a: '"
'"
:E c(
:E
Q

Q

-

Q

~

;:
;:)

r;;

~ ~

0

""

II)
o .- N M
00.. 0.. 0.. 0.. 0..
> ~ ~ ~ ~ ~

""

~ ~ ~ ~ ~

0

!:::

I~

83-0041808

3

NEe
Pin Identification
Symbol

Symbol
Function

Function

INTP1-INTP7

Interrupt request inputs

A19-A16/PS3-PSO

Multiplexed address/processor status outputs

lORD

I/O read strobe output

A15- AS

Address bus outputs

10WR

I/O write strobe output

AD7-ADo

Multiplexed address/data bus

MRD

Memory read strobe output

ASTB

Address strobe output

MWR

Memory write strobe output

BS2-BSO

Bus status outputs

NC

No connection

BUFEN

Data bus transceiver enable output

NMI

Nonmaskable interrupt input

BUFR/W

Data bus transceiver direction output

POLL

Poll input

BUS LOCK

Buslock output

QS1-QSO

CPU queue status outputs

CLKOUT

System clock output

READY

Ready input

DMAAKO

DMA channel 0 acknowledge output

REFRQ

Refresh request output

DMAAK1

DMA channel 1 acknowledge output

RESET

Reset input

DMAAK2

DMA channel 2 acknowledge output

RESOUT

Synchronized reset output

DMAAK3/TxD

DMA channel 3 acknowledge output/Serial
transmit data output

TCLK

Timer / counter external clock input

TCTL2

Timer/counter 2 control input

TOUT2

Timer / counter 2 output

Voo

+5 V power supply input

X1,X2

Crystal/external clock inputs

DMARQO

DMA channel 0 request input

DMARQ1

DMA channel 1 request input

DMARQ2

DMA channel 2 request input

DMARQ3/RxD

DMA channel 3 request input/Serial receive
data input

END/TC

End input/Terminal count output

GND

Ground

High

High-level output except during hold
acknowledge when it is placed in the
high-impedance state

HLDAK

Hold acknowledge output

HLDRQ

Hold request input

IC

Internal connection; leave unconnected

INTAKITOUT1/SRDY

Interrupt acknowledge output/Timer/counter 1
output/Serial ready output

4

NEe

pPD70208 (V40)

Pin Functions

AD7-ADo [Address/Data Bus]

A19-A16/PS3-PSO [Address/Status Bus]

These three-state pins form the active-high, time-mUltiplexed address/data bus. During T1 of a bus cycle,
ADrADo output the lower 8 bits of the 20-bit memory
or I/O address. During the T2, T3, TW, and T4 states,
ADj-ADo form the 8-bit bidirectional data bus.

These three-state output pins contain the upper 4 bits
of the 20-bit address during T1 and processor status
information during the T2, T3, TW, and T 4 states of a bus
cycle. Du ring T1 of a memory read or write cycle, these
pins contain the upper 4 bits of the 20-bit address.
These pins are forced low during T1 of an I/O bus
cycle.
Processorstatus is output during T2, T3, TW, and T4 of
both memory and I/O bus cycles. PS3 is zero during
any CPU native mode bus cycle. During any DMA,
refresh, or 8080 emulation mode bus cycle, PS 3 outputs
a high level. PS2 outputs the contents of the interrupt
enable (IE) flag in the CPU PSW register. PS1 and PSo
indicate the segment register used to form the physical
address of a CPU bus cycle as follows:
PSI

PSo

Segment

0
0

0
1

Data segment 1 (DS1)
Stack segment (SS)

0
1

Program segment (PS)
Data segment 0 (DSO)

These pins are in the high-impedance state during hold
acknowledge.

A1s-Aa [Address Bus]
These three-state pins form the middle byte of the
active-high address bus. During any CPU, DMA, or
refresh bus cycle, A1s-Aa output the middle 8 bits of the
20-bit memory or 110 address. The A1s-Aa pins enter
the high-impedance state during hold acknowledge or
an internal interrupt acknowledge bus cycle. During a
slave interrupt acknowledge bus cycle, A1O-Aa contain
the address of the selected slave interrupt controller.

The ADrADo pins enter the high-impedance state
during hold acknowledge or internal interrupt acknowledge bus cycles or while RESET is asserted.

ASTB [Address Strobe]
This active-high output is used to latch the address
from the multiplexed address bus in an external address
latch during T1 of a bus cycle. ASTB is held at a low
level during hold acknowledge.

BS2-BSO [Bus Status]
Outputs BS2-BSO indicate the type of bus cycle being
performed as follows. BS2-BSO become active during
the state preceding T1 and return to the passive state
during the bus state preceding T4.
Bus Cycle

BS2

BSI

BSo

0
0

0
0

0

0
0

1
1

o.
1

I/O write
Halt (Note 1)

0

0
1

Instruction fetch
Memory read (Note 2)

0
1

Memory write (Note 3)
Passive state

0

1

Interrupt acknowledge
I/O read

Note:

(1) BS2-BSO in a halt bus cycle returns tothe passive state oneclock
earlier than normal CPU bus cycles.
(2) Memory read bus cycles include CPU, DMA read, DMA verify,
and refresh bus cycles.
(3) Memory write bus cycles include C!='U and DMA write bus cycles.

BS2-BSO are three-state outputs and are high impedance during hold acknowledge.

5

1:'-11
I:i:a

NEe

pPD70208 (V40)
BUFEN [Buffer Enable]
BUFEN is an active-low output for enabling an external
data bus transceiver during a bus cycle. BUFEN is
asserted during T2 through T3 of a read cycle, T2
through T3 of a slave interrupt acknowledge cycle, and
T1 through T4 of a write cycle. BUFEN is not asserted
when the bus cycle corresponds to an internal peripheral, DMA, refresh, or internal interrupt acknowledge cycle. BUFEN enters the high-impedance state
during hold acknowledge.

DMAAK3/TxD [DMA Acknowledge 3]/[Serial
Transmit Data]
Two output signals multiplexed on this pin are selected
by the PF field of the on-chip peripheral connection
register.
• DMAAK3 is an active-low output and enables an
external DMA peripheral to perform the requested
DMA transfer for channel 3.
• TxD is the serial data output from the serial control
unit.

BUFR/W [Buffer Read/Write]
BUFR/W is a three-state, active-low output used to
control the direction of an external data bus transceiver during CPU bus cycles. A high level indicates
thepPD70208wili perform a write cycle and a low level
indicates a read cycle. BUFR/W enters the highimpedance state during hold acknowledge.

BUSLOCK
This active-low output provides a means for the CPU to
indicate to an external bus arbiter that the bus cycles of
the next instruction are to be kept contiguous.
BUSLOCK is asserted for the duration of the instruction
following the BUSLOCK prefix. BUSLOCK is also
asserted during interrupt acknowledge cycles and
enters the high-impedance state during hold acknowledge. While BUSLOCK is asserted, DMAL:J, RCU, and
external bus requests are ignored.

CLKOUT
CLKOUT is a buffered clock output used as a reference
for all timing. CLKOUT has a 50-percent duty cycle at
half the frequency of the input clock source.

DMAAKO-DMAAK2 [DMA Acknowledge]
This set of outputs contains the DMA acknowledge
signals for channels 0-2 from the internal DMA controller and indicate that the peripheral can perform the
requested transfer.

6

DMARQO-OMARQ2 [DMA Request]
These synchronized inputs are used by external peripherals to request DMA service for channels 0-2 from
the internal DMA controller.

DMARQ3/RxD [DMA Request 3]1[Serial Receive
Data]
Two input signals multiplexed on this pin are selected
by the PF field of the on-chip peripheral connection
register.
• DMARQ3 is used by an external peripheral to request
a DMA transfer cycle for channel 3.
• RxD is the serial data input to the serial control unit.

EN D/TC [End/Terminal Count]
This active-low bidirectional pin controls the termination of a DMA service. Assertion of END by external
hardware during DMA service causes the service to
terminate. When a DMA channel reaches its terminal
count, the DMAU asserts TC, indicating the programmed operation has completed.
END/TC is an open-drain 1/0 pin, and requires an
external 2.2-kO pull-up resistor.

NEe

pPD70208 (V40)

HLDAK [Hold Acknowledge]

INTP1-INTP7 [Peripheral Interrupts]

When an external bus requester has become the
highest priority requester, the internal bus arbiter will
assert the HLDAK output indicating the address, data,
and control buses have entered a high-impedance state
and are available for use by the external bus master.

INTP1-INTP7 accept either rising-edge or high-level
triggeredasyochronousinterrupt requests from external
peripherals. These INTP1-INTP7 inputs are internally
synchronized and prioritized by the interrupt control
unit, which requests the CPU to perform an interrupt
acknowledge bus cycle. External interrupt controllers
such as the JlPD71059 can be cascaded to increase the
number of vectored interrupts.

Should the internal DMAU or RCU (demand mode)
request the bus, the bus arbiter will drive HLDAK low.
When this occurs, the external bus master should
complete the current bus cycle and negate the HLDRQ
signal. This allows the bus arbiter to reassign the bus to
the higher priority requester.
If a higher priority internal bus master subsequently
requests the bus, the high-level width of HLDAK is
guaranteed to be a minimum of one CLKOUT period.

These interrupt inputs cause the CPU to exit both the
standby and 8080 emulation modes.
The INTP1-INTP7 inputs contain internal pull-up
resistors and may be left unconnected.

lORD [1/0 Read]

This active-high signal is assert~d by an external bus
master requesting to use the local address, data, and
control buses. The HLDRQ input is used by the internal
bus arbiter, which gives control of the buses to the
highest priority bus requester in the following order.

This three-state pin outputs an active-low I/O read
strobe during T2, T3, and TW of an I/O read bus cycle.
Both CPU I/O read and DMA write bus cycles assert
lORD. lORD is not asserted when the bus cycle
corresponds to an internal peripheral or register. It
enters the high-impedance state during hold acknowledge.

Bus Master

10WR [1/0 Write]

HLDRQ [Hold Request]

RCU
DMAU
HLDRQ

CPU
RCU

Priority

Highest (demand mode)

•
•
•
Lowest (normal operation)

INTAK/TOUT1/SRDY [Interrupt Acknowledge]1
[Timer 1 Output]/[Serial Ready]

This three-state pin outputs an active-low I/O write
strobe during T2, T3, and TW of a CPU I/O write or an
extended DMA read cycle and during T3 and TW of a
DMA read bus cycle. 10WR is not asserted when the
bus cycle corresponds to an internal peripheral or
register. It enters the high-impedance state during
hold acknowledge.

Three output signals multiplexed on this pin are
selected by the PFfield of the on-chip peripheral
connection register.
• INTAK is an interrupt acknowledge signal used to
cascade external slave JlPD71059 I nterrupt Controllers. I NTAK is asserted during T2, T3, and TW states
of an interrupt acknowledge cycle.
• TOUT1 is the output of timer/counter 1.
• SRDY is an active-low output and indicates that the
serial control unit is ready to receive the next
character.

7

I:R
m:I

NEe

pPD'70208 (V40)
MRD [Memory Read Strobe]

READY [Ready]

This three-state pin outputs an active-low memory
read strobe during T2, T3, and TW 01a memory read
bus cycle. CPU memory read, DMA read, and refresh
bus cycles all assert MRD. MRD enters the highimpedance 'state during hold acknowledge.

This active-high input synchronizes external memory
and peripheral devices with the pPD70208. Slow
memory and I/O devices can lengthen a bus cycle by
negating the READY input and forcing the BIU to insert
TW states. READY must be negated prior to the rising
edge of CLKOUT during the T2 state or by the last
internally generated TW state to guarantee recognition.
When READY is, once again asserted and recognized
by the BIU, the Biu will proceed to the T4 state.

MWR [Memory Write Strobe]
This three-state pin outputs an active-low memory
write strobe during T2, T3, and TW of aCPU memory
write or DMA extended write bus cycle and during T3
and TW of a DMA normal write bus cycle. MWR enters
the high-impedance state during hold acknowledge.

The READY input operates in parallel with the internal
pPD70208 wait control unit and can be used to insert
more than three wait states into a bus cycle.

NMI [Nonmaskable Interrupt]

REFRQ [Refresh Request]

The NMI pin is a rising-edge-triggered interrupt input
that cannot be masked by software. NMI is sampled by
CPU logic each clock cycle and when fOund valid for
one or more CLKOUT cycles, the NMI interrupt is
accepted. The CPU will process the NMI interrupt
immediately after the current instruction finishes
execution by fetching the segment and offset of the
NMI handler from interrupt vector 2. The NMI interrupt
causes the CPU to exit both the standby and 8080,
emulation modes. The NMI input takes precedence
over the maskable interrupt inputs.

REFRQ is an active-low output indicating the current
bus cycle is a memory refresh operation. REFRQ is
used to disable memory address decode logic and
refresh dynamic memories. The 9-bit refresh row
address is placed on As-Ao during a refresh bus cycle.

POLLIPolI]
The active-low POLL input is used to synchronize the
operation of external devices with the CPU. During
execution of the POLL instruction, the CPU checks the
POLL input state every five clocks until POLL is once
again asserted.

QS1-QSO [Queue Status]
The QS1 and QSo outputs maintain instruction synchronization between thepPD70208 CPU and external
devices. These outputs are interpreted as follows.
QSo

o
o

o

Instruction Queue Status
No operation

RESET is a Schmitt trigger input used to force the
pPD70208 to a known state by resetting the CPU and
on-chip peripherals. RESET must be asserted for a
minimum offourclocks to guarantee recognition. After
RESET has been released, the CPU will start program
execution from address FFFFOH in the native mode.
RESET will release the CPU from the low-power
standby mode and force it to the native mode.

RESOUT [Reset Output]
This active..,high output is available to perform a systemwide reset function. RESET is internally synchronized
with CLKOUT and output on the RESOUT pin.

TCLK
TCLK is an external clock source for the timer control
unit. The three timer/counters can be programmed to
operate with either the TCLK input or a prescaled
CLKOUT input.

First byte of instruction fetched

o

Flush queue contents

TCTL2

Subsequent byte of instruction fetched

TCTL2 is the control input for timer/counter 2.

Queue status is valid for one clock cycle after the CPU
has accessed the instruction queue.

8

RESET [Reset]

TOUT2
TOUT2 is the output of timer/counter 2.

NEe

pPD70208 (V40)

Xl, X2 [Clock Inputs]

Table 1.

These pins accept either a p'arallel resonant, fundamental mode crystal or an external oscillator input with
a frequency twice the desired operating frequency.

Symbol

In the case of an external clock generator, the X2 pin
can be either left unconnected or be driven by the
complement of the X1 pin clock source.

Pin States
Table 1 lists the output pin states during the Hold, Halt,
Reset, and DMA Cascade conditions.

Input/Output Pin States
DMA
Pin Type

Hold

Halt

Reset Cascade

A19-A16/PS3-PSO.
A15- Aa

3-state Out

Hi-Z

H/L

H/L

Hi-Z

AD7-ADo

Hi-Z

3-state 1/0

Hi-Z

H/L

Hi-Z

ASTB

Out

L

L

L

L

, BUFEN

3-state Out

Hi-Z

H

H

Hi-Z

BUFR/W

3-state Out

Hi-Z

H/L

H

Hi-Z

BUS LOCK

3-state Out

Hi-Z

HIL

H

Hi-Z

BS2-BSO

3-state Out

Hi-Z

H

H

H

CLKOUT

Out

H/L

H/L

H/L

H/L

DMAAKO-DMAAK2

Out

H

H/L

H

H/L

DMAAK3

Out

H

H/L

H

H/L

H/L

H/L

END/TC

I/O

H/L
H

H/L

H

H

HLDAK

Out

H

H/L

L

L

INTAK

Out

H

H

H

H

TOUT1

H/L

H/L

SRDY

H/L

H/L
H

TxD

H/L
H/L

lORD

3-state Out

Hi-Z

10WR

3-state Out

Hi-Z

H

H

Hi-Z

MRD

3-state Out

Hi-Z

H

H

Hi-Z

MWR

H

Hi-Z

3-state Out

Hi-Z

H

H

Hi-Z

QS1-QSO

Out

H/L

L

L

H/L

REFRQ

Out

H

H/L

H

H

,RESOUT

Out

L

H

L

TOUT2

Out

H/L

H/L

H/L

H/L

H: high level; L: low level; H/L: high or low level; Hi-Z: high
impedance.

II

NEe

pPD70208(V40)
Block Diagram
INTP1

~

INTP2
INTP3
INTP4
INTP5

~

Interrupt
Control
Unit
[ICU]

~ A19-A1slPS3-PSO

Wait
Control
Unit
[WCU]

~A15-A8 ,
~Ab7-ADO

F===>

INTP6
INTP7

BS2-BSo
QS1
QSo

TOUT2

~

Timer/
Counter
Unit
[TCU]

TOUT1
TCTL2
TCLK

POLL

Bus
Interface
Unit
[BIU]

ASTB

BUFEN
BUFR/W
BUSLOCK

DMARQO
DMAAKO
DMARQ1
DMAAK1DMARQ2
DMAAK2

DMA
Control
Unit
[DMAU]

Central
Processing
Unit
[CPU]

lORD
IOWR
MRD
MWR
READY
RESET

DMARQ3

~

RESOUT

DMAAK3
END/TC

Bus
Arbitration
Unit
[BAU]

iNTAK
NMI

X1
X2
CLKOUT

Clock
Generator
[CG]

Refresh
Control
Unit
[RCU]

-

Serial
Control
Unit
[SCU]

f----

HLDAK
HLDRQ

TxD
SRDY
RxD

REFRQ
83-004137C

NEe

pPD70208 (V40)

Absolute Maximum Ratings

DC Characteristics

TA =+25°C

TA = -10 to +lO°C, VDD = +5 V ±10% (8 MHz),
VDD = 5 V ±5% (10 MHz)

Power supply voltage, Voo

-0.5 to +7.0 V

Input voltage, VI

Limits

-0.5 to Voo + 0.3 V

ClK input voltage, VK

-0.5 to Voo + 1.0 V

Output voltage, Vo

-0.5 to Voo + 0.3 V

Operating temperature, TOPT
Storage temperature, TSTG

-65 to +150 °C

Comment: Exposure to Absolute Maximum Ratings for extended
periods may affect device reliability; exceeding the ratings could
cause permanent damage. The device should be operated within the
limits specified under DC and AC Characteristics.

Parameter

Test
Conditions

Symbol

Min

Max

Unit

Input voltage, high

VIH

2.2

VOD +
0.3

V

Input voltage, low

Vil

-0.5

O.B

V

X1, X2 input
voltage, high

VKH

3.9

VOD +
1.0

V

X1, X2 input
voltage, low

VKl

-0.5

0.6

V
V

IOH = -400pA

V

IOl =2.5 mA

Output voltage, high VOH

0.7 Voo

Capacitance

Output voltage, low

VOL

0.4

TA=+25°C, VDD=OV

Input leakage
current, high

ILiH

10

pA

VI = VOO

Input leakage
current, low

ILlPl

-300

pA

VI = 0 V, INTP
input pins

ILil

-10

pA

VI = 0 V, other
input pins

Output leakage
current, high

IlOH

10

pA

Vo = Voo

Output leakage
current, low

IlOl

-10

pA

Vo=OV

Supply current
8 MHz

100

90
20

mA
mA

Normal mode
Standby mode

10 MHz

100

120
25

mA
mA

Normal mode
Standby mode

limits
Parameter

Symbol

Min

Max

Input capacitance

CI

15

Output capacitance

Co

15

Unit

Test
Conditions

pF fc = 1 MHz;
unmeasured pins
pF
are returned to 0 V.

11

D

NEe

pPD70208 (V40)
AC Characteristics

TA = -10 to +70°C; Voo

= 5 V ±10% (8 MHz), Voo = 5 V ±5% (10 MHz), CL = 100 pF
10 MHz Limits

8 MHz Limits
Symbol

Min

Max

Min

Max

Unit

External clock input cycle time

tCYX

62

250

50

250

ns

External clock pulse width, high

tXXH

20

19

ns

VKH

External clock pulse width, low

tXXL

20

19

ns

VKL = 1.5 V

External clock rise time

tXR

10

5

ns

1.5- 3.0V

External clock fall time

tXF

10

5

ns

3.0 -1.5V

CLKOUT cycle time

tCYK

124

500

ns

CLKOUT pulse width, high

tKKH

0.5 tCYK-7

0.5 tCYK - 5

ns

VKH

CLKOUT pulse width, low

tKKL

0.5 tCYK'-- 7

0.5 tCYK - 5

ns

VKL = 1.5 V

CLKOUT rise time

tKR

7

5

ns

1.5 - 3.0 V

CLKOUT fall time

tKF

7

5

ns

3.0-1.5 V

CLKOUT delay time from external clock

tOXK

55

40

ns

Input rise time (except external clock)

tlR

20

15

ns

0.8 - 2.2 V

Input fall time (except external clock)

tlF

12

10

ns

2.2 - 0.8 V

Output rise time (except CLKOUT)

tOR

20

15

ns

0.8 - 2.2 V

tOF

12

10

ns

2.2 -

Parameter

Output fall time (except CLKOUT)
RESET setup time to CLKOUT!

tSRESK

25

RESET hold time after CLKOUT!

tHKRES

35

tOKRES

5

RESOUT delay time from CLKOUT!
READY inactive setup time to CLKOUTl

tSRYLK

READY inactive hold time after CLKOUTl
READY active setup time to CLKOUTl

500

100

20
5

ns

tHKRYL

25

20

ns

tSRYHK

15

15

ns

READY active hold time after CLKOUTl

tHKRYH

25

20

ns

NMI, POLL setup time to CLKOUTl

tSIK

15

15

ns

Data setup time to CLKOUT!

tSOK

15

15

ns

Data hold time after CLKOUT!

tHKO

10

10

Address delay time from CLKOUT!

tDKA

10

Address hold time after CLKOUT!

tHKA

10

1/0 recovery time

tAl

PS delay time from CLKOUT!

tOKP

60
60

PS float delay time from CLKOUTt

tFKP

10

tSAST

tKKL - 20

Address float delay time from CLKOUT!

tFKA

tHKA

ns

10

50

ns

10

50

ns

tHKA

A19-AO UBE
(Note 1)

ns

tKKL - 30
60

ns
ns

2tCYK - 40

10

Address setup time to ASTB!

ns
50

10

2tCYK - 50

0.8 V

ns

15

10

= 3.0 V

ns
50

15

55

= 3.0 V

ns

25
60

Test Conditions

50

ns

40

ns

45

ns

ASTBl delay time from CLKOUT!

tOKSTH

45

ASTB! delay time from CLKOUTl

tOKSTL

50

ASTB pulse width, high

tSTST

tKKL -10

Address hold time after ASTB!

tHSTA

tKKH - 20

tOKCT1

10

70

10

60

ns

(Note 2)

tOKCT2

10

60

10

55

ns

(Note 3)

Control delay time from CLKOUT

19

ns

tKKL - 10

ns

tKKH - 20

NEe

pPD70208 (V40)

AC Characteristics (cont)
8 MHz Limits

10 MHz Limits

Parameter

Symbol

Min

Max

RD! delay time from address float

tOAFRL

0

RD! delay time from CLKOUT!

tOKRL

10

75

ROt delay time from CLKOUT!

tOKRH

10

70

REFROt delay from MROt

tORQHRH tKKL - 30

Min

Max

Unit
ns

0
10

65

ns

10

60

ns

tKKL - 30

ns

Test Conditions
(Note 4)

(Note 5)

Address delay time from ROt

tORHA

tCYK - 40

tCYK - 40

ns

RD pulse width, low

tRR

2tCYK - 50

2tCYK - 40

ns

BUFR/W delay from BUFENt

tOBECT

tKKL - 20

tKKL - 20

ns

Read cycle

tOWCT

tKKL - 20

ns

Write cycle

Data output delay time from CLKOUT!

tOKO

tKKL - 20

10

60
60

Data float delay time from CLKOUT!

tFKO

10

WR pulse width, low

tww

2tCYK - 40

BS! delay time from CLKOUTt

tOKBL

10

60
60

10

55

ns

10

55

ns
ns

2tCYK - 40
10

55

ns

10

55

ns

(Note 4)

BS t delay time from CLKOUT!

tOKBH

10

HLDRO setup time to CLKOUTt

tSHQK

20

HLDAK delay time from CLKOUT!

tOKHA

10

70

10

60

ns

DMAAK! delay time from CLKOUTt

tOKHOA

10

60

10

55

ns

DMAAK! delay time from CLKOUT!

tOKLOA

10

90

10

80

ns

Cascade mode

WR pulse width, low (OMA cycle)

tWW1

2tCYK - 40

2tCYK - 40

ns

DMA extended
write cycle

WR pulse width, low (DMA cycle)

tWW2

tCYK - 40

tCYK - 40

ns

DMA normal
write cycle

RD!, WR! delay from DMAAK!

tOOARW

tKKH - 30

tKKH - 30

ns

DMAAKt delay from Rot

tORHOAH

tKKL- 30

tKKL- 30

ns

tOWHRH

5

5

ROt delay from WRt

15

TC output delay time from CLKOUTt

tOKTCL

60

TC off delay time from CLKOUTt

tOKTCF

60

TC pulse width, low

tTCTCL

TC pullup delay time from CLKOUTt

tOKTCH

tCYK -15

ns

ns
55

ns

55

ns
ns

tCYK -15
tKKH
+ tCYK -10

tKKH
+ tCYK -10

ns

END setup time to CLKOUTt

tSEOK

35

30

ns

END pulse width, low

tEOEOL

100

80

ns

DMARO setup time to CLKOUTt

tSOQK

35

30

ns

INTPn pulse width, low

tlPIPL

100

80

ns

RxD setup time to SCU internal clock!

tSRX

0.5

p's

RxD hold time after SCU internal clock!

tHRX

SRDY delay time from CLKOUT!

tOKSR

0.5
150

p's

100

ns

Notes:

(1) This is specified to guarantee a read/write recovery time for I/O
devices.
(2) Delay from CLKOUT to DMA cycle MWR/IOWR outputs.

(4) RD represents lORD and MRD. WRrepresents 10WR and MWR.
(5) This is specified to guarantee that REFRQ
MRD t at all times.

t is delayed from

(3) Delay from CLKOUT to BUFR/W, BUFEN, INTAK, REFRQ outputs and CPU cycle MWR/IOWR outputs.

1'l

NEe

pPD70208 (V40)
AC Characteristics (cont)
8 MHz limits
Parameter

Symbol

TxD delay time from TOUT1!

tOTX

Min

Max

10 MHz limits
Min

500

Max

Unit

200

ns
ns

TCTL2 setup time from CLKOUT!

tSGK

50

40

TCTL2 setup time to TCLKt

tSGTK

50

40

ns

TCTL2 hold time after CLKOUT!

tHKG

100

80

ns

TCTL2 hold time after TCLKt

tHTKG

50

40

ns

tGGH

50

40

ns

tGGL

50

40

TCTL2 pulse width, high
TCTL2 pulse width, low
TOUT output delay time from CLKOUT!
TOUT output delay time from TOUT!

ns

tOKTO

200

150
100

ns
ns

tOTKTO

150

TOUT output delay time from TCTL2!

tOGTO

120

90

ns

TCLK rise time

tTKR

25

25

ns

TCLK fall time

tTKF

25

ns

TCLK pulse width, high

tTKTKH

50

45

TCLK pulse width, low

tTKTKL

50

45

TCLK cycle time

tCYTK

124

RESET pulse width low

tRESET1

50

50

tRESET2

4 tCYK

4 tCYK

14

25

DC

100

Test Conditions

ns
ns
DC

ns
ps

After power on
During operation

NEe

pPD70208 (V40)

Clock Input Configurations

Timing Measurement Points

Crystal-Controlled Internal Clock

II

t~

1SpF
II
II

~

T

X1

4V
Input
[except Clock] 2.

X2

Output

0.4 V

=X

2.2 V

2.2 V

x=

..:0:;::.8..:V_ _ _ _ _ _:::O.8::....:...V•

~ 2.2 V

2.2 V

tr--

~..:0:;::.8~V~________:::0.8::....:...V~

External Clock 1
ClK

----t>o

d::

S3-001S16A

I

External Clock 2
ClK

Buffers are high-speed
CMOS inverters.

1~:

I
S3-00401SA

Timing Waveforms
Clock Timing

External
Clock
[Xl]

ClKOUT

83-0018448

NEe

pPD70208 (V40.)
Timing Waveforms (cont)
Reset and Ready Timing

Reset Timing

CLKOUT

~'""~,--.

-----

RESOUT

Ready Timing, No Wait States
11

T2

T3

T4

11

11

. T2

T3

TW

T4

CLKOUT

READY

Ready Timing, Wait States

CLKOUT

READY

83-002725B

16

N'EC

pPD70208 (V40)

Timing Waveforms (cont)
Poll, NMI, and Buslock Timing

CLKOUT

POLL, NMI Input Timing

POLL, NMI

_f_'S'K

CLKOUT

BUSLOCK Output Timing

83-0018318

Read/Write Recovery Time

'AI~l

•~-IA-I---_-JI

I+--_IAI_--+l}--83-0042668

NEe

pPD70208 (V40)
Timing Waveforms (cont)
Read Timing
T2

T1

T4

T3/TW

T4

CLKOUT

Processor Status

II
~
1_-----"'"

-tFKA

AD7-ADO -+---+~

tSOK~1
Data Input

tHKO

ASTB-+----

[Note 1]

tOKCT2

tOKCT2
I

MRD
lORD

[Note 1]

1+-------+-tRR -----~

tOKBL

tOKBH

Note:
[1] Except internal 110 accesses.
83-001848B

NEe

pPD70208 (V40)

Timing Waveforms (cont)
Write Timing

T4

T1

T2

T3/TW

T4

CLKOUT

A19/ PSaA1s1PSo _ _ _ _J

BUFR/W

MWR~

__________________

tOKCT2

tOKCT2

~-+

10WR

[Note 1]

~----------tww----------~

I

BS2-BSo~--~----------~----------~--~-------------------------

tOKBL

tOKBH

Note:
[1] Except internal I/O accesses.
83-0018468

NEe

pPD70208 (V40)
Timing Waveforms (cont)
Status Timing
T4

T2

T1

T4

T3/TW

CLKOUT

A19 /PS 3
-A16/ PS o _ _ _ _J

Processor Status

tSOK-j

AD7-ADO .....----1....(1

Address

I

Data Input

ASTB

tOKBH

Bus Status

tOKRH

f

QS1.QSO~~~~~-_-_-_-

tRR

.1

---------)('----------~)('----------~)(~___________ ~
83-002724 B

NEe

pPD70208 (V40)

Timing Waveforms (cont)
Interrupt Acknowledge Timing
T2

T1

T3

T4

T2

T1

T3

T1

CLKOUT

ASTB
tOKCT2

tOKCT2

-L~------------~--------[Note 2)

BUF~W

__---

_ _ _ _ _~_____________________________________________________________

-f·~
BUSLOCK

_

/

Note:
[1J Slave address when the Interrupt Is from external pP071059. Undefined when InternallCU
interrupt.
[2J Solid line when Interrupt from external pP071059. Dash line when InternallCU interrupt.
83-0018408

21

NEe

pPD70208 (V40)
Timing Waveforms (coni)
HLDRQ/HLDAK Timing, Normal Operation

I

I

T2

I

--I

TI

I

TI

T4

TI

~
~----+----+---+---

CLKOUT~
~tsHaK

1

HLDRa~

-tOKHA

HLDAK

--[tOKA

[NOTEI[

Internal Bus

Maste~,:',
---.'~

_____

[NOTE2J

.. '-._ _ _ _

(ii-I

--In-t-er-n-al-B-u-S-M""~ster

L . "-----------------+------(1
---'~r

tFKA

....

Internal
Bus Master

-~tOKA

t-------~)~t'-------------------

-I-nt-e-rn-al-B-u-s-M-a-st-er-

(

NOTES: [IJ A19/PS3-A16/PSo, ADrADo, AwAs, BUFEN,BUFR/W,MRD,IORD,MWR,IOWR
[2J BS2-BSO
83-001842B

HLDRQ/HLDAK Timing, Bus Wait

CLKOUT

HLDRQ

HLDAK

[NOTEIJ

::

-------------c'l ~___E_xt_er_n_al_B_u_S_M_8_st_e_r_ _ _ _ _ _ _ _ _ _ _ _ _..J»)--------«

Internal Bus Master

83-002732B

22

NEe

pPD70208 (V40)

Timing Waveforms (cont)
Refresh Timing

T4

T1

T2

T3/TW

T4

CLKOUT

Undefined

Row Address

AS

AD7"ADo - - - - - - - « 1

ASTB

tORQHRH

tOKeT2

,t

OKBH

aS2

= 1, aS1 = 0, aso = 1

!
83-0027318

23

NEe

pPD702'08 (V40)
Timing Waveforms (cont)
DMAU, DMA Transfer Timing
T4

T1

T2

T3/TW

T4

CLKOUT

ASTB

tOKA

Address

AD7-ADo

tOKHOA

-

tORHOAH
tOKRH

tOOARW_

~------t-tRR-----+---""""1

1,..-----

tOKen
tOOARW_1

83-0027239

24

NEe

pPD70208 (V40)

Timing Waveforms (cont)
DMA Timing
EN D/TC Timing

T2

T1

T3

T4

CLKOUT

TC

tSEDK

END

~EDl-l

-------0..-----------------------

DMA Request Timing
T2
CLKOUT

OMARan
(n=0-3)

Cascade Mode, Normal Operation

Cascade Mode, Refresh Cycle Insertion

CLKOUT

OMARa

OMAAK -----------~

83-001826C

NEe

pPD70208 (V40)
Timing Waveforms (cont)
SCU Timing

RXD\_ _~I_ _ _L
l~tSRX---'oI4Il.l---- tHRX---.j

TounJ

14---+16 or 64 Toun pulses-----+I
1 4 - - - 1 6 or 64 TOUn pulses - - - -

TxD

tOTX

CLKOUT

' ' "1

SiffiY

83-001849B

ICU Timing

INTPn
(n=1-7)

I

('''''')

"~ "J

t\'EC

pPD70208 (V40)

Timing Waveforms (coni)
TCU Timing, Internal Clock Source

CLKOUT

TCTL2

____________£'00'0 ~o"'.
TOUTn
[n = 1, 2J _ _ _ _ _ _ _ _ _ _ __

83-002722B

TCU Timing, TCLK Source

tTKR

tTKF

TCLK

TCTL2

TOUTn

----------~-;-:-~-)--~~-----:~C'~ro

[n=1,2J _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

83-001823B

NEe
Functional Description

Central Processing Unit

Refer to the pPD70208 block diagram for an overview
of the ten major functional blocks listed below.

The pPD70208 CPU functions similarly to the CPU of
the pPD70108 CMOS microprocessor. However, be:...
cause the pPD70208 has internal peripheral devices,
its bus architecture has been modified to permit
sharing the bus with internal peripherals. ThepPD70208
CPU is object code compatible with both the pPD70108/
pPD70116 and thepPD8086/pPD8088 microprocessors.

•
•
•
•
•
•
•
•
•
•

Central processing unit (CPU)
Clock generator (CG)
Bus interface unit (BIU)
Bus arbitration unit (BAU)
Refresh control unit (RCU)
Wait control unit (WCU)
Time.r/counter unit (TCU)
Serial control unit (SCU)
Interrupt control unit (ICU)
DMA control unit (DMAU)

Figure 1.

Figure 1 is the pPD70208 CPU block diagram. A listing
of the pPD70208 instruction set is in the final sections
of this data sheet.

pPD70208 CPU Block Diagram
Internal address/data bus (20)
~_ _ _ _ _ _ _ _ _ _ _ _ _~

To BIU

NMI
INT
(from ICU)

CLOCK
(from CG)

BCU
EXU

LC

pc

Effective Address
Generator

AW

Subdata bus(16)

Main data bus(16)
83-0027338

NEe

pPD70208 (V40)

Register Configuration
Program Counter [PC]. The program counter is a 16bit binary counter that contains the program segment
offset of the next instruction to be executed. The PC is
incremented each time the microprogram fetches an
instruction from the instruction queue. The contents of
the PC are replaced whenever a branch, call, return, or
break instruction is executed and during interrupt
processing. At this time, the contents of the PC are the
same as the prefetch pointer (PFP).
Prefetch Pointer [PFP]. The prefetch pointer is a
16-bit binary counter that contains the program segment offset of the next instruction to be fetched forthe
instruction queue. Because instruction queue prefetch
is independent of instruction execution, the contents
of the PFP and PC are not always identical. The PFP is
updated each time the bus interface unit (BIU) fetches
an instruction for the instruction queue. The contents
of the PFP are replaced whenever a branch, call, return
or break instruction is executed and during interrupt
processing. At this time, the contents of the PFP and
PC are the same.
Segment Registers [PS, SS, OSo, OS1]. ThepPD70216
memory address space is divided into 64K-byte logical
segments. A memory address is determined by the sum
of a 20-bit base address (obtained from a segment
register) and a 16-bit offset known as the effective
address (EA). I/O address space is not segmented and
no segment register is used. The four segment registers
are program segment (PS), stack segment (SS), data
segment 0 (DS o), and data segment 1 (DS1)' The
following table lists their offsets and overrides.

Default
Segment Register

Offset

General-Purpose Registers. The pPD70208 CPU contains four 16-bit, general-purpose registers (AW, BW,
CW, OW), each of which can be used as a pair of 8-bit
registers by dividing into upper and lower bytes (AH,
Al, BH, Bl, CH, Cl, DH, DL). General-purpose
registers may also be specified implicitly in an instruction. The implicit assignments are:
AW

Word multiplication/division, word I/O,
data conversion

Al

Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation

AH

Byte multiplication/division

BW

Translation

CW

loop control, repeat prefix

Cl

Shift/rotate bit counts, BCD operations

OW

Word multiplication/division, indirect
I/O addressing

II

Pointer [SP, BP] and Index Registers [IX, IV]. These
registers serve as base pointers or index registers
when accessing memory using one of the base,
indexed, or base indexed addressing modes. Pointer
and index registers can also be used as operands for
word data transfer, arithmetic, and logical instructions.
These registers are implicitly selected by certain
instructions as follows.
SP

Stack operations, interrupts

IX

Source block transfer, BCD string
operations, bit field extraction

IV

Destination block transfer, BCD string
operations, bit field insertion

Override

Program Status Word [PSW]

PS

PFP register

None

SS

SP register

None

SS

Effective address (SP-based)

PS, DSo, DS1

The program status word consists of six status flags
and four control flags.

DSo

Effective address (non SP-based)

PS, SS, DSl

Status Flags

DSo

IX register (1)

PS, SS, DS1

DS1

IV register (2)

None

•
•
•
•
•
•

Note:
(1) Includes source block transfer, output, BCD string, and bit field
extraction.
(2) Includes destination block transfer, input, BCD string, and bit
field insertion.

V (Overflow)
S (Sign)
Z (Zero)
AC (Auxiliary Carry)
P (Parity)
CV (Carry)

Control Flags
•
•
•
•

MD (Mode)
DIR (Direction)
IE (Interrupt Enable)
BRK (Break)

29

NEe

pPD70208 (V40)
When pushed onto the stack, the word image of the
PSW is as follows:

15

8

v

MD

DIR

I

o

7

S

IE I BRK

Figure 2. Dual Data Buses

z

o

AC

o

P

CY

The status flags are set and cleared automatically
depending upon the result of the previous instruction
execution. Instructions are provided to set, clear, and
complement certain status and control flags. Other
flags can be manipulated by using the POP PSW
instruction.
Between execution of the BRKEM and RETEM instructions, the native mode RETI and POP PSW
instructions can modify the MD bit. Care must be
exercised by emulation mode programs to prevent
inadvertent alteration of this bit.

CPU Architectural Features
The major architectural features ofthepPD70208 CPU
are:
•
•
•
•

Main data bus

Sub data bus

83-0038288

Figure 3. Effective Address Generator

Dual data buses
Effective address generator
Loop counter
PCand PFP

Dual Data Buses. To increase performance, dual data
buses (figure 2) have been employed in the CPU to
fetch operands in parallel and avoid the bottleneck of a
single bus. For two-operand instructions and effective
address calculations, the dual data bus approach is 30
percent faster than single-bus systems.
Effective Address Generator. Effective address (EA)

calculation requires only two clocks regardless of the
addressing mode complexity due to the hardware
effective address generator (figure 3). When compared
with microprogrammed methods, the hardware approach saves between 3 and 10 clock cycles during
effective address calculation.
Loop Counter and Shifters. A dedicated loop counter is

used to count the iterations of block transfer and
multiple shift instructions. This logic offers a significant
performance advantage over architectures that control
block transfers and multiple shifts using microprogramming. Dedicated shift registers also speed up the
execution of the multiply and divide instructions.
Compared with microprogrammed methods, multiply
and divide instructions execute approximately four
times faster.
30

Effective Address
83-002737A

Program Counter and Prefetch Pointer. The functions
of instruction execution and queue prefetch are decoupled in the pPD70208. By avoiding a single instruction pointer and providing separate PC and PFP
registers, the execution time of control transfers and
the interrupt response latency can be minimized.
Several clocks are saved by avoiding the need to
readjust an instruction pointer to account for prefetching before computing the new destination address.

Enhanced Instruction Set
In addition to the pPD8086/88 instruction set, the
pPD70208 has added the following enhanced instructions.

NEe

pPD70208 (V40)

Instruction
PUSH imm
PUSH R
POP R

Function
Push immediate data onto stack
Push all general registers onto stack
Pop all general registers from stack

MUL imm

Multiply register/memory by immediate data

SHL immB
SHR immB
SHRA immB
ROL immB
ROR immB
ROLC immB
RORC immB

Shift/rotate by immediate count

CHKIND
INM
OUTM

Check array index
Input multiple
Output multiple

PREPARE
DISPOSE

Prepare new stack frame
Dispose current stack frame

Packed BCD Strings. These instructions are provided
to efficiently manipulate packed BCD data as strings
(length from 1 to 254 digits) or as a byte data type with a
single instruction.

Unique Instruction Set
In addition to thepPD70208 enhanced instruction set,
the following unique instructions are supported.
Instruction

Bit field extraction (EXT) copies the bit field of specified
length (0 = 1 bit, 15 = 16 bits) from the bit field
addressed by DSO:IX:reg8 to the AW register (figure 5).
If the bit field is less than 16 bits, it is right justified with
a zero fill. The bit field length can be located in any byte
register or supplied as immediate data. The value in
rega is a bit field offset. A content of 0 selects bit 0 and
15 selects bit 15 of the word that DSO:IX points to.
Following execution, the IX and bit offset register are
updated to point to the start of the next bit field.

Function

INS
EXT

Insert bit field
Extract bit field

ADD4S
SUB4S
CMP4S
ROL4
ROR4

BCD string addition
BCD string subtraction
BCD string comparison
Rotate BCD digit left
Rotate BCD digit right

TEST1
SET1
CLR1
NOT1

Test bit
Set bit
Clear bit
Complement bit

REPC
REPNC

Repeat while carry set
Repeat while carry cleared

FP02

Floating point operation 2

Bit Fields. Bit fields are data structures that range in
length from 1 to 16 bits. Two separate operations on bit
fields, insertion and extraction, with no restrictions on
the position of the bit field in memory are supported.
Separate segment, byte offset, and bit offset registers
are used for bit field insertion and extraction. Because
of their power and flexibility, these instructions are
highly effective for graphics, high-level languages, and
data packing/unpacking applications.
Insert bit field (INS) copies the bit field of specified
length (0 = 1 bit, 15 = 16 bits) from the AW register to
the bit field addressed by DS1:IY:reg8 (figure 4). The
bit field length can be located in any byte register or
supplied as an immediate value. The value in reg8 is a
bit field offset. A content of 0 selects bit 0 and 15 selects
bit 15 of the word that DSO:IX points to. Following
execution, the IY and bit offset register are updated to
point to the start of the next bit field.

BCD string arithmetic is supported by the ADD4S,
SUB4S, and CMP4S instructions. These instructions
allow the source string (addressed by DSO:IX) and the
destination string (addressed by DS1 :IY) to be manipulated with a single instruction. When the number of
BCD digits is even, the Z and CY flags are set according
to the result of the operation. If the number of digits is
odd, the Z flag will not be correctly set unless the upper
4 bits of the result are zero. The CY flag will not be
correctly set unless there is a carry out of the upper 4
bits of the result.
The two BCD rotate instructions (ROR4, ROL4) perform
rotation of a single BCD digit in the lower half of the AL
register through the register or memory operand.
Bit Manipulation. Four bit manipulation instructions
have been added to the pPD7020a instruction set. The
abilityto test, set, clear, or complement a single bit in a
register or memory operand increases code readability
as well as performance over the logical operations
traditionally used to manipulate bit data.
Repeat Prefixes. Two repeat prefixes (REPC, REPNC)
allow conditional block transfer instructions to use the
state of the CY flag as a terminating condition. The use
of these prefixes allows inequalities to be used when
working on ordered data, increasing the performance
of searching and sorting algorithms.
Floating Point Operation Instructions. Two floating
point operation (FPO) instruction types are recognized
by thepPD7020a CPU. These instructions are detected
by the CPU, which performs any auxiliary processing
such as effective address calculationand the initial bus
cycle if specified by the instruction. It is the responsibility of the external coprocessor to latch the address
information and data (if a read cycle) from the bus and
complete the execution of the instruction.

1:'-11
m:iI

NEe

pPD70208 (V40)

Figure 4.

Bit Field Insertion
Bit length

15

AW
Bit offset

Memory

Segment base (051)

Byte boundary

83-000106B

Figure 5.

Bit Field Extraction
Bit length

Bit offset

Byte boundary

Segment base (050)

83-000107B

8080 Emulation Mode. The pPD70208 CPU can operate

in either of two modes; see figure 6. Native mode allows
the execution ofthepPD8086/88, enhanced and unique
instructions. The other operating mode is 8080 emulation mode, which allows the entire pPD8080AF
instruction set to be executed. A mode (MD) flag is
provided to distinguish between the two operating
modes. Native mode is active when M D is 1 and 8080
emulation mode is active when MD is O.
Two instructions are provided to switch from na"tive to
8080 emulation mode and return back. Break for
emulation (BRKEM) operates similarly to a BRK
instruction, except that after the PSW has been pushed
on the native mode stack, the M D flag becomes
write-enabled and is cleared.
.
During 8080 emulation mode, the registers and flags of
the 8080 are mapped onto the native mode registers
and flags as shown below. Note that PS, SS, DSo, DS1,
IX, IY, AH, and the upper half of the PSW registers are
inaccessible to 8080 programs.

32

Registers

JlJIPD8080AF

JlPD70208

A/PSW
B
C
D

ALIPSW (lower)
CH
CL
DH
DL
BH
BL
BP
PC
Cy

E

Flags

H
L
SP
PC
C
Z

Z

S
P
AC

S
P
AC

During 8080 emulation mode, the BP registerfunctions
as the 8080 stack pointer. The use of separate stack
pointers prevents inadvertent damage to the native
mode stack pointer by emulation mode programs.

NEe
The 8080 emulation mode PC is combined with the PS
register to form the 20-bit physical address. All emulation mode data references use DSO as the segment
register. For compatibility with older 8080 software
these registers must be equaL By using different
segment register contents, separate 64K-byte code
and data spaces are possible.
Either an NMI or maskable interrupt will cause the 8080
emulation mode to be suspended. The CPU pushes the
PS, PC, and PSW registers on the native mode stack,
sets the MD bit (indicating native mode), and enters the
specified interrupt handler. When the return from
interrupt (RETI) instruction is executed, the PS, PC,
and PSW (containing MD=O) are popped from the
native stack and execution in 8080 emulation mode
continues. Reset will also force a return to native mode.
The 8080 emulation mode programs also have the
capability to invoke native mode interrupt handlers by
means of the call native (CALLN) instruction. This
instruction operates like the BRK instruction except
that the saved PSW indicates 8080 emulation mode.
Figure 6.

pPD70208 (V40)
To exit 8080 emulation mode, the return from emulation
(RETEM) instruction pops the PS, PC, and PSW from
the native mode stack, disables modification of the MD
bit, and execution continues with the instruction following the BRKEM instruction. Nesting of 8080 emulation
modes is prohibited.

Interrupt Operation
TheJiPD70208 supports a number of external interrupts
and software exceptions. External interrupts are events
asynchronous to program execution. On the other
hand, exceptions always occur as a result of program
execution.
The two types of external interrupts are:
• Nonmaskable interrupt (NMI)
• Maskable interrupt (INT)

JiPD 70208 Modes

83-0038308

33

NEe

pPD70208 (V40)
The six software exceptions are:
•
•
•
•
•
•

Divide error (DIV, DIVU instructions)
Array bound error (CHKIND instruction)
Break on overflow (BRKV instruction)
Break (BRK, BRK3 instructions)
Single step (BRK bit in PSW set)
Mode switch (BRKEM, CALLN instructions)

Interrupt vectors are determined automatically for
exceptions and the NMI interrupt or supplied by
hardware for maskable interrupts. The 256 interrupt
vectors are stored in a table (figure 7) located at
address OOOOOH. Vectors 0 to 5 are predetermined and
vectors 6 to 31 are reserved. Interrupt vectors 32 to 255
are available for use by application software.
Each vector is made up of two words. The word located
at the lower address contains the new PC for the
interrupt handler. The word at the next-higher address
is the new PS value for the interrupt handler. These
must be initialized by software at the start of a program.
Nonmaskable interrupts and maskable interrupts (when
enabled) are normally serviced following the execution
of the current instruction. However, the following
cases are exceptions to this rule and the occurrence of
the interrupt will be delayed until after the execution of
the next instruction.
•
•
•
•

Moves to/from segment registers
POLL instruction
Instruction prefixes
EI instruction (maskable interrupts only)

Another special case is the block transfer instructions.
These instructions are interruptable and resumable,
but because of the asynchronous operation of the BIU,
the actual occurrence of the interrupt may be delayed
up to three bus cycles.

During standby mode, the clock is distributed only to
the circuits required to release the standby mode.
When a RESET, NMI, or INT event is detected, the
standby mode is released. Both NMI and unmaskable
interrupts are processed before controir,eturns to the
instruction following the HALT. In the case of the INT
input being masked, execution will begin with the
instruction immediately following the HALT instruction
without an intervening interrupt acknowledge bus
cycle. When maskabl~ interrupts are again enabled, the
interrupt will be serviced.
Output signal states in the standby mode are listed
below.
Output Signal

Status in Standby Mode

INTAK, BUFEN,
MRD, MWR, IOWR,
lORD

High level

BS2-BSO (Note 2)

High level

BUS LOCK

High level (low level if the
HALT instruction follows the
BUS LOCK prefix)

BUFR/W,
A19-A16/PS3-PSO,
A15- AS, AD7-ADo

High or low level

Low level

Note:
(1) Output pin states during refresh and DMA bus cycles will be as
defined for those operations.
(2) Halt status is presented prior to entering the passive state.

Figure 7.

Interrupt Vector Table

OOOH
Vector 0

Divide Error

Vector 1

Break Flag

Vector 2

NMllnput

Vector 3

BRK 3 Instruction

004H

Standby Mode

008H

The JlPD70208 CPU has a low-power standby mode,
which can dramatically reduce power consumption
during idle periods. Standby mode isentered by simply
executing a native or 8080 emulation HALT instruction;
no external hardware is required. All other peripherals
such as the timer/counter unit, refresh control unit,
and DMA control unit continue to operate as programmed.

OOCH

Dedicated

010H
Vector4

BRKV Instruction

VectorS

CHKIND Instruction

014H
018H
VectorS

07CH

},-~,

Vector 31
080H
General Use

Vector 32

3FCH
Vector 255

}

•
•
•
•

BRK imm8 Instruction
BRKEM Instruction
INT Input [External]
CALLN Instruction
83·000111A

34

NEe

pPD70208 (V40)
Figure 9.

Clock Generator

External Oscll/ator Configuration

The clock generator (CG) generates a clock signal half
the frequency of a parallel-resonant, fundamental
mode crystal connected to pins X1 and X2. Figure 8
shows the recommended circuit configuration. Capacitors C1 and C2, required for frequency stability, are
selected to match the crystal load capacitance.
External clock sources are also accommodated as
shown in figure 9. The CG distributes the clock to the
CLKOUT pin and to each functional block of the
pPD70208. The generated clock signal has a 50percent duty cycle.

External
Clock
83-002740A

Figure 10.

RESET/READY Synchronization

Bus Interface Unit
The bus interface unit (BIU) controls the external
address, data, and control buses for the three internal
bus masters: CPU, DMA control unit (DMAU), and
refresh control unit (RCU). The BIU is also responsible
for synchronization of the RESET and READY inputs
with the clock. The synchronized reset signal is used
internally by the pPD70208 and provided externally at
the RESOUT pin as a system-wide reset. The synChronized READY signal is combined with the output of
the wait control unit (WCU) and is distributed internally
to the CPU, DMAU, and RCU. Figure 10 shows the
synchronization of RESET and READY.

CLOCK
RESOUT
To internal
circuit
To internal
circuit

83-002728A

The BIU also has the capability of overlapping the
execution of the next instruction with memory write
bus cycles. There is no overlap of instruction execution
with read or I/O write bus cycles.
Figure 8. Crystal Configuration
Xl
OSC

Oscillator

Frequency Divider

[+2]

CLKOUT

X2

o

Cl

e'ye,

= C2 = 15 to 30 pF
CLOCK (to internal circuit)

osc
I

CLOCK
(CLKOUT)

J

I

1---.-1:'. ------4}83-001822B

35

NEe

J.lPD70208 (V40)

determine the I/O addressing, enable/disable peripherals, and control pin multiplexing. Byte I/O instructions must be used to access the system I/O area.

Bus Arbitration Unit
The bus arbitration unit (BAU) arbitrates the external
address, data and control buses between the internal
CPU, DMAU, and RCU bus requesters and an external
bus master. TheBAU bus priorities from the highest
priority requester to the lowest are:
RCU (Demand mode)
DMAU
HLDRQ
CPU
RCU (Normal mode)
Note that RCU requests the bus at either the highest or
lowest priority depending on the status of the refresh
request queue. Bus masters other than the CPU are
prohibited from using the bus when tHe CPU is
executing an instruction containing a BUSLOCK prefix.
Therefore, caution shouldbe exercised when using the
BUS LOCK prefix with instructions having a long
,execution time.
If abus master with higher priority than the current bus
master requests the bus, the BAU inactivates the
current bus master's acknowledge signal. When the
BAU sees the bus request from the current master go
inactive, the BAU gives control of the bus to the higher
priority bus master. Whenever possible, the BAU performs bus switching between internal bus masters
without the introduction of idle bus cycles, enhancing
system throughput.

liD Address

Register

Operation

FFFFH
FFFEH
FFFDH

Reserved
OPCN
OPSEL

Read/Write
Read/Write

FFFCH
FFFBH
FFFAH

OPHA
DULA
IULA

Read/Write
Read/Write
ReadlWrite

FFF9H
FFF8H
FFF7H

TULA
SULA
Reserved

ReadiWrite
Read/Write

FFF6H
FFF5H
FFF4H

WCY2
WCY1
WMB

Read/Write
Read/Write
Read/Write

FFF3H
FFF2H
FFF1H

Reserved
RFC
Reserved

Read/Write

FFFOH

TCKS

Read/Write

On-Chip Peripheral Connection Register

System 110 Area

The on~chip peripheral connection (OPCN) register
controls multiplexing of the JlPD70208 multiplexed
pins. Figure 11 shows the format of the OPCN register.
The interrupt request switch (IRSW) field controls
multiplexing of ICUinterrupt inputs INT1 and INT2.
The output of an internal peripheral or ~n external
interrupt source can be selected as the INTland INT2
inputs to the ICU.

The I/O address space from addresses FFOOH to
FFFFH is reserved for use as the system I/O area.
Located in this area are the 12 JlPD70208 registers that

The pin function (PF) field in the OPCN selects one of
four possible states for the DMARQ3/RxD, DMAAK3/
TxD, and INTAK/TOUT1/SRDY pins. Bit 0 of the

Figure 11.

OpeN Register Format
21

I - I- I- I- I

IRSW

I

PF

OPCN

L

p;" F,"oIi,"

DMAR03/RxD

DMAAK3/TxD

00

DMAR03

DMAAK3

INTAK

01

DMAR03

DMAAK3

TOUT1

10

RxD

TxD

INTAK

11

RxD

TXD

SRDY

Interrupt Request Switch
00

INTAK/SRDY/TOUT1

INT1
INTP1 Pin

INTP2 Pin

INT2

01

SCU

INTP2 Pin

10

INTP1 Pin

TOUn

11

SCU

TO un

83-0018276

36

NEe

pPD70208 (V40)
Internal Peripheral Relocation Registers

OPCN controls the function of the INTAK/TOUT1/
SRDY pin. If cleared, INTAK will appear on this
output pin. If bit 0 is set, either TOUT1 or SRDY will
appear at the output depending on the state of bit 1. If
bit 1 is cleared, DMA channel3110 signals will appear
on the DMARQ3/RxD and DMAAK3/TxD pins. If the
SCU is to be used, bit 1 of the PF field must be set.

The five internal peripheral relocation registers (figure
13) are used to fix the 110 addresses of the DMAU, ICU,
TCU, and SCU. The on-chip peripheral high-address
(OPHA) register is common to all four internal peripherals and fixes the high-order byte of the 16-bit I/O
address. The individual DMAU low-address (DULA)
register, ICU low-address (IULA) register, TCU lowaddress (TULA) register, and the SCU low-address
(SULA) register select the low-order byte of the I/O
addresses for the DMAU, ICU, TCU, and SCU peripherals.

On-Chip Peripheral Selection Register
The on-chip peripheral selection (OPSEL) register is
used to enable ordisable theJlPD70208 internal peripherals. Figure 12 shows the format of the OPSEL
register. Any of the four (DMAU, TCU, ICU, SCU)
peripherals can be independently enabled or disabled
by setting or clearing the appropriate OPSEL bit.
Figure 12.
7

The contents of the OPHA register are:
OPHA
7

o
A8

OPSEL Register Format

The formats for the individual internal peripheral registers appear below. Since address checking is not
performed, do not overlap two peripheral I/O address
spaces.
DULA
7
o

4

I - I - I ~ I - I 55 I T5 I IS I DS I OPSEL

~J
rrPeripheral
Selected
~

DMAU

~

ICU
TCU

7

IULA

o

7

TULA

o

7

SULA

o

Operation

0==
1

Disabled
Enabled

SCU
83-001813A

Figure 13.

JlPD7020B Peripheral Relocation
64 K byte 1/0 space

FFFFH
FFOOH

Reserved
System 1/0 Area

256 byte area

r--------;
/
/

OPHA'256~/
0100HD '\\.\~_____. .
"\

-'-'-...-ou LA

.....
_ ..............L.J...'"-'-"--'-'-............

OOOOH
83-0027278

37

NEe

pPD70208 (V40)

The RCU will then perform back-to-back refresh cycles
until three requests remain in the queue. This guarantees the integrity of the DRAM system while maximizing performance.

Timer Clock Selection Register
The timer clock selection (TCKS) register selects the
clock source for each of the timer/counters as well as
the divisor for the internal clock prescaler. Figure 14
shows the format of the TCKS register. The clock
source for each timer/counter is independently selected from either the prescaled internal CPU clock orfrom
an external clock source (TCLK). The internal clock is
derived from the CLKOUT signal and can be divided by
2,4,8, or 16 before being presented to the clock select
logic.

The refresh count interval can be calculated as follows:
Refresh interval

= 8 x N x tCYK

where N is the timer factor selected by the RTM
field.
When the pPD70208 is reset, the RE field in the RFC
register is unaffected and the RTM field is set to 01000
(N = 9). No refresh bus cycles occur while RESET is
asserted.

Refresh Control Unit
The refresh control unit (RCU) refreshes external
dynamic RAM devices by outputting a 9-bit row address
on address lines As-Ao and performing a memory read
bus cycle. External logic can distinguish a refresh bus
cycle by monitoring the refresh request (REFRQ) pin.
Following each refresh bus cycle, the refresh row
counter is incremented.

Figure 15.

Refresh Control Register
5

IRE

4

1-I -1

I RFC

RTM

L

The refresh control (RFC) register in the system I/O
area contains two fields. The refresh enable field
enables or disables the refreshing fu nction. The refresh
timer (RTM) field selects a refresh interval to match the
dynamic memory refresh requirements. Figure 15
shows the format for the RFC register.

R.I.... Ti_

N (Timer Factor)

00000
00001
00010
00011

17
18
19
20

-- -- - - - 5
00100

To minimize the impact of refresh on the system bus
bandwidth, the pPD70208 utilizes a refresh request
queue to store refresh requests and perform refresh
bus cycles in otherwise idle bus cycles.
.

00101

6

11110
11111

31
32

Refresh Enable

Function

0
1

Disables Refresh

The RCU normally requests the bus as the lowestpriority bus requester (normal mode). However, if
seven refresh requests are allowed to accumulate in
the RCU refresh request queue, the RCU will change to
the highest-priority bus requester (demand mode).
Figure 14.

Enables Refresh
83-001814A

Timer Clock Selection Register
4

I - I - I - I CS2 I CS1 I cso I

PS

~

I

TCKS

Prescale Select

Internal Clock
Prescaled by:

00

2

01

4

10

8
16

11

Clock Selection
for TCTn

Clock
Input

0

Internal Clock
TCLK Pin

1

83-001819B

38

NEe

pPD70208 (V40)

Wait Control Unit
The wait control unit (WCU) inserts from zero to three
wait states into a bus cycle in order to compensate for
the varying access times of memory and 1/0 devices.
The number of wait states for CPU, DMAU, and RCU
bus cycles is separately programmable. In addition,
the memory address space is divided into three independent partitions to accommodate a wide range of
system designs. RESET initializes the WCU to insert
three wait states in all bus cycles. This allows operation
with slow memory and peripheral devices before the
initialization of the WCU registers.
The three system I/O area registers that control the
WCU are wait cycle 1 (WCY1), wait cycle 2 (WCY2),
. and wait state memory boundary (WMB). The WCU
always inserts wait states corresponding to the wait
count programmed in WCY1 or WCY2 registers into a
bus cycle, regardless of the state of the external
READY input. After the programmed number of wait
states occurs, the WCU will insert Tw states as long as

Figure 16.

the READY pin remains inactive. When READY is again
asserted, the bus cycle continues with T4 as the next
cycle. TheJlPD70208 internal peripherals neverrequire
wait states; four clock cycles will terminate an internal
peripheral bus cycle.

CPU Wait States
The WMB register divides the 1M-byte memory address
space into three independent partitions: lower, middle,
and upper. Figure 16 shows the WMB register format.
Initialization software can then set the number of wait
states for each memory partition and the 1/0 partition
via the WCY1 register (figure 17).

DMA and Refresh Wait States
The WCY2 register (figure 18) specifies the number of
wait states to be automatically inserted in DMA and
refresh bus cycles. DMA wait states must be set to the
maximum of the DMA memory and I/O partitions.
Refresh wait states should be set to the maximum value
of all DRAM memory partitions.

Wait State Memory Boundary Register
7

I-I

6

LMB

I-I

UMB

I
~

WMB

Lower Memory Block Size [1)
Upper Memory Block Size

Memory Block Size (KB)
32
64
96

000
001
010
011

128

100

192

101

256
384

110
111

512

FFFFFH .....-------........,}
Upper Memory Block
Specified by the UMB Field
Middle Memory Block

~_Lo_w_e_rM_e_m_O_ry_B_lo_Ck_..... } Specified by the

OOOOOH _

LM B Field

Note:
[1) By default, the address space remaining between the UBM and LBM is the
middle memory block.
83-0018208

39

NEe

pPD70208 (V49)
Figure 17.

Wait Cycle 1 Register

Figure 18.

Wait Cycle 2 Register

76543210
4

I lOW UMWIMMWILMW IWCY1

G. . ,

,--I
-.J

I -

I -

I -

I -

I DMAW I

RFW IWCY2

~""'h

M.m,,,! Block W.' .,,",

~

Middle Memory Block Wait States Number of
Upper Memory Block Wait States Wait States
1/0 Wait States
0

00
01

1

10

2

11

3

W.;I

'101"

DMA Wait States

Number of
Wait States

00

0

01

1

10
11

3

2

83-001815A

83-001818A

Timer/Counter Unit
The timer/counter unit (TCU) provides a set of three
independent 16-bit timer/counters. The output signal
of ti mer/cou nter 0 is hardwi red internally as an i nterru pt
source. The output of timer/counter 1 is available
internally as an interrupt source, used as a baud rate
generator, or used as an external output. The timer/
counter 2 output is available as an external output. Due
to mode restrictions, the TCU is a subset of the
Figure 19.

pPD71054 Programmable Timer/Counter.' Figure 19
shows the internal block diagram of the TCU.
The TCU has the following features:
•
•
•
•
•

Three 16-bit timer/counters
Six programmable count modes
Binary/BCD counting
Multiple latch command
Choice of two clock sources

TCU Block Diagram
TCLK (EXT)

CLOCK

TCTLO=High
TOUTO (to ICU)

TCTL1 =Hlgh
TOUT1 (EXT)

TCTL2 (EXT)
TOUT2 (EXT)

Read/Write Control
Circuit

TMD
(Mode
Register)

I
I
I
I
L

83-001834B

40

NEe

pPD70208 (V40)

Because RESET leaves the TCU in an uninitialized
state, each timer/counter must be initialized by
specifying an operating mode and a count. Once
programmed, a timer/counter will continue to operate
in that mode until another mode is selected. When the
count has been written to the counter and transferred
to the down counter, a new count operation starts.
Both the current count and the counter status can be
read while count operations are in progress.

TCU Commands
The TCU is programmed by issuing I/O instructions to
the I/O port addresses programmed in the OPHA and
TULA registers. The individual TCU registers are
selected by address bits A1 and Ao as follows.
At

AD

Register

Operation

0

0

TCTO
TSTO
TCT1
TST1
TCT2
TST2
TMD

Read/Write
Read

0
0

The timer
mode for
command
shows the

Read/Write
Read
Read/Write
Read
Write

mode (TMO) register selects the operating
each timer/counter and issues the latch
for one or more timer/counters. Figure 20
format for the TMD register.

Writes to the timer/counter 2-0 (TCT2-TCTO) registers
stores the new count in the appropriate timer/counter.
The count latch command is used before reading
count data in order to latch the current count and
prevent inaccuracies.
The timer status 2-0 (TST2-TSTO) registers contain
status information for the specified cou nter (figu re 21).
The latch command is used to latch the appropriate
counter status before reading status information. If
both status and counter data are latched for a counter,
the first read operation returns the status data and
subsequent read operations obtain the count data.

Count Modes
There are six programmable timer/counter modes. The
timing waveforms for these modes are in figure 22.
Mode 0 [Interrupt on End of Count]. In this mode,
TOUT changes from the low to high level when the
specified count is reached. This mode is available on
all timer/counters.

Mode 1 [ Retriggerable One-Shot]. In mode 1, a lowlevel one-shot pulse, triggered by TCTL2 is output
from the TOUT2 pin. This mode is available only on
timer/counter 2.
'
Mode 2 [Rate Generator]. In mode 2, TOUT cyclically
goes low for one clock period when the counter
reaches the 0001 H count. A counter in this mode
operates as a frequency divider. All timer/counters can
operate using mode 2.
Mode 3 [Square-Wave Generator]. Mode 3 is a frequency
divider similar to mode 2, but the output has a symmetrical duty cycle. This mode is available on all three
timer/counters.
Mode 4 [Software-Triggered Strobe]. I n mode 4, when
the specified count is reached, TOUT goes low for the
duration of one clock pulse. Mode 4 is available on all
timer/counters.
ModeS [Hardware-Triggered Strobe]. Mode5 is similar
to mQde 4 except that operation is triggered by the
TCTL2 input and can be retriggered. This mode is
available only on timer/counter 2.

Serial Control Unit
The serial control unit (SCU) is a single asynchronous
serial channel that performs serial communication
between the pPD70208 and an external serial device.
TheSCU issimiiartothepPD71051 Serial Control Unit
except for the lack of synchronous communication
protocols. Figure 23 is the block diagram of the
SCU.
The SCU has the following features.
•
•
•
•
•
•
•
•
•
•

Full-duplex asynchronous serial controller
Clock rate divisor (x16, x64)
Baud rates to 250 kb/ssupported
7-, 8-bit character lengths
1-, 2-bit stop bit lengths
Break transmission and detection
Full-duplex, double-buffered transmitter/receiver
Even, odd, or no parity
Parity, overrun, and framing error detection
Receiver-full/transmitter-empty interrupt

The SCU contains fou r separately addressable registers
for reading/writing data, reading status, and controlling operation of the SCU. The serial receive buffer
(SRB) and the serial transmit buffer (STB) store the
incoming and outgoing character data. The serial
status (SST) register allows software to determine the
current state of both the transmitter and receiver. The
serial command (SCM) and serial mode (SMD) registers
determine the operating mode of the SCU while the
serial interrupt mask (SIMK) register allows software
control of the SCU receive and transmit interrupts.
41

~
a:iI

NEe

pPD70208 (V40)
Figure 20.

TMD

L

Timer Mode ,Register

sc

I

4
RWM

I

~

I

CMODE

BD

I

TMD

4

r

oT

sc

0

I o I

0

I

0

I o I

I

~

0
1

I
L-_

Binary
BCD

I

Count Mode

Mode

000
001
x10

0

x11

3

100
101

4

Counter to be Latched
TCTO

01

TCT1

10

TCT2

5
Operation

00
01

Counter Latch Command
Lower Byte Only

10

Higher Byte Only

11

Lower Byte Followed by
Higher Byte
Operation

Select Counter
00
01

TCTO
TCT1

10

TCT2
Multiple Latch Command

11

SC
00

1
2

Read/Write
Mode

~

L-....,

Count

Binary or BCD

Note: x = Don't care
83-0018178

Figure 21.

TCU Status Register
4
TSTn

I

oL'1 NC 1

RWM

2
1

CMODE

I

BD

I

1.1'"""'" ,•• '""'"'

mo. . . .«h'g.
The meaning of each field is the same
as that of the TMD register.

r

Null Count

1

Count Data

0

1

Valid

1

1

Invalid

I

r Output Levell

Level

1

Low

r

I

0
1

I

High

I
1
J
1
I

1
1
83-0018218

42

NEe
Figure 22.

pPD70208 (V40)

TCU Waveforms (Sheet 1 of 3)

Mode 0
ClK
IOWR
TOUT
Count Value

IOWR

L.:.J

TOUT
Count Value

IOWR

~

LJ

TCTL2
TOUT2

OOOOH

Count Value

IFFFFH IFFFEH IFFF DH I FFFCH

Mode 1

TCTL2 - - - - - - - - - \

t1---------------\ t1--------------\ t1----- -I 11------- ---

TOUT2
Count Value

TCTL2

n

I

n-1

I n-2

L:J
_--_-__
_ --__--__ t1----------------1t1---------------------~\

TOUT2
Count Value

n

I

n-1

I n-2
83-001851 B

43

NEe

pPD70208 (V40)
Figure 22.

TCU Waveforms (Sheet 2 of 3)

Mode 2
ClK

LJ

TCTL
TOUT
Count
Value

n

TOUT
Count
Value

n

n-1

I0006H I 0005H I 0004H I0003H I 0002H

Mode 3
ClK

IOWR

l

LB=4

LJ

TCTL

U

TOUT
Count
Value

IOWR

n

1

n-1

0004H

n-1

0004H

0002H

0004H

I

0002H

0004H

I

0002H

I

0004H

0004H

0004H

LB=5

L

TOUT
Count
Value

I

n

I

Q002H

I

OOOOH

0004H

I

0002H

0004H

0002H

I

0004H

OOOOH

I

83-0018536

44

NEe
Figure 22.

pPD70208 (V40)

TCU Waveforms (Sheet 3 of 3)

Mode 4

TOUT
Count Value

n

n-1

I

n

n-1

I 0004H I 0004H I 0004H I 0003H I 0002H I 0001 H

n-1

I

0004H

I

0003H

I

0002H

I

0001H

OOOOH

FFFFH

I

I

I

FFFEH FFFDH FFFCH

TCTl
TOUT
Count Value

IOWR

--, lB=5/

L-..J

TOUT

I

0005H

I

0004H

I

0003H

I

I

0002H

0003H

I

0002H

I

Q001H

OOOOH

FFFFH

Mode 5

TCTL2

-- - - - - - - - - - - -

TOUT2
Count Value

n-1

TCTL2 -- - - - - - -',

TOUT2
Count Value

I

I

-\n- --------- -- ----\ n------

n-2

I

n-3

I

0002H

I

l:

n ------

0001H'

n--------------------------: n----------

n-1

I

0004H

I

0003H

I

0002H

I

0001H

LJI

I

OOOOH

FFFFH tFFFEH

I

0003H I0002H
83-0018558

45

NEe

pPD70208 (V40)
Figure 23.

SCU Block Diagram
RESET

r--.

K"
~

J

SST
(Status Register)

J
I

CLOCK

I

I"

f~

I
I
Read/Write
Control

III

Ao

ec

SUS

0

RTCLK (from TCU)

II)

~
'" I
I

III

~K
1\1

SCM
(Command Register)

~

';

SRB

1 (Receive Data Buffer)
I

L

....

I

"

I

0

Receiver (Including
Receive Buffer)

f

(8)

(8)

I

A

iii

E

STB
(Transmit Data Buffer)

!

~

SMD
(Mode Register)

[

I

.4

~

~

.. 1

~

SIMK (Interrupt
Mask Register)

I
I

...

....

~

lieD
Transmitter
(Including Transmit
Buffer)

"~

"

:::)

0

II)

-

Receiver Operation
While the RxD pin is high, the receiver is in an idle state.
A transition on RxD from high to low indicates the start
of new serial data. When a complete, character has
been received, it is transferred to the SRB; the receive
buffer ready (RBRDY) bit in the SST register is set and
(if unmasked) an interrupt is generated. The SST also
latches any parity, overrun, or framing errors at this
time.
The receiver detects a break condition when a null
character with zerd parity is received. The BRK bit is
set for as long as the subsequent receive data is low
and resets when RxD returns to a high level. The MRDY
bit (SCM) and RBRDY (SST) are gated to form the
output SRDY. SRDY prevents overruns from occurring
when the program is unable to process the input data.
Software can control MRDY to prevent data from being
sent from the remote transmitter while RBRDY can
prevent the immediate overrun of a received character.

Transmitter Operation
TxD is kept high while the STB register is empty. When
the transmitter is enabled and a character is written to
the STB register, the data is converted to serial format
and output on the TxD pin. The start bit indicates the
start of the transmission and is followed by the character

46

/

'"

I

I

S
RxD

c

~

A

::I

Interrupt
Generation logic

SINT (To ICU)
83-001838B

stream (LSB to MSB) and an optional parity bit. One or
two stop bits are then appended, depending on the
programmed mode. When the character has been
transferred from the STB, the TRBDY bit in the SST is
set and if unmasked, a transmit buffer empty interrupt
is generated.
Serial data can be transmitted and received by polling
the SST register and checking the TBRDY or RBRDY
flags. Data can also be transmitted and received by
SCU-generated interrupts to the interrupt control unit.
The SCU generates an interrupt in either of these
conditions:
(1) The receiver is enabled, the SRB is full, and receive
interrupts are unmasked.
(2) The transmitter is enabled, the STB is empty, and
transmit interrupts are unmasked.

NEe

pPD70208 (V40)

SCU Registers and Commands
I/O instructions to the I/O addresses selected by the
OPHA and SULA registers are used to read/write the
SCU registers. Address bits A1 and Ao and the read/
write lines select one of the six internal registers as
follows:
AI
0

Ao
0

0
0

Register

Operation

SRB
STB

Read
Write

SST
SCM

Read
Write

SMD

Write

SiMK

Read/Write

Figure 25 shows the SCM and SMD registers. The SCM
register stores the command word that controls
transmission, reception, error flag reset, break transmission, and the state of the SRDY pin. The SMD
register stores the mode word that determines serial
characteristics such as baud rate divisor, parity, character length, and stop bit length.
Initialization software should first program the SMD
register followed by the SCM register. Unlike the
JlPD71051, the SMD register can be modified at any
time without resetting the SCU.
The SIMK register (figure 26) controls the occurrence
of RBRDY and TBRDY interrupts. When an interrupt is
masked, it is prevented from propagating to the inter- ~
rupt control unit.

U

The SRB and STB are a-bit registers. When the
character length is 7 bits, the lower 7 bits of the SRB
register are valid and bit 7 is cleared to O. If programmed
for 7-bit characters, bit 7 of the STB is ignored.

Baud Rate Generator
Timer/counter 1 is used as the baud rate generator
when the SCU is enabled. The input baud rate clock is
scaled by 16 or 64, as selected in the SMD register, to
determine the receive/transmit data clock. There are
no restrictions on the SCU input baud rate clock other
than operating the TCU in mode 3 with a square-wave
output.

The SST register (figure 24) contains the status of the
transmit and receive data buffers and the error flags.
Error flags are persistent. Once an error flag is set, it
remains set until a clearerrorflags command is issued.
Figure 24.

SST Register
4
SST \

1

\ BKD \ FE \ OVE \ PE \

1

\RBRDV\TBRDV\

I

J

Transmit Buffer Ready

0
l
1
l
.1 Receive Buffer Ready
0
L

I

1

J

Parity Error

1
L

J

0
1
Overrun Error

L
L

0

I

Framing Error

L

0

L
J

I
L

1

1
Break

0
1

1 Operation
I STB Full
I STB Empty
I
I
I

Operation
SRB Empty
SRB Full

I

1
1
1
I
1

Error Occurred

1
\
I

I Operation
I No Error
1 Error Occurred

1
I
1

1 Operation
1No Error

1
1

1 Operation
I No Error
I

\ Error Occurred

\

Operation
1
I Normal Reception I
1 Break Detected 1

I

83-0018328

47

NEe

pPD70208 (V40)
Figure 25.

SCM and SMD Registers
SCM Register
4
SCM

I -

I

-

IMRDVI·ECL ISBRKI RE

1 - I

o
TE

I
Transmitter Enabled

I

Operation

0

Transmitter Disabled

1

Transmitter Enabled

Receiver Enabled
0
1
Send Break

I

Operation
Receiver Disabled
Receiver Enabled

0

Operation
Normal Operation

1

TxD

= 0 (Break)

Error Clear

I

Operation

0

No Operation

1

Error Flag Clear

MRDY

Mask Ready

= 1 (Mask)

0

SRDY

1

Normal Operation .of
SFi'ilY Output

SMD Register

SMD

I

STL

I

PS

I

CL

J

BF

L

Baud Rate Factor
010
11

Operation
Illegal
RTCLK Frequency + 16
RTCLK Frequency + 64

Character Length
0-

Operation
Illegal

10

7 Bit Characters

11

8 Bit Characters

Parity Select

Operation

-0

No Parity

01

Odd Parity
Even Parity

11
Stop Bit Length

Operation
Illegal

-0
01

1 Stop Bit

11

2 Stop Bits
83-0018368

48

NEe
Figure 26.

pPD70208 (V40)
The ICU has the fellewing features.

SIMK Register
4

3

2

• Eight interrupt request inputs
• Cascadable with JlPD71059 Interrupt Centrollers
• Pregrammable edge- er level-triggered interrupts
(TCU, edge-triggered interrupts enly)
• Individually maskable interrupt reql,lests
• Pregrammable interrupt request prierity
• Pelling mede

0

eperation

o

Unmask

1

Mask

o

Unmask

1

Mask

leu Registers
Use I/O instructiens to. the I/O addresses selected by
the OPHA and IULA registers to read from and write to
the ICU registers. Address bit Ao and the cemmand
word selects an ICU internal register.

83-002736A

Interrupt Control Unit
The interrupt centrel unit (ICU) is a pregrammable
interrupt centreller equivalent to. the JlPD71059. The
ICU arbitrates up to. eight interrupt inputs, generates a
CPU interrupt request, and eutputs the interrupt vecter
number en the internal data bus during an interrupt
acknowledge cycle. Cascading up to. seven external
slave JlPD71059s permits the JlPD70208 to. suppert up
to. 56 interrupt seurces. Figure 27 is the bleck diagram
fer the ICU.

Read

AO

Other Condition

Operation

0
0
0

IMD selects IRQ
IMD selects liS
Polling phase

CPU - IRQ data
CPU -liS data
CPU - Polling data

D4= 1
D4 = 0 and D3 = 0
D4 = 0 and D3 = 1

CPU
CPU
CPU

-+

During initialization

CPU
CPU
CPU
CPU

-+

1
Write

0
0
0

CPU -IMKW

After initialization

IIW1
IPFW
-+ IMDW

-+

IIW2
IIW3
-+ IIW4
-+ IMKW
-+

Note:
(1)

Figure 27.

I:R

______-------'---~ a:I

In polling phase. polling data has priority. over the contents of
the IRQ or liS register when read.

leu Block Diagram

SAO}
{_A8
SAl To BIU" - A g
SA2
Read/Write
Control

--..oA10

t----INTAK (from CPU)
1 - - - - INT (to CPU)

J1
'..

Priority
Determination
Logic

INTo
INT 1

InInterrupt
service
Request
Register 1 4 - - - - - 1 - - - - + 1 Register
(liS)

(IRQ)

Interrupt
Mask
Register
(IMK)

INT 2•

.

TeUTO (from TCU)
SINT (from SCU)
TeUT1 (from TCU)

Mux

INTPl

Mux

INTP2

INT3

olNTP3

INT4
INTs

olNTP4
olNTPs

INTs

olNTPs

INT7

olNTP7

External Pins

83-0018378

49

NEe

pPD70208 (V40)
Initializing the ICU
The ICU is always used to service maskable interrupts
in a J.lPD70208 system. Prior to accepting maskable
interrupts, the ICU must first be initialized (figure 28).
Following initialization, command words from the CPU
can change the interrupt request priorities, mask/unmask interrupt requests, and select the polling mode.
Figures 29 and 30 list the ICU initialization and command words.
Interrupt initialization words 1-4 (IIW1-IIW4) initialize
the ICU, indicate whether external J.lPD71059s are
connected as slaves, select the base interrupt vector,
and select edge- or level-triggered inputs for INT1INT7. Interrupt sources from the TCU are fixed as
edge-triggering. INTO is internally connected to
TOUTO, and INT2 may be connected to TOUT1 by the
IRSW field in the OPCN.

slave J.lPD71059 INT output is routed to one of the
J.lPD70208 INTP inputs. During the second interrupt
acknowledge bus cycle, the ICU places the slave
address on address lines A10-Aa. Each slave compares this address with the slave address programmed
using interrupt initialization word 3 (1IW3).lf the same,
the slave will place the interrupt vector on pins ADr
ADo during the second interrupt acknowledge bus
cycle.
Figure 29.

Interrupt Initialization Words 1-4

07
IIW1

I -

06
I

-

05
I -

04

03

1

I

lr

I

1
~I Single Mode

~

IIW4 Not Required

I

Mode

0

I Extended Mode (Slave Controllers)

1

1Single Mode (No Slave Controllers) I

Level-Triggered
Mode

Mode
Edge Trigger (RiSing Edge)
Level Trigger (Active High)

0

Higher 5 bits of interrupt
vector number

IIW3

To increase the number of maskable interrupts, up to
seven slave J.lPD71059 Interrupt Controllers can be
cascaded. During cascade operation (figure 31), each

I

S7

I

S6

I

S5 I S4 I S3 I S2

lE'"

Initialization Sequence

I
I
SNGL=O, 114=1

I
I

IIW2

Ao=1

SNGL=O, 114=0

I

I

IIW4

SNGL=I, 114=1

SNGL=I, 114=0

I
I l
I L

IIW3

Ao-1

IIW4

I

I o

I

o

I

o

IEXTNI

I
I

I
I
I
llnltlalization
Completed

IIW4

Ao-1

I

.I

-

I

I
83-003821 A

-

0

INTn is not a slave
input

1

INTn is a slave input

I -

~

L

I
I

I
Ao=1

I

o

Status

C"oKIi"
Status

IIWI
I Bits SNGL and 114 are set.
lAo = 0,04 = 11 The default Initialization
I
Is performed.

I
I

SI I

~

I

IIW3

I
I

IIW4 Required

1

I1PD71059 Cascade Connection

Ao-1

I

Operation

I

0

00

I I

Writes IIW4 I

The initialization words' are written in consecutive
order starting with IIW1. IIW2 sets the interrupt vector.
IIW3 specifies which interrupts are connected to slaves.
IIW3 is only required in extended systems. The ICU will
only expect to receive IIW3 if SNGL = 0 (bit 01 of IIW1).
IIW4 is only written if 114 = 1 (bit Do of IIW1).

I
I

01

ISNGL.i 114

I

The interrupt mask word (IMKW) 'contains programmable mask bits for each of the eight interrupt inputs.
The interrupt priority and finish word (IPFW) is used by
the interrupt handler to terminate processing of an
interrupt or change interrupt priorities. The interrupt
mode word (IMDW) selects the polling register, interrupt request (IRQ) or interrupt in service (liS) register,
and the nesting mode.

Figure 28.

02

LEV I -

I SFI I

1

I

I

Self Finish
Interrupt

Operation

0

FI Command Mode

1

Self Finish Mode

External
Nesting Mode
0
1

Mode
Normal Nesting
Extended Nesting
83-0027268

50

NEe
Figure 30.

pPD70208 (V40)

Command Words

Interrupt Request Mask

Operation
INTn not Masked
INTn Masked

IPFW

I RP

Sil

oI

FI

0

Il2

1L1 IlO

I

+ + +

Interrupt
level

Rotate Priority
Specify Interrupt level,
Finish Interrupt
Commands

0

0

1

1

0

1

0

1

1

1

1

1

0

1

0

1

1

0

0
1

D6
IMDW

I-

I SNM IEXCNI

0

0

0

0

0

INTO

0

0

1

INT1

0

1

0

INT2

0
1

1

1

INT3

0

0

INT4

1

0

1

INT5

1
1

1

0

INT6

1

1

INT7

No Rotation
No level
Specification Rotation
FI
Command

No Rotation

FI Command
for Specification

Rotation
Specified Bit
level
Rotation FI Command
Specification
No Rotation No Operation

Non·FI
Command
No level
Specification

0

Normal FI Command
Normal Rotation
FI Command

0

Rotation

Specified Bit
Rotation Command

No Rotation

Sell FI Mode
Rotation Reset

Rotation

Sell FI Mode
Rotation Set

DO
0

I

1

I POL I SR IISJlR

I
Select Register
to Read
0

-

1

0

1

1

Polling Mode

I

No Operation
IRQ Selection
liS Selection

Polling

0

No Operation

1

Polling Command

Set Nesting
Mode

Read Register Selection

In-Service/Request Register
Select

Exceptional
Nesting Mode

I
Nesting Mode 2

0

-

1

0

Exceptional Nesting Mode Release

1

1

Exceptional Nesting Mode Set

No Operation

83-001835C

51

NEe

pPD70208 (V40)

Figure 31.

pPD71059 Cascade Connection
~D702081

I

ASTB

Address
A19/PS3·A1S/PSo I - - Latches/ LA1
A1S-AS I - - Buffers
~S

AD7·ADo

r

",PD71059
D7-DO
'--

lORD
10WR

Ao
RD
WR

INT
INTAK

INTPn
INTAK

INTPo
INTP1
INTP2
INTP 3
INTP4
INTPs
INTPs
INTP7

-

' - - - SA2·SAo

LA - Latched Address
BA - Buffered Address

83-002739A

DMA Control Unit

Terminal Count

The DMA Control Unit (DMAU) is a high-speed DMA
controller compatible with the pPD71071 DMA Controller. The DMAU has four independent DMAchannels
and performs high-speed data transfers between
memory and external peripheral devices at speeds as
high as 2 megabytes/second in an 8-MHz system.
Figure 32 is the block diagram for the DMAU.

The DMAU ends DMA service when the terminal count
condition is generated or when the END input is
asserted. A terminal count (TC) is produced when the
contents of the current count register becomes zero. If
autoinitialization is not enabled when DMA service
terminates, the mask bit of the channel is set and the
DMARQ input of that channel is masked. Otherwise,
the current count and address registers are reloaded
from the base registers and new DMA transfers are
again enabled.

The DMAU has the following features.
•
•
•
•
•
•
•
•
•
•
•

Four independent DMA channels
Cascade mode for slave pPD71071 DMA controllers
20-bit address registers
16-bit transfer count registers
Single, demand, and block transfer modes
Bus release and bus hold modes
Autoinitialization
Address increment/decrement
Fixed/rotating channel priorities
TC output at transfer end
Forced termination of service by END input

DMAU Basic Operation
The DMAU operates in either a slave or master mode.
In the slave mode, the DMAU samples the four DMARQ
input pins every clock. If one or more inputs are active,
the corresponding DMA request bits are set and the
DMAU sends a bus request to the BAU while continuing
to sample the DMA request inputs. After the BAU
returns the DMA bus acknowledge signal, the DMAU
stops DMA request sampling, selects the DMA channel
with the highest priority, and enters the bus master
mode to perform the DMA transfer. While in the bus
master mode, the DMAU controls the external bus and
performs DMA transfers based on the preprogrammed
channel information.

52

DMA Transfer Type
The type of transfer the DMAU performs depends on
the following conditions.
• Direction of the transfer (each channel)
• Transfer mode (each channel)
• Bus mode

Transfer Direction
All DMA transfers use memory as a reference point.
Therefore, a DMA read operation transfers data from
memory to an I/O port. A DMA write operation reads an
I/O port and writes the data into memory. During
memory-to-I/O transfer, the DMA mode (DMD) register
is used to select the transfer directions for each
channel and activate the appropriate control signals.
Operation

Transfer Direction

Activated Signals

DMA read

Memory -I/O

10WR, MRD

DMA write

I/O -

DMA verify

Memory

lORD, MWR
Addresses only; no transfer
performed

NEe
Figure 32.

pPD70208 (V40)

DMAU Block Diagram

DMAU Address Bus (20)
Internal Address Bus
Internal Bus
Interface
Address
Register

Internal Data Bus

I Current Address (20x4) I

Control Register Group

Base Address (20x4)

Internal Control Bus

Channel (4)
Device Control (10)

BUSRQ
BAU { BUSAK

Status (8)

DMAU Data Bus

Mode Control (7x4)
Count
Register
DMARQ3-0

I

Base Count (16x4)

Mask (4)

Current Count (16x4)
Priority Control

DMAAK3-0
Terminal Count

END/TC

Bus Mode

83-001830B

Figure 33.

The DMA device control (DDC) register selects operation in either the bus release or bus hold mode. The
selected bus mode determines the DMAU conditions
for return of the bus to the BAU. Figure 33 shows that in
bus release mode, only a single channel is serviced
after the DMAU obtains the bus. When DMA service
ends (termination conditions depend on the transfer
mode), the DMAU returns the bus to the BAU regardless
of the state of other DMA requests, and the DMAU
reenters the slave mode. When the DMAU regains use
of the bus, a new DMA operation can begin.
In bus hold mode, several channels can receive contiguous service without releasing the bus. If there is
another valid DMA request when a channel's DMA
service is finished, the new DMA service can begin
immediately after the previous service without returning the bus to the BAU.

Bus Modes
Bus Release Mode

Right to Use
Bus
Service
Channel

CPU
DMAU

L.JLJULJ
CHO CH1

CH2 CH3

Bus Hold Mode
Right to Use

Bus
Service
Channel

CPU
DMAU

~
CHO:CH1 !cH21cH3
I

,

I

83-001864A

Transfer Modes
The DMD register also selects either single, demand,
or block transfer mode for each channel. The conditions
for the termination of each transfer characterize each
transfer mode. The following table shows the various
transfer modes and termination conditions.
Transfer Mode

Termination Conditions

Single

After each byte/word transfer

Demand

END input
Terminal count
Inactive DMARQ
DMARQ of a higher priority channel
becomes active (bus hold mode)

Block

END input
Terminal count

53

NEe

pPD70208 (V40)
The operation of single, demand, and block mode
transfers depends on whether the DMAU is in bus
release or bus hold mode. Figure 34 shows the operation flow for the six possible transfer and bus mode
operations in DMA transfer.

Single-Mode Transfer. I n bus release mode, when a
channel completes transfer of a single byte, the DMAU
enters the slave mode regardless of the state of DMA
request inputs. I n this manner, other lower-priority bus
masters will be able to access the bus.
In bus hold mode, when a channel completes transfer
of a single byte, the DMAU terminates the channel's
service even if the DMARQ request signal is asserted.
The DMAU will then service any other requesting
channel. If there are no requests from any other DMA
channels, the DMAU releases the bus and enters the
slave state.

Demand-Mode Transfer. In bus release mode, the
currently active channel continues to transfer data as
long as the DMA request of that channel is active, even
though other DMA channels are issuing higher-priority
requests. When the DMA request of the serviced
channel becomes inactive, the DMAU releases the bus
and enters the slave state.
I n bus hold mode, when the active channel completes a
single transfer, the DMAU checks the other DMA
request lines without ending the current service. If
there is a higher-priority DMA request, the DMAU
stops the service of the current channel and starts
servicing the highest-priority channel requesting service. If there is no higher request than the current one,
the DMAU continues to service the currently active
channel. Lower-priority DMA requests are honored
without releasing the bus after the current channel
service is complete.

Block-Mode Transfer. In bus release mode, the current
channel continues DMA transfers until a terminal
count or the external END input becomes active.
During this time, the DMAU ignores all other DMA
requests. After completion of the block transfer, the
DMAU releases the bus and enters the slave state, even
if DMA requests from other channels are active.
In bus hold mode, the current channel transfers data
until an internal or external END Signal becomes
active. When the service is complete, the DMAU
checks all DMA requests without releasing the bus. If
there is an active request, the DMAU immediately
begins servicing the request. The DMAU releases the
bus after it honors all DMA requests or a higher-priority
bus master requests the bus.

54

Byte Transfer
The DMD register can specify only byte DMA transfers
for each channel. Depending on the mode selected, the
address register can either increment or decrement,
whereas the count register is always decremented.

Autoinitialize
When the DMD register selects autoinitialize for a
channel, the DMAU automatically reinitializes the address and count registers when END is asserted or the
terminal count condition is reached. The contents of
the base address and base count registers are transferred to the current address and current count registers,
and the applicable bit of the mask register remains
cleared.

Channel Priority
Each of the four DMAU channels is aSSigned a priority.
When multiple DMA requests from several channels
occur simultaneously, the channel with the highest
priority will be serviced first. The DDC register selects
one of two priority schemes: fixed or rotating (figure
35). In fixed priority, channel 0 is assigned the highest
priority and channel 3, the lowest. In rotating priority,
priority order is rotated after each service so that the
channel last serviced receives the lowest priority. This
method prevents the exclusive servicing of higherpriority channels and the lockout of lower-priority
DMA channels.

NEe
Figure 34.

pPD70208 (V40)

Transfer Modes

Bus Mode
Bus Release

Bus Hold

Transfer Mode

Single

Demand

Block

83-001856C

55

~EC

pPD70208 (V40)
Cascade Connection
Slave pPD71071 DMA Controllers can be cascaded to
easily expand the system DMA channel capacity to 16
DMA channels. Figure 36 shows an example of cascade
connection. During cascade operation, the DMAU acts
as a mediator between the BAU and the slave
pPD71071 s. During DMA cascade mode operation, it
is the responsibility of external logic to isolate the
cascade bus master from the pPD70208 control
outputs. These outputs are listed in a table at the front
of this data sheet.
Figure 35.

The DMAU always operates in the bus hold mode while
a cascade channel is in service, even when the bus
release mode is programmed. Other DMA requests are
held pending while a slave pPD71071 channel is in'
service. When the cascaded pPD71071 ends service
and moves into the slave state, the DMAU also moves
to the slave state and releases the bus. At this time, all
bits of the DMAU request register are cleared. The
DMAU cont'inues to operate normally with the other
noncascaded channels.

Priority Order
Highest

Fixed Priority

Highest

Rotating Priority

Highest

CH1 Service

Lowest
83-003819B

Figure 36.

pPD71071 Cascade Example

DMA1

..

DMA2
DMA3

I

DMAAK

C......
Channel

DMARQ

~

--

HLDAK

..

HLDRQ

DMA4
~

DMA5
DMAU
(Master)

..
..

-""

DMA6
--'"

DMA7

fLPD71 071
(Slave)
83-001857B

56

NEe

pPD70208 (V40)

Bus Waiting Operation

DMAU Registers

The DMAU will automatically perform a bus waiting
operation (figure 37) whenever the RCU refresh request
queue fills. When the DMA bus acknowledge goes
inactive, the DMAU enters the bus waiting mode and
inactivates the DMA bus request signal. Control of the
bus is then transferred to the higher-priority RCU by
the BAU.

Initialize. The DMA initialize command (DICM) register
(figure 38) is used to perform a software reset of the
DMAU. The DICM is accessed using the byte OUT
instruction.

Two clocks later, the DMAU reasserts its internal DMA
bus request. The bus waiting mode is continued until
the DMA bus acknowledge signal again becomes
active and the interrupted DMA service is immediately
restarted.

Programming the DMAU
To prepare a channel for DMA transfer, the following
characteristics must be programmed.
•
•
•
•

Starting address for the transfer
Transfer count
DMA operating mode
Transfer size (byte/word)

The contents of the OPHA and DULA registers determine the base I/O port address of the DMAU. Addresses
A3-AO are used to select a particular register as follow:

Register

Operation

0
0
1
1

Ao
0
1
0
1

DICM
DCH
DBC/DCC (low)
DBC/DCC (high)

Write
Read/Write
Read/Write
Read/Write

1
1
1
1

0
0
1
1

0
1
0
1

DBA/DCA (low)
DBA/DCA (high)
DBA/DCA (upper)
Reserved

Read/Write
Read/Write
Read/Write

0
0
0
0

0
0
1
1

0
1
0
1

DDC (low)
DDC (high)
DMD
DST

Read/Write
Read/Write
Read/Write
Read

0
0
1
1

0
1
0
1

Reserved
Reserved
Reserved
DMK

Read/Write

A3

A2

Al

0
0
0
0

0
0
0
0

0
0
0
0

Channel Register. Writes to the DMA channel (DCH)
register (figure 39) select one of the four DMA
channels for programming and also the base/current
registers. Reads of the DCH register return the currently-selected channel and the register access mode.
Count Registers. When. bit 2 of the DCH register is
cleared, a write to the DMA count register updates both
the DMA base count (DBC) and the DMA current count
(DCC) registers with a new count. If bit 2 of the DCH
register is set, a write to the DMA count register affects
only the DBC register. The DBC register holds the
initial count value until a new count is specified. If
autoinitialization is enabled, this value is transferred to
the DCC register when a terminal count or END
condition occurs. For each DMA transfer, the current
count register is decremented by one. The format of
the DMA count register is shown below. The count
value loaded into the DBC/DCC registers is one less
than the desired transfer count.
2H, IN/OUT
7
o

Co
7

DBC/DCC
DBA/DCA (higher/lower only)
DDC

o
Cg

Ca

Address Register. Use either byte or word I/O instructions with the lower two bytes (4H and 5H) of the
DMA address register. However, byte I/O instructions
must be used to access the high-order byte (6H) of this
register. When bit 2 of the channel register is cleared, a
write to the DMA address register updates both the
DMA base address (DBA) and the DMA current address
(DCA) registers with the new address. If bit 2 of the
DCH register is set, a writeto the DMA address register
affects only the DBA register.

7
Word I/O instructions can be used to read/write the
register pairs listed below. All other registers are
accessed via byte I/O instructions.

3H, IN/OUT

4H, IN/OUT

o
Ao

7

5H, IN/OUT

o

7

6H, IN/OUT (Byte only)

0

F.7

~

1:.:1

NEe

pPD70208 (V40)
The DBA register holds the starting address value until
a new address is specified. This value is transferred to
the DCA register automatically if auto'initialization is
selected. For each DMA transfer, the current address
register is increment~d/decremented by one.

Status Register. The DMA status (DST) register (figure
41) contains information about the current state of
each DMA channel. Software can determine if a termination condition has been reached (TC3-TCo) or if a
DMA service request is present (RQ3-RQO). The byte
IN instruction must be used to read this register.

Device Control Register. The DMA device control
(DOC) register (figure 40) is used to to p'rogram the
DMA transfer characteristics common to. all DMA
channels. It controls the bus mode, write timing,
priority logic, and enable/disable of the DMAU.
Figure 37.

Bus Waiting Operation
Other
Bus Master

DMARO

DMA BUSAK

RCU

DMAU

DMAU

-.l
-.l

I

\
Approx 2 Clocks

I~

Other
Bus Master

'----'----

-I

DMA BUSRO
83-0018588

Figure 38.

DMA Initialize Command Register
Initialize
7

OH

I

3

I

0

Note:
[1] The DMAU initializes as follows:
Register
Initialization Operation
Initialize
Address
Count
Channel
Mode Control
Device Control
Status
Mask

Clears all bits
No change
No change
SeleCts channel 0
Clears all bits
Clears all bits
Clears all bits
Sets all bits [masks all channels]
83-0018598

NEe
Figure 39.

pPD70208 (V40)

DMA Channel Register
Channel Register Read
6

7

o

3

4

I - I - I - I BASE I SEL3 I SEL2 I SEL1 I SELo

1H

IN

(Byte only)

J

0001

I

Selected
Channel

Channel 0

0010

Channel 1

0100

Channel 2

1000

Channel 3

0

Current (read), Base
and Current (write)

1

Base (read/write)

Base Only

Channel Register Write
6

7
1H

4

3

1-1-1 - I - 1 - 1BASE 1

OUT (Byte only)

SELCH

L

Select
Channel

Channel 0

00
01

Channel 1

10

Channel 2

11

Channel 3

0

Select Current (read),
select both Base and
Current (write)

1

Select Base (read/write)

Base Only

83-0038208

Figure 40.

DMA Device Control Register
7

5

4

2

.

Disable DMA
Operation(1)

I

Priority

I

Extended
Writing(2)

0

Enable

1

Disable
Fixed

0
1
0

Rotational
Normal

1

Extended

o
9H

1 - 1 - 1 -1-1 - 1 - I WEV 1BHLD

IN/OUT

L

Bus Mode
Wait Enable
During Verify(3

0

Bus Release

1

Bus Hold

0

Disable

1

Enable

Note:
[1 J Disables BUSRQ to the BAU to prevent incorrect DMA
operation while the DMAU registers are being initialized
or modified.
[2] When EXW is 0, the write signal becomes active [normal
writeJ during T3 and TW [see timing waveformsJ. When 1,
the write Signal becomes active during T2, T3, and TW [like
the read signalJ.
[3J Wait states are generated by the READY signal during a
verify transfer.
83-0018638

pPD70208 (V40)
Mode Control Register. The DMA mode (DMD) register
(figure 42) selects the operating mode for each DMA
channel. The DCH register selects which DMD register
will be accessed. A byte IN/OUT instruction must be
used to access this register.
Figure 41.

Mask Register Read/Write. The DMA mask (DMK)
register (figure 43) allows software to individually
enable and disable DMA channels. The DMK register
can only be accessed via byte I/O instructions.

DMA Status Register
7

4

6

I R03 I R02

OBH

R01·1 ROo

o

2

I

TC3

I TC2 I

TC1

I TCo

IN

I

(Byte only)

Terminal
Count

DMA
Request

0

Not ended (for each read)

1
0

END or terminal
count
No DMA request active

1

DMA request active

83-0018608

Figure 42.

DMA Mode Register
7
OAH

I

4
TMODE

1ADIR 1AUTI 1

o

2

3

1 -I -

TDIR
L~

Transfer
Direction

00
01
10

Verify
I/O-to-memory
Memory-to-I/O

11

Not allowed

0

Disable

Address
Direction

1
0
1
00

Enable
Increment
Decrement
Demand

Transfer
Mode

01
10
11

Block
Cascade

Autoinitialize

Single

83-002734B

Figure 43.

DMA Mask Register
76543210
OFH

I - I - I - I. - I

M3

l

I

M2

I

M1

I

MO

I INIOUT

(Byte only)

J

IL....-__- fl
I

OMARa
Mask

I 0 I Not masked I
I 1 I Masked
I
83-0038298

NEe

pPD70208 (V40)

Reset

Output Pin Status

The falling edge of the RESET signal resets the

The following table lists output pin status during reset.

pPD70208. The signal must be held low for at least four
clock cycles to be recognized as valid.

Signal

Status
High level

CPU Reset State
Register

Reset Value

PFP
PC
PS

OOOOH
OOOOH
FFFFH

INT AK.JllifEJillU.£.R/JL _
MRD, MWR, END/TC, 10WR, lORD,
REFRQ, BS~BSo, :USLOCK,
RESOUT, D AAK -DMAAKO
QS1-QSO, ASTB, HLDAK

Low level

SS
DSO
DS1

OOOOH
OOOOH
OOOOH

A15-Aa

High or low level

AD7-ADO

High impedance

PSW
AW, BW, CW, DW,
IX, IV, BP, SP

F002H
Undefined

_CL_K_O_UT_____________________
Co_n_ti_nu_e_s_to_s_u_pp_ly_c_lo_C_k__

Instruction queue

Cleared

When RESET returns to the high level, the CPU will
start fetching instructions from physical address

FFFFOH.

Internal Peripheral Registers
Internal peripheral devices initialized on reset are
listed in the following table. 1/0 devices not listed are
not initialized on reset and must be initialized by
software.

System
I/O area

SCU

DMAU

Symbols: x

Register

Reset Value

OPCN
OPSEL
WCV1

----0000
----0000
11111111

WCV2
WMB
TCKS
RFC

- - - -1111
-111-111
---00000
x--01000

SMD
SCM
SIMK

01001011
--0000-0
- - - - - -11

SST
DCH
DMD

10000100
---00001
000000-0

DDC (low)
DDC (high)
DST

--00-0-------00
xxxxOOOO

DMK

----1111

= unaffected; 0 = cleared; 1 = set; (-) = unused.

~

NEe

J.lPD70208 (V40)
Instruction Set

Symbols

Symbols

Symbol

Meaning

mem8

8-bit memory location

Preceding the instruction set, several tables explain
symbols, abbreviations, and codes.

Clocks
In the Clocks column ofthe instruction set, the numbers
cover these operations: instruction decoding, effective
address calculation, operand fetch, and instruction
execution.
Clock timings assume the instruction has been prefetched and is present in the four-byte instruction
queue. Otherwise, add four clocks for each byte not
present.
For instructions that reference memory operands, the
number on the left side of the slash (I) is for byte
operands and the number on the right side is for word
operands.
For conditional control transfer or branch instructions,
the number on the left side of the slash is applicable if
the transfer or branch takes place. The number on the
right side is applicable if it does not take place.

mem16

16-bit memory location

mem32

32-bit memory location

memptr16

Word containing the destination address
within the current segment

memptr32

Double word containing a destination
address in another segment

mod

Mode field (00 to 10)

near..Jabel

Label within the current segment

near--proc

Procedure within the current segment

offset

Immediate offset data (16 bits)
Number of bytes to discard from the stack

reg

Register field (000 to 111);
8- or 16-bit general-purpose register

reg8

8-bit general-purpose register

reg16

16-bit general-purpose register

regptr

16-bit register containing a destination
address within the current segment

regptr16

Register containing a destination address
within the current segment

If a range of numbers is given, the execution time
depends on the operands involved.

seg

Immediate segment data (16 bits)

shorLiabel

Label between -128 and +127 bytes from
the end of the current instruction

Symbols

sr

Segment register

Symbol

Meaning

src

Source operand or address

acc

Accumulator (AW or AL)

temp

Temporary register (8/16/32 bits)

disp

Displacement (8 or 16 bits)

AC

Auxiliary carry flag

dmem

Direct memory address

AH

Accumulator (high byte)

dst

Destination operand or address

AL

Accumulator (low byte)

ext-disp8

16-bit displacement (sign-extension byte
+ 8-bit displacement)

AW

Accumulator (16 bits)
BW register (high byte)

Label within a different program
segment

BH
BL

BW register (low byte)

Procedure within a different program
segment

BP

BP register

BRK

Break flag

Floating point instruction operation

BW

BW register (16 bits)

imm

8- or 16-bit immediate operand

CH

CW register (high byte)

imm3/4

3- or 4-bit immediate bit offset

CL

CW register (low byte)

imm8

8-bit immediate operand

CW

CW register (16 bits)

imm16

16-bit immediate operand

Carry flag

mem

Memory field (000 to 111);
8- or 16-bit memory location

CY
DH
DlR

Direction flag

DL

OW register (low byte)

far_label
far-proc

OW register (high byte)

NEe

pPD70208(V40)

Symbols (cont)

Flag Operations

Symbol

Meaning

Symbol

Meaning

DSO

Data segment 0 register (16 bits)

(blank)

No change

DS1

Data segment 1 register (16 bits)

o

Cleared to 0

DW

DW register (16 bits)

IE

Interrupt enable flag

x

Set or cleared according to result

IX

Index register (source) (16 bits)

IV

Index register (destination) (16 bits)

MD

Mode flag

Set to 1
Undefined

R

Restored to previous state

Memory Addressing Modes

P

Parity flag

PC

Program counter (16 bits)

mem

mod = 00

mod = 01

PS

Program segment register (16 bits)

000

BW+IX

BW + IX + disp8

BW + IX + disp16

PSW

Program status word (16 bits)

001

BW+IV

BW + IV + disp8

BW + IV + disp16

R

Register set

010

BP + IX

BP + IX + disp8

BP + IX + disp16

S

Sign extend operand field
S = 0 No sign extension
S = 1 Sign extend immediate byte
operand

011

BP+ IV

BP + IV + disp8

BP + IV + disp16

100

IX

IX + disp8

IX + disp16

101

IV

IV + disp8

IV + disp16

S

Sign flag

110

Direct

BP + disp8

BP + disp16

SP

Stack pointer (16 bits)

111

BW

BW + disp8

BW + disp16

SS

Stack segment register (16 bits)

v

Overflow flag

Register Selection (mod

=

mod = 10

11)

W

Word/byte field (0 to 1)

reg

W=O

W=1

X,XXX, VVV, ZZZ

Data to identify the instruction code of the
external floating point arithmetic chip

000

AL

AW

001

CL

CW

XOR

Exclusive logical sum

010

DL

DW

XXH

Two-digit hexadecimal value

011

BL

BW

100

AH

SP

101

CH

BP

110

DH

IX

111

BH

IV

XXXXH

Four-digit hexadecimal value

Z

Zero flag

Segment Register Selection
sr

Segment Register

00

DS1

01

PS

10

SS

11

DSO

1m

NEe

pPD70208 (V40)
Instruction Set
Mnemonic

Operand

6 5 4 3 2

0

Opcode
7 6 5 4 3 2 1 0

Clocks

Bytes

Flags
AC CY V P S Z

Data Transfer Instructions
MOV

reg, reg

0

0

0 1 W

mem, reg

0 0 0

0 0 W

reg

reg

mod

reg

mem

reg, mem

0 0 0 1 0

mem, imm

1 0 0 0

W

mod

reg

W

mod

reg

reg, imm

1 0

1 W

acc, dmem

1 0

0 0 0 0 W

dmem, acc

0

sr, reg16

0 0 0

sr, mem16

0 0 0

reg16, sr

0 0 0

mem16, sr

0 0 0 1

OSO, reg16, mem32

2
2-4

mem

10/14

2-4

mem

9/13

3-6

reg

0 0 0

W

3

mem

14

2-4

reg

2

2

mem

12

2-4

reg

mem

25

2-4

reg

mem

25

2-4

1

mod 0

sr

0 0

1 1 0

sr

0 0

mod 0

sr

0 0 0

0

mod

0 0

0

mod

2

1

PSW, AH

0 0

1 0

LOEA

reg16, mem16

0 0 0

0

TRANS

srctable

XCH

reg, reg

0 0 0 0

W

1 1

mem, reg

0 0 0 0

W

mod

0

x x

3
mod

reg

mem

4

reg

reg

3

2

reg

mem

13/21

2-4

0

0

3
2

reg

0 0

2-3

10/14
9/13
sr

OS1, reg16, mem32

1

4

2

1 1 0

AH, PSW

AW, reg16

2
7/11

x x x

2-4

9

0

reg

3

Repeat Prefixes
REPC

0

0 0

0

2

REPNC

0

0 0

0 0

2

REP
REPE
REPZ

2

0 0

REPNE
REPNZ

1 1 1 1 0 0 1 0

2

Block Transfer Instructions

o

oW

MOVBK

dst, src

1 0 1

CMPBK

dst, src

1 0 1 0 0 1 1 W

1
x x x x x x
7 (13) + 14n (W = 0)
7 (21) + 22n (W = 1)

CMPM

dst

1 0 1 0 1 1 1W

1
x x x x x x
7 (7) + 10n (W = 0) .
7(11)+14n(W=1)

LOM

src

1 0 1 0 1 1

STM

dst

1 0 1 0 1 0 1 W

0 1

oW

1
9 (9) + Bn (W = 0)
9 (17) + 16n (W = 1)

1
7 (7) + 9n (W = 0)
7 (11) + 13n (W = 1)
1
5 (5) + 4n (W = 0)
5 (9) + Bn (W = 1)

n = number of transfers
String instruction execution clocks for a single instruction execution are in parentheses.
CA

NEe

pPD70208 (V40)

Instruction Set (cont)
Mnemonic

Operand

6

Opcode
7 6 5 4 3 2 1 0

4 3

o

Clocks

Bytes

0 W

9/13

2

W

8/12

W

8/12

1 W

8/12

Flags
AC CY V P S Z

110 Instructions
IN
OUT

acc, imm8

0 0

acc, DW

0

imm8, acc

o
o
o

------------------------------------------------------------------------------DW, acc

INM

OUTM

dst, DW

o

DW, src

0

2
1

0 W
9 (10)
9 (18)

+ 8n (W = 0)
+ 16n (W = 1)

9 (10)
9 (18)

+ 8n

1 1 0 1 1 1 W

1
(W = 0)
1)

+ 16n (W =

n = number of transfers
String instruction execution clocks for a single instruction execution are in parentheses.

BCD Instructions

o

ADJBA

o

ADJ4A

xxuuuu

0

x x u x x x

3

ADJBS

xxuuuu

o

ADJ4S
ADD4S
SUB4S

dst, src

CMP4S

dst, src

ROL4

reg8

ROR4

x x u x x x

0

o

dst, src

o
o
o

o
o
o
o

0

1 1 1
mem

0 0 0
0 0 0

0 0 0 1
1 1 0 0 0

o

0 0 0 0

7 + 19n

2

uxuuux
uxuuux

000

7+ 19n

0 1 1 0

7 + 19n

2

0

o
o

000

13

3

o

0

o

000

25

3-5

0

uxuuux

reg

mem8

o

reg8

o

0 0 0 1 1 1 1
1 1 0 0 0
reg

o

0

o

o

o

17

3

mem8

o

o

0

o

o

o

29

3-5

15

2

u u u x x x

7

2

uuuxxx

2

x

x x x x x x

0 0 0
mod 0 0

0 0 0 1 1 1 1
mod 0 0 0 mem

n = number of BCD digits divided by 2

Data Type Conversion Instructions
CVTBD

1

CVTDB

1 1 0

0

CVTBW

0

CVTWL

o

o

0

0

0 0 0 0

o

0 0 0

o
o

o
o

000

2

o

4/5

0

Arithmetic Instructions
ADD

reg, reg

o

reg, mem

o

0 0 0 0 0 1 W

1 1

reg

reg

0 0 0 0 0 1 W

mod

reg

mem

o
o
o

0 0 0 0 S W

1 1 0 0 0

reg

0 0 0 0 S W

mod 0 0 0

mem

2

x

x

x

x x

------------------------------------------------------------------------------mem, reg
13/21
2-4
x x x x x x
o 0 0 0 0 0 0 W mod reg
mem
reg, imm
mem, imm
acc, imm

0 0 0

0 W

10/14

2-4

4

3-4

x x x x x x

15/23

3-6

x x x x x x

4

2-3

x x x x x x

65

NEe

pPD70208 (V40)
Instruction Set (cont)
Mnemonic

Operand

Opcode
7 6 5 4 3 2 1 0

o

6 5 432

Clocks

Bytes

2

2

Flags
AC CV V P S Z

Arithmetic Instructions (cont)
ADDC

reg, reg

0 0 0

0 0 1 W

reg

reg

x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x
x x x x
x
x x x x
x
x x x x
x
x x x x
x
x x x x
x
x x x x
uxxuuu
uxxuuu
uxxuuu
uxxuuu
uxxuuu
uxxuuu
uxxuuu
uxxuuu
uuuuuu
uuuuuu
uuuuuu
uuuuuu

--------------------------------------------------------------------------~~

mem, reg

0 0 0

reg, mem

o

mem

0 0 1 0 0 1 W

mod

reg

mem

mem, imm

000

reg, reg

o
o
o

reg, mem
reg, imm

0 0 0 0 S WOO
0 0 0

3-6
2-3

2

2

0 0 W

mod

reg

mem

13/21

2-4

0

0 1 0 1 W

mod

reg

mem

10/14

2-4

o

0 0 0 0 S W

reg
mem

ace, imm
mem, reg

o
o
o

reg, mem

0

0

0 W

0 0

0 1 W

1 1

reg

reg

0 0

0 0 W

mod

reg

mem

0001

01W

mod

reg

mem

o

0 0 0 0 S W

1 1 0 1

reg

mem, imm

100000SW

mod 0 1

mem

ace, imm

000

regS

0 W
1

1 1

o

15/23

4

0

1 0 1

reg, reg

2-4
3-4

0

1 0 1

0

1 1 0 0 0

reg

W

mod 0 0 0

mem

reg

000

4

3-4

15/23

3-6

4

2-3

2

2

13/21

2-4

10/14

2-4

4

3-4

15/23

3-6

4

2-3

2

2

13/21

2-4

2

regS

1 1

1 1 0

1 1 0 0

reg

2

2

mem

1 1

1 1 W

mod 0 0

mem

13/21

2-4

reg

21-30

2

mem

26-39

2-4
2

o

o

o
o
o
o

reg

reg16,mem16,immS
reg16,reg16,imm16
reg16,mem16,imm16
reg
mem
reg
mem

o
o
o
o

reg

0 1

reg

reg16,reg16,immS

66

reg

10/14
4

0

mem

DIV

W

reg

2-4

0

mem

DIVU

mem

mod

reg16

MUL

0 1 0

13/21

0

mem

MULU

mod

010W

1 0 0 0 0 0 S W

reg16
DEC

S W

reg

mem, imm

reg, imm

INC

reg

ace, imm
mem, reg

SUBC

mod

o
o

reg, imm

SUB

0 0 0 W

o
o

2

1 W

1 1

0 0

1 1 W

mod

1 1 W

1 1

o
o

reg

33-47

1

mod

0

mem

3S-56

2-4

1 1

reg

reg

2S-34

3

W

0

0

mod

reg

mem

37-43

3-5

000

1 1

reg

reg

36-42

4

000

mod

reg

mem

45-51

4-6

reg

19-25

2

mem

24-34

2-4

reg

29-43

2

mem

34-52

2-4

0

o
o
o
o

W

1 1

0

W

mod

1 1 0

W

1 1

W

mod 1 1

NEe

pPD70208 (V40)

Instruction Set (cont)
Mnemonic

Operand

432

6

Opcode
7 6 5 4 3 2 1 0

o

Clocks

Bytes

Flags
AC CY V P S Z

2

2

x x x x x x

Comparison Instructions
CMP

reg, reg

0 0

0 1 W

reg, mem

0 0 1 1

0 1 W

reg

reg

---------------------------------------------------------------------------mem, reg
0 0
0 0 W mod
reg
mem
10/14
2-4
x x x x x x

mem, imm
ace, imm

mod

0 0 0 0 0 S W

reg, imm

o

0 0 0 0

S W mod

0

oW

reg

mem

10/14

2-4

x x x x x x

1 1 1

reg

4

3-4

x x x x x x

1 1 1

mem

12/16

3-6

x x x x x x

4

2-3

x x x x x x

2

2

Logica/lnstructions
NOT

reg

0

WOO

reg

~

=m=e=m========================o======w===m=od===O====0===m=e=m====13=/2=1===2=-4=================~

________
NEG
reg

0

W

reg, reg

o 0 0 0

0 W

mem, reg

o

0 W

reg

2

2

x x x x x x

---------------------------------------------------------------------------mem
1 1
0
1 W mod 0
mem
13/21
2-4
x x x x x x

TEST

0

o

reg, imm
mem, imm

AND

OR

XOR

~g

~g

2

2

u 0 0 x x x

reg

mem

9/13

2-4

u 0 0 x x x

o 0 0

reg

4

3-4

0 0 x x x

o 0 0

mem

10/14

3-6

0 0 x x x

4

2-3

0 0 x x x

mod

W

1

0 1 1 W

ace, imm

10

0100W

reg, reg

o

0001W

reg

reg

2

2

mem, reg

o

0 0 0 0 W

mod

reg

mem

13/21

2-4

u 0 0 x x x

reg, mem

0010001W

mod

reg

mem

10/14

2-4

u 0 0 x x x

reg

4

3-4

OOxxx

mod

1 0 0

mem

15/23

3-6

0 0 x x x

4

2-3

0 0 x x x

reg, imm

o

0 0 0 W

mem, imm

o

0 0 0 W

ace, imm

0010010W

reg, reg

0000

mem, reg

000

reg, mem

o

mod

o

01W

0

reg

reg

2

2

u 0 0 x x x

u 0 0 x x x

0 W

mod

reg

mem

13/21

2-4

u 0 0 x x x

0 1 0 1 W

mod

reg

mem

10/14

2-4

u 0 0 x x x

0 1

reg

4

3-4

uOOxxx

0 1

mem

15/23

3-6

0 0 x x x

4

2-3

reg, imm

OOOOOOW

mem, imm

OOOOOOW

mod

o
o

ace, imm

o

reg, reg

00

001W

mem, reg

o 0

0 0 0 W

mod

reg

mem

13/21

2-4

u 0 0 x x x

reg, mem

o 0 1 1 0 0 1 W

mod

reg

mem

10/14

2-4

u 0 0 x x x

reg

4

3-4

OOxxx

mod

1 1 0

mem

15/23

3-6

0 0 x x x

4

~3

0 0 x x x

reg, imm

0

1 1 0 W

reg

OOOOOOW

mem, imm

1 0

ace, imm

o 0

0 0 0 0 W
0

0 W

1 0

reg

2

0 0 x x x

u 0 0 x x x

67

twEC

pPD70208 (V40)
Instruction Set (cont)
Mnemonic

Operand

Opcode
0765432

65432

o

Flags
AC CV V P SZ

Clocks

Bytes

0 0

35-133

3

o

35-133

4

0

34-59

3

o

34-59

4

3

3

uOOuux

0 W

7/11

3-5

uOOuux

Bit Manipulation Instructions
INS

reg8, reg8
reg8, imm8

EXT

TEST1

SET1

reg

0000111100
. 1 1 0 0 0
reg

NOT1

68

o

0

reg8, reg8

0000111100
1 1
reg
reg

reg8, imm8

0000111100
1 1 0 0 0
reg

reg, CL

00001111000
1 1 0 0 0
reg

o

mem, CL

00001111000
mod 0 0 0 mem

o

reg, imm3/4

000011'11000
1 1 0 0 0
reg

o

0 W

4

4

uOOuux

mem, imm3/4

00001111000
mod 0 0 0
mem

o

0 W

8/12

4-6

uOOuux

reg, CL

00001111000
1 1 0 0 0
reg

oW

4

3

mem, CL

00001111000
mod 0 0 0 mem

0 W

10/18

3-5

reg, imm3/4

00001111000
1 1 0 0 0
reg

5

4

mem, imm3/4

0000111100
mod 0 0 0 mem

11/19

4-6

o

CY
CLR1

o

d 0

000 0
1 1
reg

0

o

W

W

oW

0

DIR

1 1 1 1 1 1 0 1

reg, CL

00001111
1 1 0 0 0
reg

mem, CL

2

2

o

0

0

W

5

3

00001111000
mod 0 0 0 mem

o

W

11/19

3-5

reg, imm3/4

00001111000
1 1 0 0 0
reg

o

W

6

4

mem, imm3/4

00001111000
mod 0 0 0
mem

o

W

12/20

4-6

o

CY

1

0 0 0

2

DlR

1 1 1 1

1 0 0

2

1

reg, CL

o

0 0 0 1 1 1 1
1 1 0 0 0
reg

000

o

W

4

3

mem, CL

00001111
mod 0 0 0 mem

o

0

o

W

10/18

3-5

reg, imm3/4

00001111
1 1 0 0 0
reg

o

0

W

mem, imm3/4

00001111
mod 0 0 0
mem

0

W

CY

1 1

o

1 0 1

o

4
11/19
2

4-6

x

NEe

pPD70208 (V40)

Instruction Set (cont)
Mnemonic

Operands

Opcode
7 6 5 4 3 2 1 0

o

7 6 543 2

Clocks

Bytes

Flags
AC CY V P S Z

Shift/Rotate Instructions
SHL

reg, 1

0

0 0 0 WOO

reg

2

2

u x x x x x

----------------------------~-------------------------------------------------

SHR

mem, 1

0

0 0 0 W

mod

0 0

mem

13/21

2-4

u x x x x x

reg, CL

0

0 0

W

1 1

mem, CL

0 1 0 0 1 W

mod

0 0

reg

7+ n

2

u x u x x x

0 0

mem

16/24 + n

2-4

reg, immB

0 0 0 0 0 W

1 1

0

reg

u x u x x x

7+ n

3

u x u x x x

mem, immB

0 0

0 0 W

mod

0

mem

reg, 1

0

0 0 0 W

1 1

mem, 1

0

0 0 0 W

mod

0

mem

reg, CL

0

0 0 1 W

1 1

0

reg

reg, 1

0

reg

16/24 + n

3-5

u x u x x x

2

2

u x x x x x

13/21

2-4

u x x x x x

7+ n

2

u x u x x

u x 0 x x x

II

X

- - - - - - - , - - - u x u x x x
mem, CL
0 1 0 0 1 W
mod
mem
16/24 + n
2-4
reg, immB
0 0 0 0 0 W
1 1
0
reg
7+ n
3
u x u x x x
mem, immB
0 0 0
0 W
mod
0
mem
16/24 + n
3-5
u x u x x x
SHRA

mem, 1

ROL

ROR

ROLC

0 0 0 W

1 1

reg

2

2

0 0 0 W

mod

mem

13/21

2-4

u x 0 x x x

1 1

reg

7+ n

2

u x u x x x

reg, CL

0

0

W

mem, CL

0

0 0

W

reg, immB

0 0 0 0 0 W

mem, immB
reg, 1
mem, 1

mod

mem

1 1 1

1

reg

0 0 0 0 0 W

mod

1

mem

0

0 0 0 W

1 1 0 0 0

0

0

mod 0 0

reg, CL

0

0 0

W

1 1 0 0 0

reg

mem, CL

0 1 0 0 1 W

mod 0 0 0

mem

reg, imm

0 0 0 0 0 W

1 1 0 0 0

reg

mem, imm

0 0 0

0 W

mod 0 0 0

mem

reg, 1

0

0 W

1 1 0

reg

0

0 W

1

mem, 1

0

0 0 0 W

mod

reg, CL

0

0

1 1 0 0

mem, CL

0 1 0 0 1 W

mod

W

reg
mem

0
0 0

2-4

u x u x x x

3

u x u x x x
u x u x x x

16/24 + n

3-5

2

2

13/21

2-4

7+ n

x x
x x
x u

16/24 + n

2-4

x u

7+ n

3

x u

16/24 + n

3-5

x u

2

2

x u

mem

13/21

2-4

x x

reg

7+n
16/24 + n

2-4

x u

mem

x u

7+ n

3

x u

16/24 + n

3-5

x u

2

2.

mem

13/21

2-4

x x
x x

0

reg

7+ n

2

x u

0

mem

16/24 + n

2-4

x u

1 1 0

0

reg

7+ n

3

x u

mod 0

0

mem

16/24 + n

3-5

x u

reg, immB

0 0 0 0 0 W

1 1 0 0

reg

mem, immB

0 0 0

mod 0 0

mern

reg, 1

0

0 0 0

iN

1 1 0

0

reg

mem, 1

0

0 0 0 W

mod 0

0

reg, CL

0

0 0

W

1 1 0

mem, CL

0 1 0 0

W

mod 0

reg, immB

0 0 0 0 0 W

mem, immB

0 0 0 0 0 W

0 W

16/24 + n

7+ n

n = number of shifts

69

NEe

pPD7020'8 (V40)
Instruction Set (cont)
Mnemonic

Opcode
7 6 5 4 3 2 1 0

o

6 543 2

Operands

Flags
AC CV V PS Z

Clocks

Bytes

reg

2

2

x x

0

reg

7+ n

2

0 l'

mem

16/24 + n

2-4

x u
x u

7+ n

3

x u

16/24 + n

3-5

x u

23

2-4

Shift Rotate Instructions (cont)
RORC

reg, 1

0

0 0 0 W

0

-------------------------------------------------------------------------mem, 1
0
0 0 0 W mod 0
mem
13/21
2-4
x x
reg, CL

0

mem, CL

o

W

0 0

1 0 0 1 W

mod

reg, immB

OOOOOW

0

reg

mem, immB

o

0

mem

0 0 0 0 W mod

n = number of shifts

Stack Manipulation Instructions
PUSH

mem16

1

sr

0 0 0

o

PSW

POP

sr

mod

1 1 0

mem

1 0

0

10

01100000

imm

o

mem16

1 0 0 0

reg16

o
o

65

1 1 0 1 0 S 0
mod 0 0 0

1 0

0 0

PSW

1 0

R

o

sr

mem

2-4

1 1

12

R R R R R R

12
75

0 0 0
*immB =0: 16
immB> 1 : 21 + 16 (immB - 1)

DISPOSE

2-3

25
12

1 1 0
0

9-10

reg

100001

o

imm16, immB

10

0

R

sr

PREPARE

1 1 1 1 1 1

-------------------------------------------------------------------------reg16
0 1 0 1 0
reg
10

o

0 1

0

0 0 0

*

4

10

Control Transfer Instructions
CALL

near_proe

20

3

--------------------------------~----------------------------------------

regptr

l '1 1 0

memptr16

1 1

1

far_proe

0 0

0

memptr32

mod 0

1 1 1 1

o
o
o
o

RET

shorLiabel

70

31

mod 0

mem

2-4

29

5

47

2-4

19
24

o
o
o

1

29

1 0

32

3

0

13

3

0

0

o
1 1

1

o
o

mem

1

o

near-.label

0

0

memptr16

BV
BNV

1B

0 0 0

reg

memptr32

reg

0 0 0

o
o

BR

1

0

o

o

1 1

1

o

0 0 0

000

mod
mod

o
o
o

3

12

2

0

reg

11

2

0

mem

23

2-4

mem

15

5

34

2-4

14/4

2

14/4

2

NEe

pPD70208(V40)

Instruction Set (cont)
Mnemonic

Operands

Opcode
7 654321
0

5 4 3 2

0

Clocks

Bytes

Flags
AC CY V P

S Z

Control Transfer Instructions (cont)
BC, BL

near-1abel

0

0 0

14/4

2

BNC, BNL

near-1abel

0

0 0 1

14/4

2

BE, BZ

near-1abel

0

0

0 0

14/4

2

BNE, BNZ

near-1abel

0

0

0 1

14/4

2

BNH

near-1abel

0

0

0

14/4

2

BH

near-1abel

0

0 1

14/4

2

BN

near-1abel

0

0 0 0

14/4

2

BP

neaUabel

0

0 0

14/4

2

BPE

near-1abel

0

0

0

14/4

2

BPO

near-1abel

0

0

1

14/4

2

BLT

near-1abel

0

0 0

14/4

2

BGE

near-1abel

0

0 1

14/4

2

BLE

near-1abel

0

0

14/4

2

BGT

near-1abel

0

1

14/4

2

OBNZNE

near-1abel

0 0 0 0 0

14/5

2

OBNZE

near-1abel

0 0 0 0

14/5

2

OBNZ

near-1abel

0 0 0

0

13/5

2

BCWZ

near-1abel

0 0 0

1

13/5

2

0

1 1

Interrupt Instructions
BRK
BRKV

3

0 0

0 0

50

1

imm8

0 0

0 1

50

2

imm8

0 0 1

RETI

0

1

0 0 1 1
0 0 0

CHKINO

reg16, mem32

0

BRKEM

imm8

0 0 0 0

52/3

39
0

mod

reg

mem

R R R R R R

25/72-75 2-4

1 1 1 1 1 1 1 1

3

50

CPU Control Instructions
HALT

0

BUS LOCK
FP01
FP02

0 0

1

0 0 0 0

fp_op

0

X X X

fp_op, mem

0

1 X X X

2
2
1 1 Y Y y Z Z Z

2

mod y y y

14

2-4

2

2

14

2-4

mem

fp_op

0

0 0

X

1 1 Y Y Y Z Z Z

fp_op, mem

0 1 1 0 0

X

mod y y y

mem

POLL

0 0

0
n = number of times POLL pin is sampled.

NOP

0 0

0 0 0 0

01

1

EI

0

1

OSO:, OS1:, PS:, and SS:
(segment override prefixes)

0 0

0
seg

2

2+5n
3
2

0
1

2

0

2

8080 Instruction Set Enhancements
RETEM
CALLN

imm8

1

0

0

1

0

39

2

1

0

0

0

0

58

3

R R R R R R

pPD70208 (V40)

72

NEe

NEe
NEe Electronics Inc.
Description
The pPD70216 (V50™) is a high-performance, lowpower 16-bit microprocessor integrating a number of
commonly-used peripherals to dramatically reduce the
size of microprocessor systems. The CMOS construction makes the pPD70216 ideal for the design of
portable computers, instrum~ntation, and process
control equipment.
The pPD70216 contains a powerful instruction set that
is compatible with the pPD70108/pPD70116 (V20®/
V30®) and pPD8086/pPD8088 instruction sets. Instruction set support i.ncludes a wide range of arithmetic, logical, and control operations as well as bit
manipulation, BCD arithmetic, and high-speed block
transfer instructions. The pPD70216 can also execute
the entire pPD8080AF instruction set using the 8080
emulation mode. Also available is thepPD70208 (V40TM),
identical to the pPD70216 but with an 8-bit external
data bus.

pPD702i6 (V50)
i6-Bit Microprocessor:
High-Integration, CMOS

Ordering Information
Part Number

Max Frequency IMHzl

pPD70216R8

8

R10

V20 and V30 are registered trademarks of NEC Corporation.
V40 and V50 are trademarks of NEC Corporation.

10

GF8

8

GF10

10

68-pin PLCC
80-pin plastic QFP

Bottom View

/

000000000
00000000000
00
00
00
00
00
00
pPD70216R
00
00
00
00
00
00
00
00
00000000000
L 10
000000000
A2

8 MHz; 200 ns at 10 MHz

o
o
o
o

8

L10

68-Pln Ceramic PGA

Features

- Clock generator
- Bus interface
- Bus arbitration
- Programmable wait state generator
- DRAM refresh controller
- Three 16-bit timer/counters
- Asynchronous serial I/O controller
- Eight-input interrupt controller
- Four-channel DMA controller
Hardware effective address calculation logic
Maskable and nonmaskable interrupt inputs
IEEE 796 compatible bus interface
Low-power standby mode

10

L8

Pin Configuration

o Low-power CMOS technology
o V20/V30 instruction set compatible
o Minimum instruction execution time: 250 ns at
o Direct addressing of 1M bytes of memory
o Powerful set of addressing modes
o Fourteen 16-bit CPU registers
o On-chip peripherals including

Package
68-pin ceramic PGA

10
11

A

H

G

0

C

Pin

Symbol

Pin

Symbol

Pin

Symbol

Pin

Symbol

A2

INTP7

B9

DMARQl

FlO

AD7

K4

NMI
RESET

A3

INTP5

B10

DMARQO

Fll

GND

K5

A4

INTP3

Bll

ADO

Gl

Xl

K6

RESOUT

AS

INTPl

Cl

TCTL2

G2

CLKOUT

K7

HLDRQ

C2

POLL

K8

A19/PS3

A7

DMAAK2

Cl0

ADl

Gll

AD9

K9

A17/PSl

A8

DMAAKl

Cll

AD2

Hl

BUFEN

Kl0

AD14

A9

DMAAKO

Dl

QSl

H2

BUFR/W

Kll

AD1S

Al0

END/TC

D2

QSo

Hl0

AD10

L2

lORD

Bl

TCLK

010

AD3

Hll

AD11

L3

BSo

B2

TOUT2

Dll

AD4

Jl

BUSLOCK

L4

BS2

B3

INTP6

El

ASTB

J2

iOWA

L5

READY

B4

INTP4

E2

UBE

J10

AD12

L6

B5

INTP2

El0

ADs

Jll

L7

Voo
HLDAK

Ell

AD6

Kl

AD13
MWR

L8

REFRQ

Fl

GND

K2

MRD

L9

A1a1PS2

F2

X2

K3

BS1

Ll0

A16/PSo

A6

B6
B7
B8

DMAAK3/TxD

INTAK/TOUT11
SRDY
DMARQ3/RxD
DMARQ2

Gl0

ADa

83-0027196

50008-1 (NECEL-419)

NEe

pPD70216 (V50)
Pin Configurations (cont)
68-Pin Plastic Leaded Chip Carrier (PLCC)

g~
Itt Itt I~ I~ Iw
Z

~

:i!
e

CD

~

-J
II)

~

~

Q ~ ~ ~
a.
L()

:g

"

L()

CD

L()

I::l

0

~

-J

0
L()
L()

..

('II

>< ><

.,.

L()

l:l

cZ IW
III

III
lII)

Cl ::l

4(

:;;

L()

~

e

.. .-I:j

N

N

~

.,.

-J I- ~
I- ::l -J
0 0 0
000.. l- I- lII)

II)

0

.,.a. .,.co ".,.

L()

~
INTP7

lORD

43

MRD

42

INTP6

BSo

41

INTP5

BS1

40

INTP4

BS2

39

INTP3

NMI

38

IflITP2

READY

37

INTP1

RESET

36

INTAK/TOUT1/SRDY

35

DMAAK3/TxD

RESOUT

34

DMARQ3/RxD

HLDAK

33

DMAAK2

HLDRQ

32

DMARQ2

REFRQ

31

DMAAK1

A19/PS3

30

DMARQ1

A1S/PS2

29

DMAAKO

A17/PS1

28

DMARQO

A16/PSO

27

END/TC

Voo

0

83-0041266

2

pPD70216 (V50)

64

lORD

63

NC

62

MWR

61

IOWR

60

BUSLOCK

59

BUFR/W

58

BUFEN

57

CLKOUT

56

X1

55

X2

54

GND

53

NC

52

GND

51

UBE

50

ASTB

49

aSO

48

aS1

47

POLL

46

TCTL2

45

TOUT2

44

TCLK

43

NC

42

INTP7

41

INTP6

1m

83-0041278

3

NEe

pPD70216 (V50)
Pin Identification
Symbol

ASTB

Symbol
Function

Function

TOUT2

Timer/counter 2 output

Multiplexed address/ processor status outputs

UBE

Upper byte enable output

Multiplexed address/data bus

VDn

+5 V power supply input

Address strobe output

Xl, X2

Crystal/external clock inputs

Bus status outputs
BUFEN

Data bus transceiver enable output

BUFR/W

Data bus transceiver direction output

BUS LOCK

Buslock output

CLKOUT

System clock output

DMAAKO

DMA channel 0 acknowledge output

DMAAK1

DMA channel 1 acknowledge output

DMAAK2

DMA channel 2 acknowledge output

DMAAK3/TxD

DMA channel 3 acknowledge output/Serial
transmit data output

DMARQO

DMA channel 0 request input

DMARQ1

DMA channel 1 request input

DMARQ2

DMA channel 2 request input

DMARQ3/RxD

DMA channel 3 request input/Serial receive
data input

END/TC

End input/Terminal count output

GND

Ground

HLDAK

Hold acknowledge output

HLDRQ

Hold request input

IC

Internal connection; leave unconnected

INTAKITOUT1/SRDY

Interrupt acknowledge output/Timer/counter 1
output/Serial ready output

INTP1-INTP7

Interrupt request inputs

lORD

I/O read strobe output

10WR

I/O write strobe output

MRD

Memory read strobe output

MWR

Memory write strobe output

NC

No connection

NMI

Nonmaskable interrupt input

POLL

Poll input
CPU queue status outputs

READY

Ready input

REFRQ

Refresh request output

RESET

Reset input

RESOUT

Synchronized reset output

TCLK

Timer/counter external clock input

TCTL2

Timer/counter 2 control input

4

Pin Functions
A19-A16/PS3-PSO [Address/Status Bus]
These three-state output pins contain the upper 4 bits
of the 20-bit address during T1 and processor status
information during the T2, T3, TW, and T4 states of a
bus cycle. During T1 of a memory read or write cycle,
these pins contain the upper 4 bits of the 20-bit
address. These pins are forced low during T1 of an I/O
bus cycle.
Processor status is output during T2, T3, TW, and T4 of
both memory and I/O bus cycles. PS 3 is zero during
any CPU native mode bus cycle. During any DMA,
refresh, or 8080 emulation mode bus cycle, PS3 outputs
a high level. PS2 outputs the contents of the interrupt
enable (IE) flag in the CPU PSW register. PS1 and PS o
indicate the segment register used to form the physical
address of a CPU bus cycle as follows:
PSI

PSo

Segment

0
0

0

Data segment 1 (DS1)
Stack segment (SS)

1

0
1

Program segment (PS)
Data segment 0 (DSO)

These pins are in the high-impedance state during hold
acknowledge.

AD15-ADo [Address/Data Bus]
These three-st~te pins form the middle byte of the
active-high, time-multiplexed address/data bus. During
T1 of a bus cycle, AD1S-ADo output the lower 16 bits of
the 20-bit memory or I/O address. During the T2, T3,
TW, and T4 states, AD1S-ADo form the 16-bit bidirectional data bus.
The memory and I/O address spaces are organized
into a pair of byte-wide banks. The even bank is
accessed whenever ADo = 0 during T1 of a bus cycle.
Access to the odd bank is controlled by the USE pin.
The AD1S-ADo pins enter the high-impedance state
during hold acknowledge or internal interrupt acknowledge bus cycles or while RESET is asserted. Pins
AD10-ADs contain the slave address of an external
interrupt controller during the second interrupt acknowledge bus cycle.

NEe

pPD70216 (V50)

ASTB [Address Strobe]

BUSLOCK

This active-high output is used to latch the address
from the multiplexed address bus in an external address
latch during T1 of a bus cycle. ASTB is held at a low
level during hold acknowledge.

This active-low output provides a means forthe CPU to
indicate to an external bus arbiter that the bus cycles of
the next instruction are to be kept contiguous.
BUSLOCK is asserted forthe duration of the instruction
following the BUS LOCK prefix. BUSLOCK is also
asserted during interrupt acknowledge cycles and
enters the high-impedance state during hold acknowledge. While BUSLOCK is asserted, DMAU, RCU, and
external bus requests are ignored.

BS2-BSO [Bus Status]
Outputs BS2-BSO indicate the type of bus cycle being
performed as shown below. BS2-BSO become active
during the state preceding T1 and return to the passive
state during the bus state preceding T4.
Bus Cycle

CLKOUT
CLKOUT is a buffered clock output used as a reference
for all timing. CLKOUT has a 50-percent duty cycle at
ha:/f the frequency of the input clock source.

BS2

BS)

BSo

0
0

0
0

0
1

Interrupt acknowledge
I/O read

0
0

1
1

0
1

I/O write
Halt

DMAAKO-DMAAK2 [DMA Acknowledge]

0
0

0
1

Instruction fetch
Memory read (1)

0
1

Memory write (2)
Passive state

This set of outputs contains the DMA acknowledge
signals for channels 0-2 from the internal DMA control.Ier and indicate that the peripheral can perform the
requested transfer.

Note:
(1) Memory read bus cycles include CPU, DMA read, DMA verify,
and refresh bus cycles.
(2) Memory write bus cycles include CPU and DMA write bus cycles.

BS2-BSO are three-state outputs and are high impedance during hold acknowledge.

BUFEN [Buffer Enable]
BUFEN is an active-low output for enabling an external
data bus transceiver during a bus cycle. BUFEN is
asserted during T2 through T3 of a read cycle, T2
through T3 of a slave interrupt acknowledge cycle, and
T1 through T4 of a write cycle. BUFEN is not asserted
when the bus cycle corresponds to an internal peripheral, DMA, refresh, or internal interrupt acknowledge cycle. BUFEN enters the high-impedance state
during hold acknowledge.

BUFR/W [Buffer Read/Write]
BUFR/W is a three-state, active-low output used to
control the direction of an external data bus transceiver during CPU bus cycles. A high level indicates the
pPD70216 will perform a write. cycle and a low level
indicates a read cycle. BUFR/W enters the highimpedance state during hold acknowledge.

nI

DMAAK3/TxD [DMA Acknowledge 3]/[Serial
Transmit Data]
Two output signals multiplexed on this pin are selected
by the PF field of the on-chip peripheral connection
register.
• DMAAK3 is an active-low output and enables an
external DMA peripheral to perform the requested
DMA transfer for channel 3.
• TxD is the serial data output from the serial control
unit.

DMARQO-DMARQ2 [DMA Request]
These synchronized inputs are used by external peripherals to request DMA service for channels 0-2 from
the internal DMA controller.

DMARQ3/RxD [DMA Request 3]/[Serial Receive
Data]
Two input signals multiplexed on this pin are selected
by the PF field of the on-chip peripheral connection
register.
• DMARQ3 is used by an external peripheral to request
a DMA transfer cycle for channel 3.
• RxD is the serial data input to the serial control unit.

5

~

NEe

pPD70216 (V50)
END/TC [End/Terminal Count]

• TOUT1 is the output of timerlcounter 1.

This active-low bidirectional pin controls the termination of a DMA service. Assertion of END by external
hardware during DMA service causes the service to
terminate. When a DMA channel reaches its terminal
count, the DMAU asserts TC, indicating the programmed operation has completed.

• SRDY is an active-low output and indicates that the
serial control unit is ready to receive the next
character.

END/TC is an open-drain 1/0 pin, and requires an
external 2.2-kO pull-up resistor.

HLDAK [Hold Acknowledge]
When an external bus requester has become the
highest priority requester, the internal bus arbiter will
assert the HLDAK output indicating the address, data,
and control buses have entered a high-impedance state
and are ayailable for use by the external bus master.
Should the internal DMAU or RCU (demand mode)
request the bus, the bus arbiter will drive HLDAK low.
When this occurs, the external bus master should
complete the current bus cycle and negate the HLDRQ
signal. This allows the bus arbiter to reassign the bus to
the higher priority requester.
If a higher priority internal bus master subsequently
requests the bus, the high-level width of HLDAK is
guaranteed to be a minimum of one CLKOUT period.

HLDRQ [Hold Request]
This active-high signal is asserted by an external bus
master requesting to use the local address, data, and
control buses. The HLDRQ input is used by the internal
bus arbiter, which gives control of the buses to the
highest priority bus requester in the following order.
Bus Master

RCU
DMAU
HLDRQ

CPU
RCU

Priority
Highest (demand mode)

•
•
•
Lowest (normal operation)

INTAK/TOUT1/SRDY [Interrupt Acknowledge]1
[Timer 1 Output]l[Serial Ready]
Three output signals multiplexed on this pin are
selected by the PF field of the on-chip peripheral
connection register.
• INTAK is an interrupt acknowledge signal used to
cascade external siavepPD71059 Interrupt Controllers. INTAK is asserted during T2, T3, and TW states
of an interrupt acknowledge cycle.

6

INTP1-INTP7 [Peripheral Interrupts]
INTP1-INTP7 accept either rising-edge or high-level
triggered asynchronous interrupt requests from external
peripherals. These INTP1-INTP7 inputs are internally
synchronized and prioritized by the interrupt control
unit, which requests the CPU to perform an interrupt
acknowledge bus cycle. External interrupt controllers
such as the pPD71059 can be cascaded to increase the
number of vectored interrupts.
These interrupt inputs cause the CPU to exit both the
standby and 8080 emulation modes.
The INTP1-INTP7 inputs contain internal pull-up resistors and may be left unconnected.

lORD [1/0 Read]
This three-state pin outputs an active-low 110 read
strobe during T2, T3, and Tw of an I/O read bus cycle.
Both CPU I/O read and DMA write bus cycles assert
lORD. lORD is not asserted when the bus cycle
corresponds to an internal peripheral or register. It
enters the high-impedance state during hold acknowledge.

10WR [1/0 Write]
This three-state pin outputs an active-low 110 write
strobe during T2, T3, and TW of a CPU I/O write or an
extended DMA read cycle and during T3 and TW of a
DMA read bus cycle. 10WR is not asserted when the
bus cycle corresponds to an internal peripheral or
register. It enters the high-impedance state during
hold acknowledge.

MRD [Memory Read Strobe]
This three-state pin outputs an active-low memory
read strobe during T2, T3, and TW of a memory read
bus cycle. CPU memory read, DMA read, and refresh
bus cycles all assert MRD. MRD enters the highimpedance state during hold acknowledge.

MWR [Memory Write Strobe]
This three-state pin outputs an active-low memory
write strobe during T2, T3, and TW of a CPU memory
write or DMA extended write bus cycle and during T3
and TW of a DMA normal write bus cycle. MWR enters
the high-impedance state during hold acknowledge.

NEe

pPD70216 {V50}

NMI [Nonmaskable Interrupt]

REFRQ [Refresh Request]

The NMI pin is a rising-edge-triggered interrupt input
that cannot be masked by software. NMI is sampled by
CPU logic each clock cycle and when found valid for
one or more CLKOUT cycles, the NMI interrupt is
accepted. The CPU will process the NMI interrupt
immediately after the current instruction finishes
execution by fetching the segment and offset of the
NMI handler from interrupt vector 2. The NMI interrupt
causes the CPU to exit both the standby and 8080
emulation modes. The NMI input takes precedence
over the maskable interrupt inputs.

REFRQ is an active-low output indicating the current
bus cycle is a memory refresh operation. REFRQ is
used to disable memory address decode logic and
refresh dynamic memories. The 8-bit refresh row
address is placed on As-A1 during a refresh bus cycle.

POLL [Poll]
The active-low POLL input is used to synchronize the
operation of external devices with the CPU. During
execution of the POLL instruction, the CPU checks the
POLL input state every five clocks until POLL is once
again asserted.

QS1-QSO [Queue Status]
The QS1 and QSo outputs maintain instruction synchronization between the pPD70216 CPU and external
devices.These outputs are interpreted as follows.
QSo

o

Instruction Queue Status
No operation

RESET [Reset]
RESET is a Schmitt trigger input used to force the
pPD70216 to a known state by resetting the CPU and
on-chip peripherals. RESET must be asserted for a
minimum of four clocks to guarantee recognition. After
RESET has been released, the CPU will start program
execution from address FFFFOH in the native mode.
RESET will release the CPU from the low-power
standby mode and force it to the native mode.

~

RESOUT [Reset Output]

~

This active-high output is available to perform a systemwide reset function. RESET is internally synchronized
with CLKOUT and output on the RESOUT pin.

TCLK
TCLK is an external clock source for the timer control
unit. The three timer/counters can be programmed to
operate with either the TCLK input or a prescaled
CLKOUT input.

First byte of instruction fetched
Flush queue contents

TCTL2

Subsequent byte of instruction fetched

TCTL2 is the control input for timer/counter 2.

Queue status is valid for one clock cycle after the CPU
has accessed the instruction queue.

TOUT2

READY [Ready]

UBE [Upper Byte Enable]

This active-high input synchronizes external memory
and peripheral devices with the pPD70216. Slow
memory and I/O devices can lengthen a bus cycle by
negating the READY input and forcing the SIU to insert
TW states. READY must be negated prior to the rising
edge of CLKOUT during the T2 or by the last internallygenerated TW state to guarantee recognition. When
READY is once again asserted and recognized by the
SIU, the SIU will proceed to the T4 state.

USE is an active-low output, asserted when the upper
byte of the 16-bit data bus contains valid data. USE is
used along with Ao by the memory decoding logic to
select the even/odd banks as follows.

The READY input operates in parallel with the internal
pPD70216 wait control unit and can be used to insert
more than three wait states into a bus cycle.

TOUT2 is the output of timer/counter 2.

Operation

UBE

Ao

Bus
Cycles

Word, even address

0

0

1

Word, odd address

0

2

1

1 (1st bus cycle)
o(2nd bus cycle)

Byte, even address

1

0

Byte, odd address

0

USE is a three-state output and enters the highimpedance state during hold acknowledge.
7

NEe

pPD70216.(V50)
X1, X2 [Clock Inputs]

Pin States

These pins accept either a parallel resonant, fundamental mode crystal or an external oscillator input with
a frequency twice the desired operating frequency.

Table 1.lists the output pin states during the Hold, Halt,
Reset and DMA Cascade conditions.

In the case of an external clock generator, the X2 pin
can either be left unconnected or be driven by the
complement of the X1 pin clock source.

Table 1.

Output PIn States
DMA
Output

Hold

Halt

A19- A16 1PS3-PSO

3-state Out

Hi-Z

H/L

H/L

Hi-Z

AD15- AD o

3-state I/O

Hi-Z

H/L

Hi-Z

Hi-Z

Out

L

L

L

L

BS2-BSO

3-state Out

Hi-Z

H

H

H

Symbol

ASTB

Reset Cascade

BUFEN

3-state Out

Hi-Z

H

H

Hi-Z

BUFR/W

3-state Out

Hi-Z

H/L

H

Hi-Z

BUS LOCK

3-state Out

Hi~Z

H/L

H

Hi-Z

CLKOUT

Out

H/L

H/L

H/L

H/L

DMAAKO-DMAAK2

Out

H

H/L

H

H/L

DMAAK31

Out

H

H/L

TxD

H/L

END/TC

I/O

H

H/L

HLDAK

Out

H

H/L

INTAK

Out

H

H

TOUT1

H/L

H/L

SRDY

H/L

H/L

Hi-Z

H

lORD

3-state Out

H

H/L

H/L

H/L

H

H

H

H

L
H/L
H/L
H

Hi-Z

10WR

3-state Out

Hi-Z

H

H

Hi-Z

MRD

3-state Out

Hi-Z

H

H

Hi-Z

MWR

3-state Out

Hi-Z

H

H

Hi-Z

QS1-QSO

Out

H/L

L

L

H/L

REFRQ

Out

H

H/L

H.

H

RESOUT

Out

L

L

H

L

TOUT2

Out

H/L

H/L

H/L

H/L

3-state Out

Hi-Z

H

H

Hi-Z

UBE

H: high level; L: low level; H/L.: high or low level; Hi-Z: high
impedance.

8

NEe

pPD70216 (V50)

Block Diagram
INTP1
INTP2
INTP3
INTP4
INTPS

Interrupt
Control
Unit
[ICU]

Wait
Control
Unit
[WCU]

A19-A16/PS3-PSO

AD1S-ADo

INTP6

BS2-BSo

INTP7
QS1
QSo
TOUT2
TOUT1
TCTL2
TCLK

Timer/
Counter
Unit
[TCU]

POLL

Bus
Interface
Unit
[BIU]

ASTB
USE
BUFEN
BUFR/W

B

BUSLOCK
DMARQO
DMAAKO
DMARQ1

i5MAAi<1
DMARQ2

DMA
Control
Unit

DMAAK2

[DMAUl

Central
Processing
Unit
[CPU]

lORD
IOWR
MRD
MWR
READY
RESET

DMARQ3

RESOUT

DMAAK3
END/TC

Bus
Arbitration
Unit

INTAK
NMI

X1
X2
CLKOUT

HLDAK
HLDRQ

[BAUl

Clock
Generator
[eG]

Refresh
Control
Unit
[RCUl

Serial
Control
Unit
[SCUl

TxD
SRDY
RxD

REFRQ
83-004138C

9

NEe

IlPD70216 (V50)
Absolute Maximum Ratings

DC Characteristics

TA = +25°C

TA = -10 to +70°C, Voo = +5 V ±10% (8 MHz),
Voo = 5 V ±5% (10 MHz)

Power supply voltage, Voo

-0.5 to +7.0 V

Input voltage, VI
ClK input voltage, VK

-0.5 to Voo + 1.0 V

Output voltage, Vo

-0.5 to Voo + 0.3 V
-10 to +70°C

Operating temperature, TOPT
Storage temperature, TSTG

-65 to +150 °C

Comment: Exposure to Absolute Maximum Ratings for extended
periods may affect device reliability; exceeding the ratings could
cause permanent damage. The device should be operated within the
limits specified under DC and AC Characteristics.

Capacitance
TA=+25°C, Voo=OV

Limits
Parameter

Symbol

Min

Max

Input capacitance

CI

15

Output capacitance

Co

15

10

Limits

-0.5 to Voo + 0.3 V

Unit

Test
Conditions

Symbol

Min

Max

Unit

rnput voltage, high

VIH

2.2

Voo+
0.3

V

Input voltage, low

Parameter

VIL

-0.5

0.8

V

X1, X2 input
voltage, high

VKH

3.9

Voo +
1.0

V

X1, X2 input
voltage, low

VKL

-0.5

0.6

V

Output voltage, high VOH

0.7 Voo

Test
Conditions

V

10H = -400J1.A

V

10L= 2.5 rnA

Output voltage, low

VOL

0.4

Input leakage
current, high

ILiH

10

J1.A

VI = Voo

Input leakage
current, low

ILlPL

-300

J1.A

VI =0 V, INTP
input pins

ILiL

-10

J1.A

VI = 0 V, other
input pins

Output leakage
current, high

ILOH

10

J1.A

Vo = Voo

Output leakage
current, low

ILOL

-10

J1.A

Vo=OV

Supply current
8 MHz

100

90
20

rnA
rnA

Normal mode
Standby mode

10 MHz

100

120
25

rnA
rnA

Normal mode
Standby mode

pF fc = 1 MHz;
unmeasured pins
pF
are returned to 0 V.

NEe

pPD70216 (V50)

AC Characteristics
TA

= -10 to +70°C; Voo = 5 V ±10% (8 MHz), Voo = 5 V ±5% (10 MHz), CL = 100 pF
8 MHz Limits

Parameter

10 MHz Limits

Symbol

Min

Max

Min

Max

External clock input cycle time

tCYX

62

250

50

250

External clock pulse width, high

tXXH

20

19

ns

VKH

External clock pulse width, low

tXXL

20

19

ns

VKL = 1.5 V

External clock rise time

tXR

10

5

ns

1.5 - 3.0V

External clock fall time

tXF

10

5

ns

3.0 -.1.5 V

CLKOUT cycle time

tCYK

124

500

ns

CLKOUT pulse width, high

tKKH

0.5 tCYK-7

0.5 tCYK - 5

ns

VKH

CLKOUT pulse width, low

tKKL

0.5 tCYK-7

0.5 tCYK - 5

ns

VKL = 1.5 V

500

100

Unit

Test Conditions

ns

= 3.0 V

= 3.0 V

CLKOUT rise time

tKR

7

5

ns

1.5 - 3.0 V

CLKOUT fall time

tKF

7

5

ns

3.0 -1.5 V

CLKOUT delay time from external clock

tDXK

55

40

ns

Input rise time (except external clock)

tlR

20

15

ns

0.8- 2.2 V

Input fall time (except external clock)

tlF

12

10

ns

2.2 -

Output rise time (except CLKOUT)

tOR

20

15

ns

0.8- 2.2V

tOF

12

10

ns

2.2 - 0.8 V

Output fall time (except CLKOUT)
RESET setup time to CLKOUT 1

tSRESK

25

RESET hold time after CLKOUT 1

tHKRES

35

RESOUT delay time from CLKOUT 1

60

20

ns

25

ns

tDKRES

5

READY inactive setup time to CLKOUTt

tSRYLK

15

15

READY inactive hold time after CLKOUTt

tHKRYL

25

20

ns

READY active setup time to CLKOUTt

tSRYHK

15

15

ns

5

50

ns
ns

READY active hold time after CLKOUTt

tHKRYH

25

20

ns

NMI, POLL setup time to CLKOUTt

tSIK

15

15

ns

Data setup time to CLKOUT 1

tSDK

15

15

ns

Data hold time after CLKOUT 1

tHKD

10

10

ns

Address delay time from CLKOUT 1

tDKA

10

Address hold time after CLKOUT 1

tHKA

10

1/0 recovery time

tAl

PS delay time from CLKOUT 1

tDKP

60
60

tFKP

10

tSAST

tKKL - 20

Address float delay time from CLKOUT 1

tFKA

tHKA

50

ns

10

50

ns

10

50

ns

tHKA

A19-AO UBE
(Note 1)

ns

tKKL - 30
60

ns
ns

2tCYK - 40

10

PS float delay time from CLKOUTt

10
10

2tCYK - 50

Address setup time to ASTBl
ASTB t delay time from CLKOUT 1

55

1m

0.8 V

50

ns

40

ns

45

ns

tDKSTH

45

ASTBl delay time from CLKOUTt

tDKSTL

50

ASTB pulse width, high

tSTST

tKKL -10

tKKL -10

ns

Address hold time after ASTBl

tHSTA

tKKH - 20

tKKH - 20

ns

Control delay time from CLKOUT

tDKCT1

10

70

10

60

ns

(Note 2)

tDKCT2

10

60

10

55

ns

(Note 3)

11

NEe

tlPD70216 (V50)
AC Characteristics (cont)
10 MHz limits

8 MHz Limits
Parameter

Symbol

Min

Max

RO! delay time from address float

tOAFRL

0

RO! delay time from CLKOUT!

tOKRL

10

75

10

70

Min

Max

0

Unit

Test Conditions

ns

(Note 4)

10

65

ns

10

60

ns

ROt delay time from CLKOUT!

tOKRH

REFRQt delay from MROt

tORQHRH

tKKL - 30

tKKL - 30

ns

Address delay time from ROt

tORHA

tCYK - 40

tCYK - 40

ns

RO pulse width, low

tRR

2tCYK - 50

2tCYK - 40

ns

tOBECT

tKKL - 20

tKKL - 20

ns

Read cycle

tOWCT

tKKL - 20

tKKL - 20

ns

Write cycle

BUFR/W delay from BUFENt

tDKD

10

60

10

55

ns

Data float delay time from CLKOUT!

tFKO

10

60

10

55

ns

WR pulse width, low

Data output delay time from CLKOUT!

ns

tww

2tCYK - 40

2tCYK - 40

BS! delay time from CLKOUTt

tOKBL

10

60

10

55

BS t delay time from CLKOUT!

tOKBH

10

60

10

55

HLDRQ setup time to CLKOUTt

tSHQK

20

15

(Note 5)

(Note 4)

ns
ns
ns

HLOAK delay time from CLKOUT!

tOKHA

10

70

10

60

ns

DMAAK! delay time from CLKOUTt

tOKHOA

10

60

10

55

ns

DMAAK! delay time from CLKOUT!

tOKLOA

10

90

10

80

ns

Cascade mode

WR pulse width, low (DMA cycle)

tWW1

2tCYK - 40

2tCYK - 40

ns

DMA extended
write cycle

WR pulse width, low (DMA cycle)

tWW2

tCYK - 40

tCYK - 40

ns

DMA normal
write cycle

RD!, WR! delay from DMAAK!

tOOARW

tKKH - 30

tKKH - 30

ns

DMAAKt delay from RDt

tORHOAH

tKKL- 30

tKKL - 30

os

RDt delay from WRt

towHRH

5

5

ns

TC output delay time from CLKOUTt

tOKTCL

60

55

ns

TC off delay time from CLKOUTt

tOKTCF

60

55

ns

TC pulse width, low

tTCTCL

TC pullup delay time from CLKOUTt

tOKTCH

END setup time to CLKOUTt

tSEOK

35

30

ns

END pulse width, low

tEOEOL

100

80

ns

DMARQ setup time to CLKOUTt

tSOQK

35

30

ns

INTPn pulse width, low

tlPlPL

100

80

ns

RxD setup time to SCU internal clock!

tSRX

0.5

J,Js

RxD hold time·after SCU internal clock!

tHRX

SRDY delay time from CLKOUT!

tOKSR

ns

tCYK -15

tCYK -15

tKKH

tKKH

+ tCYK -10

+ tCYK -10

0.5
150

ns

J,Js

100

ns

Notes:

(1) This is specified to guarantee a read/write recovery time for I/O
devices.
(2) Delay from CLKOUT to DMA cycle MWR/IOWR outputs.
(3) Delay from CLKOUT to BUFR/W, BUFEN, INTAK, REFRQ outputs and CPU cycle MWR/IOWR outputs.

12

(4) RD represents lORD and MRD. WR represents 10WR and MWR.
(5) This is specified to guarantee that REFRQ t is delayed from
MRD t at all times.

NEe

pPD70216 (V50)

AC Characteristics (cont)
8 MHz Limits
Parameter

Symbol

TxD delay time from TOUT1!

tOTX

Min

Max

10 MHz Limits
Min

500

Max

Unit

200

ns

TCTL2 setup time from CLKOUT!

tSGK

50

40

ns

TCTL2 setup time to TCLKt

tSGTK

50

40

ns

TCTL2 hold time after CLKOUT!

tHKG

100

80

ns

TCTL2 hold time after TCLKt

tHTKG

50

40

ns

TCTL2 pulse width, high

tGGH

50

40

ns

tGGL

50

40

TCTL2 pulse width, low
TOUT output delay time from CLKOUT!
TOUT output delay time from TOUT!

ns

tOKTO

200

150

ns

100

ns

tOTKTO

150

TOUT output delay time from TCTL2!

tOGTO

120

90

ns

TCLK rise time

tTKR

25

25

ns

TCLK fall time

tTKF

25

ns

TCLK pulse width, high

tTKTKH

TCLK pulse width, low

tTKTKL

50

TCLK cycle time

tCYTK

124

RESET pulse width low

tRESET1

50

50

tRESET2

4 tCYK

4 tCYK

25
50

45
100

1m

ns

45
DC

Test Conditions

ns
DC

ns
pS

After power on
During operation

13

NEe

pPD70218 (V50)
Timing Measurement Points

pPD70216 Clock Input Configurations
Crystal-Controlled Internal Clock

{

Input 2.4 V
[except Clock]

1

'II-_-'-_~ X1

1~~F

II

0.4

T

---v-

2.2 V

2.2 V \ ; - -

v~_0_.8_V_ _ _ _ _ _.;.;0.;;.,8..;...V~

J:::l

15pF

1 - -.......-~X2

q::

Output

V

2.2 V

2.2 V \ ; - -

~~0~.8_V_ _ _ _ _ _. .;.;0.8~V~

External Clock 1

CLK~

83·00181SA

I

External Clock 2
X1

CLK-1

X2

I

Buffers are high-speed
CMOS inverters.
83·004019A

Timing Waveforms
Clock Timing

External
Clock
[X1]

CLKOUT
83-001844B

14

NEe

pPD70216 (V50)

Timing Waveforms (coni)
Reset and Ready Timing
Reset Timing

CLKOUT

___

~,"6)

t",'6~~

-flt' (1

RESOUT

_ __

Ready Timing,No Wait States
T1

T2

T3

T4

T1

T1

T2

T3

TW

T4

CLKOUT

READY

Ready Timing, Wait States

CLKOUT

READY

83-0027258

15

NEe

pPD70216 (V50)
Timing Waveforms (cont)
Poll, NMI, and Buslock Timing

CLKOUT
POLL, NMI Input Timing

_f_t
S'K

POLL, NMI

_

CLKOUT

BUSLOCK Output Timing

83-001831 B

Read/Write Recovery Time
1+----

tAI---~

83-004266B

16

NEe

pPD70216 (V50)

Timing Waveforms (coni)
Read Timing
T4

T1

T2

T4

T3fTW

CLKOUT

A19/PS3·
A1s1 PSo

-----

Processor Status

II

tSOK~1
Data Input

ASTB .......- - - -

[Note 1)

I

tOCKT2

tOKeT2

[Note 1)
~-----------rtRR----------~

tOKBL

Note:
(1) Except internal If 0 accesses.
83-0018458

17

NEe

pPD7021'6{V50)
Timing Waveforms (cont)
Write Timing
T4

T1

T2

T3/TW

T4

CLKOUT

A19/ PS3 .
-A16/PS O

AD15"ADO

Processor Status

-+-----(J

Data Output

AsrB
tOKCT2

[Note 1]

BUFRiW
tOKCT2

tOKCT2

[Note 1]

~----------+-tww--------~

tOKBL

tOKBH

Note:
[1] Except internal 1/0 accesses.
83-0018438

18

NEe

pPD70216 (V50)

Timing Waveforms (cont)
Status Timing
T4

T1

T2

T3/TW

T4

CLKOUT

A19/ PS 3
-A16/ PS o

Processor Status

II
UBE

tsoK~1

tFKA~
AD1S-AD o

Address

Em

Data Input

ASTB

tOKBH

Bus Status

tOKRH

~---------tRR----------~.1
OS1,OSO

_____X'-------IX__--.JX'---_)C
83-0027218

19

NEe

pPD70218 (V50)
Timing Waveforms (cont)
Interrupt Acknowledge Timing

CLKOUT

ItHKD

---.....---f'' ' --~
Vector number
[Note2J

~~_ _~_ _ _ _ _ _ _ _ _ _ _ _ _~~~______J~~_______________________________

ASTB
tOKCT2

1

\ ' - - _ _- - . 1

tOKCT2

BUFR/W ________

~--------------------------~~--------~~------~----------~------------------------

-(-~..
BUSLOCK

_

2

-----...,1

(1-(

Notes:
[1 J If the Interrupt Is accepted following a control transfer, the three TI states
can be replaced .wIth an unused instruction fetch bus cycle.
[2J Slave address when the Interrupt Is' from external pPD70159. Undefined
when internallCU Interrupt.
.'
.
[3J Solid line when Interrupt·from externalpPD70159.Dash Une when internal
ICU Interrupt.
83-0018416

20

NEe

pPD70216 (V50)

Timing Waveforms (coni)
HLDRQ/HLDAK Timing, Normal Operation

TI

CLKOUT~<",---+----+QK~~
HLDRQ

~

~

______________

T1

T4

TI

~

+-____~_____________

______

HLDAK
tOKA

Internal Bus Master

[N;(~e 1]

~

Internal
Bus Master

tFKA

tOKA

Inte-r-n-a-I-B-us--M-a-st-e-r-[N..(~ote 2] .-------------'~-----------------------o(]
(

Internal Bus Master

~--------

NOTES: (1) A19/PS3-A1S/PSo, AD1S-ADo, BUFEN,BUFR/W,MRD,IORD,MWR,IOWR,UBE
(2) BS2-BSO

83-0018288

HLDRQ/HLDAK Timing, Bus Wait

CLKOUT

HLDRQ

HLDAK

Bus
___
_Master
_ _[Note
_ _1]_
_ _ _ External

~(r:t'.~~-------------------J).-----_~(~_I_nt_eM_ran!.atl!B!:..u_S
:

~

_po

_

__

Note:
[1] A19/PS3-A1S/PSo, AD1S-ADO, UBE, BUFEN, BUFR/W, MRD, tORD, MWR, IOWR, B52-B50_
83-0018298

21

NEe

pPD70216 (V50)
Timing Waveforms (cont)
Refresh Timing
T1

T4

T4

T3/TW

T2

CLKOUT

ADS·ADO

------0«1

ASTB

tOAFRL
tORQHRH

tOKRL

tOKeT2

itOKBL

'l

rtOKBH

BS2

= 1, BS1 = 0, BSo

~1

!
83-003517C

22

NEe

pPD70216 (V50)

Timing Waveforms (cont)
DMAU. DMA Transfer Timing
T4

T1

T2

T3/TW

T4

CLKOUT

ASTB

83-0018478

23

NEe

pPD70216 '(V50)
Timing Waveforms (cont)
DMA Timing
EN CITe Timing

T2

T1

T3

T4

CLKOUT

TC

tSEDK

1tEDl~

-------0..----------------------CMA Request Timing

CLKOUT

OMARan
(n=0-3)

Cascade Mode, Normal Operation

Cascade Mode, Refresh Cycle Insertion

CLKOUT

OMARa

OMAAK -----------------~

83-001S26C

24

NEe

pPD70216 (V50)

Timing Waveforms (coni)
SCU Timing

+--t_ _ _

R X D \_ _ _

I~ tSRX

.1.

L

tHRx--.I

\J

TounJ

14----+-16 or 64 Toun pulses---+I
1 + - - - - 1 6 or 64 TOUT1 pulses---+i

TxD

CLKOUT

________
I""d:~-------~

SRDY

83-0018496

ICU Timing

INTPn
(n=1-7)

(I",,,)

25

NEe

pPD70216 (V50)
Timing Waveforms (coni)
TCU Timing, Internal Clock Source

CLKOUT

TCTL2

_ _ _ _f'O.WITOUT2)
TOUTn
[n = 1, 2]

-------------------83-0027228

TCU Timing, TCLK Source

trKR

tTKF

TCL.K

TCTL2

____~_;~~_)_:x=t-~:x=~'M'ro

TOUTn [n = 1, 2]

83-0018238

26

NEe

pPD70216 (V50)

Functional Description

Central Processing Unit

Refer to the JlPD70216 block diagram for an overview
of the ten major functional blocks listed below.

The JlPD70216 CPU functions similarly to the CPU of
the JlPD70116 CMOS microprocessor. However, because the pPD70216 has internal peripheral devices,
its bus architecture has been modified to permit
sharing the bus with internal peripherals. ThepPD70216
CPU is object code compatible with both thepPD70108/
JlPD70116 and theJlPD8086/JlPD8088 microprocessors.

•
•
•
•
•
•
•
•
•
•

Central processing unit (CPU)
Clock generator (CG)
Bus interface unit (BIU)
Bus arbitration unit (BAU)
Refresh control unit (RCU)
Wait control unit (WCU)
Timer/counter unit (TCU)
Serial control unit (SCU)
Interrupt control unit (ICU)
DMA control unit (DMAU)

Figure 1.

Figure 1 is the pPD70216 CPU block diagram. A listing
of the JlPD70216 instruction set is in the final sections
of th is data sheet.

JlPD70216 CPU Block Diagram
Internal address/data bus (20)
To BIU

•

NMI
INT
(from ICU)

TEMP
Qo

Q1

Q2

Q3

Q4

Qs

CLOCK
(from CG)

•

BCU

----

EXU

LC
PC

Effective Address
Generator

AW
BW
CW

•

OW
IX

•

IV
BP
SP

•

•
•
Subdata bus(16)

Main data bus(16)
83-0018396
')7

NEe

pPD70216 (V50)
Register Configuration
Program Counter [PC]. The program counter is a 16bit binary counter that contains the program segment
offset of the next instruction to be executed. The PC is
incremented each time the microprogram fetches an
instruction from the instruction queue. The contents of
the PC are replaced whenever a branch, call, return, or
break instruction is executed and during interrupt
processing. At this time, the contents of the PC are the
same as the prefetch pointer (PFP).
Prefetch Pointer [PFP]. The prefetch pointer is a
16-bit binary counter that contains the program segment offset of the next instruction to be fetched for the
instruction queue. Because instruction queue prefetch
is independent of instruction execution, the contents
of the PFP and PC are not always identical. The PFP is
updated each time the bus interface unit (BIU) fetches
an instruction for the instruction queue. The contents
of the PFP are replaced whenever a branch, call, return
or break instruction is executed and during interrupt
processing. At this time, the contents of the PFP and
PC are the same.
Segment Registers [PS, SS, OSo, OS1]. ThepPD70216
memory address space is divided into 64K-byte logical
segments. A memory address is determined by the sum
of a 20-bit base address (obtained from a segment
reg ister) and a 16-bit offset known as the effective
address (EA). I/O address space is not segmented and
no segment reg ister is used. The four segment reg isters
are program segment (PS), stack segment (SS), data
segment 0 (DSo), and data segment 1 (DS1)' The
following table lists their offsets and overrides.
Default
Segment Register

Offset

AW

Word multiplication/division, word I/O,
data conversion

Al

Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation

AH

Byte multiplication/division

BW

Translation

CW

loop control, repeat prefix

Cl

Shift/rotate bit counts, BCD operations

DW

Word multiplication/division, indirect
I/O addressing

Pointer [SP, BP] and Index Registers [IX, IV]. These
registers serve as base pointers or index registers
when accessing memory using one of the base,
indexed, or base indexed addressing modes. Pointer
and index registers can also be used as operands for
word data transfer, arithmetic, and logical instructions.
These registers are impliCitly selected by certain
instructions as follows.

Override

SP

Stack operations, interrupts

IX

Source block transfer, BCD string
operations, bit field extraction

IY

Destination block transfer, BCD string
operations, bit field insertion

PS

PFP register

None

Program Status Word [PSW]

SS

SP register

None

SS

Effective address (BP-based)

PS, OSo, OS1

The program status word consists of six status flags
and four control flags.

DSo

Effective address (non BP-based)

PS, SS, OS1

Status Flags

DSo

IX register (1)

PS, SS, OS1

DS1

IY register (2)

None

Note:
(1) Includes source block transfer, output, BCD string, and bit field
extraction.
(2) Includes destination block transfer, input, BCD string, and bit
field insertion.

28

General-Purpose Registers. The pPD70216 CPU contains four 16-bit general-purpose registers (AW, BW,
CW, DW), each of which can be used as a pair of 8-bit
registers by dividing into upper and lower bytes (AH,
Al, BH, Bl, CH, Cl, DH, Dl). General, purpose
registers may also be specified implicitly in an instruction. The implicit assignments are:

•
•
•
•
•
•

V (Overflow)
S (Sign)
Z (Zero)
AC (Auxiliary Carry)
P (Parity)
CY (Carry)

Control Flags
•
•
•
•

MD (Mode)
DIR (Direction)
IE (Interrupt Enable)
BRK (Break)

NEe

pPD70216 (V50)

When pushed onto the stack, the word image of the
PSW is as follows:

15

Dual Data Buses

8

v

MD

DIR

IE I BRK

I

o

7

S

Figure 2.

z

o

AC

o

P

CY

The status flags are set and cleared automatically
depending upon the result of the previous instruction
execution. Instructions are provided to set, clear, and
complement certain status and control flags. Other
flags can be manipulated by using the POP PSW
instruction.
Between execution of the BRKEM and RETEM instructions, the native mode RETI and POP PSW
instructions can modify the MD bit. Care must be
exercised by emulation mode programs to prevent
inadvertent alteration of this bit.

CPU Architectural Features
The major arch itectu ral featu res of the pPD70216 CPU
are:
•
•
•
•

Main data bus

Sub data bus

83-0038288

Figure 3.

Effective Address Generator

Dual data buses
Effective address generator
Loop counter
PC and PFP

Dual Data Buses. To increase performance, dual data
buses (figure 2) have been employed in the CPU to
fetch operands in parallel and avoid the bottleneck of a
single bus. For two-operand instructions and effective
address calculations, the dual data bus approach is 30
percent faster than single-bus systems.
Effective Address Generator. Effective address (EA)
calculation requires only two clocks regardless of the
addressing mode complexity due to the hardware
effective address generator (figure 3). When compared
with microprogrammed methods, the hardware approach saves between 3 and 10 clock cycles during
effective address calculation.

Effective Address
83-002737A

Program Counter and Prefetch Pointer. The functions
of instruction execution and queue prefetch are decoupled in thepPD70216. By avoiding a single instruction pointer and providing separate PC and PFP
registers, the execution time of control transfers and
the interrupt response latency can be minimized.
Several clocks are saved by avoiding the need to
readjust an instruction pointer to account for prefetct;Jing before computing the new destination address.

Loop Counter and Shifters. A dedicated loop counter is
used to count the iterations of block transfer and
multiple shift instructions. This logic offers a significant
performance advantage over arch itectu res that control
block transfers and multiple shifts using microprogramming. Dedicated shift registers also speed up the
execution of the multiply and divide instructions.
Compared with microprogrammed methods, multiply
and divide instructions execute approximately four
times faster.
29

t\fEC

pPD70216 (V50)
Enhanced Instruction Set
In addition to the pPDSOS6/SS instruction set, the
pPD70216 has added the following enhanced instructions.
Instruction

Function

PUSH imm
PUSH R
POP R

Push immediate data onto stack
Push all general registers onto stack
Pop all general registers from stack

MUL imm

Multiply register/memory by immediate data

SHL immB
SHR immB
SHRA immB
ROL immB
ROR immB
ROLC immB
RORC immB

Shift/rotate by immediate count

CHKIND
INM
OUTM

Check array index
Input multiple
Output multiple

PREPARE
DISPOSE

Prepare new stack frame
Dispose current stack frame

Unique Instruction Set
In addition to the pPD70216 enhanced instruction set,
the following unique instructions are supported.
Instruction

Function

INS
EXT

Insert bit field
Extract bit field

ADD4S
SUB4S
CMP4S
ROL4
ROR4

BCD string addition
BCD string subtraction
BCD string comparison
Rotate BCD digit left
Rotate BCD digit right

TEST1
SET1
CLR1
NOT1

Test bit
Set bit
Clear bit
Complement bit

REPC
REPNC

Repeat while carry set
Repeat while carry cleared

FP02

Floating point operation 2

Bit Fields. Bit fields are data structures that range in
length from 1 to 16 bits. Two separate operations on bit
fields, insertion and extraction, with no restrictions on
the position of the bit field in memory are supported.
Separate segment, byte offset, and bit offset registers
are used for bit field insertion and extraction. Because
of their power and flexibility, these instructions are
highly effective for graphics, high-level languages, and
data packing/unpacking applications.

30

Insert bit field (INS) copies the bit field of specified
length (0 = 1 bit, 15 = 16 bits) from the AW register to
the bit field addressed by DS1 :IY:regS (figure 4). The
bit field length can be located in any byte register or
supplied as an immediate value. The value in regS is a
bit field offset. A content of 0 selects bit 0 and 15 selects
bit 15 of the word that DSO:IX points to. Following
execution, the IY and bit offset register are updated to
point to the start of the next bit field.
Bit field extraction (EXT) copies the bit field of specified
length (0 = 1 bit, 15 = 16 bits) from the bit field
addressed by DSO:IX:regS to the AW register (figure 5).
If the bit field is less than 16 bits, it is right justified with
a zero fi II. The bit field length can be located in any byte
register or supplied as immediate data. The value in
regS is a bit field offset. A content of 0 selects bit 0 and
15 selects bit 15 of the word that DSO:IX points to.
Following execution, the IX and bit offset register are
updated to point to the start of the next bit field.
Packed BCD Strings. These instructions are provided
to efficiently manipulate packed BCD data as strings
(length from 1 to 254 digits) or as a byte data type with a
single instruction.

BCD string arithmetic is supported by the ADD4S,
SUB4S, and CMP4S instructions. These instructions
allow the source string (addressed by DSO:IX) and the
destination string (addressed by DS1 :IY) to be manipulated with a single instruction. When the number of
BCD digits is even, the Z and CY flags are set according
to the result of the operation. If the number of digits is
odd, the Z flag will not be correctly set unless the upper
4 bits of the result are zero. The CY flag will not be
correctly set unless there is a carry out of the upper 4
bits of the result.
The two BCD rotate instructions (ROR4, ROL4) perform
rotation of a single BCD digit in the lower half of the AL
register through the register or memory operand.
Bit Manipulation. Four bit manipulation instructions
have been added to the pPD70216 instruction set. The
ability to test, set, clear, or complement a single bit in a
register or memory operand increases code readability
as well as performance over the logical operations
traditionally used to manipulate bit data.
Repeat Prefixes. Two repeat prefixes (REPC, REPNC)
allow conditional block transfer instructions to use the
state of the CY flag as a terminating condition. The use
of these prefixes allows inequalities to be used when
working on ordered data, increasing the performance
of searching and sorting algorithms.

NEe
Figure 4.

pPD70216 (V50)

Bit Field Insertion
Bit length

o

15

!

AW

I

~~----+-!t _----"v---- 1: 17 + 8(imm8 -1)

o

DISPOSE

6/10

0

Control Transfer Instructions
CALL

near _proc

0 0 0

regptr

1

1

1

1 1 0 1 0

memptr16

1

1

1

mod

0 0

0

0

far-proc
memptr32

RET

0

16/20

3

reg

14/18

1

mem

23/31

2-4

----------------------------------------------------------------------------

1 1 1 1

o
o
o
o

mod

0

0

1 0

mem

21/29

5

31/47

2-4

0 0 0

1

15/19

1

0 0 0

0

20/24

3

0

0

0

o

21/29

o

24/32

69

~

NEe

pPD70216 (V50)
Instruction Set (cont)
Mnemonic

Operands

Opcode
7 6 5 4 3 2 1 0

0

5 4 3 2

Clocks

Bytes
3

Flags
AC CY V P

S Z

Control Transfer Instructions (cont)
BR

near_label

0

0 0

13

0

0

12

memptr16

1

1

far_label

0

0

1

shorLiabel
reg

1 1

0 0

reg

11

mod

0 0

mem

19/23

2-4

15

5

26/34

2-4

0

memptr32

1 1 1

BV

near_label

0 0 0 0

14/4

BNV

near_label

0 0 0 1

BC, Bl

neaLiabel

BNC,BNl

near.Jabel

0

BE, BZ

near_label

0

BNE, BNZ

near_label

BNH

near_label

BH

near_label

0

0 1

14/4

2

BN

near_label

0

0

14/4

2

14/4

2

mod

0

mem

14/4

2

0

0

14/4

2

0 0

1

14/4

0

0 0

14/4

0

0 1

14/4

2

0

14/4

2

BP

near_label

0 0

BPE

near_label

0

0

14/4

BPO

near_label

1 1

14/4

2

BlT

near_label

0 0

14/4

2

BGE

near_label

0 1

14/4

2

BlE

near-label

0

14/4

2

BGT

near_label

1

14/4

2

DBNZNE

near_label

0 0 0

14/5

0

1

0

DBNZE

near_label

0 0 0 0 1

14/5

2

DBNZ

near_label

0 0 0

13/5

2

BCWZ

near_label

0

13/5

2

0

0

Interrupt Instructions
BRK

imm8
BRKV

imm8

RETI

0

38/50

1

0

0 1

38/50

2

0

0

0 0

3

1

0 0 1 1
0 0 0

CHKIND

reg16; mem32

0

BRKEM

imm8

0 0 0 0

40/3
27/39
mod

reg

mem

1 1 1 1 1 1 1 1

R R R R R R

17-251
52-55

2-4

38/50

3

CPU Control Instructions
HALT

0 1 0 0

BUSlOCK
FP01
FP02

70

fp_op

1

0 0 0

0

X X X

2
2
1 1 Y Y Y Z Z Z

2

mod Y Y Y

10/14

2
2-4

fp_op, mem

1

fp_op

0

0 0

X

1 1 Y Y Y Z Z Z

2

2

fp_op, mem

0

0

X

mod Y Y Y

10/14

2-4

0 1 1 X X X

mem
mem

NEe

pPD70216 (V50)

Instruction Set (cont)
Opcode
Mnemonic

Operand

2

5 4

0

7 654321 0

Clocks

Bytes

Flags
AC CV V P

R R R R R R

S Z

CPU Control Instructions (cont)
POLL

0

2 + 5n

0
n = number of times POLL pin is sampled.

NOP

0 0

0

3

01

1

1 1

0

0

2

EI

1

1

0

1

2

OSO:, OS1:, PS:, SS:
(segment override prefixes)

0

0

2

0 0

seg

8080 Instruction Set Enhancements
RETEM

CALLN

1
imm8

1 0

1

0

27/39

2

0

0

0

38/58

3

1m

71

pPD70216 (V50)

72

NEe

NEe

pPD70136 (V33)
16·Bit Microprocessor:
High·Speed, CMOS

NEC Electronics Inc.

Description
The I-'PD70136 (V33™) is a 16-bit, high-speed CMOS
microprocessor that is object and source code compatible with the I-'PD70116 (V30~). Performance is four times
that of the 10-MHz V30 due to a number of architectural
features, such as hard-wired data path control and
dedicated high-speed logic. The address space is expanded to 16M bytes using an internal address translation table.
The powerful instruction set includes bit processing,
bit-field insertion and extraction, and BCD string arithmetic. Using a modified Booth's algorithm, the 16-MHz
device can execute a 16-bit multiply in 750 ns.
The I-'PD70136 has separate 16-bit data and 24-bit address buses. Bus control is synchronous. The nominal
bus cycle is two clock periods. Dynamic bus sizing is
supported for devices that require an 8-bit data path.
This allows the I-'PD70136 to be used in either 16- or 8-bit
systems.
An undefined instruction trap allows instructions that
are not part of the V-Series instruction set (such as
commands for proprietary MMUs) to be emulated. The
I-'PD72291, a high-speed CMOS floating-point coproces~
sor capable of 530K floating-point operations per second at 16 MHz, is offered.

Features
o 125-ns minimum instruction execution time at
16 MHz
o Expanded add ress space
- 24-bit addressing to 16M bytes
- LIM 4.0 compatible
o No microcode; better performance with hard-wired
data path control
o Dynamic bus sizing for both memory and I/O
o Fully I-'PD70116 software compatible
o Undefined instruction trap

V30 is a registered trademark of NEC Corporation
V20, V33, V40, and V50 are trademarks of NEC Corporation

50049

o High-speed multiplication: 16-bit multiply in
12 clocks (0.75 I-'s at 16 MHz)
o High-speed division: 16-bit divide in 19 clocks
(1.19 I-'S at 16 MHz)
o I-'PD72291 floating-point coprocessor executes 530K
floating-point operations per second
o BCD string arithmetic instructions
o CMOS with low-power standby mode
o 12.5-MHz or 16-MHz clock
o Single power supply

Ordering Information
Part Number

Clock (MHz)

p.PD70136R-12

12.5

R-16

16

L-12

12.5

L-16

16

GJ-12

12.5

GJ-16

16

Package
68-pin ceramic PGA

68-pin PLCC

74-pin plastic QFP

NEe

pPD70136 (V33)
Pin Configurations
BB-Pin Ceramic PGA
Bottom View

000000000
00000000000
00
00
00
00
00
00
ILPD70136R
00
00
00
00
00
00
00
00
00000000000
o 0 0 0 0 0 0 0 0 L10
A2

4

10
11

ABC

D

G

Pin

Symbol

Pin

Symbol

Pin

Symbol

Pin

Symbol

A2

AEX

B9

CLK

F10

Voo

K4

A12

A3

HLOAK

B10

014

F11

GNO

KS

A14

A4

READY

B11

012

G1

AO

KS

GNO

AS

CPREQ

C1

UBE

G2

A1

K7

A1S

AS

VOO

C2

Bussn

G10

Os

KS

01S

A7

CPBUSY

C10

011

G11

04

K9

A20

AS

INT

C11

010

H1

A2

K10

A23

A9

01S

01

BUSSTO

H2

A3

K11

A22

A10

013

02

RNI

H10

03

L2

A7

B1

BUSLOCK

010

09

H11

02

L3

A9

B2

BCYST

011

Os

J1

A4

L4

A11

B3

BSSIBS1S

E1

MilO

J2

AS

LS

A13

B4

HLORQ

E2

OSTB

J10

01

LS

VOO

BS

RESET

E10

07

J11

DO

L7

A1S

BS

GNO

E11

Os

K1

AS

LS

A17

B7

CPERR

F1

GNO

K2

AS

L9

A19

BS

NMI

F2

VOO

K3

A10

L10

A21

H
49NR-339B

BB-PinPLCC

AEX
8S8/8S16

41
40
39

HlDAK
HlDRQ
READY
RESET
CPREQ
GND
VDD
CPERR
CP8USY
NMI
INT
ClK
D15
D14
D13

49NR-340B

2

NEe

pPD70136 (V33)

74-Pin Plastic QFP

A21
A20
A19

015

3

A18

CLK

A17

INT

A16
A15

CPBUSY

7

NC
GNO
VDO

I-lPD70136GJ

GND

A14

CPREQ

A13

NC

A12

NC

RESET
READY
HLDRQ
HLDAK
BSSIBS16
AEX

A11
41

A10
A9
As
A7

49NR-346B

Pin Identification
Symbol

1/0

Ao-A23

3-state

0 0-015

3-state

USE

3-state

Function

Symbol

1/0

HLDAK

Out

Bus hold acknowledge

Data bus

INT

In

Maskable interrupt

Upper byte enable

NM1

In

Nonmaskable interrupt

Function
_Address bus

R!W

3-state

Read/write

CPBUSY

In

Coprocessor busy

M/iO

3-state

Memory I/O

CPERR

in

Coprocessor error

BUSSTO,
BUSST1

3-state

Bus status

BCYST

3-state

Bus cycle start strobe

lrn'i'B

3-state

Data strobe

BUSLOCK

Out

Bus lock

READY

In

Ready

BS'8/BS16

In

Dynamic bus sizing control

AEX

Out

Address expansion flag

HLDRQ

In

Bus hold request

CPREQ

In

Coprocessor request

RESET

In

Reset

CLK

In

Clock

Voo

+5-volt power supply

GND

Ground

IC

Internal connection; connect to
ground

NC

No connection

3

NEe

,.,PD70136 (V33)
Table 1. Output Pin States
State.
Symbol

Hold

Standby

Re.et

Ao-A23 (Note 1)
015-00 (Note 1)
O'BE (Note 1)
R/W (Note 1)
M/K) (Note 1)
BUSSTO, BUSST1 (Note 1)
BOYSi (Note 1)
I5'SiB (Note 1)
eOSLOOR
AEX
HLDAK

HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
(Note 4)
(Note 5)
H

L
(Note 2)
H
L
L
H
(Note 3)
H
(Note 4)
(Note 5)
L

HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
HI-z
H
L
L

Note.:

(1) Latched Internally.
(2) Undefined during first two clock periods of the halt acknowledge
cycle; three-state thereafter.
(3) Low during first clock period of the halt acknowledge cycle; high
thereafter.
(4) Low If =BU"""S=L-=O-=C":":K prefix Is used for halt Instruction; high otherwise.
(5) Low If In extended addressing mode; high otherwise.

PIN FUNCTIONS

elK (Clock)

sizing can be selected so that only the lower 8 bits,
00-07, are used. During CPU read cycles, the value on
the data bus is latched by the CPU on the trailing edge of
T2 orthe last TW state. During CPU write cycles. 00-015
become valid after the rising edge of T1 and remain valid
until after the rising edge of the clock cycle following T2
or the last TW state. During HLOAK and when RESET is
asserted. 00-015 are not driven.

UBE (Upper Byte Enable)
USE indicates thatthe upper 8 bits of the data bus will be
used in the current CPU bus cycle. This signal is used in
conjunction with Ao as shown in table 2.

Table 2. Bus Operation l'S USE and Ao

USE

Ao

Word at odd address

0
1
0

Byte at even address
Byte at odd address

o (Note 1)
1 (Note 3)
1 (Note 1)
o (Note 2)
0

0

Bu. Operation

Word at even address,
~8/BS16 = 0

Number of
Bu. Cycle.

2
2

Note.:

(1) First bus cycle
(2) Second bus cycle
(3) Second cycle for bus sizing

CLK is the main clock. All timing is relative to this input.
Each bus state is one CLK period wide. Instruction clock
counts refer to this CLK input.

USE has the same timing as Ao-A23 and is not driven
during HLOAK or while RESET is asserted.

Ao-A23 (Address Bus)

RiW indicates whether the current bus cycle will be a
read or a write. If RiW is high. then the cycle will be a
read; if low, a write cycle. RiW has the same timing as
Ao-A23 and is not driven during HLOAK or while RESET is
asserted.

Ao-A23 form the 24-bit physical address bus. It is used to
access both the 16M-byte expanded and 1M-byte normal memory spaces and the 64K-byte 1/0 space. These
three-state outputs become valid during T1 of all bus
cycles and remain valid until after the bus cycle is
completed. During HLOAK and when RESET is active.
these outputs are not driven.

Do-D15 (Data Bus)
00-015 form the 16-bit data bus. which is used to transfer
16- and 8-bit data between the "P070136 and the external system. To accommodate 8-bit devices. dynamic bus

4

R/W (Read/Write)

M/iO (Memory/IO)
MIlO indicates whether the current bus cycle will be. an
access to the memory or 1/0 space. If MIlO is high,
access will be to memory; if low. to the I/O space. MIlO is
used with SUSSTO and SUSST1 to identify the cycle type.
MIlO has the same timing as Ao-A23 and is not driven
during HLOAK or while RESET is asserted.

NEe

pPD70136 (V33)

BUSSTO-BUSST1 (Bus Cycle Status)

BUSLOCK (Bus Lock)

BU.SSTO and BUSST1, in conjunction with M/IO and R~
identify the current cycle type as shown in table 3.

BUS LOCK should be used by external logic to exclude
any other bus master (e.g., a DMAcontroller) from using
a shared resource that the I'PD70136 currently is using.
When BUSLOCK is asserted high, HLDRQ will beignored.

Table 3. Bus Cycle Types
Status

M/iQ

RNi

0

0

BUSST1

BUSSTO

0

0

0

0

1

0

0

0

0

I/O write

0
0

Coprocessor read

0

Coprocessor write

0

Instruction fetch

HALT acknowledge

1

0
1

0

0

0

0

Interrupt acknowledge

I/O read

0

0

Type of Bus Cycle

Memory. read
Memory write

0

CP data read

0

CP data write

Note: All bus status signals change after the start of the T1 state.

The 11 cycle types are described in detail in the bu.s
cycles section. The remaining five combinations of these
inputs are reserved for future use.
BUSSTO-BUSST1 have the same timing as the address
bus, Ao-A23' and are not driven during HLDAK or while
RESET is asserted.

BUS LOCK is asserted when the BUSLOCK prefix is
executed or when the I'PD70136 is performing a bus
operation that must not be interfered with, such as an
interrupt acknowledge cycle. BUS LOCK has the same
timing as the address bus AO-A23· and is driven high
during HLDAK and RESET.

READY (System Ready)
READY is asserted low when the external system is
ready for the current bus cycle to terminate. While
READY is not asserted, the I'PD70136 will·add TW (wait)
states to the current bus cycle. The bus state in which
READY is sampled low wi II be the last state of the cycle.
READY is used during CPU read cycles to give slow
devices time to drive the Do-D7 inputs, and during write
cycles to give slow devices enough time to finish the
write operation.
READY is sampled on the rising (middle) edge Of T2 and
all TW states. READY is ignored during the HLDAK state.
This input is not internally synchronized. To ensure
proper device operation, minimum setup and hold times
must be met.

BCYST (Bus Cycle Start).
BCYST indicates the start of a bus cycle. It is asserted
low during T10t every bus cycle, and only for the first
clock period of each bus cycle. BCYST is not driven
during HLDAK or while RESET is asserted.

DSTB (Data Strobe)
DSTB indicates the status of the data on Do-D15. When
asserted low during a write cycle, the I'PD70136 drives
the write data on Do-D15. When the CPU asserts this
output during a read cycle, external logic should drive
the read data onto Do-D15'
DSTB is asserted following the rising edge (middle) of
T1, and stays asserted through T2 and any TW (wait)
state that may be inserted. During write cycles, DSTB
will be deasserted after the rising edge of either T2 or the
last wait state. During read cycles, DSTB is deasserted
after the trailing edge of T2 or the last wait state. DSTB
is not driven during HLDAK, HALT acknowledge cycles,
or while RESET is asserted.

BS8/BS16 (8-Bit Bus Size/16-Bit Bus Size)
BS8/BS16 is driven low by external logic when the
I'PD70136 addresses a device with an 8-bit data path. If
the I'PD70136 operand is 16 bits wide and BS8/BS16 is
low, then thel'PD70136 will perform two 8-bit bus
cycles. The current bus cyCle will handle the low byte on
Do-D7, and the next bus cycle wi II handle the upper byte
also on Do-D7' This input is ignored during HLDAK,
interrupt acknowledge, and coprocessor cycles.
BS8/BS16 is sampled on the rising (middle) edge of T2 or
the last TW state, coincident with READY. This input is
not internally synchronized. To ensure proper device
operation, minimum setup and hold times must be met.

AEX (Address Expansion)
AEX is asserted when the expanded addressing mode is
enabled. When AEX is high, the memory address space
is 16M bytes (24-bit address), and when low, 1M bytes
(20-bit address).

5

NEe

IIPD70136 (V33)
H LORQ (Hold Request)
HLDRQ is asserted high by external logic when an
external bus master (e.g., a DMA controller) wants to
take over the #,PD70136 bus. When HLDRQ is detected
high, the #,PD70136 will release the bus after the current
bus operation is completed. Note that this is not necessarily the current bus cycle. The #,PD70136 releases its
bus by floating the address, data, and control buses. See
table 1.
.
HLDRQ is sampled on the rising edge of each clock. It
will be ignored while BUSLOCK is asserted. This input is
not internally synchronized. To ensure proper device
operation, minimum setup and hold times must be met.

HLOAK (Hold Acknowledge)

NMI is sampled on the rising edge of. each clock. This
input is not internally synchronized. To ensure proper
device operation, minimum setup and hold times must
be met.
Once NMI is samped low, an internal flag is set, so that a
one-clock pulse meeting setup and hold times will be
recognized. The flag is cleared when the NMI is accepted
and can be set again immediately.

CPBUSY (Coprocessor Busy)
CPBUSY is asserted low by a coprocessor (such as
#,PD72291) when it is busy with an internal operation.
The #,PD70136 uses this pin to check the status of the
coprocessor.

HLDAK is asserted when the #,PD70136 enters the hold
acknowledge state in response to HLDRQ. Data, address, and control buses are not driven. See table 1.

CPBUSY is sampled on the falling edge of each clock.
This- input is not internally synchronized. To ensure
proper device operation, minimum setup and hold times
must be met.

INT (Interrupt Request)

CPERR (Coprocessor Error)

INT is asserted high by external logic to notify the CPU
that an external event has occurred that requires the
CPU's attention. After INT has been sampled high, and if
the IE (enable interrupts) bit in the PSW is high, interrupt
processing will begin after the current instruction is
completed.
'

CPERR is asserted low by a coprocessor to notify the
#,PD70136 of an error.

INT is sampled on the rising edge of each clock. After
being asserted high, INT must be kept high until the first
INTAK cycle begins. This input is not internally synchronized. To ensure proper device operation, minimum
setup and hold times must be met.

NMI (Nonmaskable Interrupt Request)
NMI is asserted by external logic to notify the CPU that
an external event has occurred which requires the CPU's
immediate attention. When NMI is sampled low, ,interrupt
processing will begin immediately after the current instruction is completed: A trap will be taken through
vector 2. The state of the IE bit in the PSW has no effect
on NM I acceptance.

6

CPERR is sampled on the falling edge of each clock. This
input is not internally synchronized. To ensure proper
device operation, minimum setup and hold times must
be met.

CPREQ (Coprocessor Request)
CPREQ is asserted high by a coprocessor to request the
#,PD70136 to run a memory operation for the coprocessor.
CPREQ is sampled on the falling edge of each clock. This
input is not internally synchronized. To ensure proper
device operation, minimum setup and hold times must
be met.

NEe

"PD70136 (V33)

RESET (Reset)
RESET is asserted high when external logic needs to
initialize the #,PD70136; for instance, after power-up.
When RESET is asserted for at least 6 clock periods, the
#,PD70136 wi II abort any current bus cycles and initialize
the registers as shown in table 4.

Table 4. Regi.ter Initl.,iZlltion by Reset
Regl8ter

OffaetValue

PFP

OOOOH

PC

OOOOH

PS

FFFFH

SS

OOOOH

eso

OOOOH

eS1

OOOOH
1514 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSW

11 11 11 11 10 10 10 10 10 10 10 10 10 10 11 10

Prefetch Queue

I

Cleared

Address Mode

Normal Address Mode

Other
Registers

Undefined Qf power has just been turned on)
Unchanged Qf power on, but RESET Is asserted)

Refer to table 1 for the state of the #,PD70136 outputs
during reset. When RESET is de asserted low, the
#,PD70136 will begin fetching from address OFFFFOH.
This input is not internally synchronized. To ensure
proper device operation, minimum setup and hold times
must be met.

7

NEe

pPDl0136. (V33)
"PD70136 Block Diagram

20

Address
Expansion
Control

24

AO-A23

DO-D15
LC

PC
AW

CLK. RESET. HLDRQ.
READY. BSSIBS1"6
HLDAK. BUSLOCK.
UBE.

Registerl

ALU

Control

RiW. M/iO.

BUSST1. BUSSTO.
Main Decoder

AEX. BCYST. DSTB
CPBUSY
CPERR

Execution
Control

Sub
Data Bus

Interrupt
Control

INT
NMI

Main
Data Bus
49NR-333B

8

NEe

pPD70136 (V33)

ELECTRICAL SPECIFICATIONS

Typ;CIII Supply Current VB Clock Frequency

Absolute Maximum Ratings
=- +25°C

200

TA

-0.5 to +7.0 V

Power supply voltage. Voo

150

Input voltage. VI

-0.5 V to Voo + 0.3 V

ClK Input voltage. VK

-0.5 Vto Voo + 1.0 V

Output voltage. Vo

-0.5 V to Voo + 0.3 V

---

[100)

Operating ' "

-~

Operating temperature. TOPT
Storage temperature. TSTG

50

~
[5)

Exposure to Absolute Maximum Ratings for extended periods may
affect device reliability; exceeding the ratings could cause permanent
damage.

~

~

~

I

Sta~dbY",

r-

4

8
10
Frequency [MHz]

6

16m

[25)

12

14

Capacitance

49NR-326A

TA- +25°C. Voo = 0 V
Parameter

Symbol

Max

Unit

Conditions

Input capacitance

CI

15

pF

fc = 1 MHz;

1/0 capacitance

CIO

15

pF

unmeasured pins
returned to 0 V.

DC Characteristics
TA .. -10 to +70°C. Voo =- +5 V :10%
Parameter

Symbol

Input voltage high

Min

Typ

2.2

Input voltage low

Max

Unit

Voo + 0.3

V

-0.5

0.8

V

ClK Input voltage high

0.8 Voo

Voo + 0.5

V

ClK Input voltage low

-0.5

0.6

Output voltage high

V
V

0.7Voo

Conditions

IOH-400 rnA

= 2.5 rnA

Output voltage low

0.45

V

Input leakage current high

-10

p.A

VI = Voo

Input leakage current low

10

p.A

VI =OV

Output leakage current high

10

p.A

Vo - Voo

Output leakage current low

-10

p.A

Vo

150

rnA

Normal operation
Standby mode

Supply current

100

= OV

16 MHz

100
25

35

rnA

12.5 MHz

75

110

rnA

Normal operation

20

30

rnA

Standby mode

200

p.A

Stop mode

(see graph)

*Stop mode current is not a function of CPU
clock frequency

10L

*

9

NEe

IIPD70136 .(V33)
AC Characteristics
TA

= -10 to

= 5 V ±10%; CL = 100 pF

+70·C; VOO

12.5-MHz Limits
Parameter

Symbol

Clock period

18 MHz-Limits

Min

Max

Min

Max

tcYK

80

500

62.5

500

Clock high-level width

tKKH

35

Clock low-level width

If INT > BRK flag> others at same level
Interrupts are not accepted during certain times. NMI,
INT and BRK flags are not accepted in these cases:
(1) Between execution of MOV or POP that uses a
segment register as an operand and the next instruction.
(2) Between a segment override prefix and the next
instruction
(3) Between a repeat or BUS LOCK prefix and the next
instruction

28

INT is not accepted when the PSW IE flag isO, or
between an RETI or POP PSW and the next instruction.
Figure 12 is a flow.diagram for processing interrupt
requests.·
.

Interrupt Vectors
Once an interrupt has been accepted, an interrupt service routine will be entered. The address of this routine is
specified by an interrupt vector, which is stored in the
interrupt vector table. For most interrupts, the vector
used depends on what interrupt is being processed (e.g.,
NMI always uses vector 2). For INT and BRK imm8
Interrupts, any vector may be used; the vector number is
supplied by an external device in the case of INT (e.g., a
p.PD71059), or by immediate data in the case of BRK.
Figure 13 is the interrupt vector table. The table uses 1K
bytes of memory-addresses OOOH to 3FFH-and stores
up to 256 vectors (4 bytes per vector).

NEe

IIPD70136 (V33)

Figure 12. Interrupt Prioritization Flow Diagram
Complete
current
instruction

*

If current instruction causes internal interrupt, SOFT flag
At the end of current instruction:
• If BRK flag in PSW = 1, BRK =1
• If INT from ICU is sampled, INT = 1
• If NMI input is sampled, NMI = 1

=1

Execute
next instruction
83YL·6327B

29

NEe

,.,PD70136 (V33)

Each interrupt vector consists of 4 bytes. The 2 bytes in
the low addresses of memory are loaded into PC as the
offset, and the 2 high bytes are loaded into PS as the
base address. Interrupt vector 0 in figure 14 is an example. The bytes are combined in reverse order. The lowerorder bytes in the vector become the most significant
bytes in the PC and PS, and the higher-order bytes
become the least significant.

Figure 14. Interrupt ",ctor 0

Based on this format, the contents of each vector should
be initialized at the beginning of the program. The basic
mechanism for servicing an interrupt is:

During interrupt servicing, the third item pushed on the
stack is the return PC value. For some types of traps
(divide error, CHKIND, illegal opcode, AFPP error, coprocesor not present, or other CP error), this value pOints
to the instruction that generated the trap. For the other
interrupts (single-step, BRK3, BRKV, NMI, or INT), this
value points to the next instruction. Trap handlers for
error traps can thus easily find the offending opcode,
and other handlers can simply return after processing
the interrupt.

(SP (SP (SP SP IE PS PC -

1, SP - 2) - PSW
3, SP - 4) - PS
5, SP - 6) - PC
SP-6
0, BRK-O
vector high bytes
vector low bytes

004H
008H
OOCH
010H
014H
018H

Vector 0

Divide Error

Vector 1

Break Flag

Vector 2

NMllnput

Vector 3

BRK 3 Instruction

Vector 4

BRKV Instruction

VectorS

CHKIND Instruction

::~

07CH

l::

j

1E8
H

... }

1_ _ _V_ec_t_or_1_22_~

204H
208H

...

'f

~

"-

""

200H

Vector 128

In the HALT standby mode, the internal clock is supplied
only to those circuits related to functions required to exit
this mode and bus hold control functions. As a result,
power consumption is reduced to one-fifth the level of
normal operation.

General Use
• BRK Imm8 Instruction

The HALT standby mode is exited when RESET or an
external interrupt (NMI, INT) is received. If INT is used
and interrupts were enabled before the HALT state was
entered, an INTAK cycle will be performed to fetch a
vector number. The interrupt service routine will be
executed. After RETI, execution will resume with the
instruction following the HALT. If interrupts were disabled, the interrupt service routine will not be entered,
but execution will resume with the instruction following
the HALT.

INT Input [External]
Undefined Instruction Trap
General Use
• BRK Imm8 Instruction
• INT Input [External]
I1PD72291 AFPP Error

Vector 129

Other Coprocessor Error

Vector 130

Coprocessor Does Not Exist

...

1

General Use

'f .BRK Imm8 Instruction

3FCH r~===v=ec=t=or=2=55===:!1

49NR·345A

HALT Standby Mode

I------i .
Vector 32

...

PC +- [001 H, OOOH]
PS +- [003H, 002H]

Dedicated

Vector 31

080H

002H

The ItPD70136 offers two standby modes to reduce
power consumption: HALT and STOP. Both are entered
after executing a HALT instruction.

tRe~NOO

Vector 6

OOOH

003H

STANDBY FUNCTION

Figure 13. Interrupt ",ctor Table
OOOH

Vector 0
001H

• INT Input [External]
49NR·332A

If NMI is used to exit the HALT standby mode, the NMI
service routine will always be entered.
The bus hold (HLDRQ/HLDAK) function still operates
during HALT standby mode. The CPU returns to HALT
standby mode when the bus hold request is removed.
During HALT standby mode, when all control outputs go
low, the address and data buses will be either high or
low. Refer to table 1 for information about the states of
other outputs in the standby mode.

30

NEe

pPD70136 (V33)

STOP Standby Mode

Enhanced Stack Operation Instructions

In the STOP standby mode, the ~PD70136 clock is
stopped for maximum power reduction. To enter this
mode, special steps must be taken .to prepare the
~PD70136 for having its clock stopped.

PUSH imm. This instruction allows immediate data to
be pushed onto the stack.

INT, NMI and HLDRQ must not be asserted while the
is in STOP mode, or for at least 10 clock
periods before STOP is entered, or for at least 10 clock
periods after STOP mode is exited. External hardware
must ensure that these intputs are not asserted during
this time.
~PD70136

STOP mode is entered by disabling NMI, INT, and
HLDRQ, entering the HALT standby mode, and stopping
the clock input 10 clock periods after the HALT acknowledge but cycle is issued. The eLK input must be stopped
during the low phase of the clock. STOP mode is exited
when external logic starts the clock, waits 10 clock
periods, and enable NMI, INT, and HLDRQ; the
~PD70136 will return to the HALT standby mode.

PUSH R; POP R. These instructions allow the contents
of the eight general registers to be pushed onto or
popped from the stack with a single instruction.

Enhanced Multiplication Instructions
MUL reg16, Imm16; MUL mem16, Imm16. These instructions allow the contents of a register or memory
location to be multiplied by immediate data.

Enhanced Shift and Rotate Instructions
SHL reg, imm8; SHR reg, imm8; SHRA reg, Imm8.
These instructions allow the contents of a register to be
shifted by the number of bits defined by the immediate
data.

All output pins in STOP mode are in the same state as in
HALT standby mode. Refer to table 1.

ROL reg, imm8; ROR reg imm8; ROLC reg, Imm8;
RORC reg, imm8. These instructions allow the contents
of a register to be rotated by the number of bits defined
by the immediate data.

INSTRUCTION SET HIGHLIGHTS

Check Array Boundary Instruction

Enhanced Instructions
In addition to the ~PD8088/86 instructions, the
has enhanced instructions listed in table 8.

~PD70136

Table 8. Enhanced Instruction
Instruction

Function

PUSH Imm

Pushes Immediate data onto stack

PUSHR

Pushes 8 general registers onto stack

POPR

Pops 8 general registers onto stack

MULLlmm

Executes 16·bit multiply of register or memory
contents by Immediate data

SHLlmm8
SHRlmm8
SHRAlmm8
ROLlmm8
RORlmm8
ROLClmm8
RORClmm8

Shifts/rotates register or memory by Immediate
value

CHKlND

Checks array Index against designated
boundaries

INM

Moves a string from an I/O port to memory

OUTM

Moves a string from memory to an I/O port

PREPARE

Allocates an area for a stack frame and copies
previous frame pointers

DISPOSE

Frees the current stack frame on a procedure exit

CHKINO reg16, mem32. This instruction is used to
verify that index values pointing to the elements of an
array data structure are within the defined range. See
figure 15. The lower limit of the array should be in
memory location mem32, the upper limit in mem32 + 2. If
the index value in reg16 is not between these limits when
CHKIND is executed, a BRK 5 will occur. This causes a
jump to the location in interrupt vector 5.

Figure 15. Check Array Boundary
Memory

UP"""mlt~
~

.

Array

.............. 15

~

~

0

mem32 + 2 (Upper limit)
........

LowerLimitk:-~"""""''''''''''''<'"'''''<''"''''''''''''''''''''''''....-.d'--or

mem32 (Lower Limit)

49NR-336A

Block I/O Instruction
OUTM ow, src-block; INM dlst-block, ow. These instructions are used to output or input a string to Qrfrom
memory, when preceded by a repeat prefix.

31

NEe

pPD70136 (V33)
Stack Frame Instruction
PREPARE Imm16,lmm8. This instruction is used to
generate the stack frames required by block-structured
languages. such as PASCAL and Ada. The stack frame
consh~ts of two areas. One area has a pointer that points
to another frame which has variables that the current
frame can access. The other is a local variable area for
the current procedure.
DISPOSE. This instruction releases that last stack frame
generated by the PREPARE instruction. It returl1s the
stack and base pOinters to the values they had before
the PREPARE instruction was used to call a procedure.

Unique Instructions
In addition to the "POSOSS/S6 instructions and the ,enhanced instructions. the "P070136 has the unique instructions listed in table 9.

INS reg8, reg8; INS reg8, Imm4. This instruction transfers low bits from the 16-bit AW register (the number of
bits is specified by the second operand) to the memory
location specified by the segment base (OS1 register)
plus the byte offset (IY register). The starting bit position
within this byte is specified as an offset by the lower 4
bits of the first operand. See figure 16.
After each complete data transfer. the IY register and the
register specified by the first operand are automatically
updated to pOint to the next bit field. .
Either immediate data or a register may specify the
number of bits transferred (second operand). Because
the maximum transferable bit length is 16 bits. only the
lower 4 bits of the specified register (OOH to OFH) will be
valid.
Bit field data may overlap the byte boundary of memory.

Figure 16. Bit Field Insertion
Table 9. Unique Instructions
Instruction

Function

INS

Insert bit field

EXT

Extract bit field

ADD4S

Adds packed decimal strings

S UB4S

Subtracts one packed decimal string from
another

CMP4S

Compares two packed decimal strings

ROL4

Rotates one BCD digit left through AL lower 4 bits

ROR4

Rotates one BCD digit right through AL lower 4 bits

BRKXA

Break and enable expanded addressing

RETXA

Return from break and disable expanded
addressing

TEsn
Non

Tests a specified bit and sets/resets Z flag
Inverts a specified bit

CLR1

Clears a specified bit

SET1

Sets a specified bit

REPC

Repeats next Instruction until CY flag Is cleared

REPNC

Repeats next Instruction until CY flag Is set

FP02

Additional floating-point processor call

variable Length Bit Field Operation Instructions
This category has two instructions: INS (Insert Bit Field)
and EXT (Extract Bit Field). These instructions are
highly effective for computer graphics and high-level
languages. They can, for example. be used for data
structures such as packed arrays and record type data
used in PASCAL.

32

Bit

Awl"

0

g
JJ.·rnme'1
Bit

By"

~~:--.--~--r-lt~~--+-t----lJtt.Me=~
:

OftootjlY]

1

Byte
Boundary

Segment Base .
[DS1]
49NR-341A

EXT reg8, reg8; EXT reg8, Imm4. This instruction
loads to the AW registers the bit field data whose bit
length is specified by the second operand of the instruction from the memory location that is specified by the
OSO segment register (segment base). the.lX Index
register (byte offset). and the lower 4 bits of the first
operand (bit offset). See figure 17.
After the transfer is complete. the IX register and the
lower 4 bits of the first operand are automatically updated to point to the next bit field.
Either immediate data or a register may be specified for
the second operand. Because the maximum transferable bit length is 16 bits. however. only the lower 4 bits of
the specified register (OOH to OFH) will be valid.
Bit field data may overlap the byte boundary of memory.

NEe

IIPD70136 (V33)

Figure 17. Bit Field Extrtlction
Bit

Byte

Bit

: • O~t.~.

~

Offseat[lXl

--jl

#~:-----rJ--+-_~--+-_
j

f

15

~

0
AW ,;.;:,;""-0-.....f%;.,..~.;--7I

BCD data and uses the lower 4 bits of the Al register
(ALL,) to rotate that data one BCD digit to the left. See
figure 18.

Byte
Boundary

;---r
I

Memory

Figure 18. BCD Rotate Left

Segment Base
[DS01
49NR-342A

Packed BCD Operation Instructions
The instructions described here process packed BCD
data either as strings (ADD4S. SUB4S. CMP4S) or byteformat operands (ROR4. ROl4). Packed BCD strings
may be from 1 to 254 digits in length.
When the number of digits is even. the zero (Z) and carry
(CY) flags will be set according to the result of the
operation. When the number of digits is odd. the Z and
CY flags may not be set correctly. In this case (Cl =
odd). the Z flag will not be set unless the upper 4 bits of
the highest byte are all Os. The CY flag will not be set
unless there· is a carry out of the upper 4 bits of the
highest byte. When Cl is odd. the contents of the upper
4 bits of the highest byte of the result are undefined.
ADD4S. This instruction adds the packed BCD string
addressed by the IX index register to the packed BCD
string addressed by the IY index register. and stores the
result in the string addressed by the IY register. The
length of the string (number of BCD digits) is specified
by the Cl register. and the result of the operation will
affect the V (overflow). CY, and Z flags.
BCD string (IY, Cl) - BCD string (IY, Cl)
(IX. Cl)

+ BCD string

SUB4S. This instruction subtracts the packed BCD
string addressed by the IX index register from the
packed BCD string addressed by the IV register. and
stores the result in the string addressed by the IV
register. The length of the string (number of BCD digits)
is specified by the Cl register. and the result of the
operation will affect the V.CY, and Z flags.
BCD string (IY, Cl) - BCD string (IY, Cl) -- BCD string
(IX. Cl)
CMP4S. This instruction performs the same operation
as SUB4S except that the result is not stored and only
the V. CY, and Z flags are affected.
BCD string (IY, Cl) -- BCD string (IX. Cl)
ROL4. This instruction treats the byte data of the register or memory operand specified by the instruction as

ROR4. This instruction treats the byte data of the register or memory specified by the instruction as BCD data
and uses the lower 4 bits of the Al register (ALL,) to rotate ~_
that data one BCD digit to the right. See figure 19.
~

Figure 19. BCD Rotate Right

Bit Manipulation Instructions
TEST1. This instruction tests a specific bit in a register
or memory location. If the bit is 1. the Z flag is reset to O.
If the bit is O. the Z flag is set to 1.
NOT1. This instruction inverts a specific bit in a register
or memory location.
CLR1. This instruction clears a specific bit in a register
or memory location.
SET1. This instruction sets a specific bit in a register or
memory location.

Repeat Prefix Instructions
REPC. This instruction causes the #,PD70136 to repeat
the following primitive block transfer instruction until
the CY flag becomes cleared or the CW register becomes zero.
REPNC. This instruction causes the p,PD70136 to repeat
the following primitive block transfer instruction until
the CY flag becomes set or the CW register becomes
zero.

Address Expansion Control Instructions
BRKXA ImmS. This instruction is used to turn on expanded addressing. The 8-bit immediate data specifies
an interrupt vector. The PC field of this vector is loaded
into the PC (and PFP). The XA flag in the XAM register is
set to 1. thereby enabling the expanded addressing
33

ttlEC

pPD70136 (V33)
mode. The p.PD70136 will begin fetching from the new
PFP through the address translation table. That is, the
new PC is treated as a logical address and is translated
to the new, larger physical address space.

(5) When processing a divide error, the p.PD70116 saves
the address of the next instruction. The p.PD70136
saves the address of the current instruction (the
divide instruction).

This instruction does not save any return address information, such as PC, PS, or PSW to the stack.

(6) The p.PD70116 allows up to 3 prefix instructions in
any combination. The p.PD70136 also allows 3 prefixes, but only one of each type can be used. The
p.PD70136 could operate incorrectly if there are two
prefixes of the same type. For example, consider:

RETXA ImmB. This instruction is' used to turn off expanded addressing. It is identical in operation to BRKXA,
except that the expanded addressing mode is turned off
before fetching from the new address. That is, the XA flag
in the XAM register is set to 0, and the PC is loaded with
the value of the PC field in the interrupt vector selected
by the immediate data.
This instruction does not save any return address information such as PC, PS, or PSW to the stack.

Porting I'PD70116n0108 Code to I'PD70136
The p.PD70136 is completely software compatible with
the p.PD70116/70108. However, the p.PD70136 offers
some improvements that may affect the porting of
p.PD70116 code to the p.PD70136. These improvements
are:
(1) The p.PD70116 does not trap on undefined opcodes.
The p.PD70136 will trap, and also will trap when a
register addressing mode is used for any of these
instructions:
CHKIND
MOV DSO/DS1
CALL 1,id

LDEA
BR 1,id

(2) During signed division (DIV), if the quotient is 80H
(byte operation) or 8000H (word), the p.PD70116 will
take a Divide By 0 trap. The p.PD70136 will perform
the calculation.
(3) When the p.PD70116 executes the POLL instruction,
it will wait for the POLL input signal to be asserted.
The p.PD70136 has no POLL input; instead, when this
instruction is executed, if a coproce$sor is not
connected, then a Coprocessor Not Present trap will
be taken. If a coprocessor is attached, then no
, operation takes place.
The p.PD70116 accepts FP01 and FP02 as opcodes
for the iAPX8087 coprocessor. The p.PD70136 accepts these as opcodes for the p.PD72291 coprocessor, which is not compatible with the iAPX8087.
(4) D!.ning the POP R instruction, the p.PD70116 does
. not restore the SP register. The p.PD70136 does
restore the gP.

34

REP
REPC
CMPBK SS: src-block, dst-block
If the compare operation is interrupted, then when it
resumes following the interrupt service, execution
will begin at the REPC instruction, not the REP
instruction, because two repeat prefixes were used.
(7) The p.PD70116 accepts NMI requests even while
processin~NMI. The p.PD70136 does not allow
nes!!n9..of NMls; the NMI input will be ignored until
the NMI interrupt handler is exited.

INSTRUCTION SET

Symbols
Preceding the instruction· set, several tables explain
symbols, abbreviations, and codes.

Clocks
In the Clocks column of the instruction set, the numbers
cover these operations: instruction decoding, effective
address calculation, operand fetch, and instruction execution.
Clock timings assume the instruction has been
prefetched and is present in the 8-byte instruction
queue. Otherwise, add two clocks for each pair of bytes
not present.
Word operands require two additional clocks for each
transfer to an unaligned (odd address) memory operand.
These times are shown on the right side of the slash (/).
For conditional control transfer or branch instructions,
the number on the left side of the slash is applicable if the
transfer or branch takes place. The number on the right
side is applicable if it does not take place.
If a range of numbers is given, the execution time
depends on the operands involved.

N'EC

pPD70136 (V33)

Symbols
Symbol

Meaning

Symbol

Meaning

acc

Accumulator(AW or AL)

AW

Accumulator (16 bits)

duso

Displacement (8 or 16 bits)

BH

BW register (high byte)

dmem

Direct memory address

BL

BW register (low byte)

dst

Destination operand or address

ext-disp8

16-blt displacement (sign-extension byte
bit displacement)

far_label

Label within a different program segment

far_proc

Procedure within a different program segment

fp_op

Floating-point Instruction operation·

imm

8- or 16-blt Immediate operand

imm3/4

3- or 4-bit Immediate bit offset

imm8

8-bit immediate operand

+ 8-

imm16

16-bit Immediate operand

mem

Memory field (000 to 111): 8- or 16-bit memory
location

mem8

8-blt memory location

mem16

16-bit memory location

mem32

32-bit memory location

memptr16
memptr32

Word containing the destination address within
the current segment
Double word containing a destination address in
another segment

mod

Mode field (00 to 10)

neaclabel

Label within the current segment

neacproc

Procedure within the current segment

offset

Immediate offset data (16 bits)

BP

BP register

BRK

Break flag

BW

BW register (16 bits)

CH

CW register (high byte)

CL

CW register (low byte)

CW

CW register (16 bits)

CY

Carry flag

DH

DW register (hIgh byte)

DIR

Direction flag

DL

DW register Oow byte)

DSO

Data segment 0 register (16 bits)

DS1

Data segment 1 register (16 bits)

DW

DW register (16 bits)

IE

Interrupt enable flag

IX

Index register (source) (16 bits)

IY

Index register (destination) (16 bits)

MD

Mode flag

P

Parity flag

PC

Program counter (16 bits)

PS

Program segment register (16 bits)

PSW

Program status word (16 bits)

R

Register set

S

Sign extend operand field
S No sign extension
S = Sign extend immediate byte operand

pop_value

Number of bytes to discard from the stack

reg

Register field (000 to 111): 8- or 16-bit generalpurpose register

reg8

8-bit general-purpose register

S

Sign flag

reg16

16-bit general-purpose register

SP

Stack pointer (16 bits)

regptr

16-bit register containing a destination address
within the current segment

SS

Stack segment register (16 bits)

=

V

Overflow flag

regptr16

Register containing a destination address within
the current segment

W

Word/byte field (0 to 1)

seg

Immediate segment data (16 bits)

X,XXX,
YYY, ZZZ

Data to identify the Instruction code of the
external floating-point arithmetic chip

shorLJabel

Label between -128 and + 127 bytes from the
end of the current Instruction

XXH

Two-digit hexadecimal value

sr

Segment register

src

Source operand or address

temp

Temporary register (8116/32 bits)

AC

Auxiliary carry flag

AH

Accumulator (hIgh byte)

AL

Accumulator (low byte)

II

XXXXH

Four-digit hexadecimal value

Z

Zero flag

35

NEe

pPD70136 (V33)
Register Selection (mod = 11)

Flag Operations
Symbol

MeanIng

reg

w =0

W =1

(blank)

No change

000

AL

AW

o

Cleared to 0

001

CL

CW

Set to 1

010

OL

ow

x

Set or cleared according to result

011

BL

BW

u

Undefined

100

AH

SP

R

Restored to previous state

101

CH

BP

110

OH
BH

IX

Memory Addressing Modes
mem

mod

= 00

mod

= 01

mod

111

= 10

IV

Segment Register Selection

BW + IX
BW + IX + dlsp8
BW + IX + dlsp16
000
--------------------------------------~
BW + IV + disp16
001
BW + IV
BW + IV + dlsp8

_sr_ _ _ _ _ _S_e..;:g~m_e_nt_R_e...;;g~ls_te_r_ _ _ _ _ _ _ __

BP + IX + dlsp16

_00_____________
0_S1_________________________

010

BP + IX

BP + IX + dlsp8

011

BP + IV

BP

100

IX

IX + dlsp8

IX + disp16

+ IV +

~+N+~p~

dlspS

101

IV

IV + disp8

IV + disp16

110

Oirect

BP + disp8

BP + dlsp16

111

BW

BW + dlsp8

BW + dlsp16

~

~

11

OSO

----------------------------------------_10_____________
SS
___________________________

----------------------------

Instruction Set
Flags

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6 5

4

3

2

1 0

Clocks

Bytes

AC

CY V

P S

Z

Dsts Trsnsfer Instructions
MOV

reg, reg
W
reg
reg
2
2
o
000
--~~------~--------------------------~----~----------------------------mod
reg
mem
3/5
2-4
mem, reg
000100W
reg, mem

o

0

0

1

mem,lmm

1 0

0

0

reg, imm

o
o
o
o
o
o
o

acc, dmem
dmem, acc
sr, reg16
sr, mem16
reg16, sr

0

1 0

0

0

0

0

0 0

mem

5/7

2-4

000

mem

3/5

3-6

0

2

2-3

W

5/7

3

W

3/5

3

0

1 1 0

sr

reg

1

0

mod

0

sr

mem

0

0

1 1 0

sr

reg

sr

2
5/7

2

2
2-4

2

0

()

1

00

modO

mem

3/5

2-4

0

0

mod

reg

mem

10/14

2-4

OS1, reg16, mem32

1 0

0

0

o
o

mod

reg

mem

10/14

2-4

AH, PSW

0

0

. 0

0

1 0

0

reg16, mem16

TRANS
reg, reg
mem, reg

36

0

0

reg

mod

reg

0

0

mod

W

o

PSw, AH

XCH

1 W

W

OSO, reg16, mem32

mem16, sr

LOEA

0

o
1 0

0
.1

2

o
0

1

1 0

mod

reg

mem

o

0

0 0

0

W

1

1

reg

reg

0

0

W

mod

reg

mem

0

x

2

0

2

2-4

5

3
8/12

2
2-4

x

x x x

NEe

IIPD70136 (V33)

Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

2

1

0

7

Flags

5

4

3

6

5

4

3

2

1 0

0

1

0

reg

o
o

0

o

1

2

0

o

0

2

Bytes AC

Clocks

CY V

P S Z

Dsts Trsnsfer Instructions (cont)
XCH (cont)

AW, reg16

1 0

3

Repest Prefixes
REPC

o

REPNC

o

REP
REPE
REPZ
REPNE
REPNZ

1

1

1

1

o

0

0

0

2

1

0

2

Block Trsnsfer Instructions
MOVBK

CMPBK

CMPM

dst, src

dst, src

dst

1010010W

1

3
3
3
3

+
+
+
+

4n
4n
8n
6n

fY'/
fY'/
fY'/
fY'/

=
=
=
=

0)
1, even addresses)
1, odd addresses)
1, odd/even addresses)

3
3
3
3

+
+
+
+

7n fY'/ = 0)
7n fY'/ = 1, even addresses)
11n fY'/ = 1, odd addresses)
9n fY'/ = 1, odd/even addresses)

1

1010011W

1010111W

1

x

x

xxxxx

xxxxx

3 + 5n fY'/ = 0)
3 + 5n fY'/ = 1, even addresses)
3 + 7n fY'/ = 1, odd addresses)

LOM;

src

1010110W

1
5 +2nfY'/= 0)
5 + 2n fY'/ = 1, even addresses)
5 + 4n fY'/ = 1, odd addresses)

STM

dst

1010101W

1
3 +2nfY'/= 0)
3 + 2n fY'/ = 1, even addresses)
3 + 4n fY'/ = 1, odd addresses)

n = number of returns
String Instruction execution clocks for a single-Instruction execution are In parentheses.

I/O Instructions
IN

OUT

ace,Imm8

0

acc, OW

0

Imm8, ace

0

Ow, ace

0

0

0

0

W

5/7

0

W

3/5

W

3/5

2

W

3/5

1

2

37

NEe

IIPD70136 (V33)
Instruction Set (cont)
Opcode
MnemonIc

Operand

7

6

5

4

3

2

1

0

7

Flags
6

5

4

3

2

1

0

Clocks

Bytes AC

CY V

P

S Z

I/O Instructions (cont)
INM

OUTM

dst, OW

Ow. src

1

0110110W
3
3
3
3

+ 11n ~ = 0)
+ 8n ~ = 1, even addresses)
+ 22n ~ = 1, odd addresses)
+ 20n ~ = 1, odd/even addresses;

3

+

3
3
3
3

+ 11n ~ = 0)
+ 8n ~ = 1, even addresses)
+ 22n ~ = 1, odd addresses)
+ 20n ~ = 1, odd addresses;

3

+

odd for I/O)
13n ~ = 1, odd/even addresses;
odd for memory)

0110111W

1

odd for I/O)
13n ~ = 1, odd addresses;
odd for memory)

n = number of transfers
String instruction execution clocks for a single-Instruction execution are In parentheses.
Use the right side of the slash (J) for OMA I/O accesses.

BCD Instructions
ADJBA

0

0

1

0

4

x

x

u

u

u

u

ADJ4A

0

0

0

0

2

x

x

u

x

x

x

ADJBS

0

0

1

4

u

u

u

0

0

0

2

x
x

u

ADJ4S

u

x x x
u u x
u u x
u u x

18n

2

u

18n

2

u

14n

2

u

x
x
x
x
x

2

u

u

u

2

u

u

u

1

+
+
+

ADD4S

dst, src

0

0

0

0

0

0

0

0

0

0

2

SUB4S

dst, src

0

0

0

0

0

0

0

0

0

0

2

CMP4S

dst, src

0

0

0

0

0

0

0

0

1

1 0

7

ROL4

reg8

0

0

0

0

1

0

0

0

0

0

0

9

0

0

0

reg

mem8

0

0

0

0

0

0

0

0

0

0

15

3-5

mod

0

0

0

mem

0

0

0

0

0

0

0

0

0

13

3

1

1 0

0

0

reg

0

0

0

0

1

0

0

0

0

0

19

3-5

mod

0

0

0

0

0

0

0

0

0

12

0

0

0

0

0

0 8

ROR4

reg8

mem8

0

u
u
u

3

mem

n = number of BCD digits divided by 2

Dsts Type Conversion Instructions
CVTBD

1

1 0

0

0

0

0

0

CVTDB
CVTBW

0

0

0

0

CVTWL

0 0

0

0

38

0

0

2
2

x x x
x x x

t\fEC

pPD70136 (V33)

Instruction Set (cont)
Flags

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6

W

11

5

4

3

2

1 0

Bytes

AC

2

x

xxxxx

6/8

2-4

2

3-4

7/11

3-6

2

2-3

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x

x

Clocks

CV V

p

S Z

Arithmetic Instructions
ADD

ADDC

SUB

reg, reg

000000

reg, mem

0000001W

reg, imm

OOOOOSW

mem, inim

100000SW

aoc, imm

00000

reg, reg

00000

mem, reg

000

reg, mem

2

0

reg

mod

0

0

0

mem

OW
1

reg

reg

OOOW

mod

reg

mem

7/11

2-4

mod

reg

mem

6/8

2-4

x
x

x

0001001W

x
x

W

1

1

1

0

1 0

reg

mod

0

1 0

mem

2

2

3-4

x

7/11

3-6

x

2

2-3

2

2

x

x
x
x
x
x
x

reg

0 W

mod

reg

mem

7/11

2-4

W

mod

reg

mem

6/8

2-4

x
x
x
x

2

3-4

x

x

x x x x

7/11

3-6

x

x x x x

2

2-3

x
x

x

x x x x

2

2

x

x

x x x x

o 0
o a
a a

0

W

a

0

0

a

1

x
x
x
x

reg, imm

OOOOOSW

1

1

a

reg

mem,imm

OOOOOSW

mod

0

mem

1

reg

reg

mod

reg

mem

7/11

2-4

x

x

x x x x

mod

reg

mem

6/8

2-4

x

x

x x x x

1

reg

2

3-4

x

x

x x x x

7/11

3-6

x x x x

2

2-3

x

x x x x

2

2

x
x
x
x
x
x
x

x

reg, reg

o a
a
o a a

a

mem, reg

000

OOW

0

W

W

000110

W

OOOOOSW

mem,imm

100000SW

acc, imm

a a a

a

reg8
mem
reg16

o

o

1

1

0

a

1

reg16

o

1

a a
a

reg16

a
o

1

reg8
reg16
mem8
mem16

1

1

reg16, reg16, imm8

a

o

0

mod

0

1

a

1

1

0

0

0

reg

W

mod

0

0

0

mem

mem

W

a

7/11

2-4

2

o

1

W

mod

1 0
0

0

reg

0

mem

2
7/11

2
2-4

x x x x
x x x x
x x x x
x x x x

x

2

x x x x

reg

8

2

u

x

x

o

0

reg

12

2

u

x

x u u u

mod

0

0

mem

12

2-4

u

x

x

u

u u

mod

a a
a
a

mem

16/18

2-4

u

x

x

u

u u

o
o

x x x x

o 0

0

o

a
a
a
a

mem16

1

reg

reg8

mem8

1

~g

regS
mem

1

mod

1

mod

0

1

1

u

u

u

reg

8

2

u

x

x

u

u u

reg

12

2

u

x

x

u

u u

o
a

mem

12

2-4

u

x

x

u

u u

mem

16/18

2-4

u

x

x

u

u u

reg

reg

3

u

x

x

u

u u

12

1:9!11

x~

reg

000010W

reg, reg

0

2

1

acc, imm

reg,imm

MUL

0

OOOOOSW

reg, mem

MULU

mem

0

OOOOOSW

acc, imm

DEC

reg

1

reg,imm

reg, mem

INC

mod
1

mem, imm

mem, reg

SUBC

reg

reg

----------------------------------------------------------------------------------2-4
mem, reg
mem
7/11
x x x x x x
OOOOOOOW
mod
reg

39

NEe

pPD70136 (V33)
Instruction Set (cont)

Flags

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1 0

Clocks

Bytes

AC

3-5

u

CY V

P

S

Z

u

u

u

Arithmetic Instructions (cont)
MUL
(cont)

reg16, mem16,
Imm8

o

0

o

mod

reg

mem

16/18

x

x

-------------------------------------------------------------------------------reg16, reg16,
1 1
reg
reg
12
4
u
xxuuu
o
o 0
o
Imm16
reg16, mem16,
Imm16

DIVU

DIV

o

o

o

0

mod

o
o

o

reg16
mem8

o

mem16

o
o
o
o
o

reg8

reg8
reg16
mem8
mem16

reg

mem

16/8

4-6

u

x

x

u

u

u

1

1

11

2

u

u

u

u

u

u

1

o
o

reg

1

reg

19

2

u

u

u

u

u

u

o

mod

o

mem

15

2-4

u

u

u

u

u

u

1

mod

o

mem

23/25

2-4

U

U

U

U

U

U

o

1

2

U

UUUUU

1

o

reg

16

1 1

reg

24

2

U

UUUUU

mod

mem

20

2-4

U

U

U

U

U

U

mod

mem

28/30

2-4

U

U

U

U

U

U

2

x

x

x

x

x

x

1

Compsrlson Instructions
CMP

reg, reg

0 0

reg, mem

0 0

0

1 W

W

1

1

reg

reg

mod

reg

mem

2

-------------------------------------------------------------------------------mem, reg
0 0
0 0 W
mod
reg
mem
6/8
2-4
x
x x x x x
1

1

0

0 0 0

0

0 S W

1

mem, Imm

1 0 0 0

0

0 S W

mod

ace, Imm

0 0

reg, Imm

1

reg
mem

0 W

6/8

2-4

x

x

x

x

x

x

2

3-4

x

x

x

x

x

x

6/8

3-6

x

x

x

x

x

x

2

2-3

x

x

x

x

x

x

Logicsllnstructlons
NOT

NEG

reg
0
W
1 1 0
0
reg
2
2
--~------------------------------------------~----------------------------mem
0
W
mod 0
0
mem
7/11
2-4
reg
mem

TEST

mod

1 0

reg

0

mem

o

0 0

0

0 W

1

1

reg

reg

o

0 0

0

0 W

mod

reg

mem

o
o

W
1

1 W

1

1 0 0 0

modOOO

reg
mem

2
7/11

2

x

x

x

x

x

x

2-4

x

x

x

x

x

x

0

x

x

x

0

x

x

x

0

x

x

x

0

x x x

0

2

U

6/8

2-4

U

2

3-4

U

6/8

3-6

U

2

2-3

U

o
o
o
o
o

x

x

x

2

2

U

0

0

x

x

x

0

x

x

x

0

x

x

x

0

x

x

x

0

x

x

x

0

x

x

x

2

ace,lmm

100100W

reg, reg

o

0001W

11

reg

reg

mem, reg

OOOOOOW

mod

reg

mem

7/11

2-4

U

reg, mem

000001W

mod

reg

mem

6/8

2-4

U

2

3-4

U

7/11

3-6

U

o
o
o
o

2

2-3

U

0

2

U

OOxxx

2-4

U

0

reg,lmm

40

1

reg, reg

mem,lmm

OR

W

W

mem, reg
reg,lmm

AND

o
o

0

OOOOOOW

mem,lmm

1000000W

acc,lmm

0000

reg, reg

00000

mem, reg

0000

1

1

mod

o
o

0

reg

0

mem

10W
W

11

reg

reg

OOW

mod

reg

mem

2
7/11

0

x

x

x

NEe

pPD70136 (V33)

Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

3

2

0

0

0

0

1

0

1

Flags

0

7

6

W

mod

mod

5

4

3

2

1 0

Clocks

Bytes

AC

CY V

P

S

Z

Logical Instructions (cont)
OR (cont)

reg, mem

0

0 0

0

0

0

W

ace, Imm

0

0

0

1

1 0

W

reg, reg

0

0

0

0

reg, mem

001a01W

mem,lmm

XOR

reg

mem

6/8

2-4

u

0

0

x

x

x

0

mem

7/11

3-6

u

0

0

x

x

x

2

2-3

u

0

0

x

x

x

2

2

u

0

0

x

x x

o

x x x

o x x x I:JI!II
o x x x~

o

x

x x

-------------------------------------------------------------------------------reg, Imm
0 a 0 0 0 0 W
1 1 0 0
reg
2
3-4
u
0
0 x x x
a

1 W

1

0

1

reg

mod

reg

reg

-------------------------------------------------------------------------------mem, reg
o 0
a a 0 W
mod
reg
mem
7/11
2-4
u
0 0 x x x
reg,lmm

oaoaoow

mem, imm

100aOOOw

acc,lmm

o

a

0

a

mem

1

o

mod

1 0

1

reg
mem

W

6/8

2-4

u

2

3-4

u

7/11

3-6

u

2

2-3

u

o
o
o
o

3

u

0

0

u

u

x

3-5

u

0

0

u

u

x

3-5

u

0

0

u

u

x

4

u

OOuux

13

4-6

u

0

a

u

u

B/10

4-6

u

0

0

u

u x

Bit Manipulation Instructions
INS

reg8, regS

0

0

0

0

001

reg
regS,lmm4

EXT

reg8, reg8

reg8, imm4

000

0

1

a

1 0

000

a

1

reg

o

0

1
TEST1

reg, CL

o

0

1
memB, CL

mem16, CL

reg, imm3/4

memB,lmm3

mem16,lmm4

SET1

reg, CL

mem,CL

o

0

0

1

0

0

0

0

0

1

0

0

0

0

a

1

0

0

0

0

0

mod

0

a

0

0

0

1

mod

0

0

0

0

0

0

mod

0

0

o

0

0

1

1 1 0 0

a

mem8,lmm3

0

1

1 0

a a

o

a

a

a

mod

a

0

0

o

0

29-61/

4

33-63
000

o

0

0

000

a

0

008

000

000

000

o

0

W 4

000

o

0

0

000

o a

W 4

B/10

x

1
mem

o a

0

o

a

W 4

3

000

o

o

W 9

3-5

o

W 4

4

reg

0

o

3

mem

1
0

modaaO
reg,lmm3/4

1

reg

o

a

29-61/

mem

0

0
0

0

o 0

reg

mem

1 0

4

33-63

o

1

1

o

37-69/

reg

0

000

3

39-77

o a

0

0

o a

0

reg

reg

0

o

37-61/
39-77

o
0

mod

o

1 000

reg

mem

o a 0

1
a

reg

a

mem

o a

0

1

1

009

4-6

41

NEe

pPD70136 (V33)
Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

3

2

0
0

1
0

1

1

0

Flags

7

6

5

4

3

2

1 0

o

0

0

1

1

1 0

Clocks

Bytes

AC

CY V

P S

Z

Bit Manipulation Instructions (cont)
SET1
(cont)

mem16, Imm4

0 0
mod

0
0

DIR

1

1

1

reg, CL

o

0 0

0

1

1

1 0

0

0

reg

o

0

0

0

mod

0

0

0

mem

o

CY
CLR1

memS, CL

mem16, CL

reg,lmm3/4

memS,imm3

mem16,lmm4

CY
reg,CL

memS, CL

mem16, CL

0

memS,lmm3

mem16,lmm4

0

o

0

0

0

1

1

1 0

0

0

o

0

0

0

1

1

mod

0

0

0

mem

0

mod

0

1

0

0

o

0 0

0

1

1 0

0

0

o

0

0

0

1

mod

0

0

0

1

0

3-5

9/13

3-5

000

o

W 4

4

O' 0

0

o

o 9

4-6

000

o

4-6

9/13

000

o

W4

000

o

o

000

o

o
3

9

3-5

9/13

3-5

mem

1

0

reg

0

mem

0000111

1

o

9

mem

0

1

000

3

reg

0

0

o

2

0

0

0

2

1 0

0

o

0

0

0

000

0

1

0

W4

0

o

mod

0

o

0000111

000

o

mem

1

1

000

reg

1

o

4-6

mem

0

1

1

mod

CY

2

1

modOOO
reg, imm3/4

2

0

mod

000

1 9/13

0

0000111

DIR
NOT1

1

mem

0

000

W 4

4

000

W 9

4-6

000

4-6

9/13

mem

0

1 0

1

0

0

0 W

1

1

0

0

x

2

Shift/Rotste Instructions
SHL

42

reg, 1

0

reg

2

2

u

x

x

x

x

x

-------------------------------------------------------------------------------mem, 1
0
0 0 0 W
mod
0 0
mem
7/11
2-4
u
x x x x x
reg, CL

0

0

0

W

1

1

0

0

reg

mem, CL

0

1

0

0

W

mod

0

0

mem

reg, ImmS

0

0

0

0

0 W

1

0

0

reg

1

2

+n
+
+n

n

= number of shifts

2

6/10

n

2

u

x

u

x

x

x

2-4

u

x

u

x

x

x

3

u

x

u

x

x

x

NEe

pPD70136 (V33)

Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

o
o

0

3

2

1

o

7

Flags
6

5

4

3

0

2

1 0

Clocks

Bytes AC

CV

V

P

S Z

x
x
x
x

u
x
x
u
u
u
u

x
x
x
x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x
x
x
x

Shift/Rotste Instructions (cont)
SHL (cont)

mem.lmm8

SHR

reg. 1

SHRA

ROL

W

mod

o

W

1

1

o

reg

0

mem

o

0

0

W

mod

0

mem

0

0

W

1 1

0

reg

mem.CL

o
o

0

0

1 W

mod

0

mem

reg.lmm8

o

0

0

0

0

W

1

1

0

reg

mem.lmmS

o
o

0

0

0

0

W

mod

0

mem

reg. 1

0

0

0

W

1

mem.1

o

0

0

0

W

mod

reg. CL

o

0

W

1

mem.CL

o
o

0

0

1 W

mod

reg. imm8

o

0

0

0

0

W

1

mem.immS

0

0

0

0

W

mod

1

0

0

0

W

1

0

0

0

0

W

modOOO

reg. CL

o
o
o
o

0

0

W

1

1

0

0

0

reg

mem.CL

o

0

0

W

mod

0

0

0

mem

reg.lmm

o

0

0

0

0

W

1

0

0

0

reg

mem.imm

o

0

0

0

0

W

modOOO

reg. 1

0

0

0

W

1

1

0

0

reg

mem.1

o
o

0

0

0

W

mod

0

0

mem

reg. 1

reg

1

mem
reg

1

mem
reg

1

1

1

mem

0

0

reg
mem

mem

reg. CL

000

W

1

1

0

0

reg

mem.CL

000

W

mod

0

0

mem

reg.imm8

1 0

0

reg

0

mem

reg. 1

o
o
o

mem.1

o

reg. CL

mem.immS

o
o
o
o

reg. 1

0

0

0

0

W

1

0

0

0

0

W

mod

0

o

0

0

W

1

1

0

0

reg

o

0

0

W

mod

0

0

mem

o

0

W

1

0

0

W

mod

0

0

0

0

W

1

0

0

0

0

W

mod

0

o

0

0

0

W

1

0

mem.1

o

OOOW

reg. CL

000

W

110

reg

mem.CL

0100

W

modO

mem

reg. imm8

o

W

110

reg

mem.CL
reg.lmm8

RORC

0
0

reg. CL

mem. immS
ROLC

0
0

mem.1

mem.1

ROR

0
0

1

0

0

0

0

1 0

0

reg

0

0

mem

1 0

0

reg

0

mem

1

modO

reg
mem

6/10 + n
2

3-5

u

2

u

2-4

u

+n

2

u

6/10 + n

2-4

u

x

3

u

3-5

u

2

u

2-4

u

2

u

7/11
2

+n

2

x
x
x
x
x
x
x
x
x
x
x

6/10 + n

2-4

x

u

3

u

x

3

x
x
x
x
x
x
x

3-5

x

u

2

x

2-4

x
x

2+n
6/10 + n
2

7/11
2+n

2-4

u

+n

3

u

6/10 + n

3-5

u

6/10 + n

2

2

2

7/11
2

2+n

2-4

6/10 + n

3-5

+n

2

2

7/11

2-4

+n

2

6/10 + n

2-4

7

2+n
6/10 + n

2

o
o
u
u
u
u
x

u
u

u

u
u

2

x

u

+n

3
3-5

2-4

x
x
x
x

u

6/10 + n

2

2

2

7/11
2 + n
6/10 + n
2 + n
n

x~
x
x
x
x

u

2-4

2+n
6/10 + n

x~

x

x
x

7/11

x
x
x
x
x
x
x

u

u

x

x

2

x

u

2-4

x

u

3

X

LI

= number of shifts

43

N'EC

"PD70136 (V33)
Instruction Set (cont)
Ope ode
Mnemonic

Operand

76 5 4

Flags

3

2

1

0

7

6

5

4

3

0

0

0

W

mod

0

1

1

mem

mod

1

1 0

mem

2

1

0

Clocks

Bytes AC

CY V

P

S Z

Shift/Rotste Instructions (cont)
RORC

mem,lmm8

1

1 0

0

6/10

+n

3-5

x

u

R

R R R R

(cont)

Stack Manlpulstlon Instructions
PUSH

mem16

1

reg16

0

sr

0

PSW

POP

PREPARE

R

0

Imm

0

mem16

1
1

0

0

0

0

0
0

0

reg
1

0

3/5

1

0

0

3/5

sr

1

0

0

0

0

3/5

0

0

0

20/36

0

S

0

3/5

2-3

5/9

2-4

mod

reg16

0

1 0

sr

0

0

0

PSW

1 0

0

1

1

R

0

1

0

0

0

0

0

0

Imm16,lmm8

2-4

5/9

0

0

0

0

mem

reg

5/7

1

5/7

1

0

5/7

0

0

22/38

sr

0

R

4

*
*imm8 = 0:15
imm8:=!: 1: 17 + 12 (imm8 - 1) odd, 15

DISPOSE

1 0

0

1

0

0

1

0

0

0

+ 8 (imm8-1)

6/10

1

7/9

3

Control Trsnsfer Instructions
CALL

near_proc

0

regptr16
memptr16

1

1

faLproc

0

0

0

0

0

reg

mod

0

0

mem

mod

0

0

memptr32

RET
pop_value

pop_value

BR

1

1

1

mem

11/15
9/13

5

15/23

2-4

0

0

0

1

10/12

0

0

0

0

0

10/12

0

0

0

1

12/16

1

0

0

0

1

0

12/16

3

0

0

0

shorLJabel

0

0

regptr16

1

1

0

0

reg

memptr16

mod

0

0

mem

1

mem

0

0

1

BV

shorLJabel

0

0

0

0

BNV

shorLJabel

0

0

0

0

BC,BL

shorLJabel

0

0

0

mod
0

0

1

0

3

7

3

7

·2

7

2

11/13
7

0

memptr32

2-4
5

13/17

2-4

3(6

2

3/6

2

3/6
n

44

2-4

0

near_label

faLlabel

2

7/9

2

= number of shifts

even

NEe

IIPD70136 (V33)

Instruction Set (cont)
Flags

Opcode
Mnemonic

Operand

7

6

5

4

3

2

0

0

1

0

7

6 5

4

3

2

1 0

Clocks

Bytes

AC

CYV

P

S Z

Control Transfer Instructions (cont)
1

1

BNC, BNl

shorUabel

0

BE,BZ

shorUabel

0

0

0

BNE, BNZ

shorUabel

0

0

1 0

BNH

shorUabel

0

0

BH

shorUabel

0

0

BN

shorUabel

0

BP

shorLlabel

BPE

shorLlabel

BPO

shOrLlabel

1

0

0

0

0

0

0

0

0

0

3/6

2

3/6

2

3/6

2

0

3/6

2

1

3/6

2

0

3/6

2

1

3/6

2

0

3/6

2

3/6

2

0

ED

Interrupt Instructions
BlT

shorLlabel

0

0

0

3/6

2

BGE

shOrLlabel

0

0

1

3/6

2

BlE

shorLlabel

0

3/6

2

BGT

shOrLlabel

0

3/6

2

OBNZNE

shorLlabel

0

0

0

0

OBNZE

shorLlabel

0

0

0

0

OBNZ

shorLlabel

0

0

0

BCWZ

shorLlabel

0

0

0

BRK

3

0

imm8

0

imm8

0

0

0

0

1

0

0

BRKV
RETI
CHKlNO

0
1

1
reg16, mem32

0

0

3/6

2

3/6

2

0

3/6

2

1

1

3/6

2

0

0

0

0

0

18/24
18/24

0
1
0

0

2

20/26
R

13/19
mod

reg

mem

24-26/
30-32

R

R R R R

2-4

CPU Control Instructions
HALT

FP01

FP02

0

1 0

0

0

0

0

0

0

X X

X

1

0

X X

X

mod

1

BUSLOCK
fp_op

2
2
1 Y Y Y Z

Z

Y Y Y

mem

fp_op, mem

1

fp_op

0

0

0

X

1

fp_op, mem

0

0

0

X

mod

POLL

0

0

1 Y Y Y Z

Z

Y Y Y

mem

Z

Z

*
*
*
*
2

0

2
2-4
2
2-4

+ 5n

n = number of times POLL pin is sampled.
NOP

0

0

0

01

0
0

EI

1

1

OSO:, OS1:, PS:, SS:
(segment override prefixes)

0

0

0

0
0

2
2

0
seg

3

0

2

45

NEe

IIPD70136 (V33)
Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

3

2

Flags

1

0

7

6 5

4

3

2

1 0

Clocks

1

1

1

1

1

1

Bytes

1

1 0

0

0

0 0

12

3

1

1

1 0

0

0 0

12

3

Address Expansion Contro/lnstructions
BRKXA

immS

0

0 0

0

1

immS

RETXA

immS

o

0

0

0
immS

46

1

1

AC

CV V

P S Z

NEe

NEG Electronics Inc.

Description
The V53™ is a high-speed, high-integration 16-bit
CMOS microprocessor with a CPU that is object and
source code compatible with the V2CJiJN3CJiJ. Integrated
on the same die is a 4-channel DMA controller, a UART,
three timer/counters, an interrupt controller, a refresh
controller, a clock generator, and a bus controller.
(1)

The DMA unit has four channels of highbandwidth DMA (up to 8M bytes/sec). It has two
sets of control registers, one compatible with the
JlPD71087/8237 and another with the JlPD71071.

(2)

The UART offers asynchronous serial I/O and is
functionally compatible with the JlPD71051 (8251).

(3)

The three 16-bit general-purpose timer/counters
are compatible with the JlPD71054 (8254).

(4)

The interrupt controller is identical to the
JlPD71059 (8259) and offers eight interrupt channels. External JlPD71059s may be cascaded.

(5)

The refresh controller generates a 16-bit refresh
cycle for use with dynamic or pseudostatic RAMs.

(6)

The clock generator uses a crystal at two times
the desired frequency to produce the internal
clock for the CPU and peripherals. A peripheral
clock is also output.

(7)

The bus controller generates JlPD71088-style control signals for easy interface to external devices.
The full V33 bus is also provided. Bus cycles are
nominally two clock cycles long and can be extended using the internal wait state generator.
Dynamic bus sizing can be used to set the datapath width for every bus cycle. Both 8- and 16-bit
cycles are supported, allowing the V53 to be used
on both 8- and 16-bit systems.

The V53 CPU is identical to the JlPD70136 (V33™).
Hardwired data-path control and a high-bandwidth bus
give a performance level four times that of the 10-MHz
V30. The 1M-byte addressing range of the V30 is
mapped into a 16M-byte LIM specification using onchip page registers.

pPD70236 (V53)
16-Bit Microprocessor:
High-Speed, High-Integration, CMOS

The V53 instruction set is upward compatible with the
native modes of the V20, V30, V40™, and V50™. It
includes bit processing, bit field insertion and extraction, and BCD string arithmetic. Using a modified
Booth's algorithm, the 16-MHz V53 executes 16-bit
multiplies in 750 ns. The CPU performance is the highest currently available in a high-integration microprocessor.
The V53 has an undefined instruction trap that allows
instructions not part of the V-series instruction set
(such as commands for proprietary MMUs) to be emulated. High-speed numerics support is provided by the
JlPD72291 CMOS floating-point unit (530K FLOPs at
16 MHz).
The V53's combination of high-speed CPU and DMA
makes it ideal for high-bandwidth data control applications such as disk or LAN controllers. The high integration and software compatibility of the CPU and peripherals with the V33 and V30 makes the V53 ideal for very
compact personal computer applications such as diskless work stations and lap top computers, or embedded MS-DOS® compatible PCs for POS terminals or
control applications.

Features
o High-speed, V30-compatible CPU
-125-ns minimum instruction execution time at
16MHz
-750-ns 16-bit multiply at 16 MHz
-1.19 Jls 16-bit divide (16 MHz)
- Fastest high-integration MPU available
o Dual bus architecture
o 8-byte instruction queue
o Expanded LIM 4.0-compatible 24-bit addressing
o Four DMA channels (to 8M bytes/sec)
o On-chip serial I/O controller
o Three JlPD71054-compatible 16-bit counter/timers
o Eight-channel JlPD71059-compatible interrupt
controller
o Refresh controller

V20 and V30 are registered trademarks of NEC Corporation.
V33, V40, V50, and V53 are trademarks of NEC Corporation.
MS-DOS is a registered trademark of Microsoft Corporation.

o Bus controller with wait-state generator
o Clock generator with STOP mode control for low
power
o 16-MHz (or 12.5-MHz) operation with 32-MHz (or
25-MHz) crystal

50159-1

ED

NEe

pPD70236 (V53).
Ordering Information
Clock (MHz)

Part Number
IlPD70236GD-10

10

GD-12

12

GD-16

16

R-10

10

R-12

12

R-16

16

Package
120-pin plastic QFP

132-pin ceramic PGA

Pin Configurations
120-Pin Plastic QFP
C')

C\I

~

0

00

NNNNCZ

en co 1'-.

<0 II)
...-...-..-..-..-

..,.

.....

0

C')

C\I

~

00

o..-..-..-..-z

0

0

(7)cor---COLnvCZ

('1')(\,1..-0

««>~«««>««~«««>~««

ENOITC

90

0 15

DMARQO

89

014

OMAAKO

88

013

DMARQ1

87

012

VOD
GNO

DMAAK1
DMARQ2
DMAAK2

°11
°10

OMARQ3

5MAAi<3
REFRQ

81

HLORQ
HLOAK
GNO

08

OO

INTPO

°5

°4

INTP1
INTP2

03

INTP3

02
GNO

voo
INTP4
INTP5

°9
°7
°6V

71

°1
00

INTP6

IC

INTP7

CPBUSY

INTAK

CPERR #

TCTLO

CPREQ#

TOUTO
TCTL1

VOO
GNO

TOUT 1

UBE

TCTL2

BUFEN

TOUT2
TCLK

OSTB
BCYST

# CPERR (error Indication) and CPREQ (data request)
are Inputs from a coprocessor.
83YL·6469B

2

NEe

IIPD70236 (V53)

132-Pin Ceramic PGA
Bottom View

Top View

00000000000000
00000000000000
00000000000000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
0000
00000000000000
00000000000000
00000000000000
P N M L

K

J

H G

FED C

14
13
12
11
10

9

S
7

S

S
4
Index mark

3
2

o

B A

/

ABC 0

E

F

G H

J

KL M N

III

P

Pin

Symbol

Pin

Symbol

Pin

Symbol

OMAROO

H1

INTP2

L13

GNO

N7

BUS LOCK

0 14

H2

INTP3

L14

CPERRII

NS

RESOUT

013

IC

H3

M1

TOUTO

N9

X2

014

H12

M2

TCTL2

N10

BUSSTO

E1

0 11
HLORO

VOO
GNO

H13

02

M3

TCLK

N11

RiW

E2

i5MAAK3

H14

M4

OTR

N12

lORD

E3

OMAR02

J1

03
INTP4

.MS

RxROY

N13

BCYST

OMAAKO

E12

INTPS

Me

AEX

N14

UBE

E13

VOO
0 10

J2

IC

J3

INTP7

M7

GNO

P1

OSR

E14

08

J12

IC

M8

VOO

P2

CTS

CS

A23
IC

F1

NC

J13

01

M9

BUSST1

P3

SINT

C6

A 18

F2

HLOAK

J14

NC

M10

IC

P4

TxO

A3

C7

REFRO

K1

INTPS

M11

MRO

PS

READY

C8

VOO
GNO

F3

Ao

F12

09

K2

INTAK

M12

IC

P6

BS8IBS1S

B1

OMAR01

C9

A7

F13

TCTL1

M13

BUFEN

P7

PCLKOUT

ENOITC

C10

VOO

F14

K12

CPREOII

PS

CLKOUT

A21

C11

A1

G1

VOO
CPBUSY

M14

B3

07
Os
INTP1

K3

B2

N1

TOUT 1

P9

X1

B4

VOO

C12

G2

INTPO

K14

IC

P10

RESET

A17

C13

G3

GNO

L1

DO
TCTLO

N2

BS

°1S
0 13

N3

RTS

P11

BUSST2

B6

A1S

C14

GNO

G12

VOO

l2

IC

N4

IC

P12

MliO

B7

A13

01

OMARQ3

G13

L3

TOUT2

NS

RxO

P13

IOWR

B8

A10

02

OMAAK1

G14

Os
04

L12

OSTB

NS

NMI

P14

MWR

Symbol

Pin

Symbol

B9

A9

03

B10

AS

012

B11

GNO

A 19

B12

A1S

B13

A2
IC

Pin

Symbol

Pin

A1

A22

A2

A20
GNO

A4
AS

AS

A14

B14

A7

A12

C1

AS

A11

C2

A9

NC

C3

A10

AS

C4

A11

AS

A12

A4

A13
A14

A3

0 12
OMAAK2

K13

# CPERR (error indication) and CPREO (data request)
are inputs from a coprocessor.
83YL-6470B

3

NEe

,.,PD70236· (V53)
Pin Identification
Symbol

AEX

I/O

Function

Symbol

I/O

Function

Out

Address bus

TxD

Out

Serial transmit data

Out

Address expansion mode flag

UBE

Out

Data bus higher byte enable

Out

Bus cycle start

X1,X2

In

Crystal/external clock

In

In

Data bus width specification

Voo

Out

Buffer enable

GND

Ground

BUSLOCK

Out

Bus lock flag

IC

Internal connection

B USSTO-B USST2

Out

Bus status

NC

No connection

CLKOUT

Out

System clock

In

Coprocessor busy

Out

Clear to send

BS8/BS16

DMARQO-DMARQ3

I/O

Data bus

Out

DMA acknowledge

In

DMA request

In

Data set ready

Out

Data strobe

Out

Data terminal ready

I/O

DMA service forced-end input;
DMA service complete output

HLDAK

Out

Bus hold acknowledge

HLDRQ

In

Bus hold request

INTAK

Out

Interrupt acknowledge

INTPO-INTP7

In

Maskable interrupt request

lORD

Out

I/O read

10WR

Out

I/O write

M/IO

Out

Memory I/O select

MRD

Out

Memory read

MWR
NMI

Out
In

PCLKOUT

Out

External I/O clock

READY

In

Bus cycle end

REFRQ
RESET

Out
In

Refresh request
Reset.

RESOUT

Out

System reset

RTS

Out

Request to send

R/W

Out

Read/write

RxD

In

Serial receive data

RxRDY

Out

Serial receive ready

SINT

Out

Serial interrupt request

TCLK

In

Timer clock

TCTLO-TCTL2

In

Timer control

TOUTO-TOUT2

Out

Timer output

4

Table 1. Output Pin States
DMA
Symbol

Hold

Halt

Reset

Cascade

Hi-Z

L

Hi-Z

Hi-Z

Note 6

Note 6

H/L

Note 6

BCYST

Hi-Z

Note 4

Hi-Z

Hi-Z

BUFEN

Hi-Z

H

Hi-Z

Hi-Z

Note 5

Note 5

H

H

Hi-Z

H

Hi-Z

H

AEX

BUSLOCK
BUSSTO-BUSST2
CLKOUT

o

o

o

O'

Hi-Z

Note 3

Hi-Z

Hi-Z

H

o

H

o

Hi-Z

H

Hi-Z

Hi-Z

o

o
o

H

Hi-Z

Hi-Z

o
o

H

H/L

L

L

H

H

H

H

Hi-Z

H

Hi-Z

Hi-Z

Hi-Z

H

Hi-Z

Hi-Z

MiiO

Hi-Z

L

Hi-Z

H

MRD

Hi-Z

H

Hi-Z

Hi-Z

DMAAKO-DMAAK3

HLDAK

Memory write
Nonmaskable interrupt request

+ 5-volt power source

Hi-Z

H

Hi-Z

Hi-Z

PCLKOUT

o

o

o

REFRQ

H

o
o

H

H

RESOUT

L

L

H

L

RTS

o

o

H

o

L

Hi-Z

H

o
o

o

H

o

L

o
o

R/W
RxRDY
SINT

NEe

pPD70236 (V53)

Table 1. Output Pin States (conI)

BCYST (Bus Cycle Start Strobe)
DMA

Symbol

Cascade

Hold

Halt

Reset

TOUTO-TOUT2

0

0

0

0

TxD

0

0

H

0

iJBi:

HI-Z

H

HI-Z

HI-Z

Notes:

(1). The pin states are Interpreted as follows: H Is high level; L Is low
level; H/L Is high or low level; Hi-Z is high impedance; 0 is
indeterminate.
(2) Halt includes both the HALT and STOP modes.
(3) Undefined for the first two clocks of the halt acknowledge cycle
and the Hi-Z.
(4) L for the first clock of the halt acknowledge cycle and then H.
(5) L under either of the following conditions: an instruction is
executed during hold with a BUSLOCK prefix, or the HALT
instruction is executed with a BUSLOCK prefix. Otherwise, the
value is H.

This signal indicates the start of a bus cycle by going low
for one clock immediately after the bus cycle is started.
When the bus is placed in the hold state, the BeYST pin
enters the high-impedance state.
BS8/BS16 (8-Blt Bus Slze/16-Blt Bus Size)
BS8/B516 is driven low by external logic when the
p.PD70236 addresses a device with an 8-bit data path. If
the p.PD70236 operand is 16 bits wide and B58/BS16 is
low, then the p.PD70236 will perform two 8-bit bus
cycles. The current bus cycle will handle the low byte on
Do-D7, and the next bus cycle will handle the upper byte
als6 on Do-D7' This input is ignored during HLDAK,
interrupt acknowledge, and coprocessor cycles.

(6) H in address expansion mode; L in nonexpansion mode.

BS8/B516. is samP.led on the rising (middle) edge of T2 or
the last TW state~ coincident with READY. This input is
not internally. synchronized. To ensure proper device
operation, minimum setup and hold times must be met.

PIN FUNCTIONS

BUFEN (Buffer Enable)

Ao-A,,3 (Address Bus)

This signal is output to enable an external buffer, and
becomes active during the read cycle, interrupt acknowledge cycle, and write cycle. It does not become active
while the internal I/O is being accessed.

These pins constitute an address bus that outputs real
addresses when memory or an I/O device is accessed.
Up to 64K bytes of I/O space and up to 16M bytes of
memory space (including reserved areas) 'can be accessedthrough the address bus.
The address bus enters the high-impedance state if one
of the following occurs.
• RESET signal is applied
• Microprocessor is in HOLD mode
• DMA requests are cascade connected
The status of the address bus is undefined during an
interrupt acknowledge cycle. When interrupt requests
are cascade connected, the slavelCU address is output
on pins Ao-A2'
When I/O is accessed, pins A16-A23 go low. The address
can be expanded even when the interrupt vector table is
accessed.
AEX (Address Extension)
AEX is asserted when the expanded addressing mode is
enabled. When AEX is high, the memory address space
is 16M bytes (24-bit address), and when [ow, 1M byte
(20-bit address).

BUSLOCK (Bus Lock)
BU5LOCK should be used by external logic to exclude
any other bus master (e.g., a DMA controller) from using
a shared resource.that the p.PD70236 currently is using.
When BU5LOCK is asserted high, HLDRQ will be ignored.
BU5LOCK is asserted when the BU5LOCK prefix is
executed or when the p.PD70236is performing· a bus
operation that must not be interfered with, such as an
interrupt acknowledge cycle. BUS LOCK has the same
timing as the address bus Ao-A23 and is driven high
during HLDAK and RESET.
BUSSTO-BUSST2 (Bus Status)
These three pins encode and output information identifying the type of bus cycle currently being executed.
They enter the high-impedance state in the bus hold
mode. These pins are used with the M/IO and R/W
signals, as shown in table 2.

5

ED

NEe

"PD70236 (V53)
Tsble2. BusCycle8
~ R~ BUSST2 BUSST1 BUSSTO
0

0

0
0

0

0
0

BUI

Cycle

0

0

Interrupt acknowledge
cycle (from SLAVE)

0

0

Interrupt acknowledge
cycle (from ICU)

0

External I/O read cycle

0

Internal I/O read cycle

0

External I/O write cycle

0

Internal I/O write cycle

0

0

0

0

0

1

0

o .

Coprocessor read cycle

0

0

0

0

Coprocessor write cycle

0

0

0
0

0

InstruCtion fetch Cycle

1

0

0

Refresh cycle

0

0

CPU memory read

0

DMA read transfer cycle

0

1

<,

Halt acknowledge cycle

~cle

0

0

0

CPU memory write cycle

0

1

0

DMA write transfer cycle

0

0

0

Coprocessor memory
read cycle

0

0

Coprocessor memory
write cycle
DMAcascade

Interrupt, Acknowledg. Cycle (from SLAVE). This cycle is the second interrupt acknowledge cycle during
which an interrupt request from a slave interrupt control
unit '(ICU) is acknowledged. During this cycle, the data
output by an external interrupt controller is processed
as a vector. The bus sizing function cannot be effected in
this cycle. The programmable wait function and READY
signals are both valid,' however.
Interrupt Acknowledge Cycle (f~om ICU). This cycle is
output during the first interrupt acknowledge cycle, during which an interrupt request for a non-slave ICU is
acknowledged. During this acknowledge cycle, the data
output by the internallCU is processed as a vector, and
the bus sizing function cannot be effected. The programmable wait function and READY signal are both valid,
however.
External 1/0 Read Cycle. This cycle is output when an
external 1/0 area is read by executing the IN instruction.
During this cycle, the bus sizing function can be effected. Also, the programmable wait function and
READY signal are both valid.
Internal 1/0 Read Cycle. This cycle is output when the
internal 1/0 area is read by executing the IN instruction.
6

The bus sizing function cannot be effected. Both the
programmable wait function and READY signal are invalid. However, two wait state clocks are automatically
inserted into all internal 1/0 area cycles except those for
the address expansion table and address expansion flag.
External 1/0 Write Cycle. This cycle is output when an
external 1/0 area, is written by executing the OUT instruction. The bus sizing function can be effected. Also,
the programmable wait function and READY signal are
both valid.
Internal 1/0 Write Cycle. This is output when the internalllO area is. written by executing the OUT instruction.
The bus sizing function cannot be effected. Both the
programmable wait function and READY signal are invalid. However, two wait state clocks are automatically
inserted into all internal ,I/O area cycles except those for
the address expansion table and address expansion flag.
Coprocessor Read Cycle. This cycle indicates that an
external coprocessor Is accessed for data read when a
coprocessor instruction is executed. The bus timing and
ac characteristics of this cycle are the same as those of
the ordinary I/O read cycle.
Although the bus sizing function cannot be effected,
coprocessor operations are not guaranteed if the bus
sizing function is used. The programmable wait function
is invalid, but the READY Signal is valid.
Coprocessor Write Cycle. This cycle indicates that an
external coprocessor instruction is executed. The bus
timing and ac characteristics of this cycle are the same
as those of the ordinary 1/0 write cycle.
Although the bus sizing function can be effected; coprocessor operations are not guaranteed if the bus sizing
function is used. The programmable wait function is
invalid, but the READY signal is valid.
flalt Acknowledge Cycle. This cycle is output when the
HALT instruction is executed. During this bus cycle, the
OSTB pin does not output a low level. The bus sizing
function cannot be effected. Both the programmable
wait function and READY signal are invalid.
Instruction Fetch Cycle. This cycle indicates that an
instruction is being fetched. The bus sizing function can
be effected. Also, the programmable wait function and
READY signal are both valid ..
Refresh Cycle. This cycle indicates that DRAM refreshingis in progress. The bus sizing function cannot be
effected. (Note that BS8/BSt6must be 16 bits.) The
programmable wait function and READY signal are both
valid.
CPU Memory Read Cycle. This cycle is output when the
CPU reads data from memory. The bus sizing function

NEe
can be effected. Also, the programmable wait function
and READY signal are both valid.
DMA Read Transfer Cycle. This cycle is output when
DMA transfer (that is, data transfer from memory to 1/0)
takes place. The bus sizing function cannot be effected~
The programmable wait function and READY signal are
both valid.
CPU Memory Write Cycle. This cycle is output when the
CPU writes data to memory. The bus sizing function .can
be effected. Also, the programmable wait function and
READY signal are both valid.
DMA Write Transfer Cycle. This cycle is output when
write DMA transfer (that is, data transfer from 110 to
memory) takes place. The bus sizing function cannot be
effected. The programmable wait function and READY
signal are both valid.
Coprocessor Memory Read Cycle. This cycle is output
when data read from memory is sent to the coprocessor.
Although the bus sizing function cannot be effected,
coprocessor operations are not guaranteed if bus sizing
is used. The programmable wait function and READY
signal are both valid.
Coprocessor Memory Write Cycle. This cycle is output
when data for a coprocessor is written to memory. The
CPU does not drive the data bus. Instead, the cop'rocessor drives the data bus to write data to memory.
Although the bus sizing function cannot be effected,
coprocessor operations are not guaranteed if the bus
sizing function is used. The programmable wait function
and READY signal are both yalid.
DMA Cascade. This cycle indicates that the DMA is
cascade connected to an external slave DMA controller.
During this cycle, the buses are relinquished.

CLKOUT (Clock Output)
This pin outputs a square-wave clock pulse. The frequencyof the output clock pulse is obtained by dividing
the frequency of the 'clock signal input to the X1 and X2
pins by a specific value. The duty factor of the output
clock pulse is 50%. The outputfrequency is the same':as
the operating frequency of the CPU (programmable to
one-half, one-fourth, one-eighth, or one-sixteenth of the
oscillation frequency).

CPBUSY (Coprocessor Busy)
CPBUSY is asserted low by a coprocessor (such as
p.PD72291) when it is busy with an internal operation;
The p.PD70236 uses this pin to check the. ~tatus of the
coprocessor.

pPD70236 (V53)
CPBUSY is sampled on the falling edge of each clock.
This input is not internally synchronized. To ensure
proper device operation, minimum setup and hold times
must be met.
If a 'coprocessor is not connected to the p.PD70236,
CPBUSY should be grounded.

CTS (Clear to Send)
This is a serial transmission control input pin. T~e SCU is
ready for data transmission when bit 0 of the SCM
register is set to 1 and this pin is at low level. When this
pin is made high while data transmission is in progress,
transmission is stopped atter the current data has been
completely transmitted, and 'the TxD pin goes high.

00-0 15 (Data Bus)
These pins constitute a data b~s that inputs or outputs
write data and read data when the external main memory or 1/0 device is accessed. The data bus is in the input
mode during any bus cycle ,other than a write cycle.
During the write bus cycle, the bus outputs data starting
from the rising edge of the T1 clock until the cycle
following the write bus end cycle.

OMAAKO -OMAAK3 (OMA Acknowledge)
These pins output active-low DMA acknowledge signals
fr'Om channels 0 to 3 of the internal DMAU.

OMARQO ..OMARQ3 (OMA Request)
These pins input active-high DMA request signals from
channels 0 to 3 of the internal DMA control unit (DMAU).

OSR (Oata Set Ready)
This is a general-purpose input pin. The status of this pin
can be determined by reading bit 7 of the serial status
(SSn register.

OSTB (Oata Strobe)
This is a strobe signal for read and write operations. The
signal does not go low during the halt acknowledge cycle
that indicates that the' HALT instruction has been executed. When the buses are placed in the hold state, the
DSTB pin enters the high-impedance state. The signal
output timing of this pin differs depending on whether a
read or write operation is performed. The DSTB signal
does not go low when the internal 1/0 area is accessed.

OTR (Oata Terminal Ready)
This is a general-purpose output pin. The status of this
pin can be set by bit 1 olthe SCM register.

7

III

NEe

pPD70236 (V53)

END/TC (End/Terminal Count)
This pin inputs the END signal to or outputs the TC
signal from the internal DMAU.

is not internally synchronized. To ensure proper device
operation, minimum setup and hold times must be met.

INTAK (Interrupt Acknowledge)

END Input. When a low-level pulse is input to this pin
during DMA transfer, the DMA .service under execution
is terminated after the current bus cycle is over.

This is an active-low acknowledge signal for a maskable
interrupt.

TC Output. When the count register of the DMAU
channel currently performing DMA transfer becomes
0, and when the DMA transfer has been performed the
specified number of times, the TC pin outputs a lowlevel pulse.

INTPO-INTP7 (Interrupt from Peripherals)

H LOAK (Hold Acknowledge)
This is an acknowledge signal that indicates that the
V53 has accepted the HLDRQ signal, placed the address, data, and control buses in the high-impedance
state, and relinquished the buses to an external device.
The external devices that can acquire the buses are
assigned the following priority.
REFU (highest priority)
DMAU
HLDRQ
CPU
REFU
If a bus hold request takes place while the buses are idle
(TI state), during the CPU bus cycle, or during lowestpriority refresh cycle, the HLDRQ signal is accepted
immediately after the bus cycle is over and the buses
are relinquished .. '
If a DMA request or top-priority refresh request is
generated while the buses are in the hold state, the
HLDAK signal is forcibly made inactive. In this case, the
external device must return control of the bus to the
V53 (making the HLDRQ signal inactive). Therefore, the
high-level width of the HLDAK signal when it is made
inactive forcibly is 1 clock minimum.

H LDRQ (Hold Request)
HLDRQ is asserted. high by external logic when an
external bus master (e.g., a DMA controller) wants to
take over the pPD70236 bus. When HLDRQ is detected
high, the pPD70236 wi II release the bus after the current
bus operation is completed. Note that this is. not
necessarily the. current bus cycle. The pPD70236 re~
leases its bus by floating the address, data, and control
buses.
HLDRQ is sampled on the rising edge of each clock. It
will be ignored while BUSLOCK is asserted. This input

8

These are asynchronous interrupt request input pins
for the internal interrupt control unit (lCU). The input
signals can be triggered either at the rising edge or at
high level. The priority of these signals can be fixed or
rotated. These interrupt request inputs are also used to
release the HALT and STOP modes.

lORD (I/O Read)
This active-low read signal goes low during the I/O read
cycle. This signal is also output when write DMA transfer is performed. However, it is not output during the
CPU's internal I/O read cycle.

10WR (I/O Write)
This is an active-low write signal that goes low during
the I/O write cycle. This signal is also output when read
DMA transfer is performed in two output timing modes:
the expansion write mode and the ordinary write mode.
It is not output during the CPU's internal I/O write cycle.

M/IO (Memory I/O)
This pin indicates whether a memory or other device
(such as an I/O device or' coprocessor) is currently
accessed. The device to be accessed is determined ~
this pin and the BUSSTO and BU.sST1 signals. The M/IO
pin enters the high-impedance state in the bus hold
mode. Its status changes at the falling edge of the T1
clock.

MRD (Memory Read)
This is an active-low read signal that goes low during a
read cycle in which data is read from memory. This
signal is output not only during the CPU's memory
read, but alsoquring the refresh cycle and when read
DMAtransfer is 'performed.

MWR (Memory Write)
This active-low write signal goes low when the memory
write cycle is in progress. This signal is output not only
during the CPU's memory write cycle, but also during
the write DMA transfer and when write DMA transfer is
performed in two output timing modes: the expansion
write mode and the ordinary write mode.

NEe

pPD70236 (V53)

NMI (Nonmaskable Interrupt Request)

RESOUT (Reset Output)

NMI is asserted by external logic to notify the CPU that
an external event requires the CPU's immediate attention. When NMI is sampled low, interrupt processing
will begin immediately after the current instruction is
completed. A trap will be taken through vector 2. The
state of the IE bit in the PSW has no effect on NMI
acceptance.

This pin outputs an active-high signal which is an
asynchronous RESET signal synchronized with the
internal clock. This signal can be used to reset the
system.

NMI is sampled on the falling edge of each CPU clock.
This input is not internally synchronized. To ensure
proper device operation, minimum setup and hold
times must be met.
Interrupt processing begins immediately after the end
of the current instruction. Once NMI processing commences, no further NMI requests will be accepted until
termination of the current NMI routine, which is indicated by the RETI instruction.

PClKOUT (Peripheral Clock Output)
This pi n outputs a square-wave clock pulse with a
frequency one-fourth the frequency of the clock signal
input to the X1 and X2 pins. The duty factor of the
output clock pulse is 50%.

READY (System Ready)
The READY signal is asserted low when the external
system is ready for the current bus cycle to terminate.
While READY is not asserted, the Jl PD 70236 wi II add TW
(wait) states to the current bus cycle. The bus state in
which READY is sampled low will be the last state of the
cycle.
During CPU read cycles, READY gives slow devices
time to drive the Do-D7 inputs, and during write cycles
gives slow devices enough time to finish the write
operation.
The READY input is sampled on the rising (middle)
edge of T2 and all TW states. It is ignored during the
HLDAK state. This input is not internally synchronized.
To ensure proper device operation, minimum setup and
hold times must be met.

RE F RQ (Refresh Request)
This signal is asserted during refresh cycles.

RESET (Reset)
This signal initializes the processor. The processor is
reset when this signal is held low for six clocks or longer
and then returned to the high level.

RTS (Request to Send)
This is a general-purpose output pin. The status of this
pin can be set by bit 5 of the serial command (SCM)
register.

R/W (Read/Write)
This pi n indicates whether the current bus cycle is a
read cycle or a write cycle. This pin is valid only while a
bus cycle is being executed, and goes high if the
current bus cycle is a read cycle or during an interrupt
acknowledge cycle; it J!oes low if the current bus cycle
is a write cycle. The RIW pin enters the high-impedance
state in the bus hold mode. The level of this pin
changes at the falling edge of the T1 clock.

RxD (Receive Data)
When the serial control unit does not receive data, this
pin is at high level (mark state). When the pin detects a
start bit, the SCU starts receiving serial data from an
external device.

RxRDY (Receive Ready)
When the serial control unit has received one character
of data, and when that data is transferred to the receive
data buffer (that is, when the receive data is ready to be
read), this pin goes high.

SINT (Serial Interrupt)
This signal becomes active to output an interrupt
request signal from the SCU when the transmit data
buffer of the SCU is empty and when the interrupt of, the
transmitting side is not masked, or when it contains the
SCU's receive buffer data to be read and the receive
interrupt is not masked.

TClK (Timer Clock)
This pi n inputs a clock pulse from an external source to
the internal timer/counter unit (TCU). When the system
is initialized, either the external clock or the internal
clock is selected to be supplied to the TCU.

TCTlO -TCTl2 (Timer Control)
These pins input control signals to the three TCU
counters. The functions of the control signals input
9

III

NEe

IIPD70236 (V53)
through these pins differ depending on the mode· (six
modes are available) set by the TCU.

TOUTO·TOUT2 (TImer Output)
These are output pins for the internal timer/counter unit.
The TCU outputs signals through these pins in six
different modes.

TxD (Transmit Data)
When the serial control unit (SCU) has no data to be
transmitted to an external device, this pin is at high level
(mark state). When transmit data is set in theSCU, the
TxD pin automatically outputs a start bit, serial data that
has been set in the SCU, a parity bit, and 1 or 2 stop bits.

UBE (Upper Byte Enable)
When the microprocessor accesses external main memory or an I/O device that requires the upper 8 bits
(08-D15) of the data bus, this pin goes low at the falling
edge ofthe T1 clock, enabling the upper byte on the bus.
The lower 8 bits (Do-D7) of the data bus are controlled by
the Ao pin as shown in the following table.
UBE

0-

o
1
1

&
0
1
0
1

Operation
16 bits accessed
Upper 8 bits accessed
Lower 8 bits accessed
Second cycle (for use with bus sizing
function)

When dynamic bus sizing is used to make a 16-bit
access into an a-bit, Ao must be used as an address bit;
UBE can be ignored.

X1, X2 (Crystal)
To use the internal clock generator, connect a crystal
with a frequency twice the operating frequency across
these pins. When using an external clock generator,
input square waves with a frequency twice the operating
frequency to the X1 pin. To the X2 pin, make the input
signal 180° out of phase (an Inverter output) with the
signal input to the X1 pin.

UNIT OPERATION
Central Processing Unit (CPU)
The ILPD70236 CPU is a high-performance engine whose
performance surpasses most other 16-bit CPUs. To
achieve this performance level, hardwired data path
control was used (no microcode) so that instruction
execution times are greatly reduced.

10

The #,PD70236 CPU has functions equivalent to those of
the ILPD70136 (V33) and is therefore completely software
compatible with the V33. The ",PD70236 instruction set
is upward compatible with the native modes of the V20,
V30, V40, and V50.

Clock Generator (CG)
The clock generator divides the oscillation frequency of
the crystal or external oscillator connected across pins
X1 and X2 by 2, 4, 8, or 16 to generate a clock that is
supplied' to the CPU as an operation clock and to an
external device through the CLKOUT pin. A clock having
a frequency one-fourth the oscillation frequency is also
output to the PCLKOUT pin.

Bus Interface Unit (BIU)
The bus interface unit controls the pins of the address
bus, data bus, and control bus, which are used by the
CPU, DMA unit (DMAU), and refresh control unit (RE FU).

Bus Arbitration Unit (BAU)
The bus arbitration unit arbitrates the internal bus mastership. The priority of the bus mastership is:
CPU with BUSLOCK (highest priority)
RE FU of top priority
DMAU
HLDRQ
Ordinary CPU
RE FU of lowest priority

Walt Control Unit (WCU)
The function of the wait control unit is to insert wait
states equivalenrtoO to 7 clocks automatically into the
memory, I/O, DMA, and refresh cycles. The 16M-byte
memory space can be divided into three blocks. In
addition, any 1M-byte memory space can also be divided
into three blocks.

Refresh Control Unit (REFU)
The RE FU supports the DRAM refresh operation by
generating 16-bit refresh addresses and a refresh signal
(REFRQ) indicating that the refresh cycle is currently
taking place.

Timer/Counter Unit (TCU)
The timer/counter unit of the #,PD70236 performs the
same. functions as the #,PD71054. It provides a set of
three independent 16-bit timer/counters.

NEe
Serial Control Unit (SCU)
The p.PD70236 SCU has the same functions as the
p.PD71051 except the synchronous mode for supporting
RS-232C protocol. This SCU is equipped with a dedicated baud rate generator.
The SCU provides serial communications functions· of
the start-stop synchronization type. Commands for the
SCU in the V53 are similar to those of the p.PD71051
except that the V53 uses two registers-SCM (serial
command) register and SMD (serial mode) register-to
implement the functions of the control word register of
the p.PD71051.

Interrupt Control Unit (ICU)
The ICU in the V53 has the same functions as those on
the p.PD71059 except the V53 does not have the CALL
mode (8085 mode) or the slave mode of cascade connection. The p.PD70236 ICU has eight external interrupt
input pins and can arbitrate up to eight interrupt requests. The number of external interrupt inputs can be
increased by cascade connecting the ICU to an external
interrupt controller.

IIPD70236 (V53)
Unlike the p.PD71059, p.PD70208, and p.PD70216, the
INTPO to INTP7 pins in the V53 do not have internal
pullup resistors to reduce current dissipation.

DMA Control Unit (DMAU)
The DMAU on the p.PD70236 functions the same as the
DMAUs on the p.PD71071 and p.PD71037 and, therefore, it
can operate in two modes (p.PD71071 mode and
p.PD71037 mode). You can set the operation modes using
a register in the system 1/0 area.
In p.PD71071 mode, source and destination addresses
are 24 bits. In p.PD71037 mode, source and destination
addresses are 16 bits. To extend these addresses to 20 or
24 bits, four 8-bit bank registers are provided. These
registers supply the upper address bits.
The DMA unit provides. four channels of p.PD71071compatible or p.PD71037-compatible DMA. External
hardware requests DMA cycles via the DMA request
inputs. DMA is always between an I/O device and memory (fly-by style DMA). External DMA controllers may be
cascaded using the V53 DMAU.

11

.:91
.:II

NEe

pPD70236 (V53)

"PD70236 Block Diagram

~I~I~I

ClKO~ ~

PCLKOUT~

TCLK

DMAROO
TxO

DMAAKO

RxO

DMAR01

RxROY

CPU

DMAAK1

SINT

DMAU

DMAR02

SCU

DMAAK2

CTS

DMARQ3

RTS

DMAAK3

OTR

ENDfTC

OSR

REFRO

-1

WCU
REFU

BAU

»
m
x

~I~ ~1~'~I~I~I~I~I~I~I~lil~li'
A

BAU

Bus Arbitration Unit

ICU

BIU

Bus Interface Unit

REFU

Refresh Control Unit

CG

Clock Generator

SCU

Serial Control Unit

CPU

Central Processing Unit

TCU

Timer/Counter Unit

DMAU

DMA Control Unit

WCU

Wait Control Unit

a>

Interrupt Control Unit

83YL-5728B

12

NEe

pPD70236 (V53)

ELECTRICAL SPECIFICATIONS

Absolute Maximum Ratings
TA = +25°C
Power supply voltage, Voo

-0.5 to + 7.0 V

Input voltage, VI

-0.5 to Voo + 0.3 V

Clock input voltage, VK

-0.5 to Voo + 1.0 V

Output voltage, Vo

-0.5 to Voo + 0.3 V

Output short circuit current, 10

50 mA

t Operating temperature, TOPT
-65 to + 150°C

Storage temperature, TSTG

t Devices with a rating of -40 to + 85°C are available. Contact NEC
for dc and ac characteristics.
Exposure to Absolute Maximum Ratings for extended periods may
affect device reliability; exceeding the ratings could cause permanent damage.

III

DC Characteristics
TA = -10 to + 70°C; Voo = +5 V ±10%
Parameter

Symbol

Min

Input voltage, high

VIH

2.2

Max

Unit

VOO + 0.3

V
V

RESET

Input voltage, low

Vil

-0.5

0.8

V

Except RESET

0.2 Voo

V

RESET

Clock input voltage, high

VKH

0.8 Voo

VOO + 0.5

V

Clock input voltage, low

VKl

-0.5

0.6

V

Output voltage,high

VOH

0.7 Voo

Output voltage, low

VOL

0.8 VOO

0.45

Conditions
Except RESET

= -400 pA

V

10H

V

10l = 2.5 mA

Input leakage current, high

ILiH

10

Input leakage current, low

ILil

-10

pA

VI = 0 V

Output leakage current, high

ILOH

10

pA

Vo = VOO

Output leakage current, low

IlOl

-10

pA

Vo = 0 V

Supply current

100

13 f + 40

mA

Operating; f

40

mA

HALT mode

TBD

pA

STOP mode

= 2 to 16 MHz

Voltage Thresholds for Timing Measurements
AC (except ClK)
Signal Inputs 2.4 V = X 2 . 2 V
2
. 2V;C
(except ClK) 0.4 V
..;;0,;.;;.8...,;v_ _ _ _.....,;0;.;,;.8;,..v;;...

AC test input measuring point
ClK Input

---Y·2.2V

2.2VV--

~..;;0.;.;;.8...;V~_ _ _.....,;0~.8~V;;.."_____
83VL·6484A

13

NEe

JlPD70236(V~53)

AC Characteristics
TA = -10 to + 70°C; VOO = 5 V ±10%; CL of output terminals =
100 pF max
Parameter

Symbol

Min

Max

Unit

Param'

'I

Clocks (figure 1)
CLKOUT period

tCYK

CLKOUT high-level
width

t",(H

62.5

CLKOUT rise time
CLKOUTfall time
X1 input perio'

Unit

"

50

ns

40

ns

0.5 tr

X1 input high-level
width
X1 input low-level
width
X1 input rise time

Max

50 r

P070236 t\lS3)
dUm"
to
the
~
, d \n thiS
d bV Adden
\S \nc\Ude
Supersede
addendum
Sheet. "the . section 7.
oata
\( 10\\0'11\09
data bOO

CLKOUT low-level
width

Min

... KOUTto MWR
delay
t)

5

ns

X1 input fall time

tXKF

5

ns

X1 to CLKOUT delay

tOXK

20

ns

PCLKOUT period

tCYPK

1000

ns

PCLKOUT high-level
width

tpKH

PCLKOUT low-level
width

tpKL

PCLKOUT rise time

tpKR

7

ns

PCLKOUT fall time

tpKF

7

125

ns
40

ns

0

40

ns

'OKMR

0

40

ns

tOKMW

0

40

ns

40

tOKOSH

5

tOAOSL

tKKL + tKR - 15

ns

Address/status hold
time from DSTB t

tHOSHA

tKKL + tKR - 15

ns

Data output delay
from DSTB t

tooSHO

tKKL + tKR - 15

ns

Data output delay
from address/status
output

tOAD

tKKL + tKR - 15

ns

ns

Data output delay
from CLKOUT t

tOKo

5

ns

4 tCYK-7

t

ns

')

Address/status output
delay to DSTB ~

ns

4 tCYK-7

CLKOUT t to DSTB

10

Reset (figure 2)

40

ns

ns

RESET setup time vs
CLKOUT ~

tSRSTK

30

ns

Data setup time to
CLKOUT ~

tSOK

7

ns

RESET hold time vs
CLKOUT ~

tHKRST

15

ns

Data hold time from
CLKOUT ~

tHKO

10

ns

RESET low-level width

twRSTL

6

tcyC

Data hold time from
DSTB t

tHOSO

0

ns

RESOUT delay from
CLKOUT ~

tOKRO

0

Data hold time from
change point of
address or status

tHASO

0

ns

' tHRWO

0

ns

40

ns

Write, Read (figures 3-12, 16-19, 23-24, 28, 31) Note 2
BCYST delay from
CLKOUT ~

tOKBC

BCYST low-level width

tBCBCL
tBCBCH

BCYST high-level
width
Address delay from
CLKOUT ~

ns

Dat hold time from
R/W t

tCYK-10

ns

7

ns

ns

READY setup time to
CLKOUT t

tSRYK

tCYK (n+ 1) - 10

READY hold time from
CLKOUT t

tHKRY

15

ns

5

40

toKA

5

40

ns

Control 2 delay from
CLKOUT

to KCT2

0

40

ns

(1) tCYC = CPU clock period
n = number of wait states

Status delay from
CLKOUT ~

toKST

5

40

ns

(2) The clock-to-signal delays in the -10 (10 MHz) and -12 (12.5 MHz)
parts are 45 ns compared to 40,ns in the -16 (16 MHz) part. For
full electrical characteristics of the -10 and -12 parts, contact
NEC.

14

Notes:

1ttIEC

pPD70236 (V53)

AC Characteristics (cont)
Parameter

Min

Symbol

Max

Unit

Bus Sizing (figures 13, 14)
888/8816 setup time
to CLKOUT f

tSBSK

888/8816 hold time
from CLKOUT f

tWVD"

Bus Hold (figure
HLDRQ setup tilT'
CLKOUT t
HLDRQ hold til).
form CLKOUT t

NMI, INTPO-INTP7,
CP8U8Y hold time
from CLKOUT ~

CLI\~_

.,.

tOFh •.

ns

."

tSIK

10

ns

tHKT

10

ns

.)

IORD~, IOWR ~ delay
from DMMKODMAAK3 ~

DMMKO-DMMK3
delay from lORD t

t

ns

50

TCTLO-TCTL2 hold
time from CLKOUT ~

tHKG

100

tGGL

50

ns

tGGH

50

ns

TOUTO-TOUT2 output
delay from CLKOUT ~

tOKTO

TCLK period

tCYTK

100
100

TCLK rise time

trKR

15

TCLK fall time

tTKF

15

TCLK low-level width

trKTKL

45

500

ns

v

40

ns

0

40

ns

tOKHOA

0

40

ns

tOOARW

tKKH - 30

ns

tORHOAH

tKKH -30

ns

~)

ns

0

40

tOWHRH

5

40

TC output delay from
CLKOUT t

·tOKTCL

0

40

ns

TC off output delay
from CLKOUT t

tOKTCF

0

40

ns

TC pullup delay from
CLKOUT t

tOKTCH

0

40

ns

lORD

tsGK

ns

tOKCT1

t delay to

IOWR

t

TCTLO-TCTL2 setup
time to CLKOUT ~

TCTLO-TCTL2 highlevel width

Unit

DMMKO-uMMK3
delay

CLKOUT to control 1
delay

Timer/Counter Unit TCU (figures 20-21)

TCTLO-TCTL2 low-level
width

Max

70236 {\}53)

'\ to the ~p~ \0 thiS
~ddeodum .s \Oc\ude
ded bV
odUm \
SUperse \ 1he add~ ct\OO 7.
oa\a She~ 10\\0'1l\Og e
data bOo

Input Setup and Hold (figure 15,
NMI,INTPO-INTP7,
CP8U8Y setup time
to CLKOUT ~

Min

ns

CLKOUT t to H LDA~
delay
.Output floating to
HLDAK delay

~" ... I-

Parameter
-.C::P.,.;-'

TC low-level width

trCTCL

tCYC -15

ns

ns

END setup time to
CLKOUT t

tSEOK

35

ns

ns

END low-level width

tEOEOL

100

ns

ns

lORD, MRD low-level
width

tRR

2tCYC - 40

IOWR, MWR low-level
width (Expanded
write)

tWWI

2tCYC - 40

ns
ns

TCLK high-level width

trKTKH

30

ns

TCTLO-TCTL2 setup
time to TCLK t

tsGTK

50

ns

IOWR, MWR low-level
width (Normal write)

tv-IW2

tCYC -40

TCTLO-TCTL2 hold
time from TCLK t

tHTKG

100

ns

DMARQO-DMARQ3
setup time to
CLKOUT t

tSOQK

15

TOUTO-TOUT2 output
delay from TCLK ~

tOTKTO

100

tOKLOA

0

TOUTO-TOUT2 output
delay from TCTL ~

tOGTO

100

CLKOUT ~ to
DMAAKO-DMMK3
delay

ns
ns

ns

45

ns

Interrupt Control Unit, ICU (figure 27)
INTPO-INTP7 low-level
width

tlPIPL

100

ns

15

ED

NEe

pPD70236 (V53)

Figure 1. Clock Timing

(X1)

CLKOUT

PCLKOUT

~-----tpKH ----~ ~-----tpKL----~
~-----------tCYPK-----------~
83YL·6482B

Figure 2. Reset Timing
CLKOUT

~-I------ tWRSTL------+-I

RESET

RESOUT

'DKRO \ ' -_ _ _ __

83YL·6483B

16

ttiEC

pPD70236 (V53)

Figure 3. B••,c Write (0 Waif
T2

T1

J

CLKOUT

r-

tOKBC-

tOKBC

(TI, T1)

J

_I

J

.tBCBCH-

\

\

I

I -r--tBCBCL

-I

I

)
r-

tOKA-

-

tOKMW

III

~tOKMW

\

)

*

'r-

t OKST -.../

OSTB

r-

J

BUFEN

tHOSHA
tOAOSL
. - tOKos

\

r--

tOKOSH

I

~tosoSL-

r- tOKCT2

~.

- r-

tOKCT2

!

\
tOOSHO

-

tOAD

r- t OKO
\
I

-

I--

tFK

* AMi, M/iQ, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-83428

17

NEe

"PD70236 (V53)
Flllur.... B••/e Wrll. (1 "'0
T1

T2

I

CLKOUT

-

tOKBC_

\

-.-

TW

I

--

tOKBC

(TI, T1)

J

tBCBCH

I

\

1

- r-

f-tBCBCL-1

*-

tOKMW

\

MWR

K

)

II

~

tOKA1

)

*
tOKST-I

tOKMW

II

-

r-

-

J

tOAOSL

r+-

I

I--

tOKOS

\

K
~ tHOSHA

tOKOSH

i

J

tOSOSL

-F

~ tOKcT2

-

-

OKCT2

\
- - tDDSHD

-

tOAD
-tDKO

~

>-

p

--.ltS.T..~.

tSRv~~1

j EtHK~

* RIW,

~

C

MliD, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-6343B

18

NEe

pPD70236 (V53)

Figure 5. S••'c Rad (0

Hlri~
T2

T1

(TI, T1)
~

J

CLKOUT

t DKBC

I-

tDKBC_

,

}

~

tBCBCH

\

H

\

1

-

I---I-tBCBCL-I

MRD

-

tDKMR

H

tDKMR

\

l-

tDKA1

)

*
tDKST-1

III

~

)

II

I

-

-..

I+-

"K

r-- tDKDSH

tDKDS

\

DSTB

I

J

1\

-- -

tDADSL

tDsDSH

I+-

tDKCT2

~tHDSD

-..
BUFEN

-

I - tDKcT2

\

~tHASD

I - t HRWD

/
tSDK

HI-Z

Hi-Z

tSRYK

:.----..

\
* RMi, M/iQ, BUSSTO, BUSST1, BUSST2, UBE, AEX

-

I

tHKD

t HKRy

83YL-6344B

19

NEe

I'PD70236 (V53)
Figure a. S••/e Read (1 l1li/(,1
T2

T1

CLKOUT

-

tDKBC_

TW

(TI, T1)

I

~

j
t DKBC

~

J

tBCBCH

\

l

\

I
k-- I-tBcBCL-1

-

H

~ tDKMR

\

)

tDKA~

l-

II

II

II

I

)

*
tDKST-l

-

-

~

tDKDSH

~ tDKDS

\~

------

tDADSL

--

~ tDKCT2

j.

tHDSD
~tDSD SH

j.

tHASD

~

~t

DKCT2

~

t HRWD -

\

L

/

~

k:
tSDK

Hi-Z

Hi-Z

-

r
tSRYK

tSRYKI-

~
tHKRY -

* - -

-

I-

\

~

tHKD

f--

-

tHKRY

RIW, MIlO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL·6345B

20

NEe

pPD70236 (V53)

Figure 7. External I/O Read (0 l1li/(1
T2

Tl

I)

j

CLKOUT

\

\

~ f-tBCBCL-1

-

-

j

"

r-

t DKBC

I-

tDKBC_

(TI, Tl)

tDKIR

H

tDKIR

\

tDKA~

l-

)

*
tDKST-1

II

I

--

BUFEN

III

X

)

,

I-

II
tDKDSH -

tDKDS

I

X

I

f-

~I\

)

-

t HDSD

I-- tDKCT2

tDSDSH

:.-

f..---.j

tDKCT2

!

\
tSDK

Hi-Z

Hi-Z

tSRYK I - -

READY

\
* RIW, M/iO, BUSSTO, BUSST1, BUSST2, UBE, AEX

-

II

tHKD

tHKRY

83YL-6346B

21

NEe

"PD70236 (V53)
Figure &

External I/O Read (1 . , '
T1

TW

T2

(TI, T1)

/

/

CLKOUT

I-

tDKBC""'"

t_

tDKBC

\

\

~ r-tBCBCL-1

.,...,.

I-

tDKIR

H

tDKIR

\

X

)

II

l-

tDKA-I

)

*
tDKST-i

II

II

..-

.,...,.

+-

-

tDKDSH

t DKDS

\
.,...,.

X
/

L
..
-

-

~ tDKCT2

\

I

~

tSDK

tHDSD

I-

~

CT2

Hi-Z

~

* R1W, M/iO, BUSSTO, BUSST1, BUSST2, UBE, AEX

Hi-Z

\

I
I

tHKD

tSRYK

t SRYK \ -

tHKRY -

t DsD SH

I-

-

t HKRy

83YL-6347B

22

NEe

IIPD70236 (V53)

Figure 9. Externall/O Write (0 WaIO

T2

T1

,j

j

CLKOUT

j

r-

t oKBC

I-

tOKBC_

(TI, T1)

\

\

I+-- I-tBCBCL-

-\

IOWR

I-

tOKIW

-j

tOKIW

X

)
l-

tOKA1

)

*
tOKST

-...J

II

I

f-

-

OSTB

-

I--

tOKOS

X

H

I

tOKOSH

\
k------tososL -

k- tOKCT2

=l

-

\
k-

-

t oKo

~
~

(

r-

tO KcT2

!
I+-

tFK

~

'HKRV

* R/W, M/iO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-6348B

23

NEe

pPD70236 (V53)
Figure 10. External 110 Write (1 l1li/(1
T1

\

CLKOUT

J
I-

tOKBC-

r

tOKBC

\

BCYST

TW

T2

(TI, T1)

Ij

"

J

.\

~ f-tBCBCL-1

-

tOKA

-I

I-

tOKIW

Ht

OK,W

\

)

X
~

II

I

II

X

)

*
tOKST

-.J

-

~

DSTB

BUFEN

-

-1

f+- tOKOS

\

I

tOKOSH

~

-

I- tOKCT2

\k

-

~ tOKO

\;

F'

OKCT2

l~

I
tSRYKH

tSRYKI-I

~

REAOY

tHKRy -

* RJW,- MIlO,- BUSSTO, BUSST1, BUSST2, UBE,
- AEX

~

\

-

tH KRY

83YL-8349B

24

NEe

pPD70236 (V53)

Figure 11. Internal

ua Read
T2

T1

*

TW

T1rr1

-

=x--!...-----~X
~1~tIDKD

Do-D15

TW

--------~

r

* RJW,

tDKCT2

M/iQ, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL·6359B

25

NEe

,.,PD70236 (V53)
Figure 12. Internal I/O Write
T1

T2

TW

TW

T1fT!

*==r~--------------~x~­
---!..-1~t
'OKO

°0·D 15

--------~

I

BUFEN

r

E

t DKCT2

_-----J

* RiW,

MliO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-6360B

26

ttiEC
Figure 13.

pPD70236 (V53)

Bus Sizing (0

./0
T1

T2

(T1.TI)

CLKOUT

BS8/BS16

* RIW. M/iO.

BUSSTO. BUSST1. BUSST2. UBE. AEX
83YL-6361B

27

NEe

pPD70236 (V53)
Figure 14. Bus Sizing (1

./0
T1

T2

TW

(T1,TI)

CLKOUT.

BS8/BS16

* - -

-

RIW, MIlO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-6362B

28

NEe

pPD70236 (V53)

Figure 15. Input S.tup/Hold
CLKOUT

~
SIK

NMI, CPBUSY,
INTPa - INTP7

-------

Figure 16.

~

-t-HK-T---------------83YL-6369B

a. Lock
CLKOUT

III

BUSLOCK

83YL-6370B

29

~EC

pPD70236 (V53)
Figure 17.

Bus Hold
CLKOUT

HLDRQ

HLDAK

*

Hi-Z

CLKOUT

HLDRQ

HLDAK

* ____________________~H~I-~Z~_________________~t~
*

30

AO -A 23 • Do -D15. MliO. BUSSTO. BUSST1. BUSST2. UBE. BCYST. DSTB
83VL-6371B

NEe
Figure 18.

pPD70236 (V53)

Interrupt Acknowledge (Single Mode)
T1

T2

TW

T1

TW

T1

T2

TW

TW

AO-A23

II

tOKCT2

-j

~

tOKCT2

tO KCT2

III

II

INTAK

II
*

II

-iLt

BUFEN

DKcT,

C

tSRYK ~

tSRYK

\

\[
t HKRy

I--

H

t HKRy

~

Hi-Z

_o_srn
BUS LOCK

11 tD~

-

~~______________________________

* RIW.

\r-t_tOK_A_ _ _ _ __

J"

M/iO. BUSSTO. BUSST1. BUSST2. UBE. AEX
83YL·6372B

31

NEe

pPD70236 (V53)

Figure 19.

Interrupt Acknowledge (Cascade Mode)
T1

T2

TW

TW

T1

T1

TW

TW

I II I

I I

II I

~

T2

!: 1-I {'DKCT'
cT2

!

1

~~'DKCT'

II
II

11

tDKCT2

tSDK

* R/W,
32

MliO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL·6373B

NEe
Figure 20.

pPD70236 (V53)

Timer/Counter Unit (TCU)

CLKOUT

TCTLO TCTL2

~

_______________________________
tD_K_TO
__-___
.
TOUTOTOUT2

----------------------------~

III

TCLK

TCTLO TCTL2

__________________________tD_G_T_O____

~t:
~---------------~.-

TOUTO)(
TOUT2 _______________________________________---J L -________

DTKTO
t

~

83YL-6374B

33

NEe

pPD70236 (V53)

Figure 21. Serial Control Unit (SCU)
RxD

TOUT 1

I-

1.....1 - - - - 1 6 or 64 TOUT 1 pulses -

Tx D

1--16 or 64 TOUT1 pulses -

--------'1--.
tDTX

83YL-6375B

Figure 22. Refresh Timing
T1

T4

T2

T3

T4

CLKOUT

ID~ ~
Ao-A23 ____________

ttt

ocOCL

~)(~--~----------~----------------------~~------')(~_____________

tl

I

*--------------~)(~~------~~----------------~--J)(---------------------tD_K_C_T_2_~

____________

REFRQ

___{

tDKCT2

1~
-i~

-.J

)+-

~-------"

ISRYK

* R!W,

ylSRYK

M/iO, BUSSTO, BUSST1, BUSST2, UBE, AEX
83YL-6376B

34

NEe
Figure 23.

pPD70236 (V53)

DMA Timing 1
T4

T1

T2

T3

T4

CLKOUT

ED
tOOARW

MRO,IORO
tOKCT1
tOOARW

_
tOWHRH

83YL·6377B

35

NEe

pPD70236 (V53)
Figure 24. DIIA Timing 2
T1

T2

T4

T3

CLKOUT
tDKTCF
tDKTCH

SEDK

tEDED'}.~________________________________________________

_____________{
t

END

__

CLKOUT

DMARQn
(n =0 -3)

*

Pull-up resistance at TC pin = 2200 ohms
83YL·6378B

Figure 25. DIIA Timing 3; Ca.~dellode (Norma' Operation)

CLKOUT

/\.

r

T4

T1

ttSS_DD_QQ~K-Jr~~~------~\~--~

-________
--J

DMARQn
_
(n =0 -3)

~------------------~----------------

tD_K~L~~

_________________
DMAAKn
(n

= 0 - 3)

)7------------------------------'
83YL·6379B

36

NEe

pPD70236 (VS3)

Figure 26. DIIA Timing 4; Refresh Cyclell To Be Inserted

~

CLKOUT

DMARQn
(n=O-3)

r---'5

---.l

______________

~/~tDKLD:r~ ,~------tD-KL-DA----~~~

DMAAKn
(n

= 0 - 3)

_ _ _ __ _
83YL-6380B

Figure 27.

ICU Timing

III

INTPn __ttIPlPLJ__
(n=O-7)

__
83YL-6381A

37

NEe

IIPD70236 (V53)
Figure 28. "elllOry Write tor Coprocessor (0

\

CLKOUT

T1

TC

/

/

r-

tOKBC_

-

t OKBC

\

).

w./~
T2

~

/

tBCBCH

I

\

I
r-tBCBCL-1

I

(

-

t OKA -

(TI,T1)

H t oKMW

MWR

j..--I

-

)

*

-I

-

-

tOKMW

1-

tOKCT2

tOKsT

K

-I

-

tHosHA

t OKOS
~

\

OSTB

tSRYK

\

38

MliO, BUSSTO, BUSST1, UBE, AEX

t OKOS

I

-

_tOSOSL-

* RIVii,

tOK CT2

-

-I
tHKRY

83YL-6382B

NEe

pPD70236 (V53)

Figure 29. Memory Write tor Coprocessor (1

./0

T1

TC

T2

TW

(TI,T1)

I

I

I

1,/

I

r-

ClKOUT

-n

t DKBC

t DKBC

BCYST

I-

f-

.1

tBCBCH

I

\

I
1 -I-tBCBCl-i

=~

-

tDKA

K
f-

H tDKMW

~
-I

-

III

-

tDKCT2

I--

*

I

tDKMW

\
-

t DKCT2

K
-

tDKST

-I

-

tHDSHA

t DKDS

~ tDKDS

\

DSTB

I
tDSDSl

tSRYK~
READY

* R/W, wiD, BUSSTO, BUSST1, UBE, AEX

-

tSRYK

\
-

\

I

-

tHKRY

I

-

tHKRY

83YL·6383B

39

NEe

pPD70236 (V53)
Figure 3D. lIemory Read for Coproctlllllor (0 ./0

..-

tOKBC-

\

)

-

)
t OKST

OSTB

-I

_I

..-

..

J

tBCBCH

I

\

-tBCBCL-1

I

-I 11",r

--I

..- t OKCT2

tOKOS
..- t OKOS

-.!

tOSOSH-

tSRYK

\

* RIW, M/iO, BUSSTO, BUSST1, UBE, AEX

..-

r-

L

\

J

tOKMR

t OKCT2 -

tOKMR

tOAOSL

40

/

~

I

-\
-

BUFEN

*

t OKBC

..-

tOKA-

(TI, T1)

~

J

CLKOUT

T2

TC

T1

-

-

1..-

t HKRy

83YL-6384B

ttiEC

pPD70236 (V53)

Figure 31. Memory RfNld tor Coprocessor (1./0
T1

CLKOUT

-

BCYST

TC

T2

TW

(TI. T1)

\

~

I

---

~ tOKBC

~tOKBC

I

tBCBCH

n

I

\

t
1 - '-tBCBCL-1

~

-

tOKA ~

~
-ltOKST

ED

\

-\

*

1-

tOKMR_

-

-

-~

tDK~2)-

tOKMR

tOKCT2

tOKDS
_ t OKOS

\

~

I

IOAOSL
ISRYK!-

tHKRy -

\

-

r'-

ISRYK

1\

REAOY

* Rlw. M/iO. BUSSTO. BUSST1. UBE. AEX

-..J

IOSOSH-

-

IHKRY -

83VL·6385B

41

pPD70236·· (V53)
FUNCTIONAL OPERATION

•
•
•
•
•
•
•

The I'PD70236 is described under these major headings.
•
•
•
•

Central Processing Unit
Clock Generator
Bus Operation
System ControlI/O

Wait Control -Unit
Refresh Control Unit
Timer/Counter Unit
Serial Control Unit
Interrupt Control Unit
DMA Control Unit
Power Conservation

Figure 32.' CPU BIDCk DllIIJI'sm
)I

II
PS
DSO
DS1

c:::>

SS
PFP

f'

~""

II
Address
Translation
Table

?"

Internal
Address Bus

Address
Expansion
Control

)

ToBIU

)

ToBIU

/'.

p
Internal Data
Bus

LC

~

PC
AW

<=

OW

P

EAG

BW
CW

ODR

(I
PO

P

U

IX
L---

IV

'---

~

Pre-Decoder

BP
SP

Registerl
ALU
Control

U

TC

p

TA

P

Main Decoder

TB

M

U

I

PSW

Sub Data Bus
(16)

Execution
Control

lc

Co-Processor
Control

Interrupt
Control

I-

INT (from ICU)

I-

NMI

Main Data Bus
(16)
83YL-6216B

42

NEe

pPD70236 (V53)

CENTRAL PROCESSING UNIT (CPU)

are general-purpose registers (AW, BW. Cw. DW, IX. IV, BP.
and SP). These contain either operand data or point-to.operand data in memory.

Architecture
A unique hardware architecture feature of the CPU is that
it contains no microcode. Instruction decode and data
path control are implemented using logic and small
independent state machines. This greatly enhances instruction execution speed. The V53 is four times faster
than the V30.
The CPU comprises the execution unit and the address
generator. Figure 32 is the CPU block diagram.

CPU Execution Unit
The execution unit consists of a register file. an ALU. and
instruction decode and execution control logic.
In addition to the hardware control logic. the most
significant feature of the execution unit is a dual-bus
internal data path (figure 33). The AW and many registers are dual ported with a data bus on each port. This
allows two operands to be transferred in one clock cycle
instead of two. Performance is improved as much as
30% by the dual data bus concept.

Figure 33. DuII'O.'. Buses
Subdata
Bus

Main Data
Bus

The temporary registers speed up instruction execution
by serving as scratch pad registers during complex
operations.
The loop counter (LC) is used during primitive block
transfer operations. It contains the count value. It is also
a shift counter for multiple-bit shift and rotate instructions.
Temporary registers TA. TB. and TC are inputs to the
AW. They are used as temporary registers/shifters during multiply. divide. shift/rotate. and BCD rotate operations.
AW. The ALU consists of a complete adder ar1d logical
operation unit. It executes arithmetic (ADD. SUB. MUL.
DIV. INC. DEC. NEG. etc.) and logical (TEST. AND. OR.
XOR. NOT, SET1. CLR1. etc.) instructions.
Data Path Control Logic. This logic comprises the
main instruction decoder and the execution control
blocks. Its purpose is to determine which operations
must be done and to schedule them. It transfers operands. as required. and controls the ALU. State machines
implement long. complex instructions.
.
Instruction Prefetchlng. The V53 is a pipelined machine. To keep the pipeline running efficiently. it should
be kept full of instructions in various stages of execution. Instructions are fetched before they are needed and
placed in the instruction processing queue (lPQ).
Data in the IPQ is broken out by the decoder logic to
determine what addressing modes will be used and what
CPU resources are required to execute the prefetched
instruction. To keep the a-byte IPQ full, the bus control
logic schedules an instruction prefetch cycle whenever
there are at least 2 unused bytes in the IPQ.
The IPO is cleared whenever a control transfer instruction (any branch. call, return. or break is executed). This
is done because a different instruction stream will be
used following a control transfer, and the IPO will then
contain instruction data that will never be used. When
this happens. the V53's pipeline is emptied and performance is reduced. To maximize performance. the number of control transfers should be minimized.

49NR-247A

Register File. There are 12 registers in the internal RAM.
Four are temporary registers used in the execution of
certain instructions (LC. TA. TB. and TC). The other eight

Effective Address Generator. The effective address
generator (EAG) logic computes a 16-bit effective address for each operand. This address is an offset into one
of the four segments. Refer to figure 34. This effective
address is passed on to the address modifier adder. The
EAG decodes the first byte(s) of each instruction to

43

ED

NEe

JlPD70236 (V53)

determine the addressing mode and initiates any bus
cycles required to fetch pointers/offsets from memory.
Effective addresses are calculated in a maximum of 1
clock period as compared with 5 to 12 clocks for a
microprogrammed machine.
Figure U. Effective Address Generator

Effective Address
49NR-248A

. Address Generator
The address generator comprises the address register
file, the address modifier (ADM), the address translation
table, and the needed control logic.
The registers in the address register file are PS. SS, DSO,
DS1, PC, and PFP. The ADM is a dedicated adder that
adds one of the segment registers to the effective address to produce the 20-bit normal address. The ADM
also increments the prefetch pointer. If extended addressing is enabled, the address translation table is
accessed to map the 20-bit address into a 24-bit extended address.
For instruction stream data, addresses are generated
differently. The prefetch pointer contains a 16-bit offset
into the PS segment that points to the next instruction
word to be prefetched. The program counter contains an
offset into the PS segment that points to the instruction
that is currently being executed. As part of all control
transfers, the PFP is set to the same value as the PC.

CPU Addressing Mechanism
The V53 is completely compatible with the p.PD70108/116
in its addressing modes and in the way that addresses
are computed. It offers a method of expanding the
memory address space to 16M bytes.
The I/O space is 64K bytes (16-bit address). The normal
memory address space is 1M byte (20-bit address), and
the expanded address space is 16M bytes (24-bit address). See figure 35. Expanded addreSSing is enabled or
disabled using the BRKXA and RETXA instructions.
The memory space is accessed when an instruction uses
a memory addressing mode. Memory addresses are
44

calculated as described below. The I/O space can only
be accessed through the IN, OUT, INM, and OUTM
instructions.
Certain areas of the V53 address spaces (physical for
normal mode and logical for expanded addressing
mode) are reserved .. Memory addresses 0-3FCH are
used for the interrupt vector ta.ble (figure 35) located in
the interrupt operation section. Memory addresses
FFFFOH-FFFFFH must contain a branch to boot code;
PC, PFP, and PS are initialized at RESET to point to this
area.
I/O addresses FFOOH-FFFFH are reserved for the address translation registers and system control registers.
The DMAU, TCU, ICU, and SCU sections each contain a
block of registers with programmable base addresses.
They may be located inside any 256-byte block in the I/O
space. See figure 36.
Figure 35. lIIemory Address Space
16M B
FFFFFFH r - - __ _ .:.,.yte_s---,

1M Bytes
FFFFFH
FFFFCH
FFFFBH

Reserved
Reset Vector
1 Page = 16K Bytes

FFFFOH

1 Page = 16K Bytes
1024 Pages
64 Pages

3FCH
Interrupt
Vector Table
Normal Memory
Address Space

~

01

~

1

Expanded Address Mode
Address Space
49NR-334A

I/O Addresses
I/O devices can be referenced by 8-bit immediate addresses or by 16-bit addresses via the OW register. If I/O
operations require other more complex addressing
modes, the I/O devices must be placed in the memory
address space (using memory-mapped I/O techniques).
For· memory-mapped I/O devices, there are no restrictions on instruction or addressing mode usage. However,
the V53 will not automatically insert 6 clock cycles after

NEe

pPD70236 (V53)

memory-mapped 1/0 operations; external logic must
provide the necessary I/O device recovery time.
Figure 36.

Figure 37. 2O-8il AddrellS
15

va Address Space

15

FFFFH
System Control
and Address
Translation
Registers

FFOOH

Normal Mode Physical Address
or
Expanded Mode Logical Address

DMAU
Within
256 Bytes
in the
Internal 110 Area

ICU

49NR-349A

TCU

If normal addressing mode is enabled, this 20-bit result is
presented on the address bus during the bus cycle. If
expanded addressing mode is enabled, this address is
used as a logical address.

SCU

Expanded Addresses
OOOOH
83YL-6549A

Normal Memory Addresses
The V53 is a 16-bit device with 16-bit registers. To allow a
memory address space larger than 64K bytes, memory
segmentation is used. The 1M-byte memory address
space is divided into 64K-byte'segments. Up to four
segments can be in use at any given time. The base
addresses of the four active segments (program segment, stack segment, data segment 0, and data segment
1) are contained in four 16-bit segment registers (PS, SS,
OSO, and OS1, respectively). The 16-bit value in each
register is the upper 16 bits of the 20-bit memory address. Thus, segments must start on 16-byte boundaries.
As described above, the V53 hardware generates a 16-bit
effective address for each memory operation. This effective address is an offset into one of the four active
segments. The actual 20-bit memory address is computed by adding the EA to the segment register value
expanded with zeros to 20· bits. Figure 37 shows this
process.

In the expanded addressing mode, the memory space is
divided into 1024 pages (figure 35). Each page is 16K
bytes. Each page of the normal 20;.bit address space is
mapped to a page in the expanded address space using
a 64-entry address translation table. The table is made
up of 64 page registers that reside in the 1/0 space.
The programming model of this mode is the same as for
the normal mode. Address expansion. is a layer added to
the normal mode that is transparent to executing code.
The program still sees a 20-bit contiguous logical memory address space, but the hardware sees 64 pages
mapped into a set of 1024 physical pages.
The 1/0 space is not affected by the expanded addressing mode.
The address translation mechanism is shown in figure
38. The upper 6 bits of the logical 20-bit address select
one of the entries in the address translation table, which
supplies a 10-bit value. This value is substituted for the
original 6 bits in the normal address to create a 24-bit
expanded address.

45

mil

E.JI

NEe

"PD70236 (V53)
Figure 38. Address Translation Mechanism

Figure 39. Addr.s Expansion Registers
Page Registers

20-Bit Logical Address

Page Offset

o

14

PGR Selected

PGR I/O Addr•••

PGR1

FFOO

PGR2

FF02

2

PGR3

FF04

3

PGR4

FF06

63

PGR64

FF7E

Translation Table

XAM Regllt.r
15

14 13

o

Operand Addressing Modes

24-Bit Expanded Address
49NR-335A

Address Expansion Registers
These are the page and XAM registers, accessed by the
word IN and OUT instructions. Figure 39 shows page
register usage and 1/0 addresses. The page registers
contain the 10-bit physical page base address. The XAM
register is a read-only status flag that indicates whether
expanded addressing is enabled.
Unused data bits in the XAM register are read as O.
Expanded addressing must be disabled before accessing any of the page registers. That is, if expanded mode
is enabled, the page registers cannot be accessed. This
prevents an expanded mode task from accidentally modifying its memory map.

For operand addressing, the V53 offers nine modes.
•
•
•
•
•
•
•
•
•

Register
Immediate
Direct
Register indirect
Indexed
Based
Based indexed
Bit
Autoincrement/autodecrement

Register. The operand is in a V53 register pointed to by
the instruction.
Immediate. The operand is in the instruction stream
following the opcode of the instruction. This data will
have been prefetched. Immediate. data uses the V53
pipeline efficiently.
Direct. Immediate data in the instruction stream points
directly to the operand. This data can be a 16-bit effective address or a bit field length of 4 bits.
Register Indirect. A 16-bit register (IX, IV, or BW)
contains a 16-bit effective address.
Indexed. One or two bytes of immediate data are
treated asa signed displacement that is added to the
contents of a 16-bit index register (IX or IV) to obtain a
16-bit effective address.
Based. One or two bytes of immediate data are treated
as a signed displacement that is added to the contents of
a 16-bit base register (BP or BW) to form a 16-bit
effective address.
Based Indexed. One or two bytes of immediate data
are treated as a signed displacement that is added to two

46

1\'EC
16-bit registers (BP or BW and IX or IV) to form the
effective address. This mode is useful for array addressing.
Bit. Used with NOT1, ClR1, or TEST1. A 4-bit immediate
data value SET1 selects a bit in a 16-bit operand. For
8-bitoperands,· only 3 bits are used.
Autolncrement/Autodecrement. Some iterative operations (such as MOVBK or IN S) will automatically increment or decrement index registers after each iteration.
Specifically, IX is used in addressing a source pointer,
and/or IY is used in addressing a destination pointer.
After the operation, both will be incremented or decremented (according to the PSN DIR control flag) to point
to the next operand in the array.

Instruction Addressing Modes
Instruction address modes are basically the same as the
operand addressing modes, but the PC is always used in
the register. These modes are used in control transfer
instructions.
• Direct
• Relative
• Register
• Register indirect
• Indexed
• Based
• Based indexed
Direct. Four bytes of immediate data are taken as an
absolute address and loaded directly into the PS and PC
(and PFP).
Relative. One or two bytes of immediate data are a
signed displacement that is added to the contents of the
PC, and then placed in the PC (and PFP). This mode is
useful to create position-independent code.
Register. The register selected by the instruction (AW,
BW, etc.) contains an effective address, which is loaded
into the PC (and PFP).
Register Indirect. An index register (IX, IV. or BW)
points to a memory location that contains an effective
address (short pointer) or a segment register value and
the effective address (far pointer). This effective address
is read from memory and loaded into the PS and/or PC
(and PFP).
Indexed. One or two bytes of immediate data are a
signed displacement added to the contents of a 16-bit
index register (IX or IV) to form an effective address. This
address is used to fetch another effective address from
memory, which is then loaded into the PC (and PFP).

,.,PD70236 (V53)

Based. One or two bytes of immediate date are a signed
displacement added to the contents of a 16-bit base
register (BP or BW) to form an effective address. This
address is used to fetch another effective address from
memory, which is then loaded into the PC (and PFP).
Based Indexed. One or two bytes of immediate data are
a signed displacement added to the contents of two
16-bit registers (BP or BW and IX or IV) to form an
effective address. This address is used to fetch another
effective address from memory, which is then loaded into
the PC (and PFP).

CPU Register Configuration
Program Counter (PC). The ,PC is a 16-bit register
containing the effective address of the instruction currently being executed. The PC is incremented each time
the instruction decoder accepts a new instruction from
the prefetch queue. The PC is then loaded with a new
value during execution of a branch, call, return, or break
instruction, and during interrupt processing.
Segment Registers (PS, SS, DSO, DS1). There are four
segment registers, each containing the upper 16 bits of
the base address of a 64K logical segment. Since logical
segments reside on 16-byte boundaries, the lower 4 bits
of the base address are always zero. Normal 20-bit
memory addresses are formed by adding the 16-bit
effective address to the base address of one of the
segments. During this operation, certain types of effective addresses will be paired with specific segment
registers.
Segment Register
PS (program segment)
SS (stack segment)
DSO (data segment 0)
DS1 (data segment 1)

Default Offset
PFP
SP, effective address
IX, effective address
IY

Program instructions will always be· fetched from the
program segment. Whenever the IY index register addresses an operand, the DS1 segment register will be
used. DSO is usually used with IX. Stack operations with
the SP will always use the stack segment. For other
effective addresses, the table above shows the default
segment, but another segment may be selected by a
segment override prefix instruction.
General-Purpose Registers (AW, BW, Cw, DW). The
four 16-bit general-purpose registers can be accessed as
16-bit or 8-bit quantities. When the AW, BW, Cw, or rJN
destination is used, the register will be 16 bits. When Al,
AH, Bl, BH, Cl, CH, Dl, or DH is used, the register will
be 8 bits. Al will be the low byte of PW and AH will be the
high byte, etc.

47

mil
.:II

NEe

,.,PD70236 (V53)

Some operations require the use of specific registers.
Operation
Word multiplication/division, word I/O,
data conversion
Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation
Byte multiplication/division
Translation
Shift instructions, rotation instructions,
BCD operations
Word multiplication/division, indirect
addressing I/O

AL
AH
BW
CW

Pointer (SP, BP) and Index Registers (IX, IV). These
registers are used as base pOinters and index registers
when based, indexed, or based indexed addressing
modes are used.
They may also be used as general-purpose registers for
data transfer, arithmetic, and logical instructions. They
can only be accessed as 16..bit registers.
Some operations use these registers in specific ways.
Register
SP
IX
IV

Operation
Stack operations
Source pointer for block transfer, bit field,
and BCD string operations
Destination pointer for block transfer, bit
field, and BCD string operations

Program Status Word (PSW). The program status word
reflects the status of the CPU by six status flags and
affects the operation of the CPU by three control flags.
PSW

15

I

1

I

1

I

1

I

z

I

0

I

8

V

DIR

I

IE

I BRK I

P

I

1

CY

0

7

S

Status
V
S
Z
AC
P
CV

48

AC

Flags
Overflow
Sign
Zero
Auxiliary carry
Parity
Carry

0

I

Control
DIR
IE
BRK

Flags
Direction
Interrupt enable
. Break

The DIR control flag determines whether address pointers are incremented (1) or decremented (0) for block
(string) operations. IE enables interrupts (1) or disables
interrupts (0). BRK enables (1) or disables (0) the single
stepping trap (vector 1).
The P&N cannot be accessed directly as a 16-bit register.
Specific instructions set/reset the control flags. When
the PSW is pushed on the stack (as during interrupt
processing), the PSW is set as shown in the diagram
above.

Interrupt Operation
The interrupts supported by the V53 can be divided into
two types: those generated by external interrupt requests and traps generated by software processing.
Interrupts of each type are listed below.
•. External Interrupts
- NMI input (nonmaskable)
- INTPO-INTP7 (maskable)
• Software Traps
- Divide error during DIV or DIVU instruction
- Array bound error during CHKIND
- Single-step (PSW BRK flag = 1)
- Undefined instruction
- Coprocessor error
- Coprocessor not connected
- Break instructions (BRKV, BRK3, BRK imm8,
BRKXA)
The eight INTP interrupts are handled by the interrupt
control unit (ICU). The leu prioritizes the INTPs and
produces a single INT output, an internal signal that
goes to the CPU interrupt logic.. There the interrupt
prioritization· flow diagram (figure 40) is implemented.
Interrupts are prioritized by the CPU as follows.
NMI (highest priority
INT
BRKflag
Other software interrupts and exceptions

NEe
Figure 411.

pPD70236 (V53)

Interrupt Pl'loritizstlon Row Dlllllram

Complete
current
Instruction

*

If current Instruction causes Internal Interrupt, SOFT flag = 1
At the end of current Instruction:
• If BRK flag In PSW= 1, BRK = 1
• If INT from leu Is sampled, INT = 1
• If NMllnput Is sampled, NMI = 1

III

Execute
next instruction
83YL-6327B

49

NEe

pPD70236 (V53)

Interrupts are not accepted by the CPU at certain times.
NMI, INT, and BRK flags are not accepted under the
following conditions.
(1)

(2)
(3)

Between execution of a MOV or POP that uses a
segment register as an operand and the next
instruction.
Between a segment override prefix and the next
instruction...
Between a repeat or BUSLOCK prefix and the next
instruction.

INT is not accepted when the PSW IE flag is 0, or
between an RETI or POP PSW and the next instruction.
Once an interrupt has been accepted by the CPU, an
interrupt service routine will be entered. The address of
this routine is specified by an interrupt vector stored in
the interrupt vector table (figure 41). For most interrupts, the vector used depends on what interrupt is
being processed (e.g., NMI always uses vector 2). For
INT and BRK imm8 interrupts, any vector may be used;
the vector number is supplied by the ICU or an external
device (such as a j.lPD71059) in the case of INT, or by
immediate data in the case of BRK.
The interrupt vector table uses 1K bytes of memory at
addresses OOOH to 3F FH and stores up to 256 vectors.

Figure 41. Interrupt Vector Table
OOOH
004H
008H
OOCH
010H
014 H
018 H

Vector 0

Divide Error

Vector 1

Break Flag

Vector 2

NMllnput

Vector 3

BRK 3 Instruction

Vector 4

BRKV Instruction

VectorS

CHKIND Instruction

~~

Dedicated

~

Vector 31

------i1.
f
~

080H

Vector 32

~

1E8H

INT Input [External]

t-_--Vec-t-or-1-22----I

Vector 128

Undefined Instruction Trap
General Use
• BRK Imm8 Instruction
• INT Input [External)
ILPD72291 AFPP Error

Vector 129

Other Coprocessor Error

,

i"

200H
204H
208H

~"
'f
3FCH

50

~

1

002H

PC ~ [001 H, OOOH]
PS ~ [003H, 002H]
49NR-345A

Based on this format, the contents of each vector
should be initialized at the beginning of the program.
The basic mechanism for servicing an interrupt follows.
(SP - 1, SP - 2) - PSW
(SP - 3, SP - 4) - PS
(SP - 5, SP - 6) - PC
SP - SP - 6
IE - 0, BRK - a
PS - vector high bytes
PC - vector low bytes
When an interrupt is accepted, two possible PC values
could be saved. For some interrupts, the offset of the
current instruction is saved. These interrupts are divide
error, CHKIND, illegal opcode, j.lPD72291 FPP error,
other coprocessor error, and CP not present. For the
other interrupts (NMI, BRKflag, BRK instruction, or ICU
interrupt), the offset of the next instruction is saved.

CLOCK GENERATOR (CG)

The source frequency is divided to supply various
clocks to internal units (CPU, DMAU, etc.) and to external devices at pins CLKOUT and PCLKOUT.

General Use

'f . BRK Imm8 Instruction

r~====vec==tor=2=55===~1

OOOH

003H

For operation with an external clock, the maximum
delay through the inverter connected to pin X2 should
not exceed 20 ns.

Coprocessor Does Not Exist

Vector 130

Vector 0
001H

For crystal operation, the crystal should be AT-cut,
fundamental mode, and parallel resonant. Connect a
5-pF capacitor from pin X1 to ground and a 15-pF
capacitor from pin X2 to ground.

General Use
• BRK Imm8 Instruction

~

Figure 42. Interrupt Vector 0

The clock generator (figure 43) is driven by a crystal
connected to pins X1 and X2 or' an external clock
connected directly to pin X1 and through an inverter to
pi n X2. The frequency of the crystal or external clock is
twice the frequency of the CPU clock.

tR.reN~

Vector 6

07CH

j

Each interrupt vector consists of four bytes. The two
low bytes are loaded into the PC as the offset, and the
two high bytes are loaded into the PS as the base
address. See figure 42.

• INT Input [External)
49NR-332A

NEe

pPD70236 (V53)
Bus Arbitration Unit (BAU)

Figure 43. Clock Gener.tor Dillflr.m

The BAU accepts and grants five different requests for
bus mastership in the following priority order.

X1
X2

Programmable
Frequency
Divide-by
1,2,4,orS

CPU Clock

CPU, DMAU,
REFU,SCU
CLKOUT

PCLKOUT

1-----

REFU demand (highest)
DMAU request
HLDRQ
CPU request
REFU request
The refresh unit is assigned both the highest and the
lowest priorities. Normally, REFU requests are made,
and if the bus is not granted, they are placed in a queue.
Once the queue depth reaches seven requests, a refresh
demand is made, and the BAU gives this the highest
priority.

TCU

Bus Wait Function
BRC
83VL-6217A

BUS OPERATION
The V53 uses a synchronous bus interface. The X1 and
X2 inputs provide a reference oscillator frequency for the
internal clock generator, which supplies the main system
clock to the ,other .internal devices and to external
devices via the CLKOUT pin. All V53 bus timings and
instruction execution clock counts are specified relative
to the CLKOUT signal. Bus cycles start on the falling
edge of CLKOUT.
The V53's internal bus is a multimaster, shared bus. The
CPU, DMAU, or REFU can all be bus masters. Each
requests bus mastership from the bus arbitration unit
(BAU). External devices can also request mastership of
the bus using the HLDRQ input.

Bus Interface Unit (BIU)
The BIU contains the interface logic that allows the three
internal bus masters (CPU, DMAU, and RE FU) to control
the external address, data, and control buses. The BIU
also synchronizes the BS8/BS16, RESET, and READY
inputs to the system clock. When a reset signal is
acceptec!, the BIU asserts the RES OUT output.

When the bus is active and the BAU receives a higher
priority request, the BAU will take away its grant to the
current bus master. But the current master may not
release the bus immediately. The BAU will wait until the
current master takes away its request before granting
the bus to the higher priority requester. This is called bus
waiting.
For example, if an external device has been granted the
bus via the HLDAK output, and the DMAU requests the
bus (DMA is higher priority than HLDRQ), the V53 will
deassert HLDAK but will not take the bus back until the
external master deasserts HLDRQ. Note that the external master is not required to immediately release the bus
back to the V53; the BAU will wait until HLDRQ is
removed.
Usually a higher priority request will be granted quickly;
for example, if a DMA request is accepted during T2 of a
CPU bus cycle, the next bus cycle will usually be a DMA
cycle. However, each internal bus master will hold onto
the bus under certain circumstances.
The CPU will not let go of the bus as long as the
BUSLOCK prefix is used, or until the current bus operation is completely finished (an unaligned or bus-sizing
operation may take more than one bus cycle). Likewise,
when it is in bus hold mode, the DMAU will not release
the bus until all active DMA requests have been processed.
This mode should be used with care as it can result in
DRAM refresh errors if the DMA takes a long time to
complete. Note that bus hold mode is only available
when DMAU is in ",PD71071 compatibility mode;
",PD71037 mode is always in bus release mode.
51

III

NEe

"PD70236 (V53)
External Bus Masters

Figure 44. CPU Bus State Diagram

At times, external bus masters will need to use the V53
bus. There are two methods provided for that purpose:
hold request and DMA cascade. Up to five external bus
masters can be connected to the V53.
Hold Request. The external bus master can request the
bus using a hold request. Hold request is implemented
using the HLDRQ and HLDAK signals. The V53 grants
the bus by floating many of its outputs and asserting
HLDAK to notify the external device that the bus is now
free.

BUSRO= 1
CPUGT= 1
READY = 1

BUSRO= 1
CPUGT= 1

DMA Cascade. DMA cascade is very similar to hold
request; the difference is that a DMARQ/DMAAK signal
pair requests and grants the bus. While DMA cas.cade is
meant to be used to connect additional DMA controllers,
it can be used by any type of external bus master. Since
there are four DMA channels, each of which can be in
cascade mode, up to four external masters can be
connected by DMA cascade.

BUSRO=O
CPUGT= 1

Bus Cycle Descriptions
Each of the internal bus masters uses the V53 bus
interface 'in a different way: DMA bus cycles have a
different structure than CPU bus cycles or REFU cycles.
There are 18 different V53 bus cycles summarized previously in table 1.

CPU Bus Cycles
The bus state diagram for CPU cycles is shown in figure
44. CPU bus cycles are nominally two clock periods long,
and may be extended by adding wait states using either
the internal wait state generator or the external READY
input.

TI
T1
T2
TW
TH

CPUGT= 0
READY = 1

BUSRO=O
CPUGT= 1
READY = 1

Idle state
Start bus cycle
Sample READY, DATA
Wait for READY = 1
Bus hold state; release bus to external BAU

BUSRO = 1 when a read or write bus cycle is requested.
CPUGT = 1 when BAU grants internal bus to CPU.
83YL-6548A

The first state of every bus cycle is T1, and it is followed
immediately by T2. READY is sampled on the rising
(middle) edge of T2. If READY is not asserted, the next
bus state will be the TW wait state. TWs will be inserted
until READY is sampled low, after which the bus cycle
will finish. TWs also will be inserted by the wait state
generator, and the READY input is ignored until all TWs
programmed in the wait state have been inserted. The
dynamic bus sizing input, BS8/BS16, is sampled at the
same time as READY.
Note that dynamic bus sizing is only implemented for
CPU cycles; DMAU or REFU cycles do not use this input.
Address and bus status are output after the leading edge
of T1, and maintained until after the cycle is completed.
A strobe, BCYST, is asserted during T1 to indicate the
beginning of a bus cycle. BCYST is output following the
leading edge of T1 and deasserted after the leading edge
ofT2.
Write data is driven on Do-D15 following the rising (middle) edge of T1, and maintained until after the rising edge
of T2 or the last TW. Read data is sampled on the trailing

52

NEe

pPD70236 (V53)

edge of T2 or the last TW state. A strobe, OSTB, gives
the status of the V53 data bus. OSTB is asserted after
the risi ng (m iddle) edge of T1. OSTB is oeasserted after
the rising edge of T2 or the last TWfor a write cycle, and
after the trailing edge of T2 or the last TW for a read
cycle.
I/O cycles are identical to memory cycles except for the
encoding of the bus status lines. However, six idle
states are inserted after every I/O bus cycle to provide
a recovery time for the I/O devices.

Dynamic Bus Sizing for CPU Cycles
The V53 supports dynamic bus sizing for CPU cycles.
On a cycle-by-cycle basis, the width of the data bus can
be changed from 16 t08 bits. This simplifies connection
with 8-bit I/O devices that may have internal registers
at consecutive byte addresses. Other 16-bit CPUs require two ROMs for startup code, but the V53 dynamic
bus sizing makes it possible to use a single 8-bit wide
ROM.

Table 3.

Write Cycle Bus Sizing

Type

Address

Byte

Even

External logic requests an 8-bitdata path by driving
BS8/BS16 low in time for the V53 to sample it on the
rising edge of T2 (or TW). The. V53 will perform an
additional cycle if needed to finish the operation in
byte-wide pieces.
If the bus operation is already 8 bits wide, no further
bus cycles will occur (refer to tables 3 and 4). For a read
cycle, the data will be sampled on 07-00. For a write
cycle to an even address, data wi II be driven on OrOo.
On all byte writes to an odd address, the V53 will put the
byte data on both the upper and lower data .buses so
that the write data will be on OrOo as well as 015-08'
If the bus operation is 16-bit, two bus cycles will be
required. The first one, in which BS8/BS16 is sampled
low, will handle the low byte. The second cycle will take
the form of a byte read or write using 07- 0 0'

16-Bit Bus (BS8/BS16
UBE

Ao

0

Odd
Word

Even

0
0

0

Odd

0
0

Note: Lower

=

Table 4.

Read Cycle Bus Sizing

Type

Address

Ao

Byte

Even

0

low-order byte; Upper

=

Word

Even

0

Odd

= 0)

07- 0 0

015- 0 8

01" 0 0

1st

Invalid

Lower

Invalid

Lower

1st

Lower

Lower

Lower

Lower

1st

Upper

Lower

Upper

Lower

2nd

Not needed for 16-bit bus

Upper

Upper

1st

Lower

Lower

Lower

Lower

2nd

Lower

Upper

Lower

Upper

high-order byte

UBE

= 1)

8-Bit Bus (BS8/BS16

= 0)

Cycle

015- 0 8

01" 0 0

015- 0 8

01" 0 0

1st

Not used

Lower

Not used

Lower

0

1st

Lower

Not used

Not used

Lower

0

1st

Upper

Lower

Not used

Lower

2nd

Not needed for 16-bit bus

Not used

Upper

0
0

8-Bit Bus (BS8/BS16

015- 0 8

16-Bit Bus (BS8/BS16

Odd

= 1)

Cycle

1st

Lower

Not used

Not used

Lower

2nd

Not used

Upper

Not used

Upper

Note: Lower = low-order byte; Upper = high-order byte

CPU Bus Cycle Types. There are many types of CPU
bus cycles (shown previously in table 2). They comprise
read, write, and acknowledge cycles.
CPU Read Cycles. There are six CPU read cycles:
memory, external I/O, internal I/O coprocessor, copro-

cessor data reads, and instruction fetch. All have the
general timing described previously. Coprocessor
reads access the internal registers of an external coprocessor. Coprocessor data reads transfer data from
memory to an internal coprocessor register. Instruction fetches fill the V53's 8-byte instruction queue from
53

III

NEe

JlPD70236. (V53)

internal or external I/O device or a memory location.
During internal I/O reads, the lORD and BUFEN outputs
are not asserted.

Dynamic bus sizing is ignored during the interrupt acknowledge cycles. Wait states can be inserted by the
internal wait state generator or by the READY input.

Dynamic bus sizing is ignored during internal I/O read
cycles, and is not recommended for coprocessor data
read cycles. The wait state generator does not affect
internal I/O reads ()r coprocessor reads. READY is used
for all CPU read cycles.

Halt Acknowledge Cycle. When the CPU executes a
HALT instruction, a halt acknowledge bus cycle is issued
to notify external logic that the V53 is entering a standby
mode. This cycle is always two clocks long; READY is
ignored and DSTB is not asserted. The V53 has several
standby modes.

CPU Write Cycles. There are five types of CPU writes.
Memory writes transfer data from the V53 to a memory
location. External and internal I/O writes transfer data
from the V53 to external or internal I/O devices. During
internal 1/0 writes, the 10WR and BUFEN outputs are not
asserted. Coprocessor data writes transfer data from an
external coprocessor to a memory location. Coprocessor writes transfer data from the V53 directly to a
coprocessor internal register:
Dynamic bus sizing is ignored during internal I/O read/
writes, and is not recommended for coprocessor data
write cycles. The wait state generator does not affect
internal I/O writes or coprocessor writes. READY is used
for all CPU write cycles.
Interrupt Acknowledge Cycles. The CPU interrupt acknowledge operation takes two consecutive bus cycles.
The first cycle freezes the state of the internal interrupt
control unit (ICU) and any external slave p,PD71059
interrupt controllers. The second bus cycle reads an
8-bit vector number on 07-00, supplied by either the ICU
or an· external slave. This vector number is then used by
the CPU as an index into the interrupt vector table to
select an interrupt handler: The BUSLOCK output is
asserted for the first cycle, and remains asserted until
after the second to guarantee that no other bus master
will take control of the bus until the interrupt has been
accepted.
There are two types of interrupt acknowledge cycles
produced by the V53: a master and a slave. The INTAK
output is asserted for both types, and should be connected to the interrupt acknowledge inputs of all slave
devices. The master cycle is used for the first INTAK to
both internal and external ICUs, and the second INTAK
to the internal ICU. The slave cycle is used only for the
second INTAK to an external slave device.
During the slave cycle, the address of the slave device to
be used is presented on A2-Ao. These address lines
should be buffered and then connected to the slave
address inputs of the external ICUs. Buffering is necessary because the slave address pins of external devices
might be in an output state on power-up, producing a
bus conflict on A2-Ao if they are connected directly.
54

DMA Unit Bus Cycles
Figure 45 shows the bus state diagram for DMA bus
cycles. There are eight different states. When the DMAU
is idle, it is in state SI. In this state, it is continually
sampling the four DMARQ inputs. When a request is
detected, the DMAU requests use of the V53 bus from
the BAU, and enters state SO. It remains in SO until the
BAU grants the bus to the DMAU, at which point the
actual DMA bus cycle starts with state S1. Addresses
and control status are output along with BCYST and
DMAAK.
DMA bus cycles are nominally four clocks long, but they
can be stretched by the internal wait state generator or
READY. S1 always changes to S2 and then to S3.
Memory and I/O strobes are asserted during S2, S3, and
Sw. READY is sampled during S2 for use during S3. If
waits are inserted, the SW state is entered. Control stays
in that state until no more waits are desired. If no waits
are inserted, S3 moves to S4 and the current cycle is
over:
Depending on the DMA mode, another DMA cycle might
be ready to start immediately (e.g., in burst mode), or
another DMA request input may now be asserted. During
S4, a decision is made whether to begin another DMA
cycle at S1, to return to SI, or to enter the bus wait state
S4W. The latter transition will be made if another DMA
cycle is ready to start but the BAU has taken the bus
away from the DMAU. In S4W, the DMAU releases the
bus, but is ready to begin as soon as the bus is granted
again and the DMA request is still pending.

NEe

pPD70236 (V53)

Figure 45. DMAU Bus Sta'e Diagram
DMAGT=O

READY =0
DMA incomplete; bus hold mode
(block or demand modes only)
DMA complete; or single mode
DMA incomplete; bus release mode
DMAGT=O
DMAGT= 1
DMARQ= 1

ED

DMAGT=O
DMARQ=O
81
80
81
82
83
84
S4W
8W

Idle state; sample DMA requests.
Wait for BAU to grant bus to DMAU.
Output DMA memory address.
Assert strobes; sample READY, END.
Check READY.
End of DMA cycle; check DMA completion.
Bus wait state; release bus to BAU.
Walt for READY = 1.
83YL·6330B

DMA Read Cycle. The DMAU performs "fly-by" DMA.
During one DMA read bus cycle, .data moves from the
source address in memory to the destination 1/0 device.
The V53 puts the memory address on A23-Ao, and asserts
MRD. At the same time, 10WR is asserted. Memory will
drive the DMA data onto the bus, and the 10WR signal
will latch the data into the 1/0 device. DMAAK should be
used to control chip select at the 1/0 device. Since the
V53 does not use the data, BUFEN is not asserted during
DMA bus cycles.
DMA Write Cycle.The DMAU performs "fly-by" DMA.
During one DMA write bus cycle, data moves from the
source 1/0 device to the destination address in memory.
The V53 puts the memory address on A23-Ao, and asserts
MWR. At the same time, lORD is asserted. The 1/0 device
will drive the DMA data onto the bus; and the MWR
signal will latch the data into memory. DMAAK should be
used to control chip select at the 1/0 device. Since the
V53 does not use the data, BUFEN is not asserted during
DMA bus cycles
Note that when DMA writes are made to DRAM, it may be
necessary to generate a delayed CAS strobe because
the data is being supplied by an 1/0 device that may have

long access time. The write data may not be valid when
the normal CAS signal is asserted.
Dynamic bus sizing cannot be used for DMA operations.
The internal wait state generator and READY can be
used to stretch the cycle.
DMA Cascade. During DMA cascade, the DMA state
machine releases the V53 bus to an external bus master
such as a p.PD71071 or p.PD71037 DMA controller.
DMAAK is connected to the HLDAK input of the external
device. DMAAK will stay asserted until the external
master deasserts DMARQ. If the V53 BAU needs to give
the bus to a higher priority bus master, DMAAK will be
deasserted. The external bus master is expected to then
deassert the DMARQ input, at which point the bus will be
given to the higher priority bus master.

Refresh Unit Bus Cycles
The refresh unit performs memory read cycles from
consecutive memory addresses. These bus cycles are
the same as CPU memory read cycles, except that the
RE FRQ output is asserted. External logic should use the
RE FRQ logic to enable RAS for all memory banks,
regardless of the address decoding scheme, so that all
banks are refreshed.
55

NEe

pPD70236 (V53)

Dynamic bus sizing cannot be used during refresh
operations. The internal wait state generator and
READY can be used to stretch the cycle.

SYSTEM INTERFACE
System Memory Access Time
Table 5 shows the system memory access time required for 12.5-MHz and 16-MHz V53 systems to run
with zero, one, two, and three wait states. This is the
time from when the address bus is valid to when the
external system must present the read data on the data
bus. These numbers are based on the preliminary ac
timing given in this document and are sUbject to
change.

Table 5.

Performance VS. Wait States
12.5 MHz

Memory
Number Cycle
of Wait Time
States (ns)
0

160

2
3

400

System
Access
Time
(ns)

16 MHz
Relative Memory System Relative
Perfor- Cycle
Access Performance
Time
Time
mance
(%)
(%)
(ns)
(ns)

113

78

125

78

100

240

193

64

187.5

140.5

82

320

273

52

250

203

67

353

43

312.5

265.5

56

Note: Performance is relative to the 0 wait state, 16 MHz.

Wait States
Table 5 also illustrates the effect of wait states on
performance. The V53 CPU overlaps bus interface
operations in time with instruction execution. This
greatly reduces the effect of wait states on performance. Each bus cycle is nominally two clocks long,
while the minimum instruction is two clocks with many
instructions taking longer.
There is some idle bus time when the CPU is processing
a long instruction and the prefetch queue is full. Wait
states can often fill these idle states. However, adding
wait states to bus cycles reduces the bus bandwidth
available for other bus masters, such as DMA controllers. This is because some of the idle time that would
have been available to them is used for CPU cycles.
Note that in all cases, a 16-MHz V53 with N+ 1 wait
states is faster than a 12.S-MHz device with N wait
states but slower memory.
Note also that the numbers are. for comparison only.
Different results will be obtained for other program
mixes.
56

Interfacing the #,PD72291 AFPP
The AFPP is a very-high-performance floating-point
coprocessor able to process more than 530K floatingpoint operations per second at 16 MHz.
The AFPP is programmed as an extension of the V53
instruction set. The AFPP executes floating-point operations, computes transcendental functions, and performs vector multiplications.
AFPP instructions use the FP01 and FP02 formats.
When one of these opcodes is encountered and an
AFPP is connected, a coprocessor protocol routine is
entered. The V53 computes any effective addresses
required, reads or writes the operands for the AFPP,
and tells the AFPP which operation should be performed.
The AFPP responds by asserting its BUSY output when
it starts the operation. The V53 will not start another
AFPP operation until BUSY is deasserted, but may
execute CPU instructions. When BUSY is deasserted r
the V53 will transfer the AFPP status to the AW register:
Figure 46 shows how to connect a V53 CPU to a
pPD72291 AFPP. The CPU reads and writes status and
commands to the AFPP using coprocessor read and
write cycles, which always take two clocks. AFPP operands are written using coprocessor memory write/read
cycles, which always require one wait state. The V53
automatically inserts one wait state into these cycles
so no external wait generation logic is required.
On reset, CPBUSY is sampled. If it is high, the V53
assumes that a coprocessor is connected. CPERR is
also sampled to determine what kind of coprocessor is
connected as follows.
CPBUSY

o
1
1

CPERR
x
0
1

Coprocessor Connected
None
pPD72291
Another kind

Note: If no coprocessor will ever be used in the system,
ground pins CPBUSY, CPERR, and CPREQ.

AFPP memory operands must always begin on an even
address and may not reside in 8-bit wide memory.
Dynamic bus sizing may not be used for AFPP operands.

NEe
Figure 46.

pPD70236 (V53)

Connections Between the V53
and pPD72291

Figure 47.

Peripheral Relocation
64K-bytel/0 space

IlPD70236
V53
X1
CPU
332MHZ
X2
16MHZ
ClKOUT
MIlO

IlPD72291
Advanced
Floating·Point
Processor

FFFFH r - - - - - - - - - ,
Reserved
System 1/0 Area
FFOOH

ClK
MIlO

-

-

RIW

RIW

BUSST1
BUSSTO

BUSST1
BUSSTO
DSTB
BCYST

DSTB

BCYST
83YL·6682A

V DD

-CPBUSY

~O--GND

i

--

Table 6. System I/O Area

BUSY

_____________________________
F_ig~u_r_e
Register Name
I/O Address

*
Do-D15

"-

RESET

RESET

*

256-byte area

*

Do -D15

RESET

1

When only the ~PD72291 socket is provided and
the ~PD72291 is not connected, switch CPBUSY to GND.

FFFFH

Reserved

FFFEH

SCTL

48

FFFDH

OPSEL

49

FFFCH

OPHA

50

FFFBH

DULA

50

FFFAH

IULA

50

FFF9H

TULA

50

FFF8H

SULA

50

FFF7H

Reserved

FFF6H

WCY4

FFF5H

WCY3

60

FFF4H

WCY2

59

FFF3H

WMB1

55

FFF2H

RFC

62

FFF1H

SBCR

110

FFFOH

TCKS

51

83YL·6550A

SYSTEM CONTROL I/O

On-Chip Control Registers
The V53 provides many on-chip control registers. Some
of these reside in the 256-byte system I/O area (I/O
space addresses FFOO to FFFF). These are shown in
table 6. Other registers reside in small blocks associated with an on-chip peripheral (addresses are programmable). There are register blocks for DMAU, TCU,
ICU, and SCU. The base addresses for these register
blocks are programmable using the OPHA, DULA,
TULA, and SULA registers in the system I/O area. See
figure 47.

61

F FEFH-F FE EF

Reserved

FFEDH

WAC

56

FFECH

WCYO

57

FFEBH

WCY1

58

FFEAH

WMBO

54

FFE9H

BRC

52

FFE8H

Reserved

FFE7H-FFE2H

Reserved

57

III

NEe

pPD70236 (V53)
TableS. System I/O Area (conI)
Register Name
FFE1H
BADR
FFEOH
BSEL
FFDFH-FF81H
Reserved
XAM (Read Only)
FFBOH
FF7FH-FFOOH
PGR64-PGR1
Note: All registers are Read/Write except XAM.

110 Address

Figure 411. On-Chlp Peripheral Selection
Regl.ter (OPSEL)
IS
ss
TS
7

Figure
102

I

103

SS
0
1

39
39

TS

System Control Register (SCTL)
The SCTL register (figure 48) selects the 8-bit or 16-bit
boundary of an internal peripheral relocation address. It
also sets the internal DMAU in the #,PD71071 or
#,PD71037 modes. In #,PD71037 mode, SCTL controls
propagation of carry from A15 to A16 or from A19 to A20.
SCTL selects the baud rate generator or TOUT as the
SCU clock.

I

I

1 - I sc I CE1

I CEO

IDMAM Ii00G I
0

Address FFFEH
SC
0
1

CE1
0
1
CEO
0
1
DMAM
0
1

10AG

0
1

SCU Input Clock
TOUT1
From baud rate generator
Carry to A20 In "PD71037
Does not propagate
Propagates
Carry to A16 In "PD71037
Does not propagate
Propagates
DMAU Mode
"PD71071
"PD71037
Internal 1/0 Address
Even or odd (16-bit boundary)
Contiguous (a-bit boundary)

On-Chip Peripheral Selection Register (OPSEL)
The OPSEL registers (figure 49) controls the V53 internal
peripherals. Any of the four peripherals (DMAU, TCU,
leU, or SCU) can be independently enabled or disabled
by setting the appropriate OPSEL bit.

58

I

I

I

OS

I

0

SCU Operation
Disabled
Enabled
TCU Operation
Disabled
Enabled
ICU Operation
Disabled
Enabled
DMAU Operation
Disabled
Enabled

Internal Peripheral Relocation Registers

Figure 48. System Control Regl.ter (SCTLJ
7

0
1
IS
0
1
DS
0
1

I

The five internal peripheral registers fix the I/O addresses of the DMAU, leU, TCU, and SCU. Register
OPHA fixes the high-order byte of the 16-bit I/O addresses. Registers DULA, IULA, TULA, and SULA select
the .Iow-order byte of the I/O addresses for the DMAU,
leU, TCU, and SCU peripherals, respectively.
The formats ofthe individual internal peripheral registers
are shown in figure 50. Since address checking is not
performed, two peripheral I/O address spaces should
not be overlapped.

NEe

pPD70236 (V53)

Figure 50. Internal Peripheral Relocation
Registers
OPHA Register

I A15 I A14 I A13 I A12 I A11 I A10 I Ag
7

A8

I/O Address FFFCH

0

DULA Register
10AG = x*

10AG = 0 #

A7

Ae

A5

I A7

Ae

A5

I~ I

I

Timer Clock Selection Register (TCKS)
Ao

o

7
I/O Address FFFBH
* J.IPD71071 mode
# J.IPD71037 mode
IULA Register

10AG = 0

A7
7

The IOAG bit of the SCTL register changes how the
DULA, IULA, TULA, and SULA registers are used. When
IOAG = 1, the DAMU, ICU, TCU, and SCU registers are
on contiguous bytes. When IOAG = 0, each of these
byte-wide registers is put on a word boundary. Bit Ao
selects the low or high byte of the word. This allows code
written for a 16-bit system to be ported to a V53 design
with no modifications. Because the DMAU registers in
JlPD71071 mode are 16-bit, the IOAG bit in figure 50 is
noted as "x" (don't care).

Ae

A5

~

A3

Ao

o

I/O Address F F FAH

The TCKS register (figure 51) selects the clock source for
the timer/counters as well as the divisor for the internal
clock prescaler. The clock source for each timer/counter
is independently selected from an internal clock (figure
43) or an external clock source (TCLK).
The frequency of the internal clock selected by bits 2, 3,
and 4 is programmable. The PS bits allow the clock to be
set to the external osci Ilator frequency divided by 4, 8,
16, or 32.

TULA Register

Figure 51.

10AG = 1

I- I
7

o

I/O Address FFF9H

CS2
0

S ULA Register
10AG ='1

CS1
10AG = 0

0
1

Ao

7

I/O Address FFF8H

o

I - I CS2 I CS1 I CSO I

PS

I/O Address FFFOH

7

Ao

10AG = 0

Timer Clock Selection Register (TCKS)

CSO
0
1
PS
00
01
10
11

I
0

Clock Input to TCT2
Internal clock
TCLK pin
Clock Input to TCT1
Internal clock
TCLK pin
Clock Input to TCTO
Internal
TCLK pin
Prescale Divisor of External Oscillator
4
8
16
32

59

III

NEe

IIPD70236 (V53)
Baud Rate Counter (BRC)

Figure 53•. Memory Spsce Division

The BRC. (figure 52) is an a-bit, frequency-division
counter for the dedicated baud rate generator. It sets the
value by which an internal frequency is to be divided to
provide the SCU with its baud rate clock.
16M
Bytes

Figure 52. Bsud Rsl. Counler(BRC)
Do
7

I

o

I/O Address FFE9H

Table 7 illustrates the relationship between the .baud
rate and the value set in the BRC.

rsbl.7. Bsud Rsle Setting by BRC
Oscillation frequency

24.576 MHz

29.4912 MHz

Oscillation frequency + 2

12.288 MHz

14.7456 MHz

Baud rate factor (+)

16

64

16

64

Internal frequency

0.768

0.192

0.9216

0.2304

Baud Rate

Number of Counts Set In BRC

1200

160

192

2400

80

96

4800

160

40

192

48

9600

80

20

96

24

,

Low
83YL·6547A

The WCU can insert waits into memory or external I/O
cycles, but not into coprocessor, internal I/O, or halt
acknowledge cycles.
Eight system I/O registers (figures 54-61) control the
WCU. They are the wait state memory boundary registers (WMBO and WMB1), the WCU address control register (WAC), and the wait state cycle count registers
(WCYO-WCY4).

Memory Boundary Registers (WMBO, WMB1)

WAIT CONTROL UNIT

The WMBO register divides the entire .16M-byte address
space into three sections. The EL MB and EUMB fields
specify the size of the upper and lower memory blocks.
The middle block is the area left in between. The WCYO
and WCY1 registers specify the wait states of each
expanded memory block.

The wait control unit (WCU) inserts from 0 to 7 wait
states (TW) into a bus cycle to· compensate for the
varying access times of different memory and I/O devices. Each wait state is equivalent to one CPU clock
cycle. rhe number· of wait states can be individually
programmed for CPU, DMAU, RE FU, INTAK, and externall/O cycles. The INTAK cycles can be programmed for
2-7 wait states.

In addition to dividing expanded memory, a specific
1M-byte memory area can also be partitioned into three
blocks for wait state generation. rhe WAC register determines which 1M-byte area is referenced. The WMB1
register divides this area into three blocks in the same
manner as described above for WMBO. Registers WCY2
and WCY3 specify the wait states for each block and
also I/O.

19,200

40

10

48

12

38,400

20

5

24

6

For memory accesses, the address space is divided into
a total of six sections (labeled High, Middle, and Low in
figure 53). A different number of wait states can be
programmed for each section, allowing much flexibility
in the system design. The WCU works with the external
READY input. After the proper number of rws have been
inserted into the bus cycle, READY will be sampled, and
wait states will be inserted until it is asserted.

60

NEe

,.,PD70236 (V53)

Figure 54. Memory Boundary Register 0 (WMBO)

I- I

I- I

ELMS

7

EUMS

I/O Address FFEAH

I

0

After RESET, the WCY registers are set to all 1s, thereby
inserting seven waits into all cycles. This allows the use
of slow ROMs. Initialization code must set the WCY
registers to their values.

Memory Block Size (Bytes)

ELMB/EUMB
000
001
010
011

1M
2M
3M
4M

100
101
110
111

5M
6M

Figure 57.

WCYO Register

I- I

I- I- I- I

7

I- I

I- I

LMS

7

UMS

I/O Address FFF3H

0

100
101
110
111

64K

Figure 58.

96K
128K
192K
256K

7

512K

WCU Address Control Register (MC)

I

I

I

WCY1 Register

I

I/O Address FFEDH

UWA

I
0

UWA '" Upper 4 bits of expanded address specifying a 1M-byte
memory space

Wait State Cycle Count Registers eyiCYO-WCY4)
Each WCY register has one or two 3-bit fields that set the
number of waits for a particular kind of cycle or the
number of waits to be inserted into cycles during which
certain memory blocks are accessed.
(1) WCYO and WCY1 (figures 57 and 58) pertain to the
16M-byte memory space set by the WMBO register.
(2) WCY2 and WCY3 (figures 59 and 60) pertain to the
1M-byte memory space set by the WMB1 register.
(3) Also, the lOW field of WCY3 sets the numberof waits
for external I/O cycles and interrupt acknowledge
cycles.

I- I

EMMW

ELMW

o

I/O Address FFEBH

EMMW/ELMW

384K

I

6

7

I- I

Figure 56.
7

4

5

* Upper section of 16M-byte memory space

32K

000
001
010
011

3

100
101
110
111

I

Memory Block Size (Bytes)

LMB/UMB

0
1
2

000
001
010
011

Figure 55. Memory Boundary Register 1 (WMB1)

o

·Walt States

EUMW

7M
8M

EUMW

I/O Address FFECH

·Walt States

000
001
010
011

0
1
2
3

100
101
110
111

4
5

* Middle and

Figure 59.

I- I

6
7
lower sections of 16M-byte memory space

WCY2 Register

I- I

MMW

LMW

I/O Address FFF 4H

7
MMW/LMW
000
001
010
011
100
101
110
111

* Middle and

o

·Walt States
0
1

2
3

4
5
6

7
lower sections of 1M-byte memory space

(4) The waits set by WCY3 cannot be inserted into the
internal I/O area read/write cycle.
(5) WCY4 (figure 61) sets the number of waits for DMA
cycles and refresh cycles.

61

t\'EC

,.,PD70236 (V53)

Figure flO. WCY3 Register

I

I

I- I

lOW

7

UMW

o

I/O Address FFF5H

Walt State.
lOW

000
001
010
011
100
101
110
111
UMW

000
001
010
011
100
101
110
111

Ext 1/0 Cycle.

Int Ack Cycle.

0
1
2
3

2
3
2
3

4
5

4
5

6

6

7

7

I- I
7

Refresh interval = 16 x N x tcyc

*Walt State.

With a 16-MHz CPU clock, this allows a range of intervals
from 1 to 32 p,s. After RESET, N will be 9, which gives an
interval of 9 p,s.

0
1
2
3

Since the V53 may operate with either 8- or 16-bit
memory devices, the refresh address can be incremented by 1 (for 8-bit memory) or by 2 (for 16-bit
memory). The ROB8 bit in the RFC makes the selection.
In the word mode, UBE is always low (active) for refresh
cycles. In the byte mode, UBE is asserted only for
refreshes to an odd address.

4
5

6
7

WCY4 Register

I - I

DMAW

I/O Address FFF6H

DMAW/RFW

000
001
010
011
100
101
110
111

Refresh Control Register (RFC)
The RFC (figure 62) controls the refresh control unit. The
RE bit enables or disables the REFU. The refresh interval
is set by the RTM field by choosing refresh interval factor
N, which determines how many CPU clock cycles elapse
between refreshes.

* Upper section of 1M-byte memory space
Figure 61.

REFU is given the highest bus priority. .The REFU gets
control of the bus, performs a burst of four refreshes,
and then falls back to the lowest priority. This refresh
queue ensures that refresh cycles are not lost even when
the V53 is busy for long periods of time.

RFW

o

*Walt State.

0
1
2

3

Figure 62. Refresh Control Register (RFC)

I RE IROBS I

I

7

I/O Address FFF2H

RE

o
1

4
5

ROBS

6
7

1

o

* DMA cycle or refresh cycle.
RTM

RE FRESH CONTROL UNIT

RTM

I
0

Refre.h
Disable
Enable

lCU Clock for Channel 2
Increment by 2 ((J'i3E = low leveO
Increment by 1 ((J'i3E = high level for even addresses
and low level for odd-addresses)

Refre.h Interval Factor N

00000
00001
00010
00011
00100

1
3

11110
11111

31
32

2

The refresh control unit (REFU) refreshes external dynamic devices by periodically performing a memory
read cycle from consecutive, incrementing addresses. A
16-bit counter provides the refresh address. The upper
bits (A23-A16) are low during refreshes. Each refresh bus
cycle has two wait states inser:ted, so that it will be a
minimum of 4 clocks long. Refresh cycles can be distinguished from other memory reads by the assertion of the
REFRQ output or by the bus status code.

TIMER/COUNTER UNIT

If the V53 is busy when it is time to perform a refresh, the
refresh request is placed in a refresh queue until the bus
is no longer busy. Normally, the RE FU has the lowest bus
priority. However, after seven refreshes are queued, the

The timer/counter unit (TCU) provides a set of three
independent 16-bit timer/counters. Each timer has an
individual output and gate control input. The clock
source for each channel is set individually to either the

62

4
5

NEe

JlPD70236 (V53)

prescaled CPu clock or the external TCLK. TOUn is
also internally connected to supply the baud rate clock
to the SCU. Figure 63 is the TCU block diagram.
The TCU has the following features.
• Three 16-bit timer/counters
• Six programmable count modes
•
•
•
•
•
•

Binary/BCD counting
Multiple latch command
Count latch command
Choice of two clock sources
16-MHz operation
Functionally compatible with "PD71054 {8254}

Figure 63.

Because RESET leaves the TCU in an uninitialized state,
each timer/counter must be initialized by specifying an
operating mode and a count. Once programmed, a
timer/counter will continue to operate in that mode until
another mode is selected. When the count has been
written to the counter and transferred to the down
counter, a new count operation starts. Both the current
count and the counter status can be read while count
operations are in progress. Figure 64 is a flow diagram
for TCU operations.

1CU Block Dillgrsm

TCLK
(External)

Clock

TCTLO
(External)

TCTL1
(External)
TOUT1
(External)

TOUTO
(External)

Internal Signal

III

TCTL2
(External)
TOUT2
(External)

r-------~~------,

__
lORD IOWR

AD
(A 1)

A1
(A2)

TUS

j j j j j

TCTO

r--- - ------------- ------- --------

ReadlWrite Control

Status
Register
TCT1

TMD
(Mode Register)

Status
Latch

TCT2

Count
Latch

'---______-+__---j (8) 1--------1 (8) f--------j (8) f-----------~-;
Internal Data Bus
83YL-6218B

63

NEe

IIPD70236 (V53)
Figure 64. TCU Operating Procedure

more timer/counters. Figures 65, 66, and 67 show three
configurations of the TMD register.

Figure 65. TMD Regl.ter; "ode IIbnt
_

OUT

I

Instruction

7

SC
_

Instruction

I

o

Oounter latch command
Lower byte only
Upper byte only
Lower byte followed by upper byte

11
OUT

BD

Read/Wrlte Mode

00
01
10
_

OMODE

TOTO
TCT1
TCT2
Multiple latch command

11
RWM

I

RNM

Counter

00
01
10

OUT

I

so

CMODE Count Mode

Instruction

_IN
Instruction

000
001
x10

Mode 0
Mode 1
Mode 2

x11
100
101

Mode 3
Mode 4
Mode 5

BD

Count

o

Binary count
BOD count

1
x

= Don't care.

Figure 66. TMD Regl.ter; Count Latch Command
83YL-SS12A

I

I

SO

0

I

0

I

0

I

0

I

0

I

0

7

TCU Commands

SC

The TeU is programmed by issuing I/O instructions to
the I/O port addresses programmed in the OPHA and
TULA registers. The individual TeU registers are selected by address bits A2 and A1 or (Ad and (Ao) as
follows.
A2 (A1)

A1 (Ao)

0

0

0
0

Register
TCTO
TSTO

Operation

TCT1
TST1

Read/write
Read
Read/write
Read
Write

TCT2
TST2
TMD

Read/write
Read

Timer Mode Register (TMD)
The TMD register selects the operating mode for each
timer/counter and issues the latch command for one or

64

I
0

00
01
10

Oounter To Be Latched

TOTO
TOT1
TOT2

Figure 67. TMD Regi.terj "ultiple Latch
Command

I

I eL I

SL

7

OL

o
1

SL

o
1

eTn

o
1

Latches Count Data
Yes
No

Latches Status
Yes
No

Selects Counter TCTn
No
Yes

CT2

CT1

CTO

o
o

NEe

pPD70236 (V53)

Timer/Counter Registers (TCT)

Count· Modes

Writes to the timer/counter registers (TCTO-TCT2) stores
the new count in the appropriate timer/counter. The
count latch command is used before reading count data
to latch the current count and prevent inaccuracies.

There are six programmable timer/counter modes. The
timing waveforms for these modes are shown in figure
69.

Timer Status Registers (TST)
The timer status registers (T5TO-T5T2) contain status
information for the specified counter. See figure 68. The
latch command is used to latch the appropriate counter
status before reading status information. If both status
and counter data are latched for a counter, the first read
operation returns the status data and subsequent read
operations obtain the count data.

Figure 68.

Timer St.tus Registers (TS Tn)

I OL I NC I

RNM

I

7

CMODE

I SD I
0

OL

0
1
NC

0
1
RWM

TOUTn Level
Low
High
Null Count
Valid
Invalid

Mode 0 (Interrupt on End of Count). In mode 0, TOUT
changes from low to high level when the specified count
is reached. This mode is available on all timer/counters.
Mode 1 (Retrlggerable One-Shot). In mode 1, a lowlevel, one-shot pulse triggered by TCTl is output from the
TOUT pin.
Mode 2 (Rate Generator). In mode 2, TOUT cyclically
goes low for one clock period when the counter reaches
the 0001 H count. A counter in this mode operates as a
frequency divider.
Mode 3 (Square-Wave Generator). Mode 3 is a f r e - I I I
quency divider similar to mode 2, but the output has a
symmetrical duty cycle.
Mode 4 (Software-Triggered Strobe). In mode 4, when
the specified count is reached, TOUT goes low for the
duration of one clock pulse.
Mode 5 (Hardware-Triggered Strobe). Mode 5 is similar to mode 4 except that operation is triggered by the
TCTl input and can be retriggered.

Read/Wrlte Mode

Same as TMD register.
CMOOE Count Mode

Same as TMD register.
BO

Count

Same as TMD register.

65

NEe

"P070236 .(V53)
Figure 69.

Timer Counter Unit (1CU) Waveforms (Sheet 1 of 3)

ModeO
ClK
IOWR
TOUT
Count Value

IOWR

~

TOUT
Count Value

IOWR

~

LJ

TCTL2
TOUT2
Count Value

OOOOH

IFFFFH IFFFEH IFFFDH IFFFCH

Mode1

TCTl2

---------1 t1---------------\ t1--------------\ t1------\ t1----------

TOUT2
Count Value

n

I

n-1

LJ

IOWR~
TCTl2

I n-2

- - - - - - - - \

Il----------------\ Il---------------------

TOUT2
Count Value

n

I

n-1

I n-2
83-001851 B

66

NEe
Figure 69.

pPD70236 (V53)

Timer Counter Unit (IClJ)

_reforms (Sheet 2 of 3)

Mode 2
ClK

LJ

TCTL
TOUT
Count
Value

--\::j
IOWR
TOUT
Count
Value

n-1

I 0006H I 0005H I 0004H I 0003H I 0002H

III

Mode 3
ClK

IOWR

l

lB=4

LJ

TCTL

U

TOUT
Count
Value

IOWR

n

1

n-1

0004H

0002H

0004H

I

0002H

0004H

I

0002H

I

0004H

0004H

0004H

lB=5

L

TOUT
Count
Value

I

n-1

0004H

I

0002H

I

OOOOH

0004H

I

0002H

0004H

0002H

I

0004H

OOOOH

I

83-0018536

67

NEe

pPD70236 (V53)
Figure till.

Timer Counter Unit (TCU) IItIvelorms(Sheet 3013)

Mode 4

TOUT
Count Value

n-1

I

0004H

I

0003H

I

0002H

I

0001H

I

n-1

I

0004H

I

0004H

I

0004H

I

0003H

I

0002H

I

0001H

n-1

I

0005H

I

0004H

I

0003H

I

0002H

I

0003H

I

0002H

OOOOH

I

I

FFFFH FFFEH FFFDH FFFCH

TCTl
TOUT
Count Value

IOWR

n
--, LB=5,

L....J

TOUT
n

I

I

0001H

OOOOH

FFFFH

ModeS

TCTL2 -- - - - - - - - - - - - -;

TOUT2
Count Value

n

I

n-1

TCTl2 - - - - - - - - -;

TOUT2
Count Value

n

I

I

n-2

n----------------1 n------l n -----I

n-3

I

0002H

I

0001 H'

n---------------- --------l n----------

n-1

~

I

0004H

I

0003H

I

0002H

I

0001 H

L.JI

I

OOOOH

I

FFFFH FFFEH

I

0003H

I

0002H
83-001855B

68

NEe

"PD70236 (V53)

SERIAL CONTROL UNIT
The serial control unit (SCU) is a single asynchronous
channel that performs serial communication between

the V53 and an external device. The SCU is similar to the
~PD71051 Serial Control Unit except for the lack of
synchronous communication protocols. Figure 70 is a
block diagram of the SCU.

Figure 70. SCU Block DllIIJram
Reset

Clock

ReadlWrite
Control

SST
(Status Register)

...----

:~:~}

/ + - - - - A1(A2)

Internal Signals

. . . - - - - AO(A1)
SUS

SCM
(Command Register)

SRB
(Receive Data Buffer)

III

RTCLK (From TOUT1)
Receiver
(Including
RxRDY (External)
I./'--....,."...-----i Receiver Buffer) "'--+---0 RxD (External)

STB
(Transmit Data Buffer)

TxD (External)

SMD
(Mode Register)

SIMK
(Interrupt Mask Register)

SINT (External)

CTS (External)
Transmissionl
Reception
Control

RTS (External)

t---_oO DTR (External)
DST (External)

83YL-6219B

The SCU has the following features.
• Full-duplex, asynchronous serial controller
• Clock rate divisor: 16 or 64
• Baud rates to 640 kb/s (external clock), 500 kb/s
(internal clock)
• Dedicated baud-rate generator or can use timer 1
• Full modem signaling support (ATS, CTS, DSR, DTR)
• Character length: 7 or 8 bits
• Stop bit length: 1 or 2 bits
• Break transmission and detection
• Full-duplex, double-buffered transmitter/receiver
• Even, odd, or no parity
• Parity, overrun, and framing error detection
• Receiver-full/transmitter-empty interrupt

The SCU contains four separately addressable registers
for reading/writing data, reading status, and controlling
operation Qfthe SCU. The serial receive buffer (SRB) and
the serial transmit buffer (STB) store the incoming and
outgoing character data. The serial status register (SST)
allows software to. determine the current state of both
the transmitter and the receiver:
The serial command (SCM) and serial mode registers
(SMD) determine the operating mode of the SCU while
the serial interrupt mask register (SIMI<) allows software
control of the SCU receive and transmit interrupts.

Serial Data Format
Figure 71 shows the format of the serial data processed
by the SCU. In this serial data, the character bits are
69

NEe

pPD70236 (V53)
transferred between the cpu· and SCU. The start bit,
parity bit, and stop bit(s) sandwiching the character bits
are control information necessary for serial data communications. They are automatically appended when
data is transmitted or deleted when data is received by
the SCU.

No Parity
On-1

c+{~te~ bitS:

On

>

__ _

Is~rr=

SCU Registers and Commands

A2 (A1)

Parity

0
0
0
0

A1 (Ao)

-0-0
1
1

0

n = 6or7
Stop bit = 1 or 2 bits
83YL-6514A

Receiver Operation
While the RxD pin is high, the receiver is in an idle state.
A transition on RxD from high to low indicates the start
of new serial data. When a complete character has been
received, it is transferred to the SRB register. The receive
buffer ready (RBRDY) bit in the SST register is set and (if
unmasked) an interrupt is generated. The SST also
latches any parity, overrun, or framing errors at this time.
The receiver detects a break condition when a null
character with zero parity is received. The BRK bit is set
for as long as the subsequent receive data is low and
resets when RxD returns to a high level.

Transmitter Operation
TxD is kept high while the STB register is empty. When
the transmitter is enabled and a character is written to
the STS register, the data is converted to serial format
and output on the TxD pin. The start bit indicates the
start oft he transmission and is followed by the character
stream (LSB to MSB) and an optional parity bit. One or
two stop bits are then appended, depending on the
programmed mode. When the character has been transferred from the STB, the TBRDY bit in the SST is set and
if unmasked, a transmit buffer empty interrupt is generated.
Serial data can be transmitted and received by polling
the SST register and checking the TBRDY or RBRDY
fl~gs. Data can· also be transmitted and received by
SCU-:generated interrupts. The SCU generates an interrupt in either of these conditions:

70

interrupts are unmasked.
(2) The transmitter is enabled, the STB is empty, and
transmit interrupts are unmasked.

I/O instructions to the I/O addresses selected by the
OPHA and SULA registers are used to read/write the
SCU registers. Address bits A2 and A1 (or A1 and Ao) and
the read/write lines select one of the six internal registers
as shown below.

Figure 71. Serial Data Format
01

(1) The receiver is enabled, the SRB is full, and receive

1

Register

srurSTB

SST
SCM
SMD
SIMK

Operation
Read
Write
Read
Write
Write
Read/write

The baud rate counter (BRC) register is fixed at address
FFE9H in the system I/O area.
The SRB and STB are a-bit registers. When the character
length is 7 bits, the lower 7 bits of the SRB register are
valid and bit 7 is cleared to o. If programmed for 7-bit
characters, bit 7 of the STB is ignored.
The SST register (figure 72) contains the status of the
transmit and receive data buffers and the error flags.
Error flags are persistent. Once an error flag is set, it
remains set until a clear error flags command is issued.

SCU Initialization
After a hardware reset, the SCU is set to the following
condition.
Baud rate factor
Character length
Stop bit
Transmit/receive
Break detection
Errors
RTS, DTR pins

x64
7 bits
1 bit
Disabled

No
No
High level

NEe

pPD70236 (V53)
Figure 73. Serial Comlllllnd Regisler (SCII)

Figure 72. Serial Stalus Reglsler (SS T)

I

DSR

I

BKD

I

FE

lOVE

I

7

PE

I

I RBRDVI TBROVI

I

0

7

-

I)S1Ilnput Pin

RTS

0
1

High level
Low level

0
1

0
1
FE
0
1
OVE
0
1
PE
0
1

Break Detection

Framing Error

Overrun Error

TBRD'f
0
1

I

High level
Low level
Clears Error Flags
No operation
Clears error flags

SBRK

Break Transml .. lon
TxD pin operates normally
TxD pin outputs low level

0
1
RE

No error
Error

0
1

Parity Error

DTR

No error
Error

0
1
TE

SRB empty
SRB full

TE

Controls RTS Output Pin

0
1

No error
Error

RBRD'f Receive Data Buffer
0
1

ECL

Normal reception
Break status detected

I

0

DSR

BKD

I - I RTS I ECL ISBRK I RE I DTR

Enables/DI ..bles Reception
Disables
Enables
Controls D'i"R Pin
High level
Low level
enables/Disables Transmission
Disables
Enables

0
1

Transmit Data Buffer
STBfull
STB empty

The SCM register (figure 73) stores the command word
that controls transmission, reception, error flag reset
and break transmission.
The SMD register (figure 74) stores the mode word that
determines serial characteristics such as baud rate divisor, parity, character length, and stop bit length.
Initialization software should first program the SMD
register followed by the SCM register. Unlike the
~PD71051, the SMD register can be modified anytime
without resetting the SCU.

Figure 74. Seriaillode Reglsler (SliD)

I

STL

I

PS

7

I

CL

I

BF

I

0

STL

xO
01
11
PS

xO
01
11
CL

xO
10
11
BF

Ox
10
11

Number of Stop Bits
Illegal
1 stop bit
2 stop bits
Parity Selection
Parity disabled
Odd parity
Even parity
Character Length
Illegal
7 bits
8 bits
Baud Rate
Illegal
RTCLK frequency/16
RTCLK frequency 64

The SIMK register (figure 75) controls the occurrence of
RBRDY and TBRDY interrupts. When an interrupt is
masked, it is prevented from propagating to the interrupt
control unit.

71

NEe

pPD70236 (V53)
Figure 75. Serial Interrupt lIasle Register (SIIIK)

I- I- I- I- I

I

7

I TM I RMI
0

TM

TBRDY Interrupt Mask

INTERRUPT CONTROL UNIT

Unmasked
Masked

0
1

RM

internal baud rate generator is discussed in the System
I/O section, and timer 1 is described in the TCU section.
The SCTL system I/O register controls the selection of
the baud rate clock.

RBRDY Interrupt Mask

Unmasked
Masked

0
1

Baud Rate Clock
The baud rate clock may come from either of two
sources: the internal baud rate generator or timer 1. The

The interrupt control unit (ICU) is a programmable interrupt controller equivalent to the p.PD71059. The ICU
arbitrates up to eight interrupt inputs, generates a CPU
interrupt request, and outputs the interrupt vector number on the internal data bus during an interrupt acknowledge cycle. Cascading up to seven external slave
p.PD71059 interrupt controllers permits the V53 to support up to 56 interrupt sources. Figure 76 is the block
diagram for the ICU.

Figure 76. ICU Block Diagram

~~~

lORD
IOWR
A1{A2)

In.ternal
Signals
(

}

To BIU -+-

SA2

{= ~~
-..0

A2

(External Signals)

ReadlWrite
Control

AO{A1)
IUS

INTLO
INTL1
INTL2
INTL3
INTL4
INTL5
INTL6
INTL7

INTPO
INTP1
INTP2
INTP3
INTP4

External
Pins

INTP5
INTP6
INTP7

83YL·6220B

To reduce current drain in the standby modes, the V53
does not have internal pullup resistors on the INTPOINTP7 pins. This is different from the p.PD71059 and
V40N50.
The ICU has the following features.
• Eight external interrupt request inputs
• Cascadable with p.PD71059 interrupt controllers
• Programmable edge- or level-triggered interrupts
(TeU, edge-triggered only)
• Individually maskable interrupt requests
• Programmable interrupt request priority
• Polling mode

72

ICU Registers
Use I/O instructions to the I/O addresses selected by the
OPHA and IULA registers to read from a,nd write to the
ICU registers. Address bit A1 and the command word
select an ICU internal register. See table 7.

1ttlEC

pPD70236 (V53)

Table 7. ICU Register Selection

Figure 77. InitialiZlltion Sequence

A1 (Ao)

Other Condition

Operation

Read

0
0
0

IMO selects IRQ
IMO selects liS
*Polllng phase

CPU - IRQ data
CPU -liS data
CPU - Polling data

Write

0
0
0

04 = 1
04 =0 and 03 = 0
04 = and 03 = 1

CPU -IIW1
CPU -IPFW
CPU-IMOW

During Initialization

CPU-IIW2
CPU -IIW3
CPU -IIW4

After initialization

CPU-IMKW

Bits SNGL and 114 are set.
The default initialization
is performed.

CPU -IMKW

o

114= 1

114= 0

* In the poliing phase, polling data has priority over the contents of
the IRQ or liS register when read.

Initializing the

leu

The ICU is always used to service maskable interrupts in
a V53 system. Prior to accepting maskable interrupts,
the ICU must first be initialized. See figure 77. Note that
RESET does not initialize the ICU.
Interrupt Initialization Words 1-4. W:>rds IIW1-IIW4
(figures 78-81) indicate whether external p.P071059s are
connected as slaves, select the base interrupt vector,
and select edge- or level-triggered inputs for INT1-INT7.
Interrupt sources from the TCU are fixed as edgetriggering. INTO is internally connected to TOUTO, and
INT2 may be connected to TOUT1 by the IRSW field in
the OPCN.
The initialization words are written in consecutive order
starting with IIW1. IIW2 sets the interrupt vector. IIW3
specifies which interrupts are connected to slaves. IIW3
is only required in extended systems. The ICU will only
expect to receive IIW3 if SNGL = 0 (bit 01 of IIW1). IIW4
is only written if 114 = 1 (bit Do of IIW1).

Figure 78. ICU Initialize, IIbnl1 (IIW1)

I- I- I- I

I LEV I

ISNGL I

07
LEV

Input Trigger Mode
Rising-edge trigger
High-level trigger

1

Mode

o

Expanded mode (slave controllers)
Single mode (no slave controllers)

1

114

I
DO

o
SNGL

114

Write to W4

o

IiW4 not required
IiW4 required

1

Figure 79. ICU Initialize, IIbnl2 (l1W2)

I~ I
07

V7-V3

~

I

~

I

~

I

~

I- I

= Higher 5 bits of Interrupt vector number

DO

73

NEe

IIPD70236 (V53)

Figure 80.

Figure 83. Command Word IPFW

ICU Initialize, Word 3 (IIW3)

I

o
07

DO
Slave Connection

o

RP

SIL

Figure 81.

I

0

I

0

ICU Initialize, Word 4 (IIW4)

I

0

I

EXTN

I

I

I

o
SFI

o
1

FI

FI command mode
Self-finish mode

Command Words. The interrupt mask word (MKW)
contains programmable mask bits for each of the eight
interrupt inputs. The interrupt priority and finish word
(IPFW) is used by the interrupt handler to terminate
processing of an interrupt or change interrupt priorities.
The interrupt mode word (IMDW) selects the polling
register, interrupt request (IRQ) or interrupt in-service
(liS) register, and the nesting mode. See figures 82-84.

Command Word IMKW

o
1

Interrupt Request Mask
INTn not masked
INTn masked

IL1

ILO

Interrupt Level
INTO
INT1
INT2

011
100
101

INT3
INT4
INT5

110
111

INT6
INT7

Figure 84.

Command Word IMOW

I - I SNM IEXCN I

0

I

I POL

SR

EXCN
0

Mo

Nesting Mode 2
No operation
Release exceptional nesting mode
Set exceptional nesting mode.
Polling Mode

0
SR

IS/IR
DO

07

POL
Mn

IL2

Non-FI command
FI command

DO

D7

I

Not specified
Specified

0
M1

0

Level

000
001
010

SNM

Figure 82.

I

Finish Interrupt

I L2-1 LO

Self-Finish Interrupt

0

No rotation
Rotation'

1

Normal
Expanded

I

Rotate Priority

o

External Nesting Mode

FI

DO

SFI
DO

I

SIL

o

07
EXTN

I

o

INTn is not a slave input
INTn is a slave input

1

RP

07

No operation
Polling command
IStlR

0
0
1

Register to Be Read
No operation
Interrupt request register (IRQ)
Interrupt in-service register (liS)

I'PD71059 Cascade Connection
To increase the number of maskable interrupts, up to
seven slave JlPD71059 interrupt controllers can be
cascaded. During cascade operation, each slave
JlPD71059 INT output is routed to one of the V53 INTP
inputs.
During the second interrupt acknowledge bus cycle,
the leu places the slave address on the address lines
Ao-A2' Each slave compares this address with the slave
address programmed using interrupt initialization
word 3 (IIW3). If the same, the slave will place the
interrupt vector on pins 00-07 during the second interrupt acknowledge bus cycle.
74

1ttfEC

"PD70236 (V53)

DMA CONTROL UNIT
The DMA control unit (DMAU) is a high-speed DMA
controller compatible with the "PD71071 and "PD71037
DMA controllers. The DMAU has four independent DMA
channels and performs high-speed data transfers between memory and external peripheral devices at
speeds as high as 4M words/second in a 16-MHz system.
Figure 85 is the block diagram for the DMAU.
The DMAU has the following features.
• Four independent DMA channels

•
•
•
•
•
•
•
•
•
•

"PD71037 or "PD71071 compatibility modes
Cascade mode for slave DMA controllers
24-bit address registers
16-bit transfer count registers
Single, demand, and block transfer modes
Autoinitialization
Address increment/decrement
Fixed/rotating channel priorities
TC output at transfer end
Forced termination of service by END input

Figure 85. DMAU Block DlllIIram
DMAU Address Bus
Internal Address Bus

Internal Control Bus

Address
Incrementerl
Decrementer
(24)

Control Registers

Internal Bus
Interface

Address
Register
Base Address (24 x 4)

BUSRQ
BAU

{

Channel (4)
Device Control (10)

BUSAK

Status (8)
Mode Control (7 x 4)
Base Count(16 x 4)
Count
Register

Mask (4)

Current Count (16 x 4)
DMARQ3-DMARQO
External

DMAAK3-DMAAKO

Priority
Control

PinS

{

Terminal Count
ENDtTc
83YL·6221B

"PD71071·and "PD71037 Mode Comparison
The DMAU has two operating modes selected by the
SCTL system control register. Respectively, the
"PD71071 and "PD71037 modes offer hardware and
software compatibility. with existing systems based on
the "PD71071 DMA controller (also the V40N50 microprocessor) and the "PD8237 DMA controller.

In applications where DMA software compatibility is not
an issue, programming flexibility is greater in the
"PD71071 mode. However, the software DMA request
capability of the "PD71037 mode is often useful.
The following compares the major functional differences
between the two modes.

75

NEe

"PD70236 (V53)
Function
DMA channel
selection

Base and
current register
access
Base registers
DMA
termination
Software DMA
requests
DMA transfers

"PD71037
Mode
Mode control
register by
write data
(operand);
other registers
have a unique
address
Consecutive
8-bit quantities

"PD71071 Mode

Write only
Bus release
mode

Read and write
Bus release and
bus hold modes

Yes

No

Byte

Byte or word

Referenced by
channel register
(DCH)

DMA Transfer Type
The type of transfer the DMAU performs depends on the
following conditions.
16-bit quantities

The DMAU is intended for high-speed data transfers
between memory and peripherals with minimum latency.
Neither mode provides memory-to-memory DMA transfers because the powerful string moves of the CPU can
accomplish block memory transfers as fast as dedicated
DMA hardware could. The DMAU does not provide compressed timing as do the "PD71071 and "PD71037.

Master/Slave Mode
The DMAU operates in either master or slave mode. In
slave mode, the DMAU samples the four DMARQ input
pins every clock. If one or more inputs are active, the
corresponding DMA request bits are set and the DMAU
sends a bus request to the BAU while continuing to
sample the DMA request inputs.
After the BAU returns the DMA bus acknowledge signal,
the DMAU stops DMA request sampling, selects the DMA
channel with the highest priority, and enters the bus
master mode to perform the DMA transfer: While in the
bus master mode, the DMAU controls the external bus
and performs DMA transfers based on the preprogrammed channel information.
See figure 45 and the associated text for a detailed
description of DMA bus cycles.

Terminal Count
The DMAU ends DMA service when the terminal count
condition is generated or when the END input is asserted. A terminal count (TC) is produced when the
contents of the current count register underflows from
zero. If autoinitialization is not enabled when DMA service terminates, the mask bit of the channel is set and
76

the DMARQ input of that channel is masked. Otherwise,
the current count and address registers are reloaded
from the base registers, and new DMA transfers are again
enabled.

• Transfer direction (each channel)
• Bus mode
• Transfer mode (each channel)

Transfer Direction
All DMA transfers use memory as a reference point.
Therefore, a DMA read operation (figure 86) transfers
data from memory to 1/0 port and writes the data into
memory. During memory-to-I/O transfer, the DMA mode
register (DMD) is used to select the transfer directions
for each channel and activate the appropriate control
signals.
Operation

Transfer

Signals Activated

DMA read
DMAwrite
DMA verify

Memory to 1/0
1/0 to memory
No transfer

10WR, MRD
lORD, MWR
Addresses only

Bus Mode
The two available modes for determining how the DMAU
releases the CPU bus are bus release and bus hold. In
"PD71037 mode, the DMAU always functions in bus
release mode. In "PD71071 mode, the DMAU is programmable for bus release or bus hold mode via the DMA
device control (DOC) register:
In bus release mode, bus control is always relinquished
each time the service has completed. Therefore, if multiple DMA requests are generl;itedsimultaneously, a bus
cycle other than that for the DMAU is inserted between
consecutive DMA services (see figure 87). Consequently,
in certain applications DMA response may be delayed.
However, bus release mode gives better assurance that
the CPU will continue to execute programs in DMA
intensive environments.
In bus hold mode, if another DMA request is generated
before the end of one service, that request can be
serviced without the DMAU relinquishing the bus. However, the same channel cannot be serviced consecutively. This mode provides better DMA response but may
prevent CPU bus activity for extended periods of time.

NEe
Figure 86.

pPD70236 (V53)

TypiCIII Memory-to-l/O DMA Cycle

I

-

S1

I

S2

I

S3

I

S4

I

Figure 87.

~

Bus Modes

-

Bus Release Mode
Right to Use
Bus

MRD

\

'--

RIW

The operation of single, demand, and block transfers
depends on whether the DMAU is in bus release or bus
hold mode. Figure 88 shows the operations flow for the
six possible transfer and bus mode operations in DMA
transfer.

-- ~ -

Service
Channel

I

n n n r-

CPU - - ,
DMAU
LJ
CHO

L...I LJ LJ
CH1

CH2 CH3

Bus Hold Mode

-

1/

~

Right to Use
Bus

-

1/

~

Service
Channel

CPU ----,
DMAU

I

''''~'n
CHO,
CH1 , CH2 ,CH3
83SL-6687A

~------------------------------------~

READY

H rJ
II

DMAAK

ENDfTC

BUFEN

\0.-

-

1/

"H"

* Dotted line shows effect of selecting "Early Write"
timing in DDC register or command register.

83YL·6515A

Transfer Modes
The DMAU has three transfer modes as listed below. In
14PD71071 mode, bits 6 and 7 (TMODE) of the mode
control register (DMD) select the transfer mode. In
14PD71037 mode, bits 6 and 7 of the channel mode
register specify the mode. Transfer mode operation is
the same in both 14PD71071 and 14PD71037 modes.
Transfer Mode
Single

Termination Conditions
After each byte/word transfer
END input
Terminal count

Demand

END input
Terminal count
Service channel DMARQ dropped
Generation of a higher priority
DMARQ (bus hold mode)

Block

END input
Terminal count

77

EI

NEe

pPD70236 .(V53)
Figure 88. Transfer Modes
Single Transfer Mode
Bus Release Mode

Bus Hold Mode

No

No

Bus Release Mode

Bus Release Mode

(

78

Idle State

Demand Transfer Mode

Block Transfer Mode

Bus Hold Mode

Bus Hold Mode

NEe
Sing Ie Transfer Mode. In bus release mode, when a
channel completes transfer of a single byte or word, the
DMAU enters the slave mode regardless of the state of
DMA request inputs. In this manner, other lower priority
bus masters can access the bus.
In bus hold mode (p.PD71071 mode only), when a channel completes transfer of a single byte or word, the
DMAU terminates the channel's service even if the
DMARQ request signal is asserted. The DMAU will then
service any other requesting channel. If there are no
requests from any other DMA channels, the DMAU releases the bus and enters the idle state.
Demand Transfer Mode. In bus release mode, the
currently active channel continues to transfer data as
long as the DMA request of that channel is active, even
though other DMA channels are issuing higher priority
requests. When the DMA request of the serviced channel
becomes inactive, the DMAU releases the bus and
enters the idle state.
In bus hold mode (not available in p.PD71037 mode),
when the active channel completes a single transfer, the
DMAU cheeks the other DMA request lines without
ending the current service. If there is a higher priority
DMA request, the DMAU stops the service of the current
channel and starts servicing the highest priority channel
requesting service. If there is no higher request than the
current one, the DMAU continues to service the currently
active channel. Lower priority DMA requests are honored
without releasing the bus after the current channel
service is complete.

pPD70236 (V53)
When a mode register enables autoinitialize for a channel, the DMAU automatically reinitializes the address
and count registers when END is asserted or the terminal count condition is reached. The contents of the base
address and base count registers are transferred to the
current address and current count registers, and the
applicable bit of the mask register remains cleared.

Channel Priority
Each of the four DMAU channels is assigned a priority.
When multiple DMA requests from several channels
occur simultaneously, the channel with the highest priority will be serviced first.
The device control register selects one of two priority
schemes: fixed or rotating (figure 89). In fixed priority,
channel 0 is assigned the highest priority, and channel 3,
the lowest. In. rotating priority, priority order is rotated
after each service so that the channel last serviced
receives the lowest priority. This method prevents the
exclusive servicing of higher priority channels and the
lockout of lower priority DMA channels.
The rotating priority feature is selected by programming
the DMA device control (DDC) register in p.PD71071
. mode or by a write to the command register in p.PD71037
mode.

Figure 89. Priority Order
Fixed Priority
Highest

Block Transfer Mode. In bus release mode, the current
channel continues DMA transfers until a terminal count
or the external END input becomes active. During this
time, the DMAU ignores all other DMA requests. After
completion of the block transfer, the DMAU releases the
bus and enters the idle state, even if DMA requests from
other channels are active.
In bus hold mode (p.PD71071 mode only), the current
channel transfers data until an internal or external END
signal becomes active. When the service is complete,
the DMAU checks all DMA requests without releasing
the bus. If there is an active request, the DMAU immediately begins servicing the request. The DMAU releases
the bus after it honors all DMA requests or a higher
priority bus master requests the bus.

Lowest

Rotation Priority
Highest

Highest

Autoinitiali ze
This function is enabled by programming the mode
register (p.PD71071 and p.PD71037 modes).

83SL·6688A

79

.:!II
E.II

NEe

pPD70236 (V53)
Cascade Connection

Figure 91. Bus Waiting Operation

Slave DMA controllers can be cascaded to easily expand
the system DMA chanrlel capacity to 16 DMA channels.
Figure 90 shows an example of cascade connection.
During cascade operation, the DMAU acts as a mediator
between the BAU and the slave DMA controller. During
DMA cascade mode operation, it is the responsibility of
external logic to isolate the cascade bus master from the
V53 control outputs. These outputs are listed near the
beginning of this document.
The DMAU always operates in the bus release mode
while a cascade channel is in service, even when the bus
hold mode is programmed. Other DMA requests are held
pending while a slave DMA controller channel is in
service. When the cascaded device ends service and
moves into the idle state, the DMAU also moves to the
idle state and releases the bus. The DMAU continues to
operate normally with the other noncascaded channels.

Figure 90. pPD71071 Cascade EXllmple
~DMA1
V53
DMAU
(Master)

~DMA2
~DMA3

Cascade {DMAAK
HLDAK
Channels DMARQ 1.....1 - - - _ . 1 HLDRQ

DMA4

Other
Bus Master

I

DMARQ

_ _..oJ

DMABUSAK

_ _..oJ

DMAU

I

~
DMA BUSRQ

RCU

I

DMAU

I

Other
Bus Master

~ Approx 2 clocks

_ _..oJ

~

~ Bus waiting state
83YL-6684A

Address and Count Registers
Each DMA channel has a 24-bit base address register
and a 24-bit current address register. In addition, each
channel also has its own 16-bit current count register
and base count register: The base registers hold a value
determined by the CPU and transfer this value to the
current registers during autoinitialization. These registers are available in both p.PD71071 mode and p.PD71037
mode, but the method of accessing these registers
changes with compatibility mode.
The BN KR registers extend the p.PD71037 mode addresses from 16 to 24 bits. In p.PD71071 mode, the count
register and lower word of the address registers can be
accessed in 16-bit quantities. In p.PD71037 mode, these
registers must be accessed in 8-bit quantities.
.

DMAS
~PD71071

Programming the DMAU

(Slave)
DMA6
DMA7

83SL-6686A

Bus Waiting Operation
The DMAU automatically performs a bus waiting operation (figure 91) whenever the RE FU refresh request
queue fills. When the DMA bus acknowledge goes inactive, the DMAU enters the bus waiting mode and inactivates the DMA bus request signal. Control of the bus is
then transferred to the higher priority RE FU by the BAU.
Two clocks later, the DMAU reasserts its internal DMA
bus request. The bus waiting mode is continued until the
DMA bus acknowledge signal again becomes active and
the interrupted DMA service is immediately restarted.

80

To prepare a channel for DMA transfer, the following
characteristics must be programmed.
•
•
•
•

Starting address for the transfer
Transfer count
DMA operating mode
Transfer size (byte/word in p.PD71071 mode)

The contents of the OPHA and DULA registers determine
the base I/O port address of DMAU. Addresses A3-Ao are
used to select a particular register. There are two register
sets, one for p.PD71071 mode and the other for p.PD71037
mode.

I'PD71071 Mode
The p.PD71071 mode is selected by programming the
DMAU bit of the SCTLregister to zero. The register set
for this mode (table 7) is mapped into ~-Ao regardless of
the IOAG value in the SCTL register.

NEe

pPD70236 (V53)

Table 7. Regl.teT Selection (pPD71071I1ode)
Note.

FlguTe 92. DIIA Initialize Command Regl.teT
(DICM); pPD71071 Mode

Read/Write

1

7

DBC/DCC Oow)

Read/Wrlte

2

DBC/DCC (hIgh)

Read/Wrlte

2

4H

DBNQCA Oow)

Read/Write

2

0101

5H

DBNQCA (hIgh)

Read/Write

2

0110

6H

DBNQCA (upper)

Read/Write

1,2

A3-Ao

Addres.

Register

Operation

0000

OH

DICM

Write

0001

1H

DCH

0010

2H

0011

3H

0100

0111

7H

Reserved

1000

8H

DOC Oow)

Read/Write

1001

9H

DOC (hIgh)

Read/Write

1010

AH

DMD

Read/Write

1011

BH

DST

Read

1100

CH

Reserved

1101

DH

Reserved

1110

EH

Reserved

1111

FH

DMK

I

I

I- I

~

I- I

R~

Address OH
Byte OUT Instruction

RES

o
1

0

Reset
No operation
Reset DMAU

Channel Register. Writes to the DMA channel register
(DCH) select one of the four DMA channels for programming and also the base/current registers. Reads of the
DCH register return the currently selected channel and
the register access mode. See figure 93.

1,2

FlguTe 93. DIIA Channel Regl.teT (DCH);
pPD71071110de

-~---

Channel Register Read

I

Read/Write

Notes:

BASE

o

(1) Register can be accessed only with byte In/Out instructions. All
others can be accessed with 16-bit In/Out Instructions.
(2) There are four such registers, one for each DMA channel. The
particular register accessed Is determined by the DCH register.

0001
0010
0100
1000

Initialize. The DMA initialize command register (DICM)
performs a software reset of the DMAU. The DICM is
accessed using the byte OUT instruction. See figure 92.

Operation
Clear
Select channel 0
No change

DBA, DCA
DDC
DMD
DST
DMK

Address
Device control
Mode control
Status
Mask

No change
Clear
Clear
Clear
Set (mask all channels)

SEL3

I

SEL2

I

SEL 1

I

SELO

I

0

Access Conditions
Read: current only
Write: base and current

Selected Channel

o
1
2
3
Channel Register Write

- I- I- I

The DMAU initializes the registers as follows.
Name
Initialize
Channel
Count

I

Read/Wrlte: base only
SEL3-SELO

DMAU Registers In "PD71071 Mode

Register
DICM
DCH
DBC, DCC

BASE

Address 1H
Byte IN Instruction

7

BASE

Address 1H
Byte OUT Instruction

7
BASE

o

I

SELCH
0

Access Conditions
Read: current only
Write: base and current
Read/write: base only

SELCH
00
01
10
11

Selected Channel
Channel
Channel
Channel
Channel

0
1
2
3

Count Registers. When bit 2 of the DCH register is
cleared, a write to the DMA count register (figure 94)
updates both the DMA base count (DBC) and the DMA
current count (DCC) registers with a new count. If bit 2 of
the DCH register is set, a write to the DMA count register
affects only the DBC·register.
81

ED

NEe

pPD70236 (V53)
The DBC register holds the initial count value until a new
count is specified. If autoinitialization is enabled, this
value is transferred to the DCC register when a terminal
count or END condition occurs. For each DMA transfer,
the current count register is decremented by 1. The
count value loaded into the DBC/DCC register is 1 less
than the desired transfer count.
Figure S4. DMA Count Regl.ter. (DBC, DCC);
pPD71071 lIode

controls the bus mode, write timing, priority logic, and
enable/disable of the DMAU See figure 97.
Figure IJ6. DMA Device Control Regl.ter (DDC);
pPD71071 lIode

I EXW I ROT I

EXW
0

eol
o

Address 2H
IN/OUT Instruction

7

o

Address 3H
IN/OUT Instruction

7

1
ROT

0

I

Ca

1
DDMA

0
1

Address Register. Use either byte or word I/O instructions with the lower 2 bytes (4H and 5H) of the DMA
address register (figure 95). However, byte I/O instructions must be used to access the high-order byte (6H) of
this register. When bit 2 of the channel register is cleared,
a write to the DMA address register updates both the
DMA base address (DBA) and the DMA current address
(DCA) registers with the new address. If bit 2 of the DCH
register is set, a write to the DMA address register affects
only the DBA register.
The DBA register holds the starting address value until a
new address is specified. This value is transferred to the
DCA register automatically if autoinitialization is selected. For each DMA transfer, the current address
register is updated by 2 during word transfers and by 1
during byte transfers.
Figure 95. DMA Address Regl.'er. (DBA, DCA);
pPD71071 Mode

I7 A15

A14

A13

I A12 I A11 I A10
Address 5H

A9

I As 0I

A17

A16

IN/OUT Instruction

I A23
7

A22

A21

I A20 I A19 I A18
Address 6H

0

I

IN/OUT Instruction

Device Control Register. The DMA device control register· (DDG) (figure ~) is used to program the DMA
transfer characteristics common .to all DMA channels. It

82

Priority

Fixed
Rotational
DMA Operation (Note 2)

Enable
Disable

-

I

Disable
Enable

BHLD

Bus Mode

0
1

I

WEV

I

BHLD

I

0

Walt During Verify (Note 3)

1

0

o

Normal
Extended

Address 9H
IN/OUT Instruction

WEV

I - I

Writing (Note 1)

I

I7

I

Bus release
Bus hold

Notes:

(1) Disables BUSRQ to the BAU to prevent Incorrect DMA operation
whUe the DMAU registers are being Initialized or modified.
(2) When EXW = 0, the write signal becomes active (normal write)
during S3 and Sw. When EXW = 1, the write signal becomes
active during S2, S3, and SW (like the read slgnaQ.
(3) Walt states are generated by the READY signal during a verify
transfer.

o

Address 4H
IN/OUT Instruction

7

I

~ DDMA
Address 8H
IN/OUT Instruction

7

NEe

IIPD70236 (V53)

Figure 97. EBrly Write Cycle Timing

Ouring word transfers, two bytes starting at an even
address are handled as a single word. If the starting
address is odd, a OMA transfer is started after first
decrementing the address by 1. For this reason, always
select even addresses. The Ao and UBE outputs control
byte and word OMA transfers. The following shows the
relationship between the data bus width, Ao, and UBE
signals, and data bus status.
.

I S1 I S2 I S3 I S4 I S1 I S2 I S3 I SW I S4 I
Read

Normal Write

Ao
0-

Early Write

1

READY

n

------------~

o
~----

83YL·6685A

Mode Control Register. The DMA mode control register
(OMO) selects the operating mode for each OMA channel. The OCH register selects which OMO register will be
accessed. A byte IN/OUT instruction must be used to
access this register. See figure 98.

Figure9B. OIlA Mode Control Register (OliO);
pP071071 Mode
TMODE

1
7

TMODE

TDIR
Address OAH

1

Increment
Decrement

AUTI

Autoinitialize

o
TDIR

1

RQn

DMA Request, Channel n

o

No DMA request active
DMA request active

1

TCO
0

Terminal Count, Channel n

TCn

o

Not ended (for each read)

'E"ND or terminal count

1

Mask Register. The OMA mask register (OMK) allows
software to individually enable and disable OMA channels. The OMK register can only be accessed via byte 1/0
instructions. See figure 100.

Figure 100. DIM lIask Register (OIlK);
pPD71071 Mode

Verify
I/O-to-memory
Memory-to-I/O
Not allowed

11

Address OBH
Byte IN Instruction

o

Transfer Direction

00
01
10

W/B

7

Disable
Enable

1

0 8-015 valid
00-015 valid

Figure 99. OIlA Status Register (OS 1};
pPD71071 Mode

Address Direction

o

0
0

1 RCS 1 RQ2 I RC1 1 ROO I TCS I TC2 1 TC1

Demand
Single
Block
Cascade

11

Oata Bus Status

DO-07 valid

Status Register. The OMA status register (OST) contains information about the current state of each OMA
channel. Software can determine if a termination condition has been reached (TCO-TC3) or if a OMA service
request is present (ROb-R03). The byte IN instruction
must be used to read this register. See figure 99.

Transfer Mode

00
01
10
ADIR

wiS

1 ADIR I· AUTI 1

UBE

-,--

1
7

1

-

1 M3 I M2
Address OFH
Byte IN/OUT Instruction
1

M1

MO

a

Word/Byte Transfer

o
1

Mn

Byte
Word

o
1

DMARQ Mask, Channel n

Not masked
Masked

Addresses and count registers are updated as follows
during byte/word transfers.
Register
Address register
Count register

Byte Transfer

'M>rd Transfer

±1

±2

-1

-1

83

ED

NEe

pPD70236 (V53)
"PD71037 Mode
The p.PD71037 mode is selected by programming the
DMAM bit of the SCTl register to 1. See figure 48. Note
that on RESET, the DMAU is put into p.PD71071 mode.
The register set for the p.PD11037 mode (table 8) is
mapped into A3-Ao(lOAG = 0) or ~-A1 (IOAG = 1). For
the case where 10AG = 1, the DUlA system I/O register
determines whether the DMAU responds to Ao = 0 or 1.
TableS.

Register Set for pPD71037 Mode

Channel

Register

Read/Wrlte

Address

0

DCA
DCA, DCB

R
W

0000

DCC
DCC, DBC

R
W

0001

DCA
DCA, DCB

R
W

0010

DCC
DCC, DBC

R
W

0011

DCA
DCA, DCB

R
W

0100

DCC
DCC, DBC

R
W

0101

DCA
DCA, DCB

R
W

0110

DCC
DCC, DBC

R
W

0111

DST
DDC

R
W

1000
1001
1010
1011
1111

2

3

DSRQ

W

DSCM

W

DMD

W

DMK

W

The commands and their corresponding, addresses
Ao) are shown here.
Command
Clear byte select flag
Initialize
Clear mask register

10AG=O
x1100
x1101
x1110

(~­

IOAG=1
1100x
1101x
1110x

DMAU Registers In "PD71037 Mode
Most of the DMAU registers ill this mode are the same as
those in the p.PD71071 mode, but with a different I/O
address or method of access.
Count and Address Registers. The DCA, DBA, DCC,
and DBC registers are 16 bits wide, but can only be'
accessed in byte-wide chunks. The byte select flag (BSF)
determines which byte is accessed. When the BSF is low,
the low byte is used; when the BSF is higti, the high byte
is used. The BSF cannot be read; to set it to a known
state, a byte select flag clear command must be issued
by performing an 8-bit I/O write to address x1100b. To
read or write one of these registers, first clear the BSF,
and then perform two consecutive 8-bit I/O operations.
The low byte will be accessed first and the high byte
second.
Bank Registers. The DMA memory addresses in the
p.PD71037 mode are 16 bits, compared with 24-bit addresses in the p.PD71071 mode. To expand the 16-bit
addresses into the full 24-bit address space of the V53, a
set of bank registers is provided, BN KRO-BN KR3, one per
DMA channel.

"PD71037 Commands

Each 8-bit register contains the upper address bits,
A23-A16, to be used when a DMA channel is active. DMA
addresses are modified after each transfer to point to the
next address in the DMA buffer. The SCTl system I/O
register, CE1-CEO bits, control whether a carry is propagated into the upper address bits when the DMA address is incremented or decremented. CEO controls the
carry propagation to A16 and CE1 controls the carry to
A20·
The BNKR registers are read 'or written using byte I/O
operations. See figure 101. As with other V53 internal
registers, the I/O address to which the BNKR registers
respond is programmable. The BADR system I/O register
(address FFE1H) sets the base address of the BNKR
registers in the 256-byte block of I/O space selected by
the OPHA register. See figure 102.

In addition to the registers explained above, three I/O
addresses cause commands to be executed when they
are written to. The val ue of the data written is not
important; it is the action of performing an I/O write to
one of these addresses that initiates the desired action.

Also, to allow maximum flexibility, the low two address
bits of each BN KR register are programmable. The BSEl
system I/O register (address FFEOH) sets the low two
address bits for each BN KR register. See figure 103. As
with other programmable addresses, the 10AG bit of the

The registers in table 8 can be accessed only by byte I/O
operations. The 10AG bit of the SCTl register determines
whether these registers reside in contiguous bytes, or
whether they each occupy one-half word (i.e., whether
the registers are byte or word aligned). If word aligned
(IOAG =1), the low bit of the DUlA register determines
whether the DMAU will use the upper or lower byte ofthe
word. In p.PD71071 mode, the setting of the 10AG bit
makes no difference; the register addresses do not
change.

84

NEe

pPD70236 (V53)

SCTL register has the effect of shifting the settable
address one bit position to the left.
The bank registers are only enabled in p.PD71037 mode.
In p.PD71071 mode, they cannot be read or written.

Figure 101. DMA Sank Registers (BNKR);
pPD71037 Mode

I A23

A22

7

I A19
I A21 I A20BNKRO

A18

A17

I

A16

a

IN/OUT

I A23

A22

I A23

A22

~

A18

I

A16

A17

I

A16

a

I

A21

DMA Device Control Reglsler (ODC);
pPD71037 Mode

I - I - I EXW I ROT I - IOOMA I
Byte OUT Instruction

EXW

a
1

A20
A19
BNKR2
IN/OUT

A18

A20
A19
BNKR3
IN/OUT

7

A17

a

I

A21

7

I A23

A18

A20
A19
BNKR1
IN/OUT

7

Figure 104.

7

I

A21

Device Control Register. In p.PD71037 mode, there are
fewer device options. The wait during verify and bus hold
control bits are not offered. The DMA device control
register (DOC) has only one byte to control early write
cycles, channel priority, and global DMA enable. See
figure 104.

A17

I

A16

a

ROT

I- I
a

Write Timing (Note 1)
Normal
Early
Channel Priority

a

Fixed

a

Enable
Disable

1
Rotational
- - oOMA
DMA Operation
1
Notes:

Figure 102. Sank Address Register (SADR);
pPD71037 Mode

I

As

A7

I

I

As

~

I

I

A3
Address FFE1H
IOAG = a

7

7

A2

*A1

(1) When EXW = a, the write signal becomes active during S3 and
Sw. When EXW 1, the write strobe is asserted earlier during S2,
S3. and SW (same as read strobe).

=

*~

a

o

Address FFE1H
IOAG = 1

*Address bits are set by the BSEL register.

Figure 103.

Sank Select Register (BSEL);
pPD71037 Mode

I

I

~~

~~

7

I

~~

Address FFEOH

BN Kn
00
01
10
11

Channel Mode Registers. Each channel has a mode
register allocated to it. All four registers are accessed
using the same I/O address. The low two bits of the data
written to the DMD register select the channel. Note that
byte transfers are supported but 16-bit transfers are not.
Figure 105 shows the format of the channel mode register.

~~
0

*Address Bits InBADR Register
00
01
10
11

* Address bits are A1, ~ if 100G
a bit in the SCTL register.)

= a or A2, A1 if IOAG = 1. (iOAG is

85

III

NEe

"PD70236 (V53)
Figure 105.
TMODE
7

OMA Channel Mode Registers (0110);
pP071D37Mode

I

ADIR

I

AUTI

I

TDIR

TMODE
00
01
10
11
ADIR

o

1

11
SELCH
00
01
10

11

Disable
Enable

RQn

o
1
TCn

o
1

Byte OUT Instruction

1
SELCH

00
01
10
11

Channel Selection for Mode Change

0
1
2
3

OMA Status Registers (DS7);
pP071D3711ode
Address x1000b
Byte IN Instruction

TCO

o

DMA Request, Channel n

I

SELCH

I

0

Mask Setting
Clear mask bit
Set mask bit
DMARQ Mask Channel Selection
Channel
Channel
Channel
Channel

0
1
2
3

Figure 109. Software 01fA Request Register
(OSRQ); pP071D37Mode

I- I

I - I - I -. I - I

SRO

Byte OUT Instruction

7
SRQ

Terminal Count, Channel n

1

Not ended (for each read)
END or terminal count

SMO

Software DMA Request Register. The DSRQ register is
used by software to trigger a DMA operation. One
application is to simulate the assertion of a hardware
DMA request for diagnostic purposes. This register is
written with the number of the targeted channel and a bit
that sets or clears an internal request flag associated
with that channel. Figure 109 shows the format of this
register.

No DMA request active
DMA request active

Mask Register and Single-Channel Mask Control
Register. The format and 1/0 address of this DMK
register (figure 107) is the same as in #,PD71071 mode
except that it cannot be read; it is a write-only register.
The DMK register can be put into a known state by
writing to it directly, by using the clear mask register
command, or by using the single-channel mask control
register (DSCM) at 1/0 address x1010b to set or clear the
enable bit for an individual channel (figure 108).

86

I- I- I- I- I
o

Verify
I/O-to-memory
Memory-to-1/0
Not allowed

Channel
Channel
Channel
Channel

Not masked
Masked

7
SMQ

I R03 I RQ2 I R01 I ROO I TC3 I TC2 I TC1
7

I

o

DMARQ Mask, Channel n

I

Transfer Direction

Status Register. This DST register (figure 74) is identical to the #,PD71071 mode DST register, but is at 1/0
address x1000b.

Figure 106.

MO

M1

Figure 108. OMA Single-Channel Masle Control
Register (OSCM); pP071D3711ode

Addres. Direction

Autoinitialize

00
01
10

I

M3
M2
Address OFH
Byte OUT Instruction

o

1

TDIR

I- I- I

7

Mn

Demand
Single
Block
Cascade

AUTI
1

0

Transfer Mode

Increment
Decrement

o

I I

SELCH

Byte OUT Instruction

Figure 107. OMA Masle Register (OMK);
pP071D37 Mode

o
SELCH

00
01
10
11

I

SELCH
0

I

Request
Clear request bit
Set request bit
Software DMARQ Channel Selection
Channel
Channel
Channel
Channel

0
1
2
3

Initialization. In #,PD71037 mode, there is no DICM
initialize register. Instead, the DMAU is initialized by
performing an 1/0 write to address x1100b.

NEe

I'PD70236 (V53)

entered by setting the STOP bit in the SBCR to 0 and
executing a HALT instruction. (See table 1 for output
pin states.)

POWER CONSERVATION
The V53 has three power conservation features.
• Scalable system clock
• Low-power HALT standby mode
• Very-low-power STOP mode
These features give three levels of power reduction,
making the V53 ideal for use in portable or other
low-power applications. The standby control register
(SBCR) at address OF F F1H in the system I/O area
controls all three functions. See figure 110.

Scalable System Clock
The V53 is a CMOS device and power consumption is
directly proportional to clock frequency. By reducing
the frequency, power use can be significantly decreased. The system clock is used by the CPU and
internal peripherals. The CLKC field in the SBCR selects a scale factor that divides the oscillation frequency by 2, 4, 8, or 16 to produce the system clock.
This value can be changed dynamically to adjust the
clock rate to the most efficient performance level for
the task at hand.
Caution: The system clock must not be set to less than the
minimum frequency specified in the AC Characteristics table.

Figure 110. Standby Control Register (SBCR)

I

I

I

I

fClK = Osc freq
fClK = Osc freq
fClK = Osc freq
fClK = Osc freq

2 19
2 18
217
2 16

-+-+-+-+-

fClK
fClK
felK
fClK

Sets HALT mode
Sets STOP mode
if WT

=

11 and fClK

=

16 MHz, time

The bus hold (HLDRQ/HLDAK) function still operates
during standby mode. External bus masters can take
the bus from V53. Also, refresh and DMA cycles can still
occur. The SCU and TCU can both be active, and can
supply the wakeup interrupt if desired.

STOP Mode
This mode provides the maximum power reduction. The
clock generator is disabled; the oscillator circuit is
turned off. Power usage is minimal. STOP mode is
entered by setting the STOP bit in the SBCR to 1 and
exec uti ng a HALT instruction. Since the system clock is
not active, none of the on-Chip peripherals can be used.
If the timer units TCLK input is used and driven by an
external oscillator, the timer will continue to function
and consume power.
The output pins in STOP mode are in the same state as
in HALT mode. Refer to table 1. The V53 will wake up
from STOP mode in response to a RESET, NMI, or
INTPn. The CPU may be in EI or 01 state. The INTP line
should be held active through oscillator stabilization
time until it is acknowledged.

Oscillator Stabilization Time

When HALT Instruction Is Executed

0

* For example,

-+- 2
-+- 4
-+- 8
-+- 16

* Oscillation Stabilization Time

00
01
10
11
STOP

0

System Clock Frequency felK

00
01
10
11
WT

I STOP I

WT

Address F F F1 H

7

CLKC

I

CLKC

The V53 will come out of HALT standby mode in
response to RESET, NMI, or an interrupt from the
internal interrupt control unit. If interrupts were enabled (IE= 1) before HALT mode was entered, an ICU
interrupt wakeup will result in the interrupt handler
being entered; if interrupts were not enabled (IE= 0),
then execution will resume at the instruction following
the HALT that put the CPU in the standby mode. If NMI
wakes up the CPU, the NMI handler is always entered.

=

4.096 ms

When the V53 is reset or when it wakes up from STOP
mode, the oscillator circuit is started up. This circuit
can take a relatively long time to come up to speed and
to stabilize. The oscillator stabilization time field (WT)
in the SBCR does not affect the physical startup time; it
determines how long the V53 will wait for the clock
generator oscillator circuit to stabilize. The user should
determine the worst case stabilization time and select
a longer value of WT.

HALT Standby Mode

RESET FUNCTION

Power can be further reduced by putting the CPU in
HALT standby mode. In this mode, the CPU is not
operating, but all the internal peripherals are still
enabled and may be drawing power. HALT mode is

The V53 is reset when a falling edge is input to the
RESET pin and is subsequently held low for six clocks
or longer than the oscillator stabilization time and then
made high.

87

III

NEe

pPD70236 (V53)
CPU Operations

Figure 112. Register Reset Status (conI)

When the V53 is reset, the CPU is initialized as shown in
figure 111 and starts prefetching instructions from address FFFFOH.

Register

Prefetch Pointer

PFP

Program Counter ,

PC

OOOOH

Program Segment Register

PS

FFFFH

Stack Segm$nt Register

SS

OOOOH

OOOOH

DSO

Data Segment 1 Register

OOOOH

DS1

OOOOH

Queue

Cleared

Program Status Word

PSW
V
0

I

OIR
0

IE
0

15

I

S
0

z

AC
0

0

0

0

I B~K0 I
I ~Y I

P
0

0

7

5

4

3

o
o

o
o

o

o

o

o

0,

o

o
o

o
o
o

o
o

o

2

Serlsl Control Unit
SMD

Figure 111. CPU Reset Status

Data Segment 0 Register

Initial Value, Bits 7-0
6

7

0

SCM

o
o

o

o

o

o

SIMK
SST

DMA Control Unit
DCH
DMD

0

DDC
(8H)

o
o
o

DDC
(9H)
DST

o

o

o

o

o

o

o

o
o

o

o

o

DMK

INSTRUCTION SET HIGHLIGHTS
Enhanced Instructions

Internal Register Operations
Some internal registers are also initialized by the RESET
input signal. See figure 112. The rest of the registers
retain the status they had immediately before the RESET
signal was applied, but their contents are undefined at
power up.

In addition to the "P08088/86 instructions, the
"P070236 has enhanced instructions listed in table 8.

Table B. Enhanced Instruction
Instruction

Function

PUSH Imm

Pushes Immediate data onto stack

PUSHR

Pushes 8 general registers onto stack

PO P R

Pops 8 general registers onto stack

MULlmm

Executes 16-bit multiply of register or memory
contents by Immediate data

SHLimm8
SHR imm8
SHRA ImmS
ROLlmmS
ROR ImmS
ROLClmm8
RORC ImmS

Shifts/rotates register or memory by immediate
value

CHKlND

Checks array index against designated
boundaries

WCY4

INM

Moves a string from an I/O port to memory

WMBO

OUTM

Moves a string from memory to an I/O port

PREPARE

Allocates an area for a stack frame and copies
previous frame pointers

DISPOSE

Frees the current stack frame on a procedure exit

Figure 112. Register Reset Status
Initial Value, Bits 7-0
Register

7

6

5

0

4

3

2

0

0

0

0

0

0

0

0

0

System 110 Ares
SCTL
OPSEL

1

WCYO
WCY1
WCY2
WCY3

WMB1

1

WAC
TCKS
RFC
SBCR

88

0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0
0

1

NEe

IIPD70236 (V53)

Enhanced Stack Operation Instructions

Stack Frame Instruction

PUSH Imm. This instruction allows immediate data to
be pushed onto the stack.

PREPARE Imm16,lmmS. This instruction is used to
generate the stack frames required by block-structured
languages, such as PASCAL and Ada. The stack frame
consists of two areas. One area has a pointer that points
to another frame which has variables that the current
frame can access. The other is a local variable area for
the current procedure.

PUSH R; POP R. These instructions allow the contents
of the eight general registers to be pushed onto or
popped from the stack with a single instruction.

Enhanced Multiplication Instructions
MUL reg16, Imm16; MUL mem16, Imm16. These instructions allow the contents of a register or memory
location to be multiplied by immediate data.

Enhanced Shift and Rotate Instructions

DISPOSE. This instruction releases that last stack frame
generated by the PREPARE instruction. It returns the
stack and base pointers to the values they had before
the PREPARE instruction was used to call a procedure.

Unique Instructions

SHL reg, ImmS; SHRreg, ImmS; SHRA reg, ImmS.
These instructions allow the contents of a register to be
shifted by the number of bits defined by the immediate
data.

In addition to the p.PD8088/86 instructions and the enhanced instructions, the p.PD70236 has the unique instructions listed in table 9.
~

ROL reg, immSj ROR reg immSj ROLC reg, ImmS;
RORC reg, ImmS. These instructions allow the contents
of a register to be rotated by the number of bits defined
by the immediate data.

Instruction

Function

INS

Insert bit field

EXT

Extract bit field

Check Array Boundary Instruction

ADD4S

Adds packed decimal strings

CHKIND reg16, mem32. This instruction is used to
verify that index values pointing to the elements of an
array data structure are within the defined range. See
figure 113. The lower limit of the array should be in
memory location mem32, the upper limit in mem32 + 2. If
the index value in reg16 is not between these limits when
CHKIND is executed, a BRK 5 will occur. This causes a
jump to the location in interrupt vector 5.

SUB4S

Subtracts one packed decimal string from
another

Figure 113. Check Array Boundary
Memory

Table 9. Unique Instructions

CMP4S

Compares two packed decimal strings

ROL4

Rotates one BCD digit left through AL lower 4 bits

ROR4

Rotates one BCD digit right through AL lower 4 bits

BRKXA

Break and enable expanded addressing

RETXA

Return from break and disable expanded
addressing

TEST1

Tests a specified bit and sets/resets Z flag

NOT1

Inverts a specified bit

CLR1

Clears a specified bit

SET1

Sets a specified bit

REPC

Repeats next Instruction until CY flag Is cleared

15

Upper Limit

~

.:!t

Array

~

Low"umlt~

mem32 + 2 (Upper Limit)
mem32 (Lower Limit)

REPNC

Repeats next instruction until CY flag Is set

FP02

Additional floating-point processor call

49NR-336A

variable Length Bit Field Operation Instructions
Block I/O Instruction
OUTM DW, src-block; INM dist-block, ow, These instructions are used to output or input a string to or from
memory, when preceded by a repeat prefix.

This category has two instructions: IN S (Insert Bit Field)
and EXT (Extract Bit Field). These instructions are
highly effective for computer graphics and high-level
languages. They can, for example, be used for data
structures such as packed arrays and record type data
used in PASCAL.

89

NEe

pPD70236 (V53)
IN S reg8, regs; IN S regS, Imm4. This instruction transfers low bits from the 16-bit AW register (the number of
bits is specified by the second operand) to the memory
location specified by the segment base (DS1 register)
plus the byte offset (IV register). The starting bit position
within this byte is specified as an offset by the lower 4
bits of the first operand. See figure 114.
After each complete data transfer, the IV register and the
register specified by the first operand are automatically
updated to point to the next bit field.
Either immediate data or a register may specify the
number of bits transferred (second operand). Because
the maximum transferable bit length is 16 bits, only the
lower 4 bits of the specified register (OOH to OFH) will be
valid.
Bit field data may overlap the byte boundary of memory.

Figure 114. Bit Field Insertion
Bit

~
dJ'
O~~_!I: O""'t[1Y]
~F---:----r-~~f:'-"-l--~~1--/-iqM.mo.
Awi' 0

Bit

Byte
Boundary

.yre

Segment Base
[OS1]
49NR-341A

EXT regS, regs; EXT regS, Imm4. This instruction
loads to. the AW registers the bit field data whose bit
length is specified by the second operand of the instruction from the memory location that is specified by the
DSO segment register (segment base), the IX index
register (byte offset), and the lower 4 bits of the first
operand (bit offset). See figure 115.
After the transfer is complete, the IX register and the
lower 4 bits of the first operand are automatically updated to point to the next bit field.
Either immediate data or a register may be specified for
the second operand. Because the maximum transferable bit length is 16 bits, however, only the lower 4 bits of
the specified register (OOH to OFH) will be valid.
Bit field data may overlap the byte boundary of memory.

Figure 115. Bit Field Extraction
Bit

Bit

Byte

; ~. OOjr~t~M'=.
15

1
0

Awl·oV//I

Byte
Boundary

Segment Base
[OSO]

49NR-342A

Packed BCD Operation Instructions
The instructions described here process packed BCD
data either as strings (ADD4S, SUB4S, CMP4S) or byteformat operands (ROR4, ROl4). Packed BCD strings
may be from 1 to 254 digits in length.
When the number of digits is even, the zero (Z) and carry
(CY) flags will be set according to the result of the
operation. When the number of digits is odd, the Z and
CV flags may not be set correctly. In this case (Cl =
odd), the Z flag will not be set unless the upper 4 bits of
the highest byte are all Os. The CV flag will not be set
unless there is a carry out of the upper 4 bits of the
highest byte. When Cl is odd, the contents of the upper
4 bits of the highest byte of the result are undefined.
ADD4S. This instruction adds the packed BCD string
addressed by the IX index register to the packed BCD
string addressed by the IV index register, and stores the
result in the string addressed by the IV register. The
length of the string (number of BCD digits) is specified
by the Cl register, and the result of the operation will
affect the V (overflow), Cv, and Z flags.
BCD string (Iv, Cl) - BCD string (IV, Cl)
(IX, CL)

+ BCD string

SUB4S. This instruction subtracts the packed BCD
string addressed by the IX index register from the
packed BCD string addressed by the IV register, and
stores the result in the string addressed by the IV
register. The length of the string (number of BCD digits)
is specified by the Cl register, and the result of the
operation will affect the V, Cv, and Z flags.
BCD string (Iv, el) - BCD string (Iv, el) - BCD string
(IX, Cl)
CMP4S. This instruction performs the same operation
as SUB4S except that the result is not stored and only
the V, CY, and Z flags are affected.
BCD string (Iv, el) - BCD string (IX, Cl)
ROL4. This instruction treats the byte data of the register or memory operand specified by the instruction as

90

t-IEC
BCD data and uses the lower 4 bits of the AL register
(ALL) to rotate that data one BCD digit to the left. See
figure 116.

Figure 116. BCD Rotste Left

ROR4. This instruction treats the byte data of the register or memory specified by the instruction as BCD data
and uses the lower 4 bits of the AL register (ALL) to rotate
that data one BCD digit to the right. See figure 117.

pPD70236 (V53)
mode. The IkPD70236 will begin fetching from the new
PFP through the address translation table. That is, the
new PC is treated as a logical address and is translated
to the new, larger physical address space.
This instruction does not save any return address information, such as PC, PS, or PSW to the stack.
RETXA ImmS. This instruction is used to turn off expanded addressing. It is identical in operation to BRKXA,
except that the expanded addressing mode is turned off
before fetching from the new address. That is, the XA flag
in the XAM register is set to 0, and the PC is loaded with
the value of the PC field in the interrupt vector selected
by the immediate data.
This instruction does not save any return address information such as PC, PS, or PSW to the stack.

Figure 117. BCD Rotste Right

Porting I'PD70116/70108 Code to I'PD70236

Bit Manipulation Instructions
TEST1. This instruction tests a specific bit in a register
or memory location. If the bit is 1, the Z flag is reset to O.
If the bit is 0, the Z flag is set to 1.
NOT1. This instruction inverts a specific bit in a register
or memory location.
CLR1. This instruction clears a specific bit in a register
or memory location.
SET1. This instruction sets a specific bit in a register or
memory location.

Repeat Prefix Instructions
REPC. This instruction causes the IkPD70236 to repeat
the following primitive block transfer instruction until
the CY flag becomes cleared or the CW register becomes zero.
REPNC. This instruction causes the IkPD70236 to repeat
the following primitive block transfer instruction until
the CY flag becomes set or the CW register becomes
zero.

Address Expansion Control Instructions
BRKXA immS. This instruction is used to turn on expanded addressing. The 8-bit immediate data specifies
an interrupt vector. The PC field of this vector is loaded
into the PC (and PFP). The XA flag in the XAM register is
set to 1, thereby enabling the expanded addressing

The IkPD70236 is completely software compatible with
the IkPD70116/70108. However, thelkPD70236 offers
some improvements that may affect .the porting of
IkPD70116 code to the IkPD70236. These improvements
are:
(1) The IkPD70116 does not trap on undefined opcodes.
The IkPD70236 will trap, and also will trap when a
register addressing mode is used for any of these
instructions:
CHKIND
MOV DSO/DS1
CALL 1,id

LDEA
BR 1,id

(2) During signed division (DIV), if the quotient is OOH
(byte operation) or 8000H (word), the IkPD70116 will
take a Divide By 0 trap. The IkPD70236 will perform
the calculation.
(3) When the IkPD70116 executes the POLL instruction,
it will wait for the POLL input signal to be asserted.
The IkPD70236 has no POLL input; instead, when this
instruction is executed, if a coprocessor is not
connected, then a Coprocessor Not Present trap will
be taken. If a coprocessor is attached, then no
operation takes place.
The IkPD70116 accepts FP01 and FP02 as opcodes
for the iAPX8087 coprocessor. The IkPD70236 accepts these as opcodes for the IkPD72291 coprocessor, which is not compatible with the iAPXOO87.

(4) During the POP R instruction, the IkPD70116 does
not restore the SP register. The IkPD70236 does
restore the SP.

91

III

NEe

pPD70236 (V53)

(5) When processing a divide error, the 14PD70116 saves
the address of the next instruction. The 14PD70236
saves the address of the current instruction (the
divide instruction).
(6) The p.PD70116 allows up to three prefix instructions
in any combination. The 14PD70236 also allows three
prefixes, but only one of each type can be used. The
14PD70236 could operate incorrectly if there are two
prefixes of the same type. For example, consider:
REP
REPC
CMPBK SS: src-block, dst-block
If the compare operation is interrupted, then when it
resumes following the interrupt service, execution
will begin at the REPC instruction, not the REP
instruction, because two repeat prefixes were used.
(7) The 14PD70116 accepts NMI requests even while
processin9..!!!..NMI. The 14PD70236 does not allow
nes!l!:!9..of NMls; the NMI input will be ignored until
the NMI interrupt handler is exited.

INSTRUCTION SET

Symbols
Preceding the instruction set, several tables explain
symbols, abbreviations, and codes.

Clocks
In the Clocks column of the instruction set, the numbers
cover these operations: instruction decoding, effective
address calculation, operand fetch, and instruction execution.
Clock timings assume the instruction has been
prefetched and is present in the 8-byte instruction
queue. Otherwise, add two clocks for each pair of bytes
not present.
VVord operands require two additional clocks for each
transfer to an unaligned (odd address) memory operand.
These times are shown on the right side of the slash (j).
For conditional control transfer or branch instructions,
the number on the left side of the slash is applicable if the
transfer or branch takes place. The number on the right
side is applicable if it does not take place.
If a range of numbers is given, the execution time
depends on the operands involved.

92

NEe

pPD70236 (V53)

Symbols
Symbol

Meaning

Symbol

Meaning

acc

Accumulator(AW or AL)

AL

Accumulator ~ow byte)

duso

Displacement (8 or 16 bits)

AW

Accumulator (16 bits)

dmem

Direct memory address

BH

BW register (hIgh byte)

dst

Destination operand or address

BL

BW register Oow byte)

ext-dlspS

16-bit displacement (sign-extension byte
bit displacement)

+ 8-

far-'abel

Label within a different program segment

far_proc

Procedure within a different program segment

fp_op

Floating-point Instruction operation

Imm

8- or 16-blt immediate operand

Imm3/4

3- or 4-bit Immediate bit offset

Imm8

8-bit Immediate operand

Imm16

16-bit Immediate operand

mem

Memory field (000 to 111); 8- or 16-bit memory
location

mem8

8-blt memory location

mem16

16-bit memory location

mem32

32-bit memory location

memptr16

Word containing the destination address within
the current segment

memptr32

Double word containing a destination address in
another segment

mod

Mode field (00 to 10)

neaclabel

Label within the current segment

near_proc

Procedure within the current segment

offset

Immediate offset data (16 bits)

pop_value

Number of bytes to discard from the stack

reg

Register field (000 to 111); 8- or 16-bit generalpurpose register

regS

S-bit general-purpose register

BP

BP register

BRK

Break flag

BW

BW register (16 bits)

CH

CW register (hIgh byte)

CL

CW register Oow byte)

CW

CW register (16 bits)

CV

Carry flag

DH

OW register (hIgh byte)

DIR

Direction flag

DL

OW register Oow byte)

DSO

Data segment 0 register (16 bits)

DS1

Data segment 1 register (16 bits)

OW

OW register (16 bits)

IE

Interrupt enable flag

IX

Index register (source) (16 bits)

IV

Index register (destination) (16 bits)

MD

Mode flag

P

Parity flag

PC

Program counter (16 bits)

PS

Program segment register (16 bits)

PSW

Program status word (16 bits)

R

Register set

S

Sign extend operand field
S = No sign extension
S = Sign extend Immediate byte operand

reg16

16-bit general-purpose register

S

Sign flag

regptr

16-bit register containing a destination address
within the current segment

SP

Stack pointer (16 bits)

SS

Stack segment register (16 bits)

regptr16

Register containing a destination address within
the current segment

seg

Immediate segment data (16 bits)

shorUabel

Label between-128 and + 127 bytes from the
end of the current instruction

sr

Segment register

src

Source operand or address

temp

Temporary register (8/16/32 bits)

AC

Auxiliary carry flag

AH

Accumulator (high byte)

ED

V

Overflow flag

W

Word/byte field (0 to 1)

X, XXX, YYY, ZZZ

Data to identify the Instruction code of the
external floating-point arithmetic chip

XXH

Two-digit hexadecimal value

XXXXH

Four-digit hexadecimal value

Z

Zero flag

93

NEe

pPD70236 (V53)
Flag Operations

Register Selection (mod

= 11)

Symbol

Meaning

reg

w=o

(blank)

No change

000

AL

AW

W

=1

Cleared to 0

001

CL

CW

Set to 1

010

OL

OW

x

Set or cleared according to result

011

BL

BW

u

Undefined

100

AH

SP

R

Restored to previous state

101

CH

BP

110

OH

.IX

111

BH

IY

0

Memory Addressing Modes

= 00

= 01

= 10

mem

mod

000

BW+ IX

BW + IX + dlspS

BW + IX + dlsp16

Segment Register Selection

001

BW+IY

BW + IY + dlspS

BW + IY + dlsp16

sr

010

BP + IX

BP + IX + dlspS

BP + IX + dlsp16

00

OS1

011

BP + IY

BP + IY + dlspS

BP + IY + dlsp16

01

PS

100

IX

IX + dlspS

IX + dlsp16

10

SS

101

IV

IY + dlspS

IY + dlsp16

11

OSO

110

Direct

BP + dlsp8

BP + dlsp16

111

BW

BW + dlspS

BW + dlsp16

mod

mod

Segment Register

Instruction Set
Opcode
Mnemonic

Operand

7

6

5

4

Flags

0

7

6

0

1 W

1

1

reg

reg

0

0

mod

reg

mem

3/5

3

2

1

0

1-

5

4

3

2

1

0

Clocks

Bytes

AC

CY

x

x

V

P S Z

Dsts Trsnsfer Instructions
MOV

reg, reg

0

0

0

mem, reg

0

.0

0

reg, mem

1

0

mem,lmm

0

0

1

.0

0

0

reg,imm

0

1 W

acc, dmem

0

0

0

0

dmem, acc

0

1 0

0

0

sr, reg16

0

.0

0

mod

reg

mem

5/7

2·4

mod

000

mem

3/5

3·6

-2
5/7

3

W

3/5

3

2

2

0

1

1

0

sr

reg

0

sr

mem

1 0

sr

reg

sr

mem

0

.0

0

1

0

reg16, sr

0

.0

0

0

0

1

mem16, sr

0

0

0

0

0

mod

1

0

0

0

0

1

mod

reg

0

0

0

1 0

0

mod

reg

0

0

1

OS1, reg16, mem32

1

AH, PSW

.0

.0

1

LOEA

PSw, AH
reg16, mem16

1

0

0

.0

TRANS

src_table

1

1 .0

2·3

W

mod

1

2
2·4

W
reg
0

2

W

sr, mem16

OSO, reg16, mem32

94

W

0

.0

0

.0

1

1

1

2·4
2
2·4

mem

1.0/14

2·4

mem

10/14

2·4

2
2

0
1

2
3/5

1

1

5/7

mod

reg

mem

2
5

2·4

x x x

NEe

pPD70236 (V53)

Instruction Set (cont)
Opcode
Mnemonic

Operand

7

8

5

4

3

2

1

o

7

Flags
8

5

4

3

2

1

0

Clocks

BytnACCYVPSZ

Dsts Trsnsfer Instructions (cont)
XCH

0

0

0

0

w

mem, reg

0

0

0

0

W

AW, reg16

o 0

reg, reg

1

o

reg

mod

reg

reg

reg

mem

3

8112

2
2-4

3

Repest Prefixes

REPC
REPNC
REP
REPE
REPZ
REPNE
REPNZ

0
0

0

0

1

O· 1

2

0

0

1

0

0

2

0

0

1

0

0

1

0

0

0

1

0

W

2

2

Block Trsnsfer Instructions

MOVBK

dst, src

1

0

1

1
3+4n(W=0)
3 + 4n (W = 1, even addresses)
3 + 8n (W = 1, odd addresses)
3 + 6n (W = 1, odd/even addresses)

CMPBK

dst, arc

1

0

1

o

0

1

1

1

W

x

x

xxxx

3+7n(W=O)
3 + 7n (W = 1, even addresses)
3 + 11 n (W = 1, odd addresses)
3 + 9n (W = 1, odd/even addresses)

CMPM

dst

1

0

1

o

1

1

1

W

x

x

xxxx

3 + 5r'1(W = 0)
3 + 5n (W = 1, even addresses)
3 + 7n (W = 1, odd addresses)

LDM

src

1

0

1

o

1

0

1

W

5+2n(W=0)
5 + 2n (W = 1, even addresses)
5 + 4n (W = 1, odd addresses)

STM

dst

1

0

1

o

1

0

1

W

1
3+2n(W=0)
3 + 2n (W = 1, even addresses)
3 + 4n (W = 1, odd addresses)

n = number of returns
String Instruction execution clocks for a single-Instruction execution are in parentheses.

95

NEe

IIPD70236 (V53)
Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

Flags
6

5

4

3

2

1

0

Clocks

Bytes

AC

CY

V

P

S

Z

I/O Instructions (cont)
IN

OUT

INM

acc.lmm8

0

0

0

W

5fT

acc. OW

0

1

0

W

3/5

Imm8. acc

0

0

1

W

3/5

ow, acc

0

1

W

3/5

0

0

W

dst. OW

0

2
2

1
+ 11n rN = 0)
+ 8n rN = 1. even addresses)
+ 22n rN = 1. odd addresses)
+20n rN = 1. odd/even addresses;
odd for I/O)
3 + 13n rN = 1. odd/even addresses;
odd for memory)

3
3
3
3

OUTM

Ow, src

o

1

1

0

1

1

1

W

11n rN = 0)
8n rN = 1. even addresses)
22n rN = 1. odd addresses)
20n rN
1. odd addresses;
odd for I/O)
3 + 13n rN = 1. odd addresses;
odd for memory)

3
3
3
3

+
+
+
+

=

n = number of transfers
String Instruction execution clocks for a single-Instruction execution are In parentheses.
Use the right side of the slash (f) for OMA I/O accesses.

BCD Instructions
AOJBA

0

0

AOJ4A

0

0

AOJBS

0

0

1

AOJ4S

0

0

1

0

0

o
o

AOO4S

dst. src

0

0

0

0

0

0

0

0

0

SUB4S

dst. src

0

0

0

0

0

0

0

0

0

CMP4S

dst. src

0

0

0

0

0

ROL4

reg8

0

0

0

0

1

1

1

0

0

0

mem8

0

0

0

0

1

mod

0

0

0

0

0

0

0

1

1

1

0

0

0

reg

0

0

0

0

mod

0

0

0

mem

ROR4

reg8

mem8

n

96

0

4

x

x

u

u

u

u

2

x

x

u

x

x

x

4

x

u

u

u

x

x
x
x
x
x

u

2

u

x

x

x

u

u

u

x

u

u

u

u

u

u

x
x

0

2 + 18n

2

u

0

2 + 18n

2

u

2

u

+

0

0

0

0

7

0

0

0

0

0

0

9

0

0

0

0

0

0

15

3·5

0

0

0

a

0

13

3

0

0

0

a

0

19

3·5

14n

3

reg

mem

1

= number of BCD digits divided by 2

NEe

IIPD70236 (V53)

Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

5

4

3

2

Flags

1

o

765

4

321

o

Clocks

0

o

o
o

o
o

o
o

Bytes

AC

CY

V

P

S

Z

12

2

u

u

u

x

x

x

8

2

u

u

u

x

x

x

x

x

x

Dsts Type Conversion Instructions
CVTBD

1

0

1

o

CVTDB
CVTBW

o

0

CVTWL

o

0

0

o

1

0

o
o

0

0

0

0

0

0

0

o

2

0

2

Arithmetic Instructions
ADD

reg, reg

0

0

0

0

0

0

1

W

mem, reg

0

0

0

0

0

0

0

W

mod

reg, mem

0

0

0

0

0

0

W

mod

0

0

0

0

0

S

0

0

0

0

0

S W

reg, Imm
mem, imm

1

W
mod

reg

reg

2

x

x

x

reg

mem

7/11

2-4

x

x

6/8

2-4

x

x

2

3-4

x

x

x x x x
x x x x
x x x x

7/11

3-6

x

x

x

reg

mem

000

reg

000

mem

2

x

x

x

mil

_________a_~
__
,_lm_m
____0___
0__0___0__0_._____
0 __W
______________~_________2_________2_-3___,_x____x___x___x___
x___
x ~

ADDC

reg, reg

0

0

0

0

0

1

W

reg

reg

2

x

mem, reg

0

0

0

0

0

0

W

mod

reg

mem

7/11

2-4

x

x
x

reg, mem

0

0

0

W

mod

reg

mem

6/8

2-4

x

x

0

0

S WOO

2

3-4

x

x

0

0

S

W

7/11

3-6

x

x

0

1

0

W

2

2-3

x

reg, Imm
mem,lmm
a~i

SUB

Imm

0

0

0

0

0

0

0

reg

reg

2

x

mod

reg

mem

7/11

2-4

x

mod

reg

mem

6/8

2-4

x

x

1

0

1

W

o

0

0

0

0

S

W

mem,lmm

1

0

0

0

0

0

S

W

aee,lmm

o

0

1

0

1

0

W

reg, reg

000

01W

mem, reg

0

0

0

0

reg, mem

0

0

0

0

0

0

0

0

S

W

0

0

0

S

W

0

W

0

ace, imm

o

0

0

0

0

mod

W

mod

o

mem

W
000

1

o

001

mem8
mem16

o

mod

o

mod
mod

x
x

x
x
x

x

x

x

x

x

x

x

x

x
x
x
x
x
x

x

x

x

x

x

x

x

x

reg

2

x

x

x

x

mem

7/11

2-4

x

x

x

x

x

x

reg

mem

6/8

2-4

x

x

x

x

x

x

2

3-4

x

x

x

x

x

x

7/11

3-6

x

x

x

x

x

x

2

2-3

x

x

x

x

x

x

2

2

x

x

x

x

x

2-4

x
x

x

x

x

x

x

x

x

x

2

x

x

x

x

x

2-4

x

x

x

x

x

x

x

x

x

u

x

x

u

u

u

mem

o

reg

0

mem

000

reg

000

mem

2

3-4

x

x

7/11

3-6

x

x

2

2-3

x

x

2

7/11

o

0

reg

0

0

mem

2
7/11

x

2
0

x

reg

reg

0

reg

1

x

reg

0

2

W

1

o
o
o

reg16

mod

o

mem
reg16

mod

2

x

x x x
x x x
x x x
x x x

x
x
x
x
x
x

reg

regS

regS

mod

W

regS

o

mem

W

0

0

0

0

1

1

0

0

0

mem, imm

mod

reg

x
x
x

o
o

reg16

MULU

0

00001W

reg, Imm

DEC

0

reg, reg

reg,lmm

INC

0
0

mem, reg
reg, mem

SUBC

0
0

2

o
o
o
o

x x

0

reg

8

2

0

reg

12

2

u

x

x

u

u

u

0

mem

12

2-4

u

x

x

u

u

u

0

mem

16/18

2-4

u

x

x

u

u

u

97

NEe

"PD70236 (V53)
Instruction Set (cont)
Opcode
Mnemonic

Operand

7

6

543

2

1

0

7

Flag6

5

4

3

2

1 0

Clock_

Byte_ AC

CY V

P S Z

Arithmetic Instructions (cont)
MUL

regS

memS
mem16

DIVU

0

0

0

1 0

0

reg

S

2

u

x

x

u

u u

mod

0

mem

12

2·4

u

x

x

u

u u

mod

0

mem

16/18

2·4

u

x

x

u

u u

1

reg

reg

3

u

x

x

u u u

3-5

u

x

x

u u u

4

u

x

x

u

u u

4·6

u

x

x

u

u u

reg16, reg16, Imm8

0

0

0

reg16, mem16, ImmS

0

0

0

mod

reg

mem

reg16, reg16, Imm16

0

0

0

0

1

1

reg

reg

reg16, mem16, Imm16

0

0

0

0

mod

reg

mem

1

12
16/1S
12
16/8

regS

0

0

0

reg

11

2

u

u

u

u

u u

reg16

o
o
o
o
o
o
o

1

0

reg

19

2

u

u

u

u

u u

mem8
mem16

DIV

0

----------------------------------------------------------------------------------reg16
0
0
reg
12
2
u
x xu' u u

regS,
reg16
memS
mem16

0

mod

0

mem

15

2·4

u

u

u

u

u u

1

mod

0

mem

23/25

2·4

u

u

u

u

u u

reg

16

2

u

u

u

u

u u

reg

24

2

u

u

u

u

u u

mod

mem

20

2·4

u

u

u

u

u u

mod

mem

28/30

2·4

u

u

u

u u u

x:

X

X

X

0

.1
0

Comparison Instructions
CMP

reg, reg

0 0

0

1 W

1

1

reg

reg

2

2

X

X

----------------------------------------------------------------------------------~

mem, reg

o

reg, mem

001110

reg,lmm

0

0

0

W
W

OOOOOSW

mem,lmm

100000SW

acc,lmm

o

0

0

2·4

x

x

x

x

x

x

6/S

2·4

x

x

x

x

x

x

2

3·4

x

x

x

x

x

x

6/S

3·6

x

x

x

x

x

x

2

2·3

x

x

x

x

x

x

2

2

mod

reg

mem

6/8

mod

reg

mem

1

1

reg

mod

mem

W

Logics/Instructions
NOT
NEG

reg

0

W
1 W

mod

reg, reg.

0000

OW

1

mem, reg

0000

OW

reg,lmm

o

W

reg

1

0

1

1 W

1 0

reg

0

mem

1

reg

mod

reg

1

1 0

mod

reg
mem

0

0

reg

0 0

0

mem

2

x

x

x

x

x

2·4

x

x

x

x

x

x

2

u

0

6/8

2·4

u

2

3·4

u

6/8

3·6

u

2

2·3

u

2

2

u

o
o
o
o
o
o
o
o
o
o
o

x
0 x
0 x
0 x
0 x
0 x
0 x
0 x
0 x
0 x

x
x
x
x
x
x
x
x
x
x

x
x
x
x
x
x
x
x
x
x

0

x x x

2
7/11
2

ace, imm

100100W

reg, reg

00

0001

W

1

1

reg

reg

memo reg

o

0

W

mod

reg

mem

7/11

2·4

u

reg, mem

001000

W

mod

reg

mem

6/8

2·4

u

OOOOOOW

11

o

2

3·4

u

mod

o 0

7/11

3·6

u

2

2·3

u

reg, imm

98

1

o
1

mem, imm

AND'

1 1 0

1 0

reg
mem

TEST

W

----------------------------------------------------------------------------------mem
o
W
mod 0
0
mem
7/11
2·4

0

mem, imm

1 0

0

0

ace, imm

0000

0

0

0

0

0

0

W

OW

0

reg
mem

x

NEe

pPD70236 (V53)

Instruction Set (cont)
Flag.

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6

o
o

5

4

3

2

1

0

Clock.

1

W

1

1

reg

reg

0

W

mod

reg

mem

7/11

Byte. AC

CY

V

P

S

Z

o
o

0

x

x x

0

x
x

x x
x x
x x

Logicsllnstructlons (cont)
OR

XOR

reg, reg

0

0

0

0

mem, reg

0

0

0

0

reg, mem

o

0

0

0

W

mod

reg

mem

reg,imm

1

000

0

0

0

W

1

1

0

0

reg

mem,imm

1

000

0

0

0

W

mod

0

0

mem

ace, imm

00001

reg, reg
mem, reg

o
o

reg, mem

001100

reg,imm

0

2

OW

2

u

2·4

u

6/8

2·4

u

o

0

2

3·4

u

0

x

7/11

3·6

u

0

2

2·3

u

0

x· x x
x x x

2

2

u

2

3·4

u

7/11

3·6

u

2

2·3

u

o
o
o
o
o
o
o
o
o

0

0

0

1

W

1

1

reg

reg

0

0

0

0

W

mod

reg

mem

7/11

2·4

u

W

mod

reg

mem

6/8

2·4

u

OOOOOOW

mem, imm

1000000W

ace, imm

o

0

0

0

1

o
o

1

mod

reg
mem

W

0

x

x

o

x

x

x
x

o

x

x

x

oxx:

o x x
o x x x

Bit Msnlpulstlon Instructions
INS

reg8, reg8

rega, imm4

EXT

rega, reg8

rega, imm4

TEST1

reg, CL

0

0

1

1

0

o

0

0

0

1

1

1

0

0

0

o

0

0

1

1

o

0

0

0

1

1

0

0

o

0

001

mem16, CL

reg, imm3/4

mem8, imm3

mem16, imm4

o

reg, CL

0

0

000

o

0

001

1

1

0

0

0

0

0

0

mod

0
0

0

o

0

mod
reg, imm3/4

o

0

0

0

mem

0

1

o

0

0

29·61/

3

33·63

o

0

29·61/

4

33·63
000

o

0

0

W

4

3

u

0

0

u

u

x

000

o

0

0

0

a

3·5

u

0

0

u

u

x

000

000

8/10

3·5

u

0

0

u

u

x

000

o

0

W

4

4

u

0

0

u

u

x

000

o

0

0

13

4·6

u

0

0

u

u

x

000

o

0

8/10

4·6

u

0

0

u

u

x

000

o

o

W

4

3

000

o

o

W

9

3·5

o

W

4

4

reg

mem

0 0

000
0

4

39·77

mem

0 0
000
0

37·69/

mem

0 0

o

0

mem

reg

000

3

reg

0

000
mem,CL

o

0

reg

000

mod

o

o

o
0

000

0

37·61/

39·77

o

mod

0

0

reg

001

o

100

reg

0

0

mod

SET1

001
reg

reg

o
mema, CL

0
reg

1

reg

99

1II

NEe

pPD70236 (V53)
Instruction Set (cont)
Opcode
Mnemonic

Operand

7

8

5

4

3

2

1

Flags

1

0

7

8

5

1

1

0

0

0

1

0

0

0

4

3

2

1

0

Clocks

0

0

9

4-6

9/13

4·6

Bytes

AC

CV

Bit Manipulation Instructions (cont)
SET1 (cont)

mem8,lmm3

mem16,Imm4

0

0

0

0

1

mod

0

0

0

0

0

0

0

1

mod

0

0

0

1

1

1

1

0

0

0

1

0

0

0

cv
reg, CL

mem8, CL

mem16, CL

reg,lmm3/4

mem8,lmm3

mem16,lmm4

NOT1

0
0

0

1

0

0

0

0

0

0

1

mod

0

0

0

mem

0

reg

0

0

0

1

0

0

0

0

0

1

1

0

0

mem

0

0

0

0

1

mod

0

0

0

1

1

0

mem16, imm4

Cy

100

1

0

1

0

0

0

1

1

0

0

0

mem

0

1

0

0

0

1

1

1

0

0

0

0

0

0

0

1

mod

0

0

0

0

0

0

0

1

mod

0

0

0

1

1

1

0

1

0

0

0

0

0

9

3·5

1

0

0

0

0

0

9/13

3·5

0

0

0

0

W

4

4

0

0

0

0

0

9

4·6

1

0

0

0

9/13

4·6

1

1

0

1

0

0

0

0

0

W

4

3

0

0

0

0

0

9

3·5

0

0

0

0

9/13

3·5

0

0

0

W

4

4

0

0

0

W

9

4·6

0

0

0

1

9/13

4-6

reg

0

0

0

1

mod

0

3

2

1

0

4

2

0

0

W

0

0

0

0

0

0

mod

0

0

0

0

0

0

0

0

0

mem

0

1

mem8,imm3

1

0

reg,CL

reg, imm3/4

1

0

1

2

0

mem

mod

1

2

reg

0

1

0

1

0

0

0

1

0

0

CIR

mem16, CL

1
mem

mod

CV

mem8, CL

1

0

CIR
CLR1

mem

1

1

mem

reg

mem
1

1

1

1

1

mem
1

0

1

2

x

V

P S Z

NEe

pPD70236 (V53)

Instruction Set (cont)
Flags

Opcode
MnemonIc

Operand

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

o

0

reg

0

0

mem

0

Clocks

Bytes

AC

CY

V

P

S

2

2-4

Z

u

x

x

x

x

x

u

x

x

x

u

x

x

u

x

x

x
x
x

u

x

Shift/Rotste Instructions
SHL

SHR

o

o

0

0

W

mem.1

0

0

0

0

W

reg. 1

1

mod

reg. CL

0

0

0

memo CL

0

0

0

1

W

reg. immS

0

0

0

0

0

WOO

memo ImmS

0

0

0

0

0

W

reg. 1

0

0

0

0

W

memo 1

0

0

0

reg. CL

0

0

0

WOO

0

W

0

mod

mod

mod

W

0

reg
mem
reg

0

0

mem

0

1

reg

0

mem

0

reg

2
7/11

2 + n
6/10 + n

2 + n
6/10 + n

2
7/11

2 + n

2

u

2-4

u

3

u

x
x
x
x

x

x

3-5

u

x

u

x

x

2

u

x

x

x

2-4

u

2

u

x
x
x

x
x

x

x

x

x

u

x

x

x

w____m_o_d_____o~______m_e_m
__~6_11_0_+
__n____2:.4____U____X___u___
x __x____
xx ~
reg
2 + nux
u x x
EM

_m_e_m_._C_L_________0___
1 __0___
0 _____
_ reg. immS
0 0 0 0 0 W

SHRA

ROL

ROR

memo immS

0

0

0

0

W

reg. 1

0

0

0

0

W

memo 1

0

0

0

0

W

reg. CL

0

0

0

memo CL

0

1

0

0

1

W

mod

0

mem· 6/10 + n
reg

mod

mem

W

reg
mod

mem

reg. ImmS

0

0

0

0

0

W

memo ImmS

0

0

0

0

0

W

reg. 1

0

0

0

0

WOO

0

reg

mem.1

0

0

0

0

W

0

mem

mod

mod

1

0

1

0

2
7/11
2 + n
6/10 + n

reg

2 + n

mem

6/10 +

2

reg. CL

0

0

0

WOO

0

reg

2 + n

0

1

0

0

W

0

0

mem

6/10 +

reg. imm

0

0

0

0

0

WOO

0

reg

2 + n

memo imm

0

0

0

0

0

W

0

mem

reg. 1

0

0

0

0

WOO

memo 1

0

0

0

0

W

reg. CL

0

0

0

0

1

W

reg. imm8

o
o
o

0

0

0

0

WOO

memo immS

o

0

0

0

0

W

reg. 1

o

0

0

0

WOO

mem.1

0

0

0

0

0

mem.CL

o
o
o

reg, imm8

o

0

0

0

0

W

mem.immS

o

0

0

0

0

W

reg. CL

mod

mod

mod

0

0

0

0

reg

0

mem

WOO

W

mod

mod

mod

0

0

0

reg

0

0

mem
reg
1

0

WOO

o 0

W

mod

mod

mem
reg
mem
reg

0

0

mem

o

o

reg

0

o

mem

n

7/11

memo CL

mem.CL

ROLC

0

n

6/10 + n

2 + n

u

x

u

x

x

2

u

x

x

2-4

u

x

o x x
o x x

2

u

x

u

x

x

x

2-4

u

x

u

x

x

3

u

x

u

x

x

3-5

u

u

x

x

x
x
x

2

x
x

2-4

x

2

2-4

x
x
x
x
x
x
x
x
x
x
x
x
x
x

3

x

u

3-5

x

u

2-4
3
3-5

2
2-4

7/11
7 + n

+n
+n
6/10 + n
6/10
2

2

2

2-4
3

3-5

2
2-4

7/11

2

3-5

+n

6/10

+n

2+n
6/10

+n

2

x

x

x
x
u
u
u
u
u

x
u
u
u
u

x
x
u
u

n = number of shifts

101

NEe

pPD70236 (V53)
Instruction Set (cont)

Flags

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

Clocks

Bytes

AC

CY

V

x
x
x
x
x
x

x
x

R

R

P

S

Z

R

R

R

Shift/Rotate Instructions (cont)
RORC

reg, 1

0

0

0

0

W

1

1

0

reg

mem, 1

0

0

0

0

W

mod

0

mem

reg, CL

0

0

0

W

1

1

0

reg

mem,CL

0

0

0

1

W

mod

0

mem

reg,lmmS

0

0

0

0

0

W

1

0

reg

mem,lmmS

0

0

0

0

0

W

mod

0

mem

.1

2

2

7/11
2+n
6/10 + n
2+n
6/10 + n
n

2-4
2
2-4
3
3-5

u
u
u
u

= number of shifts

Stack Manipulation Instructions
PUSH

mem16

1

1

1

reg16
sr

0

1

0

0

0

0

0

0

PSW

POP

R

0

Imm

0

mem16

1

reg16

0

sr

0

PSW
R
PREPARE

1

1
0

0

0

0

0

0
0

0

5/9

1

0

0

3/5

0

0

0

0

0

20/36

0

S

0
mod

0

0

0

0

mem

reg
sr

0

3/5

2-3

5/9

2-4

5/7

1

5/7

1

1

0

5/7

0

0

0

22/38

0

0

0

1

0

0

0

0

2-4

3/5

1

0

*
immS~

1

mem

3/5

*immS
DiSPOSE

0

1

0

Imm16,lmmS

1

1. 0

0
0

1

reg

sr

0
0

mod

R

4

= 0:15
1: 17 + 12 QmmS -1) odd, 15 + S QmmS-1) even
6/10

1

7/9

3

Control Transfer Instructions
CALL

near_proc

0

0
0

0

reg

mod

0

0

mem

mod

0

regptr16
memptr16
faLproc
memptr32
RET
pop_value

pop_value
BR

0

0

0

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

shorLiabel

0

0

1

0

memptr16

memptr32

102

9/13

5

15/23

2-4

10/12

0

regptr16
mod
0

2
2-4

3

12/16

0

0

11/15

10/12
1

near_label

faLlabei

mem

7/9

0

0

reg

0

0

mem

12/16

3

7

3

7

2

7

2

11/13
7

0
mod

0

mem

13/17

2-4

5
2-4

NEe

pPD70236 (V53)

Instruction Set (cont)
Flag.

Opcode
Mnemonic

Operand

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

Clock.

Byte. AC

CY

V

P

S

Z

Control Transfer Instructions (cont)
BV

shorLJabel

0

0

0

0

0

3/6

2

BNV

shorLJabel

0

0

0

0

1

3/6

2

BC,BL

shorLJabel

0

0

0

BNC, BNL

shorLJabel

0

0

0

BE,BZ

shorLJabel

0

BNE, BNZ

shorLJabel

0

BNH

shorLJabel

0

0

BH

shorLJabel

0

BN

shorLJabel

0

0

3/6

2

1

1

3/6

2

0

0

0

3/6

2

0

0

3/6

2

3/6

2

3/6

2

0

0

1

0

BP

shorLJabel

0

0

BPE

shorLJabel

0

0

BPO

shorLJabel

0

0

0
0

3/6

2

1

3/6

2

0

3/6

2

3/6

2

0

ED

Interrupt Instructions
BlT

shorLJabel

0

0

0

3/6

2

BGE

shorLJabel

0

0

1

3/6

2

BlE

shorLJabel

0

0

3/6

2

BGT

shorLJabel

0

OBNZNE

1

1

1

shorLJabel

0

0

0

0

OBNZE

shorLJabel

0

0

0

0

OBNZ

shorLJabel

0

0

0

BCWZ

shorLJabel

1

0

BRK

3

0

0

0

Imm8

0

0

0

BRKV

1

Imm8

RETI
CHKlNO

reg16, mem32

0

1

1

0

0

0

0

1

0

0

0
0

0

3/6

2

3/6

2

3/6

2

3/6

2

3/6

2

18/24

0

18/24
0

2

20/26
R

13/19
0

0

1

0

reg

mod

mem

24-26/
30-32

R

R

R

R

R

2-4

CPU Control Instructions
HALT

0

1

0

0

BUSlOCK

0

0

0

0

1

X

X

X

1

1

X

X

X

mod

Y

y

y

X

1

Y Y

Y

X

mod

Y

Y

FP01

FP02

fp_op

1

fp_op, mem

1

fp_op

0

fp_op, mem

0

1

0

1

0

POll

0

0

NOP

0

0

0

0

0

0

2
2
1

1

Y Y Y

n
0

01

0

EI

0

Z

Z

mem
Z

Z
mem

Z

*
*
*
*
2

0

0

Y

Z

0

2
2-4
2
2-4

+ 5n

= number of times POll pin Is sampled.

0

3

0

2

1

2

103

!\fEe

pPD70236 (V53)
Instruction Set (cont)

Flag.

Opcode
Mnemonic

Operand

7

6

5

4

3

7

6

5

4

3

2

1

0

Clocks

Bytes

2

1

0

1

1

0

1

1

1

1

1

1

0

0

0

0

0

12

3

1

1

1

1

1

1

1

0

0

0

0

12

3

CPU Control Instructions (cont)
050:,051:, P5:, 55:
(segment override prefixes)

0

0

1

seg

2

Address Expansion Control Instructions
BRKXA

ImmS

0

0

0

0

1

ImmS.

RETXA

ImmS

o

0

0

0
ImmS

104

1

AC

CY

V

P

S

Z

NEe

i6-Bit Microcomputers

4-1

NEe

16·Bit Microcomputers
Section 4
16-Bit Microcomputers
"PD70320/70322 (V25)
16-Bit Microcomputers:
Single-Chip, CMOS

4a

"PD70330/70332 (V35)
16-Bit Microcomputers:
Advanced, Single-Chip, CMOS

4b

"PD70P322
16-Bit Microcomputer:
Single-Chip, CMOS,
With EPROM for V25N35 Modes

4C

"PD70325 (V25 Plus)
16-Bit Microcomputer:
High-Speed DMA, Single~Chip, CMOS

4d

"PD70335 (V35 Plus)
16-Bit Microcomputer:
Advanced, High-Speed DMA,
Single-Chip, CMOS

4e

"PD70327 (V25 Software Guard)
16-Bit Microcomputer:
Software-Secure, Single-Chip, CMOS

4f

"PD70337 (V35 Software Guard)
16-Bit Microcomputer:
Software-Secure, Single-Chip, CMOS

4g

"PD79011
16-Bit Microcomputer:
Single-Chip, CMOS, With Bui It-In RTOS

4h

"PD79021
16-Bit Microcomputer:
Single-Chip, CMOS, With Bui It-In RTOS

4i

4-2

NEe
NEe Electronics Inc.
Description
The tJPD70320 and tJPD70322 (V25™) are high-performance, 16-bit, single-chip microcomputers with an
8-bit external data bus. They combine the instruction
set of the tJPD70108 (V20®) with many of the on-chip
peripherals in NEC's 78000 series.
The tJPD70320/322 processor has software compatibility with the V20 (and subsequently the 8086/8088),
faster memory accessing, superior interrupt processing
ability, and enhanced control of internal peripherals.
A variety of on-chip components, including 16K bytes
of mask programmable ROM (tJPD70322 only), 256
bytes of RAM, serial and parallel I/O, comparator port
lines, timers, and a DMA controller make thetJPD70320/
322 a sophisticated microsystem.
Eight banks of registers are mapped into internal RAM
below an additional 256-byte special function register
(SFR) area that is used to control on-chip peripherals.
I nternal RAM and the SFR area are together relocatable
to anywhere in the 1M-byte address space. This
maintains compatibility with existing system memory
maps.
ThetJPD70322 is the mask ROM version, thetJPD70320
is the ROM-less version, and the tJPD70P322 is the
EPROM version.

pPD70320/70322 (V25)
is-Bit Microcomputers:
Single-Chip, CMOS

o DRAM refresh pulse output
o Two standby modes
o

o
o
o

-HALT
-STOP
Internal clock generator
- 5-MHz maximum CPU clock frequency (O.4-tJs
instruction cycle time)
- 8-MHz maximum CPU clock frequency (0.25-tJs
instruction cycle time)
Programmable wait state generation
Separate address/data bus interface
CMOS technology

Ordering Information
Part Number

Clock IMHz)

Package Type

ROM

pPD70320L

5

84-pin PLCC

ROM-less

8

PLCC

-16-bit ALU
- 16K bytes of ROM (tJPD70322)
- 256 bytes of RAM
6-byte instruction prefetch queue
24 parallel 110 lines
Eight analog comparator inputs with programmable
threshold level
Two independent DMA channels
Two 16-bit timers
Programmable time base counter
Two full-duplex UARTs
Programmable interrupt controller
- Eight priority levels
- Five external, 12 internal sources
- Register bank (eight) context switching
- Eight macro service function channels

V20 is a registered trademark and V25 is a trademark of NEC Corporation.

5

L-8-xxx

8

GJ-xxx

5

GJ-8-xxx

o Complete single-chip microcomputer

50002-2INECEL-583l

GJ-8

pPD70P322KE-8

Features

o
o
o
o
o

8

5

pPD70322L-xxx

LCC

o
o
o

L-8
GJ

1m

94-pin plastic QFP
84-pin PLCC

Mask ROM

94-pin plastic QFP

8
8

84-pin LCC

= plastic leaded chip carrier
= ceramic leadless chip carrier (with window)

EPROM
(UV erasable)

NEe

pPD70320/322 (V25)
Pin Configurations
84-Pln PLCC and LCe

P07/CLKOUT

74

PT7

DO

73

PT6

01

72

PT5

02

71

PT4

03

70

PT3

04

69

PT2

05

68

PT1

Os

67

PTO

07

66

P17/REAOY

Ao

65

P16/SCKO

A1

64

P15/TOUT

A2

63

P14/1NT/POLL

A3

62

P13/1NTP2/1NTAK

A4

61

P12/1NTP1

A5

60

P11/1NTPO

As

59

P10/NMI

A7

58

P27/HLORO

A8

57

P2s/HLOAK

Ag

56

P25/TC1

A10

55

P24/0MAAK1

A11

54

P23/0MAR01

~

M

~

~

~

~

~

~

0

.;.;.;.;.;.;.;.;~

o
e
01z t) 0 '-1'-

a: Cl

0

0

I/)

I/)

>C

I-

>c

I-

a: 0

>c

I-

100

"0

T

Q,

Q,

0

0

a:

0""
~

N

S! c

~

> ::
~

S!

t:
I:t

~~
N

'Pin functions for normal operation of the pP070P322
are changed as follows for programming.
Pin No.
3

Symbol
Vpp

45

OE

46

CE

Function
Write power supply input
Output enable signal
input
Chip enable signal input
83-0039608

2

~
I

!~

'b

ii'
fI)
::!:
(')

"C

"C

~ ~I>

~>

N;!:;

~

I~

;!:;

< <

~ 0

~ ~ 0

~ ~

~
~

01~Z~CC_~O~OO~ZO~~~~~~~Z~
0 c e o 0 ......1. . 0 01 0
0

C

CD

Q)

....

en

U1

....

...

0

'"

DDDDDDDDDDDDDDDDD[
N N N N
W

N

~

0

~

~

~

~

~

~

~

m

~

~

~

~

~

W

~

N

~

~

~

0

IC

24

P23/0MAR01

25

P24/0MAAK1

26

NC

P2s/TC1

27

A10

A11

91

P26/HLOAK

28

P27/HLORO

29

AS

P10/NMI

30

A7

P11/1NTPO

31

A6

P12/1NTP1

32

AS

P13/1NTP2/1NTAK

33

A4

P14/1NT/POLL

34

A3

P1s/TOUT

35

A2

P16/SCKO

36

A1

P17/REAOY

37

PTO

38

PT1

39

06

PT2

40

Os

PT3

41

D4

PT4

42

D3

PT5

43

D2

NC

44

D1

PT6

45

DO

PT7

46

P07/CLKOUT

IC

47

A9

AD
81

07

P06
....

m

....
W

U1
0

U1
~

U1
N

U1
W

U1
~

U1
~

U1

m

U1
~

=
U1

U1
W

< Z Z ~ ~ x x < < ~I ~I ~

:i

0

0

Z Z ... N
c c

g g rn

~

~ ~

=el

m m m m m m m m m m .... ....

0

~

(J)

m

~

ill

ml"C"C"C"C"C

;!:;151;!:;1

~

m

N

m ~ 0

~

~

~

> 8 !: ~ 8 ~

W

0

~

n 0Z"C&

't:

"a--a
0

W
~

0

'W
~
~

........

<
~

u.:>

l'"

------

- -

m

(II
......,.

NEe

pPD70320/322 (V25)
Pin Identification

Pin Functions

Symbol

Function
Address bus outputs

CLKOUT

System clock output

Ao-A19 [Address Bus]
Ao-A19 is the 20-bit address bus used to access all
external devices.

CTSO

Clear to send channel 0 input

CTS1

Clear to send channel 1 input

CLKOUT [System Clock]

Bidirectional data bus

This is the internal system clock. It can be used to
synchronize external devices to the CPU.

EA

External access

10STB

I/O strobe output

MREQ

Memory request output

MSTB

Memory strobe output
I/O port 0

P10/NMI

P13/INTP2/INTAK

Port 1 input line/Nonmaskable
interrupt input

P16/SCKO
P20/DMARQO

Do- D7 [Data Bus]

Port 1 input line/External
interrupt input line/Interrupt
acknowledge output

0 0-0 7 is the 8-bit external data bus.

I/O port 1/Timer out

These are the control signals to and from the on-chip
OMA controller.

I/O port 1/Serial clock out

EA [External Access]

I/O port 2/DMA request 0

If this pin is low on reset, the pP070322 will execute
program code from external memory instead of from
internal ROM.

I/O port 2/DMA terminal count 0
I/O port 2/DMA request 1
I/O port 2/DMA acknowledge 1
P26/HLDAK

DMARQn, DMAAKn, TCn [DMA Request, DMA
Acknowledge, Terminal Count]

I/O port 1/Ready input
I/O port 2/DMA acknowledge 0

P25ITC1

Receive Data, Transmit Data, Serial Clock Out]
The two serial ports (channels 0 and 1) use these lines
for transmitting and receiving data, handshaking, and
serial clock output.

Port 1 input lines/External
interrupt input lines

I/O port 1/Interrupt request input/
I/O poll input
P15/TOUT

------CTSn, RxDn, TxDn, SCKO [Clear to Send,

I/O port 2/DMA terminal count 1

HLDAK [Hold Acknowledge]
The HLOAK output (active low) informs external
devices that the CPU has released the system bus.

I/O port 2/Hold acknowledge output
I/O port 2/Hold request input

HLDRQ [Hold Request]

PTO-PT7

Comparator port input lines

REFRQ

Refresh pulse output

The HLORO input (active high) is used by external
devices to request the CPU to release the system bus to
an external bus master. The following lines go into a
high-impedance state with internal 4.7-kO pullup
resistors: Ao-A19, 00-07, MREO, R/W, MSTS, REFRO,
and IOSTS.

RESET

Reset input

RxDO

Serial receive data, channel 0 input

RxD1

Serial receive data, channel 1 input

R/W

Read/Write output

TxDO

Serial transmit data, channel 0 output

TxD1

Serial transmit data, channel 1 output

X1,X2

Crystal connection terminals

VDD

Positive power supply voltage
Threshold voltage input

GND

Ground

IC

Internal connection

4

NEe

pPD70320/322 (V25)

INT [Interrupt Request]

POLL [Poll]

INT is a maskable, active-high, vectored interrupt
request input. After assertion, external hardware must
provide the interrupt vector number.

Upon execution of the POLL intruction, the CPU
checks the status of this pin and, if low, program
execution continues. If high, the CPU will check the
level of the line every five clock cycles until it is low.
POLL can be used to synchronize program execution
to external conditions.

INTAK [Interrupt Acknowledge]
After INT is asserted, the CPU will respond with INTAK
(active low) to inform external devices that the interrupt
request has been granted.

PTO-PT7 [Comparator Port]
PTO-PT7 are inputs to the analog comparator port.

INTPO-INTP2 [External Interrupt]
INTPO-INTP2 allow external devices to generate interrupts. Each can be programmed to be rising or falling
edge triggered.

10STB [I/O Strobe]
10STB is asserted during read and write operations to
external 1/0.

MREQ [Memory Request]
MREQ (active low) informs external memory that the
current bus cycle is a memory access bus cycle.

MSTB [Memory Strobe]
MSTB (active low) is asserted during read and write
operations to external memory.

NMI [Nonmaskable Interrupt]
NMI cannot be masked through software and is typically used for emergency processing. Upon execution,
the interrupt starting address is obtained from interrupt
vector number 2. NMI can release the standby modes
and can be programmed to be either rising or falling
edge triggered.

POO-P07 [Port 0]
POO-P07 are the lines of port 0, an 8-bit bidirectional
parallel I/O port.

P1o-P17 [Port 1]
The status of P1 O-P13 can be read but these lines are
always control functions. P14-P17 are the remaining
lines of parallel port 1, each line individually programmable as either an input, an output, or a control
function.

P2o-P27 [Port 2]
P2o-P27 are the lines of port 2, an 8-bit bidirectional 1/0
port. The lines can also be used as control signals for
the on-chip DMA controller.

READY [Ready]
After READY is de-asserted low, the CPU will synchronize and insert at least two wait states into a read or
write cycle to memory or 1/0. This allows the processor
to accommodate devices whose access times are
longer than normal execution allows.

REFRQ [Refresh]
This active-low output pulse can refresh nonstatic
RAM. It can be programmed to meet system specifications and is internally synchronized so that refresh
cycles do not interfere with normal CPU operation.

RESET [Reset]
A low on RESET resets the CPU and all on-chip
peripherals. RESET can also release the standby
modes. After RESET returns high, program execution
begins from address FFFFOH.

R/W [Read/Write]
An R/W output allows external hardware to determine
if the current operation is a read or write cycle. It can
also control the direction of bidirectional buffers.

TOUT [Timer Out]
TOUT is the square-wave output signal from the
internal timer.

X1, X2 [Crystal Connections]
The internal clock generator requires an external
crystal across these terminals as shown in figure 36.
By programming the PRC register, the system clock
frequency can be selected as the oscillator frequency
(fosd divided by 2, 4, or 8.

Voo [Power Supply]
Two positive power supply pins (VDD) reduce internal
noise.

5

NEe

pPD70320/322 (V25)
VTH [Threshold Voltage]

GND

The comparator port uses this pin to determine the
analog reference point. The actual threshold to each
comparator line is programmable to VTH x n/16, where
n 1 to 16.

Two ground connections reduce internal noise.

=

IC [Internal Connection]
Allie pins should be together and pulled up to VDD with
a 10K-20K resistor.

Block Diagram
Staging
Latch

P20/DMARQO
P21/DMAAKO
P22/TCO
P23/DMARQ1
P24/DMAAK1
P25/TC1

Staging
Latch

A19-AO

TxDO
RxDO
P16/SCKOCTSO
TxD1
RxD1

RESET
HLDAK/P26
HLDRQ/P27
READY/P17
MSTB

P10/NMI
P11/1NTPO
P1211NTP1
P13I1NTP2IINTAK
P1411NT/POLL

• Macro
Service
Channel

Instruction Decoder
Micro Sequencer
Micro ROM

X1-

Clock
Generator

POLLIINT/P14

X2-

TOUT/P15

REFRQ

CLKOUT/P07
83-001993C

6

NEe

pPD70320/322 (V25)

Functional Description
Architectural Enhancements
The following features enable the pPD70320/322 to
perform high-speed execution of instructions:
• Dual data bus
• 16-/32-bit temporary registers/shifters (TA, TB,
TA+TB)
• 16-bit loop counter (LC)
• Program counter (PC) and prefetch pointer (PFP)
• Internal ROM pass bus (pPD70322 only)
Dual Data Bus. The pPD70320/322 has two internal
16-bit data buses: the main data bus and a subdata bus.
This reduces the processing time required for addition/
subtraction and logical comparison instructions by
one-third over single-bus systems. The dual data bus
method allows two operands to be fetched simultaneously from the general-purpose registers and
transferred to the ALU.
16-/32-Bit Temporary Registers/Shifters. The 16-bit
temporary registers/shifters (TA, TB) allow high-speed
execution of multiplication/ division and shift/rotation
instructions. By using the temporary registers/shifters,
the pPD70320/322 can execute multiplication/division
instructions about four times faster than with the
microprogramming method.
Figure 1.

Loop Counter [LC1. The dedicated hardware loop counter
counts the number of loops for string operations and
the number of shifts performed for multiple bit shift/
rotation instructions. The loop counter works with
internal dedicated shifters to speed the processing of
multiplication/division instructions.
Program Counter and Prefetch Pointer [PC and PFP1.
The hardware PC addresses the memory location of
the instruction to be executed next. The hardware PFP
addresses the program memory location to be accessed
next. Several clocks are saved for branch, call, return,
and break instructions compared with processors
having only one instruction pointer.
Internal ROM Pass Bus. The pPD70322 features a
dedicated data bus between the internal ROM and the
instruction pre-fetch queue. This allows internal ROM
opcode fetches to be performed in a single clock cycle
(200 ns at 5 MHz); it also makes it possible for opcode
fetches to be performed while the external data bus is
busy. This feature gives the V25 a 10-20% performance
increase when executing from the internal ROM.

Register Set
Figure 1 shows the pPD70320/322 has eight banks of
registers functionally mapped into internal RAM. Each
bank contains general-purpose registers, pointer and
index registers, segment registers, and save areas.

Register Banks in Internal RAM

AW
XXFOOH

XXEFEH
Bank 7

CW
CH

Data Register
DW

32 bytes
AH
XXEEOH

BW
XXEF8H
Bank 6

SP
6H
BP

XXECOH

4H

Index Register
IX

2H
IV
XXEFOH

~

DS1
EH
PS
Segment Register

CH
SS
XXE40H

AH
DSO
Bank1

XXEE8H
Save PC
6H

XXE20H

SavePSW
4H
BankO

XXEOOH

Vector PC
2H
XXEEOH

Reserved

Internal RAM
49-001342B

7

III

NEe

pPD70320/322 (V25)
General-Purpose Registers [AW, BW, CW, OW]. There
are four 16-bit g~neral-purpose registers that can each.
serve as individual 16-bit registers or two independent
a-bit registers (AH, AL, BH, BL, CH, CL, DH, DL). The
following instructions use the general-pu rpose registers
for default:
AW
AL

Word multiplication/division, word I/O, data
conversion
Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation

AH

Byte multiplication/division

Program Counter [PC]. The PC is a 16-bit binary
counter that contains the offset ad.dress from the
program segment of the next instruction to be executed.
It is incremented every time an instruction is received
from the queue. It is loaded with a new location
whenever a branch, call, return, break, or interrupt is
executed.
Program Status Word [PSW]. The PSW contains the
following status and control flags.

RB2

I RB1

BW

Translation

7

CW

Loop control branch, repeat prefix

I

CL

Shift instructions, rotation instructions, BCD
operations

Status Flags

DW

Word multiplication/division, indirect addressing I/O

V

Overflow bit

S

Sign

. Pointers [SP,BP] and Index Registers [IX, IV]. These
registers are used as 16-bit base pointers or index
registers in based addressing, indexed addressing,
and based indexed addressing. The registers are used
as default registers under the following conditions:

Z

Zero

SP

Stack operations

IX

Block transfer (source), BCD string operations

IY

Block transfer (destination), BCD string
operations

Segment Registers. The segment registers divide the
1M-byte address space into 64K-byte blocks. Each
segment register functions as a base address to a
block; the effective address is an offset from that base.
Physical addresses are generated by shifting the associated segment register left four binary digits and then
adding the effective address. The segment registers
are:
Segment Register
PS (Program segment)
SS (Stack segment)
DSO (Data segment-O)
DS1 (Data segment-1)

Default Offset
PC
SP, Effective address
IX, Effective address
. IY, Effective address

Save Registers. Save PC and Save PSW are used as
save areas during register bank context switching. The
Vector PC save location contains the effective address
of the interrupt service routine when register bank
switching is used to service interrupts.

a

a

PSW

15

RBO

I

V

I

DIR

IE

BRK

p

I BRKI I

CY

I
o

s I z I

F1

AC Auxiliary carry
P

Parity

CY

Carry

FO

AC

I

Control Flags
DIR

Direction of string
processing

IE

Interrupt enable

BRK

Break (after every
instruction)

RBn

Current register
bank flags

BRKI

I/O trap enable (see
software interrupts)

FO, F1 General-pu rpose
user flags (accessed
through the Flag
special function
register)
The eight low-order bits of the PSW can be stored in
the AH register and restored by a MOV instruction
execution. The only way to alter the RBn bits via
software is to execute an RETRBI or RETI instruction.

NEe

pPD70320/322 (V25)

Memory Map
The jlPD70320/322 has a 20-bit address bus that can
directly access 1M bytes of memory. Figure 2 shows that
the 16K bytes of internal ROM (JIPD70322 only)
are located at the top of the address space from FCOOOH
to FFFFFH.
Figure 2 shows the internal data area (IDA) is a 256byte internal RAM area followed consecutively by a
256-byte special function register (SFR) area. All the
data and control registers for on-chip peripherals and
1/0 are mapped into the SFR area and accessed as
RAM. For a description of these functions, see table 6.
The IDA is dynamically relocatable in 4K-byte increments by changing the value in the internal data base
(IDB) register. Whatever value is in this register will be
assigned as the uppermost eight bits of the IDA
address. The IDB register can be accessed from two
different memory locations, FFFFFH and XXFFFH,
where XX is the value in the IDB register.
On reset, the internal data base register is set to FFH
which maps the IDA into the internal ROM space.
However, since the jlPD70322 has a separate bus to
internal ROM, this does not present a problem. When
these address spaces overlap, program code cannot be
executed from the IDA and internal ROM locations
cannot be accessed as data. You can select any of the
eight possible register banks, which occupy the entire
internal RAM space. Multiple register bank selection
allows faster interrupt processing and facilitates multitasking.
Figure 2.

Memory Map

Instruction Set
The jlPD70320/322 instruction set is fully compatible
with the V20 native mode instruction set. The V20
instruction set is a superset of the jlPDBOB61BOBB
instruction set with different execution times and
mnemonics.
The jlPD70320/322 does not support the V20 BOBO
emulation mode. All of the instructions pertaining to
this have been deleted from the jlPD70320/322 in- ~
struction set.
~

Enhanced Instructions
In addition to the jlPDBOB6/88 instructions, the
jlPD70320/322 has the following enhanced instructions.
I nstruction

FCOOOH

/

XXFFFH
XXFOOH
External
Area

XXEFFH
XXEOOH

t---------/

Special Function
Registers
1-[256 Bytes]
1/"
Internal RAM
[256 Bytes]

Pushes immediate data onto stack

PUSH R

Pushes eight general registers onto
stack

POP R

Pops eight general registers from stack

MUL imm

Executes 16-bit multiply of register or
memory contents by immediate data

Shifts/rotates register or memory by
SHL immB
immediate value
SHR immB
SHRA immB
ROL immB
ROR immB
ROLC immB
RORC immB
CHKIND

Checks array index against designated
boundaries

INM

Moves a string from an 1/0 port to
memory

OUTM

Moves a string from memory to an 1/0
port

PREPARE

Allocates an area for a stack frame and
copies previous trame pOinters

DISPOSE

Frees the current stack frame on a
procedure exit

,-

OOOOOH
1 Mbyte Memory Space

Function

PUSH imm

FFFFFH

Internal
ROM

......-----1

In larger-scale systems where internal RAM is not
required for data memory, the internal RAM can be
removed completely from the address space and
dedicated entirely to registers and control functions
such as macro service and DMA channels. Clearing the
RAMEN bit in the processor control register achieves
this. When the RAMEN bit is cleared, internal RAM can
only be accessed by register addressing or internal
control processes. Many instructions are executed
faster when the internal RAM is disabled.

49-001343A

9

NEe

pPD70320/322 (V25)
Unique Instructions

effective forgraphics, high-level languages, and packingl
unpacking applications.

The pPD70320/322 has the following unique
instructions.

Bit field insertion copies the bit field of specified length
from the AW register to the bit field addressed by
DS1 :IV:reg8 (8-bit general-purpose register). The bit
field length can be located in any byte register or
supplied as immediate data. Following execution, both
the IV and reg8 are updated to point to the start of the
next bit field.

Instruction Function
INS

Inserts bit field

EXT

Extracts bit field

ADD4S

Performs packed BCD string addition

SUB4S

Performs packed BCD string subtraction

CMP4S

Performs packed BCD string
comparison

ROL4

Rotates BCD digit left

ROR4

Rotates BCD digit right

TEST1

Tests bit

SET1

Sets bit

CLR1

Clears bit

Bit field extraction copies the bit field of specified
length from the bit field addressed by DSO:IX:reg8 to
the AW register. If the length of the bit field is less than
16 bits, the bit field is right justified with a zero fill. The
bit field length can be located in any byte register or
supplied as immediate data. Following execution, both
IX and reg8 are updated to point to the start of the next
bit field.
Figures 3 and 4 show bit field insertion and bit field
extraction.

NOT1

Complements bit

BTCLR

Tests bit; if true, clear and branch

REPC

Repeat while carry set

REPNC

Repeat while carry cleared

Packed Be 0 Instructions
Packed BCD instructions process packed BCD data
either as strings (ADD4S, SUB4S, CMP4S) or byte
format operands (ROR4, ROL4). Packed BCD strings
may be 1 to 254 digits in length. The two BCD rotation
instructions perform rotation of a single BCD digit in
the lower half of the AL register through the register or
the memory operand.

Variable Length Bit Field Operation Instructions
Bit fields are a variable length data structure that can
range in length from 1 to 16 bits. The pPD70320/322
supports two separate operations on bit fields: insertion
(INS) and extraction (EXT). There are no restrictions
on the position of the bit field in memory. Separate
segment, byte offset, and bit offset registers are used
for insertion and extraction. Following the execution of
these instructions, both the byte offset and bit offset
are left pointing to the start of the next bit field, ready
for the next operation. Bit field operation instructions
are powerful and flexible and are therefore highly
Figure 3.

Bit Manipulation Instructions
The pPD70320/322 has five unique bit manipulation
instructions. The ability to test, set, clear, or complement a single bit in a register or memory operand
increases code readability as well as performance over
the logical operations traditionally used to manipulate
bit data. This feature further enhances control ove,r
on-chip peripherals.

Bit Field Insertion
Bit length

15

o

AW
Bit offset

Memory

Byte boundary

Segment base (OS1)
83-0001068

10

NEe
Figure 4.

pPD70320/322 (V25)

Bit Field Extraction
Bit length

Bit offset

Byte boundary

Segment base (OSO)

83-000107B

Additional Instructions

Table 2.

Besides the V20 instruction set, the pPD70320/322
has the four additional instructions described in
table 1.

Instruction

Function

BRKCS reg 16

Performs a high-speed software interrupt with
context switch to the register bank indicated by the
lower 3-bits of reg 16. This operation is identical to
the interrupt operation shown in figure 9.

Table 1.

Additionallnstructions

Instruction

Function

BTCLR var,immB,
short label

Bit test and if true, clear and branch;
otherwise, no operation

STOP (no operand)

Power down instruction, stops oscillator

RETRBI (no operand)
FINT (no operand)

Bank Switch Instructions

TSKSW reg 16

Return from register bank context switch
interrupt

Performs a high-speed task switch to the register
bank indicated by the lower 3-bits of reg 16. The PC
and PSW are saved in the old banks. PC and PSW
save registers and the new PC and PSW values are
retrieved from the new register bank's save areas.
See figure 10.

MOVSPA

Finished interrupt. After completion of a
hardware interrupt request, this instruction
must be used to reset the current priority
bit in the in-service priority register (ISPR). *

Transfers both the SS and SP of the old register
bank to the new register bank after the bank has
been switched by an interrupt or BRKCS instruction.

MOVSPB

Transfers the SS and the SP of the current register
bank before the switch to the SS and SP of the new
register bank indicated by the lower 3-bits of reg 16.

*00 not use with NMI or INTR interrupt service routines.

Repeat Prefixes
Two new repeat prefixes (REPC, REPNC) allow conditional block transfer instructions to use the state of
the CY flag as the termination condition. This allows
inequalities to be used when working on ordered data,
thus increasing performance when searching and
sorting algorithms.

Table 3.

Software Interrupts

Interrupt

Description

Divide error

The CPU will trap if a divide error occurs as the
result of a DIV or DIVU instruction.

Single step

The interrupt is generated after every instruction if
the BRK bit in the PSW is set.

Overflow

By using the BRKV instruction, an interrupt can be
generated as the result of an overflow.

Interrupt
instructions

The BRK 3 and BRK immB instructions can generate interrupts.

Array bounds

The CHKIND instruction will generate an interrupt if
specified array bounds have been exceeded.

Escape trap

The CPU will trap on an FP01,2 instruction to allow
software to emulate the floating point processor.

I/O trap

If the I/O trap bit in the PSW is cleared, a trap
will be generated on every IN or OUT instruction.
Software can then provide an updated peripheral
address. This feature allows software interchangeability between different systems.

Bank Switch Instructions
The V25 has four new instructions that allow the
effective use of the reg ister ban ks for software i nterru pts
and multitasking. These instructions are shown in
table 2. Also, see figures 8 and 10.

Interrupt Structure
The pPD70320/322 can service interrupts generated
both by hardware and by software. Software interrupts
are serviced through vectored interrupt processing.
See table 3 for the various types of software interrupts.

11

II
~.

NEe

pPD70320/322 (V25)
When executing software written for another system, it
is better to implement I/O with on-chip peripherals to
reduce external hardware requirements. However,
since pPD70320/322 internal peripherals are memory
mapped, software conversion could be difficult. The
1/0 trap feature allows easy conversion from external
peripherals to on-chip peripherals.

Table 4.
Address

Interrupt Vectors
Vector No.

Assigned Use

0

Divide error

08

2

NMI
BRK3 instruction

00
04

Break flag

OC

3

Interrupt Vectors

10

4

BRKV instruction

The starting address of the interrupt processing
routines may be obtained from table 3. The table
begins at physical address OOH, which is outside the
internal ROM space. Therefore, external memory is
required to service these routines. By servicing interrupts via the macro service function or context
switching, this requirement can be eliminated.

14

5

CHKIND instruction
General purpose

18

6

1C

7

FPO instructions

20-2C

8-11

General purpose

30

12

INTSERO (Interrupt serial error, channel 0)

34

13

INTSRO (Interrupt serial receive, channel 0)

Each interrupt vector is four bytes wide. To service a
vectored interrupt, the lower addressed word is transferred to the PC and the upper word to the PS.
See figure 5.

38

14

INTSTO (Interrupt serial transmit, channel 0)

3C

15

General purpose

40

16

INTSER1 (Interrupt serial error, channel 1)

44

17

INTSR1 (Interrupt serial receive, channel 1)

Figure 5.

48

18

INTST1 (Interrupt serial transmit, channel 1)

4C

19

1/0 trap

50

20

INTDO (Interrupt from DMA, channel 0)

54

21

INTD1 (Interrupt from DMA, channel 1)

Interrupt Vector 0
Vector 0
OOOH
002H

:
I

00lH
003H

PS <- (OO3H, 002H)

PC <- (OO1H, OOOH)
83-000112A

Execution of a vectored interrupt occurs as follows:
(SP-1, SP-2) - PSW
(SP-3, SP-4) - PS
(SP-5, SP-6) - PC
. SP +- SP-6
IE-O,BRK-O
PS +- vector high bytes
PC - vector low bytes

Hardware Interrupt Configuration
The V25 features a high-performance on-chip controller capable of controlling multiple processing for
interrupts from up to 17 different sources (5 external,
12 internal). The interrupt configuration includes
system interrupts that are functionally compatible with
those of the V20IV30 and unique high-performance
microcontroller interrupts.

12

58

22

General purpose

5C

23

General purpose

60

24

INTPO (Interrupt from peripheral 0)

64
68

25

INTP1 (Interrupt from peripheral 1)

26

INTP2 (Interrupt from peripheral 2)

6C

27

General purpose

70

28

INTTUO (Interrupt from timer unit 0)

74

29

INTTU1 (Interrupt from timer unit 1)

78

30

INTTU2 (Interrupt from timer unit 2)

7C

31

INTTB (Interrupt from time base counter)

080-3FF

32-255

General purpose

NEe

pPD70320/322 (V25)

Interrupt Sources
The 17 interrupt sources (table 5) are divided into
groups for management by the interrupt controller.
Using software, each of the groups can be assigned a
priority from 0 (highest) to 7 (lowest). The priority of
individual interrupts within a group is fixed in hardware.
If interrupts from different groups occursimultaneously
and the groups have the same assigned priority level,
the priority followed will be as shown in the Default
Priority column of table 5.
The ISPR is an .8-bit special function register; bits
PRo-PR7 correspond to the eight possible interrupt
request priorities. The ISPR keeps track of the priority
of the interrupt currently being serviced by setting the
appropriate bit. The address of the ISPR is X;XFFCH.
The ISPR format is shown below.

NMI and INTR are system-type external vectored
interrupts. NMI is not maskable via software. INTR is
maskable (IE bit in PSW) and requires that an external
device provide the interrupt vector number. It allows
expansion by the addition of an external interrupt
controller (j.tPD71059).

Figure 6.

Table 5.

Interrupt Sources
Interrupt Source
(Priority Within Group)

Group

1

2

3

Default
Priority

Non-maskabie interrupt

NMi

Timer unit

iNTTUO INTTU1

0

DMA controller

INTDO

INTD1

External peripheral
interrupt

iNTPO

iNTP1

Serial channel 0

INTSERO INTSRO INTSTO

4

Seriai channel 1

iNTSER1 INTSR1

Time base counter

INTTB

interrupt request

INTR

5
6
7

INTTU2

1
2

INTP2

INTST1

3

II

Interrupt Mode Register (INTM)

I

0

5

6

7

INTM

NMI, INTPO, and INTP1 are edge-sensitive interrupt
inputs. By selecting the appropriate bits in the interrupt
mode register, these inputs can be programmed to be
either rising or falling edge triggered. ESO-ES2 correspond to INTPO-INTP2, respectively. See figure 6.

I

ES2

I

0

4

I

ES,

I

0

o

2

3

I

ESo

I

0

I

ES

NMI

Trigger Mode

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge
49-0013826

13

NEe

pPD70320/322 (V25)
Interrupt Processing Modes

Register Bank Switching

Interrupts, with the exception of NMI, INT, and INTTB,
have high-performance capability and can be processed in any of three modes: standard vector interrupt, register bank context switching, or macro service
function. The processing mode for a given interrupt
can be chosen by enabling the appropriate bits in the
corresponding interrupt request control register. As
shown in table' 6, each individual interrupt, with the
exception oflNTR and NMI, has its own associated IRC
register. The format for all IRC registers is shown in
figure 7.

Register bank context switching allows interrupts to be
processed rapidly by switching register banks. After an
interrupt, the new register bank selected is that which
has the same register bank number (0-7) as the priority
of the interrupt to be serviced. The PC and PSWare
automatically stored in the save areas of the new
register bank and the address of the interrupt routine is
loaded from the vector PC storage location in the new
register bank. As in the vectored mode, the IE and BRK
bits in the PSW are cleared to zero. After interrupt
processing, execution of the RETRBI(return from
register bank interrupt) returns control to the former
register bank and restores the former PC and PSW.
Figures 8 and 9 show register bank context switching
and register bank return.

All interrupt processing routines other than those for
NMI and INT must end with the execution of an FINT
instruction. Otherwise, subsequently, only interrupts
of a higher priority will be accepted.
In the vectored interrupt mode, the CPU traps to the
vector location shown in table 4.
Figure 7.

Interrupt Request Control Registers (lRC)
7

IRC

I

FLAG

I

MASK

I

MSI
INT

I

ENCS

I

0

I

PR2

I

I I
PR1

PRo

I
PR
2 1 0

Priority

000

Highest

1 1 1

Lowest

ENCS

Context Switch

..
0

Vectored Interrupt Mode

1

Bank Switching

MS/INT

0

Macro Service or Interrupt
Interrupt

1

Macro Service

xxMKn

Interrupt Mask

0
1

xxFn

Mask Open: Interrupts Enabled
Mask Closed: Interrupts Disabled
Interrupt Request Flag

0

No Request

1

Interrupt Requested
49-0013838

14

NEe
Figure 8.

pPD70320/322 (V25)

Register Bank Context Switching
RBi

Macro Service Function
The macro service function (MSF) is a special microprogram that acts as an internal DMA controller between on-chip peripherals (special function registers,
SFR) and memory. The MSF greatly reduces the
software overhead and CPU time that other processors
would require for register save processing, register
returns, and other handling associated with interrupt
processing.

RBj

AW

AW

CW

CW

DW

DW

BW

BW

SP

SP

c)

BP

IX

BP

IX

IV

IV

DS1

DS1

PS

PS

SS

SS

DSO

DSO
~

Save PC

r-- ~

SavePSW

If the MSF is selected for a particular interrupt, each
time the request is received, a byte or word of data will
be transferred between the SFR and memory without
interrupting the CPU. Each time a request occurs, the
macro service counter is decremented. When the
counter reaches zero, an interrupt to the CPU is
generated. The MSF also has. a character search
option. When selected, every byte transferred will be
compared to an a-bit search character and an interrupt
will be generated if a match occurs or if the macro
service counter counts out.

Save PC
SavePSW

Vector PC

Vector PC

Reserved

Reserved

t--

r--

y
Y

Like the NMI, INT and INTTB, the two DMA controller
interrupts (INTDO, INTD1) do not have MSF capability.

PC
PSW
49-001344A

Figure 9.

Register Bank Return
RBi

RBj

AW

AW

CW

CW

DW

DW

BW

BW

SP

SP

BP

BP

0

IX
IV

There are eight a-byte macro service channels mapped
into internal RAM from XXEOOH to XXE3FH. Each
macro service channel contains all of the necessary
information to execute the macro service process.
Figure 11 shows the components of each channel.
Figure 10.

Task Switching
CURRENT

IX

NEW

AW

AW

cw

CW

DW

DW

BW

BW

SP

IV

SP

[)

BP

BP

DS1

DS1

PS

PS

IX

IX

SS

SS

IV

IV

DSO

DSO

DS1

DS1

Save PC

r---

SavePSW

r--

-

Save PC
SavePSW

Vector PC

Vector PC

Reserved

Reserved

~

PS

SS

SS

DSO
~

.-1-

Lr

PS

PC

r--

PC Save

PSWSave

-

PSWSave

VPC

VPC

Reserve

Reserve

y

PSW
49-001346A

DSO

PC Save

L-{

PC
PSW
RBL

j.-

IReg 16

VPC: Vector PC
RB: Register ba nk field
83-MBOOS273A

15

NEe

pPD70320/322 (V25)
Figure 11.

On-Chip Peripherals

Macro Service Channels

Timer Unit

t

The tlPD70320/322 (figure 13) has two programmable
16-bit interval timers (TMO, TM1) on-chip, each with
variable input clock frequencies. Each of the two 16-bit
timer registers has an associated 16-bit modulus
register (MDO, MD1). Timer 0 operates in the interval
timer mode or one-shot mode; timer 1 has only the
interval timer mode.

Upt03FH
XXE08H
MSS

M.S. Channel 0

MSP
Resl'lvcci

SFRP

I

SCHR
MSC

1

Interval Timer Mode. In this mode, TMO/TM1 are
decremented by the selected input clock and, after
counting out, the registers are automatically reloaded
from the modulus registers and counting continues.
Each time TM1 counts out, interrupts are generated
through TF1 and TF2 (Timer Flags 1, 2). When TMO
counts out, an interrupt is generated through TFO.
The timer-out signal can be used as a square-wave
output whose half-cycle is equal to the count time.
There are two selectable input clocks (SCLK: system
clock = fosc/2; fosc = 10 MHz).

XXEOOH [Internal RAM]

~16Bits-l
MSS

= Macro service segment

MSP

= Macro service pointer

SCHR = Search character
SFRP = Special function register pOinter
MSC = Macro service counter
49-001345A

Clock

Setting the macro service mode for a given interrupt
requires programming the corresponding macro service control register. Each individual interrupt, excluding INTR, NMI and TBC, has its own associated MSC
register. See table 6. Format for all MSC registers is
shown in figure 12.
Figure 12.

Full Count

1.2 tiS
25.6 tiS

78.643 ms
1.678 s

SCLK/6
SCLK/128

Macro Service Control Registers (MSC)
6

7
xxMSn

Timer Resolution

I

MSM2

I

MSM1

o

4

I

MSMo

I

DIR

I

0

I

CH2

I

I

CH1

I

CHo

I
2 1

0

Macro Service Channel

0 0

0

Channel 0

1 1

1

Channel 7

···

..

Transfer Direction
0

From Memory to SFR

1

From SFR to Memory
Transfer Mode-

* All other combinations are reserved

*

0 ()
0 0
1 0

0
1
0

8-bit Transfer
16-bit Transfer
8-bit Transfer with Character Search
49-001384B

16

NEe
Figure 13.

pPD70320/322 (V25)

Timer Unit Block Diagram

,-------

"I
I
I

I
I

fose /S
fose/ 128

I
I

I

fose/ 12
fosC/ 128

I
I

fose /S
fose/ 12
foSc/128

L

___ _

I
Output
Control

--11-----------Internal Bus

1---~nTO

--~

~
49-0013478

17

NEe

pPD70320/322 (V25)
One-Shot Mode. In the one-shot mode, TMO and MOO
operate as independent one-shot timers. Starting with
a preset value, each is decremented to zero. At zero,
counting ceases and an interrupt is generated by TFO
(from TMO) or TF1 (from MOO). One-shot mode allows
two selectable input clocks (fosc = 10 MHz).

Figure 14.

Timer Resolution

Full Count

2.4 p.s
25.6 P.S

157.283 ms
1.678 s

SCLK/12
SCLK/128

Setting the desired timer mode requires programming
the timer control register. See figures 14 and 15 for
format.

Timer Control Register 0

7

I

Clock

o

6

I

TSO

TCLKO

I

MSO

I

MCLK

I

ENTO

I

ALV

I

MOD1

MODO

I

I
MOD1

MODO

0

0

Timer Mode
Interval Timer Mode

0

1

One-shot Timer Mode

1

X

Reserved
Active Level of TOUT

0

TOUT initial level = 0

1

TOUT initial level = 1

0

Disable Timer Out

1

Enable Timer Out

0

SCLK/12

1

SCLK/128

0

Stop Modulus Register Count

1

Start Modulus Register Count

Enable Timer-Out Signal

One-shot Mode Modulus Register Clock

Modulus Start (One-shot Mode)

TM Register Clock Select
MODO

TCLK

0

0

0

0

0

1

SCLK/128

0

1

0

SCLK/12 One-shot Mode

0

1

1

MOD1

SCLK/6 Interval Timer Mode

SCLK/128
Timer Start Bit

0

Stop Timer"

1

Start Timer"

"Starts and stops TMO in one-shot mode
~,H)01387B

Figure 15.

Timer Control Reg/ster 1

7

I

TS1

TCLK1

I

I

0

I

0

I

0

o

2

3

4

I

I

0

I

0

I

0

TM1 Clock Select

oI

SCLK/6

1

SCLK/128

I

Timer Start Bit

oI

Stop TM1 counting

I

Start TM1 counting

1

49-0013898

18

NEe

pPD70320/322 (V25)

Time Base Counter/Processor Control Register

The TBC (figure 18) uses the system clock as the input
frequency. The system clock can be changed by
programming the PCKO and PCK1 bits in the processor
control register (PRC). Reset initializes the system
clock to fasc/8 (fasc = external oscillator frequency).

The 20-bit free-running time base counter controls
internal timing sequences and is available to the user
as the source of periodic interrupts at lengthy intervals.
One of four interrupt periods can be selected by programming the TBO and TB1 bits in the processor
control register (PRC). The TBC interrupt is unlike the
others in that it is fixed as a level 7 vectored interrupt.
Macro service and register bank switching cannot be
used to service this interrupt. See figures 16 and 17.

Figure 18.

Time Base Counter (TBC) Block Diagram

SCLK

The RAMEN bit in the PRC register allows the internal
RAM to be removed from the memory address space to
implement faster instruction execution.

49-001348A

Figure 16.

Time Base Interrupt Request Control Register
6

7

I

TBF

I

TBMK

4

I

0

I

0

2

I

0

I

1

I

1

I

1

I

Time Base Interrupt Mask Bit

oI
1

I

Unmasked
Masked
Time Base Interrupt Flag

oI
1

I

No Interrupt Generated
Interrupt Generated
49-0013936

Figure 17.

Processor Control Register (PRC)

o

7
PRC

I

0

I

RAMEN

I

0

I

0

I

TB1

TBO

I

I

I

PCK1

I
I

PCKO

I
System Clock Select
PCK1

PCKO

0

0

fosc/2

0

1

fOSC/4

1

0

fOSC/8

1

1

Reserved

Time Base Interrupt Period
TB1

TBO

0

0

0

1

1

0

1

1

21O/fCLK
213/fCLK
216/fCLK
22O /fCLK

Internal RAM Enable

0

Disabled

1

Enabled
49-0013958

19

NEe

pPD70320/322 (V25)
Refresh Controller
The pP070320/322 has an on-chip refresh controller
for dynamic and pseudostatic RAM mass storage
memories. The refresh controller generates refresh
addresses and refresh pulses. It inserts refresh cycles
between the normal CPU bus cycles ~ccording to
refresh specifications.
The refresh controller outputs a 9-bit refresh address
on address bits Ao-As during the refresh bus cycle.
Address bits Ag-A19 are all 1'so The 9-bit refresh
address is automatically incremented at every refresh
timing for 512 row addresses. The a-bit refresh mode
(RFM) register (figure 19) specifies the refresh operation and allows refresh during both CPU HALT and
HOLD modes. Refresh cycles are automatically timed
to REFRQ following read/write cycles to minimize the
effect on system though put.
The following shows the REFRQ pin level in relation to
bits 4 (RFEN) and 7 (RFLV) of the refresh mode
register.

--

RFEN

--

RFLV

REFRQ Level

0
0
1
1

0
1
0
1

0
1
0
Refresh pulse output

Serial Interface
ThepP070320/322 hastwo full-duplex UARTs, channel
o and channel 1. Each serial port channel has a
transmit line (TxOn), a receive line (RxOn), and a clear
to send (CTSn) input line for handshaking. Communication is synchronized by a start bit, and you can
program the ports for even, odd, or no parity, character
lengths of 7 or a bits, and 1 or 2 stop bits.
ThepP070320/322 has dedicated baud rate generators
for each serial channel. This eliminates the need to
obligate the on-chip timers. The baud rate generator
allows a wide range of data transfer rates (up to 1.25
Mb/s). This includes all of the standard baud rates
without being restricted by the value of the particular
external crystal.

20

Each baud rate generator has. an 8-bit baud rate
generator (BRGn) data register, which functions as a
prescaler to a programmable input clock selected by
the serial communication control (SCCn) register.
Together these must be set to generate a frequency
equivalent to the desired baud rate.
The baud rate generator can be set to obtain the
desired transmission rate according to the following
formula:
B
X

where

G = SCLK X 106
2n + 1
B = baud rate
G = baud rate generator register (BRGn)
value
n = input clock specifications (n between
o and 8) This is the value that is loaded
into the SCCn register (see figure 23).
SCLK = system clock frequency (MHz)

Based on the above expression, the following table
shows the baud rate generator values used to obtain
standard transmission rates when SCLK = 5 MHz.
BRGn Value

Error 1%)

110

7

178

0.25

150

7

130

0.16

300

6

130

0.16

600

5

130

0.16

1200

4

130

0.16

2400

3

130

0.16

4800

2

130

0.16

9600

1

130

0.16

19,200

0

130

0.16

38,400

0

65

0.16

1.25M

0

2

Baud Rate

0

NEe
Figure 19.

pPD70320/322 (V25)

Refresh Mode Register (RFM)
7

RFM

I

RFLV

5

I

HLDRF

I

HLTRF

4

I

RFEN

2

I

RFW1

RFWO

I

I

I

RFT1

RFTO

Refresh Cycle Speed
Refresh Period

RFT1

RFTO

0

0

16JSCLK

0

1

32JSCLK

1

0

64JSCLK

1

1

128JSCLK

Refresh Cycle Wait States
RFW1

RFWO

0

0

Number of Wait States
0

0

1

1

1

0

2

1

1

2
Refresh Enable
RFLV

0

Refresh Pin

1

Refresh Enabled

0

Refresh During Halt Disabled

1

Refresh During CPU HALT

0

Hold Refresh Disabled

1

Refresh During Hold

Halt Refresh Enable

Hold Refresh Enable

Refresh level output
to RFSH pin when RFEN = 0
49-001392B

21

NEe

pPD70320/322 (V25)
In addition to the asynchronous mode, channel 0 has a
synchronous 1/0 interface mode. In this mode, each bit
of data tranferred is synchronized to a serial clock
(SCKO). This is the same as the NEC pCOM75 and
pCOM87 series, and allows easy interfacing to these
devices. Figure 20 is the serial interface block diagram;
figures21, 22, and 23 show the three serial communication registers.

Figure 20.

Serial Interlace Block Diagram

TxDO
RxDO
CTSO

Baud Rate
Generator

SCKO

TxD1
RxD1
CTS1

TxC1

Baud Rate
Generator

49-0013498

22

NEe
Figure 21.

SCM

I

pPD70320/322 (V25)

Serial Communication Mode Register (SCM)

TxROY

I

o

I

RxE

PRTY1

PRTYO

I

I

I

CLITSK

I

SLlRSCK

I

MD1

MOO

I

I
M01 MOO

0

Mode

0

I/O Interface [Note 1)

0

1

Asynchronous

1

X

Reserved

Stop Bit Length/Rcv Clk [Note 3)

0

1 Stop Bit/Ext Clk [input on CTSO)

1

2 Stop Bits/lnt Clk [output on CTSO)

Char Length/Trans Shift Clk [Note 3)

0

7 Bits/No Effect

1

8 Bits/Trigger Transmit

PRTY
Parity Control

t--r--

1

0

0

0

0

1

o Parity [Note 2)

1

0

Odd Parity

1

1

No Parity

Even Parity
Receiver Control

0

Disable

1

Enable

0

Disable

1

Enable

Transmitter Control

Notes.
(1) Only Channel 0 has I/O interface mode.
(2) When 0 parity is selected, the parity is 0
during transmit and is ignored during receive.
(3) Applies only to I/O interface mode.
49·0013858

Figure 22.

Serial Communication Error Registers (SCE)
3

SCEn

I

RxO

I

0

I

0

I

0

I

0

2

I

ERP

I

ERF

J

ERO

L

Overrun Error Flag

I
oI
1

Overrun has occurred
Overrun has not occurred
Framing Error

I
oI
1

Stop bit not detected
Framing error has not occurred
Parity Error

1

I

oj

Parity error has occurred
No parity error has occurred
RxD Line Status

I
oI
1

RxDLine
RxDLine

=1
=0
49·001386A

23

NEe

pPD70320/322 (V25)
Figure 23.

Serial Communication Control Register (SCC)
7

scc

I

I

I

0

0

I

0

2

3

4

0

I

PRS3

1

PRS2

PRS1

1

PRSo

Input clock for baud
rate generator

PRS
321 0
0000

*AII oth er combinations after 1000 are illegal

SCLK/2

0001

SCLK/4

001 0

SCLK/8

00 1 1

SCLK/16

01 00

SCLK/32

o1
o1
o1

0 1

SCLK/64

1 0

SCLK/128

1 1

SCLK/256

1 000

SCLK/512*
49-0013888

DMA Controller
The pPD70320/322 has a two-channel, on-chip DMA
controller. This allows rapid data transfer between
memory and auxiliary storage devices. The DMA controller supports four modes of operation, two for
memory-to-memory transfers and two for transfers
between 1/0 and memory. See figures 24, 25, and 26 for
a graphic representation of the DMA registers.
Memory-to-Memory Transfers. In the single-step mode,
when one DMA request is made, execution of one
instruction and one DMA transfer are repeated alternately until the prescribed number of DMA transfers
has occurred. Interrupts can be accepted while in this
mode. In burst mode, one DMA request causes DMA
transfer cycles to continue until the DMA terminal
counter decrements to zero. Software can also initiate
memory-to-memory transfers.
Figure 24.

DMA Channels

TC1
SARH1

DARHt

DAR1

The bottom of internal RAM contains all the necessary
address information for the designated DMA channels.
The DMA channel mnemonics are as follows:
TC
SAR
SARH
DAR
DARH

Terminal counter
Source address register
Source address register high
Destination address register
Destination address register high

SAR1

Channel 1

TCO

Channel 0

When the EDMA bit is set, the internal DMARa flag is
cleared. Therefore, DMARas are only recognized after
the EDMA bit has been set.

XXEOOH

See Execution Clock Counts for Operation and Bus
Controller Latency tables for DMA latency and transfer
rate information.

SARHOI

DARHO

DARO
SARO
1-16Bits-J
49-001350A

24

In all modes, the TC (terminal count) output pin will
pulse low and a DMA completion interrupt request will be
generated after the predetermined number of DMA
cycles has been completed.

The DMA controller generates physical source
addresses by offsetting SARH 12 bits to the left and
then adding the SAR. The same procedure is also used
to generate physical destination addresses. You can
program the controller to increment or decrement
source andlor destination addresses independently
during DMA transfers.

XXEOEH

I

Transfers Between 1/0 and Memory. In single-transfer
mode, one DMA transfer occurs after each rising edge
of DMARa. After the transfer, the bus is returned to the
CPU. In demand release mode, the rising edge of
DMARa enables DMA cycles, which continue as long
as DMARa is high.

NEe
Figure 25.

pPD70320/322 (V25)

DMA Mode Registers (DMAM)

o

4

I

MD2

I

I

MD1

I

MDo

I

I

I

W

EDMA

I

TDMA

I

I

0

DMAMO

0

DMAM1

Trigger DMA [Note 1]

o
1

I No Effect
I TriggerDMA
Enable DMA [Note 2]

o
1

I
I

Disable DMA
Enable DMA
Word/byte

oI
1

Byte Transfers

I Word Transfers
DMAMode

Notes:
[1] Valid only during single-step and burst
modes.
[2] Cleared when TC = 0; cleared when DMA
transfer is aborted by NMI.

MD2

MD1

MDo

0

0

0

Single Step (Mem to Mem)

0

0

1

Demand Release (110 to Mem)

0

1

0

Demand Release (Mem to 110)

0

1

1

Reserved

1

0

0

Burst Mode (Mem to Mem)

1

0

1

Single Transfer (110 to Mem)

1

1

0

Single Transfer (Mem to 110)

1

1

1

Reserved
49·0013908

Figure 26.

DMA Address Control Registers (DMAC)

7

I

0

I

0

I

PD1

PD~

I

I

I

0

I

0

I

PS1

I

I
I

PSO

I

DMACO
DMAC1

Source Address Increment/Decrement Control
PS1

PSO

0

0

Source Address not
Incremented/Decremented

0

1

Increment Source Address

1

0

Decrement Source Address

1

1

Source Address not
Incremented/Decremented

Destination Address Increment/Decrement Control
PD1

PD~

0

0

Destination Address not
Incremented/Decremented

0

1

Increment Destination
Address

1

0

Decrement Destination
Address

1

1

Destination Address not
Incremented/Decremented
49-0013918

25

NEe

pPD70320/322 (V25)
Parallel Ports

Use the associated port mode and port mode control
registers to select the mode for a given I/O line.

The pPD70320/322 has three a-bit parallel I/O ports:
PO, P1, and P2. Refer to figures 27 through 31. Special
function register (SFR) locations can access these
ports. The port lines are individually programmable as
inputs or outputs. Many of the port lines have dual
functions as port or control lines.
Figure 27.

Port Mode Registers 0 and 2 (PMO, PM2)
6 -

7

o

2

PMO
PM2

Output Port Mode
Input Port Mode
49-001377B

Figure 28.

Port Mode Register 1 (PM 1)
7
PM1

I

PM17

I

I

2

4

6
PM16

PM1s

I

I

I

PM14

I

I

1

I

1

PMC1 n

n

1

1

1

1

1

PM1 n

Port P1 n

0

0

Output

0

1

Input

= 7, 6, 5, or 4
83-004537B

Figure 29.

Port Mode Control Register 0 (PMCO)
7

4

49-001378B

26

NEe

pPD70320/322 (V25)

Port Mode Control Register 1 (PMC1)

Figure 30.

5

7

I

PMC 17

I

PMC 1S

I

o

4

PMC 1S

I

PMC 14

I

PMC13

I

PMC12

I

PMC 11

I

PMC 10

-

I
Port/Control Bit Selection
X

NMIIP10 Input

X

INTPO/P11 Input

X

INTP1/P12 Input

0

INTP2/P13 Input

1

INTAK Output

0

P14 1/0 or POLL Input

1

INT Input

0

P1S"0

1

TOUT Output

0

P1S"0

1

SCKO Output

0

P17110

1

READY Input
49-0013796

Figure 31.

Port Mode Control Register 2 (PMC2)

7

PMC2

I

PMC27

4

6

I

PMC 26

I

PMC2s

I

PMC24

PMC23

o

2

3

I

I

PMC 22

I

PMC 21

I

PMC 20

Port/Control Bit Selection

0

110 Port

1

DMARQO Input

0

110 Port

1

DMAAKO Output

0

110 Port

1

TCOOutput

0

110 Port

1

DMARQ1 Input

0

110 Port

1

DMAAK1 Output

0

110 Port

1

TC10utput

0

110 Port

1

HLDAK Input

0

110 Port

1

HLDRQ Output
49-0013806

27

NEe

pPD70320/322 (V25)
Figure 33.

The analog comparator port (PT) compares each input
line to a reference voltage. The reference voltage is
programmable to be the VTH input x n/16, where n = 1
to 16. See figure 32.

Programmable' Walt State Generation
FFFFFH

256K

Programmable Wait State Generation

COOOOH

You can generate wait states internally to further
reduce the necessity for external hardware. Insertion
of these wait states allows direct interface to devices
whose access times cannot meet the CPU read/write
timing requirements.

.,

L.o

L"

~

40000H
128K

20000H

When using this function, the entire 1M-byte memory
address space is divided into 128K-blocks. Each block
can be programmed for zero, one, ortwo wait states, or
two plus those added by the extenal READY signal.
The top two blocks are programmed together as one
unit.

128K

OH

49-001351A

The appropriate bits in the wait control word (WTC)
control wait state generation. Programming the upper
two bits in the wait control word will set the wait state
conditions for the entire I/O address space. Figure 33
shows the memory map for programmable wait state
generation; see figure 34 for a graphic representation
of the wait control word.
Figure 32.

Port Mode Register T (PMT)

7

I

0

o

3

I

0

I

0

I

0

I

PMT3

I

I

PMT2

I

PMT1

I

PMTo

PMT

J
Comparator Port Threshold Selection

x 16/16
x 1/16
VTH x 2/16

0

0

0

0

VTH

0

0

0

1

VTH

0

0

1

0

0

0

1

1

VTH

0

1

0

0

VTH

0

1

0

1

0

1

1

0

0

1

1

1

1

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

x 3/16
x 4/16
VTH x 5/16
VTH x 6/16
VTH x 7/16
VTH x 8/16
VTH x 9/16
VTH x 10/16
VTH x 11/16
VTH x 12/16
VTH x 13/16
VTH x 14/16
VTH x 15/16
49-001381 B

28

NEe

pPD70320/322 (V25)

Standby Modes

STOP Mode.

The two low-power standby modes are HALT and
STOP. Software causes the processor to enter either
mode.

The STOP mode allows the largest power reduction
while maintaining RAM. The oscillator is stopped,
halting all internal peripherals. Internal status is maintained. Only a reset or NMI can release this mode.

HALT Mode.

A standby flag in the SFR area is reset by rises in the
supply voltage. Its status is maintained during normal
operation and standby. The STBC register (figure 35)
is not initialized by RESET. Use the standby flag to
determine whether program execution is returning
from standby or from a cold start by setting this flag
before entering the STOP mode.

In the HALT mode, the processor is inactive and the
chip consumes much less power than when operational. The external oscillator remains functional and
all peripherals are active. Internal status and output
port line conditions are maintained. Any unmasked
interrupt can release this mode. In the EI state, interrupts subsequently will be processed in vector mode.
In the 01 state, program execution is restarted with the
instruction following the HALT instruction.
Figure 34.

Walt Control Word
Wait Control High

o

7

Wait Control Low
7

I

4

BLK31

I

BLK30

I

BLK21

I

BLK20

I

BLK11

I

BLK10

I

BLK01

I

o
BLKOO

l

BLKn1

BLKnO

0

0

Mode
No Waits

0

1

1 Wait

1

0

2 Wait

1

1

2 Waits

+ Ext. Ready
49-0013948

Figure 35.
7

Standby Register
5

4

o

o

o
o

o

SBF

I

L

STBC

Standby Flag

I
oI

1

No changes in supply voltage (standby)
Rising edge on supply voltage (cold start)
49-0013968

29

NEe

pPD70320/322 (V25)
Special Function Registers
Table 6 shows the special function register mnemonic,
type, address, reset value, and function. The 8 highorder bits of each address (xx) are specified by the I DB
register.

Reset
Value
(Note 2)

Name

By tel
Word Address

RXBO

B

xxF60H

R

Receive buffer 0

TXBO

B

xxF62H

W

Transfer buffer 0

R/W
(Note 1)

Function

SFR area addresses not listed in table 6 are reserved. If
read, the contents of these addresses are undefined,
and any write operation will be meaningless.

SRMSO

B

xxF65H

R/W

Serial receive
macro service 0

STMS1

B

xxF66H

R/W

Serial transmit
macro service 1

Table 6.

SCMO

B

xxF68H

OOH

R/W

Serial communication
mode 0

SCCO

B

xxF69H

OOH

R/W

Serial communication
control 0

Port 0

BRGO

B

xxF6AH

OOH

R/W

Baud rate generator 0

SCEO

B

xxF6BH

OOH

R

Serial communication
error 0

SEICO

B

xxF6CH

47H

R/W

Serial error interrupt
control 0

SRICO

B

xxF6DH

47H

R/W

Serial receive interrupt
control 0

STICO

B

xxF6EH

47H

R/W

Serial transmit interrupt
control 0

Special Function Registers

Name

Bytel
Word

Address

PO

B

xxFOOH

Reset
Value
(Note 2)

R/W
(Note 1)

R/W

Function

PMO

B

xxF01H

FFH

W

Port mode 0

PMCO

B

xxF02H

OOH

W

Port mode control 0

P1

B

xxF08H

R/W

Port 1

PM1

B

xxF09H

FFH

W

Port mode 1

PMC1

B

xxFOAH

OOH

W

Port mode control 1

P2

B

xxF10H

R/W

Port 2

PM2
PMC2
PT

B
B

PMT

xxF11H

FFH

W

Port mode 2

xxF12H

OOH

W

Port mode control 2

xxF38H

R

PortT

xxF3BH

OOH

R/W

Port mode T

xxF40H

OOH

RXB1

B

xxF70H

R

Receive buffer 1

TXB1

B

xxF72H

W

Transmit buffer 1

SRMS1

B

xxF75H

R/W

Serial receive macro
service 1

R/W

Serial transmit macro
service 1

B
B

R/W

Interrupt mode

STMS1

B

xxF76H

EMSO

xxF44H

R/W

External interrupt
macro service 0

SCM1

B

xxF78H

OOH

R/W

EMS1

B

xxF45H

R/W

External interrupt
macro service 1

Serial communication
mode 1

SCC1

B

xxF79H

OOH

R/W

EMS2

xxF46H

R/W

External interrupt
macro service 2

Serial communication
control 1

BRG1

B

xxF7AH

OOH

R/W

EXICO

xxF4CH

47H

R/W

External interrupt
control 0

Baud rate generator
register 1

SCE1

B

xxF7BH

OOH

R

EXIC1

xxF4DH

47H

R/W

External interrupt
control 1

Serial communication
error 1

SEIC1

B

xxF7CH

47H

R/W

EXIC2

xxF4EH

47H

R/W

External interrupt
control 2

Serial error interrupt
control 1

SRIC1

B

xxF7DH

47H

R/W

Serial receive interrupt
control 1

STIC1

B

xxF7EH

47H

R/W

Serial transmit interrupt
control 1
Timer register 0

INTM

Notes:

(1) Indicates if register is available for read/write operations.
(2) Reset values not specified are undefined.

30

TMO

W

xxF80H

R/W

TMOL

B

xxF80H

R/W

Timer register 0 low

TMOH

B

xxF81H

R/W

Timer register 0 high

MDO

W

xxF82H

R/W

Modulo register 0

NEe
Table 6.

pPD70320/322 (V25)

Special Function Registers (cant)
Reset
Value
(Note 2)

Absolute Maximum Ratings
TA = 25°C

Name

Bytel
Word Address

MDOL

B

xxF82H

R/W

Modulo register 0 low

MDOH

B

xxF83H

R/W

Modulo register 0 high

TM1

W

xxF88H

R/W Timer register 1

R/W
(Note 1)

TM1L

B

xxF88H

R/W Timer register 1 low

TM1H

B

xxF89H

R/W Timer register 1 high

MD1

W

xxF8AH

R/W Modulo register 1

MD1L

B

xxF8AH

R/W Modulo register 1 low

MD1H

B

xxF8BH

TMCO

B

xxF90H

OOH

R/W Modulo register 1 high
R/W Timer control 0

TMC1

B

xxF91H

OOH

R/W Timer control 1

TMMSO

B

xxF94H

R/W Timer macro service 0

TMMS1

B

xxF95H

R/W Timer macro service 1

TMMS2

B

xxF96H

TMICO

B

xxF9CH

47H

R/W Timer interrupt control 0

TMIC1

B

xxF9DH

47H

R/W Timer interrupt control 1

R/W Timer macro service 2

Input voltage, VI

-0.5 to VDD + 0.5 V (::::: +7.0 V)

Output voltage, Vo

-0.5 to VDD + 0.5 V (::::: +7.0 V)

Threshold voltage, VTH

-0.5 to VDD + 0.5 V (::::: +7.0 V)

Output current, low; IOL
Each output pin
Total

4.0 rnA
50 rnA

Output current, high; IOH
Each output pin
Total

Comment: Exposure to Absolute Maximum Ratings for extended
periods may affect device reliability; exceeding the ratings could
cause permanent damage.

limits
Parameter

Symbol

Typ

Max

Unit

Test
Conditions

Supply current,
operating

IDD1

43
58

100
120

rnA
rnA

fCLK = 5 MHz
fCLK = 8 MHz

Supply current,
HALT mode

IDD2

17
21

40
50

rnA
rnA

fCLK = 5 MHz
fCLK = 8 MHz

Supply current,
STOP mode

IDD3

10

30

J1A

xxF9EH

B

xxFAOH

DMAMO

B

xxFA1H

DMAC1

B

xxFA2H

DMAM1

B

xxFA3H

OOH

R/W DMA mode 1

DICO

B

xxFACH

47H

R/W DMA interrupt control 0

DICI

B

xxFADH

47H

R/W DMA interrupt control 1

Threshold current ITH

R/W Standby control

Input voltage,
low

VIL

Input voltage,
high

VIH1

OOH

R/W DMA mode 0
R/W DMA control 1

STBC

B

xxFEOH

RFM

B

xxFE1H

OFCH

R/W Refresh mode

WTC

W

xxFE8H

FFH

R/W Wait control

WTCL

B

xxFE8H

FFH

R/W Wait control low

WTCH

B

xxFE9H

FFH

R/W Wait control high

FLAG

B

xxFEAH

OOH

R/W Flag register

PRC

B

xxFEBH

4EH

R/W Processor control

TBIC

B

xxFECH

47H

ISPR

B

xxFFCH

R

IDB

B

xxFFFH
FFFFFH

R/W Internal data area base

R/W Time base IRC register
In service priority register

ED

DC Characteristics
VDD = +5 V ±10%; TA = -10 to +70°C (Note 1)

B

R/W Timer interrupt control 2

-40 to +85°C
-65 to +150 °C

Storage temperature range, TSTG

DMACO

R/W DMA control 0

-2.0 rnA
-20 rnA

Operating temperature range, TOPT

TMIC2

47H

-0.5 to +7.0 V

Supply voltage, VDD
Function

Min

0.5

1.0

rnA

0

0.8

V

2.2

VOD

V

VTH = 0 to VDD

~utsexcept

RESET, P10INMI,
X1, X2
VIH2

0.8 x
VDD

VOD

V

RESET, P10INMI,
X1, X2

0.45

V

IOL = 1.6 rnA

V

IOH = -0.4 rnA

Output voltage,
low

VOL

Output voltage,
high

VOH

Input current

liN

±20

J1A

EA, P10/NMI;
VI = 0 to VDD

Input leakage
current

III

±10

J1A

All except EA,
P10/NMI;
VI = 0 to VDD

Output leakage
current

ILO

±10

J1A

Vo = 0 to VDD

Data retention
voltage

VDDDR

5.5

V

VDD
-1.0

2.5

Notes:
(1) The standard operating temperature range is -10 to +70°C.
However, extended temperature range parts (-40 to +85 0c) are
available.

31

NEe

pPD70320/322 (V25)
Supply Current vs Clock Frequency

AC Characteristics
Voo = +5 V ±10%; TA = -10 to +70°C; CL = 100 pF (max)

150

limits

TA = 25°C
Voo = 5 v

140 r - -

Typ. Sample

130

splc.Point

120
110

Spec.
Point

100
90

C( 80

E.
Q

.E

./
/"'"

50
40

/"'"

30

/"'"

~

V

Voo rise,
fall time

tRVO, tFVO

200

Input rise,
fall time

tlR, tlF

20

ns ~xcept X1, X2,
ESET, NMI

Input rise,
fall time

tIRS, tlFS

30

ns RESET, NMI
(Schmitt)

Output rise,
fall time

tOR, tOF

20

ns Except CLKOUT

X1 cycle time

tCYX

98

250

ns Note 3

62

250

o

o

X1 width, high

5

6

9

felK [MHz]
83-004331 A

Comparator Characteristics

= +5 V ±10%; TA = -10 to +70°C

limits
Symbol

Accuracy

VACOMP

Min

Threshold voltage VTH

0

Max

Unit

±100

mV

VOO
+0.1

V

Comparison time

tCOMP

64

65

tCYK

PT input voltage

VIPT

0

VOO

V

PTn leakage
current

ILC

±10

pA

Test
Conditions

Max

Unit

Input capacitance

Symbol
CI

Min

10

pF

Output capacitance

Co

20

pF

1/0 capacitance

CIO

20

pF

tXR, tXF

CLKOUT cycle
time

tCYK

/lS STOP mode

Test
Conditions
fc = 1 MHz;
Unmeasured pins
returned to 0 V

20

ns Note 4

35

ns Note 3
ns Note 4
20

ns

200

2000

ns Note 3

125

2000

ns Note 4

0.5T -15

ns Note 1

CLKOUT width, tWKH
high

0.5T -15

ns

CLKOUT rise,
fall time

tKR, tKF

Address delay
time

tOKA

15

Address hold
time

tHMA

0.5T - 30

MREQ to data
delay

tOMRO

MSTB to data
delay

tOMSO

MREQ width,
low

tWMRL

Input data hold tHMOR
time
Next control
setup time

tscc

15

ns

90

ns
ns

T(n + 1.5) ns Note 2
-90
T(n+ 1)
-75

0.5T
-35

0.5T
+35

ns

T(n + 1)
-30

ns

0

ns

T -25

ns

Notes:

(3) For 5 MHz parts (J.IPD70320/322).

(4)

ns

T(n +0.5) ns
-75

(1) T = CPU clock period (tCYK)'
(2) n = number of wait states inserted.

32

ns Note 4
ns Note 3

CLKOUT width, tWKL
low

MREQ to MSTB. tOMRMS
delay

= 0 v; TA = 25°C

Limits

X1 rise,
fall time

Unit

35

Address valid to tOAOR
input data valid

CapaCitance Characteristics

Parameter

tWXH

Max

20

4

Parameter

tWXL

.,/"

10

Voo

Min

X1 width, low

20

Voo

. Symbol

70
60

Test
Conditions

Parameter

For 8 MHz parts (J.IPD70320/322-8).

NEe

pPD70320/322 (V25)
AC Characteristics (cont)

AC Characteristics (cont)

Limits

Limits
Parameter

Symbol

MREQ to TC
delay time

tOMRTC

0.5T + 50 ns

Address data
output

tOAOW

0.5T + 50 ns

MREQ delay time

tOAMR

0.5T - 30 0.5T + 30 ns

Min

Max

Unit

MSTB delay time

tOAMS

T -30

MSTB width,
low

tWMSL

T(n + 0.5)
- 30

ns

Data output
setup time

tSOM

T(n + 1)
- 50

Data output
hold time

tHMOW

0.5T - 30

10STB delay time

tOAIS

10STB to data
input

tDiSO

10STB width,
low

tWISL

Address hold
time
Input data
hold time

tHISA
tHISOR

Output data
setup time

tSOIS

Output data
hold time

tHISOW

T +30

Test
Conditions

ns

30

ms STaPf
paR
(Poweron reset)

tWRSL2

5

/15

HLDRQ setup time

tSHQK

30

ns

HLDAK output delay

tOKHA

Bus control float to
HLDAK~

tCFHA

T -50

ns

HLDAK t to control output
time

tOHAC

T -50

ns

HLDRQ to HLDAK delay

tOHQHA

ns

ns

T(n + 1)
-50

ns

0.5T - 30

ns

tSOAOQ

DMARQ hold
time

tHOAOQ

DMAAK read
width, low

tWOMRL T(n + 1.5)
- 30

DMAAK write
width, low

tWOMWL

DMAAK to TC
delay time

tOOATC

TC width, low

tWTCL

2T - 30

ns

REFRQ delay
time

tOARF

0.5T - 30

ns

ns Demand mode
ns Demand mode
ns
ns

0.5T + 50 ns

Address hold
time

tHRFA

T(n + 1)
- 30

ns

0.5T - 30

ns

ns

3T + 160

tOHQC

3T +30

HLDRQ width, low

tWHQL

1.5T

ns

ns
ns
T

ns

HLDAK width, low

tWHAL
tSIQK

30

ns

INTP, DMARQ width, high

tWIQH

8T

ns

INTp, DMARQ width, low

tWIQL

8T

ns

POLL setup time

tSPLK

30

ns

NMI width, high

tWNIH

5

/15

NMI width, low

tWNIL

5

/15

CTS width, low

tWCTL

2T

ns

INTR setup time

tSIRK

30

INTAK delay time

tOKIA

INTR hold time

tHIAIQ

0

ns

INTAK width, low

tWIAL

2T -30

ns

tWIAH

T -30

INTAK width, high
INTAK to data hold
SCKO (TSCK) cycle time

ns
80

tDiAO

Em

ns

INTp, DMARQ setup

INTAK to data delay

tWRFL

ns n2::2

80

HLDRQ ~ to control float

System
reset

ns n2::2

T(n -1)

Next DMARQ
setup time

REFRQ width,
low

T(n -1)
-100

tHCRY

ns

T(n + 1)
- 30

tWRSL1

MREQ, 10STB to READY
hold time

0.5T - 30

0

RESET width low

ns

ns

T

Min

tSCRY

T(n + 1)
-30

0

Symbol

MREQ, 10STB to READY
setup time

0.5T - 30 0.5T + 30 ns
T(n + 1)
- 90

Max

Test
Unit Conditions

Parameter

ns

ns
2T -130

ns

0.5T

ns

tHIAO

0

ns

tCYTK

1000

SCKO (TSCK) width, high

tWSTH

450

ns

SCKO (TSCK) width, low

tWSTL

450

ns
210

ns

TxD delay time

tOTKO

TxD hold time

tHTKO

20

ns

CTSO (RSCK) cycle time

tCYRK

1000

ns

CTSO (RSCK) width, high

tWSRH

420

ns

CTSO (RSCK) width, low

tWSRL

420

ns

RxD setup time

tSROK

80

ns

RxD hold time

tHKRO

80

ns

33

NEe

pPD70320/322 (V25)
Figure 36.

External System Clock Control Source

r

External Oscillator Configuration

Recommended Crystal Configuration
10 pF

~ ~F pt.
-=-

Osc

X1

X1
74HC10

~7
-X2

...X_2_ _ _ _---'

resonant
crystal

Note:

When using a quartz crystal, it is recommended that 15 pF capacity be used.

83-0045748

Recommended Ceramic Resonator and Capacitance Requirements
Manufacturer

Product Number

Recommended
Cl(pF)

Constants
C2(pF)
33

Product Number

Recommended
Cl(pF)

Constants
C2(pF)

Kyocera

KBR-10.0M

33

Murata Manufacturing

CSA.10.0MT

47

47

CSA 16.0MX040

30

30

TDK

FCR10.0M2S

30

30

FCR16.0M2S

15

6

Timing Waveforms
AC Input Waveform 2 (RESET, NMI)

Stop Mode Data Retention Timing

- tlRS
~

VOO

0.8 V

tRVO
83-o04333A

AC Input Waveform 1 (Except X1, X2,
2.4V

0.4V

4

iiESEf, NMI)

It-tiFS
83-00430SA

AC Output Test Point (Except CLKOUT)

~

2.2 V

0.8 V

0.8 V

tlR
83-004305A

li=-tOF

tOR

83-004307A

Clock In and Clock Out

CLKIN1
[X1]

j4------ tC Y X - - - - . 1

CLKOUT

\

-

I--

-

tKR

-tKF

\ 2.2V
0.8 V

/
tWKH

tWKL
tCYK

.
83-004308A

34

NEe

pPD70320/322 (V25)

Timing Waveforms (coni)
Memory Read
~I--------B1--------rl--------B2------~

CLKOUT~~~~~~:K~~~~~~~~~~~~
tOKA-

)

r
-

.

tOAOR

tHMOR ..

I+--tOMRO-

R/W

K

/
tOAMR

J

tWMRL

I

"

tscc-

~

r\

tOMSO

I+---

-tOMRMS-

i

'\

t O A M S - I----tWMSL----...J

~

1\
-tOMRTC

\1+---.-

------+l(

--tWT-CL-

83-004309C

35

NEe

pPD10320/322 (V25)
Timing Waveforms (coni)·
Memory Write

1----81-----+1---- 82 - - - - I

C~OUT ~t----\~YK)__\~I

\------/

tOKA-

)k

r

I+-tOAOW ....

tHMA

....

'.

07- 0 0

l-.

R/W

K
I

tSOM

~IH.oWy

tWMRL

~tscc-

\
c+-toAMRl

"

1I

\

-tOMRMS-

tOAMS~

1\

V

l=-tWMSL_

i\
i\
I-- tOMRTC
TC1-TCO

\1+--.----~tW-TCL_-____+l(
83-004310C

36

NEe

pPD70320/322 (V25)

Timing Waveforms (cont)
110 Read

I
I

B1

CLKOUT

I

B2

J

ICYK

/
~

K

)
I--IOAOR_

rIHISA-

IDiSO

R/W

I.IHISOR.

/

l\I-- IOA,s-:-1

\

IWISL

ISCC-

It

l\-

I\.
83-004311C

37

NEe

pPD70320/322 (V25)
Timing Waveforms {cont}
110 Write

CLKOUT

81

I

tCYK

I

I

82

I

J
~

l(

).
tDADW

rtHISA--

tSDIS

R/W

.

\

tHISDW

V

r\
I-tDAIS--1

"

tWISL

.
~

I+---tscc_

\
r\
83-004312C

38

NEe

pPD70320/322 (V25)

Timing Waveforms (coni)
DMA, 110 to Memory
1r-----B1----+I----B2------i

t=1+----tCYK---J~
CLKOUT

~~~\'-------J ----"\\'-------J!~\'--------J!~~\
tOKA_

J

'K

\

V

07-00

Riw

tWMRL

I--tOAMR-+

I--tHMA--

i\

~

I
tscc-

-tOMRMS-

V

1\
t O A M S - / . - tWMSL-+

1\
_tSOAOQ_

DMARQODMARQ1

~
I--tHOAOQ ......

if

\
tWOMRL

1\
-tODATC- I

tWTCL

II
83-004313C

39

NEe

pPD70320/322 (V25)
Timing Waveforms (coni)
DMA, Memory to 110
~-------B1------~--------B2--------

1 + - - - - - - - teYK - - - - + I

CLKOUT

I+--tOKA_

~

R/W

K

/

"

I--tHMA_

tWMRL

I-tOAMR-

II

\

'\
tOAMS

,

1\
tsee

l"
"

!--tWMSL---=:.j

I--tSOAOO __

DMAROO
DMAR01-

~
I+-tHOAOO~

"
tWOMWL--=1

N:
I+- tOOATC-.

I

tWTCL

J
83-004314C

40

NEe

pPD70320/322 (V25)

Timing Waveforms (coni)
Refresh
1---'----81----+-----82------1
1+----teYK-----'--~

CLKOUT
I--tOKA ....

A19-AO

)~

K

R/W

)'1

1\

ED

~

"

1"----I-tOARF1

tWRFL

\

-tHRFA_

~
tsee
)
~

83-00431SC

CLKOUT------------------------------------~~--J

RESET

~

tWRSL1

Y

R

83-0043168

41

NEe

pPD70320/322 (V25)
Timing Waveforms (cont)
RESET 2
CLKOUT

__
RESET·

~tWRSU~r-----_

~

~
83-0043176

READY 1
~----B1-----+-----BAW-----+-----BAW-----r-----B2_____1

/

~CRY~

\ - tHCRY----j

READY ____________________

I

~~

~~_________________________________________
83-0043186

READY 2
~----B1----_+-----BAW----+-----BAW----~-----BW----~-----B2_____1

-

n=2

n=3

:---tHCRY'
L

tSCRY'
n=2
READY

\

In=3

,V I

• tSCRY [READY setup time) and tHCRY [READY hold time) are a function of
T and n. Timings shown are examples for n = 2 and n = 3.
83-0043196

42

NEe

pPD70320/322 (V25)

Timing Waveforms (cont)
HLDRQ/HLDAK 1

Bus control'

~----tDHQHA-----~

'A19-AO, 07"00, MREO, MSTB, IOSTB, R/W
J..--------twHAL-------+J
~
L-_____________________________________________________~83~-0~04=32~08 ~

HLDRQ/HLDAK 2
CLKOUT

HLORO
~-----tWHQL----~

Bus control' --~----------."I----+----------------_lC

IDKH~----~U}---:~~~~~~~~----~-----tD-H-Q-C----------_-~_-_-_-_-_-_~_ _ _ _ _ ___

83-0043218

INTp, DMARQ Input
CLKOUT

INTp,
OMARO'

J..------------tWIQH---------~ ~ -~- - - - - - - - - - - - -~t~W~IQ-L- - - - - - - - - - - - - ~

'INTP2-INTPO, OMARQ1-0MARQO
83-0043228

pPD70320/322 (V25)

NEe

Timing Waveforms (cont)
POLL Input

CLKOUT
_

l.--tSPLK _ _

POLL~

_ _ _--JI
83-0043236

NMllnput

CLKOUT
NM, --1t+-:---tWN'H--~ht+--.======-tWN-IL====--=--:r

83-0043246

CTS Input

CLKOUT

1~-.~tW-CTL-==r

83-0043256

44

NEe

pPD70320/322 (V25)

Timing Waveforms (coni)
INTRIINTAK

eLKOUT

r~---+--~

INTR
IOKIA

IHIAIQ

D7-DO------------~i~------------~~------------------------{1

83-004326B

Serial Transmit

CLKOUT

ICYTK

\

j
IWSTL

~

TxD

_I
I

\
IWSTH

IHTKO

C

IOTKO
83-004441B

45

ttiEC

pPD70320/322 (V25)
Timing Waveforms (cont)
Serial Receive

CLKOUT

tCYRK

\
tWSRL

RxD

\

,j
tWSRH

~

K
I--tSRDK-

tHKRD
83-0043329

46

NEe

pPD70320/322 (V25)

Instruction Set

Identifier

Instructions, grouped according to function, are
described in a table near the end of this data sheet.
Descriptions include source code, operation, opcode,
number of bytes, and flag status. Supplementary
information applicable to the instruction set is contained in the following tables.

dst-block

Name of block addressed by the IV register

near-proc

Procedure within the current program segment

far-proc

Procedure located in another program segment

• Symbols and Abbreviations
• Flag Symbols
• 8- and 16-Bit Registers. When mod = 11, the register
is specified in the operation code by the byte/word
operand (W = 0/1) and reg (000 to 111).
• Segment Registers. The segment register is specified in the operation code by sreg (00, 01, 10, or 11).
• Memory Addressing. The memory addressing mode
is specified in the operation code by mod (00, 01, or
10) and mem (000 through 111).
• Instruction Clock Count. This table gives formulas
for calculating the number of clock cycles occupied
by each type of instruction. The formulas, which
depend on byte/word operand and RAM enable/disable, have variables such as EA (effective address),
W (wait states), and n (iterations or stringinstructions).
Symbols and Abbreviations
Identifier

Description

reg

8- or 16-bit general-purpose register

reg8

8-bit general-purpose register

reg16

16-bit general-purpose register

dmem

8- or 16-bit direct memory location

mem

8- or 16-bit memory location

mem8

8-bit memory location

mem16

16-bit memory location

mem32
sfr

32-bit memory location
8-bit special function register location

imm

Constant (0 to FFFFH)

imm16

Constant (0 to FFFFH)

imm8

Constant (0 to FFH)

imm4

Constant (0 to FH)

imm3

Constant (0 to 7)

acc

AW or AL register

sreg

Segment register

src-table

Name of 256-byte translation table

src-block

Name of block addressed by the IX register

Description

near-label

Label in the current program segment

short-label

Label between -128 and +127 bytes from the end
of instruction

far-label

Label in another program segment

memptr16

Word containing the offset of the memory location
within the current program segment to which control
is to be transferred

memptr32

Double word containing the offset and segment base
address of the memory location to which control is to
be transferred

regptr16

16-bit register containing the offset of the memory
location within the program segment to which control
is to be transferred

pop-value

Number of bytes of the stack to be discarded (0 to
64K bytes, usually even addresses)

fp-op

Immediate data to identify the instruction code of the
external floating point operation

R

Register set

W

Word/byte field (0 to 1)

reg

Register field (000 to 111)

mem

Memory field (000 to 111)

mod

Mode field (00 to 10)

S:W

When S:W = 01 or 11, data = 16 bits. At all
other times, data = 8 bits.

X, XXX, VVV, ZZZData to identify the instruction code of the
external floating pOint arithmetic chip
AW

Accumulator (16 bits)

AH

Accumulator (high byte)

AL

Accumulator (low byte)

BP

Base pointer register (16 bits)

BW

BW register (16 bits)

BH

BW register (high byte)

BL

BW register (low byte)

CW

CW register (16 bits)

CH

CW register (high byte)

CL

CW register (low byte)

OW

OW register (16 bits)

DH

OW register (high byte)

~

DL

OW register (low byte)

SP

Stack pointer (16 bits)

PC

Program counter (16 bits)

PSW

Program status word (16 bits)

47

NEe

pPD70320/322 (V25)
Symbols and Abbreviations (cont)

Flag Symbols

Identifier

Description

Identifier

Description

IX

Index register (source) (16 bits)

(blank)

No change

IV

Index register (destination) (16 bits)

o

PS

Program segment register (16 bits)

SS

Stack segment register (16 bits)

DSo

Data segment 0 register (16 bits)

DS1

Data segment 1 register (16 bits)

AC

Auxiliary carry flag

CV

Carry flag

P

Parity flag

S

Sign flag

Z

Zero flag

DIR

Direction flag

IE

Interrupt enable flag

V

Overflow flag

BRK

Break flag

MD

Mode flag

(... )

Values in parentheses are memory contents

Cleared to 0
Set to 1

X

Set or cleared according to the result

U

Undefined

R

Value saved earlier is restored

8- and 16-81t Registers (mod = 11)
reg

w=o

W=1

000

AL

AW

001

CL

CW

010

DL

OW

011

BL

BW

100

AH

SP

101

CH

BP

110

DH

IX

111

BH

IV

disp

Displacement (8 or 16 bits)

ext-disp8

16-bit displacement (sign-extension byte
+ 8-bit displacement)

Segment Registers

temp

Temporary register (8/16/32 bits)

sreg

tmpcy

Temporary carry flag (1-bit)

00

Immediate segment data (16 bits)

01

PS

Immediate offset data (16 bits)

10

SS

Transfer direction

11

DSo

seg
offset

+

Register
DS1

Addition
Subtraction

Memory Addressing

Multiplication

mem

mod = 00

mod = 01

mod = 10

Division'

000

BW+IX

BW + IX + disp8

BW + IX + disp16

%

Modulo

001

BW+IV

BW + IV + disp8

BW + IV + disp16

AND

Logical product

010

BP+ IX

BP + IX + disp8

BP + IX + disp16

OR

Logical sum

011

BP+ IV

BP + IV + disp8

BP + IV + disp16

XOR

Exclusive logical sum

100

IX

IX + disp8

IX + disp16

XXH

Two-digit hexadecimal value

101

IV

IV + disp8

IV + disp16

XXXXH

Four-digit hexadecimal value

110

Direct

BP + disp8

BP + disp16

111

BW

BW + disp8

BW + disp16

x

48

NEe

pPD70320/322 (V25)

Instruction Clock Count
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

ADD

regS, regS
reg16, reg16

2
2

BRK

3
immS

55+10W [43+10W]
56+10W [44+10W]

regS, memS
reg16, mem16

EA+6+W
EA+S+2W

memS, regS
mem16, reg16

EA+S+2W [EA+6+W]
EA+12+4W [EA+S+2W]

regS, immS
reg16, immS
reg16, imm16

5
5
6

memS, immS
mem16, immS
mem16, imm16

EA+9+2W [EA+7+2W]
EA+9+2W [EA+7+2W]
EA+14+4W [EA+ 10+4W]

AL, immS
AW, imm16

5
6

ADD4S
ADDC

BTCLR

29

BUSLOCK

2

CALL

ADJ4S

9

ADJBA

17

near-proc
regptr16

22+2W [1S+2W]
22+2W [1S+2W]

memptr16
far-proc
memptr32

EA+26+4W [EA+24+4W]
36+4W [34+4W]
EA+36+8W [EA+24+SW]

CY
DIR

2
2

regS, CL
reg16, CL

S
S

memS, CL
mem16, CL

EA+14+2W [EA+12+W]
EA+1S+4W [EA+14+2W]
7
7

CHKIND
CLR1

Same as ADD
9

EA+26+4W

17

regS, imm3
reg16, imm4

regS, regS
reg16, reg16

2
2

memS, imm3
mem16, imm4

EA+11+2W [EA+9+W]
EA+15+4W [EA+10+2W]

regS, memS
reg16, mem16

EA+6+W
EA+S+2W

regS, regS
reg16, reg16

2
2

memS, regS
mem16, reg16

EA+S+2W [EA+6+W]
EA+12+4W [EA+S+2W]

regS, memS
reg16, mem16

EA+6+W
EA+S+2W

regS, immS
reg16, imm16

5
6

memB, regB
mem16, reg16

EA+6+W
EA+B+2W

memS, immS
mem16, imm16

EA+9+2W [EA+7+2W]
EA+14+4W [EA+10+4W]

regS, immS
reg16, immS
reg16, imm16

5
5
6

memS, immS
mem16, immB
mem16, imm16

EA+7+W
EA+10+2W
EA+10+2W

AL, immS
AW, imm16

5
6

ADJBS

Bcond (conditional branch)

S or 15

BCWZ

Sor 15

BR

15
55+10W [43+10W]

22+(27+3W)n [22+(25+3W)n]

ADJ4A

AND

BRKCS
BRKV

near-label
short-label

12
12

regptr16
memptr16

13
EA+17+2W

far-label
memptr32

15
EA+25+4W

CMP

CMP4S
CMPBK

II

22+(23+2W)n
memS, memS
mem16, mem16

23+2W [19+2W]
27+4W [21+2W]

Notes:

(1 ) If the number of clocks is not the same for RAM enabled and
RAM disabled conditions, the RAM enabled value is listed first,
followed by the RAM disabled value in brackets; for example,
EA+8+2W [EA+6+W).
(2) Symbols in the Clocks column are defined as follows.
EA= additional clock cycles required for calculation of the
effective address
= 3 (mod 00 or 01) or 4 (mod 10)
W = number of wait states selected by the WTC register
n = number of iterations or string instructions

49

NEe

pPD70320/322 {V25}
Instruction Clock Count (cant)
Mnemonic

Operand

CMPBKB
CMPBKW
CMPM

Clocks

Mnemonic

Operand

Clocks

16+(21+2W)n

INM

memS, DW
mem16, DW

19+2W [17+2W]
21+4W [17+4W]

memS, DW
mem16, DW

1S+(13+2W)n [1S+(11+2W)n]
1S+(15+4W)n [1S+(11 +4W)n]

regS, regS
regS, imm4

63-155
64-156

memS

12+W

16+(25+4W)n
memS
mem16

17+W
19+2W

CMPMB

16+(15+W)n

CMPMW

164-(17+2W)n

CVTBD

19

CVTBW

3

CVTDB

20

CVTWL

8

DBNZ

S or 17

DBNZE

S or 17

DBNZNE
DEC

5
2

memS
mem16

EA+11+2W [EA+9+2W]
EA+15+4W [EA+11+4W]
4

DISPOSE

12+2W

DIVU

AW, regS
AW,memS

46-56
EA+4S+W to EA+5S+W

DW:AW, reg16
DW:AW, mem16

54-64
EA+5S+2W to EA+6S+2W

AW, regS
AW,memS

31
EA+33+W

DW:AW, reg16
DW:AW, mem16

39
EA+43+2W

DSO:

2

DS1:

2

EI
EXT

41-121
42-122
2

FP01

60+10W [4S+10W]

FP02

60+10W [4S+10W]

HALT

0

INC

50

LDM

AL, immS
AW, immS

14+W
16+2W

AL, DW
AW,DW

13+W
15+2W

regS
reg16

5
2

memS
mem16

EA+11+2W [EA+9+2W]
EA+15+4W [EA+11+4W]

EA+2
mem16

16+(12+2W)n

LDMB

mem16

14+2W

LDMW

mem8

16+(10+W)n

MOV

regS, regS
reg16, reg16

2
2

regS, memS
reg16, mem16

EA+6+W
EA+S+2W

mem8, reg8
mem16, reg16

EA+4+W [EA+2]
EA+6+2W [EA+2]

regS, immS
reg16, imm16

5
6

memS, immS
mem16, imm16

EA+5+W
EA+5+2W

AL, dmemS
AW, dmem16

9+W
11+2W

dmemS, AL
dmem16, AW

7+W [5]
9+2W [5]

sreg, reg16
sreg, mem16

4
EA+10+2W

reg16, sreg
mem16, sreg

3
EA+7+2W [EA+3]

AH, PSW
PSW, AH

2
3

DSO, reg16, memptr32
DS1, reg16, memptr32

EA+19+4W
EA+19+4W

memS, memS
mem16, mem16

20+2W [16+W]
16+(20+4W)n [16+(12+2W)n]

12
regS, regS
regS, imm4

FINT

IN

LDEA

S or 17
regS
reg16

DI
DlV

INS

MOVBK
MOVBKB

memS, memS

16+(16+2W)n [16+(12+W)n]

MOVBKW

mem16, mem16

24+4W [20+2W]

MOVSPA

16

MOVSPB
MUL

11
AW, AL, regS
AW, AL, memS

31-40
EA+33+W to EA+42+W

DW:AW, AW, reg16
DW:AW, AW, mem16

39-4S
EA+43+2W to EA+52+2W

reg16, reg16, immS
reg16, mem16, immS

39-49
EA+43+2W to EA+53+2W

reg16, reg16, imm16
reg16, mem16, imm16

40-50
EA+44+2W to EA+54+2W

NEe

pPD70320/322 (V25)

Instruction Clock Count (cont)
Mnemonic
MULU

NEG

Operand
regB
memB

24
EA+26+W

reg16
mem16

32
EA+34+2W

NOT1

OR

OUT

OUTM

Operand

Clocks

PREPARE

imm16, immB

immB = 0: 27+2W
immB= 1: 39+4W
immB= n > 1: 46+19 (n-1)+4W

PS:

2
10+2W [6]
EA+18+4W [EA+14+4W]

DS1
PS

11+2W [7]
11+2W [7]

4

SS
DSO

11+2W [7]
11+2W [7]

regB
reg16

5
5

PSW
R

10+2W [6]
B2+16W [50]

memB
mem16

EA+11+2W [EA+9+W]
EA+15+4W [EA+11+2W]

immB
imm16

13+2W [9]
14+2W [10]

regB
reg16

5
5

memB
mem16

EA+11+2W [EA+9+W]
EA+15+4W [EA+11+2W]

PUSH

CY

2

REP

2

regB, CL
reg16, CL

7
7

REPE

2

REPZ

2

REPC

2

memB, CL
mem16, CL

EA+13+2W [EA+11+W]
EA+17+4W [EA+13+2W]

regB, imm3
reg16, imm4

6
6

REPNC

2

REPNE

2

memB, imm3
mem16, imm4

EA+10+2W [EA+B+W]
EA+14+4W [EA+10+2W]

REPNZ

regB, regB
reg16, reg16

2
2

regB, memB
reg16, mem16

EA+6+W
EA+B+2W

memB, regB
mem16, reg16

EA+B+2W [EA+6+W]
EA+12+4W [EA+B+2W]

regB, immB
reg16, imm16

5
6

memB, immB
mem16, imm16

RET

ED

2
null
pop-value

20+2W
20+2W

null
pop-value

29+4W
30+4W

RETI

43+6W [35+2W]

RETRBI

12
regB,1
reg16, 1

B
B

EA+9+2W [EA+7+2W]
EA+14+4W [EA+10+4W]

memB,1
mem16,1

EA+14+2W [EA+12+W]
EA+1B+4W [EA+14+2W]

AL, immS
AW, imm16

5
6

regB, CL
reg16, CL

11+2n
11+2n

immB, AL
immB, AW

10+W
10+2W

memB, CL
mem16, CL

EA+17+2W+2n [EA+15+W+2n]
EA+21+4W+2n [EA+ 17+2W+2n]

DW,AL
DW,AW

9+W
9+2W

regB, immB
reg16, immB

9+2n
9+2n

DW,memB
DW, mem16

19+2W [17+2W]
21+4W [17+4W]

memB, immB
mem16, immB

EA+13+2W+2n [EA+11+W+2n]
EA+17+4W+2n [EA+ 13+2W+2n]

DW,memB
DW, mem16

1B+(13+2W)n [1B+(11+2W)n]
1B+(15+4W)n [1B+11+4W)n]

regB
memB

17
EA+1B+2W [EA+16+2W]

ROL

ROL4

0

ROLC

reg16
mem16

12+2W
EA+16+4W [EA+12+2W]

ROR

DS1
SS

13+2W
13+2W

DSO
PSW

13+2W
14+2W

R

B2+16W [5B]

POLL
POP

Mnemonic

reg16
mem16

NOP
NOT

Clocks

ROR4

Same as ROL
Same as ROL
regB
memB

RORe
SET1

21
EA+24+2W [EA+22+2W]
Same as ROL

CY
DIR

2
2

51

NEe

pPD70320/322 (V25)
Instruction Clock Count (cant)
Mnemonic

Operand

SET1 (cont) reg8, CL
reg16, CL

Clocks

Mnemonic

Operand

Clocks

7
7

XCH

reg8, reg8
reg16, reg16

3
3

mem8, CL
mem16, CL

EA+13+2W [EA+11+W]
EA+17+4W [EA+13+2W]

reg8, mem8
reg16, mem16

EA+10+2W [EA+8+2W]
EA+14+4W [EA+10+4W]

reg8, imm3
reg16, imm4

6
6

mem8, reg8
mem16, reg16

EA+10+2W [EA+8+2W]
EA+14+4W [EA+10+4W]

mem8, imm3
mem16, imm4

EA+10+2W [EA+8+W]
EA+14+4W [EA+10+2W]

AW,reg16
reg16, AW

4
4

SHL

Same as ROL

SHR

Same as ROL

SHRA

Same as ROL
2

SS:
STM

mem8
mem16

12+2 [10]
16+(10+2Wln [16+(6+2Wln]

STMB

mem8

16+(8+Wln [16+(6+W)n]

STMW

mem16

Same as ADD

SUB
SUB4S

22+(27+3Wln [22+(25+3Wln]

SUBC
TEST

TEST1

14+2W [10]
0

STOP

Same as ADD
reg8, reg8
reg16, reg16

4
4

reg8, mem8
reg16, mem16

EA+8+W
EA+10+2W

mem8, reg8
mem16, reg16

EA+8+W
EA+10+2W

reg8, imm8
reg16, imm16

7

mem8, imm8
mem16, imm16

EA+11+W
EA+11+2W

AL, imm8
AW, imm16

5
6

reg8, CL
reg16, CL

7
7

mem8, CL
mem16, CL

EA+11+W
EA+13+2W

reg8, imm3
reg16, imm4

6
6

mem8, imm3
mem16, imm4

EA+8+W
EA+10+2W

8

TRANS

10+W

TRANSB

10+W

TSKSW

11

52

XOR

Same as AND

NEe

pPD70320/322 (V25)

Execution Clock Counts for Operations
Byte
RAM Enable

Word
RAM Disable

Context switch interrupt (Note 1)
DMA (Single-step mode) (Note 2)

20+2W

DMA (Demand release mode)

20+2W

RAM Enable

RAM Disable

27

27

24+4W

24+4W

15+W

15+W

17+2W

17+2W

DMA (Burst mode)

(12 + 2W)n

(12 + 2W)n

(12 + 4W)n

(12 + 4W)n

DMA (Single-transfer mode)

33+W+N

33+W+N

35 + 2W + N

35 + 2W + N

62+6W

62+6W

Interrupt (lNT pin)
Macro service, sfr - mem (Note 2)

24+W

19+W

26+2W

21 +2W

Macro service, mem - sfr

22+W

20+W

22+2W

22+2W

58 + 10W

58 + 10W

Macro service (Search char mode), sfr - mem

27+W

27+W

Macro service (Search char mode), mem - sfr

37+W

34+W

Priority vectored interrupt, including NMI (Note 1)
N = number of clocks to complete the instruction currently executing.
Notes:

(1) Every interrupt (except NMI) has an additional associated
latency time of 27 + N clocks. During the 27 clocks, the interrupt
controller performs some overhead tasks such as arbitrating
priority. This time should be added to the above listed interrupt
and macro service execution times. NMllatency time is 18 + N
clocks.

(2) The DMA and macro service clock counts listed are the required
number of CPU clocks for each transfer.
(3) When an external interrupt is asserted, a maximum of 6 clocks is
required for internal synchronization before the interrupt request
flag is set. For an internal interrupt, a maximum of 2 clocks
is required.

Bus Controller Latency
Mode
HLDRQ latency
DMA request latency (Note 1)

Clocks
7+2W

Burst

29+ N

Single step

29+ N

Demand release

29+ N

Single transfer

31 + N

Notes:

(1) The listed DMA latency times are the maximum number of clocks
when a DMA request is asserted until DMAAK or MREQ goes low
in the corresponding DMA cycles. The test conditions are no
wait states, no interrupts, no macro service requests, and no hold
requests.

53

~

IiiiI

0'1

.J:>.

Instruction Set

1::
Operation Code

Mnemonic

Operand

7 6 5 4 3 2

Operation

6 5 4 3 2 1 0

0

No. of
Bytes AC

Flags
CY V P S

z

Data Transfer
MOV

reg, reg

reg -

mem, reg

(mem) -

o1
o0

000

reg

000

reg

reg, mem

reg -

mem, imm

(mem)-imm

reg, imm

reg -

acc, dmem

When W = 0 AL When W = 1 AH -

000 1 0

(mem)

000

imm
(dmem)
(dmem + 1), AL -

0

1 W

0

o

0

000

W

reg

reg

2

W mod

reg

mem

2-4

W mod

reg

mem

2-4

mem

3-6

W mod 000

N

0

"W
N
N

0 0 0 W

.......

3

<
N

(dmem)

dmem, acc

When W = 0 (dmem) - AL
When W = 1 (dmem + 1) - AH, (dmem) -

sreg, reg16

sreg -

reg16 sreg : SS, OSO, OS1

sreg, mem16

sreg -

(mem16) sreg : SS, OSO, OS1

reg16, sreg

reg16 -

mem16, sreg

(mem16) -

OSO, reg16,
mem32
OS1, reg16,
mem32

W

3

(II

......

AL
0 1 1 0

000

sreg

reg

000

1 0 mod

0

sreg

mem

2-4

000

0 1 1 0

sreg

reg

2

000 1

o
o

0 mod 0

sreg

mem

2-4

reg16 - (mem32)
OSO - (mem32 + 2)

000

0

mod

reg

mem

2-4

reg16 - (mem32)
OS1 - (mem32 + 2)

000

o

0 mod

reg

mem

2-4

reg

mem

2-4

sreg
sreg

o
o

0 1

1

0 1

1 0

AH, PSW

AH -

PSW, AH

S, Z, x, AC, x, P, x, CY -

LOEA

reg16, mem16

reg16

TRANS

src-table

AL-(BW+AL)

XCH

reg, reg

reg-reg

000 0

W1

1

reg

reg

mem, reg
or reg, mem

(mem)-reg

000 0

W mod

reg

mem

AW, reg16
or reg16, AW

AW-reg16

o

S, Z, x, AC, x, P, x, CY

-+-

0
W

2-3

reg

AH

000 1

mem16

0

0

x

x x x

1

0

0

x
mod

0

"D.....

2
2-4

reg

Repeat Prefixes
REPC

While CW op 0, the next byte of the primitive block
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt,
it is processed. When CY op 1, exit the loop.

o

1 1

o

0 1

o

1

REPNC

While CW op 0, the next byte of the primitive block
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt,
it is processed. When CY op 0, exit the loop.

o

1 1

o

0 1

o

0

~
~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

7 6 5 4 3 2

Operation

07654321 0

No. of
Bytes AC

Flags
CY V P S Z

Repeat Prefixes (cont)
REP
REPE
REPZ

While CW =F 0, the next byte of the primitive block
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt, it is
processed. If the primitive block transfer instruction
is CMPBK or CMPM and Z =F 1, exit the loop.

o

0

REPNE
REPNZ

While CW =F 0, the next byte of the primitive block
1 1 1 1
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt, it is
processed. If the primitive block transfer instruction
is CMPBK or CMPM and Z =F 0, exit the loop.

o

0 1 0

~

~

Primitive Block Transfer
MOVBK

dst-block,
src-block

When W = 0 (IV) - (IX)
DIR = 0: IX - IX + 1, IV - IV + 1
DIR = 1: IX -IX -1, IV -IV-1
When W = 1 (IV + 1, IV) - (IX + 1, IX)
DIR = 0: IX - IX + 2, IV - IV + 2
DIR = 1: IX -IX - 2, IV - IV - 2

1

1

o

0 1 0 W

CMPBK

src-block,
dst-block

When W = 0 (IX) - (IV)
DIR = 0: IX -IX + 1, IV -IV + 1
DIR = 1: IX - IX - 1, IV - IV - 1
When W = 1 (IX + 1, IX) - (IV + 1, IV)
DIR = 0: IX - IX + 2, IV - IV + 2
DIR = 1: IX - IX - 2, IV - IV - 2

1 0 1

o

0 1 1 W

x

x

x x x x

CMPM

dst-block

When W = 0 AL - (IV)
DIR = 0: IV - IV + 1; DlR = 1: IV When W = 1 AW - (IV + 1, IV)
DIR = 0: IV - IV + 2; DIR = 1: IV -

o

o

1 1 1 W

x

x

x x x x

1

o

1

IV -1
IV - 2

LDM

src-block

W~en

W = 0 AL - (IX)
DIR = 0: IX -IX + 1; DlR = 1: IX -IX-1
WhenW=1 AW-(IX+1,IX)
DIR = 0: IX - IX + 2; DlR = 1: IX - IX - 2

1 0 1 0 1 1 0 W

STM

dst-block

When W = 0 (IV) - AL
DIR = 0: IV - IV + 1; DIR = 1: IV -

1

When W

=

1 (IY

+ 1, IY)

-

o

1 0 1

o

1:::

"D......
0

1 W

W

IV -1

~

AW

0

DIR = 0: IV -IV + 2; DlR = 1: IV -IV - 2

"W

Bit Field Transfer
INS

reg8, reg8

16-Bit field -

AW

o

0 0 0 1 1 1 1
reg
reg
1 1

o

0

reg8, imm4

16-Bit field -

AW

o

o

0

0 0 0 1 1 1 1
reg
1 1 000

o

0

3

0

4

~
~

........

<
~

CIt
........

OJ
OJ

II

01
0')

'l:::

Instruction Set (cont)
Operation Code

Mnemonic

Operation

7 654 3 2

regS, regS

AW -16-Bit field

o

regS, imm4

AW -

o

acc, immS

When W = 0 AL When W = 1 AH -

(immS)
(immS + 1), AL -

acc, OW

When W = 0 AL When W = 1 AH -

(OW)
(OW +1), AL -

Operand

0

0

65432

No. of
Bytes AC

11

Flags

CY V P S Z

Bit Field Transfer (cont)
EXT

0 0 0
reg
1 1

0

W

3

0

reg

~.

0 0 0 1 1 1 1
1 1 000
reg

16-Bit field

o

0

o

0

1

,W
0

4

I/O
IN

OUT

-

immS, acc
OW, acc

o

o

W

o

W

N
N

2

(immS)

-""""'"
0

<
N

(OW)

When W= 0 (immS) - AL
When W = 1 (immS + 1) - AH, (immS) When W = 0 (OW) - AL
When W = 1 (OW + 1) - AH, (OW) -

0

a
.-..

o

ell

2

W

0

"-'"

AL
W

0
AL

Primitive Block I/O Transfer

INM

dst-block, OW

When W = 0 (lY) - (OW)
OIR = 0: IY .(.-IY + 1; OIR = 1: IY -IY-1
When W = 1 (IY + 1, IY) - (OW + 1, OW)
OIR;= 0: IY -IY + 2; OIR = 1: IY -IY - 2

o

1 1 0 1 1 0 W

OUTM

OW, src-block

When W = 0 (OW) - (IX)
OIR = 0: IX -IX + 1; OIR = 1: IX -IX-1
When W = 1 (OW + 1.. OW) - (IX + 1, IX)
OIR = 0: IX - IX + 2; DIR = 1: IX - IX - 2

o

1 1 0 1 1 1 W

reg, reg

reg -

0

mem, reg

(mem) -

reg, mem

reg -

reg + (mem)

o
o
o

reg + imm

Addition/Subtraction
AOO

reg + reg
(mem) + reg

reg, imm

reg -

mem, imm

(mem)-(mem)+imm

acc, imm

When W = 0 AL - AL + imm
When W = 1 AW -:- AW + imm

W 1 1

reg

reg

0 0 0 0 0 0 W mod

reg

mem

2-4

reg

mem

2-4

0

000

o

0 0 1 W mod

OOOOOSW1

o
o

1 000

0 0 0 0 S W mod 0 0 0

0 0 0 0

o

W

2

reg

3-4

mem

3-6
2-3

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

~
~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

7 654 3 2

Operation

5 4 3 2 1 0

0

No. of
Bytes AC

Flags
CV V P S Z

Addition/Subtraction (cont)
ADDC

reg, reg
mem, reg
reg, mem
reg, imm
mem, imm
ace, imm

SUB

SUBC

+ reg + CY
(mem) - (mem) + reg + CY
reg - reg + (mem) + CY
reg - reg + imm + CY
(mem) - (mem) + imm + CY
When W = 0 AL - AL + imm + CY
When W = 1 AW - AW + imm + CY

000

o
o
o

reg -

reg

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg -

reg - (mem)

reg, imm

reg -

reg - imm

reg - reg
(mem) - reg

000

o

0 0 1

o

000

3-4
3-6
2-3

W
reg

2

reg

mem

2-4

0

0

1 W mod

reg

mem

2-4

reg

3-4

mem

3-6

000

(mem) -

(mem) -- (mem) - imm - CY

reg
mem

reg

reg -

When W = 0 AL - AL - imm - CY
When W = 1 AW - AW - imm - CY

1 0

W 1 1

reg, reg

ace, imm

0

o

0 W mod

mem, reg

mem, imm

o

0

OOOOOSW1

o

0

0 0 1

o
o
o

o

1

2-3

1 W 1 1

reg

reg

0 W mod

reg

mem

reg

1 W mod
1

0 0 0 0 S W mod

000

1

W

OOOOOSW1

o

1 1 0

0 0 0 0 S W mod

000

o

1 0

0

o

reg - (mem) - CY

2-4
2-4

o
o

0

reg - imm - CY

mem
mem

0

1

reg -

reg
reg

0

o

reg -

0 0 W mod
0 1 W mod

0

(mem)-(mem)-imm

reg, imm

reg

0

When W = 0 AL - AL - imm
When W = 1 AW - AW - imm

reg, mem

reg

W

0 0 0 0 S W mod

mem, imm

(mem) - reg - CY

0

OOOOOSW1
1

ace, imm

reg - reg - CY

o
o
o

1 0 W

o
o

2-4

mem

2-4

1 1

reg

3-4

1 1

mem

3-6
2-3

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x

~
~

x
x
x

1:::

"a
~

0

w
~

0

"W
~
~

.......

<
~
en
...,

(Jl

--..J

I

(]1

ex>

l:::

Instruction Set (cont)
Operation Code
Mnemonic

Operand

No. of

Operation

7 654 3 2

ADD4S

dst BCD string - dst BCD string
+ src BCD string

o

0 0 0

o

0

000

SUB4S

dst BCD string - dst BCD string
- src BCD string

o

0 0 0

o

0

CMP4S

dst BCD string - src BCD string

o
o

0 0 0

o
o

5 4 3 2 1 0

Flags

ROL4

reg8
AL
ALL

H

reg
Upper 4 bits

I

Lower 4 bits

~

0 0 0 1
1 1 000

"a.....

Bytes AC

CV

V P S Z

0

2

x

u u u x

W

000

0

2

x

u u u x

0

0

o

0 1

0

2

x

u u u x

0

0

0

0

3

0

BCD Operation

0

~

'-W
~
~

.........

reg

<
~

UI
......,
mem8
AL

0
ALL

ROR4

H

mem
Upper4bits

I

Lower 4 bits

I·

ALL

t

H

mem8
AL
ALL

t

H

reg
Upper 4 bits

I

Lower 4

b~

mem
Upper 4 bits

I

Lower 4 bits

I

0 0 0 1 1 1 1
mod 000
mem

o

0 1 0 1 000

o

0 0 0 1 1 1 1
1 1 000
reg

o

0 1

o

1

o

o

0 1

o

1 0 1 0

3-5

I

reg8
AL

o

o

1 0

3

I
0 0 0
mod o 0

1 1 1
mem

3-5

I

BCD Adjust
ADJBA

ADJ4A

When (AL AND OFH) >9 or AC = 1,
AL - AL + 6, AH - AH + 1, AC GY - AG, AL - AL AND OFH
When
AL When
AL -

(AL AND OFH) >9 or AC = 1,
AL + 6, CY - CY OR AC, AC AL > 9FH, or CY = 1
AL + 60H, CY - 1

ADJBS

When (AL AND OFH) >9 or AC = 1,
CY -- AC, AL - AL AND OFH

ADJ4S

When
AL When
AL -

o

0 1 1

o

0 1

o

0

o

0

o

1 1 1

x

x

u u u u

0 1 1 1

x

x

u x x x

x

x

u u u u

x

x

u x x x

1,

o

1,

(AL AND OFH) >9 or AG = 1,
AL - 6, CY - CY OR AC, AC -- 1,
AL > 9FH, or CY = 1
AL + 60H, CY - 1

0

~
~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

7 6 543 2 1 0

Operation

65432 1 0

No. of
Bytes AC

Flags
CY V P S Z

x

x x x x

Increment/Decrement
INC

OEC

reg8

reg8 -

reg8 + 1

+1
+1

mem

(mem) -

reg16

reg16 -

reg16

reg8 - 1

reg8

regB -

mem

(mem) -

reg16

reg16 -

0 1 1 000
1 1 1

(mem)

0

o

0 0

W mod

1
0

reg16 - 1

o

1 W mod
0

0 0

mem

2-4

reg
1 1 0 1 1

(mem) - 1

o

reg

o
o

0

reg

0

mem

2-4

reg

x

x x x x

x

x x x x

x

x x x x

x

x x x x

x

x x x x

~
~

Multiplication
MULU

reg8

memB

MUL

1 1 1 1 0 1 1 0 1 1 1 0 0

AW - AL x reg8
AH = 0: CY - 0, V AH ¥ 0: CY - 1, V -

0
1

AW - AL x (memB)
AH = 0: CY - 0, V AH ¥ 0: CY - 1, V -

0
1

1 1 1 1 0 1 1 0 mod

1 0 0

reg

2

x

x u u u

mem

2-4

x

x u u u

x

x u u u

reg16

OW, AW - AW x reg16
OW = 0: CY - 0, V - 0
OW ¥ 0: CY - 1, V - 1

1 1 1 1 0 1 1 1 1 1 1 0 0

reg

mem16

OW, AW - AW x (mem16)
OW = 0: CY - 0, V - 0
OW ¥ 0: CY -- 1, V - 1

1 1 1 1 0 1 1 1 mod

mem

2-4

x

x u u u

reg8

AW - AL x reg8
AH = AL sign expansion: CY AH ¥ AL sign expansion: CY -

reg

2

x

x u u u

0, V 1, V -

0
1

AW - AL x (mem8)
AH = AL sign expansion: CY AH ¥ AL sign expansion: CY -

mem

2-4

x

x u u u

0, V 1, V -

0
1

mem8

1 0 0

1 1 1 1 0 1 1 0 1 1 1 0 1

1 1 1 1 0 1 1 0 mod

1 0 1

"t::

reg16

OW, AW - AW x reg16
OW = AW sign expansion: CY - 0, V - 0
OW ¥ AW sign expansion: CY -1, V-1

1 1 1 1 0 1 1 1 1 1 1 0 1

mem16

OW, AW - AW x (mem16)
OW = AW sign expansion: CY - 0, V - 0
OW ¥ AW sign expansion: CY -1, V-1

1 1 1 1 0 1 1 1 mod

reg16,
reg16,
immB

reg16 - reg16 x imm8
Product::; 16 bits: CY Product> 16 bits: CY -

0 1 1 0 1 0 1 1 1 1

reg16,
mem16,
immB

reg16 - (mem16) x imm8
Product::; 16 bits: CY - 0, V -- 0
Product> 16 bits: CY - 1, V - 1

0, V 1, V -

reg

2

x

x u u u

2-4

x

x u u u

"a
0

1 0 1

mem

---

(.)

N

0
reg

reg

3

x

x u u u

0
1
0 1 1 0 1 0 1 1 mod

reg

mem

3-5

x

x u u u

"(.)
N
N

.......

<
N

ell

01

c.o

"-'"

B

0>

o

Operation Code
Mnemonic

o

No. of

Operation

7 6 5 4 3 2

reg16,
reg16,
imm16

reg16 +- reg16 x imm16
Product::; 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V+-1

o

reg16,
mem16,
imm16

reg16 +- (mem16) x imm16
Product::; 16 bits:CY +- 0, V+-O
Product> 16 bits: CY .:- 1, V+-1

o

temp +- AW
When temp -:- regS> FFH
(SP-1, SP - 2) +- PSW, (SP - 3, SP - 4) +- PS
(SP - 5, SP - 6) +- PC, SP +- SP - 6
IE +- 0, BRK +- 0, PS +- (3, 2), PC +- (1, 0)
All other times
AH +- temp % regS, AL +- temp -:- regS

1 1 1 1 0 1 1 0 1 1 1 1 0

memS

temp +- AW
When temp -:- (memS) > FFH
(SP -1, SP - 2) +- PSW, (SP - 3, SP - 4) +- PS
(SP - 5, SP - 6) +- PC, SP +- SP - 6
IE +- 0, BRK +- 0, PS +- (3, 2), PC +- (1, 0)
All other times
AH .;..- temp % (memS), AL +- temp -:- (memS)

1 1 1 1 0 1 1 0 mod

reg16

temp +- AW
When temp -:- reg16> FFFFH
(SP -1, SP - 2) +- PSW, (SP - 3, SP - 4) +- PS
(SP - 5, SP - 6) .;..- PC, SP +- SP - 6
IE +- 0, BRK +- 0, PS +- (3, 2), PC +- (1, 0)
All other times
AH +- temp % reg16, AL +- temp -:- reg16

mem16

temp +- AW
When temp -:- (mem16) > FFFFH
(SP -1, SP- 2) +- PSW, (SP - 3, SP - 4) +- PS
(SP - 5, SP - 6) +- PC, SP +- SP - 6
IE +- 0, BRK +- 0, PS +- (3, 2), PC +- (1, 0)
All other times
AH +- temp % (mem16), AL +- temp -:- (mem16)

Operand

6543210

Flags

o

o

0

reg

reg

reg

mem

CY

V P S Z

4

x

x u u u

W
N

4-6

x

xuuu

"W

regS

o

o

1 1 0 1 0 0 1 mod

N
N

Unsigned Division
DIVU

....

Bytes AC

Multiplication· (cont)
MUL (cant)

,.a

1:::

Instruction Set (cont)

reg

u u u u

<
N

"""'"""

ell
......,

mem

2-4

u u u u

1 1 1 1 0 1 1 1 1 1 1 1 0

reg

2

u u u u

1 1 1 1 0 1 1 1 mod

mem

2-4

1 1 0

1 1 0

u

u u u u

~
~

Instruction Set (cont)
Mnemonic

Operand

Operation

Operation Code
765432

0

654321

0

No. of
Bytes AC

Flags
CY V P S Z

Signed Division
DIV

reg8

temp-AW
When temp -;- reg8 > 0 and temp -;- reg8 > 7FH or
temp +- reg8 < 0 and temp -;- reg8 < 0 - 7FH - 1
(SP -1, SP - 2) - PSW, (SP - 3, SP - 4) - PS
(SP - 5, SP - 6) - PC, SP -+- SP - 6
IE -+- 0, BRK - 0, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % reg8, AL - temp -;- reg8

mem8

temp - AW
When temp -;- (mem8) > 0 and (mem8) > 7FH or
temp -;- (mem8) < 0 and
temp -;- (mem8) < 0 - 7FH - 1
(SP ~ 1, SP - 2) -+- PSW, (SP - 3, SP - 4) -+- PS
(SP - 5, SP - 6) - PC, SP -+- SP - 6
IE - 0, BRK +- 0, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % (mem8), AL - temp -;- (mem8)

1 1 1 1 0 1 1 0 mod

reg 16

temp - DW,AW
When temp +- reg 16> 0 and reg 16> 7FFFH or
temp -;- reg 16 < 0 - 7FFFH - 1
(SP -1, SP - 2) - PSW, (SP - 3, SP - 4) - PS
(SP - 5, SP - 6) - PC, SP - SP - 6
IE - 0, BRK - 0, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % reg. 16, AL - temp -;- reg 16

1 1 1 1 0 1 1 1 1 1 1 11

mem 16

temp - DW, AW
When temp -;- (mem 16) > 0 and (mem 16) > 7FFFH
or temp -;- (mem 16) < 0 and temp -;- [mem 16]
<0 - 7FFFH-l
(SP - 1, SP - 2)) - PSW, (SP -3, SP - 4) -+- PS
(SP - 5, SP - 6) -+- PC, SP -+- SP - 6
IE -+- 0, BRK -+- 0, PS -+- (3, 2), PC -+- (1, 0)
All other times
AH - temp % (mem 16), AL -+- temp -;- (mem 16)

1 1 1 1 0 1 1 1 mod

0

reg

0

1 11

1 11

mem

2

2-4

~
~

u u u u

u u u u

reg

mem

u u u u u

2-4

u u u u

,.

1:::

a

....

o

w
~

o

"W
N

N

.......

<
N

UI
-.....

~

II

0>

I\)

Instruction Set (cont)
Mnemonic

Operand

Operation

o

076 5 4 3 2

7 654 3 2

No. of
Bytes AC

Flags
CY V P S Z

Data Conversion

o

01000000

o

o

2

u

u x x x

o

01010000

o

o

2

u

u x x x

CVTBD

AH -

AL + OAH, AL -

CVTDB

AH -

0, AL -

CVTBW

When AL < 8OH, AH - 0,
all other times AH - FFH

o

CVTWL

When AL < 8OOOH, OW - 0,
all other times OW - FFFFH

001100

AL %OAH

AH x OAH

+ AL

0

000

--a

o

W
N

o

"

W
N

~
---.

Comparison
CMP

,.a

l:::
Operation Code

2

x

x

mem

2-4

x

x

x x x x

mem

2-4

x

x

x x x x

1 0 0 0 0 0 S W 1 1 1 1 1

reg

3-4

x

x

x x x x

1 0 0 0 0 0 S W mod 1 1 1

mem

3-6

x

x

x x x x

2-3

x

x

x x x x

reg, reg

reg - reg

0 0

0 1 W 1 1

reg

reg

mem, reg

(mem) - reg

0 0

reg, mem

reg - (mem)

0 0 W mod

reg

0 0 1 1 1 0 1 W mod

reg

reg, imm

reg - imm

mem, imm

(mem) - imm

ace, imm

When W = 0, AL - imm
When W = 1, AW - imm

0 0 1 1 1 1 0 W

x x x x

<
N
en

~

Complement
NOT
NEG

reg

reg -

mem

(mem) -

reg

reg

reg -

mem

(mem) -

0

W 1 1 0

0

reg

0

W mod 0

0

mem

2-4

1 1 1 1 0 1 1 W 1 1 0 1 1

reg

2

x

xxxxx

1 1 1 1 0 1 1 W mod 0 1 1

mem

2-4

x

x

x x x x

(mem)

reg + 1
(mem) + 1

2

Logical Operation
TEST

AND

reg, reg

reg AND reg

0 0 0 0

0 W 1 1

reg

reg

2

0

0 x x x

mem, reg
or reg, mem

(mem) AND reg

0 0 0 0

0 W mod

reg

mem

2-4

0

0 x x x

1 1 W 1 1 0 0 0

reg

3-4

o

0 x x x

1 1 W mod 0 0 0

mem

3-6

o

0 x x x

2-3

o

0 x x x

o
o

0 x x x

0 x x x

0 x x x

reg, imm

reg AND imm

mem, imm

(mem) AND imm

ace, imm

When W= 0, AL AND imm8
When W = 1, AW AND imm8

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg AND reg
(mem) AND reg

o
o

o

o

1 0 0 W

0010001W11

reg

reg

2

u

o

0 1 0 0 0 0 W mod

reg

mem

2-4

u

0 1 0 0 0 1 W mod

reg

mem

2-4

u

000000W11

o

reg

3-4

u

mem

3-6

o
o
o

2-3

o

o

reg -

reg AND (mem)

reg, imm

reg -

reg AND imm

mem, imm

(mem)-(mem)ANDimm

1 0 0 0 0 0 0 W mod 1 0 0

ace, imm

When W = 0, AL - AL AND imm8
When W = 1, AW - AW AND imm16

0010010W

0

0

x x x

0 x x x
0 x x x

;(

~

Instruction Set (cant)
Operation Code

Mnemonic

Operand

7 654 3 2

Operation

076543210

No. of
Bytes AC

Flags
CY V P S Z

Logical Operation (cant)

OR

XOR

reg OR reg

0 0

o

o

0

W

reg, reg

reg -

mem, reg

(mem) -

0 0 0 0 1 0 0 W mod

reg

mem

2-4

0

reg, mem

reg -

reg OR (mem)

0 0 0 0 1 0 1 W mod

reg

mem

2-4

0

0 x x x

reg, imm

reg -

reg OR imm

1 0 0 0 0 0 0 W 1 1 0 0 1

reg

3-4

0

0 x x x

1 0 0 0 0 0 0 W mod 0 0 1

mem

3-6

0

0 x x x

2-3

0

0 x x x

0 x x x

(mem) OR reg

(mem) OR imm

mem, imm

(mem) -

ace, imm

When W = 0, AL - AL OR imm8
When W = 1, AW - AW OR imm16

0 0 0 0 1 1 0 W

o
o
o

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg -

reg XOR (mem)

reg, imm

reg -

reg XOR imm

mem, imm

(mem) -

ace, imm

When W = 0, AL - AL XOR imm8
When W= 1, AW - AW XOR imm16

reg XOR reg
(mem) XOR reg

0 1 1 0 0 1 W 1 1

reg

reg

2

0 1 1 0 0 0 W mod

reg

mem

2-4

0 1 1 0 0 1 W mod

reg

mem

2-4

o
o
o

reg

3-4

o

0 x x x

mem

3-6

o

0 x x x

2-3

o

0 x x x

3

o

0 u u x

3-5

o

0 u u x

o

0 u u x

000000W11110
1 0 0 0 0 0 0 W mod 1 1 0

(mem) XOR imm

0 x x x

0011010W

~~

0 x x x
0 x x x

Bit Operation
3rd byte*

2nd byte*

TEST1

reg8, CL

regS bit no. CL = 0: Z regS bit no. CL = 1: Z -

memS, CL

(memS) bit no. CL = 0: Z (mem8) bit no. CL = 1: Z -

reg16, CL

reg16 bit no. CL = 0: Z reg16 bit no. CL = 1: Z -

mem16, CL

(mem16) bit no. CL = 0: Z (mem16) bit no. CL = 1: Z -

regS, imm3

reg8 bit no. imm3 = 0: Z reg8 bit no. imm3 = 1:Z -

mem8, imm3

(mem8) bit no. imm3 = 0: Z (mem8) bit no. imm3 = 1: Z -

1
0
1
0
1
0
1
0
1
0
1

000

o

0 0 0 1 1 0 0 0

reg

000

o

0 0 0 mod 0 0 0

mem

000

000

1 1 0 0 0

reg

3

000

000

mod 0 0 0

mem

3-5

u

o

0 u u x

u

o

0 u u x

000

00011000

reg

4

000

o

0 0 mod 0 0 0

mem

4-6

o

0 u u x

000

o

0

1 1 0 0 0

reg

4

o

0 u u x

000

o 0

mod 0 0 0

mem

4-6

o

0 u u x

0

reg16, imm4

reg16 bit no. imm4 = 0: Z reg16 bit no. imm4 = 1: Z -

mem16, imm4

(mem16) bit no. imm4 = 0: Z (mem16) bit no. imm4 = 1: Z -

1
0
1
0

2nd byte*
*Note: First byte = OFH

en
c.J

3rd byte·

m

,.

1:::

D

o--w
~
o
"w
~
~

.........

<
~

en
.......

C>

.;..

Mnemonic

Operand

Operation Code

Operation

Flags

No. of

7654321

07654321

0

Bytes AC

CY

Bit Operation (cant)
2nd byte*
NOT1

reg8, CL

reg8 bit no. CL -

mem8, CL

(mem8) bit no. CL -

reg8 bit no. CL
(mem8) bit no. CL

reg16, CL

reg16 bit no. CL -

mem16, CL

(mem16) bit no. CL -

reg16 bit no. CL
(mem16) bit no. CL

reg8, imm3

reg8 bit no. imm3 -

mem8, imm3

(memS) bit no. imm3 -

reg16, imm4

reg16 bit no. imm4 -

mem16, imm4

reg8 bit no. imm3
(mem8) bit no. imm3
(reg16) bit no. imm4

(mem16) bit no. imm4 -

(mem16) bit no. imm4

o
o

CY-Cy

reg8, CL

reg8 bit no. CL -

(memS) bit no. CL -

000

0

1 1 000

reg

3

0

mod 000

mem

3-5

1 1 000

reg

4

mod 0 0 0

mem

o
o

000

1 1 000

reg

4

mod 0 0 0

mem

4-6

o

000

0

000

reg16, CL

reg16 bit no. CL -

inem16, CL

(mem16) bit no. CL -

reg8, imm3

reg8 bit no. imm3 -

mem8, imm3

(mem8) bit no. imm3 -

reg16, im'm4

reg16 bit no. imm4 -

mem16, imm4

(mem16) bit no. imm4 -

0
0
0
0
0

<
......
'"
N

3rd byte*

x

1
3rd byte*

0

o

0

0 mod 000

1 1 000

0

1 1 000

0

1 mod 0 0 0

000

0

o

000

0

0 mod 000

000

0

000

0

000

0

o
o
o
o

N
N
...-..-

4-6

000

1

0

"W

3-5

000

o

--a

W
N

3

000

000

0

mem

0

1 1 1 1

mem8, CL

reg

mod 0 0 0

0

000

2nd byte*
CLR1

1 1 000

000

000

V P S Z

0

3rd byte*

2nd byte*
*Note: First byte = OFH
CY

,.a

"t::

Instruction Set (cant)

2nd byte*
*Note: First byte = OFH
CY

CY-O

1 1 1 1 1 0 0 0

DlR

DIR-O

1 1 1 1 1 1

o

1 1 000

reg

3

mem

3-5

reg

3

mem

3-5

reg

4

mem

4-6

1 1 000

reg

4

mod 0 0 0

mem

4-6

3rd byte*
0

0

~
~

Instruction Set (cont)
Mnemonic

Operand

Operation Code
7 6 5 4 3

Operation

0

5 4 3 2 1 0

0

000

No. of
Bytes AC

Flags
CY V P S Z

Bit Operation (cont)
SET1

000

0

(mem8) bit no. CL-1

000

0

o
o

reg16 bit no. CL -

000

0

0

000

0

0 1 1 000

000

o
o
o

000

0

1 1 000

000

0

mod

reg8, CL

reg8 bit no. CL -

mem8, CL
reg16, CL
mem16, CL

(mem16) bit no. CL -

reg8, imm3

reg8 bit no. imm3 -

mem8, imm3

(mem8) bit no. imm3 -

reg16, imm4

reg16 bit no. imm4 -

mem16, imm4

(mem16) bit no. imm4 -

1
1
1

000

1
1
1
1

2nd byte*
*Note: First byte
CY

CY-1

1 1 1 1 1

DIR

DIR-1

1

reg, 1

CY - MSB of reg, reg - reg x 2
When MSB of reg # CY, V-1
When MSB of reg = CY, V - 0

mem,1

CY - MSB of (mem), (mem) When MSB of (mem) # CY, V When MSB of (mem) = CY, V -

reg, CL

1

0 mod 000
1 1 000
1 mod
0 mod

000
000
000

reg
mem
reg
mem
reg
mem
reg
mem

3
3-5
3

~
~

3-5
4
4-6
4
4-6

3rd byte*

= OFH

o

0 1
0

Shift
SHL

o

0 0 W 1 1 1

o

0

reg

1

o

0

mem

1 1

o

0

reg

1

o

0

mem

1 1

o

0

reg

1 1

o

1

o

0 0 W mod

temp - CL, while temp # 0,
repeat this operation, CY - MSB of reg,
reg - reg x 2, temp - temp - 1

1 1

o

1

o

0 1 W1

mem, CL

temp - CL, while temp # 0,
repeat this operation, CY - MSB of (mem),
(mem) - (mem) x 2, temp - temp - 1

1 1

o

1

o

0 1 W mod

reg, imm8

temp - imm8, while temp # 0,
repeat this operation, CY - MSB of reg,
reg - reg x 2, temp + - temp - 1

1 1 OOOOOW1

temp + - imm8, while temp ¥- 0,
repeat this operation, CY + - MSB of (mem),
(mem) - (mem) x 2, temp - temp - 1

1

CY - LSB of reg, reg - reg -:- 2
When MSB of reg # bit following MSB
of reg: V-1
When MSB of reg = bit following MSB
of reg: V - 0

1 1

mem, imm8

SHR

0

reg, 1

(mem) x 2
1
0

2-4

2-4

x

x x x x

x

x x x x

x

u x x x

x

u x x x

x

u x x x

1:::

"a--a
0

W
~

1

o

0 0 0 0 W mod

o

1

o

1

o

0

0 0 W 1 1 1 0 1

mem

3-5

x

u x x x

0

"W

reg

2

x

x x x x

~
~

~

<
~

en

0>

~

CJ1

II

0>
0>

,.a

'l:::

Instruction Set (cont)
Mnemonic

Operand

Operation

Operation Code

Flags

No. of

1 6 5 4 3 2 1 0 1 6 543 2 1 0

Bytes AC

CY

V P S Z

-.a

Shift (cont)
SHR(cont)

SHRA

mem, 1

o

CY - LSB of (mem), (mem) - (mem) -;- 2
When MSB of (mem) oF bit following MSB
of (mem): V - 1
When MSB of (mem) == bit following MSB
of (mem): V - 0

1 1 0 1

reg, CL

temp - CL, while temp oF 0,
repeat this operation, CY - LSB of reg,
reg - reg -;- 2, temp - temp - 1

1 1 0 1

o

0 1 W1

mem, CL

temp - CL, while temp oF 0,
repeat this operation, CY - LSB of (mem),
(mem) - (mem) -;- 2, temp - temp - 1

1 1 0 1

o

0 1 W mod

reg, immB

temp - immB, while temp oF 0,
repeat this operation, CY - LSB of reg,
reg - reg -;- 2, temp - temp - 1

1 1

o

0

o

0 0 W 1 1 1 0 1

mem, immB

temp - immB, while temp oF 0,
repeat this operation, CY - LSB of (mem),
(mem) +- (mem) -;- 2, temp +- temp - 1

1 1

o

0

o

0 0 W mod

reg, 1

CY +- LSB of reg, reg +- reg -;- 2, V+-O
MSB of operand does not change

0

o

0 0 W 1 1

reg

mem,1

CY - LSB of (rriem), (mem) +- (mem) -;- 2,
V +- 0, MSB of operand does not change

0

o

0 0 W mod

mem

reg, CL

temp +- CL, while temp oF 0,
repeat this operation, CY +- LSB of reg,
reg +- reg -;- 2, temp +- temp - 1
MSB of operand does not change

0

o

0

mem,CL

temp +- CL, while temp oF 0,
repeat this operation, CY +- LSB of (mem),
(mem) +- (mem) -;- 2, temp +- temp - 1
MSB of operand does not change

1 1 0 1

o

0 1 W mod

reg, immB

temp +- immB, while temp oF 0,
repeat this operation, CY +- LSB of reg,
reg +- reg -;- 2, temp +- temp - 1
MSB of operand does not change

1 1 00000W1

mem, immB

temp +- immB, while temp oF 0,
repeat this operation, CY +- LSB of (mem),
(mem) +- (mem) -;- 2, temp +- temp - 1
MSB of operand does not change

1 1

0 0 W mod

1 0 1

mem

2-4

0

CiI)
~

x x x x x

0

"W

1 1 0 1

1 0 1

reg

2

x u x x x

mem

2-4

x u x x x

~
~
"'"""-

<
N

c.n

~

o

0

o

W1

1 0 1

1

mem

reg

1 1 1

1 1 1 1

0 0 W mod

reg

1 1 1

mem

reg

mem

3

x u x x x

3-5

x u x x x

2

x

ox x x

2-4

x

ox x x

2

x u x x x

2-4

x u x x x

3

x u x x x

3-5

x u x x x

I

~
~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

Operation

reg, 1

CY +- MSB of reg, reg +- reg x 2 + CY
MSB of reg -=F- CY: V+-1
MSB of reg = CY: V+-O

mem, 1

CY +- MSB of (mem),
(mem) +- (mem) x 2 + CY
MSB of (mem) -=F- CY: V+-1
MSB of (mem) = CY: V+-O

1 1

o

reg, CL

temp +- CL, while temp -=F- 0,
repeat this operation, CY +- MSB of reg,
reg +- reg x 2 + CY
temp +- temp - 1

1 1

mem, CL

temp +- CL, while temp -=F- 0,
repeat this operation, CY +- MSB of (mem),
(mem) +- (mem) x 2 + CY
temp +- temp - 1

1 1

reg, immB

temp +- immB, while temp -=F- 0,
repeat this operation, CY +- MSB of reg,
reg +- reg x 2 + CY
temp +- temp - 1

1 1 00000W1

mem, immB

temp +- immB, while temp -=F- 0,
repeat this operation, CY +- MSB of (mem),
(mem) +- (mem) x 2 + CY
temp +- temp - 1

1 1

o

0 0 0 0 W mod

reg, 1

CY +- LSB of reg, reg +- reg -;- 2
MSB of reg +- CY
MSB of reg -=F- bit following MSB of reg: V+-1
MSB of reg = bit following MSB of reg: V+-O

1 1

o

1

o

mem, 1

CY +- LSB of (mem), (mem) - (mem) -;- 2
MSB of (mem) +- CY
MSB of (mem) -=F- bit following MSB
of (mem): V+-1
MSB of (mem) = bit following MSB
of (mem): V+-O

1 1

o

1

o

temp +- CL, while temp -=F- 0,
repeat this operation, CY +- LSB of reg.
reg +- reg -;- 2, MSB of reg +- CY
temp +- temp - 1

1 1

temp +- CL, while temp -=F- 0,
repeat this operation, CY +- LSB of (mem),
(mem) +- (mem) -;- 2, MSB of (mem) +- CY
temp +- temp - 1

1 1

765432

0

654321 0

No. of
Bytes AC

Flags
CY V P S Z

Rotation
ROL

ROR

reg. CL

mem, CL

o

0

W

o

1

o

0 0 W mod

000

o

1

o

o

1

o

0

0

reg

x

x

mem

2-4

x

x

0 1 W 1 1 000

reg

2

x

u

0 1 W mod

000

reg

2-4

x

u

1 000

reg

3

x

u

000

mem

3-5

x

u

0 0 W 1 1

o

0 1

reg

2

x

x

0 0 W mod

o

0 1

mem

2-4

x

x

~~

,.

1::::

D

-III

0

W

~

o

1

o

1

o

0 1 W 1 1

o

0 1 W mod

o

0 1

o

0 1

reg

mem

2-4

x

U

x

u

0

"W
~
~

~

<
~
en

()')

~

~

II

0)
0)

1::::

Instruction Set (cont)
Mnemonic

Operand

Operation

Bytes AC

CV

V P S Z

"....a

3

x

u

W

No. of

Operation Code

7 654 3 2

0

654321

0

Flags

Rotation (cont)
ROR (cont)

reg, immB

mem, immB

o

OOOOOW

temp - immB, while temp #- 0,
repeat this operation, CY - LSB of reg,
reg - reg -;- 2, MSB of reg - CY
temp - temp - 1

0

reg

0

~

0

o

0 0 0 0 W mod

o

0 1

mem

temp - immB, while temp #- 0,
repeat this operation, CY - LSB of (mem),
(mem) - (mem) -;- 2
temp - temp - 1

1 1

reg, 1

tmpcy - CY, CY - MSB of reg
reg - reg x 2 + tmpcy
MSB of reg = CY: V ~ 0
MSB of reg #- CY: V - 1

1 1

o

1

o

0 0 W 1 1

o

1 0

reg

mem,1

tmpcy - CY, CY - MSB of (mem)
(mem) - (mem) x 2 + tmpcy
MSB of (mem) = CY: V - 0
MSB of (mem) #- CY: V - 1

1 1

o

1

o

0 0 W mod

o

1 0

mem

reg, CL

temp - CL, while temp #- 0,
repeat this operation, tmpcy - CY,
CY - MSB of reg, reg - reg x 2 + tmpcy
temp - temp - 1

1 1

o

1

o

0 1 W 1 1

o

1 0

reg

mem, CL

temp - CL, while temp #- 0,
repeat this operation, tmpcy +- CY,
CY - MSB of (mem),
(mem) - (mem) x 2 + tmpcy
temp - temp - 1

1 1

o

1

o

0 1 W mod

o

1 0

reg, immB

temp - immB, while temp #- 0,
repeat this operation, tmpcy - CY,
CY +- MSB of reg, reg - reg x 2 + tmpcy
temp - temp - 1

1 1 00000W1

1

o

mem, immB

temp - immB, while temp ~ 0,
repeat this operation, tmpcy +- CY,
CY - MSB of (mem)
(mem) - (mem) x 2 + tmpcy
temp - temp -;- 1

1 1

0 0 0 0 W mod

o

3-5

x

u

~

N

......"

Rotate
ROLC

"W

o

x

x

2-4

x

x

2

x

u

mem

2-4

x

u

1 0

reg

3

x

u

1 0

mem

3-5

x

u

<
~

'"

........

;(
~

~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

7 654 3 2

Operation

65432 1 0

0

No. of
Bytes AC

Flags
CY V P S Z

2

x x

2-4

x x

2

x u

Rotate (cont)
RORC

reg, 1

mem, 1

tmpcy - CY, CY - LSB of reg
reg - reg -:-- 2, MSB of reg - tmpcy
MSB of reg ~ bit following MSB of reg: V MSB of reg = bit following MSB of reg: V tmpcy - CY, CY - LSB of (mem)
(mem) - (mem) -:-- 2, MSB of (mem) MSB of (mem) ~ bit following MSB
of (mem): V - 1
MSBof (mem) = bit following MSB
of (mem): V - 0

0

o

0 0 W

0

reg

1
0
1 1

o

1

o

0 0 W mod

o

1 1

mem

tmpcy

reg, CL

temp - CL, while temp ~ 0,
repeat this operation; tmpcy - CY,
CY - LSB of reg, reg - reg -:-- 2,
MSB of reg- tmpcy, temp - temp-1

1 1

o

1

o

0 1 W1

1

o

1 1

reg

mem, CL

temp - CL, while temp ~ 0,
repeat this operation, tmpcy - CY,
CY - LSB of (mem), (mem) - (mem) -:-- 2
MSB of (mem) - tmpcy, temp - temp - 1

1 1

o

1

o

0 1 W mod

o

1 1

mem

2-4

x u

reg, immB

temp - immB, while temp ~ 0
repeat this operation, tmpcy - CY,
CY - LSB of reg, reg - reg -:-- 2
MSB of reg - tmpcy, temp - temp - 1

1 1 000OOW1 1

o

1 1

reg

3

x u

mem, immB

temp - immB, while temp ~ 0,
repeat this operation, tmpcy - CY,
CY - LSB of (mem), (mem) - (mem) -:-- 2
MSB of (mem) - tmpcy, temp - temp - 1

1 1

o

1 1

mem

3-5

x u

o

0 0 0 0 W mod

Subroutine Control Transfer
CALL

~
~

"t::

near-proc

(SP - 1, SP - 2) PC - PC + disp

PC, SP -

SP - 2

0

regptr16

(SP - 1, SP - 2) PC - regptr16

PC, SP -

SP - 2

1 1 0

SP - 2

mod 0

memptr16

(SP - 1, SP - 2) - PC, SP PC - (memptr16)

far-proc

(SP - 1, SP - 2) - PS, (SP - 3, SP - 4) SP - SP - 4, PS - seg, PC - offset

PC

memptr32

(SP - 1, SP - 2) - PS, (SP - 3, SP - 4) SP - SP - 4, PS - (memptr32 + 2),
PC +- (fnemptr32)

PC

o

0

3

000

0

0
0

reg

2

mem

2-4

0

5
mod

o

1 1

mem

2-4

"a--a
0

W
N
0

"W
N
N

......
<
N
VI

C>

co

II

---

.......
0

,.a

1:::-

Instruction Set (cont)
Mnemonic

Operllnd

Operation

Flags

No. of

Operation Code
7654321

07654321

0

Bytes AC

CY

V P S Z

.....

Subroutine Control Transfer (cont)
RET
pop-value

PC -

(SP + 1, SP), SP -

PC SP -

(SP + 1, SP)
SP + 2, SP -

PC SP -

0 0 0

1

0 0 0

0

W
N

3

0

SP + pop-value
(SP + 3, SP + 2)

o

0

0

(SP + 1, SP), PS - (SP + 3, SP + 2)
SP + 4, SP - SP + pop-value

o

0

0

PC - (SP + 1, SP ), PS SP-SP+4
pop-value

o
o

SP + 2

0

"W
0

N
N

3

--..

<
N

Stack Manipulation
PUSH

POP

PREPARE

1 1 1 mod

mem16

(SP -1, SP - 2) -

(mem16), SP -

reg16

(SP - 1, SP - 2) -

reg16, SP -

sreg

(SP-1, SP- 2) -

PSW

(SP - 1, SP - 2) -

R

Push registers on the stack

0

00000

imm

(SP -l;SP - 2) - imm
SP - SP - 2, When S == 1, sign extension

0

0

mem16

(mem16) -

reg16

reg16 -

sreg

sreg - (SP + 1, SP) sreg : SS, DSO, DS1
SP - SP+2

sreg, SP -

(SP + 1, SP), SP -

PSW

PSW -

R

Pop registers from the stack

imm16, immS

Prepare new stack frame

DISPOSE

(SP + 1, SP), SP -

SP - 2
SP - 2

PSW, SP -

(SP + 1, SP), SP -

SP - 2

SP - 2

SP + 2

SP + 2

o
o

0 0 sreg

1

o

1 0

0

o

o

0
2-3

S 0
mod 0 0 0

mem

2-4

reg

0 0 sreg

1 1

0 1 1 1 0

R

R R R R R

1 0 0 0 0 1

o
o

0

000

4

0

o

0

1

PC+ disp

0

o

0

3

0

0

Dispose of stack frame

en
-......

2-4

0

0 1 1 1

1 0

o

SP + 2

mem

reg

0

1 000

o
o

1 1 0

Branch
BR

near-label

PC -

short-label

PC -

PC + ext-dispS

regptr16

PC -

regptr16

memptr16

PC -

(memptr16)

far-label

PS -

seg, PC -

memptr32

PS -

(memptr32 + 2), PC -

1 1
1
0

offset
(memptr32)

1 mod
0

o
o

0

reg

0

mem

2-4

mem

2-4

5

0
mod

0

I

~
~

Instruction Set (cont)
Mnemonic

Operand

Operation Code
7 6 5 4 3 2

Operation

07654321

0

No. of
Bytes AC

Conditional Branch
BV

short-label

if V = 1, PC -

PC + ext-disp8

0

o

BNV

short-label

if V = 0, PC -

PC + ext-disp8

0

000

BC, Bl

short-label

if CY = 1, PC -

0

BNC,BNl

short-label

if CY = 0, PC -

0

o
o

BE,BZ

short-label

0

0

BNE, BNZ

short-label

0

0

BNH

short-label

0

BH

short-label

o
o

BN

short-label

BP

short-label

BPE

short-label

BPO

short-label

BLl

short-label

BGE

short-label

BlE

short-label

BGT

short-label

DBNZNE

short-label

DBNZE
DBNZ

short-label
short-label

PC + ext-disp8

+ ext-disp8
if Z = 1, PC - PC + ext-disp8
if Z = 0, PC - PC + ext-disp8
if CY OR Z = 1, PC - PC + ext-disp8
if CY OR Z = 0, PC - PC + ext-disp8
if S = 1, PC - PC + ext-disp8
if S = 0, PC - PC + ext-disp8
if P = 1, PC - PC + ext-disp8
if ,P = 0, PC - PC + ext-disp8
if S XOR V = 1, PC - PC + ext-disp8
if S XOR V = 0, PC - PC + ext-disp8
if (S XOR V) OR Z = 1, PC - PC + ext-disp8
if (S XOR V) OR Z = 0, PC - PC + ext-disp8
PC

CW-CW-1
if Z = 0 and CW =P 0, PC -

PC + ext-disp8

CW-CW-1
if Z = 1 and CW =P 0, PC -

PC + ext-disp8

CW-CW-1
if CW =P 0, PC -

PC + ext-disp8
PC + ext-disp8

0 0 0
0

short-label

if CW= 0, PC -

BTClR

sfr. imm3,
short-label

if bit no. imm3 of (sfr) = 1,
PC - PC + ext - disp8,
bitno. imm3 of (sfr) - 0

2

0

o
o
1

0
1
0

2

1 1 1

2

0

000

2

0

o

2

0

0

0

2

0

o

1 1

2

o
o

2

0

0
0

0

0

1 1

o

0
1

2

0

2

1

0

2

00000

2

000 0

2
2

0

000

2
1 0 0 1 1 1

0 0 0

o

0

5

3

imm8
(=p3)

:1

1:::

"a....
,
0

W

N
0

Interrupt

BRK

~
0

2

000

BCWZ

2
0

Flags
CY V P S Z

($P-1, SP - 2) - PSW, (SP - 3, SP - 4) (SP - 5, SP - 6) - PC, SP - SP - 6
IE-O,BRK-O
PS -(15, 14), PC - (13, 12)

PS,

(SP -1, SP- 2) - PSW, (SP -3, SP -4) (SP - 5, SP - 6) - PC; SP - SP - 6
IE-O, BRK-O
PC - (n x 4, + 1, n x 4)
PS - (n x 4 + 3, n x 4 + 2) n = imm8

PS.

1 1

o0

1 1

o

0

W

~

N

1 1

o

0 1 1

o

1

2

,.-..

<

N

en
.......

II

.......

I\)

,.a,

Instruction Set (cont)
Mnamonle
Operand
Interrupt (cont)
BRKV

RETI

1:::
Operation Code
7 654 3 2

Operation
When V =.1
(SP --, 1, SP - 2) - PSW, (SP - 3, SP - 4) (SP - 5, SP - 6) - PC, SP - SP - 6
IE:-O, BRK-O
PS - (19, 18), PC- {17, 16)
PC -

(SP+ 1, SP), PS -

RETRBI

PC -

Save PC, PSW -

~'NT

Indicates that interrupt service routine to the
interrupt controller built in the CPU has been
completed

CHKINO

o0

7 6 5 4 3 2 1 0

.....

0

w.

1 0

~

PS,

Q,

Save PSW

When (mem32) > reg16 or (mem32 + 2) < reg16
(SP -1, SP - 2) - PSW, (SP - 3;SP - 4) - PS,
(SP -5,SP - 6) - PC, SP - SP - 6
IE - 0, BRK - 0,
PS - (23, 22), PC - (21, 20)

"W

o0

(SP + 3, SP + 2),
SP + 6

psw- (SP + 5, SP + 4), SP -

reg16,
mem32

o

Flags
No. of
Bylas AC CYVPSZ

o0
o0
o

o0
o0

0 0
0 0

1 1 0 0 0 1 0 mod

o0
o0

0 1

2

0

2

R

RR R R R

R

R R R R R

N

N
.......

<
N,

en
-..,.,

reg

mem

1 1

1 1

2-4

CPU Control
HALT

CPU Halt

1

STOP

CPU Halt

o

BUS LOCK

Bus Lock Prefix

FP01 (Note 1) fp-op
fp-op,mem
FP02 (Note 1) fp-op
fp-op,mem

No Operation

0

o

No Operation
Poll and wait

o

0

NOP

No Operation

o

0

01

IE-O

EI

IE-1

OSO; OS1;
PS;SS

Segment override prefix

Notes:
(1) Does not execute on the V25, but does generate an interrupt.

X X X
0

011001

POLL

o
o

o0

YYYZZZ

Q
sreg

mem

2
2-4

X 1 1 Y Y Y ZZ Z

2

X mod Y Y Y

2-4

mem

1 1

0 0 0
0

1

1 0

0 0 0

1 1 X X X mod Y Y Y

o

0
(mem)

0
0

o

1

data bus""':' (mem)
data bus -

o

1 0
0 0 0

0
1
0

I

~
~

Instruction Set (cont)
Operation Code
Mnemonic

Operand

Operation

7 6 5 4 3 2

o 7 6 5 4 3 2

0

No. of
Bytes AC

Flags
CY V P S Z

Register Bank Switching

MOVSPA
BRKCS
MOVSPB
TSKSW

reg16
reg16
reg16

o
o
o

0 0 0
1 1 1 1

o

o
o

0 0 0
000

000
1 1 1 1

reg
1 1
reg

0 1 0 0

0

2

0 1 0 1

0

3

o

0

0

0

3

o

0

0

o

0

3

x

~
~

x x x x x

l:::

'11

a

o---

w
~
o
"w
~
~

........

,:
N
CII

-....I

"-'"

Ci.)

II

pPD70320/322 (V28)

74

NEe

NEe
NEe Electronics Inc.
Description
The pPD70330170332 (V35™) is a high-performance,
16-bit single-chip microcomputer with a 16-bit external
data bus. The pPD70330170332 is fully software compatible with pPD8086/8088 and pPD70108170116
(V20®/30®) instruction set.
The pPD70330 is a ROMless part. The pPD70332 has
16K ROM, while the pPD70P322 has 16K EPROM and
can be used as a pPD70330 (V35) or a pPD70320
(V25™).

Features

o Functionally compatible with pPD70320/322 (V25)
o Internal 16-bit architecture and external 16-bit
o

o
o
o
o
o
o
o

data bus
Software compatible with pPD8086/8088,
pPD70108170116 (V20/30) in the native mode
New and enhanced instructions
Six-byte prefetch queue
Minimum instruction cycle: 500 ns at 8 MHz
Internal memory
- ROM: 16K bytes (pPD70332 only)
- RAM: 256 bytes
Memory space: 1M bytes
Input port with comparator (port T): eight bits
Bus interface optimized for use with dynamic
RAMs
- Multiplexed address
- On-board refresh controller

V20 and V30 are registered trademarks of NEC Corporation.
V25 and V35 are trademarks of NEC Corporation.

50006-2 (NECEL-870)

pPD70330/70332 (V35)
is-Bit Microcomputers:
Advanced, Single-Chip, CMOS

o 24 parallel 1/0 lines
o Serial interface: two channels
- Dedicated baud rate generator
- Asynchronous mode, 1/0 interface mode
o Interrupt controller
- Programmable priority (eight levels)
- Three interrupt service functions
- Vectored interrupt, register bank switching,
macro service
o DRAM, pseudo SRAM refresh function
o Two DMA channels
o Two 16-bit timers
DOne 20-bit time base counter
o Clock generator
o Programmable wait function
o Low power modes
-HALT
-STOP
o 1.2-micron CMOS

Ordering Information
Package

Part Number

Clock (MHz)

pPD70330L-8

8

84-pin PLCC

8

94-pin plastic QFP

8

84-pin PLCC

8

94-pin plastic QFP

8

84-pin LCC

GJ-8
pPD70332L-8-xxx
GJ-8-xxx
pPD70P322KE-8

Internal ROM
ROMless
16K mask ROM
16K EPROM
(UVerasable)

Em

NEe

pPD70330/332 (V35)
Pin Configuration
84-Pln PLCC and 84-Pln LCC

P07/CLKOUT

74

PT7

Do

73
72
71
70
69
68
67

PT6
PT5
PT4
PT3
PT2
PT1
PTO

Ao

66
65
64
63
62
61
60
59
58
57

P17/REAOY
P16/SCKO
P15ITOUT
P14/1NT/POLL
P13/INTP2IINTAK
P12/1NTP1
P11/1NTPO
P10/NMI
P27/HLORO
P26/HLOAK

A9 /A 1
A10/A2
A11 /A 3

56
55
54

P25ITC1
P24/DMAAK1
P23/0MAR01

01
02
03

04

Os
06
07
08
09
0 10
011
0 12
013
014
015

* Connect pin 9 to GNO through a 5-kn to 10-kn resistor.
83YL-6633B

2

NEe

pPD70330/332 (V35)

Pin Configuration (cont)
94-Pin

Pla~tic

QFP

A12/A4

NC
A13 /A S
A14 /A S
A1S/A7

A1S /A S
A17 /A 1S
A19
A1S /UBE

RxDO
GND

CTSO
TxDO
RxD1

PO S

NC

*

P0 4
P03
P0 2
P0 1

POO

EX
MREQ

IOSTB
MSTB
RtW
REFRQ

RESET

CTS1
TxD1
P2Q/DMARQO
IC

VOO
VOO

VDD
VDD
P21/DMAAKO

GNO
GNO

NC
P22ITCO

X2

X1

NC
NC
VIN

*Connect pin 69 to GND through a 5-kn to 10-kn resistor.
83YL-66348

3

NEe

pPD70330/332 (V35)
Pin Identification
Symbol

Function

Symbol

Function

A19- AO
CLKOUT

Address bus outputs

RxD1

Receive data input, serial channel 1

System clock output

SCKO

Serial clock output

CTSO

Clear-to-send input, serial channel 0

TCO

CTS1

Clear-to-send input, serial channel 1

Terminal count output; DMA completion,
channel 0

D15- DO
DMAAKO

Bidirectional data bus

TC1

Terminal count output; DMA completion,
channel 1

TOUT

Timer output

TxDO

Transmit data output, serial channel 0

TxD1

Transmit data output, serial channel 1

UBE

Upper byte enable

X1, X2

Connections to external frequency control
source (crystal, ceramic resonator, or clock)

DMAAK1
DMAROO

DMA acknowledge output, DMA controller
channel 0
DMA acknowledge output, DMA
controller channel 1
DMA request input, DMA controller
channel 0

DMAR01

DMA request input, DMA controller
channel 1

Voo

+5-volt power source input (two pins)

EA

External access; clamped low or high
according to program access requirements

VTH

Threshold voltage input to comparator
circuits

HLDAK

Hold acknowledge output

GND

Ground reference (two pins)

HLDRO

Hold request input

IC

INT

Interrupt request input

Internal connection; must be tied to Voo
externally through a pullup resistor

INTAK

Interrupt acknowledge output

INTPO

Interrupt request 0 input

INTP1

Interrupt request 1 input

INTP2

Interrupt request 2 input

10STB

110 read or write strobe output

MREQ

Memory request output

MSTB

Memory strobe output

NMI

Nonmaskable interrupt request

POLL

Input on POLL synchronizes the CPU and
external devices

P07-POO

110 port 0

P1rP10

110 port 1

P27-P20

110 port 2

PTO-PT?

Comparator port input lines

READY

Ready signal input controls insertion of
wait states

REFRO

DRAM refresh request output

RESET

Reset signal input

R/W

Readlwrite strobe output

RxDO

Receive data input, serial channel 0

4

NEe

pPD70330/332 (V35)

Pin Functions

EA; External Access

A19-AO; Addres$ Bus

For the ROM-less pPD70330, connect this pin to
ground. For the pPD70332, connect EAto ground if
program code is in external memory; connect EA to +5
volts if program code isin the internal ROM.

To support dynamic RAMs, the 20-bit address is multiplexed on 11 lines. When MREQ is asserted, A17-A9 are
valid. When MSTB or 10STB are asserted, A8-A1 and A18
are valid. A18 is also multiplexed with UBE and is valid
when MREQ is asserted. ThereforeA18 is active throughout
the bus cycle. A 19 and Ao are not multiplexed but have
dedicated pins and are valid throughout the bus cycle.

CLKOUT; Clock Out
The system clock (ClK) is distributed from the internal
clock generator to the CPU and output to peripheral
hardware at the ClKOUT pin.

CTSO; Clear-to-Send 0
This is the CTS pin of the channel 0 serial interface. In
asynchronous mode, a low-level input on CTSO
enables transmit operation. In 1/0 interface mode,
CTSO is the receive clock pin.

CTS1; Clear-to-Send 1
This is the CTS pin of the channel 1 serial interface. In
asynchronous mode, a low-level input on CTS1
enables transmit operation.

015-00; Data Bus
D15-Do is the 16-bit data bus.

DMAAKO and DMAAK1; DMA Acknowledge
These are the DMA acknowledge outputs of the DMA
controller, channels 0 and 1. Signals are not output
during DMA memory-to-memory transfer operations
(burst mode, single-step mode).

OMARQO and DMARQ1; DMA Request

HLDAK; Hold Acknowledge
The HlDAK output signal indicates that the hold
request (HlDRQ) has been accepted. When HlDAK is
active (low), the following lines go to the high-impedance state with internal 4700-0~lIup resistors:
A 1fLAO, DrDo, IOSTB, MREQ, MSTB, REFRQ, and
R/W.

HLDRQ; Hold Request
The HlDRQ input from an external device requests
that the pPD70330/332 relinquish the address, data,
and control buses to an external bus master.

INT; Interrupt
The INT input is a vectored interrupt request from an
external device that can be masked by software. The
active high level is detected in the last clock cycle of an
instruction. The external device confirms that the INT
interrupt request has been accepted by the INTAK
signal output from the Cpu.
The INT signal must be held high until the first INTAK
signal is output. Together with INTAK, INT is used for
operation with an interrupt controller such as
pPD71059.

INTAK; Interrupt Acknowledge
The I NTAK output is the acknowledge signal for the
software-maskable interrupt request INT. The INTAK
signal goes low when the CPU accepts INT. The
external device inputs the interrupt vector to the CPU
via data bus D7-DO in synchronization with INTAK.

These are the DMA request inputs of the DMA controller, channels 0 and 1.

5

NEe

pPD70330/332 (V35)
INTPO, INTP1, INTP2; Interrupt from
Peripheral 0, 1, 2
The I'NTPn inputs (n = 0, 1, 2) are external interrupt
requests that can be masked by software. The INTPn
input is detected at the effective edge specified by
external interrupt mode register INTM.
The INTPn input is also used to release the HALT
mode.

10STS; 1/0 Strobe
A low-level output on 10STB indicates that the I/O bus
cycle has been initiated and that the I/O add ress output
on A15-AO is valid.

MREQ; Memory Request
A low-level output on MREQ indicates that the memory
or I/O bus cycle has started and that address bits Ao,
A1rA 9, A19and A 18 are valid:

MSTB; Memory Strobe

P17-P10; Port 1
Lines P1rP14 are individually programmable as an
input, output, or control function. The status of P13P10 can be read but these lines are always control
functions.

P27-P20; Port 2
P27-P20 are the lines of port 2, an 8-bit bidirectional
I/O port. These lines can also be used as control
signals for the on-chip DMA controllers. See table 2-3.

POLL; Poll
The POLL input is checked by the POLL instruction. If
the level is low, execution. of the next instruction is
initiated. If the level is high, the POLL input is checked
every five clock cycles until the level becomes low..
The POLL functions are used to synchronize the CPU
program and the operation of external devices.
Note: POLL is effective when P1 ~ecified for the
input port mode; otherwise, POLL is assumed to
be at low level when the POLL instruction is
executed.

Togetherwith MREQ and R/W, MSTB controls memory
accessing operations. MSTB should be used either to
enable datahuffers or as a qata strobe. During memory
write, a low-level output on MSTB indicates that data
on the data bus is valid. A low-level output on MSTB
indicates that multiplexed address bits As-A1' A1S,
and USE are valid.

The PT input is compared witha threshold voltage that
is programmable to one of 16 voltage steps individually
for each of the eight lines.

NMI; Nonmaskable Interrupt

READY

The NMI input is an interrupt request that cannot be
masked by software. The NMI is always accepted by
the CPU; therefore, it has priority over any other
interrupt.

After READY is de-asserted low, the CPU will synchro~
nize and insert at least two wait states into a read or
write cycle to memory or I/O. This allows the processor
to accommodate devices whose access times are
longer than normal execution allows.

The NMI input is detected at the effective edge specified by external interrupt mode register INTM. Sampled
in each clock cycle, NMI is accepted when the active
level lasts for some clock cycles. When the NMI is
accepted, a number 2 vector interrupt is generated
after completion of the instruction currently being
executed.

PTO-PT7; Port with Comparator

REFRQ; Refresh Request
This output pulse can refresh nonstatic RAM. It can be
programmed to meet system specifications and is
internally synchronized so that refresh cycles do not
interfere with normal CPU operation.

The NMI input is also used to release the CPU standby
mode.

P07-POO; Port 0
Port 0 is an 8-bit bidirectional I/O port.

This input signal is asynchronous. A low on RESET for
a certain duration resets the CPU and all on-chip
peripherals regardless of clock operation. The reset
operation has priority over all other operations.
The reset signal is used for normal initialization/startup
and also for releasing the STOP or HALT mode. After
the reset signal returns high, program execution
begins from address FFFFOH.

6.

NEe

pPD70330/332 (V35)

R/W; Read/Write Strobe

X1, X2; Clock Control

When the memory bus cycle is initiated, the R/W signal
output to external hardware indicates a read (high
level) or write (low level) cycle. It can also control the
direction of bidirectional buffers.

The frequency of the internal clock generator is controlled by an external crystal or ceramic resonator
connected across pins X1 and X2. The crystal frequency is the same as the clock generator frequency
fx. Sy programming the PRC register, the system clock
frequency fCLK is selected as fx divided by 2, 4, or B.

RxDO, RxD1; Receive Data 0,1
These pins input data from serial channels 0 and 1.
In the asynchronous mode, when receive operation is
enabled, a low level on the RxDO or RxD1 input pin is
recognized as the start bit and receive operation is
initiated.
In the I/O interface mode (channel 0 only), receive data
is input to the serial register at the rising edge of the
receive clock.

SCKO; Serial Clock
The SCKO output is the transmit clock of serial
channelO.

TCO, TC1; Terminal Count 0, 1
The TCO and TC1 outputs go low when the terminal
count of DMA service channels 0 and 1, respectively,
reach zero, indicating DMA completion.

TOUT; Timer Output
The TOUT signal is a square-wave output from the
internal timer.

TxDO, TxD1; Transmit Data 0,1
These pins output data from serial channels 0 and 1.
In the asynchronous mode, the transmit signal is in a
frame format that consists of a start bit, 7 or 8 data bits
(least significant bit first), parity bit, and stop bit. The
TxDO and TxD1 pins become mark state (high level)
when transmit operation is disabled or when the serial
register has no transmit data.
In the I/O interface mode (channel 0 only), the frame
has B data bits and the most significant bit is transmitted first.

As an alternative to the crystal or ceramic resonator,
the positive and negative phases of an external clock
(with frequency fx) can be connected to pins X1
and X2.

Voo
+S-volt power source (two pins).
VTH

Comparator port PTO-PT7 uses threshold voltage VTH
to determine the analog reference points. The actual
thresholq to each comparator line is programmable to
VTH x n/16 where n = 1 to 16.

GND
Ground reference (two pins).

IC
Internal connection; must be tied to
through a 10-kO to 20-kO resistor.

VDD

externally

UBE, Upper Byte Enable
USE is a high-order memory bank selection signal
output. USE and Ao are used to decide which bytes of
the data bus will be used. USE is used along with Ao to
select the even/odd banks as follows.
Operand

UBE

Even address word

0

Odd address word

0

Even address byte

1

Odd address byte

0

AU
0

Number of bus cycles

1

2

7

NEe

pPD70330/332 (V35)
Block Diagram

AO
P20/DMAROO
P2 t /DMAAKO

Ae l At-Ai6 1As
A17 / Ata

P23/DMARQt
P24 I DMAAKt

Ata/UBE
RESET
HLDAK/P22
HLDRQ/P27
READY IPt7
MREQ
MSTB

~/TCO

At9

P%~:g.; =;:::===~
RxDO
P16 ISCKO . . . CTSO ...TxDt _....1,-----, 1''rY' I 1-"-_ _--'\.1

R/W

RxDt - CTSt --a==,,",",,~==;;!J
PtO I NMI
Ptt/lNTPO
Pt2/1NTPt
Pt3/1NTP2
IINTAK

I05TB
POLL liNT I P14

EA

Pt~

I POLL

X1
X2

TOUTlPts

REFRQ

CLKOUT/P07

PO

PI

P2

PTO-PT7

VTH
83-0049658

Functional Description
Architectural Enhancements
The following features enable the JlPD70330/332 to
perform high-speed execution of instructions:
• Dual data bus
• 16-/32-bit temporary registers/shifters (TA, TB,
TA +TB)
• 16-bit loop counter (LC)
• Program counter (PC) and prefetch pointer (PFP)
• Internal ROM pass bus (J1PD70332 only)
Dual Data Bus. The JlPD70330/332 has two internal
16-bit data buses: the main data bus and a subdata bus_
This reduces the processing time required for addition/
subtraction and logical comparison instructions by
one-third over single-bus systems. The dual data bus
method allows two operands to be fetched simultaneously from the general-purpose registers and
transferred to the ALU.
16-/32-Bit Temporary Registers/Shifters. The 16-bit
temporary registers/shifters (TA, TB) allow high-speed
execution of multiplication/division and shift/rotation
instructions. By using the temporary registers/shifters,

8

the JlPD70330/332 can execute multiplication/division
instructions about four times faster than with the
microprogramming method.
Loop Counter [LC]. The dedicated hardware loop counter
counts the number of loops for string operations and
the number of shifts performed for multiple bit shift/
rotation instructions. The loop counter works with
internal dedicated shifters to speed the processing of
mu Iti pi ication/d ivision instructions.
Program Counter and Prefetch Pointer [PC and PFP].
The hardware PC addresses the memory location of
the instruction to be executed next. The hardware PFP
addresses the program memory location to be accessed
next. Several clocks are saved for branch, call, return,
and break instructions compared with processors
having only one instruction pointer.
Internal ROM Pass Bus. The JlPD70332 features a
dedicated data bus between the internal ROM and the
instruction pre-fetch queue. This allows internal ROM
opcode fetches to be performed in a single clock cycle
(200 ns at 5 MHz); it also makes it possible for opcode
fetches to be performed while the external data bus is
busy. This feature gives the V35 a 10-20% performance
increase when executing from the internal ROM.

NEe
Register Set
The J.lPD70330/70332 CPUs have general purpose
register sets compatible with the J.lPD701 08/70116 and
the J.lPD70320/70322 microprocessors. Like the
J.lPD70320/70322, they also have a set of special function
registers for controlling the onboard peripherals. All
registers reside in the CPU's memory space. They are
grouped in a 4K byte block called the internal data area
(IDA). The 256 byte internal RAM is also in the IDA. The
addresses of the register are given as offsets into the
IDA. The start address of the IDA is set by the Internal
Data Area Base register (lOB), and may be programmed
to any 4K boundary in the memory address space.
Register Banks. Because the general purpose register
set is in internal RAM, it is possible to have multiple
banks of registers. TheJ.lPD70330/70332 CPU supports
up to 8 register banks. A bit field in the PSW selects
which bank is currently being used. Each bank contains the entire CPU register set plus additional
information needed for context switching. Register
banks may be switched using special instructions
(TSKSW, BRKCS, MOVSPA, MOVSPB), or may switch
in response to an interrupt. This provides fast context
switching and fast interrupt handling. During and after
RESET, register bank 7 is selected.
Figure 1 shows the configuration of a register bank and
how the banks are mapped to internal RAM. The Vector
PC treld contains the value that will be loaded into the
PC when a register bank switch occurs. The PC Save
and PSW Save fields contain the values of the PC and
the PSW just before the banks are switched. The PSW
is left unmodified after a bank switch; the PSW Save
field is used to restore the PSW to its previous state is
required.
General-Purpose Registers [AW, BW, CW, OW]. These
four 16-bit general-purpose registers can also serve as
independent 8-bit registers (AH, AL, BH, BL, CH, CL,
DH, DL). The instructions below use general-purpose
registers for default:
AW

Word multiplication/division, word 110, data
conversion

AL

Byte multiplication/division, byte 110, BCD
rotation, data conversion, translation

AH
BW

Byte multiplication/division
Translation

CW

Loop control branch, repeat prefix

CL

Shift instructions, rotation instructions, BCD
operations

OW

Word multiplication/division, indirect addressing I/O

pPD70330/332 (V35)
Figure 1.

Register Bank Configuration
Eight ~2-Byte
Register Banks
15
xxEFFH

0
Register Bank
7

xxEEOH
xxECOH

6

xxEAOH

5

xxE80H

4

xxE60H

3

xxE40H

2

xxE20H

1

xxEOOH

0

Banks 0-7

L- Start address; xx =value
specified by lOB register

32-Byte
Register Bank
0

15
AW
+lEH

AH

+lCH

GH

+lAH

DH

+18H

BH

I

AL

I

GL.

I

DL.

CW

ow
BW

+16H
+14H
+12H
+10H
+OEH
+OCH
+OAH
+08H
+06H
+04H
+02H
+OOH

I

BL

SP
BP

IX
IV
OS1
PS
SS
OSO
PC .torage
PSW Storage
Vector PC
Re.erved

L..= Offset
from register bank
start address
83M-004643

9

NEe

pPD70330/332 (V35)
Pointers [SP, BPl and Index Registers [IX, IV]. These
registers are used as 16-bit base pointers or index
registers in based addressing, indexed addressing,
and based indexed addressing. The registers are used
as default registers under the following conditions:

15

I

PSW
1

RB2

I,

RB1

RBO

F1

AC

I

8

V

I BRK I

DIR

IE

p

I BRKI I

SP

Stack operations

IX

Block transfer (source), BCD string operations

I

IY

Block transfer (destination), BCD string
operations

Status Flags

Control Flags

V

Overflow bit

DIR

S

Sign

Direction of string
processing

Z

Zero

IE

Interrupt enable

7

Segment Registers. The segment registers divide the
1M-byte address space into 64K-byte blocks. Each
segment register functions as a base address to a
block; the effective address is an offset from that base.
Physical addresses are generated by shifting the associated segment register left four binary digits and then
adding the effective address. The segment registers
are:
Segment Register

Default Offset

PS (Program segment)
SS (Stack segment)
DSO (Data segment-O)
DS1 (Data segment-1)

PC
SP, Effective address
IX, Effective address
IY, Effective address

During RESET, PS is set to FFFFH; DSO, DS1 and SS
are set to OOOOH. .
Program Counter [PC]. The PC is a 16-bit binary
counter that contains the offset address from the
program segment of the next instruction to be executed.
It is incremented every time an instruction is received
from the queue .. It is loaded with a new location
whenever a branch, call, return, break, or interrupt is
executed. During RESET, PC is serto OOOOH.

10

Program Status Word [PSW]. The PSW contains the'
following status and control flags.

's

I

o
z

AC Auxiliary carry
P

Parity

CY

Carry

FO

I

Cy

I

BRK Break (after every
instruction)
RBn

Current register
bank flags

BRKI I/O trap enable (see
software interrupts)
FO, F1 General-purpose
user flags
The eight low-order bits of the PSW can be stored in the
AH register and restored by a MOV instruction execution. The only way to alter the RBn bits via software is to
execute an RETRBI orRETI instruction. During RESET,
PSW is set to F002H. The FO and F1 flags may be accessed as bits in the FLAG special functioning register.

Memory Map
The pPD70330/332 has a 20-bit address bus that can
directly access 1M bytes of memory. Figure 2 shows that
the 16K bytes of internal ROM (pPD70332 only)
are located at the top of the address space from FCOOOH
to FFFFFH ..

NEe
Figure 2.

pPD70330/332 (V35)

Memory Map
Eight 128K-Byte
Memory Banks
[1 M-ByteMemoryj
15

0

Lr

FFFH lOB Registeri

FFFFFH
Memory Bank
7

EOOOOH
DFFFFH

16K"Byte
Internal ROM [JlPD70322j
15
87
0

FFFFBH

12 Byles

FFFEFH

Use ProhibitEid

FFEFFH

COOOOH
BFFFFH

6

AOOOOH
9FFFFH

5

80000H
7FFFFH

4

16,128 Bytes

FCOOOH

15

60000H
5FFFFH

3

40000H
3FFFFH

2

20000H
lFFFFH

1

OOOOOH

0

0

Special Function
Registers, 256 Bytes

{ "FFFH

xxFOOH
xxEFFH

_

512-Byte
Internal Data Area

256-Byte
Internal RAM

xxEOOH

,
1 K-Byte
Vector Area
{ 003FFH

~

OOOOOH

15
0
General-Purpose Vectors
Special-Purpose Vectors

32-Byte
Register Bank
15
+lFH

0
AW
CW
OW
BW
SP
BP
IX
IV

r--'

DSl
PS
SS
DSO
PC Storage

8-Byte
Macro Service Channel
15
0
8 7

PSW Storage
Vector PC

Eight 32-Byte
Register Banks
15
xxEFFH

+OOH

~{

Reserved

0

xxEEOH

Register Bank
7

xxECOH

6

xxEAOH

5

xxE80H

4

xxE60H

3

xxE40H

2

xxE20H

1

xxEOOH

0

Eight 8-Byte
Macro Service Channels
15
0
xxE3FH
Macro Service Channel
7
xxE38H

-

~

xxE30H

6

xxE28H

5

xxE20H

4

xxE18H

3

xxEl0H

2

+7H

MSS
MSP
Reserved

+OH

SFRP

1

xxEOOH

0

SCHR
MSC

Two 8-Byte
DMA Service Channels
0
15
8 7
xxEOFH

xxE08H

I
I

-

]-I

Chan 1

TCl
SARH1

xxEOOH

OARHl

SARl

xxE08H
xxE07H
ChanO

I
DARl
TCO

SARHO

I

DARHO

DARO
SARO
83-004644C

11

NEe

pPD70330/332 (V35)
Figure 2 shows the internal data area (IDA) is a 256byte internal RAM area followed consecutively by a
256-byte special function register (SFR) area. All the
data and control registers for on-chip peripherals and
I/O are mapped into the SFR area and accessed as
RAM. For a description of these functions, see table 6.
The IDA is dynamically relocatable in 4K-byte increments by changing the value in the internal data base
(lOB) register. Whatever value is in this register will be
assigned as the uppermost eight bits of the IDA
address. The lOB register can be accessed from two
different memory locations, FFFFFH and XXFFFH,
where XX is the value in the lOB register.
On reset, the internal data base register is set to FFH
which maps the IDA into the internal ROM space.
However, since the pPD70332 has a separate bus to
internal ROM, this does not present a problem. When
these address spaces overlap, program code cannot be
executed from the IDA and internal ROM locations
cannot be accessed as data.
Figure 2 shows that the internal data area is divided into
2 parts: the 256 byte internal RAM and the special
function register area.
The internal RAM area serves various purposes. When
the RAMEN bit in the Processor Control Register is set,
this area may be accessed as RAM and code may be
executed from it. Note that the processor may ru n
slower when the RAMEN bit is set. See the Instruction
Clock Count table. I n addition, whether the RAMEN bit
is on or off, each of the B macroservice channels has an
B byte control block that is assigned to a fixed location
in the low 64 bytes of the internal RAM. Similarly, the
two B byte DMA control blocks are assigned to the low
16 bytes of the RAM. The B CPU register banks use 32
bytes each. Since the RAM can't be used for more than
one purpose, there are restrictions on how V35 features
can be combined. For example, if register bank 0 is
used, then macroservice channels 0-3 and both DMA
channels cannot be used. If DMA channel 1 is used,
then macroservice channel 1 cannot be used.
The special function register area contains the registers
used to control the onboard peripheral functions.
Table 6 shows the SFRs. The address shown in the
table is an offset from the lOB register. MostSFRs can
be both read and written, but some are read-only;
others are write-only. Some SFRs may be accessed
one bit at a time; others only B bits at a time, and some
SFRs are 16 bits wide.

12

Instructions
The pPD70330/332 instruction set is fully compatible
with the V20 native mode instruction set. The V20
instruction set is a superset of the pPDBOB6/BOBB
instruction set with different execution times and
mnemonics.
The pPD70330/332 does not support the V20 BOBO
emulation mode. All of the instructions pertaining to
this have been deleted from the pPD70330/332 instruction set.

Enhanced Instructions
In addition to the pPDBOB6/BB instructions, the
pPD70330/332 has the following enhanced instructions.
Instruction

Function

PUSH imm

Pushes immediate data onto stack

PUSH R

Pushes eight general registers onto
stack

POPR

Pops eight general registers from stack

MUL imm

Executes 16-bit multiply of register or
memory contents by immediate data

SHL immB
Shifts/rotates register or memory by
SHR immB
immediate value
SHRA immB
ROL immB
ROR immB
ROLC immB
RORC immB
CHKIND

Checks array index against designated
boundaries

INM

Moves a string from an 110 port to
memory

OUTM

Moves a string from memory to an I/O
port

PREPARE

Allocates an area for a stack frame and
copies previous frame pointers

DISPOSE

Frees the current stack frame on a
procedure exit

NEe

pPD70330/332 (V35)

Unique Instructions
The pPD70330/332 has the following unique
instructions.
Instruction Fu nction
INS

Inserts bit field

EXT

Extracts bit field

ADD4S

Performs packed BCD string addition

SUB4S

Performs packed BCD string subtraction

CMP4S

Performs packed BCD string
comparison

ROl4

Rotates BCD digit left

ROR4

Rotates BCD digit right

TEST1

Tests bit

SET1

Sets bit

ClR1

Clears bit

Bit field insertion copies the bit field of specified length
from the AW register to the bit field addressed by
DS1:IY:reg8 (8-bit general-purpose register). The bit
field length can be located in any byte register or
supplied as immediate data. Following execution, both
the IY and reg8 are updated to point to the start of the
next bit field.
Bit field extraction copies the bit field of specified
length from the bit field addressed by DSO:IX:reg8 to
the AW register. If the length of the bit field is less than
16 bits, the bit field is right justified with a zero fill. The
bit field length can be located in any byte register or
supplied as immediate data. Following execution, both
IX and reg8 are updated to point to the start of the next
bit field.

NOT1

Complements bit

BTClR

Tests bit; if true, clear and branch

REPC

Repeat while carry set

REPNC

Repeat while carry cleared

Figures 3 and 4 show bit field insertion and bit field
extraction.

Packed BCD Instructions

Variable Length Bit Field Operation Instructions

Packed BCD instructions process packed BCD data
either as strings (ADD4S, SUB4S, CMP4S) or byte
format operands (ROR4, ROl4). Packed BCD strings
may be 1 to 254 digits in length. The two BCD rotation
instructions perform rotation of a single BCD digit in
the lower half of the Al register through the register or
the memory operand.

Bit fields are a variable length data structure that can
range in length from 1 to 16 bits. The pPD70330/332
supports two separate operations on bit fields: insertion
(INS) and extraction (EXT). There are no restrictions
on the position of the bit field in memory. Separate
segment, byte offset, and bit offset registers are used
for insertion and extraction. Following the execution of
these instructions, both the byte offset and bit offset
Figure 3.

are left pointing to the start of the next bit field, ready
for the next operation. Bit field operation instructions
are powerful and flexible and are therefore highly
effective for graphics, high-level languages, and packingl
unpacking applications.

Bit Field Insertion
Bit length

15

o

AW
Bit offset

Memory

Byte boundary

Segment base (OS1)
83-0001068

13

NEe

pPD70330/332 (V35)
Figure 4.

Sit Field Extraction
Bit length

Bit offset

Byte boundary

Segment base (050)

83-0001076

Bit Manipulation Instructions

Bank Switch Instructions

The jlPD70330/332 has five unique bit manipulation
instructions. The ability to test, set, clear, or complement a single bit in a register or memory operand
increases code readability as well as performance over
the logical operations traditionally used to manipulate
bit data. This feature further enhances control over
on-chip peripherals.

The V35 has four new instructions that allow the
effective use of the reg ister ban ks for software i nterru pts
and multitasking. These instructions are shown in
table 2. Also, see figures 8 and 10.

Instruction

Function

Additional Instructions

BRKCS reg 16

Performs a high-speed software interrupt with
context switch to the register bank indicated
by the lower 3-bits of reg 16. This operation is
identical to the interrupt operation shown in
figure9.

TSKSW reg 16

Performs a high-speed task switch to the
register bank indicated by the lower 3-bits of
reg 16. The PC and PSW are saved in the old
banks. PC and PSW save registers and the new
PC and PSW values are retrieved from the new
register bank's save areas. See figure 10.

MOVSPA

Transfers both the SS and SP of the old
register bank to the new register bank after
the bank has been switched by an interrupt or
BRKCS instruction.

MOVSPB

Transfers the SS and the SP of the current
register bank before the switch to the SS and
SP of the new register bank indicated by the
lower 3-bits of reg 16.

Besides the V20 instruction set, the JlPD7033010332
has the eight additional instructions described in
table 1.
Table 1.

Additionallnstructions

Instruction

Function

BTCLR var,imm8,
short label

Bit test and if true, clear and branch;
otherwise, no operation

STOP (no operand)

Power down instruction, stops oscillator

RETRBI (no operand)

Return from register bank context switch
interrupt

FINT (no operand)

Finished interrupt. After completion of a
hardware interrupt request, this instruction
must be used to reset the current priority
bit in the in-service priority register (ISPR).*

Table 2.

Sank Switch Instructions

*00 not use with NMI or INTR interrupt service routines.

Interrupt Structure
Repeat Prefixes
Two new repeat prefixes (REPC; REPNC) allow conditional block transfer instructions to use the state of
the CY flag as the termination condition. This allows
inequalities to be used when working on ordered data,
thus increas'ing performance when searching and
sorting algorithms.

14

The JlPD70330/332 can service interrupts generated
both by hardware and by software. Software interrupts
are serviced through vectored interrupt processing.
See table 3 forthe various types of software interrupts.

NEe
Table 3.

Software Interrupts

Interrupt
Divide error

pPD70330/332 (V35)
Figure 5.

Interrupt Vector 0

. Description
Vector 0

The CPU will trap if a divide error occurs as the
result of a DIV or DIVU instruction.

OOOH

Single step

The interrupt is generated after every instruction
if the BRK bit in the PSW is set.

002H

Overflow

By using the BRKV instruction, an interrupt can be
generated as the result of an overflow.

Interrupt
instructions

The BRK 3 and BRK imm8 instructions can
generate interrupts.

Array bounds

The CHKIND instruction will generate an interrupt
if specified array bounds have been exceeded.

Table 4.

Escape trap

The CPU will trap on an FP01,2 instruction to
allow software to emulate the floating point
processor.

00

1/0 trap

If the 1/0 trap bit in the PSW is cleared, a trap will
be generated on every IN or OUT instruction.
Software can then provide an updated peripheral
address. This feature allows software
interchangeability between different systems.

:I

001H

003H

PS +- (OO3H, 002H)

pc <- (OO1H, OOOH)

83-000112A

Address

Interrupt Vectors
Vector No.
0

Assigned Use
Divide error
Break flag

04
08

2

NMI

OC

3

BRK3 instruction

10

4

BRKV instruction

14

5

CHKIND instruction

18

6

General purpose

1C

7

FPO instructions

20-2C

8-11

General purpose

30

12

INTSERO (Interrupt serial error, channel 0)
INTSRO (Interrupt serial receive, channel 0)

When executing software written for another system, it
is better to implement liD with on-chip peripherals to
reduce external hardware requirements. However,
since J.lPD70330/332 internal peripherals are memory
mapped, software conversion could be difficult. The
I/O trap feature allows easy conversion from external
peripherals to on-chip peripherals.

34

13

38

14

INTSTO (Interrupt serial transmit, channel 0)

Interrupt Vectors

3C

15

General purpose

The starting address of the interrupt processing
routines may be obtained from table 4. The table
begins at physical address OOH, which is outside the
internal ROM space. Therefore, external memory is
required to .service these routines. By servicing interrupts via the macro service function or context
switching, this requirement can be eliminated.

40

16

INTSER1 (Interrupt serial error, channel 1)

44

17

INTSR1 (Interrupt serial receive, channel 1)

48

18

INTST1 (Interrupt serial transmit, channel 1)

4C

19

I/O trap

50

20

INTDO (Interrupt from DMA, channel 0)

54

21

INTD1 (Interrupt from DMA, channel 1)

Each interrupt vector is four bytes wide. To service
a vectored interrupt, the lower addressed word is
transferred to the PC and the upper word to the PS.
See figure 5.

58

22

General purpose

5C

23

General purpose

60

24

INTPO (Interrupt from peripheral 0)

64

25

INTP1 (Interrupt from peripheral 1)

68

26

INTP2 (Interrupt from peripheral 2)

6C

27

General purpose

70

28

INTTUO (Interrupt from timer unit 0)

74

29

INTTU1 (Interrupt from timer unit 1)

78

30

INTTU2 (Interrupt from timer unit 2)

7C

31

INTTB (Interrupt from time base counter)

080-3FF

32-255

General purpose

m

15

NEe

pPD70330/332 (V35)
Execution of a vectored interrupt occurs as follows:
(SP-1, SP-2) - PSW
(SP-3, SP-4) - PS
(SP-5, SP-6) - PC
SP +- SP-6
IE-O,BRK-O
PS +- vector high bytes
PC +- vector low bytes

If interrupts from different groups occur simultaneously
and the groups have the same assigned priority level,
the priority followed will be as shown in the Default
Priority column of table 5.
The ISPR is an 8-bit SFR; bits PRo-PR7 correspond to
the eight possible interrupt request priorities. The
ISPR keeps track of the priority of the interrupt currently being serviced by setting the appropriate bit.
The address of the ISPR is XXFFCH. The ISPR format
is shown below.

Hardware Interrupt Configuration
The V35 features a high-performance on-chip controller capable of controlling multiple processing for
interrupts from up to 17 different sources (5 external,
12 internal). The interrupt configuration includes
system interrupts that are functionally compatible with
those of the V20IV30 and unique high-performance
microcontroller interrupts.

I

PR 7

I

PRs

I

PRs

I

PR4

I

PR3

I

PR2

I

PR1

I

PRo

I

Interrupt Sources

NMI and INT are system-type external vectored
interrupts. NMI is not maskable via software. INTR is
maskable (IE bit in PSW) and requires that an external
device provide the interrupt vector number. It allows
expansion by the addition of an external interrupt
controller (pPD71059).

The 17 interrupt sources (table 5) are divided into
groups for management by the interrupt controller.
Using software, each of the groups can be assigned a
priority from 0 (highest) to 7 (lowest). The priority of
individual interrupts within a group is fixed in hardware.

NMI, INTPO, and INTP1 are edge-sensitive interrupt
inputs. By selecting the appropriate bits in the interrupt
mode register, these inputs can be programmed to be
either rising or falling edge triggered. ESo-ES2 correspond to INTPO-INTP2, respectively. See figure 6.

Figure 6.

Interrupt Mode Register (INTM)
7

INTM

o

6

I I I I I I I I I
0

ES2

0

ES1

0

ESo

0

ES
NMI

Trigger Mode

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge

0

Falling Edge

1

Rising Edge
49-0013828

16

NEe
Table 5.

pPD70330/332 (V35)

Interrupt Sources

Interrupt Source
NMI
Nonmaskable interrupt
INTTUO
Interrupt from timer
unit 0
INTTU1
Interrupt from timer
unit 1
INTTU2
Interrupt from timer
unit 2
INTDO
Interrupt from DMA
channel 0
INTD1
Interrupt from DMA
channel 1
INTPO
Interrupt from
peripheral 0
INTP1
Interrupt from
peripheral 1
INTP2
Interrupt from
peripheral 2
INTSERO
Interrupt from serial
error on channel 0
INTSRO
Interrupt from serial
receiver of channel 0
INTSTO
Interrupt from serial
transmitter of channel 0
INTSER1
Interrupt from serial
error on channel 1
INTSR1
Interrupt from serial
receiver of channel 1
INTSn
Interrupt from serial
transmitter of channel 1
INTTB
Interrupt from time
base counter
INT
Interrupt

External/
Internal
External

Priority Order
Between
Groups

Multiple
Processing
Control
Not
accepted
Accepted

Vector
2

Macro
Service
No

Bank
Switching
No

Setting
Possible
No

Internal

28

Yes

Yes

Yes

Internal

29

Yes

Yes

Yes

2

Internal

30

Yes

Yes

Yes

3

Internal

20

No

Yes

Yes

2

Internal

21

No

Yes

Yes

2

External

24

Yes

Yes

Yes

3

External

25

Yes

Yes

Yes

3

2

External

26

Yes

Yes

Yes

3

3

Internal

12

No

Yes

Yes

4

Internal

13

Yes

Yes

Yes

4

2

Internal

14

Yes

Yes

Yes

4

3

Internal

16

No

Yes

Yes

5

Internal

17

Yes

Yes

Yes

5

2

Internal

18

Yes

Yes

Yes

5

3

Internal

31

No

No

No
(Preset to 7)

6

Accepted

External

Ext.
input

No

No

No

7

Not
accepted

Within
Groups

0

Accepted
2
Accepted

1m
Accepted

Accepted

17

NEe

pPD70330/332 (V35)
Interrupt Processing Modes

Register Bank Switching

Interrupts, with the exception of NMI, INT, and INTTB,
have high-performance capability and can be processed in any of three modes: standard vectored interrupt, register bank context switching, or macro service
function; The processing mode for a given interrupt
can be chosen by enabling the appropriate bits in the
corresponding interrupt request control register. As
shown in table 6, each individual interrupt, with the
exception of INTR and NMI, has its own associated IRC
register. The format for all IRC registers is shown in
figure 7. There is an IRC for every interrupt source
except NHI and INT.

Register bank context switching allows interrupts to be
processed rapidly by switching register banks. After an
interrupt, the new register bank selected is that which
has the same register bank number (0-7) as the priority
of the interrupt to be serviced. The PC and PSWare
automatically stored in the save areas of the new
register bank and the address of the interrupt routine is
loaded from the vector PC storage location in the new
register bank. As in the vectored mode, the IEand BRK
bits in the PSW are cleared to zero. After interrupt
processing, execution of the RETRBI (return from
register bank interrupt) returns control to the former
register bank and restores the former PC and PSW.
Figures 8 and 9 show register bank context switching
and register bank return.

All interrupt processing routines other than those for
NMI and INT must end with the execution of an FINT
instruction. Otherwise, subsequently, only interrupts
of a higher priority will be accepted. FINT allows the
internal interrupt controller to begin looking for new
interrupts.
In the vectored interrupt mode, the CPU traps to the
vector location in the interrupt vector table.

Figure 7.

Symbol

IRC Register

DICO, DIC1
EXICO-EXIC2
SEICO, SEIC1
SRICO, SRIC1
STICO, STIC1
TMICO-TMIC2

DMA
External
Serial error
Serial receive
Serial transmit
Timer

Interrupt Request Control Registers (lRC)
7

IRC

Specific IRC registers include the following.

f

FLAG

4

6

2

1 J I I I I I
MASK

MSI
INT

ENCS

0

PR2

L

PR1

o
PRo

J
PR
2 1 0

Priority

000

Highest

1 1 1

Lowest

ENCS

Context Switch

···
0

Vectored Interrupt Mode

1

Bank Switching

MS/INT

0

Macro Service or Interrupt
Interrupt

1

Macro Service

xxMKn

Interrupt Mask

0
1
xxFn

Mask Open: Interrupts Enabled
Mask Closed: Interrupts Disabled
Interrupt Request Flag

0

No Request

1

Interrupt Requested
49-0013838

18

NEe

pPD70330/332 (V35)
Macro Service Function

Figure 8.· Register Bank Context Switching
RBi

The macro service function (MSF) is a special microprogram that acts as an internal DMA controller between on-chip peripherals (special function registers,
SFR) and memory. The MSF greatly reduces the
software overhead and CPU time that other processors
would require for register save processing, register
returns, and other handling associated with interrupt
processing.

RBj

AW

AW

CW

CW

OW

OW

BW

BW

SP

SP

Q

BP

IX

BP

IX

IV

IV

OS1

OS1

PS

PS

SS

SS

OSO
Save PC

,.

Save PC

f---+

SavePSW

-

SavePSW

If the MSF is selected for a particular interrupt, each
time the request is received, a byte or word of data will
be transferred between the SFR and memory without
interrupting the CPU. Each time a request occurs, the
macro service counter is decremented. When the
counter reaches zero, an interrupt to the CPU is
generated. The MSF also has a character search
option. When selected, every byte transferred will be
compared to an a-bit search character and an interrupt
will be generated if a match occurs or if the macro
service counter counts out.

OSO

Vector PC

Vector PC

Reserved

Reserved

f--

.----

y

L-f

Like the NMI, INT and INTTB, the two DMA controller
interrupts (INTDO, INTD1) do not have MSF capability.

I

PC
PSW

49-001344A

Figure 10.

Task Switching

Figure 9. .Register Bank Return

CURRENT

NEW

AW

AW

cw

RBi

RBj

CW

AW

AW

OW

OW

CW

CW

BW

BW

SP

OW

OW

BW

BW

SP

SP

IX

BP

BP

IV

IV

OS1

OS1

PS

PS

¢J

IX
IV

IX
IV

OS1

OS1

PS

PS

SS

SS

OSO

OSO

Save PC
SavePSW

r---

.---

~avePC

+--

SavePSW

Vector PC

Vector PC

Reserved

Reserved

lr
L-J

SP

(>

BP

r-

IX

SS

SS

oso

oso
,-----

PC Save

,-j-.; PSWSave

~
~

PC

BP

.------'--

PC Save
PSWSave

VPC

VPC

Reserve

Reserve

PC
PSW

~
~

VPC: Vector PC
RB: Register b ank field

RBL
Reg 16

PSW

83-MB005273A

49-001346A

19

NEe

pPD70330/332 (V35)
There are eight 8-byte macro service channels mapped
into internal RAM from XXEOOH to XXE3FH. Figure 11
shows the components of each channel.
Setting the macro service mode for a given interrupt
requires programming the corresponding macro service control register. Each individual interrupt, excluding INTR, NMI and TBC, has its own associated MSC
register. See table 6. Format for all MSC registers is
shown in figure 12.
Figure 11.

Macro Service Channels
8

15
+7H

Clock

o

7

SCLK/6
SCLK/128

MSS
MSP

r

+OH

Reserved

SCHR

SFRP

MSC

Interval Timer Mode. In this mode, TMO/TMl are
decremented by the selected input clock and, after
counting out, the registers are automatically reloaded
from the modulus registers and counting continues.
Each time TMl counts out, interrupts are generated
through TFl and TF2 (Timer Flags 1, 2). When TMO
counts out, an interrupt is generated through TFO.
The timer-out signal can be used as a square-wave
output whose half-cycle is equal to the count time.
There are two selectable input clocks (SCLK: system
clock = fose/2; fose = 10 MHz).

Offset from macro service channel start address.

+6H

Segment value of memory address used
for data transfer. Memory address
will be MSS x 16 + MSP.

MSP

+4H

Offset value of memory address used
for data transfer.

SCHR

+2H

B·bit data compared In character search.

SFRP

+1H

Offset value of special function register
address, which is xxFOOH + SFRP. (xx is
specified by 108 register).

MSC

+OH

Number of transfers performed in
macro service
83M·OO5285A

On-Chip Peripherals
Timer Unit
The JlP070330/332 (figure 13) has two programmable
16-bit interval timers (TMO, TM1) on-chip, each with
variable input clock frequencies. Each of the two 16-bit
timer registers has an associated 16-bit modulus
register (MOO, MOl). Timer 0 operates in the interval
timer mode or one-shot mode; timer 1 has only the
interval timer mode.

Full Count

1.2J1s
25.6J1s

78.643 ms
1.678 s

One-Shot Mode. In the one-shot mode, TMO and MOO
operate as independent one-shot timers. Starting with
a preset value, each is decremented to zero. At zero,
counting ceases and an interrupt is generated by TFO
(from TMO) or TFl (from MDO). One-shot mode allows
two selectable input clocks (fose = 10 MHz).
Clock

MSS

Timer Resolution

SCLK/12
SCLK/128

Timer Resolution

Full Count

2.4 JlS
25.6 JlS

157.283 ms
1.678 s

Setting the desired timer mode requires programming
the timer control register. See figures 14 and 15 for
format.

Time Base Counter/Processor Control Register
The 20-bit free-running time base counter controls
internal timing sequences and is available to the user
as the source of periodic interrupts at lengthy intervals.
One of four interrupt periods can be selected by programming the TBO and TBl bits in the processor
control register (PRC). The TBC interrupt is unlike the
others in that it is fixed as a level 7 vectored interrupt.
Macro service and register bank switching cannot be
used to service this interrupt. See figures 16 and 17.
The RAMEN bit in the PRC register allows the internal
RAM to be removed from the memory address space to
implement faster instruction execution.
The TBC (figure 18) uses the system clock as the input
frequency. The system clock can be changed by
programming the PCKO and PCKl bits in the processor
control register (PRC). Reset initializes the system
clock to fose/8 (fose = external oscillator frequency).

20

NEe
Figure 12.

pPD70330/332 (V35)

Macro Service Control Registers (MSC)

I

MSM2

o

4

7
xxMSn

I

MSM1

I

MSMo

I

DIR

I

0

I

CH2

L

I

CH1

I

CHo

J
2

1

0

Macro Service Channel

0

0

0

Channel 0

1

1

Channel 7

1

··
·

.

Transfer Direction
0

From Memory to SFR

1

From SFR to Memory
Transfer Mode

*

* All other combinations are reserved

0
0
1

0
0
0

0
1
0

8-bit Transfer
16-bit Transfer
8-bit Transfer with Character Search
49-001384B

Figure 13.

I

Timer Unit Block Diagram

fSCLK

Idivided bY~

12:~L..-"':""":""'-I
12~
128

r----L~~r-~

1-----oTO

- - - - - - - - - L(";,.- - - - -. - - - - - - - - - - - - -

r

V

Internal Bus
83SL--s746A

21

NEe

pPD70330/332 (V35)
Figure 14.

Timer Control Register 0
5

6

I

I

TSO

TCLKO

I

MSO

4

I

MCLK

o

2

I

ENTO

I

ALV

I

MOD1

MODO

I

I
MOD1

MODO

0

0

Timer Mode
Interval Timer Mode

0

1

One-shot Timer Mode

1

X

Reserved
Active Level ofTOUT

0

TOUT initial level = 0

1

TOUT initial level = 1

0

Disable Timer Out

1

Enable Timer Out

0

SCLK/12

1

SCLK/128

0

Stop Modulus Register Count

1

Start Modulus Register Count

Enable Timer-Out Signal

One-shot Mode Modulus Register Clock

Modulus Start (One-shot Mode)

TM Register Clock Select
MOD1

MODO

TCLK

0

0

0

SCLK/6 Interval Timer Mode

0

0

1

SCLK/128

0

1

0

SCLK/12 One-shot Mode

0

1

1

SCLK/128
Timer Start Bit

0

Stop Timer"

1

Start Timer"

"Starts and stops TMO in one-shot mode
49-0013878

Figure 15.

Timer Control Register 1
7

I

TS1

6

I

TCLK1

I

4

5

I

0

I

0

3

I

0

o

2

I

0

I

0

I

0

TM1 Clock Select

o
1

I SCLK/6
I SCLK/128
Timer Start Bit

o
1

I Stop TM1 counting
I Start TM1 counting
49-0013898

22

NEe
Figure 16.

Time Base Interrupt Request Control Reg/ster

I

I

TBMK

3

4

6

7
TBF

pPD70330/332 (V35)

I

0

I

0

I

0

o

2

I

1

J

1

l

1

I

Time Base Interrupt Mask Bit

oI

Unmasked

1

I

Masked

o

I No Interrupt Generated

Time Base Interrupt Flag

1

I

Interrupt Generated
49-0013936

Figure 17.

Processor Control Register (PRC)

I

0

5

6

7
PRC

I

RAMEN

I

0

4

I

0

o

3

I

TB1

TBO

I

I

I

PCK1

I

I

PCKO

I

I

System Clock,Select
PCK1

PCKO

0

0

fosc/ 2

0

1

fosc/ 4

1

0

fosc/8

1

1

Reserved

Time Base Interrupt Period
TB1

TBO

0

0

0

1

1

0

1

1

21O /fCLK
213/fCLK
216/fCLK
22O/fCLK

Internal RAM Enable

0

Disabled

1

Enabled
49-0013956

Figure 18.

Time Base Counter (TBC) Block Diagram

SCLK

+210

+ 213

+216

+220
49-001348A

23

NEe

pPD70330/332 (V35)
Refresh Controller
The pPD70330/332 has an on-chip refresh controller
for dynamic and pseudostatic RAM mass storage
memories. The refresh controller generates refresh
addresses and refresh pulses. It inserts refresh cycles
between the normal CPU bus cycles according to
refresh specifications.

HOLD modes. Refresh. cycles- are automatically timed
to REFRQ following read/writecycles to minimize the
effect on system though put.
The following shows the REFRQ pin level in relation to
bits 4 (RFEN) and 7 (RFLV) of the refresh mode
register.
RFEN

The refresh controller outputs a9-:bitrefresh address
on address bits Ao-As during the refresh bus cycle.
Address bits Ag-A19 are all 1'So The 9-bit refresh
address is automatically incremented at every refresh
timing for 512 row addresses. The 8-bit refresh mode
(RFM) register (figure 19) specifies the refresh operation and allows refresh during both CPU HALT and

Figure 19.

I

REFRQ Level

0
1
0
1

0
1

0
Refresh pulse output

Refresh Mode Register (RFM)
7

RFM

RFLV

--

0
0
1
1

RFLV

I

6
HLDRF

4

I

HLTRF

I

RFEN

o

2

I

RFW1

RFWO

I

I

I

RFT1

RFTO

Refresh Cycle Speed
Refresh Period

RFT1

RFTO

0

0

16/SCLK

0

1

32/SCLK

1

0

64/SCLK

1

1

128/SCLK

RFW1

RFWO

0

0

0

0

1

1

1

0

2

1

1

Refresh Cycle Wait States
Number of Wait States

2

Refresh Enable

= RFLV

0

Refresh Pin

1

Refresh Enabled

0

Refresh Duringtialt Disabled

1

Refresh During CPU HALT

0

Hold Refresh Disabled

1

Refresh During Hold

Halt Refresh Enable

Hold Refresh Enable

Refresh level output
to RFSH pin when RFEN

=0
49-001392B

24

NEe

pPD70330/332 (V35)

Serial Interface

Baud Rate

ThepPD70330/332 has two full-duplex UARTs, channel
and channel 1. Each serial port channel has a
transmit line (TxDn), a receive line (RxDn), and a clear
to send (CTSn) input line for handshaking. Communication is synchronized by a start bit, and you can
program the ports for even, odd, or no parity, character
lengths of 7 or 8 bits, and 1 or 2 stop bits.

o

ThepPD70330/332 has dedicated baud rate generators
for each serial channel. This eliminates the need to
obligate the on-chip timers. The baud rate generator
allows a wide range of data transfer rates (up to 1.25
Mb/s). This includes all of the standard baud rates
without being restricted by the value of the particular
external crystal.
Each baud rate generator has an 8-bit baud rate
generator (BRGn) data register, which functions as a
prescaler to a programmable input clock selected by
the serial communication control (SCCn) register.
Together these must be set to generate a frequency
equivalent to the desired baud rate.
The baud rate generator can be set to obtain the
desired transmission rate according to the following
formula:
B
X

G = SCLK X 10
2n + 1

6

where B = baud rate
G = baud rate generator register (BRGn)
value
n = input clock specifications (n between
o and 8). This is the value that is loaded
into the SCCn register. See figure 23.
SCLK = system clock frequency (MHz)

BRGn Value

Error (%)

110

7

178

0.25

150

7

130

0.16

300

6

130

0.16

600

5

130

0.16
0.16

1200

4

130

2400

3

130

0.16

4800

2

130

0.16

9600

1

130

0.16

19,200

0

130

0.16

38,400

0

65

0.16

1.25M

0

2

0

In addition to the asynchronous mode, channel 0 has a
synchronous I/O interface mode. I n this mode, each bit
of data tranferred is synchronized to a serial clock
(SCKO). This is the same as the NEC pCOM75 and
pCOM87 series, and allows easy interfacing to these
devices. Figure 20 is the serial interface block diagram;
figures 21,22, and 23 show the three serial communication registers.

DMA Controller
The pPD70330/332 has a two-channel, on-chip DMA
controller. This allows rapid data transfer between
memory and auxiliary storage devices. The DMA controller supports four modes of operation, two for
memory-to-memory transfers and two for transfers
between I/O and memory. See figu res 24, 25, and 26 for
a graphic representation of the DMA registers.

Based on the above expression, the following table
shows the baud rate generator values used to obtain
standard transmission rates when SCLK = 5 MHz.

25

NEe

pPD70330/332 (V35)
Figure 20.

Serial Interface· Block Diagram

TxDO
RxDO
CTSO

Baud Rate
Generator

SCKO

TxD1
RxD1
CTS1

Baud Rate
Generator

49-001349B

26

NEe
Figure 21.

pPD70330/332 (V35)

Serial Communication Mode Register (SCM)
4

7
SCM

I

TxRDY

I

RxE

I

PRTY1

PRTYO

I

I

3

I

CL/TSK

I

SL/RSCK

I

MD1

MDO

I

I
MD1 MDO

0

0

Mode
I/O Interface [Note 1]

0

1

Asynchronous

1

X

Reserved

Stop Bit Length/Rcv Clk [Note 3]

0

1 Stop Bit/Ext Clk [input on CTSO]

1

2 Stop Bits/lnt Clk [output on CTSO]

Char Length/Trans Shift Clk [Note 3]

0

7 Bits/No Effect

1

8 Bits/Trigger Transmit

PRTY
Parity Control
1

0

0

0

No Parity

0

1

o Parity [Note 2]

1

0

Odd Parity

1

1

Even Parity
Receiver Control

0

Disable

1

Enable

0

Disable

1

Enable

Transmitter Control

Notes.
[1] Only Channel 0 has I/O interface mode.
[2] When 0 parity is selected, the parity is 0
during transmit and is ignored during receive.
[3] Applies only to I/O interface mode.
49-0013858

27

NEe

pPD70330/332 (V35)
Figure 22.

Serial Communication Error Registers (SCE)
7

SCEn

I

5

6

I

RxD

I

0

I

o

3

4

0

0

I

0

I

ERP

I

ERF

I

ERO

L

Overrun Error Flag
1
o

I Overrun has occurred
I Overrun has not occurred
Framing Error

1
o

I Stop bit not detected
I Framing error has not occurred
Parity Error

o

I
I

1

1 RxD Line = 1

1

Parity error has occurred
No parity error has occurred
RxD Line Status

o

I

RxD Line = 0
49-001386A

Figure 23.

Serial Communication Control Register (SCC)
7

sec

l

0

6

I

0

I

I

0

2

3

4
0

I

PRS3

I

I

PRS2

PRS1

I

o
PRSo

I
PRS
321 0
0000

*AII oth er combinations after 1000 are illegal

Input clock for baud
rate generator
SCLK/2

0001

SCLK/4

00 1 0

SCLK/8

o0 1 1

SCLK/16

01 00

SCLK/32

01 01-

SCLK/64

o 1 1 0

SCLK/128

o 1 1 1

SCLK/256

1 000

SCLK/512*
49-0013888

28

NEe
Figure 24.

pPD70330/332 (V35)

DMA Channels

TC1
SARH1

XXEOEH

I

OARH1

OAR1

SARHO

SAR1

Channel 1

TCO

Channel 0

I

OARHO

OARO
SARO

XXEOOH

1-16 B i t s - J
49-001350A

Figure 25.

DMA Mode Registers (DMAM)

o

4

1

M02

I

·1

MOl

I

MOo

I

1

W

1

EOMA

1

TDMA

1

0

1

0

OMAMO
OMAM1

Trigger OMA [Note 1 J

oJ
1

I

No Effect
Trigger DMA
Enable DMA [Note 2J

o
1

I Disable DMA
I Enable DMA
Word/byte

oI
1

I

Byte Transfers
Word Transfers
DMAMode

MD2

Notes:
[1 J Valid only during single-step and burst
modes.
[2J Cleared when TC = 0; cleared when DMA
transfer is aborted by NMI.

MOl

MOo

0

0

0

Single Step (Mem to Mem)

0

0

1

Demand Release (110 to Mem)

0

1

0

Demand Release (Mem to 1/0)

0

1

1

Reserved

1

0

0

Burst Mode (Mem to Mem)

1

0

1

Single Transfer (110 to Mem)

1

1

0

Single Transfer (Mem to 110)

1

1

1

Reserved
49·001390B

29

!VEe

pPD70330/332 (V35)
Figure 26.

DMA Control Registers (DMAC)
4

I

0

I

0

I

PD1

PD~

I

I

o

2

I

0

I

0

I

PS1

I

I

I

PSO

I

DMACO
DMAC1

Source Address Increment/Decrement Control
PS1

PSO

0

0

Source Address not
Incremented/Decremented

0

1

Increment Source Address

1

0

Decrement Source Address

1

1

Source Address not
Incremented/Decremented

Destination Address IncrementlDecrement Control
PD1

PD~

0

0

Destination Address not
Incremented/Decremented

0

1

Increment Destination
Address

1

0

Decrement Destination
Address

1

1

Des.tination Address not
Incremented/Decremented
49-001391 B

Memory-Io-Memory Transfers. In the single-step
mode, when one DMA request is made, execution of
one instruction and one DMA transfer are repeated
alternately until the prescribed number of DMA transfers has occurred. Interrupts can be accepted while in
this mode. In burst mode, a DMA request causes DMA
transfer cycles to continue until the DMA terminal
counter decrements to zero. Software can also initiate
memory-to-memory tranSfers.
Transfers Between 1/0 and Memory. In single-transfer
mode, one DMA transfer occurs after each rising edge
of DMARa. After the transfer, the bus is returned to the
CPU. In demand release mode, the rising edge of
DMARa enables DMA cycles, which continue as long
as DMARa is high.
In all modes, the TC (terminal count) output pin will
pulse low and a DMA completion 1/0 request will be
generated after the predetermined number of DMA
cycles has been completed.
The bottom of internal RAM contains all the necessary
address information forthe designated DMA channels.
The DMA channel mnemonics are as follows:
TC
SAR
SARH
DAR
DARH

30

Terminal counter
Source address register
Source address register high
Destination address register
Destination address register high

The DMA controller generates physical source
addresses by offsetting SARH 12 bits to the left and
then adding the SAR. The same procedure is also used
to generate physical destination addresses. You can
program the controller to increment or decrement
source andlor destination addresses independently
during DMA transfers.
When the EDMA bit is set, the internal DMARa flag is
cleared. Therefore, DMARQs are only recognized after
the EDMA bit has been set.

Parallel Ports
The pPD70330/332 has three 8-bit parallel 1/0 ports:
PO, P1, and P2. Refer to figures 27 through 31. Special
function register (SFR) locations can access these
ports. The port lines are individually programmable as
inputs or outputs. Many of the port lines have dual
functions as port or control lines.
Use the associated port mode and port mode control
registers to select the mode for a given I/O line.
The analog comparator port (PT) compares each input
line to a reference voltage. The reference voltage is
programmable to be the VTH input x n/16, where n = 1
to 16. See figure 32.

NEe
Figure 27.

pPD70330/332 (V35)

Port Mode Registers 0 and 2 (PMO, PM2)
7

0

PMO
PM2

Output Port Mode
Input Port Mode
49-0013776

Figure 28.

Port Mode Register 1 (PM 1)
5

PM1

I

PM 17

l

I

PM16

PM15

J

I

4

I

PM14

I

1

I

1

1

1

I

1

I

j

n

PMC1 n

PM1 n

0

0

Port P1 n
Output

0

1

Input

= 7, 6, 5, or 4
83-0045376

Figure 29.

Port Mode Control Register 0 (PMCO)
7

6

4

o

49-0013786

31

NEe

pPD70330/332 (V35)
Figure 30.

Port Mode Control Register 1 (PMC1)
7

I

o

4

PMC 17

I

PMC 1S

I

PMC1S

I

PMC14

I

PMC13

I

PMC12

I

PMC 11

I

PMC10

-

I
Port/Control Bit Selection

X

NMI/P10 Input

X

INTPO/P11 Input

X

INTP1/P12 Input

0

INTP2/P13 Input

1

INTAK Output

0

P14 1/0 or POLL Input

1

INT Input

0

P1sI/0

1

TOUT Output

0

P1sI/0

1

SCKO Output

0

P171/0

1

READY Input
49-001379B

Figure 31.

Port Mode Control Register 2 (PMC2)
7

PMC2

I

PMC 27

6

I

PMC2s

2

I

PMC2s

I

PMC24

I

PMC 23

I

PMC22

I

PMC 21

I

o
PMC20

Port/Control Bit Selection

0

110 Port

1

DMAROO Input

0

1/0 Port

1

DMAAKO Output

0

1/0 Port

1

TCOOutput

0

1/0 Port

1

DMAR01 Input

0

1/0 Port

1

DMAAK1 Output

0

1/0 Port

1

TC10utput

0

1/0 Port

1

HLDAK Input

0

1/0 Port

1

HLDRO Output
49-001380B

32

NEe
Figure 32.

Port Mode Register T (PMT)

7

I

0

pPD70330/332 (V35)

4

6

I

0

I

0

I

0

I

PMT3

I

PMT2

I

PMT1

I

PMTo

PMT

J

I

Comparator Port Threshold Selection

0

0

1

0

x 16/16
x 1/16
VTH x 2/16

0

0

1

1

VTH

0

1

0

0

VTH

0

1

0

1

x 3/16
x 4/16
VTH x 5/16

0

1

1

0

VTH

0

1

1

1

VTH

0

0

0

0

VTH

0

0

0

1

VTH

1

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

x 6/16
x 7116
VTH x 8/16
VTH x 9/16
VTH x 10/16
VTH x 11/16
VTH x 12/16

1

1

0

1

VTH

x 13/16

1

1

1

0

VTH

1

1

1

1

VTH

x 14/16
x 15/16
49-001381 B

Programmable Wait State Generation
You can generate wait states internally to further
reduce the necessity for external hardware. Insertion
of these wait states allows direct interface to devices
whose access times cannot meet the CPU read/write
timing requirements.
When using this function, the entire 1M-byte memory
address space is divided into 128K-blocks. Each block
can be programmed for zero, one, or two wait states, or
two plus those added by the extenal READY signal.
The top two blocks are programmed together as one
unit.
The appropriate bits in the wait control word (WTC)
control wait state generation. Programming the upper
two bits in the wait control word will set the wait state
conditions for the entire I/O address space. Figure 33
shows the memory map for programmable wait state
generation; see figure 34 for a graphic representation
of the wait control word.

Figure

33~

Programmable Wait State Generation
FFFFFH

256K
COOOOH

40000H
20000H

OH

128K

128K
49-001351A

33

NEe

pPD70330J:3'32 (V35)
Standby Modes

halting all internal peripherals. Internal status is maintained. Only a reset or NMI can release this mode.

The two low-power standby modes are HALT and
STOP. Software causes the processor to enter either
mode.

A standby flag in the SFR area is reset by rises in the
supply voltage. Its status is maintained during normal
operation and standby. The STBC register (figure 35)
is not initialized by RESET. Use the standby flag to
determine whether program execution is returning
from standby or from a cold start by setting this flag
before entering the STOP mode.

HALT Mode.
In the HALTrriode, the processor is inactive and the
chip consumes much less power than when operational. The external Qscillator remains functional and
all peripherals are active. Internal status and output
port line conditions are maintained. Any unmasked
interrupt-can release this mode. In the EI state, interrupts subsequently will be processed in vector mode.
In the DI state, program execution is restarted with the
instruction following the HALT instruction.

Special Function Registers
Table 6 shows the special function register mnemonic,
type, address, reset value, and function. The 8 highorder bits of each add ress (xx) are specified by the I DB
register.

STOP Mode.

SFR area addresses not listed in table 6 are reserved. If
read, the contents of these addresses are undefined,
and any write operation will be meaningless.

The STOP mode allows the largest power reduction
while maintaining RAM. The oscillator is stopped,
Figure 34.

Wait Control Word
Walt Contr.ol High

Wait Control Low
7

I

BLK31

I

6
BLK30

5

I

BLK21

BLK20

2

3

.4

I

I

BLK11

I

BLK10

I

BLK01

I

o
BLt<____--JX'-__________________---'X'-_______
tHCRY

II ..

~tSCRY-----'

\

..

tSRYK ~

l~ tHKRY

READY
83SL-5392B

~8

NEe

pPD70330/332 (V35)

Timing Waveforms (cont)
READY Timing 2
B1

BAW

B2IBAW

BAW/BW

BW/B2

B3

(RIW)

CLKOUT

ADDRESS

~~______J)(~

__________________________________________________J)(~________
tHCRY

~tSCRY

III

II ...

..

\
tSRYK

\

READY

I·~SRYK,.

~

1I

t HKRY, - * + -

1\

t HK RY,~

I+83SL·5393B

HLDRQ/HLDAK 1

CLKOUT

HLORQ

~K~_-+--~l-------I.
J------~

Bus control *
14----tDHQHA---~

*A19-AO, 07-00, MREQ, MSTB, IOSTB, R/W

14---------tWHAL--------~
83·0043208

49

m

NEe

pPD70330/332;{V35)
Timing Waveforms (cont)
HLDRQ/HLDAK 2

CLKOUT

HLORQ

~-----tWHQL

Bus control *

____

~

---I---------ll----+-----------....;..----(

tDKH:;:-____~l~l---~-----------~---------~----t-D-H-Q-c~~~~~~~~~~_-_~________
* A19-AO, 07-00, MREQ, MSTB, IOSTB, R/W
83-0043216

INTp, DMARQ Input

CLKOUT

r

INTp,
OMARQ*
_ _- 1

14---------tW.lQH _________--1 :~~~~~~~~~_-_-_~-_-twl~I-Q-L========~~~~:.

* INTP2-INTPO, OMARQ1-0MARQO
83-0043226

POLL Input
CLKOUT

_PO_L_L~-t-S-PL-K--------------

---~!

83-0043236

50

NEe

pPD70330/332.(V35)

Timing Waveforms (coni)
NMllnput
CLKOUT

NMI ----1I4.------twNH-----+lnl4'-.~~~~~~~~~~~-=-tw-N-IL-----------------------+If

83-004324B

CTS Input
CLKOUT

IN TRIINTAK

eLKOUT
INTR

r'I--------I---'
tOKIA tHIAIQ

~---------------------

D7-DO------------~~--------------~----------------------__{1

83-004326B

51

NEe

pPD70330/332 (V35)
Timing Waveforms (cont)
Serial Transmit

CLKOUT
tCYTK

\

-~

I

II

tWSTL

"

tWSTH

)k

TXO

I-tOTKO-+

tHT KD

K=
83MB-005283B

Serial Receive

CLKOUT

•

tCYRK

\
~tWSRL_

"

i\
tWSRH

RXD
!.:=tSROK __

52

tHKRD

•

K
83MB-005284B

NEe

pPD70330/332 (V35)

Instruction Set

Identifier

Instructions, grouped according to function, are
described in a table near the end of this data sheet.
Descriptions include source code, operation, opcode,
number of bytes, and flag status. Supplementary
information applicable to the instruction set is contained in the following tables.

dst-block

Name of block addressed by the IV register

near-proc

Procedure within the current program segment

far-proc

Procedure located in another program segment

near-label

Label in the current program segment

short-label

Label between -128 and +127 bytes from the end
of instruction

• Symbols and Abbreviations

far-label

Label in another program segment

• Flag Symbols

memptr16

Word containing the offset of the memory location
within the current program segment to which control
is to be transferred

memptr32

• Segment Registers. The segment register is specified in the operation code by sreg (OO, 01,10, or 11).

Double word containing the offset and segment base
address of the memory location to which control is to
be transferred

regptr16

• Memory Addressing. The memory addressing mode
is specified in the operation code by mod (OO, 01, or
10) and mem (OOO through 111).

16-bit register containing the offset of the memory
location within the program segment to which control
is to be transferred

pop-value

Number of bytes of the stack to be discarded (0 to
64K bytes, usually even addresses)

fp-op

Immediate data to identify the instruction code of the
external floating pOint operation

• 8- and 16-Bit Registers. When mod = 11, the register
is specified in the operation code by the byte/word
operand (W = 0/1) and reg (OOO to 111).

• Instruction Clock Count. This table gives formulas
for calculating the number of clock cycles occupied
by each type of instruction. The formulas, which
depend on byte/word operand and RAM enable/disable, have variables such as EA (effective address),
W (wait states), and n (iterations or string instructions).

Symbols and Abbreviations
Identifier

Description

reg

8- or 16-bit general-purpose register

reg8

8-bit general-purpose register

reg16

16-bit general-purpose register

dmem

8- or 16-bit direct memory location

mem

8- or 16-bit memory location

mem8

8-bit memory location

mem16

16-bit memory location

mem32

32-bit memory location

sfr

8-bit special function register location

imm

Constant (0 to FFFFH)

imm16

Constant (0 to FFFFH)

imm8

Constant (0 to FFH)

imm4

Constant (0 to FH)

imm3

Constant (0 to 7)

acc

AW or AL register

sreg

Segment register

src-table

Name of 256-byte translation table

src-block

Name of block addressed by the IX register

Description

R

Register set

W

Word/byte field (0 to 1)

reg

Register field (000 to 111)

mem

Memory field (000 to 111)

mod

Mode field (00 to 10)

S:W

When S:W = 01 or 11, data = 16 bits. At all
other times, data = 8 bits.

x, XXX, VVV, ZZZData to identify the instruction code of the
external floating point arithmetic chip
AW

Accumulator (16 bits)

AH

Accumulator (high byte)

AL

Accumulator (low byte)

BP

Base pointer register (16 bits)

BW

BW register (16 bits)

BH

BW register (high byte)

BL

BW register (low byte)

CW

CW register (16 bits)

CH

CW register (high byte)

CL

CW register (low byte)

OW

OW register (16 bits)

DH

OW register (high byte)

DL

OW register (low byte)

SP

Stack pOinter (16 bits)

PC

Program counter (16 bits)

PSW

Program status word (16 bits)

53

NEe

pPD70330/332 (V35)
Symbols and Abbreviations (cont)

Flag Symbols

Identifier

Description

Identifier

Description

IX

Index register (source) (16 bits)

(blank)

No change

IV

Index register (destination) (16 bits)

o

PS

Program segment register (16 bits)

SS

Stack segment register (16 bits)

DSo

Data segment 0 register (16 bits)

DS1

Data segment 1 register (16 bits)

AC

Auxiliary carry flag

CV

Carry flag

P

Parity flag

S

Sign flag

Z

Zero flag

DIR

Direction flag

IE

Interrupt enable flag

V

Overflow flag

BRK

Break flag

MD

Mode flag

(... )

Values in parentheses are memory contents

, disp

Displacement (8 or 16 bits)

Cleared to 0
Set to 1

X

Set or cleared according to the result

U

Undefined

R

Value saved earlier is restored

8- and 16-81t Registers (mod

11)

w=o

W=l

000

AL

AW

001

CL

CW

010

DL

OW

011

BL

BW

100

AH

SP

101

CH

BP

110

DH

IX

111

BH

IV

ext-disp8

16-bit displacement (sign-extension byte
+ 8-bit displacement)

temp

Temporary register (8/16/32 bits)

sreg

tmpcy

Temporary carry flag (1-bit)

00

seg

Immediate segment data (16 bits)

01

PS

offset

Immediate offset data (16 bits)

10

SS

Transfer direction

11

DSo

+

=

reg

Segment Registers

Register
DS1

Addition
Subtraction

Memory Addressing

mod = 10

Multiplication

mem

mod = 00

mod = 01

Division

000

BW+IX

BW + IX + disp8

BW + IX + disp16

%

Modulo

001

BW+IV

BW + IV + disp8

BW + IV + disp16

AND

Logical product

010

BP+ IX

BP + IX +~isp8

BP + IX + disp16

OR

Logical sum

011

BP+IV

BP + IV + disp8

BP + IV + disp16

XOR

Exclusive logical sum

100

IX

IX + disp8

IX + disp16

Two-digit hexadecimal value

101

IV

IV + disp8

IV + disp16

Four-digit hexadecimal value

110

Direct

BP + disp8

BP + disp16

111

BW

BW + disp8

BW + disp16

x

XXH
XXXXH

54

NEe

pPD70330/332 (V35)

Instruction Clock Count
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

ADD

regS, regS
reg16, reg16

2
2

BRK

3
immS

50+5W [3S+5W]
51+5W [39+5W]

regS;memS
reg16, mem16

EA+7+W
EA+7+W

memS, regS
mem16, reg16

EA+10+2W [EA+7+W]
EA+10+2W [EA+7+W]

regS, immS
reg16, immS
reg16, imm16

5
5
6

memS, immS
mem16, immS
mem16, imm16

EA+ 11+2W [EA+9+2W]
EA+9+2W [EA+7+2W]
EA+12+2W [EA+S+2W]

AL, immS
AW, imm16

5
6

ADD4S

BRKCS

15

BRKV

50+5W [3S+5W]

BTCLR

29

BUSLOCK

2

CALL

21+W [17+W]
21+W [17+W]

memptr16
far-proc
memptr32

EA+24+2W [EA+22+2W]
36+2W [32+2W]
EA+32+4W [EA+20+4W]

CY
DIR

2
2

regS, CL
reg16, CL

S
S

memS, CL
mem16, CL

EA+16+2W [EA+13+W]
EA+16+2W [EA+13+W]

CHKIND
CLR1

22+(30+3W)n [22+(2S+3W)n]

ADDC

near-proc
regptr16

Same as ADD

EA+24+2W

ADJ4A

9

ADJ4S

9

ADJBA

17

ADJBS

17

regS, imm3
reg16, imm4

7
7

regS, regS
reg16, reg16

2
2

memS, imm3
mem16, imm4

EA+13+2W [EA+10+W]
EA+13+2W [EA+9+W]

regB, memB
reg16, mem16

EA+7+W
EA+7+W

regS, regB
reg16, reg16

2

memB, regB
mem16, reg16

EA+10+2W [EA+7+W]
EA+10+2W [EA+7+W]

regB, memB
reg16, mem16

EA+7+W
EA+7+W

regB, immB
reg16, imm16

5
6

memB, regB
mem16, reg16

EA+7+W
EA+7+W

memB, immB
mem16, imm16

EA+ 11 +2W [EA+9+2W]
EA+ 12+2W [EA+B+2W]

regB, immB
reg16, immB
reg16, imm16

5
5
6

memB, immB
mem16, immB
mem16, imm16

EA+B+W
EA+9+W
EA+9+W

AL, immB
AW, imm16

5
6

AND

Bcond (conditional branch)

Bor 15

BCWZ

Bor15

BR

near-label
short-label

12
12

regptr16
memptr16

13
EA+16+W

far-label
memptr32

15
EA+23+2W

CMP

CMP4S
CMPBK

1m

2

22+(25+2W)n

memB, memB
mem16, mem16

2S+2W [21+2W]
25+2W [19+2W]

Notes:
(1)

If the number of clocks is not the same for RAM enabled and
RAM disabled conditions, the RAM enabled value is listed first,
followed by the RAM disabled value in brackets; for example,
EA+8+2W [EA+6+W].

(2) Symbols in the Clocks column are defined as follows.
EA = additional clock cycles required 'for calculation of the
effective address
= 3 (mod 00 or 01) or 4 (mod 10)

W = number of wait states selected by the WTC register
n = number of iterations or string instructions

55

NEe

pPD70330/332 (V35)
Instruction Clock Count (cont)
Mnemonic

Clocks

Mnemonic

Operand

Clocks

CMPBKB

16+(23+2W)n

INM

CMPBKW

16+(23+2W)n

mem8, OW
mem16, OW

21+2W [19+2W]
19+2W [15+2W]

mem8, OW
mem16, OW

18+(15+2W)n [1B+(13+2W)n]
1B+(13+2W)n [1B+(9+2W)n]

regB, reg8
regB, imm4

63-155
64-156

CMPM

Operand

mem8
mem16

18+W
19+2W

CMPMB

16+(16+W)n

CMPMW

16+(16+2W)n

CVTBO

19

CVTBW

3

CVTOB

20

CVTWL

B

OBNZ

8 or 17

OBNZE

8 or 17

OBNZNE
DEC

5
2

mema
mem16

EA+13+2W [EA+11+2W]
EA+13+2W [EA+9+2W]
4

DISPOSE

11+W

OIVU

AW, regB
AW,memB

46-56
EA+49+W to EA+59+W

OW:AW, reg16
OW:AW, mem16

54-64
EA+57+W to EA+67+W

AW, regB
AW,mem8

31
EA+34+W

OW:AW, reg16
OW:AW, mem16

39
EA+43+2W

OSO:

2

OS1:

2

EI
EXT

41-121
42-122
2

FP01

55+5W [43+5W]

FP02

55+5W [43+5W]

HALT

INC

56

LOM

N/A
AL, immB
AW, immB

15+W
15+W

AL, OW
AW,OW

14+W
14+W

reg8
reg16

5
2

mem8
mem16

EA+13+2W [EA+11+2W]
EA+13+2W [EA+9+2W]

EA+2
memB

13+W

mem16

13+W

LOMB

mem16

16+ (11+W)n

LOMW

mem8

16+(10+W)n

MOV

regB, reg8
reg16, reg16

2
2

reg8, memB
reg16, mem16

EA+7+W
EA+7+W

memB, reg8
mem16, reg16

EA+5+W [EA+2]
EA+5+W [EA+2]

regB, immB
reg16, imm16

5
6

mem8, imm8
mem16, imm16

EA+6+W
EA+6+W

AL, dmem8
AW, dmem16

10+W
10+W

dmem8, AL
dmem16, AW

B+W [5]
B+W [5]

sreg, reg16
sreg, mem16

4
EA+9+W

reg16, sreg
mem16,sreg

3
EA+6+W [EA+3]

AH, PSW
PSW, AH

2
3

OSO, reg16, memptr32
OS1, reg16, memptr32

EA+17+2W
EA+17+2W

memB, memB
mem16, mem16

22+2W [17+W]
22+2W [17+W]

MOVBKB

memB, memB

16+(1B+2W)n [16+(13+W)n]

MOVBKW

mem16, mem16

16+(1B+2W)n [16+(10+W)n]

12
regB, reg8
reg8, imm4

FINT

IN

LOEA

B or 17
reg8
reg16

01

OIV

INS

MOVBK

MOVSPA

16

MOVSPB
MUL

11
AW, AL, regB
AW, AL, memB

31-40
EA+34+W to EA+43+W

OW:AW, AW, reg16
OW:AW, AW, mem16

39-4B
EA+42+W to EA+51+W

reg16, reg16, immB
reg16, mem16, immB

39-49
EA+42+W to EA+52+W

reg16, reg16, imm16
reg16, mem16, imm16

40-50
EA+43+W to EA+53+W

NEe

pPD70330/332 (V35)

Instruction Clock Count (cont)
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

MULU

regS
memS

24
EA+27+W

PREPARE

imm16, immS

reg16
mem16

32
EA+33+W

immS = 0: 26+W
immS = 1: 37+2W
immS = n > 1: 44+19 (n-1)+2nW

regS
reg16

S
S

memS
mem16
regS
reg16

S
S

memS
mem16

EA+13+2W [EA+10+W]
EA+13+2W [EA+10+W]

CY

2

regS, CL
reg16, CL

7
7

memS, CL
mem16, CL

EA+1S+2W [EA+12+W]
EA+1S+2W [EA+12+W]

regS, imm3
reg16, imm4

6
6

NEG

NOP
NOT

NOT1

OR

OUT

OUTM

PUSH

2
reg16
mem16

13+W [9+W]
EA+ 16+2W [EA+12+2W]

EA+13+2W [EA+10+W]
EA+13+2W [EA+10+W]

OS1
PS

10+W [7]
10+W [7]

4

SS
OSO

10+W [7]
10+W [7]

PSW
R

9+W [6]
74+SW [SO]

immS
imm16

12+W [9]
13+W [10]

memS, imm3
mem16, imm4

EA+12+2W [EA+9+W]
EA+12+2W [EA+9+W]

regS, regS
reg16, reg16

2
2

regS, memS
reg16, mem16

EA+7+W
EA+7+W

memS, regS
mem16, reg16

EA+10+2W [EA+7+W]
EA+10+2W [EA+7+W]

regS, immS
reg16, imm16

S
6

memS, immS
mem16, imm16

REP

2

REPE

2

REPZ

2

REPC

2

REPNC

2

REPNE

2

REPNZ
RET

19+W
19+W

null
pop-value

27+2W
2S+W

RETI

40+3W [34+W]

RETRSI

12
S
S

EA+11+2W [EA+9+2W]
EA+12+2W [EA+S+2W]

memS, 1
mem16,1

EA+16+2W [EA+13+W]
EA+16+2W [EA+13+W]

AL, immS
AW, imm16

S
6

regS, CL
reg16, CL

11+2n
11+2n

immS, AL
immS, AW

11+W
9+W

memS, CL
mem16, CL

EA+19+2W+2n [EA+16+W+2n]
EA+ 19+2W+2n [EA+16+W+2n]

OW,AL
OW,AW

10+W
S+W

regS, immS
reg16, immS

9+2n
9+2n

OW,memS
OW, mem16

21+2W [19+2W]
19+2W [1S+2W]

memS, immS
mem16, immS

EA+1S+2W+2n [EA+ 12+W+2n]
EA+ 1S+2W+2n [EA+12+W+2n]

OW,memS
OW, mem16

1S+(1S+2W)n [1S+(13+2W)n]
1S+(13+2W)n [1S+(9+2W)n]

regS
memS

17
EA+20+2W [EA+1S+2W]

reg16
mem16

11+W
EA+14+2W [EA+11+W]

OS1
SS

12+W
12+W

OSO
PSW

12+W
13+W

R

74+SW [SS]

N/A

ROL

Em

2
null
pop-value

regS, 1
reg16,1

POLL
POP

PS:

ROL4
ROLC

Same as ROL

ROR

Same as ROL

ROR4

regS
memS

RORC
SET1

21
EA+26+2W [EA+24+2W]
Same as ROL

CY
OIR

2
2

57

NEe

pPD70330/332 (V35)
Instruction Clock Count (cont)
Mnemonic

Operand

SET1 (cont) reg8, CL
reg16, CL

Clocks
7
EA+15+2W [EA+ 12+W]
EA+15+2W [EA+12+W]

reg8, imm3
reg16, imm4

6
6

mem8, imm3
mem16, imm4

EA+12+2W [EA+9+W]
EA+12+2W [EA+9+W]

SHL

Same as ROL

SHR

Same as ROL

SHRA

Same as ROL

2

STM

mem8
mem16

13+W [10]
13+W [10]

STMB

mem8

16+(9+W)n [16+(7+W)n]

STMW

mem16

STOP

Same as ADD

SUB4S

22+(30+3W)n [22+(28+3W)n]

SUBC
TEST

TEST1

TRANS

16+(9+W)n [16+(5+W)n]
N/A

SUB

Same as ADD
reg8, reg8
reg16, reg16

4
4

reg8, mem8
reg16, mem16

EA+12+W
EA+11+2W

mem8, reg8
mem16, reg16

EA+12+W
EA+11+2W

reg8, imm8
reg16, imm16

7
8

mem8, imm8
mem16, imm16

EA+9+W
EA+10+W

AL, imm8
AW, imm16

6

5

reg8, CL
reg16, CL

7

mem8, CL
mem16, CL

EA+12+W
EA+12+W

reg8, imm3
reg16, imm4

6

mem8, imm3
mem16, imm4

EA+9+W
EA+9+W

7

6

11+W

TRANSB

11+W

TSKSW

20

58

Operand

Clocks

reg8, reg8
reg16, reg16

3
3

reg8, mem8
reg16, mem16

EA+12+2W [EA+9+W]
EA+12+2W [EA+9+W]

mem8, reg8
mem16, reg16

EA+12+2W [EA+9+W]
EA+12+2W [EA+9+W]

AW, reg16
reg16, AW

4

7

mem8, CL
mem16, CL

55:

Mnemonic
XCH

XOR

4

Same as AND

N'EC

pPD70330/332 (V35)

Instruction Clock Count for Operations
Byte
RAM Enable

Word
RAM Disable

Context switch interrupt
DMA (Single-step mode)

RAM Enable

RAM Disable

27

27

20+2W

20+2W

20+2W

20+2W

DMA (Demand release mode)

17.5+ W+
(13+W).(n-1 )

17.5+ W+
(13+W).(n-1)

17.5 + W+
(13+W).(n-1)

17.5+ W+
(13+W).(n-1)

DMA (Burst mode)

20.5 +2W+
(16+2W).(n-1 )

20.5 + 2W+
(16+2W).(n-1)

20.5 + 2W+
(16+2W).(n-1)

20.5 +2W+
(16+2W).(n-)

19.5 + W

19.5+W

DMA (Single-transfer mode)
Interrupt (lNT pin)

17+W

17+W

57+3W

57+3W

Macro service, sfr - mem

25+W

20+W

25+W

20+W

Macro service, mem - sfr

22+W

21 +W

22+W

21 + W

Macro service (Search char mode), sfr - mem

28+W

28+W

Macro service (Search char mode), mem - sfr

38+W

35+W

Priority interrupt (Vectored mode)

55+5W

55+5W

NMI (Vectored mode)

53+5W

53+5W

W = number of wait states inserted into external bus cycle
n = number of iterations
N = number of clocks to complete the instruction currently executing
Notes:

(1) Every interrupt (except NMI) has an additional associated
latency time of 27 + N clocks. During the 2'7 clocks, the interrupt
controller performs some overhead tasks such as arbitrating
priority. This time should be added to the above listed interrupt
and macro service execution times. NMllatency time is 18 + N
clocks.

(2) The DMA and macro service clock counts listed are the required
number of CPU clocks for each transfer.
(3) When an external interrupt is asserted, a maximum of 6 clocks is
required for internal synchronization before the interrupt request
flag is set. For an internal interrupt, a maximum of 2 clocks
is required.

Pin Request Latency
Clocks
Source

Typ

Max

NMI pin

12 + N

18+ N

INT pin

8+N

8+N

All other interrupts

15+ N

27+ N

DMARa pin

14+N

HLDRa pin

7+2W

59

0>
0

Instruction Set

"t::
Operation Code

Mnemonic

Operand

7 6 5 4 3 2

Operation

07654321 0

No. of
Bytes AC

W

Flags
CY V P S Z

Data Transfer

MOV

o1

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg -

mem, imm

(mem)-imm

1

reg, imm

reg -

0

1W

acc, dmem

When W = 0 AL When W = 1 AH -

0

o

dmem, acc

When W = 0 (dmem) - AL
When W = 1 (dmem + 1) - AH, (dmem) -

0

000

sreg, reg16

sreg -

reg16 sreg : SS, OSO, OS1

sreg, mem16

sreg -

(mem16) sreg : SS, OSO, OS1

reg16, sreg

reg16 -

000

reg

reg

reg

2

0 0 1 0 0 W mod

reg

mem

2-4

000101 W mod

reg

mem

2-4

mem

3-6

o

reg

(mem)
imm
(dmem)
(dmem + 1), AL -

o

0 0 1 1 W mod 0 0 0
reg

3

W

3

000

o
o

1 1 0

sreg

reg

000

1

mod 0

sreg

mem

2-4

000

o
o

0 1 1 0

sreg

reg

2

000
000

0

mod

reg

mem

2-4

OS1, reg16,
mem32

reg16 - (mem32)
OS1 - (mem32 + 2)

000

o

0 mod

reg

mem

2-4

AH, PSW

AH -

sreg

LOEA

reg16, mem16

reg16 -

mem16

o
o
o

TRANS

src-table

AL-(BW+AL)

1

XCH

reg, reg

reg - - reg
(mem)--reg
AW-- reg16

o

S, Z, x, AC, x, P, x, CY
AH

0 mod 0

sreg

(mem16) -

reg16 - (mem32)
OSO - (mem32 + 2)

AW, reg16
or reg16, AW

N
........

<
W

ell
-.....

2

mem16, sreg

mem, reg
or reg, mem

(,)

AL

sreg

S, Z, x, AC, x, P, x, CY -

"W

(dmem)

OSO, reg16,
mem32

PSW, AH

0
W
W
0

2-3

0 0 0 W

0

1

0

1 0

o

reg

000 0

W 1 1

000 0

W mod

0

0

1 0

0

2-4

1

mod

0 0 1

mem

".....a

mem

2-4

reg

reg

2

reg

mem

2-4

x

x

x x x

1

reg

Repeat Prefixes
REPC

While CW 0# 0, the next byte of the primitive block
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt,
it is processed. When CY #- 1, exit the loop.

o

11 0 0 1

o

1

REPNC

While CW #- 0, the next byte of the primitive block
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt,
it is processed. When .CY #- 0, exit the loop.

o

1 1 0 0 1

o

0

~
0

Instruction Set (cont)

Mnemonic

Operand

Operation

Operation Code

7 654 3 2

076543210

No. of
Bytes AC

Flags
CY V P S Z

Repeat Prefixes (cont)
REP
REPE
REPZ

While CW =;t. 0, the next byte of the primitive block
1 1 1 1 0 0
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt, it is
processed. If the primitive block transfer instruction
is CMPBK or CMPM and Z =;t. 1, exit the loop.

REPNE
REPNZ

While CW =;t. 0, the next byte of the primitive block
1 1 1 1 0 0 1 0
transfer instruction is executed and CW is
decremented (- 1). If there is a waiting interrupt, it is
processed. If the primitive block transfer instruction
is CMPBK or CMPM and Z =;t. 0, exit the loop.

~
~

Primitive Block Transfer
MOVBK

dst-block,
src-block

When W = 0 (IV) - (IX)
DIR = 0: IX - IX + 1, IV - IV + 1
DIR = 1: IX -IX -1, IV -IV-1
When W = 1 (IV + 1, IV) - (IX + 1, IX)
DIR = 0: IX - IX + 2, IV - IV + 2
DIR = 1: IX - IX - 2, IV - IV - 2

1010010W

CMPBK

src-block,
dst-block

When W = 0 (IX) - (IV)
DIR = 0: IX - IX + 1, IV -IV + 1
DIR=1: IX-IX-l, IV -IV-1
When W = 1 (IX + 1, IX) - (IV + 1, IV)
DIR = 0: IX - IX + 2, IV - IV + 2
DIR = 1: IX - IX - 2, IV - IV - 2

1010011W

x

x

x x x x

CMPM

dst-block

When W = 0 AL - (IV)
DIR = 0: IV -IV + 1; DIR = 1: IV When W = 1 AW - (IV + 1, IV)
DIR = 0: IV - IV + 2; DIR = 1: IV -

1 0 1 0 1 1 1 W

x

x

x x x x

IV -1
IV - 2

LDM

src-block

When W = 0 AL - (IX)
DIR = 0: IX -IX + 1; DIR = 1: IX -IX-1
When W = 1 AW - (IX + 1, IX)
DIR = 0: IX - IX + 2; DIR = 1: IX - IX - 2

1010110W

STM

dst-block

When W = 0 (IV) - AL
DIR = 0: IV -IV + 1; DIR = 1: IV -IV-1
WhenW=1 (IV+1,IV)-AW
DIR = 0: IV - IV + 2; DIR = 1: IV - IV - 2

1010101W

16-Bit field -

0000111100
1 1
reg
reg

1:::

"oa

--w
w
o
'w

Bit Field Transfer
INS

regS, regS
regS, imm4

~

16-Bit field -

AW
AW

0000111100
reg
1 1 0 0 0

m

000

o

0

3
4

w
~

..-"

<
W
en
"'-'"

0>
f\)

Instruction Set (cont)

"t:::
Operation Code

Mnemonic

Operand

Operation

7 654 3 2

AW -

o

65432

0

0

No. of
Bytes AC

Flags
CV V P S

z

Bit Field Transfer (cont)
EXT

reg8, reg8

0 0 0
1 1
reg

16-Bit field

o

reg

o

reg8, imm4

AW -

acc, imm8

When W = 0 AL When W = 1 AH -

(imm8)
(imm8 + 1), AL -

When W = 0 AL When W = 1 AH -

(OW)
(OW + 1), AL -

0 0 0 1 1 1 1
1 1 000
reg

16-Bit field

o

0
0

0

3

0

4

0

W
W

0

"W

110
IN

acc, OW
OUT

imm8, acc
OW, acc

o

W

o

W

o

W

~

2

.--.

(imm8)
0

<

W

(OW)

When W = 0 (imm8) - AL
When W = 1 (imm8 + 1) - AH, (imm8) When W = 0 (OW) - AL
When W = 1 (OW + 1) - AH, (OW) -

0

o

0

"D....

W

ell
.......

2

AL
W

0
AL

Primitive Block 110 Transfer
INM

dst-block, OW

When W = 0 (IV) *- (OW)
OIR = 0: IV -IV +' 1; OIR = 1: IV - IV -1
When W = 1 (IV + 1, IV) - (OW + 1, OW)
OIR = 0: IV +- IV + 2; OIR = 1: IV - IV - 2

o

1 1 0 1 1 0 W

OUTM

OW, src-block

When W = 0 (OW) - (IX)
OIR = 0: IX -IX + 1; OIR = 1: IX -IX-1
When W = 1 (OW + 1, OW) - (IX + 1, IX)
OIR = 0: IX -IX + 2; OIR = 1: IX - IX - 2

o

1 1 0 1 1 1 W

reg, reg

reg -

mem, reg

(mem) -

o
o

reg, mem

reg -

reg +(mem)

reg, imm

reg -

reg + imm

n: number of transfers

Addition/Subtraction
ADD

reg + reg
(mem) + reg

0 0 0 0 0

3-6

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

2-3

x

x

x x x x

W 1 1

reg

reg

2

0 0 0 0 0 0 W mod

reg

mem

2-4

0000001 W mod

reg

mem

2-4

reg

3-4

mem

0

000SW1 1 000

mem, imm

(mem)-(mem)+imm

1 0 0 0 0 0 S W mod 0 0 0

acc, imm

When W' = 0 AL - AL + imm
When W = 1 AW - AW + imm

00OOO10W

x
x
x
x
x

x
x
x
x
x

x
x
x
x
x

~
0

Instruction Set (cont)
Mnemonic

Operand

Operation

Operation Code
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

No. of
Bytes AC

Flags
CY V P S Z

Addition/Subtraction (cont)
ADDC

reg, reg
mem, reg
reg, mem
reg, imm
mem, imm
ace, imm

SUB

SUBC

+ reg + CY
(mem) +- (mem) + reg + CY
reg +- reg + (mem) + CY
reg +- reg + i~m + CY
(mem) +- (mem) + imm + CY
Wl'ten W = 0 AL +- AL + imm + CY
When W = 1 AW +- AW + imm + CY
reg +- reg

o
o
o

0 0
0 0

1

o
o

0

0

reg, reg

reg +- reg - reg

mem, reg

(mem) +- (mem) - reg

reg, mem

reg +- reg - (mem)

o
o

reg, imm

reg +- reg - imm

1 0

mem, imm

(mem)+-(mem)-imm

1 0 0

ace, imm

When W = 0 AL +- AL - imm
When W = 1 AW +- AW - imm

o

0

0

o

0

0

o

reg, mem

reg

0 0 0

reg, imm

reg +- reg - imm - CY .

mem, imm

(mem) +- (mem) - imm - CY

1 0

ace, imm

When W = 0 AL +- AL - imm - CY
When W = 1 AW +- AW - imm - CY

o

+-

reg - (mem) - CY

0

0 0 W mod

reg

mem

0

reg

mem

2-4

0

reg

3-4

0

mem

3-6

W mod
S W mod

0

o
o

0

W1

1

reg

reg

W mod

reg

mem

W mod

0
0

2
2-4

x
x
x
x
x
x

x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x
x x
x x
x x
x

x
x
x
x
x
x

x
x
x
x
x
x

x
x

2-4

mem

2-4

reg

3-4

0 S W mod

0

mem

3-6
2-3

1

reg

reg

W mod

reg

mem

1 W mod

reg

mem

2-4

reg

3-4

mem

3-6

1

o

0 S W 1 1 0 1 1
0 S W mod
0 W

0 1 1

x
x
x
x
x
x

2

0

o
o

x x x x
x x x x
x x x x
x x x
x x x
x x x x

x

reg

0 W

x
x
x
x

2-3

1

0 S W1

W1

0 0

0

o0
o1

0

o
o

1 0

0 W

0

reg +- reg - reg - CY

reg

reg

0 0

0

o

reg

S W1

0

0

0 1 W 1 1

0 0

0

(mem) +- (mem) - reg - CY

reg, reg

o
o
o

0 0

2
2-4

2-3

~
~

x
x
x

1::

"a
--I

0

W
W

0

"

W
W
N

,.......

<

W

0')

UJ

m

(II
"-'"

(J')
~

Instruction Set (cont)

l:::
Operation Code

Mnemonic

Operand

7 654 3 2

Operation

0765432

0

No. of
Bytes AC

Flags
CV V P S Z

BCD Operation
ADD4S
SUB4S
CMP4S
ROL4

o

0 0 0

o

0

o

dst BCD string - dst BCD string
- src BCD string

o

0 0 0

o

0

000

0

dst BCD string - src BCD string

o
o

0 0 0

o
o

0

o

0 1

0

0

0

reg8
AL
ALL

I

H

ALL

ROR4

Upper 4 bits

I

Lower 4 bits

~

H

mem
Upper 4 bits

I

Lower 4 bits

I

I

reg8
AL
ALL

mem8

AL
ALL

f

2

x

u u u x

2

x

u u u x

0

2

x

u u u x

0

3

0 0 0 0

W
W

0

"W
W

N

reg

~

<
W
en

mem8
AL

reg

0 0 0 1
1 1 000

~

0

dst BCD string

dst BCD string -

+ src BCD string

"a

H
H

reg
Upper 4 bits

I

Lower 4 bits

mem
Upper 4 bits

I

Lower 4 bits

I I
I I

"'-'"

o

0 0 0 1 1 1 1
mod 0 0 0 mem

o

0 1 0 1 000

o

0 0 0 1 1 1 1
reg
1 1 000

o

0 1 0 1

o

1 0

3

o

o

0 1 0 1

o

1 0

3-5

0 0 0 1 1 1 1
mod 0 0 0 mem

3-5

BCD AdJust
ADJBA

ADJ4A

ADJBS
ADJ4S

When (AL AND OFH) >9 or AC= 1,
A~ - AL + 6, AH - AH + 1, AC CY - AC, AL - AL AND OFH
When (AL AND OFH) >9 or AC = 1,
AL - AL + 6, CY - CY OR AC, AC When AL> 9FH, or CY - =
AL - AL + 60H, CY - 1
When (AL AND OFH) >9 or AC = 1,
CY - AC, AL - AL AND OFH
When
AL When
AL -

(AL AND OFH) >9 or AC = 1,
AL - 6, CY - CY OR AC, AC AL > 9FH, or CY - =
AL + 60H, CY - 1

o

o

0 1 1

1 1 1

x

x

u u u u

o

0 1 0 0 1 1 1

x

x

u x x x

o

0

x

x

u u u u

o

0

x

x

u x x x

1,

1,

1,

0

~
~

Instruction Set (cont)
Operation Code

Mnemonic

Operand

7 6 543 2

Operation

0

6 543 2 1 0

No. of
Bytes AC

Flags
CY V P S Z

Increment/Decrement
INC

OEC

reg8

reg8 -

mem

(mem) -

reg16

reg16 -

reg8

regS -

mem

(mem) -

reg16

reg16 -

reg8 + 1

1 0

(mem) + 1
reg16 + 1

1

1

0

000

reg8 - 1
1

(mem) - 1

0

reg16 - 1

o

000

1 W mod 000

reg

2

x

x x x x

mem

2-4

x

x x x x

x

x x x x

reg

1

1 1 0 1 1

1

1 1 W mod

o
o

0

reg

2

x

x x x x

0

mem

2-4

x

x x x x

x

x x x x

reg

0

~
~

Multiplication
MULU

regS

memS

MUL

01

0
1

AW - AL x (memS)
AH = 0: CY - 0, V AH ¥ 0: CY - 1, V -

0
1

o

1 1

o

1 1 1

o

0

reg

2

x

x u u u

1 1 1 1

o

1 1 0 mod 1

o

0

mem

2-4

x

x u u u

reg16

OW, AW - AW x reg16
OW = 0: CY - 0, V - 0
OW ¥ 0: CY - 1, V - 1

1 1 1 1

o

1 1 1 1 1 1

o

0

reg

2

x

x u u u

mem16

OW, AW - AW x (mem16)
OW = 0: CY - 0, V - 0
OW ¥ 0: CY - 1, V - 1

1 1 1 1

o

1 1 1 mod 1

o

0

mem

2-4

x

x u u u

regS

AW - ALx reg8
AH = AL sign expansion: CY AH ¥ AL sign expansion: CY -

1 1 1 1

o

1 1 0 1 1 1

o

1

reg

2

x

x u u u

0, V 1, V -

0
1

AW - AL x (memS)
AH = AL sign expansion: CY AH ¥ AL sign expansion: CY -

1 1 1 1

o

1 1 0 mod 1

o

1

mem

2-4

x

x u u u

0, V 1, V -

0
1

memS

0>

AW - ALx reg8
AH = 0: CY - 0, V AH ¥ 0: CY - 1, V -

1:::

reg16

OW, AW - AW x reg16
OW = AW sign expansion: CY - 0, V - 0
OW ¥ AW sign expansion: CY -1, V-1

1 1 1 1

o

1 1 1 1 1 1

o

1

reg

2

mem16

OW, AW - AW x (mem16)
OW = AW sign expansion: CY - 0, V - 0
OW ¥ AW sign expansion: CY -1, V-1

1 1 1 1

o

1 1 1 mod 1

o

1

mem

2-4

reg16,
reg16,
imm8

reg16 - reg16 x immS
Product:5 16 bits: CY Product> 16 bits: CY -

o

1 1

1

o

1 1 1 1

reg

reg

3

reg16,
mem16,
immS

reg16 - (mem16) x immB
Product:5 16 bits: CY - 0, V - 0
Product> 16 bits: CY - 1, V - 1

o

1 1 0 1

o

1 1 mod

reg

mem

3-5

0, V 1, V -

x

x u u u

u

x

x u u u

u

x

x u u u

x

x u u u

"--..
D

0

W
W

0

o

0
1

"
W
W

~

.......

<
en
W

m

~

~

Instruction Set (cont)
Mnemonic

Operand

1:::
Operation Code
7 6 543 2

Operation

0

654321 0

No. of
Bytes AC

Flags
CYVPSZ

Multiplication (cont)
MUL (cont)

reg16,
reg16,
imm16

reg16 - reg16 x imm16
Product::; 16 bits: CY Product> 16 bits: CY -

0, V 1, V -

0
1

reg16,
mem16,
imm16

reg16 - (mem16) x imm16
Product::; 16 bits: CY - 0, V Product> 16 bits: CY - 1, V -

0
1

0

o

o

0

0

1 10 1 0 0 1 mod

reg

reg

4

x

x u u u

reg

mem

4-6

x

x u u u

reg8

0
--W
W
0

"W
W
I\)

Unsigned Division
DIVU

"a

o

1 1

o

~

1 1 1 1 0 reg

temp-AW
When temp + reg8 > FFH
(SP-1, SP - 2) - PSW, (SP - 3, SP-4) - PS
(SP - 5, SP - 6) - PC, SP - SP - 6
IE -0, BRK - 0, PS - (3,2), PC - (1, 0)
All other times
AH - temp % reg8, AL - temp + reg8

1 1 1 1

mem8

temp-AW
When temp + (mem8) > FFH
(SP-1, SP- 2) - PSW, (SP - 3, SP-4) - PS
(SP - 5, SP - 6) - PC, SP - SP - 6
IE -0, BRK -0, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % (mem8), AL - temp + (mem8)

1 1 1 1

o

1 1 0 mod 1 1 0 mem

2-4

u

u u u u

reg16

temp -AW
When temp + reg16 > FFFFH
(SP -1, SP- 2) - PSW, (SP -3, SP- 4) - PS
(SP - 5, SP - 6) - PC, SP - SP - 6
IE - 0, BRK - 0, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % reg16, AL - temp + reg16

1 1 1 1

o

1 1 1 1 1 1 1 0 reg

2

u

u u u u

mem16

temp-AW
When temp + (mem16) > FFFFH
(SP - 1, SP - 2) - PSW, (SP - 3, SP - 4) - PS
(SP - 5, SP - 6) - PC, SP - SP - 6
IE -0, BRK-O, PS - (3, 2), PC - (1, 0)
All other times
AH - temp % (mem16), AL - temp + (mem16)

1 1 1 1

o

1 1 1 mod 1 1 0 mem

2-4

u

uu u u

2

u

u

u u u u

<
c.»
UI

---

~

~

Instruction Set (cont)
Mnemonic

Operand

Operation

Operation Code
7 6 543 2

0

6543210

No. of
Bytes AC

Flags
CY V P S Z

Signed Division .
DIV

u

temp-- AW
When temp -;- regS> 0 and temp -;- regS> 7FH or
temp -;- regS <0 and temp -;- regS < 0 - 7FH - 1
(SP -1, SP - 2) -- PSW, (SP - 3, SP - 4) -- PS
(SP - 5, SP - 6) -- PC, SP -- SP - 6
IE -- 0, BRK -- 0, PS -- (3, 2), PC -- .(1, 0)
All other times
AH -- temp % regS, AL -- temp -;- reg8

memS

temp W -When temp -;- (mem8) > 0 and (memS) > 7FH or
temp -;- (memS) < 0 and
temp -;- (mem8) < 0 - 7FH - 1
(SP - 1, SP - 2) -- PSW, (SP - 3, SP - 4) -- PS
(SP - 5, SP - 6) -- PC, SP -- SP - 6
IE -- 0, BRK -- 0, PS -- (3, 2), PC -- (1, 0)
All other times
AH -- temp % (mem8), AL -- temp -;- (mem8)

1 1 1 1 0 1 1· 0 mod 1 1 1

mem

2-4

u u u u

reg 16

temp -- AW
When temp -;- reg 16> 0 and reg 16> 7FFFH or
temp -;- reg 16 < 0 - 7FFFH - 1
(SP - 1, SP - 2) -- PSW, (SP - 3, SP - 4) -- PS
(SP - 5, SP - 6) -- PC, SP -- SP - 6
IE -- 0, BRK -- 0, PS -- (3,2), PC -- (1,0)
All other times
AH -- temp % reg. 16, AL -- temp -;- reg 16

1 1 1 1 0 1 1 1 1 1 1 11

reg

2

u u u u

temp -- AW
When temp -;- (mem 16) > 0 and (mem 16) > 7FFFH
or temp -;- (mem 16) < 0 and temp -;- [mem 16]
<0-7FFFH -1
(SP -1, SP - 2)) -- PSW, (SP -3, SP - 4) -- PS
(SP - 5, SP - 6) -- PC, SP -- SP - 6
IE -- 0, BRK -- 0, PS -- (3, 2), PC -- (1, 0)
All other times
AH -- temp % (mem 16), AL -- temp -;- (mem 16)

1 1 1 1 0 1 1 1 mod 1 1 1

mem

2-4

u u u u

mem

16

0

reg

regS

0

u

u u u u

~
~

1::

"

D

o
--w
w
o
"w
w
~

.......

<
W

C>
.....,

m

VI
.......

0)
(X)

Instruction Set (cont)
Mnemonic

Operand

1:::
Operation Code
7 6 5 4 3 2

Operation

o

o

65432

No. of
Bytes AC

Flags
CY V P S Z

o

01000000

o

o

2

u x x x

1 0

01010000

o

o

2

u x x x

CVTBD

AH -

AL +- OAH, AL -

CVTDB

AH -

0, AL -

CVTBW

When AL < 80H, AH - 0,
all other times AH - FFH

o 0

CVTWL

When AL < 8000H, OW - 0,
all other times OW - FFFFH

o

AL %OAH

AH x OAH + AL

000

0 1 1 0 0

reg, reg

o
w
w
o
"'w

W
N

........

Comparison
CMP

"a
~

Data Conversion

reg - reg

0 0

0

W 1 1

reg

reg

2

x

x

x x x x

mem, reg

(mem) - reg

0 0

0 0 W mod

reg

mem

2-4

x

x

x x x x

reg, mem

reg - (mem)

0 0 1 1 1 0 1 W mod

reg

mem

2-4

x

x

x x x x

reg, imm

reg - imm

1 0 0 0 0 0 S W 1 1 1 1 1

reg

3-4

x

x

x x x x

mem, imm

(mem) - imm

1 0 0 0 0 0 S W mod 1 1 1

mem

3-6

x

x

x x x x

ace, imm

When W = 0, AL - imm
When W = 1, AW - imm

0 0 1 1 1 1 0 W

2-3

x

x

x x x x

<
W

(II

........

Complement
NOT
NEG

reg

reg -

0

W 1 1 0

0

reg

mem

(mem) -

reg
(mem)

0

W mod 0

0

mem

2-4

reg

reg -

+1

0

W 1 1 0

reg

2

x

x

x x x x

mem

(mem) -

(mem) + 1

0

W mod 0

mem

2-4

x

x

x x x x

u

0

0 x x x

0

0 x x x
0 x x x

reg

2

Logical Operation
TEST

AND

reg, reg

reg AND reg

0 0 0 0

0 W 1 1

reg

reg

2

mem, reg
or reg, mem

(mem) AND reg

0 0 0 0

0 W mod

reg

mem

2-4

reg, imm

reg AND imm

mem, imm

(mem) AND imm

ace, imm

When W = 0, AL AND imm8
When W = 1, AW AND imm8

o
o

1 1 W 1 1 0 0 0

reg

3-4

o

1 1 W mod 0 0 0

mem

3-6

o

0 x x x

2-3

o

0 x x x

o
o
o
o

0 x x x

o
o

0 x x x

o

o

o

0

000

W 1 1

reg

reg

2

o
o

0 1 0 0 0 0 W mod

reg

mem

2-4

0 1 0 0 0 1 W mod

reg

mem

2-4

reg

3-4

mem

3-6

u

2-3

u

1 0 0 W

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg -

reg AND (mem)

reg, imm

reg -

reg AND imm

mem, imm

(mem)-(mem)ANDimm

1 0 0 0 0 0 0 W mod 1 0 0

ace, imm

When W = 0, AL - AL AND imm8
When W = 1, AW - AW AND imm16

0010010W

reg AND reg
(mem) AND reg

OOOOOOW11100

u

0 x x x
0 x x x
0 x x x
0 x x x

~
~

Instruction Set (cont)

Mnemonic

Operand

Operation

Operation Code
7 6 5 4 3 2

reg -

0 0 0 0

0 1 W 1 1

reg

0 0 0 0

No. of

Flags

Bytes AC

CY V P S Z

reg

2

0

0 x x x

076543210

Logical Operation (cont)
OR

XOR

reg, reg

reg OR reg

mem, reg

(mem) -

0 0 W mod

reg

mem

2-4

0

0 x x x

reg, mem

reg -

reg OR (mem)

(mem) OR reg

0 0 0 0 1 0 1 W mod

reg

mem

2-4

u

0

0 x x x

reg, imm

reg -

reg OR imm

1 0 0 0 0 0 0 W 1 1 0 0 1

reg

3-4

u

0

0 x x x

mem, imm

(mem) -

1 0 0 0 0 0 0 W mod 0 0 1

mem

3-6

0

0 x x x

ace, imm

When W = 0, AL - AL OR imm8
When W = 1, AW - AW OR imm16

0 0 0 0 1 lOW

2-3

0

0 x x x

o

(mem) OR imm

o
o

reg, reg

reg -

mem, reg

(mem) -

reg, mem

reg -

reg XOR (mem)

reg, imm

reg -

reg XOR imm

mem, imm

(mem)-(mem)XORimm

1 0 0 0 0 0 0 W mod 1 1 0

ace, imm

When W = 0, AL - AL XOR imm8
When W = 1, AW - AW XOR imm16

0011010W

reg XOR reg

0

o0
o0
o

(mem) XOR reg

0 1 W 1 1

reg

reg

2

0 0 W mod

reg

mem

2-4

0

0 x x x

1 1 0 0 1 W mod

reg

mem

2-4

o

0 x x x

reg

3-4
3-6

o
o

0 x x x

mem

2-3

o

0 x x x
0 x x x

0 u u x

0 0 0 0 0 W 1 1 1 1 0

u

~
~

OOxxx

Bit Operation
2nd byte*
TEST1

reg8, CL

reg8 bit no. CL = 0: Z reg8 bit no. CL = 1: Z -

mem8, CL

(mem8) bit no. CL = 0: Z (mem8) bit no. CL = 1: Z -

reg16, CL

reg16 bit no. CL = 0: Z reg16 bit no. CL = 1: Z -

mem16, CL

(mem16) bit no. CL = 0: Z (mem16) bit no. CL = 1: Z -

reg8, imm3

reg8 bit no. imm3 = 0: Z reg8 bit no. imm3 = 1: Z -

mema, imm3

(mema) bit no. imm3 = 0: Z (mem8) bit no. imm3 = 1: Z -

reg16, imm4

reg16 bit no. imm4 = 0: Z-l
reg16 bit no. imm4 = 1: Z - 0

mem16, imm4

(mem16) bit no. imm4 = 0: Z (mem16) bit no. imm4 = 1: Z -

1
0
1
0
1
0
1
0
1
0
1
0

1
0

3rd byte*

000

o

0 0 0 1 1 0 0 0

reg

3

o

000

o

0 0 0 mod 0 0 0

mem

3-5

o 0

000

000

1 1 0 0 0

reg

3

000

000

mod 0 0 0

mem

u u x

o

0 u u x

3-5

o

0 u u x

o

0 u u x

o

0 u u x

u

000

00011000

reg

4

000

o

mem

4-6

000

o 0

1 1 0 0 0

reg

4

o

0 u u x

000

o 0

mod 0·0 0

mem

4-6

o

0 u u x

0 0 mod 0 0 0

2nd byte*
*Note: First byte = OFH

3rd byte*

u

1:::

"a

o--w
w
o
"w

W

N

.--..

<
W

en
.......

0">

<0

II

-...,J

0

1::

Instruction Set (cant)
Mnemonic

Operand

Operation Code
7 65 4 3 2 1 0 76 543 2 1 0

Operation

Flags
No. of
Bytes AC CYVPSZ

Bit Operation (cant)
2nd byte*
NOT1

reg8, CL

reg8 bit no. CL -

mem8, CL

(mem8) bit no. CL -

reg16, CL

reg16 b:~ no. CL -

mem16, CL

(mem16) bit no. CL -

reg8 bit no. CL
(mem8) bit no. CL
reg16 bit no. CL
(mem16) bit no. CL

reg8, imm3

reg8 bit no. imm3 -

mem8, imm3

(mern8) bit no. imm3 -

reg16, imm4

reg16 bit no. imm4 -

mem16, imm4

(mem16) bit no. imm4 -

reg8 bit no. imm3
(mem8) bit no. imm3
(reg16) bit no. imm4
(mem16) bit no. imm4

reg

3

mod 0 0 0

mem

3-5

11 0 0 0

reg

3

1 mod 0 0 0

mem

3-5

011000

reg

4

mod 0 0 0

mem

4-6

000

1 1 0 0 0

reg

4

000

mod 0 0 0

mem

4-6

000

0

011000

0

o

000

0

000

0

000

1

o

000

2nd byte*
*Note: First byte = OFH
CV

reg8, CL

reg8 bit no. CL -

mem8, CL

(mem8) bit no. CL -

reg16, CL

reg16 bit no. CL -

000

0

000

0

000

0

mem16, CL

(mem16) bit nO.CL -

reg8, imm3

reg8 bit no. imm3 -

mem8, imm3

(mem8) bit no. imm3 -

reg16, imm4

reg16 bit no. imm4 -

mem16, imm4

(mem16) bit no. imm4 -

0
0
0

"

W
W
~

......
<
W
CD

"-"

x

0 -1 O· 1 1 0 0 0
0

0

3rd byte*

o

0

reg

mod 0 0 0

mem

1 1 0 0 0

reg

3
3-5
3

0

1 mod 0 0 0

mem

3-5

000

0

011000

reg

4

000

0

o

mod 0 0 0

mem

000

0

1 1 0 0 0

reg

4

000

0

mod 0 0 0

mem

4-6

000

0
0

o
o
o
o

W
W

3rd byte*

1 1 110101

CV-CV

2nd byte*
CLR1

0

3rd byte*

000

"....a

2nd byte*
*Note: First byte = OFH
CV

CV-O

1 1 1 1 1 0 0 0

DIR

DIR-O

11111100

4-6

3rd byte*
0

~
~

~

Instruction Set (cont)
Operalion Code

Mnemonic

Operand

7 6 5 4 3 2

Operation

076543210

Flags
No. of
Bytes AC CY V P S Z

Bit Operation (cont)
SET1

reg8. CL

reg8 bit no. CL -

mem8. CL

(mem8) bit no. CL -

reg16. CL

reg16 bit no. CL -

000

0

o
o

000

0

0

1 1 0 0 0

000

0

000

o
o
o

0 mod 0 0 0

000

0

000

0

000

1
1
1

mem16. CL

(mem16) bit no. CL -

reg8. imm3

reg8 bit no. imm3 -

memS. imm3

(mem8) bit no. imm3 -

reg16. imm4

reg16 bit no. imm4 -

mem16, imm4

(mem16) bit no. imm4 -

1
1

0

000
1

1
1

0

000

0 mod 0 0 0

3-5

reg

3

1 mod 0 0 0

mem

3-5

0 1 1 000

reg

4

mem

4-6

1 1 000

reg

4

mod 0 0 0

mem

4-6

2

u

x

x x x x

~
~

3rd byte*

CY

CY-1

1 1 1 1 1 0 0 1

DlR

DIR-1

1 1

reg. 1

CY - MSB of reg. reg - reg x 2
When MSB of reg -F CY, V-1
When MSB of reg = CY, V - 0

mem.1

CY - MSB of (mem). (mem) When MSB of (mem) -F CY. V When MSB of (mem) = CY. V -

reg, CL

temp - CL. while temp -F O.
repeat this operation. CY - MSB of reg.
reg - reg x 2. temp - temp - 1

1 101001W1 1 1 0 0

mem.CL

temp - CL. while temp -F O.
repeat this operation. CY - MSB of (mem).
(mem) - (mem) x 2. temp - temp - 1

1 1

reg. imm8

temp - imm8. while temp -F O.
repeat this operation. CY - MSB of reg.
reg·+-- reg x 2. temp - temp-1

1 100000W1 1 1 0 0

memo imm8

temp - imm8. while temp -F 0,
repeat this operation. CY - MSB of (mem).
(mem) - (mem) x 2. temp - temp - 1

1 1

CY - LSB of reg. reg - reg -:- 2
When MSB of reg -F bit following MSB
of reg: V-1
When MSB of reg = bit following MSB
of reg: V - 0

1 1

o

3

mem

2nd byte*
*Note: First byte = OFH

1 1

reg

1

Shiff
SHL

SHR

::1

reg. 1

(mem) x 2
1
0

0

1 1 0 1

o

1

o

0 0 W 1 1 1 0 0

reg

o

0 0 W mod 1 0 0

mem

2-4

u

x

x x x x

reg

2

u

x

u x x x

mem

2-4

u

x

u x x x

't::

reg

3

x

u x x x

0

mem

3-5

x

u x x x

o

0 1 W mod 1

o

0

o

0 0 0 0 W mod 1 0 0

o

1

u

n: number of shifts

o

0 0 W 1 1 1

o

1

reg

2

u

x

x x x x

,.a
--..
e.»
e.»

0

'e.»
e.»
t-)

...-.

<
e.»

m

CII

~

~

I\)

,.a

Instruction Set (cont)
Mnemonic

't::
Operation Code

7 654 3 2 1 0765432 1 0

Operand

Operation

mem,1

CV - LSB of (mem), (mem) - (mem) + 2
When MSB of (mem) "" bit following MSB
of (mem): V - 1
When MSB of (mem) =bit following MSB
of (mem): V - 0

No. of
Bytes AC

Flags
CYVPSZ

2-4

x

Shift (cont)
SHR (cont)

SHRA

o

0

0 0 W mod

mem

0

u

0

--W
W

x x x x

0

reg, CL

temp - CL, while temp"" 0,
repeat this operation, CV - LSB of reg,
reg - reg + 2, temp - temp - 1

1 1

o

1

o

0 1 W 1 1 1

o

1

reg

2

mem, CL

temp- CL, while temp"" 0,
repeat this operation, CV - LSB of (mem),
(mem) - (mem) + 2, temp - temp - 1

1 1

o

1

o

0 1 W mod 1

o

1

mem

2-4

reg, immB

temp -immB, while temp #- 0,
repeat this operation, CV - LSB of reg,
reg - reg + 2, temp - temp - 1

1 1 OOOOOW1 1 1

o

1

reg

mem, immB

temp- immB, while temp"" 0,
repeat this operation, CV - LSB of (mem),
(mem) - (mem) +2, temp - temp - 1

1 1

o

1

mem

reg, 1

CV '+- LSB of reg, reg"'::' reg + 2, V MSB of operand does not change

0

0

o

0 0 W 1 1

reg

mem,1

CV - LSB of (mem), (mem) - (mem) + 2,
V - 0, MSB of operand does not change

0

o

0 0 W mod

mem

reg, CL

temp - CL, while temp"" 0,
repeat this operation, CV - LSB of reg,
reg - reg + 2, temp - temp - 1
MSB of operand does not change

0

o

0

mem, CL

temp - CL, while temp"" 0,
repeat this operation, CV - LSB of (mem),
(mem) - (mem) + 2, temp - temp - 1
MSB of operand does not change

1 1

o

0 1 W mod 1 1 1

reg, immB

temp - immB, while temp"" 0,
repeat this operation, CV - LSB of reg,
reg - reg + 2, temp - temp - 1
MSB of operand does not change

1 1 OOOOOW1 1 1 1 1

melTl; immB

temp - immB, while temp"" 0,
repeat this operation, CV - LSB of (mem),
(mem) - (mem) + 2, temp - temp - 1
MSB of operand does not change

1 1

x

u x x x

x

u x x x

x

u x x x

"

W
W
N

....."

o

0 0 0 0 W mod 1

u

<

W
UI

"-'"

3

3-5

u

x

u x x x

2

u

x

o

x x x

2-4

x

o

x x x

reg

2

x

u x x x

mem

2-4

u

x

u x x x

reg

3

u

x

u x x x

mem

3-5

x

u x x x

n: number of shifts

o

o

1

W 1 1

0 0 0 0 W mod 1 1 1
n: number of shifts

I

~
~

~

Instruction Set (cont)
Mnemonic

Operation Code

7 6 5 4 3 2

Operand

Operation

reg, 1

CY - MSB of reg, reg - reg x 2 + CY
MSB of reg ¥- CY: V - 1
MSB of reg = CY: V - 0

mem, 1

CY - MSB of (mem),
(mem) - (mem) x 2 + CY
MSB of (mem) ¥- CY: V - 1
MSB of (mem) = CY: V - 0

1 1

o

reg, CL

temp - CL, while temp ¥- 0,
repeat this operation, CY - MSB of reg,
reg - reg x 2 + CY
temp - temp - 1

1 1

mem,CL

temp - CL, while temp ¥- 0,
repeat this operation, CY - MSB of (mem),
(mem) - (mem) x 2 + CY
temp - temp - 1

1 1

reg, immB

No. of
Bytes AC

Flags
CY V P S Z

reg

2

x

x

07654321 0

Rotation
ROL

ROR

o

0 0 W

1

o

0 0 W mod 0 0 0

mem

2-4

x

x

o

1

o

0 1 W 1 1 000

reg

2

x

u

o

1

o

0 1 W mod 0 0 0

reg

2-4

x

u

temp - immB, while temp ¥- 0,
repeat this operation, CY - MSB of reg,
reg - reg x 2 + CY
temp - temp - 1

1 1 00000W1 1 000

reg

3

x

u

mem, immB

temp - immB, while temp ¥- 0,
repeat this operation, CY - MSB of (mem),
(mem) - (mem) x 2 + CY
temp - temp - 1

1 1

o

0 0 0 0 W mod 0 0 0

mem

3-5

x

u

reg, 1

CY - LSB of reg, reg - reg -;- 2
MSB of reg - CY
MSB of reg ¥- bit following MSB of reg: V - 1
MSB of reg = bit following MSB of reg: V - 0

1 1

o

1

o

0 0 W 1 1

reg

2

x

x

mem, 1

CY - LSB of (mem), (mem) - (mem) -;- 2
MSB of (mem) - CY
MSB of (mem) ¥- bit following MSB
of (mem): V - 1
MSB of (mem) = bit following MSB
of (mem): V - 0

1 1

o

1

o

0 0 W mod 0 0 1

mem

2-4

x

x

temp - CL, while temp ¥- 0,
repeat this operation, CY - LSB of reg,
reg - reg -;- 2, MSB of reg - CY
temp - temp - 1

1 1

temp - CL, while temp ¥- 0,
repeat this operation, CY - LSB of (mem),
(mem) - (mem) -;- 2, MSB of (mem) - CY
temp - temp - 1

1 1

reg, CL

mem, CL

......,
(..)

0

000

~
~

n: number of shifts

o

0 1

'l::::

"
--,
D

0

o
o

1

1

o
o

0 1 W 1 1

o

W
W

0 1

reg

2

x

u

0

W
W
0 1 W mod 0 0 1
n:number of shifts

m

mem

2-4

x

u

t-)

.--..

<

W

(II

.......

;;!

Instruction Set (cont)
Mnemonic

Operand

1::
Operation Code

7 6 5 4 3 2

Operation

0

654321 0

No. of
Bytes AC

Flags
CYVPSZ

ROR (cont)

reg, immB

mem, immB

temp - immB, while temp # 0,
repeat this operation, CY - LSB of reg,
reg - reg +- 2, MSB of reg - CY
temp - temp-1

o

0

o

0 0 W

o

0

reg

3

x

u

0
W
W

,0

temp - immB, while temp # 0,
repeat this operation, CY - LSB of (mem),
(mem) ' - (mem) +- 2
temp -temp - 1

1 1

reg, 1

tmpcy - CY, CY - MSB of reg
reg - reg x 2 + tmpcy
MSB of reg = CY: V - 0
MSB of reg # CY: V - 1

1 1

o

1

o

0 0 W 1 1

mem, 1

tmpcy - CY; CY - MS6 of (mem)
(mem) - (mem) x 2 + tmpcy
MSB of (mem) = CY: V - 0
MSB of (mem) # CY: V - 1

1 1

o

1

o

0 0 W mod 0 1 0

reg, CL

temp - CL, while temp # 0,
repeat this operation, tmpcy - CY,
CY - MSB of reg, reg - reg x 2 + tmpcy
temp - temp - 1

1 1

o

1

o

0 1 W 1 1

mem, CL

temp - CL, while temp #0,
repeat this operation, tmpcy CY - MSB of (mem),
(mem) - (mem)'x 2 + tmpcy
temp - temp - 1

1 1

o

1

o

0 1 W mod 0 1 0

0 0 0 0 W mod 0 0 1

mem

3-5

x

u

o

o

W
W
N

..-.

n: number of shifts

Rotate
ROLC

"a
~

Rotation (cont)

1 0

1 0

reg

2

x

x

mem

2-4

x

x

reg

2

x

u

mem

2-4

x

u

reg

3

x

u

mem

3-5

x

u

<
en
"'-"

W

CY,

reg, immB

temp - immB, while temp # 0,
repeat this operation, tmpcy - CY,
CY - MSB of reg, reg - reg x 2 + tmpcy
temp - temp - 1

1 1 00000W1 1

mem, immB

temp - immB, while temp # 0,
repeat this operation, tmpcy - CY,
CY - MSB of (mem)
(mem)-- (mem) x 2 + tmpcy
temp - temp - 1

1 1

o

o

1 0

0 0 0 0 W mod 0 1 0

n: number of shifts

~
~

t)

Instruction Set (cont)
Mnemonic

Operand

Operation Code
7 6 5 4 3 2

Operation

0

No. of
Bytes AC

Flags
CY V P S Z

reg

2

x x

mem

2-4

x x

reg

2

x u

mem

2-4

x u

reg

3

x u

mem

3-5

x u

6543210

Rotate (cont)
RORC

reg, 1

mem, 1

tmpcy - CY, CY - LSB of reg
reg - reg -;- 2, MSB of reg - tmpcy
MSB of reg # bit following MSB of reg: V MSB of reg = bit following MSB of reg: V tmpcy - CY, CY - LSB of (mem)
(mem) - (mem) -;- 2, MSB of (mem) MSB of (mel]1) # bit following MSB
of (mem): V - 1
MSB of (mem) = bit following MSB
of (mem): V - 0

0

o

0 0 W

0

1
0
1 1

o

1

o

0 0 W mod 0 1 1

tmpcy

o

reg, CL

temp - CL, while temp # 0,
repeat this operation, tmpcy - CY,
CY - LSB of reg, reg - reg -;- 2,
MSB of reg - tmpcy, temp - temp - 1

1 1

o

1

o

0 1 W1 1

mem, CL

temp - CL, while temp # 0,
repeat this operation, tmpcy - CY,
CY - LSB of (mem), (mem) - (mem) -;- 2
MSB of (mem) - tmpcy, temp - temp - 1

1 1

o

1

o

0 1 W mod 0 1 1

reg, immB

temp - immB, while temp # 0
repeat this operation, tmpcy - CY,
CY - LSB of reg, reg - reg -;- 2
MSBof reg - tmpcy, temp - temp-1

1 1 00000W1 1

mem, immB

temp - immB, while temp # 0,
repeat this operation, tmpcy - CY,
CY - LSB of (mem), (mem) - (mem) -;- 2
MSB of (mem) - tmpcy, temp - temp - 1

1 1

o

o

1 1

1 1

0 0 0 0 W mod 0 1 1

Subroutine Control Transfer
CALL

""-.I
CJ'1

~
~

near-proc

(SP - 1, SP - 2) PC - PC +disp

PC, SP -

SP - 2

regptr16

(SP - 1, SP - 2) PC - regptr16

PC, SP -

SP - 2

1 1 0

0

reg

2

memptr16

(SP - 1, SP - 2) - PC, SP PC - (memptr16)

SP - 2

mod 0

0

mem

2-4

far-proc

(SP - 1, SP - 2) - PS, (SP - 3, SP - 4) SP - SP - 4, PS - seg, PC - offset

PC

memptr32

(SP -1, SP -2) - PS, (SP -3, SP-4) SP - SP - 4, PS - (memptr32 + 2),
PC - (memptr32)

PC

0

o

0

000

0

3

5

0
mod 0 1 1

mem

2-4

,.

1::

D
.....
0
W
W

0

"W
W

N

~

<
W

m

CIt
.......

--...I

0)

Instruction Set (cont)
Mnemonic

Operand

"t::
Operation Code
7 654 3 2

Operation

076543210

No. of
Bytes AC

Flags
CYVPSZ

Subroutine Control Transfer (cont)
RET
pop-value

o
o

0 0 0

(SP + 3, SP + 2)

o

0

0

(SP + 1, SP), PS - (SP + 3, SP + 2)
SP + 4, SP - SP + pop-value

o

0

0

PC -

(SP + 1, SP), SP -

PC SP -

(SP + 1, SP)
SP + 2, SP -

SP + 2

PC SP -

0

SP + pop-value

PC - (SP + 1, SP ), PS SP-SP+4
pop-value

Q

3

0

"W
W
~

3

0

.--.

<
W

Stack Manipulation
PUSH

POP

PREPARE

mem16

(SP -1, SP - 2) -

reg16

(SP -1, SP - 2) -reg16, SP -

sreg

(SP-1, SP- 2) -

PSW

(SP -1, SP -2) -

(mem16), SP -

sreg, SP -

SP - 2

PSW, SP -

1 1 1 mod 1 1 0

SP - 2

SP - 2
SP - 2

0

o

0

0 0 sreg

Push registers on the stack

0

00000

0

0

mem16

(mem16) reg16 -

(SP + 1, SP), SP -

SP + 2

o

S 0

000

SP + 2

sreg - (SP + 1, SP) sreg : SS, DSO, DS1
SP-SP+2

o
o

2-3
mod 0 0 0

PSW -

Pop registers from the stack

0

imm16, immS

Prepare new stack frame

11001000
*: immS = 0: 16
immS> 1: 25 + 16 (immS -1)

DISPOSE

Dispose of stack frame

2-4

1 1

0 0 sreg

PSW

SP + 2

mem

reg

1 0

R

(SP + 1, SP), SP -

---

1 0

(SP ~ 1, SP - 2) - imm
SP - SP - 2, When S = 1, sign extension

sreg

en

2-4

1 0 0 1 1 1 0 0

imm

(SP + 1, SP), SP -

mem

reg

0

R

reg16

a--I

0
W

1

0 0 0

-a

1001110

o

R

R R R R R

0 0 0 1
4

1001001

Branch
BR

near-label

PC -

PC+ disp

0

o

short-label

PC -

PC + ext-dispS

0

0

regptr16

PC -

regptr16

1

1 1 1

memptr16

PC -

(memptr16)

1

1 mod

far-label

PS -

seg, PC -

memptr32

PS -

(memptr32 + 2), PC -

0

offset
(memptr32)

0

0

3
2

o
o

0

reg

0

mem

0

2
2-4
5

mod

0

mem

2-:4

~
t'l

Instruction Set (cont)
Mnemonic

Operand

Operation Code
7 6 543 2

Operation

076543210

No. of
Bytes AC

Conditional Branch

PC + ext-dispS

0

PC + ext-dispS

0

o
o
o
o

0 1 1

2

0

0

o

0

2

0

0

0
0

2

BV

short-label

if V = 1, PC -

PC + ext-dispS

0

BNV

short-label

if V = 0, PC -

PC + ext-dispS

0

BC,Bl

short-label

if CY = 1, PC -

BNC,BNl

short-label

if CY = 0, PC -

BE,BZ

short-label

if Z = 1, PC -

PC + ext-dispS

BNE, BNZ

short-label

if Z = 0, PC -

PC + ext-dispS

BNH

short-label

if CY OR Z = 1, PC -

PC + ext-dispS

0

0

BH

short-label

if CY OR Z = 0, PC -

PC + ext-dispS

0

o

BN

short-label

if S = 1, PC -

PC + ext-dispS

0 0 0

2

0 0 1

2

0

1

1

2

0

000

2

0 1

2

1 0

2

BP

short-label

if S = 0, PC -

PC + ext-dispS

0

BPE

short-label

if P= 1, PC -

PC + ext-dispS

0

o
o

PC + ext-dispS

0

0

BPO

short-label

if P= 0, PC -

BLT

short-label

if S XOR V = 1, PC -

PC + ext-dispS

0

BGE

short-label

if S XOR V = 0, PC -

PC + ext-dispS

0

BlE

short-label

if (S XOR V) OR Z = 1, PC -

PC + ext-dispS

0

BGT

short-label

if (S XOR V) OR Z = 0, PC -

PC + ext-dispS

0

DBNZNE

short-label

CW-CW-1
if Z = 0 and CW ¥- 0, PC -

PC + ext-dispS

DBNZE

short-label

CW-CW-1
if Z = 1 and CW ¥- 0, PC -

PC + ext-dispS

DBNZ

short-label

CW-CW-1
if CW ¥- 0, PC -

PC + ext-dispS
PC + ext-dispS

BCWZ

short-label

if CW = 0, PC -

BTClR

sfr. imm3,
short-label

if bit no. imm3 of (sfr) = 1,
PC - PC + ext - dispS,
bit no. imm3 of (sfr) - 0

0

3

immS
(¥- 3)
'-I
'-I

~
~

2

o
o

0

2

1
2

0
1

2

00000

o

0 0 0

000

2
0

,.a

1:::
1 1 1 0 0 0

o

0 0 0

2
1 0 1 1 1 1 0 0

5

.....

0

W
W

Interrupt
BRK

Flags
CV V P S Z

(SP -1, SP- 2) - PSW, (SP - 3, SP - 4) (SP - 5, SP - 6) - PC, SP - SP - 6
IE-O, BRK-O
PS - (15, 14), PC - (13,12)

PS,

(SP -1, SP- 2) - PSW, (SP - 3, SP - 4) (SP - 5, SP - 6) - PC, SP - SP - 6
IE-O, BRK-O
PC - (n x 4, + 1, n x 4)
PS - (n x 4 + 3, n x 4 + 2) n = immS

PS,

0

1 1 0 0 1 1 0 0

"W
W
I\)

1 1 0 0 1 1 0 1

2

---.

<
W

en
.......

IfJ

.......
(Xl

,.a

"t::

Instruction Set (cont)
Operation Code

Mnemonic

Operand

7 654 3 2

Operation

No. of
Flags
Bytes AC CYVPSZ

076543210

R R R R R

-.a
0
c.»
c.»
0
"c.»
c.»

R R R R R

...-..

Interrupt (cont)
BRKV

When V = 1
(SP-1, SP -2) - PSW, (SP-3, SP-4) (SP - 5, SP - 6) - PC, SP - SP - 6
IE-O, BRK"';"'O
PS - (19,18), PC - (17, 16)

RETI

o0

o0

PC - (SP+ 1, SP), PS - (SP+3, SP+2),
PSW -- (SP + 5, SP + 4), SP - SP + 6

RETRBI

PC ....,. Save PC, PSW -

FINT

Indicates that interrupt service routine to the
interrupt controller built in the CPU has been
completed

CHKINO

reg16,
mem32

0

PS,

Save PSW

When (mem32) > reg16 or (mem32 + 2) < reg16
(SP -1, SP-2) - PSW, (SP-3, SP-4) - PS,
(SP - 5, SP - 6) - PC, SP - SP - 6
IE-O, BRK-O,
PS - (23, 22), PC - (21, 20)

o0
o0

R

o0
o0

0 0
0 0

000

o0

2

R

~

<
c.»
(II

2

0

"-'"

o

1 1 0 0 0 1 0 mod

reg

mem

1 1

1 1

2-4

CPU Control
CPU Halt

STOP

CPU Halt

BUS LOCK

Bus Lock Prefix

FP01 (Note 1) fp-op
fp-op, mem
FP02 (Note 1) fp-op
fp-op, mem

00001111
1

No Operation
data bus -

(mem)

No Operation
data bus -

o0

1 1 1 0

HALT

o

0

X X X

X X X mod Y Y Y

1

o0
o0

o0
o0

1

POLL

Poll and wait

NOP

No Operation

01

IE-O

1 1

EI

IE-1

1 1

0

OSO; OS1;
PS;SS

Segment override prefix

o0

Notes:

(1)

Does not execute on the V25, but does generate an interrupt.

0

YYYZZZ
mem

2
2-4

X11YYYZZZ

2

X mod Y Y Y

2-4

1 0

1

o0

0 0

0

0

sreg

1 0

0 0

0
0

(mem)

o0

mem

1
0

I

~

~

NEe

pPD70330/332 (V35)
x
x
x
x

x
x

0
0

0

0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

"-01

"-01

~

~

0

0

0..-

0..-

0

0

0..-

0..-

0

0

0..-

0..-

0

0

0..-

0..-

~

~

(0

~

~

~

:c:

01

as

01

1m

C,

/XI

...

.! «c..
~

2»

a:

ED

c..
en
en en
> u
:::.::: >
0
0

3:
en

ED

I-

::!!:

a:

::!!:

:::.:::

en

79

pPD70330/332 (V35)

80

NEe

NEe

pPD70P322
16-Bit Microcomputer:
Single-Chip, CMOS,
With EPROM for V25N35 Modes

NEG Electronics Inc.

Description

Features

The jiPD70P322 is a 16-bit, single-chip CMOS microcomputer operable as a jiPD70322 (V25™) or a
jiPD70332 (V35™). The mask ROM of the V25N35 is
replaced in the jiPD70P322 by an EPROM.

o Reprogrammable EPROM appropriate for system
evaluation of V25 or V35
o V25 mode (,uPD70322 equivalent)
-Internal 16-bit architecture
- External 8-bit data bus

Ordering Information
Part Number

Ext Input
Frequency

Int System
Clock

JiPD70P322K-8

16 MHz

8 MHz

o V35 mode (,uPD70332 equivalent)
-Internal 16-bit architecture
- External 16-bit data bus

Package
84-pin ceram ic LCC
with quartz window

V25 and V35 are trademarks of NEC Corporation

"PD70P322 Block Diagram

~

DMARQO

Ao

DMAAKO

Ag-A 16 /A 1 -A 8

TCO
DMARQ1
DMAAK1

A17 /A 18
A18 /UBE

Controller

A19

TC1

RESET

TxDO

HLDAK

RxDO

HLDRQ

SCKO
Internal EPROM
16K Bytes

CTSO
TxD1

READY
MREQ
MSTB

RxD1

RlW

CTS1

IOSTB
POLL
NMI
INTPO

Instruction Decoder

INTP1

Micro Sequencer

INTP2I

Micro ROM

V25N35
PROG
CE

INTAK

OE

INT

Vpp
DO-D7 (V25 Mode)
Do-D15 (V35 Mode)

X1
X2

- - - VDD
TOUT

CLKOUT

PO

P1

P2

PTO-PT7

V TH

- - - GND
83YL-68178

50283-1

N'EC

pPD70P322
Pin Configurations
84-Pin LCe, V25 Mode

P07/CLKOUT

74

00

73

PT6

01

72

PT5

02

71

PT4

03

70

PT3

04

69

PT2

05

68

PT1

06

67

PTO

07

66

P17/REAOY

Ao

65

P16/SCKO

A1

64

P15fTOUT

A2

63

P14/INT/POLL

A3

62

P13/INTP2fINTAK

A4

61

P12/INTP1

A5

60

P11/INTPO

A6

59

NMI

A7

58

P27/HLORQ

A8

57

P26/HLOAK

PT7

A9

56

P25~

A10

55

P24/0MAAK1

An

P23/0MARQ1

81C.!'l CI~18Q
a:~$l:$t:::
~a.

Pin

Symbol

Connect to

3

V

9

V25N35

VOO
High level (H)

~gj

e

e

~

~

49

PROG

High level (H)

53,75

IC

High level through pullup resistor

a.

83YL-6794B

2

1t¥EC

pPD70P322

84-Pin LCC, V35 Mode

P07/ClKOUT

74

00

73

PT7
PT6

01

72

PT5

02

71

PT4

03

70

PT3

04

69

PT2

05

68

PT1

06

67

07
08

66
65

P16/SCKO

09

64

P15ITOUT

0 10
0 11
0 12
0 13

PTO
,P17/REAOY

63

P14/1NT/POll

62

P13/INTP2IINTAK

61

P12/1NTPl

----

60

Pl1 IINTPO

0 14

59

NMI

0 15

58

P27/HlORQ

Ao
A9 /A l

57

P26/HLDAK

56

P25ITCl

A1O /A 2

55

P24/0MAAKl

A11 /A 3

54

P23/0MARQl

Pin

Symbol

Connect to

3

V

9

V25N35

VOO
low level (l)

49

PROG

High level (H)

53,75

IC

High level through pullup resistor
83YL-6796B

3

NEe

pPD70P322
84-Pin Lee, EPROM Programming Mode

74
73
72

71
70
69

68
67
D7

66

Ao

65

A1

64

A2

~

~

~

A4

~

~

00

~

~

~

~

~

~

Open

56

A10

55

A11

54

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

c:

~

a
Pin

Symbol

Connect to

9

V

49

PROG

VDD
Low level through pullup resistor
Low level through pullup resistor
High level through pullup resistor
Do not connect to these pins.

L
H
Open

83YL~795B

4

NEe

pPD70P322

Pin Identification, V25N35 Mode
Symbol

I/O

Function

Also Used For

Port Pins
POo-P06

I/O

PO]
(P1o) NMI

P11

In

In

Input or output mode can be
specified per bit

CLKOUT

Non-maskable interrupt;
cannot be used as a generalpurpose port pin.
Port 1 input lines

Symbol

I/O

Function

Also Used For

INTAK

Out

Interrupt acknowledge

P13iINTP2

INTPO

In

External interrupt request

P1 1

INTP1

P1 2

INTP2

P13iINTAK

IOST8

Out

I/O access strobe

MREQ

Out

Indicates memory bus cycle
start

INTPO

P12

INTP1

MST8

Out

Memory access strobe

P13

INTP2

POLL

In

Wait insertion

P14J'INT

POLL/INT

READY

In

External ready

P17

TOUT

REFRQ

Out

DRAM refresh pulse

P14

I/O

P1s

Input or output mode can be
specified per bit.

P16

SCi<'--______________

A_dd_re_s_s_ln_pu_t_ _ _ _ _ _ _ _ _ _ _ _ _

---<,-__ _...IH
D_a_ta_l_np_u_t

Data output

~~,-_ _ _D_a_ta_in_p_ut_ _- , ) ' - - - - -

+12.5V ~

VDD

RESET

~L
-

PROG

_________________

~'~

~'-_________________________~I~
.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _

)5

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _

55

83YL-6793B

8

NEe

pPD70P322

System Clock

Figure 3. EPROM Read Timing
A
A13- O

=x____

X'-____

TA = -10 to + 70°C; Voo = + 5.0 V ±10% at 5 MHz, ±5% at 8 MHz
Vss = OV;VTH = OtoV oo + 1

A_dd_r_es_s_in_p_u_t _ _- J

p.PD70P322

p.PD70P322-8

Min

Max

Min

Max

Unit

4

10

4

16

MHz

Frequency, fx

4

10

4

16

MHz

Rise/fall time, tRltF

0

10

0

10

ns

Xl input, high/low

35

250

20

250

ns

Parameter

Internal Oscillator
Frequency, fxx

External Clock

OE

\'--------J/

level width, tOH/tOL

0TOO - - - - - - - - ( ' -__
o_at_a_ou_t_pu_t_..I))----

System Clock Control Circuit

83YL-S79OA

Internal Oscillator

INSTALLATION
Di rect solderi ng to pi ns of the J-lPD70P322 is not allowed.
The device must be installed in a socket.

ELECTRICAL SPECIFICATIONS

Absolute Maximum Ratings
TA = 25°C

Notes:

Supply voltage, Voo

-0.5 to + 7.0 V

Input voltage, VI

-0.5 to VOO+ 0.5 :5 + 7.0 V

Output voltage, Vo

-0.5 to VOO+ 0.5 :5 + 7.0 V

Threshold voltage, VT H

-0.5 to V 00+ 0.5 :5 + 7.0 V

Output current low, IOL

Each output pin 4.0 rnA (total 50 rnA)

Output current high, IOH

(1)

Mount the capacitors and crystal or ceramic
resonator as close to pins X1 and X2 as possible.

(2)

00 not route other signal lines through the shaded
area.
External Clock

Each output pin -2.0 rnA (total-20 rnA)

Operating temperature range, TOPT

-40 to + 85°C

Storage temperature range, TSTG

-65 to + 150°C

Exposure to Absolute Maximum Ratings for extended periods may
affect device reliability; exceeding the ratings could cause permanent
damage.

Clock

74HC04

t
'-------I

X1

X2
83SL·7000A

Capacitance
TA = 25°C; Voo = 0 V
Parameter

Symbol

Input capacitance

CI

Output capacitance
I/O capacitance

Max

Unit

10

pF

Co

20

pF

CIO

20

pF

Conditions
fc = 1 MHz;
unmeasured pins
returned to ground

9

NEe

pPD70P322

Recommended Oscillator Components
Ceramic Resonator (Note 1)
Manufacturer

Crystal (Note 2)

Capacitors

Product No.

C1 (pF)

Capacitors

Manufacturer

C2 (pF)

Product No.

Kinseki

C1 (pF)

C2 (pF)

HC-49/U

15

15

HC-43/U

15

15

Kyocera

KBR-10.0M

Murata Mfg.

CSA.10.0MT

47

47

CSA16.0MX040

30

30

Notes:

FCR10.M2S

30

30

FCR16.0M2S

15

6

(1) Ceramic resonator product no. includes the frequency: 10.0 or
16.0 MHz.

TDK

33

33

(2) Crystal frequencies: 10, 16 MHz.

DC Characteristics 1; V25N35 Mode
TA = -10 to +70°C; voo = +5.0 V ±10 %
Parameter

Symbol

Input voltage, low

VIL

Input voltage, high

Conditions

Max

Unit

0

0.8

V

VIH1

2.2

Voo

V

VIH2

0.8 Voo

Voo

V

RESET, P101NMI, X1, X2

0.45

V

IOL = 1.6 mA

V

IOH = -0.4 mA

p.A

EA,.P101NMI; VIN = 0 to Voo

p.A

All except EA, P101NMI; VIN = 0 to Voo

Output voltage, low

VOL

Output voltage, high

VOH

Min

Typ

Voo -1.0

All except RESET, P101NMI, X1, X2

liN

±20

Input leakage current

III

±10

Output leakage current

ILO

±10

p.A

Vo = 0 to Voo
VTH = Oto Voo
Operation mode

Input current

VTH supply current

ITH

0.5

1.0

mA

Voo supply current, p.PD70P322

1001

50

100

mA

1002

20

40

mA

HALT mode

1003

10

30

p.A

STOP mode

1001

65

120

mA

Operation mode

1002

25

50

mA

HALT mode

1003

10

30

p.A

STOP mode

Voo supply current, p.PD70P322-8

DC Characteristics 2; EPROM Program Operation
TA = 25 ±5°C; Voo = 6.0 ±0.25 V; Vpp = 12.5 ±0.3 V
Parameter

Symbol

Min

Max

Unit

Input voltage, high

VIH

2.2

Voo + 0.3

V

Input voltage, low

VIL

-0.3

0.8

V

Input leakage current

III

10

p.A

VIH = 0 to Voo

Output voltage, high

VOH

V

IOH = -400 p.A

Output voltage, low

VOL

V

IOL = 1.6 mA

Voo supply current
Vpp supply current

10

Typ

Voo-1
0.45

100

40

mA

Ipp

30

mA

Conditions

NEe

pPD70P322

DC Characteristics 3; EPROM Read Operation
TA =25 ±5°C

Parameter

Symbol

Min

Typ

Max

Unit

Power supply voltage

VOO

4.5

5.0

5.5

V
V

Write power supply voltage

Vpp

Input voltage, high

VIH

2.2

Input voltage, low

VIL

-0.3

Input leakage current

III

Output voltage, high

VOH

Output voltage, low

VOL

Output leakage current

Conditions

+ 0.3

VOO

Vpp = VOO

V

0.8

V

10

p.A

Voo-1
0.45

VIN = 0 to VOO

V

IOH = -400 p.A

V

IOL =1.6 mA

ILO

10

p.A

VOO supply current

100

40

mA

Vpp supply current

Ipp

100

p.A

Vpp = Voo

AC Characteristics 1; V25N35 Mode
TA = -10 to + 70°C; fCLK = 0.5 to 5 MHz with Voo = 5 V ± 10%; fCLK = 5 to 8 MHz with Voo = 5 V ±5%

70P322

70P322-8

~

Parameter

Symbol

Max

Unit

Input rise, fall times

tlR, tlF

20

20

ns

Except X1, X2, RESET, NMI

Input rise, fall times (Schmitt)

tIRS, tlFS

30

30

ns

RESET, NMI

Output rise, fall times

tOR, tOF

20

20

ns

Except CLKOUT

X1 cycle time

tcyx

98

250

ns

X1 width, low

tWXL

35

20

X1 width, high

tWXH

35

20

X1 rise, fall times

tXR, tXF

Min

Min

Max

250

62

Conditions

ns
ns
20

ns

2000

20

CLKOUT cycle time

tCYK

200

ns

CLKOUT = fx/2

CLKOUT width, low

tWKL

0.5T - 15

0.5T - 15

ns

T

CLKOUT width, high

tWKH

0.5T-15

0.5T -15

ns

CLKOUT rise, fall times

tKR, tKF

2000

125

15

15

= tcYK

ns

AC Characteristics 2; V25 Mode
TA = -10 to +70°C; CL = 100 pF (max); T == tcYK; n = number of wait states inserted
fCLK = 0.5 to 5 MHz with Voo = 5 V ±10%; fCLK = 5 to 8 MHz with Voo = 5 V ±5%

Parameter

Symbol

Address delay time

tOKA

Address valid to input data valid
MREQ to data delay time

Max

Unit

90

ns

tOAOR

(n+1.5)T - 90

ns

tOMRO

(n +1)T -75

ns

MSTB to data delay time

tOMS O

(n +0.5)T - 75

ns

0.5T + 50

ns

MREQ to TC delay time

tOMRTC

MREQ to ~ delay time

tOMRMS

MREQ width, low

tWMRL

Address hold time
Input data hold time
Next control setup time

TC width, low

Min

0.5T - 35

0.5T + 35

Conditions

ns

(n+1)T - 30

ns

tHMA

0.5T - 30

ns

tHMoR

0

ns

tscc

T -25

ns

tWTCL

2T -30

ns

11

Iii:I

NEe

JlPD70P322

AC Characteristics 2; V25 Mode (cont)
Parameter

Symbol

Address data output

tOAOW

MREQ delay time

tOAMR

0.5T -30

MSTB delay time

tOAMS

T -30

ns

MSTB width, low

tWMSL

(n+0.5)T 30

ns

Data output setup time

tSOM

(n+1)T - 50

ns

Data output hold time

tHMoW

0.5T - 30

ns

IOSTB delay time

tOAIS

0.5T - 30

iOSfB to data input
iOSfB width, low

tOISO
tWISL

(n+1)T - 30

ns

Address hold time

tHISA

0.5T - 30

ns

tHISOR

0

ns

Data input hold time
Output data setup time

tSDlS

Output data hold time

tHISOW

Next OMARa setup time

tSOAOQ

Unit
ns

Conditions

ns

ns
(n+1)T - 90

ns

(n+1)T - 50

ns

0.5T -30

ns
ns

Demand mode

tHOAOQ

ns

Demand mode

tWOMRL

(n+1.5)T 30

ns

DMMK read width, low

fC

tOOATC

delay time

Max
0.5T + 50

0

OMARa hold time

DMMK to

Min

T

0.5T + 50

ns

(n+1)T - 30

ns

tOARF

0.5T -30

ns

tWRFL

(n+1)T - 30

ns

Address hold time

tHRFA

0.5T - 30

ns

RESET width, low

tWRSL1

30

ms

STOP mode release/Power-on reset

RESET width, low

tWRSL2

5

~s

System reset

MREQ, IOSTB to READY setup time

tSCRY

MREQ, IOSTB to READY hold time

tHCRY

H LDAK output delay time

tOKHA

BUS control float to HLDAK.j.

tCFHA

T -50

ns

HLDAK ito control output time

tOHAC

T-50

ns

HLDRa .j. to control output time

tOHQC

3T + 30

ns

H LDAK width, low

tWHAL

T

ns

H LDRa setup time

tSHQK

30

DMMK write width, low

tWOMWL

REFRQ delay time
RE F RQ width, low

HLDRa to HLDAK delay time
H LORa width, low
INTP, OMARa setup time

(n -1)T -100
(n-1)T

n

~

2

ns

n

~

2

ns

80

ns
3T

tOHQHA

ns

+

160

ns

tWHQL

1.5T

ns

tSIQK

30

ns

INTP, DMARa width, high

tWIQH

8T

ns

INTP, DMARa width, low

tWIQL

8T

ns

POLL setup time

tSPLK

30

ns

NMI width, high

tWNIH

5

~s

NMI width, low

tWNIL

5

~s

Q'S width, low

tWCTL

2T

ns

12

NEe

pPD70P322

AC Characteristics 2; V25 Mode (cont)
Parameter

Symbol

Min

I NT setup time

tSIRK

30

ns
ns

INT hold time

tHIAIQ

0

INTAK width, low

tWIAL

2T -30

INTAK delay time

tOKIA

INTAK width, high

tWIAH

Max

Unit

ns
80

T -30

ns
ns

INTAK to data delay time

tOIAO

INTAK to data hold time

tHIAO

0

SCKO cycle time

tCYTK

1000

ns

SCKO (TSCI<) width, high

tWSTH

450

ns

SCKO (TSCI<) width, low

tWSTL

450

2T -130

ns

0.5T

ns

ns

TxD delay time

tOTKD

TxD hold time

tHTKD

20

ns
ns

CTSO (RSCI<) cycle time

Conditions

210

ns

tCYRK

1000

CTSO (RSCI<) width, high

tWSRH

420

ns

CTSO (RSCI<) width, low

tWSRL

420

ns

RxD setup time

tSROK

80

ns

RxD hold time

tHKRO

80

ns

II

AC Characteristics 3; V35 Mode
TA = -10 to +70°C; CL = 100 pF (max); T = tcYK; n = number of wait states inserted
fCLK = 0.5 to 5 MHz with Voo = 5 V ±10%; fCLK = 5 to 8 MHz with Voo = 5 V ±5%
Parameter

Symbol

Address delay time

tOKA

Address valid to input data
valid
MREQ to data delay time

Min

Max

Unit

90

ns

tOAOR

(n+1.5)T - 90

ns

tOMRO

(n+2)T -75

ns

MSTB to data delay time

tOMSO

(n+1)T -75

ns

MREQ to TC delay time

tOMRTC

0.5T + 50

ns

MREQ to MSTB delay time

Conditions

tOMRMS1

T-35

T + 35

ns

Read operation

tOMRMS2

(n + 1)T - 35

(n + 1)T + 35

ns

Write operation

tOMRMS

0.5 T - 30

ns

MREQ width, low

tWMRL

(n+2)T -30

ns

Address hold time

tHMA

0.5T - 30

ns

Input data hold time

tHMOR

0

ns
ns

Next control setup time

tscc

T-25

Te width, low

tWTCL

2T-30

Address data output

tOAOW

MREQ delay time

tOAMR

0.5T -30

R/W to MSTB delay time

tORMS

0.5T - 30

ns

tOWMS

(n + 0.5)T - 30

ns

tWMSL1

(n + 1)T - 30

ns

Read operation

tWMSL2

T-30

ns

Write operation

MSTB width, low

ns
0.5T + 50

ns
ns

13

NEe

pPD70P322

AC Characteristics 3; V35 Mode (cant)
Parameter

Symbol

Data output setup time

tsoM

Data output hold time

Min

Max

(n+2)T - 50

Unit

tHMOW

0.5T - 50

ns

IOSTB delay time

tOMRIS

T -35

ns

iOS'i'B to data input
iOS'i'B width, low

tOISO
tWISL

(n+1)T - 30

ns

Address hold time

tHISA

0.5T - 30

ns

Data input hold time

tHISOR

0

ns

Output data setup time

tSOIS

(n+2)T -50

ns

Output data hold time

tHISOR

Next DMARQ setup time

tSOAOQ

DMARQ hold time

tHoAOQ

0

DMAAK read width, low

tWOMRL

(n+1.5)T - 30

DMAAK to

fC delay time

(n + 1) T -90

ns

ns

0
T

ns

Demand mode

ns

Demand mode

ns
0.5T + 50

tOOATC

Conditions

ns

ns

DMAAK write width, low

tWOMWL

(n+2)T -30

ns

RE F RQ delay time

tOARF

0.5T - 30

ns

REFRQ width, low

tWRFL

(n+1)T -30

ns

Address hold time

tHRFA

0.5T - 30

ns

RESET width, low

tWRSL1

30

ms

STOP mode release/Power-on reset

RESET width, low

tWRSL2

5

/Ls

System reset

ns

n

~

2

ns

n

~

2

MREQ, IOSTS to READY setup
time

tSCRY

MREQ, IOSTS to READY hold
time

tHCRY

HLDAK output delay time

tOKHA

BUS control float to H LDAK ~
HLDAK ito control output time

nT -100
nT
80

ns

tCFHA

T -50

ns
ns

tOHAC

T -50

HLDRQ J. to control output time

tOHQC

3T + 30

ns

H LDAK width, low

tWHAL

T

ns

H LDRQ setup time

tSHQK

30

HLDRQ to HLDAK delay time

tOHQHA

H LDRa width, low

tWHQL

1.5T

ns

INTP, DMARa setup time

tSTQK

30

ns

INTP, DMARa width, high

tWIQH

8T

ns

INTP, DMARQ width, low

tWIQL

8T

ns

POLL setup time

tSPLK

30

ns

NMI width, high

tWNIH

5

/Ls

NMI width, low

tWNIL

5

/Ls

C'fS width,

tWCTL

2T

ns

INT setup time

tSIRK

30

ns

INT hold time

tHAIQ

0

ns

tWIAL

2T- 30

low

INTAK width, low
INTAK delay time

14

tOKlA

ns
3T + 160

ns

ns

80

ns

NEe

pPD70P322

AC Characteristics 3; V35 Mode (cont)
Parameter

Symbol

INTAK width, high

tWIAH

INTAK to data delay time

tOIAO

INTAK to data hold time

tHIAO

0

SCKO cycle time

tCYTX

1000

ns

SCKO (TSCI<) width, high

tWSTH

450

ns

SCKO (TSCI<) width, low

tWSTL

450

TxD delay time

tOTKD

TxD hold time

tHTKD

20

CTSO (RSCI<) cycle time

tCYRK

1000

ns

CTSO (RSCI<) width, high

tWSRH

420

ns

CTSO (RSCI<) width, low

tWSRL

420

ns

tSROK

SO

ns

tHKRO

SO

ns

RxD setup time
RxD hold time

Min

Max

T -30

Unit

Conditions

ns
2T - 130

ns

0.5T

ns

ns
210

ns
ns

AC Characteristics 4; EPROM Program Operation
= 25 ±5°C, VOO = 6.0 ±0.25 V; Vpp = 12.5 ±0.3 V

1m

TA

Parameter

Symbol

Min

Typ

Max

Unit

Address setup time to CE .J.

tAS

2

OE setup time

tOES

2

P.s

Data input setup time to CE .J.

tos

2

P.s

Address retention time

tAH

2

p.s

Data input retention time

tOH

2

p.s

OE to data output float delay

tOF

0

p.s

Vpp setup time to CE .J.

tvps

2

p.s

VOO setup time to CE .J.

tvos

2

Initial program pulse width

tpw

0.95

Additional program pulse width

topw

2.S5

OE to data output delay time

tOE

Condition

P.s

p.s
1.0

1.05

ms

7S.75

ms

2

p.s

Max

Unit

IJs

CE = OE "" V1L

IJs

OE "" VIL

IJs

= V1L
= V1L
CE = "DE = V1L

AC Characteristics 5; EPROM Read Operation
= 25 ±5°C, VOO = 5.0 ±0.5 V; Vpp"" VOO

TA

Parameter

Symbol

Min

Typ

Address to data output delay time

tACC

2

CE to data output delay time

icE

2

OE to data output delay time

tOE

OE to data output float delay

tOF

0

IJs

Address to output retention

tOH

0

IJs

Condition

CE
CE

15

NEe

pPD70P322

Figure 4.

EPROM Program Operation Timing

+ 12.SV
Vpp
VDD

+6V
VOD
VDD

CE

V1H
VIL

tOES

r.-

V1H

-------------,1

OE
83VL·6791 B

Figure 5.

Comparator Characteristics

EPROM Read Operation Timing

TA = -10 to 70°C; fCLK = 0.5 to 5 MHz with V DD
fCLK = 5 to 8 MHz with Voo = 5 V ±5%
Address input

Parameter

=5V

±10%;

Max

Unit

±100

mV

VDD +0.1

V

tCOMP

64

65

tCYK

VIPT

0

VDD

V

Symbol

Min

Accuracy

VACOMP

Threshold voltage

VTH

0

Comparison time
PT input voltage

Data Memory STOP Mode; Low Supply Voltage
Data Retention

*OE

TA = -10 to +70°C

o-,-DO

---.:!!-~--

Data output

Hi-Z

* To read within the range of tACC. set the delay
of OE from

CE fall to tACC -

tOE(Max).
83VL·6792A

16

Parameter

Symbol

Min

Max

Data retention supply voltage

VDDDR

2.5

5.5

V DD rise, fall time

tR\fD' tFVD

200

Unit

V
p.s

NEe

NEG Electronics Inc.

pPD70325 (V25 Plus)
16-Bit Microcomputer:
High-Speed DMA, Single-Chip, CMOS

Description

o Internal 256-byte RAM memory

The jiPD70325 0125 Plus) is a high-performance, 16-bit,
single-chip microcomputer with an 8-bit external data
bus. The jiPD70325 is fully software compatible with
the pPD70108/116 ry2Q®/30®) as well as the jiPD70320/
330 ry25™ /35™). The V25 Plus microcomputer demonstrates numerous enhancements over the standard
V25; however, it maintains strict pin compatibility with
its predecessor, the V25.

o 1-megabyte memory address space

o Two independent full-duplex serial channels

The V25 Plus offers improved DMA transfer rates to 5
megabytes/second, additional serial channel status
flags, improved memory access timing, and enhanced
software control of register bank context switching.

o Priority interrupt controller
- Standard vectored service
- Register bank switching
- Macroservice

The jiPD70325 has the same complement of internal
peripherals as the V25 and maintains compatibility
with existing drivers; however, some modification Of
DMA device drivers may be necessary. The jiPD70325
does not offer on-chip ROM or EPROM.

Features
o 16-bit CPU and internal data paths
o Functional and pin compatibility with V25

o Eight internal memory-mapped register banks
o Four multifunction I/O ports
- 8-bit analog comparator port
- 20 bidirectional port lines
- Four input-only port lines

o Pseudo SRAM and DRAM refresh controller
o Two 16-bit timers
o On-chip time base counter
o Programmable wait state generator
o Two standby modes: STOP and HALT

Ordering Information
Part Number

Clock (MHz)

Package

JlPD70325L-S

S

S4-pin PLCC

o Software compatible with jiPD8086

L-10

10

o New and enhanced V-Series instructions

GJ-S

S

o 6-byte prefetch queue

GJ-10

10

o Two-channel high-speed DMA controller
o Minimum instruction cycle
-250 ns at 8 MHz
- 200 ns at 10 MHz

V20 and V30 are registered trademarks of NEC Corporation.
V25 and V35 are trademarks of NEC Corporation.

50134-2

94-pin plastic QFP

NEe

IIPD703'26 (V25 Pills)
<

•

i"

Pin Configurations
84-PlnPLCC

P07/CLKOUT

74

PT7

DO

73

PT6

01

72

PTS

02

71

PT4

03

70

PT3

04

69

PT2

05

68

PTt

06

67

PTO

07

66

P17/REAOY

Ao

65

P16/SCKO

At

64

P1SITOU~

A2

63

P14/INT/PO~

A3

62

P13/INTP2IINTAK

A4

61

P12/1NTP1

A5

60

P11/1NTPO

A6

59

P10/NMI

A7

58

P27/HLORQ

A8

57

P26/HLDAK

A9

56

P25~

A10

55

P24/0MAAK1

54

P23/0MARQ1

A11

I"'-

v

~~~~~~~~8
c(c(c(c(c(c(c(c(tt.

°l~f-

Z

(!l

()

0

~ Eilen
x f-

f-

a: ()

co

v

~ 8
a:

f-

~

e

Cl

v

o

~

N

C')

on on on on

TIc

Q o

Q
~ ()
> ~ ~
e~

0
N

a.

N

a.

Notes:
(1) Pin functions are identical to IlP070320.
(2) All IC pins should be tied together and pulled up to V DO with a
10- to 20-k.Cl resistor.
(3)

EA must be tied low because IlP070325 does not support Internal
ROM or EPROM.
83SL-G689B

2

NEe

,.,PD70325 (V25 Plus)

94-Pln PI••tlc QFP

A12
NC
A13
A14
A15
A16
A17
A18
A19
RxDO
GND
CTSO
TxDO
RxD1
CTS1
TxD1
P20/DMARQO
IC

VDD
VDD
P21/DMAAKO
NC
P22ITCO

71

POs

70

NC

69

IC

68

P04

67

P03

66

P02

65

P01

64

POo

63

EA

62

MREQ

61

IOSTB

60

MSTB

59

RIW

58

REFRQ

57

RESET

56
55

VDD
VDD

54

X2

53

X1

52

GND

51

GND

50

NC

49

~ ~ ~ ~

re

~ g

M~

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~48

NC

VrH

Notes:
(1) Pin functions are Identical to J.l.PD70320.
(2) All IC pins should be tied together and pulled up to V DD with a
10- to 20-kn resistor.
(3) EA must be tied low because J.l.PD70325 does not support internal
ROM or EPROM.
83SL-e690B

3

NEe

pPD70325 (V25 Plus)

Pin 'Identification
Symbol

Function
Address bus outputs

CLKOUT

System clock output

PIN FUNCTIONS

Ao-A19 (Address Bus)
Ao-A19 is the nonmultiplexed 20-bit address bus used to
access all external devices.

Clear to send channel 0 input
CTS1

Clear to send channel 1 input

CLKOUT (System Clock)

Bidirectional data bus

This is the internal system clock. It can be used to
synchronize external devices to the CPU.

External access
I/O strobe output
MREQ

Memory request output

MSTB

Memory strobe output
I/O portO

P101NMI

Port 1 input line; nonmaskable interrupt

P11-P12/INTPOINTP1

Port 1 input lines; external interrupt input lines

P131'INTP2/
INTAK

Port 1 input line; external interrupt input line;
interrupt acknowledge output

P141'1 N17POLL

I/O port 1; interrupt request input; I/O poll input

P1:/TOUT

I/O port 1; timer out

P1e1SCKO

I/O port 1; serial clock output

I/O port 2; DMA request 0
I/O port 2; DMA acknowledge 0
I/O port 2; DMA terminal count 0

P231'DMARQ1

I/O port 2; DMA request 1
I/O port 2; DMA acknowledge 1
I/O port 2; DMA terminal count 1

P2e1HLDAK

The two serial ports (channels 0 and 1) use these lines
for transmitting and receiving data, handshaking, and
serial clock output.

00-07 (Data Bus)

I/O port 1; ready input
P20/DMARQO

CTSn, RxDn, TxDn, SCKO (Clear to Send,
Receive Data, Transmit Data, Serial Clock Out)

I/O port 2; hold acknowledge output

Do-D7 is the 8-bit external data bus.

DMARQn, DMAAKn, TCn (DMA Request, DMA
Acknowledge, Terminal Count)
These are the control signals to and from the on-chip
DMA controller.

EA(External Access)
If this pin is low on reset, the J.1PD70322 0/25) will
execute program code from external memory instead
of internal ROM.
Because the V25 Plus does not support internal ROM,
the EA pin must be fixed low in hardware.

I/O port 2; hold request input
PTO-PT7

Comparator port input lines
Refresh pulse output

RESET

Reset input

RxDO

Serial receive data channel 0 input

RxD1

Serial receive data channel 1 input

R/W

Read/Write output

TxDO

Serial transmit data, channel 0 input

TxD1

Serial transmit data, channel 1 input

X1,X2

Crystal connection terminals

VDD

Positive power supply voltage
Threshold voltage input

GND

Ground reference

IC

Internal connection

H LDAK (Hold Acknowledge)
The HLDAK output (active low) informs external devices that the CPU has released the system bus.

H LDRQ (Hold Request)
The HLDRQ input (active high) is used by external
devices to request the CPU to release the system bus to
an external bus master. The following lines go into a
high-impedance status: Ao-A19, Do-D7, MREQ, RiW,
MSTB, REFRQ, and IOSTB.

INT (Interrupt Request)
INT is a maskable, active-high, vectored interrupt request. After assertion, external hardware must provide
the interrupt vector number.
The INT pin allows direct connection of slave J.1PD71059
interrupt controllers.

4

NEe
INTAK (Interrupt Acknowledge)
After INT is asserted, the CPU will respond with INTAK
(active low) to inform external devices that the interrupt
request has been granted.

pPD70325 (V25 Plus)

every five clock cycles until it is low. POLL can be used
to synchronize program execution to external conditions.

PTO ·PT7 (Comparator Port)

INTPO ·INTP2 (External Interrupt)

PTO-PT7 are inputs to the analog comparator port.

INTPO-INTP2 allow external devices to generate interrupts. Each can be programmed to be rising or falling
edge triggered.

READY (Ready)

10STB (I/O Strobe)
10STB is asserted during read and write operations to
external I/O.

MREQ (Memory Request)
MREQ (active low) informs external memory that the
current bus cycle is a memory access bus cycle.

MSTB (Memory Strobe)
MSTB (active low) is asserted during read and write
operations to external memory.

NMI (Nonmaskable Interrupt)
NM I cannot be masked through software and is typically
used for emergency processing. Upon execution, the
interrupt starting address is obtained from interrupt
vector number 2. NMI can release the standby modes
and can be programmed to be either rising or falling
edge triggered.

After READY is de-asserted low, the CPU synchronizes
and inserts at least two wait states into a read or write
cycle to memory or I/O. This allows the processor to
accommodate devices whose access times are longer
than nominal p.PD70325 bus cycles.

REFRQ (RefreSh)
This active-low output pulsecan refresh nonstatic RAM.
It can be programmed to meet system specifications an
is internally synchronized so that refresh cycles do not
interfere with normal CPU operation.

RESET (Reset)
A low on RESET resets the CPU and all on-chip periPh-1!!I
erals. RESET can also release the standby modes. After
RESET returns high, program execution begins from
address FFFFOH.

R/W (Read/Write)
Rm output allows external hardware to determine if the
current operation is a read or a write cycle. It can also
control the direction of bidirectional buffers.

POO·P07 (Port 0)
POo-P07 are the lines of port 0, an 8-bit bidirectional
parallel I/O port.

P10·P17 (Port 1)
The status of P1o-P13 can be read but these lines are
always control functions. P14-P17 are the remaining lines
of parallel port 1; each line is individually programmable
as either an input, an output, or a control function.

P20·P27 (Port 2)
P2o-P27 are the lines of port 2, an 8-bit bidirectional
parallel I/O port. The lines can also be used as control
signals for the on-chip DMA controller.

TOUT (Timer Out)
TOUT is the square-wave output signal from the internal
timer.

X1, X2 (Crystal Connections)
The internal clock generator requires an external crystal
across these terminals. By programming the PRC register, the system clock frequency can be selected as the
oscillator frequency (fosd divided by 2, 4, or 8.

Voo (Power Supply)
Two positive power supply pins (VDD) reduce internal
noise.

POLL (Poll)
Upon execution of the POLL instruction, the CPU checks
the status of this pin and, if low, program execution
continues. If high, the CPU checks the level of the line

5

NEe

pPD70325 (V25 Plus)
VTH (Threshold Voltage)

GND (Ground)

The comparator port uses this pin to determine the
analog reference point. The actual threshold to each
comparator line is programmable to VTH x n/16 where n
=1 to 16.
.

Two ground connections reduce internal noise.

IC (Internal Connection)
Allie pins should be tied together and pulled up to Voo
with a 10- to 20-kO resistor.

"PD70325 Block Diagram

...............

It>

-+-::
1
P2 I~;:~~~ =lprOg~::ableil
'"

Ao-A19

P20/DMARQO

P2 3 IDMARQ1 -j~
P2 4 /DMAAK1 - : :

LRESIT

Controller

-1.. . . . . . . . . . . . . . . . . . . .

:;.- HLDAK/P2 6

P2 s rrC1 ..

}-~. HLDROIP2 7

~.~

~:~~ : :..··············::·;::;·················11
P1 /SCKO ~~

6

:. b' .:~
:: [ ; -

Interface

CTSO~:
TxD1

~:

- General
Registers
-Macro
Service
Channel

r------,

~;~~ =:1. . . . . . . . . . . . . ..
P1 0 /NMI

P13/INTP2I

M~B

Ili~ :TB

~ POLUINT/P14

(Reserved)

Instruction Decoder

P11/1NTPO
P12/1NTP1

Internal ROM
8K Bytes

READY/P1 7
MREQ

Micro Sequencer

Programmable
Interrupt
Controller

i;"'" EA

Micro ROM

INTAK

;=.............}

P1 4 /1NTI
POLL

X1

X2

TOUT/P15

REFRQ

P07/CLKOUT

PO

P1

P2

PTO-PT7

V TH

VDD
GND

Notes:
(1) The I1PD70325 (V25 Plus) is not a masked ROM product.
Internal ROM Is reserved and not accessible.
(2) Shaded blocks are functionally different on V25 Plus and V25.
83YL·5731B

6

NEe

pPD70325 (V25 Plus)

FUNCTIONAL DESCRIPTION

Register Set

The following features enable the p.PD70325 to perform
high-speed execution of instructions.

Figure 1 shows the eight banks of internal registers,
which the p.PD70325 has functionally mapped into internal RAM. Each bank contains general-purpose registers,
pointer and index registers, segment registers, and save
areas for context switching.

•
•
•
•

Dual internal data bus
16- and 32-bit temporary registers/shifters
16-bit loop counter
Program counter and prefetch pointer

Dual Data Bus
The p.PD70325 has two internal 16-bit data buses: the
main data bus and the secondary data bus. This reduces
the processing time required for addition/subtraction
and logical comparison instructions by one third over
single-bus systems. The dual data bus method allows
two operands to be fetched simultaneously from the
general-purpose registers and transferred to the AlU.

16- and 32-Bit Temporary Registers/Shifters
The 16-bit temporary registers/shifters (TA and TB) allow
high-speed execution of multiplication/division and
shift/rotate instructions. Using the temporary registers,
the p.PD70325 can execute multiplication/division instructions about four times faster than with the microprogrammed method.

Loop Counter (LC)
The dedicated hardware loop counter (lC) counts the '
number of iterations for string operations and the number of shifts performed for multiple-bit shift/rotate instructions. The loop counter works with internal dedicated shifters to speed the processing of multiplication/
division instructions.

Program Counter and Prefetch Pointer
(PC and PFP) ,
The hardware PC addresses the memory location of the
instruction to be executed next. The hardware PFP
addresses the program memory location to be accessed
by the instruction queued next. Several clock cycles are
saved for branch, call, return, and break instructions.

Although these memory locations may be accessed as
normal RAM with the full set of memory addressing
modes provided by the V25 family, the capability of
context switching provides superior speed in register
access. When used in the internal memory disabled
state, many instructions execute considerably faster.
Eight macroservice channel control blocks are also
mapped into register banks 0 and 1. The V25 Plus does
not map the DMA channel control blocks into the internal RAM like the V25; instead, these control blocks are
mapped into the special function register area.
General-Purpose Registers (AW, BW, Cw, OW). Four
16-bit general-purpose registers (AW, BW, Cw, and DW)
can serve as 16-bit registers or as four sets of dual a-bit
registers (AH, Al, BH, Bl, CH, Cl, DH, and Dl). The
instruction classes default to the following generalpurpose registers.
AW Word multiplication/division, word I/O, data
conversion.
Al

Byte multiplication/division, byte I/O, BCD
rotation, data conversion, translation.

AH

Byte multiplication/division.

BW Translation
CW loop control, branch, and repeat prefixes.
Cl

Shift 'instructions, rotate instructions, BCD
operations.

DW Word multiplication/division, indirect
addressing.

I/O

Pointers (SP, BP) and Index Registers (IX, IY). These
registers are 16-bit base pOinters (SP, BP) or index
registers (IX, IY) in based addressing, indexed addressing, and based indexed addressing. They are used as
default registers under the following conditions.
SP

Stack operations

IX

Block transfer (source), BCD string operations

IY

Block transfer (destination), BCD string
operations

7

II'1I'I

Iii:I

NEe

JlPD70325 (V25 Plus)

Figure 1. Internal RAM Mapping
32-Byte
Register Bank
15
+1FH

AW
CW

ow
BW
SP

Eight 32-Byte
Register Banks

BP

IX
15

IV

xxEFFH
xxEEOH

Register Bank
7

xxECOH

6

xxEAOH

5

OS1
PS
SS
OSO
PC Storage

xxE80H

4

xxE60H

3

xxE40H

2

xxE20H

1

xxEOOH

0

PSW Storage
Vector PC
+OOH

]

Reserved

Eight a-Byte
Macroservice Channels
Macroservlce t;nannel
xxE3FH
0
7
xxE38H 15
xxE30H

6

xxE28H

5

s.{

a-Byte
Macroservice Channel
15
+7H

4

xxE18H

3

xxE10H

2

xxE08H

1

xxEOOH

0

0

MSP
Reservedi SCHR
+OH

xxE20H

87
MSS

SFRP

I

MSC

83SL-6691B

Segment Registers. The segment registers divide the
1M-byte address space into 64K-byte blocks. Each segment register functions as a base address to a block; the
effective address is an offset from that base. Physical
addresses are generated by shifting the associated segment register left by four binary digits and then adding
the offset address. The segment registers and default
offsets are listed below.

8

Segment Register
PS (Program Segment)

Default Offset
PC (Program Counter)

SS (Stack Segment)

SP and Effective Address

DSO (Data Segment 0)

IX and Effective Address

DS1 (Data Segment 1)

IV and Effective Address

Save Registers (Save PC and Save PSW). Save PC and
save PSW are used as the storage areas during register
bank context-switching operations. The Vector PC save
location contains the effective address of the interrupt
service routine when register bank switching is used to
service interrupts.
Program Counter (PC). The PC is a 16-bit binary
counter that contains the offset address from the program segment of the next instruction to be executed. It
is incremented every time an instruction is received from
the queue. It is loaded with a new location whenever the
branch, call, return, break, or interrupt is executed.

NEe

pPD70325 (V25 Plus)

Program Status Word (PSW). The PSW contains status
and control flags used by the CPU and two generalpurpose user flags. The configuration of this 16-bit register is shown below.
15

8
RB2

RB1

RBO

V

F1

AC

FO

I

DIR

IE

BRK

P

I BRKI I

CY

0

7

S

z

I

Status Flags
V
Overflow bit
S
Sign
Z
Zero
AC Auxiliary carry
P
Parity
CY Carry

In large-scale systems where internal RAM is not required for data memory, internal RAM can be removed
completely from the address space and dedicated entirely to register banks· and control functions such as
macroservice.You do this by clearing the RAMEN bit in
the processor control register. When the RAMEN bit is
cleared, internal RAM can only be accessed by register
addressing or internal control processes. Many instructions execute faster when internal RAM is disabled.

Figure 2. Memory Map
Control Flags
DIR
Direction of string
processing
Interrupt enable
IE
BRK
Break (after every
instruction)
Current register
RBn
bank flags
BRKI
I/O trap enable
FO, F 1 General-purpose
user flags

The eight low-order bits of the PSW can be stored in
register AH and restored using a MOV instruction. The
only way to alter the RBn bits with software is to execute
an RETRBI or RETI instruction.

Memory Map
The p.PD70325 has a 20-bit address bus that can directly
access 1 megabyte of memory. Figure 2 shows the
memory map. The internal data area (IDA) is a 256-byte
internal RAM area followed consecutively by a 256-byte
special function register (SFR) area.
All the data and control registers for on-Chip peripherals
and I/O are mapped into the SFR area and accessed as
RAM.
The IDA is dynamically relocatable in 4K-byte increments
by changing the value in the internal data base (lOB)
register. The value in this register is assigned as the
uppermost eight bits of the IDA address. The lOB register
is accessed from two memory locations, FFFFFH and
XXFFFH, where XX is the value in the lOB register.

FFFFFH

,,/--------/
XXFFFH
External
Area

XXFOOH
XXEFFH
XXEOOH

Vector
Table
(1K Bytes)

Special Function
Registers
[256 Bytes)
~?
Internal RAM
[256 Bytes)

.,?

OOOOOH

1M Bytes Memory Space
83YL-6771A

INSTRUCTIONS
The p.PD70325 instruction set is fully compatible with the
V20 native mode instruction set. The V25 Plus is a
superset of the p.P08086/8088 instruction set with different execution times and mnemonics.
The p.P070325 does not support the V20 8080 emulation
mode.

On reset, the internal data base register is set to FFH,
which maps the IDA into the internal ROM space. However, since internal ROM is not present on the p.PD70325,
this does not present a problem. You can select any of
the eight possible register banks, which occupy the
entire internal RAM space. Multiple register bank selection allows faster interrupt processing and facilitates
multitasking.

9

NEe

"PD70325 (V25 Plus)
Enhanced Instructions

variable-Length Bit Field Operation Instructions

In addition' to thep.PDB086/B088 instructions, the
p.PD70325 provides the following enhanced instructions.

Bit fields are a variable-length data structure that can
range from 1 to 16 bits. The p.PD70325 supports two
separate operations on bit fields: insertion (INS) and
extraction (EXT). There are no restrictions on the position' of the bit field in memory.

Instruction
PUSH imm
PUSH R
POPR
MULimm
SHL immB
SHR immB
SHRAimmB
ROLimmB
ROR immB
ROLCimm8
RORC imm8
CHKIND
INM
OUTM
PREPARE
DISPOSE

Description .
Pushes immediate data onto stack
Pushes 8 general registers onto stack
Pops 8 g'eneral registers from stack
Executes 16-bit multiply of register or
memory contents by immediate data
Shifts/rotates register or memory by
immediate data

Checks array index against designated
boundaries
Moves a string from an I/O port to
memory
Moves a string from memory to an I/O
port
Allocates an area for a stack frame and
copies previous frame pointers
Frees the current stack frame on a
procedure exit

Unique Instructions
The p.PD70325 provides the following unique instructions.
Instruction
INS
EXT
ADD4S
SUB4S
CMP4S
ROL4

Description
Inserts bit field
Extracts bit field
Performs packed BCD string addition
Performs packed BCD string subtraction
Performs packed BCD string comparison
Rotates BCD digit left

ROR4
TEST1
SET1
CLR1
NOT1
BTCLR
REPC
REPNC

Rotates BCD digit right
Tests bit
Sets bit
Clears bit
Complements bit
Tests bit; if true, clear and branch
Repeat whi Ie carry set
Repeat while carry cleared

10

Separate segment, byte offset, and bit offset registers
are used for insertion and extraction. Following the
execution of these instructions, both the byte offset and
bit offset are left pointing to the start of the next bit field,
ready for the next operation. Bit field operation instructions are powerful and flexible and are therefore highly
effective for graphics, high-level languages, and
packing/unpacking applications.
Bit field insertion copies the bit field of specified length
from the AW register to the bit field addressed by
DS1 :IY:reg8 (8-bit general-purpose register). The bit field
length can be located in any byte register or supplied as
immediate data. Following execution, both IYand regB
are updated to point to the start of the next bit field.
Bit field extraction copies the bit field of specified length
from the bit field addressed by DSO:IX:regB to the AW
register. If the length of the bit field is less than 16 bits,
the bit field is right justified with a zero fill. The bit field
length can be located in any byte register or supplied as
immediate data. Following execution, both IX and regB
are updated to point to the start of the next bit field.
Figures 3 and 4 further illustrate bit field insertion and
bit field extraction, respectively.

Packed BCD Instructions
Packed BCD instructions process packed BCD data
either as strings (ADD4S, SUB4S, and CMP4S) or byte
format operations (ROR4 and ROL4). Packed BCD
strings may be 1 to 254 digits in length. The two BCD
rotation instructions rotate a Single BCD digit in the
lower half of the AL register using the register or
thememoryoperand.

Bit Manipulation Instructions
The p.PD70325 provides five unique bit manipulation
instructions that allow you to test, set, clear, or complement a single bit in a register or memory operand. This
increases code r~adability as well as performance over
the logical operations traditionally used to manipulate
bit data. These instructions also give you additional
control over on ..chip peripherals. .

NEe

pPD70325(V25 Plus)

Figure 3. Bit Field Insertion
Bit length

0

15

Awl

~

I

I
I

t

111/

~ ~.

VtJ

Bit offset

Byte offset (IV)

f

L~

Byte boundary

[tMem~

1

Segment base (051)
83-0001069

Figure 4. Bit Field Extraction
Bit length

Bit offset

Byte boundary

Segment base (OSO)

83-0001079

Additional Instructions
Besides the V20 instruction set, the ItPD70325 provides
the following additional instructions.
Instruction

Description

BTClR
Sfr.imm3,
short-label
STOP
(no operand)
RETRBI
(no operand)

Bit test and if true, clear and
branch; otherwise, no operation
Power-down instruction; stops
oscillator
Return from register bank context
switch interrupt

FINT
(no operand)

Finished interrupt; after completion
of a hardware interrupt request, this
instruction must be used to reset
the current priority bit in the inservice priority register, ISPR. Not
for use with NMI or INT interrupt
service routines.

Repeat Prefixes
Two repeat prefixes (REPC and REPNC) allow conditional block transfer instructions to use the state of the
CY flag as the termination condition. This allows inequalities to be used when working on ordered data, thus
increasing performance when searching and sorting
algorithms.

11

NEe

pPD70325 (V25 Plus)
Bank Switch Instructions

Escape trap

The CPU traps in an FP01,2 instruction
to allow software to emulate the
floating-point processor since the
",PD70325 does not support an
external hardware coprocessor:

1/0 trap

If the 1/0 trap bit in the PSW is cleared,
a trap is generated on every IN or OUT
instruction. Software can then provide
an updated peripheral address. This
feature provides software portability
between different systems.

The following instructions allow the effective use of the
register banks for software interrupts and multitasking.
Instruction
BRKCS reg 16

Description
Performs a high-speed software
interrupt with context switch to
register bank indicated by lower 3
bits of register 16.

TSKSW reg 16

Performs a high-speed task switch
to register bank indicated by lower 3
bits of register 16. The PC and PSW
are saved in the old banks. PS and
PSW save registers and the new PC
and PSW values are retrieved from
the new register bank's save areas.

MOVSPA

Transfers both SS and SP of old
register bank to new register bank
after bank has been switched by an
interrupt or BRKCS instruction.

MOVSPB reg16

Transfers SS and SP of current
register bank before switching to SS
and SP of new register bank indicated by lower 3 bits of register 16.

INTERRUPT STRUCTURE
The ",PD70325 can service interrupts generated by both
hardware and software. Software interrupts are serviced
through vectored interrupt processing. The following
interrupts are provided.
Interrupt
Divide error

Single step

Description
The CPU traps if a divide error occurs
as the result of a DIV or DIVU
instruction.
The interrupt is generated after every
instruction if the aRK bit in the PSW is
set.

When executing software written for another system, it
is better to implement 1/0 with on-chip peripherals to
reduce external hardware requirements. However, since
",PD70325 internal peripherals are memory mapped,
software conversion may be difficult. The 1/0 trap feature allows for easy conversion from external peripherals
to on-chip peripherals.

Interrupt Vectors
Table 1 lists the interrupt vectors beginning at physical
address OOH. External memory is required to service
these routines. By servicing interrupts via the macroservice function or context switching, this requirement can
be eliminated.
Each interrupt vector is 4 bytes wide. To service a vectored interrupt, the lower addressed word is transferred to
the PC and the upper word to the PS. See figure 5.

Figure 5. Interrupt fMc tor 0
Vector 0
OOOH
002H

.T
I

I

I

001H
003H

PS +- (OO3H, 002H)
PC +- (OO1H, OOOH)
83-000112A

Overflow

Using the BRKV instruction, an
interrupt can be generated as the
result of an overflow.

Interrupt
instructions

The BRK 3 and BRK imm8 instructions
can generate interrupts.

Arraybounds

The CHKIND instruction generates an
interrupt if the specified array bounds
are exceeded.

12

Execution of a vectored interrupt occurs as follows:
(SP-1, SP-2) - PSW
(SP-3, SP-4) - PS
(SP-5, SP-6) - PC
SP - SP-6
IE -0, BRK-O
PS - vector high bytes
PC - vector low bytes

NEe

pPD70325 (V25 Plus)

Table 1. Interrupt

*to,.

Addres8

Vector

Anlgned Use

00
04
08
OC

0
1
2
3

Divide error
Break flag
NMI
BRK3 Instruction

10
14
18
1C

4
5
6
7

BRKV Instruction
CHKlND Instruction
General purpose
FPO Instructions

2O·2C
30
34
38

8·11
12
13
14

General purpose
INTSERO Onterrupt serial error, channel 0)
INTSRO Onterrupt serial receive, channel 0)
INTSTO Onterrupt serial transmit, channel 0)

3C
40
44
48

15
16
17
18

General purpose
INTSER1 Onterrupt serial error, channel 1)
INTSR1 Onterrupt serial receive, channel 1)
INTST1 Onterrupt serial transmit, channel 1)

4C
50
54
58

19

22

1/0 trap
INTDO Onterrupt from DMA.. channel 0)
INTDl Onterrupt from DMA, channel 1)
General purpose

5C
60
64
68

23
24
25
26

General purpose
INTPO Onterrupt from peripheral 0)
INTP1 Onterrupt from peripheral 1)
INTP2 Onterrupt from peripheral 2)

6C
70
74
78

27

30

General purpose
INTTUO Onterrupt from timer unit 0)
INTTU1 Onterruptfrom timer unit 1)
INTTU2 (Interrupt from timer unit 2)

7C
080·3FF

31
32·255

INTTB Onterrupt from time base counter)
General purpose

20

21

28
29

Be careful when assigning the priority of a given interrupt group; the assignment is done by the three priority
bits inonly one interrupt control register in each group.
If interrupts from different groups occur simultaneously
and the groups have the same priority level, the priority
is as shown in table 2.

Table 2. Interrupt Sources
Interrupt Source
(Priority Within Group)
Group

2

1

3

Default
Priority

Nonmaskable interrupt

NMI

Timer unit

INTTUO

INTTU1 INTTU2

1

DMA controller

INTDO

INTD1

2

External peripheral interrupt INTPO

INTP1

0

INTP2

3

Serial channel 0

INTSERO INTSRO INTSTO

4

Serial channel 1

INTSER1 INTSR1 INTST1

5

Time base counter

INTTB

6

Interrupt request

INT

7

The priority of the currently active interrupt is stored in
the ISPR special function register. Bits PR7-PRO corresp~nd to the eight possible interrupt request priorities.
The ISPR keeps track of the priority of active interrupts
by setting the appropriate bit of this register. The address
of this a-bit register is xxFFCH, and the format is shown
below.

I

PR7

I PRs

PRs

PR4

PR3

PR2

PR1

PRo

Hardware Interrupt Configuration
The V25 Plus features a high-performance on-chip controller capable of controlling multiple processing for
interrupts from up to 17 different sources (5 external, 12
internal). The interrupt configuration includes system
interrupts that are functionally compatible with those of
the V20N30 and unique high-performance microcontroller interrupts.

Interrupt Sources
The 17 interrupt sources are divided into groups for
management by the interrupt controller. Using software,
each of the groups can be assigned a priority from 0
(highest) to 7 (lowest). The priority of individual interrupts within a group is fixed in hardware.

NMI and INT are system type external vectored interrupts. NMI is not maskable via software, and is also
recognized by the I'PD70325 during DMA demandrelease transfer. INT is maskable by the IE bit in the PSW
and requires that an external device provide the interrupt
vector number. It is designed to allow the interrupt
controller to be expanded by the addition of an external
interrupt controller such as the I'PD71059.
NMI, INTPO-INTP1 are edge-sensitive inputs. By selecting the appropriate bits in the interrupt mode register,
these inputs can be programmed to be either rising- or
falling-edge triggered. Bits ESO-ES2 correspond to
INTPO-INTP2, respectively, as shown in figure 6.

13

1m
~.

NEe

pPD70325 (V25 Plus)

Figure 6. External Interrupt Mode Register (I NTIf)
a

ES2

a

7

I ES1

laESa

a

Address xxF 40H

ES2

The twelve internal interrupts are:

IESNMI I

INTTUO
INTTU1
INTTU2
INTDO
INTD1
INTSERO
INTSRO
INTSTO
INTSER1
INTSR1
INTST1
INTTB

a

INTP2 Input Effective Edge
Falling edge
Rising edge

a
1
ES1

INTP1 Input Effective Edge
Falling edge
Rising edge

a
1
ESO

INTPO Input Effective Edge
Falling edge
Rising edge

a

Table 3 shows the various interrupt request control
registers, the options for service, their relative priorities,
and the options for multiple control.

NMI Input Effective Edge

ESNMI

Falling edge
Rising edge

a
1

Timer unit 0 interrupt
Timer unit 1 interrupt
Timer unit 2 interrupt
DMA channel 0 interrupt
DMA channel 1 interrupt
Serial channel 0 error interrupt
Serial channel 0 receive interrupt
Serial channel 0 transmit interrupt
Serial channel 1 error interrupt
Serial channel 1 receive interrupt
Serial channel 1 transmit interrupt
Time base counter interrupt

The five external interrupts are:
NMI
INT
INTPO
INTP1
INTP2

Nonmaskable interrupt
Cascaded PIC interrupt
Interrupt from peripheral 0
Interrupt from peripheral 1
Interrupt from peripheral 2

Table 3. Interrupt Processing
Interrupt
Source

Interrupt
Vector

Macro
Service

Bank
Switching

Priority
Setting

Priority
Between Groups

NMI

2

No

No

Not available

a

INT

External

No

No

Not available

7

INTTUO

28

Yes

Yes

Available

Priority
Within Group

Not accepted
Not accepted
Accepted

INTTU1

29

2

INTTU2

30

3

INTDO

20

INTD1

21

INTPO

24

INTP1

25

2

INTP2

26

3

No

Yes

Available

2

Yes

Yes

Available

3

2

INTSERO

12

No

INTSRO

13

Yes

2

INTSTO

14

Yes

3

INTSER1

16

No

INTSR1

17

Yes

INTST1

18

Yes

INTTS

31

No

14

Yes

Yes

Available

Available

4

5
2
3

No

Not available

Multiple
Process Control

6

NEe

IIPD70325 (V25 Plus)

Interrupt Processing Modes
Interrupts, with the exception of NMI, INT, and INTTB
have high-performance capability and can be processed
in any ofthree modes: standard vector method (compatible with V20N30), register bank context switching (supported in hardware), and macroservice (SFR transfers).
The processing mode for a given interrupt can be chosen
by enabling the appropriate bits in the corresponding
interrupt request control register. Each interrupt, except
INTand NMI, has its own associated IRC register. The
general format for each of these registers is shown in
figure 7.
All interrupt processing routines other than those for
NMI and INT must end with the execution of the FINT
instruction. This instruction informs the interrupt controller that the current interrupt service routine is complete; if FINT is not executed within the service routine,
subsequently only interrupts of higher priority will be
accepted.
In the vectored service mode, the CPU traps to a vector
location.

Figure 7. Interrupt Request Control Registers
(IRC)
IF

\ IMK \MSIINT\ ENCS \

0

o

7
Interrupt Flag

IF

o
1
IMK

o
1
MS/INT

o
1
ENCS

o
1

No interrupt request generated
Interrupt request generated

Interrupt Mask
Open (interrupts enabled)
Closed (interrupts disabled)

Interrupt Response Method
Vector interrupt or register bank switching
Macroservice function

Not used
Used

This method of interrupt service offers a dramatic performance advantage over normal vectored service because there is no need to store and retrieve datal
registers on the stack. This also allows hardware-based
real-time task switching in high-speed environments.
In addition to context switching, the I4PD70325 has a
task switch opcode (TSKSW) that allows multiple independent processes to be internally resident. Figure 10
shows the task switching function.

Figure B. Register Bank Context Switching
RB)

RBi
AW

AW

CW

CW

ow

OW

BW

BW

SP

SP

BP

BP

IX

IX

IV

IV

r:::>

OS1

OS1

PS

PS

SS

SS

OSO

OSO

Save PC

Highest (0)
J,

1 1 1

As in the vectored mode, the IE and BRK bits in the PSW
are cleared to zero. After processing, execution of the
RETRBI instruction must be executed to return control
to the original register bank and restore the former PC
and PSW Figures 8 and 9 show register bank context
switching and register bank return.

Register Bank Switching Function

Interrupt Group Priority (0-7)
000

associated IRC register. The PC and PSW are automatically sorted in the save areas of the new register bank,
and the address of the interrupt routine is loaded from
the vector PC storage register in the new register bank.

Save

Save PC

psw

Save

y

Lowest (7)

Register Bank Switching.
Register bank context switching allows interrupts to be
processed rapidly by switching register banks. After an
interrupt, the new register bank selected has the same
bank number (0-7) as the priority programmed in the

Vector PC
Reserved

y

PC

PSW

~

I

psw

Vector PC
Reserved

83SL~21A

15

NEe

"PD70325 (V25 Plus)
Figure 10.

Figure 9. Register Bank Return

Task Switching

RBi

RBI

AW

AW

AW

AW

CW

CW

CW

CW

OW

OW

OW

OW

BW

BW

BW

BW

New

Current

SP

SP

SP

SP

BP

BP

BP

BP

IX

IX

IX

IX

IV

¢:::J

OS1
PS

IV

IV

OS1

OS1

PS

PS

q

IV
OS1
PS

SS

SS

SS

SS

OSO

OSO

oso

OSO

Save PC

Save PC

Save PC

Save PSW

+1

Vector PC
Reserved

4

PC

psw

1
I

H

psw

Save PSW

Save

Vector PC

Vector PC

Reserved

Reserved

il-f
RB

PC

r----

psw

l~

L

Save PC
Save

Reg 16

psw

Vector PC
Reserved

RB Register bank
field
83SL-6822A
83SL-6823A

Interrupt Factor Register
The IkPD70325 provides an additional register that stores
the interrupt vector number of the last-serviced interrupt
request. The register is located in special-function memory and is read only in 8-bit operations. This register
facilitates the use of one register bank to service multiple
interrupt sources, particularly those within the same
group (interrupts within the same group will all context
switch to the same register bank).
The interrupt vector is stored in the IROS register as
shown in figure 11, and is retained unti I the next interrupt
request is accepted. The value of the IROS register is not
altered by NMI, INT, or macroservice transfers. It is
generally recommended that the IROS register be read
before the EI bit is set within the interrupt service routine
to assure that its contents wi II not be altered by multiple
processing routines.

16

Figure 11. Interrupt Factor Register (IRQS)

o

I

0

I

7

Interrupt Factor

Interrupt Vector

0
5

4

Address xxFE FH
Interrupt Vector

INTTUO

1CH

INTTU1

IDH

INTTU2

IEH

INTDO

14H

INTD1

15H

INTPO

18H

INTP1

19H

INTP2

1AH

INTSERO

OCH

INTSRO

ODH

INTSTO

OEH

INTSER1

10H

INTSR1

11H

INTST1

12H

INTTB

1FH

0

NEe

IIPD70325 (V25 Plus)

Macroservice Function
The macroservice function (MSF) is a special microprogram that acts as an internal DMA controller between
on-chip peripheral special-function registers and memory. The MSF greatly reduces the software overhead and
CPU time that other processors would require for register save processing, register returns, and other handling
associated with interrupt processing.
If the MSFis selected for a particular interrupt, each time
the requestis received, a byte or word of data is transferred between an SFR and memory without interrupting
the CPU. Each time a request occurs, the macroservice
counter is decremented. When the counter reaches zero,
an interrupt to the CPU is generated. The MSF also has
a character search option. When selected, every byte
transferred is compared to an 8-bit search character and
an interrupt is generated if a match occurs or if the
macroservice counter reaches zero.
Like the NMI, INT, and INTTB, the two DMA controller
interrupts (lNTDO and INTD1) do not have MSF capability.
Eight 8-byte macroservice channels are mapped into
internal RAM from XXEOOH to XXE3FH. Each macroservice channel contains all necessary information to
execute the macroservice process. Figure 12 shows the
components of each channel.

Figure 12. Macroservice Channels

Upto3FH

Setting the macroservice mode requires programming
the corresponding macroservice control register. Each
individual interrupt, excluding INT, NMI, serial error,
DMA, and TBC, has its own associated register. Figure 13
shows the generic format for all MSC registers.

Figure 13. Macroservice Control Registers
(IISC)

I MSM21 MSM1 I MSMo I

DIR

o

o

7

Macroservlce Mode
Normal (a-bit transfer)
Normal (16-bit transfer)
Character search (a-bit transfer
Other combinations are not allowed.

000
o0 1
100

Data Transfer Direction

DIR

o

Memory to SF R
SF R to memory

Macroservlce Channel

000

Channel 0

1 1 1

Channel
7
J..

------------------TIMER UNIT
The #kPD70325 (figure 14) has two programmable 16-bit
interval timers (TMO and TM1) on chip, each with variable input clock frequencies. Each of the two 16-bit timer
registers has an associated 16-bit modulus register
(MDO and MD1). Timer 0 operates in the interval timer
mode or one-shot mode; timer 1 has only the interval
timer mode.

XXE08H

Interval Timer Mode
MSS

M.S. Channel 0

In this mode, TMO/TM1 are decremented by the selected
input clock, and, after counting out, the registers are
automatically reloaded from the modul us registers and
counting continues. Each time TM1 counts out, interrupts are generated through TF1 and TF2 (timer flags 1
and 2). When TMO counts out, an interrupt is generated
through TFO. The timer-out signal can be used as a
square-wave output whose half-cycle is equal to the
count time.

MSP
Reserved

SCHR

SFRP

MSC

XXEOOH [Internal RAM]

1----16 Bits---l
MSS
MSP

= Macro service segment
= Macro service pOinter

Two input clocks derived from the system clock are
SCLK/6 and SCLK/128. Typical timer values shown below are based on fosc = 10 MHz and fSCLK = fosc/2.

SCHR = Search character
SFRP = Special function register pOinter
MSC = Macro service counter
49·001345A

Clock
SCLK/6
SCLK/128

Timer Resolution
1.2 #kS
25.6 #kS

Full Count
78.643 #kS
1.678 s

17

1m.
~

NEe

pPD70325 (V25 Plus)

Figure 14.

Timer Unit Block Diagram

Figure 15.

Timer Control Register 0 (TMCO)

TSO 'TClKa' MSO 'MClKa' ENTO' AlV 'MOD1' MODo'
Address xxF90H
0

7
I

fSCLK

TSO

Idivided bY~

12:

a
1

~L-':""':'---1

MOD1
0
0
0
0

12~
128

~L~--1--~

MSO
0
1

TMO In Either Mode
Stop countdown
Start countdown
MOOD

TClKO

0
0
1
1

0
1
a

TMO Register Clock Frequency
fscu

.

IOAOR

~

_IOMRO_

R/W

I

,

tOAMR~1

-I

I~

-

tWMRL

IHMOR

1+

tscc-

II

1\

IOMSO

I----

!--IOMRMS-

1\
IOAMS-

j

~tWMSL-1

1\
REFRQ

~

83-004309C

39

NEe

,.,PD70325 (V25 Plus)

Memory Write
1 - - - - - B 1 - - - - + I - - - - B2 -------"

CLKOUT

~I+---\,-------,YK)_\~I
IOKA-

K

)
!+-IOAOW'"

l..-t HMA -

07- 0 0

tSOM

R/Iii

\

,

tWMRL

+-toAMRl

MREQ

I
. I-IHMowr;

-tscc-

1I

1\

I+-tOMRMS-

\
tOAMS-

V

~tWMSL _ _

IOSTB

~

REFRQ

~
-tOMRTC

\1+----."""----~tW-TCL-----+l(
83-004310C

40

NEe

,.,PD70325 (V25 Plus)

//ORad

tOKA

K

~
I+------,- tOAOR _ _ _

rtHISA-

l
1

tHIS OR

tOISO

R/W

I----

/

I\MSTB
I-tOAIS-1

IOSTB

\

tWISL

.
II

m

tscc--

"\.

DMAAK1
DMAAKO
83-004311C

41

NEe

,.PD70325 (V25 Plus)
I/O Write

I

81

CLKOUT

I

82

"I

ICYK

~I

J
~

A19-AO

~K

)
tDADW

rIHISA .....

k.

ISOIS

R/W

F

.

IHISDW

V

\

~
I

I-IDAIS .....

REFRQ

"

IWISL

.

I+-'------- t s e e -

ill

f\

1\
83"004312C

42

NEe

pPD70325 (V25 Plus)

DMA, I/O 10 Memory
~I--------B1--------41---------B2------~

}=1.--------t

eLKOUT

CYK
-------;

----1'L-----..\~---J ~\~----J!~\~---Jlr--------.\
tOKA-

'K

>~

'.

R/Vi

V

\
tWMRL

I-tOAMR-

I--tHMA--

~

/

\
tscc

j..-tOMRMS-

)

f\

tOAMS~ ~tWMSL_

f\
_tSOAOO __

DMARQO
DMARQ1

~
j.-tHOAOO ....

V

~
tWOMRL

1\
-tOOATC-

r

tWTCL

II
83-004313C

43

NEe

JlPD70325 (V25 Plus)
DIM, IIemory to I/O
1------B1-----+-----B2---~

1+----tCYK----+t

CLKOUT

I--tOKA_

R/W

)(

K

J

1\
I--tOAMR_

\+-tHMA_

tWMRL

Ij

"
~

,

1\
tscc

\

~twMSL--l

tOAMS

1\
I---tSOAOQ---.

DMARQO
DMARQ1-

'"
I+-tHOAOQ ....

I

'\

tWOMWL---l

N:

TC1-TCO
~tOOATC_

I

tWTCL

I
83-004314C

44

!\fEe

pPD70325 (V25 Plus)

Refresh

~

__-B1 ___-)----B2-__-J

I+----ICYK----.l

~ ~\'--" ·-----"\\~r
IOKA ___

A19-AO

)

~K

J

1\

D7-DO

R/W

~

11\
f--IOARF1

_IHRFA_

IWRFL

\

-

~
ISCC

"""---83-00431SC

CLKOUT----------------------------------~l~-J

RESET

~

IWRSL1

~

II

83-0043168

45

NEe

"PD70325 (V25 Plus)

CLKOUT

__
RESET -

~~RSU~

_ _

----.Y

~~

83-0043178

READY 1

I

f - - - - B1

BAW ---'---+--- B A W - - - + - - - B 2 - - 1

\--------/
IseRY FrIHCRY
READY ____________________

-J~

I

'\~__________~_____________________________ _
83-0043188

READY 2
1 - - - - B 1 - - - + - - - - BAW - - - + - - - - BAW - - - - + - - - BW - - - + - - - - B 2 - - 1

-

\
n=2

n=3

I+-tHCRY'
tSCRY'
n=2
READY

\

L
In = 3

1/

• tSCRY [READY setup time] and tHCRY [READY hold time] are a function of
T and n. Timings shown are examples for n = 2 and n = 3.
83-0043196

46

1'fEC

pPD70325 (V25 Plus)

HLORQ/ HLlJAK 1

Bus control *

1+-----tDHQHA---~

*A19-AO, 07-00, MREQ, MSTB, IOSTB, R/W

~--------tWHAL-----------~

83-0043208

HLORQ/HLIJAK 2
CLKOUT

HLORQ

~----tWHQL---~
Bus control * --I---------;~l_--+---------------_{

IDKH~----~Il~-----:======~~~~~~----tD-H-Q-C------------~_-_-_-_-_-_~_____________
* A19-AO, 07-00, MREQ, MSTB, IOSTB, R/W
83-0043218

IN7P, OMARQ Input
CLKOUT

INTp,
OMARQ*

~-------tWIQH-------~

* INTP2-INTPO, OMARQ1-0MARQO

:= = = = = = = - t~W~'Q-L- - - - - - - - - - - - - ~
83-0043228

47

IIPD70325 (V25 Plus)
POLL Input
CLKOUT

_ .. 1.

..----tSPLK_ _

POLL~

_ _ _---J!
83-0043236

Nllllnput
CLKOUT

NMI

--11+-:---twNIH-----.jnl4--.~~~~~=-twN-,L====--=--:f

83-0043246

CTSlnput
CLKOUT

1~~.~tW-CTL-==f
83-0043256

48

t\'EC

pPD70325 (V25 Plus)

INTR/IN71UC

CLOOUT

r~---+--~

INTR
tOKIA

tHIAIQ

D7-DO--------------~~----------------+_--------------------------~

83-004326B

Serial Transmit

.-------------------------------------------------------------------------~
CLKOUT

tCYTK

\

I

I

tWSTL

TxD

r\
tHTKO

tWSTH

I

C

)(
tOTKO

83-004441 B

Serial Receive

CLKOUT

tCYRK

\

I
tWSRL

RxD

\
tWSRH

)

K
~tSROK_

tHKRD
83-004332B

49

m
~.

NEe

,.,PD70325 (V25'Plus),

INSTRUCTION SET
Instructions, grouped according to function, are described in a table, near th~ end of this data ,sheet.
Descriptions'include source code, operation, opcode,
number of bytes, and flag status. Supplementary information applicable to the instruction set is contained, in
the following tables.
• Symbols and Abbreviations
• Flag Symbols
• 8- and 16-Bit Registers. When mod = 11, the register
is specified in the operation code by the byte/Word
operand rN =, 0/1) and reg (000 to 111).
• Segment Registers. The segment register is specified
in the operation code by sreg (00,01, la, or 11).
• Memory Addressing. The memory addressing mode is
specified in the operation code by mod (00, 01, or 10)
and mem (000 through 111).
• Instruction Clock Count. This table gives formulas for
calculating the number of clock cycles occupied by
each type of instruction. The formulas, which depend
on byte/word operand and RAM enable/disable, have
variables such as EA(effective address), W (wait
states), and n (iterations or string instructions).

Identifier

Description

far-proc

Procedure located In another program segment

near-label

Label In the current program segment

shortlabel

Label between -128 and
of Instruction

+127 bytes from the end

far-label

Label In another program segment

memptr16

Word containing the offset of the memory location
within the current program segment to which
control Is to be transferred

memptr32

Double word containing the offset and segment
base address of the memory location to which
control Is to be transferred

regptr16

16-blt register containing the offset of the memory
• location within the program segment to which
control Is to be transferred

pop-value

Number of bytes of the stack to be discarded (0 to
64K bytes, usually even addresses)

fp-op

Immediate data to Identify the Instruction code of
the external floating-point operation

R

Register set

W

Word/byte field (0 to 1)

reg

Register field (000 to 111)

mem

Memory field (000 to',111)

Symbols sndAbbrevistions

mod

Mode field (00 to 10)

Identifier

Description

S:W

When S:W - 01 or 11, data - 16 bits. At all other
times, data - 8 bits.

reg

8- or 16-blt general-purpose register

reg8

8-blt general-purpose register

X,XXX,
YYY,

zzz

Data to Identify the Instruction code of the external
floating-point arithmetic chip

reg16

16-bit general-purpose register

AW

Accumulator (16 bits)

dmem

8- or 16-bit direct memory location

AH

Accumulator (high byte)

mem

8- or 16-blt memory location

AL

Accumulator (low byte)

mem8

8-blt memory location

BP

Base pointer register (16 bits)

mem16

16-bit memory location

BW

BW register (16 bits)

mem32

32-bit memory location

BH

BW register (high byte)

sfr

8-bit special function register location

BL

BW regl ster (low byte)

Imm

Constant (0 to FFFFH)

CW

CW register (16 bits)

Imm16

Constant (0 to FFFFH)

CH

CW register (hIgh byte)

Imm8

Constant (0 to FFH)

CL

CW register (low byte)

imm4

Constant (0 to FH)

OW

OW register (16 bits)
OW register (hIgh byte)

Imm3

Constant (0 to 7)

DH

acc

AW or AL register

DL

OW register (low byte)

. Segment register

SP

Stack pointer (16 bits)

sreg
src-table

Name of 256-byte translation table

PC

Program counter (16 bits)

src-block

Name of block addressed by the IX register

PSW

Program status word (16 bits)

dst-block

Name of block addressed by the IV register

near-proc

Procedure within the current program segment

50

NEe

IIPD70325 (V25 Plus)

Symbols and Abbreviations (conI)

Rag Symbols

Identifier

Description

Identifier

Description

IX

Index register (source) (16 bits)

(blank)

No change

Index register (destination) (16 bits)

o

IY
PS

Cleared to 0

. Program segment register (16 bits)

Set to 1

SS

Stack segment register (16 bits)

x

DSo

Data segment 0 register (16 bits)

u

Set or cleared according to the result
Undefined

Data segment 1 register (16 bits)
AC

Auxiliary carry flag

CY

Carry flag

P
S

Parity flag
Sign flag

Z

Zero flag

DIR

Direction flag

IE

v
BRK
MD

Interrupt enable flag
Overflow flag
Break flag
Mode flag

(...)

Values In parentheses are memory contents

disp

Displacement (8 or 16 bits)

ext-disp8

16-bit displacement (sign-extension byte + 8-bit
displacement)

temp

Temporary register (8116/32 bits)

tmpcy

Temporary carry flag (1-blt)

seg

Immediate segment data (16 bits)

offset

Immediate offset data (16 bits)
Transfer direction

+

Addition
Subtraction

x

Multiplication

+

Division

%

Modulo

AND

Logical product

OR

Logical sum

XOR

Exclusive logical sum

XXH

Two-digit hexadecimal value

XXXXH

Four-digit hexadecimal value

Value saved earlier Is restored

8- and 16-Bit Registers (mod

= 11)

reg

w-o

000

AL

AW

001

CL

CW

010

DL

OW

011

BL

BW

100

AH

SP

101

CH

BP

110

DH

IX

111

BH

IY

W-1

ED

Segment Registers
sreg

Register

00

DS1

01

PS

10

SS

11

DSo

lIemory Addressing

= 00

= 01

= 10

mem

mod

000

BW+ IX

BW + IX + disp8

BW + IX + disp16

001

BW+ IV

010
011

+ IX
BP + IV

100

IX

101

IV

110

Direct

111

BW

+ disp8
+ IX + disp8
BP + IV + disp8
IX + dlspS
IV + disp8
BP + dlsp8
BW + dlsp8

+ IV + disp16
+ IX + disp16
BP + IV + disp16
IX + disp16
IV + disp16
BP + disp16
BW + disp16

BP

mod

BW + IV
BP

mod

BW
BP

51

NEe

pPD70325 (V25 PIUs)
Instruction Clock Count.
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

ADD

reg8, reg8
reg16, reg16

2
2

CALL

near-proc
regptr16

22+2w [18+2W)
22+2W [18+2W)

reg8, mem8
reg16, mem16

EA+6+W
EA+8+2W

mem8, reg8
reg16, mem16

EA+8+2W [EA+6+W]
EA+12+4W [EA+8+2W]

memptr16
far-proc
memptr32

EA+26+4W [EA+24+4W]
36+4W [34+4WJ
EA+36+8W [EA+24+8W]

reg8,Imm8
reg16,Imm8
mem16, Imm16

5
5
6

CY
DIR

2
2

mem8,Imm8
mem16,Imm8
mem16, Imm16

EA+9+2W [EA+7+2W]
EA+9+2W [EA+7+2W]
EA+14+4W [EA+10+4W]

reg8, CL
reg16, CL

8
8

mem8, CL
mem16, CL

EA+14+2W [EA+12+W]
EA+18+4W [EA+14+2W]

AL,Imm8
AW,lmm16

5
6

reg8,Imm3
reg16,Imm4

7
7

mem8,Imm3
mem16,Imm4

EA+11 +2W [EA+9+W]
EA+15+4W [EA+10+2WJ

reg8, reg8
reg16, reg16

2
2

reg8, mem8
reg16, mem16

EA+6+W
EA+8+2W

mem8, reg8
mem16, reg16

EA+6+W
EA+8+2W

reg8,ImmS
reg16,ImmS
reg16, Imm16

5
5
6

memS,Imm8
mem16,ImmS
mem16, Imm16

EA+7+W
EA+10+2W
EA+10+2W

AL,Imm8
AW, imm16

5
6

memB, mem8
mem16, mem16

23+2W [19+2W]
27+4W[21 +2W]

ADD4S
ADDC

CLR1

22+(27-i:3W)n [22+(25+3W)n]
Same as ADD

ADJ4A

9

ADJ4S

9

ADJBA

17

ADJBS
AND

CHKlND

CMP

17
reg8, reg8
reg16, reg16

2
2

reg8, memS
reg16, mem16

EA+6+W
EA+8+2W

memS, regS
mem16, reg16

EA+S+2W [EA+6+W]
EA+12+4W [EA+S+2W]

reg8,ImmS
reg16, Imm16

5
6

memS, imm8
mem16, Imm16

EA+9+2W [EA+7+2W]
EA+14+4W [EA+10+4W]

CMP4S

Bcond (conditional branch)

S or 15

CMPBK

BCWZ

S or 15

BR

BRK

22+ (23+2W)n

CMPBKB

16+ (21+2W)n

near-label
short-label

12
12

regptr16
memptr16

13
EA+17+2W

CMPM

far-label
memptr32

15
EA+25+4W

CMPMB

16+(15+W)n

CMPMW

16+(17+2W)n

3
immS

55+ 10W [43+ 10W]
56+10W [44+10W]

BRKCS

15

BRKV

55+ 10W [43+ 10W]

BTCLR

29

BUSLOCK

2

52

EA+26+4W

CMPBKW

16+ (25+4W)n
memB
mem16

17+W
19+2W

CVTBD

19

CVTBW

3

CVTDB

20

CVTWL

S

NEe

pPD70325 (V25 Plus)

Instruct/on Clock Count. (conI)
Clocks

Mnemonic

Operand

Clocks

OBNZ

Mnemonic

8 or 17

MOV

OBNZE

8 or 17

reg8. reg8
reg16. reg16

2
2

OBNZNE

8 or 17

reg8. mem8
reg16. mem16

EA+6+W
EA+S+2W

mem8. regS
mem16. reg16

EA+4+W [EA+2]
EA+6+2W [EA+2]

regS.lmmS
reg16. Imm16

5
6

memSjlmmS
mem16. Imm16

EA+5+W
EA+5+2W

OEC

Operand

regS
reg16

5
2

memS
mem16

EA+11+2W [EA+9+2W]
EA+15+4W [EA+11+4W]

01

4

OISPOSE

12+2W

OIV

OIVU

AW, regS
AW, mem8

46-56
EA+48+W to EA+58+W

AL. dmemS
AW, dmem16

9+W
11+2W

OW,AW, reg16
OW; AW,
mem16

54·64
EA+58+2W to EAt6S+2W

dmemS.AL
dmem16. AW

7+W [5]
9+2W [5]

AW, regS
AW, mem8

31
EA+33+W

sreg. reg16
sreg. mem16

4
EA+10t2W

39
EA+43+2W

reg16. sreg
mem16. sreg

3

OW,AW, reg16
Ow, AW, mem16

AH. PSW
PSw, AH

2

OSO:

2

OS1:

2

EI

12

EXT

regS. regS
regS.lmm4

41·121
42·122

MOVBK

EA+7+2W [EA+3]

3

Em

OSO. reg16.
memptr32
OS1. reg16.
memptr32

EA+19+4W

memS. memS
mem16. mem16

2O+2W [16+W]
16+ (20+ 4W) n [16+ (12+ 2W)n]

EA+19+4W

FINT

2

FP01

60+ 10W [48+ 10W]

MOVBKB

memS. memS

16+(16+2W)n [16+(12+W)n]

FP02

60+ 10W [48+ 10W]

MOVBKW

mem16. mem16

24+4W [20+2W]

HALT
IN

INC

INM

INS

0

MOVSPA

AL.lmm8
AW,lmm8

14+W
16+2W

MOVSPB

AL.OW
AW,OW

13+W
15+2W

regS
reg16

5
2

mem8
mem16

EA+11+2W [EA+9+2W]
EA+15+4W [EA+11+4W]

memS. OW
mem16. OW

19+2W [17+2W]
21 +4W [17+4W]

mem8. OW
mem16. OW

1S+(13+2W)n [18+(11+2W)n]
18+ (15+4W)n [18+ (11 +4W)n]

reg8. reg8
reg8.lmm4

63·155
64·156

LOEA

EA+2

LOM

mem8
mem16

12+W
16+ (12+2W)n

LOMB

mem16

14+2W

LOMW

mem8

16+(10+W)n

MUL

MULU

16
11
AW, AL. reg8
AW, AL. mem8

31·40
EA+33+W to EA+42+W

OW,AW, AW,
reg16
OW,AW, AW,
mem16

39·4S

reg16. reg16.
Imm8
reg16. mem16.
Imm8

39·49

reg16. reg16.
imm16
reg16.
mem16. Imm16

40·50

reg8
mem8

24
EA+26+W

reg16
mem16

32
EA+34+2W

EA+43+2W to EA+52+2W

EA+43+2Wto EA+53+2W

EA+44+2Wto EA+54+2W

53

NEe

pPD70325 (V25 Plus)

Instruction Clock Counts (cont)
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

NEG

regS
reg16

5
5

PREPARE

imm16, immS

memS
mem16

EA+11+2W [EA+9+W]
EA+15+4W [EA+11+2W]

immS = O:27+2W
immS = 1:39+4W
immS = n > 1:46+19
(n-1)+4W

Nap
NOT

NOn

OR

OUT

OUTM

3
regS
reg16

5
5

memS
mem16

EA+11+2W [EA+9+W]
EA+15+4W [EA+11+2W]

CY

2

regS. CL
reg16, CL

7
7

memS, CL
mem16, C.L

EA+13+2W [EA+11+W]
EA+17+4W [EA+13+2W]

regS. imm3
reg16, imm4

6
6

memS, imm3
mem16, imm4

EA+1O+2W [EA+S+W]
EA+14+4W [EA+10+2W]

regS, regS
reg16, reg16

2
2

regS, memS
reg16, mem16

EA+6+W
EA+S+2W

memS, regS
mem16, reg16

EA+S+2W [EA+6+W]
EA+12+4W [EA+S+2W]

regS, immS
reg16, imrn16

5
6

memS, immS
mem16, imm16

EA+9+W [EA+7+W]
EA+14+4W [EA+10+4W]

AL, immS
AW, imm16

5
6

immS, AL
immS,AW

10+W
10+2W

Ow, AL
Ow, AW

9+W
9+2W

Ow, memS
OW,mem16

19+2W [17+2W]
21 +4W [17+4W]

Ow, memS

1S+(13+2W)n
[1S+(11 +2W)n]
1S+(15+4W)n
[1S+(11+4W)n]

Ow, mem16
POLL
POP

54

12+2W
EA+16+4W [EA+12+2W]

OS1
SS

13+2W
13+2W

OSO
PSW

13+2W
14+2W

R

S2+16W [58]

reg16
mem16

10+2W [6]
EA+1S+4W [EA+14+4W]

OS1
PS

11+2W [7]
11+2W [7]

SS
OSO

11 +2W [7]
11 +2W [7]

PSW
R

10+2W[6]
S2+16W [50]

immS
imm16

13+2W[9]
14+2W [10]

REP

2

REPE

2

REPZ

2

REPC

2

REPNC

2

REPNE

2

REPNZ
RET

2
null
pop-value

20+2W
20+2W

null
pop-value

29+4W
30+4W
43+6W [35+2W]

RETI
RETRBI
ROL

12
regS, 1
reg16, 1

S
S

memS,1
mem16,1

EA+14+2W [EA+12+W]
EA+1S+4W [EA+14+2W]

regS, CL
reg16, CL

11+2n
11+2n

memS, CL

EA+17+2W+2n
[EA+15+W+2n]
EA+21 +4W+2n
[EA+17+2W+2n]

mem16, CL

0
reg16
mem16

2

PS:
PUSH

regS,immS
reg16, imm8

9+2n
9+2n

memS, immS

EA+13+2W+2n
[EA+11 +W+2n]
EA+17+4W+2n
[EA+13+2W+2n]

mem16,ImmS
ROL4

regS
memS

17
EA+1S+2W [EA+16+2W]

NEe

pPD70325 (V25Plus)

InstructiDn Clock Count. (conI)
Mnemonic
ROLC
ROR
ROR4
RORC
SET1

Operand

2
2

reg8, CL
reg16, CL

7
7

mem8, CL
mem16, CL

EA+13+2W [EA+11 +W]
EA+17+4W [EA+13+2W]

reg8,lmm3
reg16,lmm4

6
6

mem8,lmm3
mem16,lmm4

EA+10+2W [EA+8+W]
EA+14+4W [EA+10+2W]

Same as ROL

SHRA

Same as ROL

SS:

2
memS
mem16

12+2 [10]
16+ (10+2W)n [16+(6+2W)n]

STMB

memS

16+ (S+W)n [16+(6+W)n]

STMW

mem16

14+2W [10]

STOP

0
Same as ADD

SUB4S
SUBC

Clocks

reg8, CL
reg16, CL

7
7

mem8, CL
mem16, CL

EA+11+W
EA+13+2W

reg8,lmm3
reg16,lmm4

6
6

mem8,lmm3
mem16,lmm4

EA+8+W
EA+10+2W

21
EA+24+2W [EA+22+2W]

CV
DIR

Same as ROL

TEST

Operand

Same as ROL

SHR

SUB

Mnemonic
TEST1

Same as ROL
reg8
mem8

SHL

STM

Clocks

Same as ROL

22+ (27+3W)n
[22+ (25+3W)n]
Same as ADD
regS, regs
reg16, reg16

4
4

regS, memS
reg16, mem16

EA+S+W
EA+10+2W

memS, regS
mem16, reg16

EA+S+W
EA+10+W

regS, immS
reg16, imm16

7
S

memS, immS
mem16, imm16

EA+11 +W
EA+11 +2W

AL, immS
AW, imm16

5
6

TRANS

10+W

TRANSB

10+W

TSKSW
XCH

XOR

11
reg8, reg8
reg16, reg16

3
3

reg8, mem8
reg16, mem16

EA+10+2W [EA+8+2W]
EA+14+4W [EA+10+4W]

mem8, regS
mem16, reg16

EA+10+2W [EA+S+2W]
EA+14+4W [EA+10+4W]

AW, reg16
reg16, AW

4
4

1m

Same as AND

Notes:
(1) If the number of clocks Is not the same for RAM enabled and RAM
disabled conditions, the RAM enabled value is listed first, followed by the RAM disabled value In brackets; for example,
EA+S+2W [EA+6+W]
(2) Symbols In the Clocks column are defined as follows.
EA = additional clock cycles required for calculation of the
effective address
= 3 (mod 00 or 01) or 4 (mod 10)
W = number of wait states selected by the wrc register
n = number of iterations or string instructions

55

NEe

pPD70325 (V25Plus)
Execution Clock Counts for Operations
Byte
RAM Enable

Word
RAM Disable

Context switch interrupt (Note 1)
DMA (Single-step mode) (Note 2)

8+2W

DMA (Demand release mode)
DMA (Burst mode)

8+2W

RAM Enable

RAM Disable

27

27

14+4W

14+4W

(2+W)n

(2+W)n

(4+2W)n

(4+2W)n

3.5 + (4+ 2W) (n-1)

3.5 + (4+2W)(n-1)

9.5 +2W+ (4+ 2W) (n-1)

9.5 +2W+ (4+2W)(n-1)

2+W

2+W

DMA (Single-transfer mode)
Interrupt (INT pin) (Note 3)

4+2W

4+2W

62+6W

62+6W

Macroservice, sfr .... mem (Note 2)

24+W

19+W

26+2W

21+2W

Macroservice, mem .... sfr

22+W

20+W

22+2W

22+2W

mem

27+W

27+W

~

37+W

34+W
58+10W

58+10W

Macroservice (Search char mode), sfr

~

Macroservice (Search char mode), mem

sfr

Vectored priority interrupts (including NMI)
(Note 1)
N = number of clocks to complete the instruction currently executing.
n = number of transfers

Notes:
(1) Every interrupt has an additional associated latency time of 27 +
N clocks. During the 27 clocks, the interrupt controller performs
some overhead tasks such as arbitrating priority. This time
should be added to the above listed interrupt and macroservice
execution times.
(2) The DMA and macroservice clock counts listed are the required
number of CPU clocks for each transfer.
(3) When an external interrupt is asserted, a maximum of 6 clocks is
required for internal synchronization before the interrupt request
flag is set. For an internal interrupt, a maximum of 2 clocks is
required.

Bus Controller Latency
Clocks

Latency

Mode

Hold request

Refresh active

9+3W

Intack active

10+2W

Typ

No refresh or intack
DMA request
(Notes 1, 2)

Max

7+2W

Burst

3

14+2W

Single-step

3

14+2W

Demand release

3

14+2W

Single-transfer

4

14+2W

Notes:
(1) The listed DMA latency times are the maximum number of clocks
when a DMA request is asserted until DMAAK or MREQ goes low
in the corresponding DMA cycle.
(2) The test conditions are: no wait states, no interrupts, no macroservice requests, and no hold requests.

56

NEe

pPD70325 (V25 Plus)

Instruction Set
Mnemonic Operand

Operation

7

6

Operation Code
3 2
5 4

0

0

Flags

0

Bytes

W

2

W

2-4

W

2-4

W

3-6

AC

CY

V

P

S

z

Data Transfer
MOV

reg, reg

reg +- reg

0

0
reg

mem, reg

(mem) +- reg

0

0

mod
reg,mem

reg +- (mem)

0

(mem) +- imm
mod

0

0
reg

0

mod
mem,imm

reg

0

0
reg

mem

0

0

0

0

0

0

mem

reg,imm

reg +- imm

0

acc,dmem

When W = 0: AL +- (dmem)
WhenW= 1:AH +- (dmem + 1),
AL +- (dmem)

0

0

0

0

dmem,acc

When W = 0: (dmem) +- AL
WhenW= 1 : (dmem + 1) +- AH,
(dmem) +- AL

0

0

0

0

sreg, reg16

sreg +- reg16 sreg: SS, OSO, OS1

0

sreg,mem16

sreg +- (mem16) sreg : SS, OSO, OS1

0

W

0

mod
reg16,sreg

reg16 +- sreg

0

0

(mem16) +- sreg

0
mod

0

reg16 +- (mem32),
OSO +- (mem32 + 2)

OS1,reg16,
mem32

reg16 +- (mem32),
OS1 +- (mem32 + 2)

AH,PSW

AH +- S, Z, x, AC, x, P, x, CY

0

0

PSW,AH

S, Z, x, AC, x, P, x, CY +- AH

0

0

LOEA

reg16, mem16

reg16 +- mem16

0

0

TRANS

src-table

AL +- (8W + AL)

XCH

reg, reg

reg

0
mod

reg

mem

sreg

reg

sreg

mem

0

0

0

0
mod

0

0

~reg

(mem)

AW,reg16
orreg16, AW

AW~reg16

0

0

mod

0

3

0

2

0

2-4

0

2

0

2-4

1m

2-4

0

0

0

2-4

x

x

x

x

x

2-4

0
mem
0

0

0

0

W

2

W

2-4

reg
0

reg
0

W

0
0

reg
mem, reg
orreg,mem

3

mem

reg

0

W

mem

reg

0
0

0

reg

mod

~

sreg

0

0

OSO,reg16,
mem32

reg

0

0
mem16,sreg

sreg
0

0

2-3

reg
0

0

0

0

0
mem

mem
0

reg

57

NEe

pPD70325 (V25 Plus)
Instruction Set (cont)
Operation Code

Flags

4

3

0

0

0

0

0

0

0

0

6

5

Operation

7

REPC

While CW ;II!: 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1).
If there is a waiting interrupt, it is
processed. When CV ;II!: 1, exit the loop.

REPNC

While CW ;II!: 0, the next byte ofthe
primitive block transfer instruction is
executed and CW is decremented (-1).
If there is a waiting interrupt, it is
processed. When CV ;II!: 0, exitthe loop.

REP
REPE
REPZ

While CW ;II!: 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1 ).
If there is a waiting interrupt, it is
processed. Ifthe primitive block transfer
instruction is CMPBK or CMPM and
Z;II!: 1, exit the loop.

0

0

REPNE
REPNZ

While CW ;II!: 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1).
If there is a waiting interrupt, it is
processed. If the primitive block transfer
instruction is CMPBK or CMPM and
Z ;II!: 0, exit the loop.

0

0

Mflemonic Operand

2

AC

CV

V

P

S

Z

W

x

x

x

x

x

x

W

x

x

x

x

x

x

0

Bytes

Repeat Prefixes

0

0

Primitive Block Transfer
MOVBK

dst-block,
src-block

When W = 0: (IV) ~ (IX)
DIR = 0: IX ~ IX + 1, IV ~ IY + 1
DIR = 1:IX ~ IX-1,IY ~ IY-1
When W = 1: (IY + 1, IY) ~ (IX + 1,IX)
DIR = 0: IX ~ IX + 2, IY ~ IY + 2
DIR = 1: IX ~ IX-2,IY ~ IY-2

0

0

0

CMPBK

src-block,
dst-block

When W = 0: (IX) -(IY)
DIR = 0: IX ~ IX + 1, IY ~ IY + 1
DIR= 1:IX ~ IX-1,IY ~ IY-1
WhenW = 1:(IX+ 1,IX)-(IY + 1,IY)
DIR = 0: IX ~ IX + 2, IY ~ IY + 2
DIR = 1:IX ~ IX-2,IY ~ IY-2

0

0

0

CMPM

dst-block

When W = 0: AL- (IY)
DIR=O:IY ~ IY+ 1;DIR=1:IY ~ IV-1
WhenW= 1:AW-(lY + 1,IY)
DIR=O:JY ~ IY +2;DIR= 1:IY ~ IY-2

0

0

LDM

src-block

When W = 0: AL ~ (IX)
DIR=O:IX~ IX+ 1;DIR= 1:IX~ IX-1
WhenW= 1:AW ~ (IX+ 1,IX)
DIR=O:IX ~ IX+2;DIR= 1 :IX ~ IX-2

0

0

STM

dst-block

When W = 0: (IV) ~ AL
DIR=O:IY ~ IY+ 1;DIR= 1:IY ~ IY-1
WhenW=1:(IY+1,IY) ~AW
DIR=O:IY ~ IY+2;DIR= 1:IY ~ IY-2

0

0

58

0

0

0

W

W

W

t\fEC

pPD70325 (V25 Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

16-bitfield ... AW

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Flags

0

Bytes

AC

CV

V

P

S

Z

Bit Field Transfer
INS

regS, regS

3

0
0

0

reg

reg
reg8,imm4

EXT

reg8, reg8

16-bitfield ... AW

AW ... 16-bitfield

0

4

0
0

0

0

0

0

AW ... 16-bitfield

3
0

0

0
reg

0

0

reg
reg8,imm4

0

reg
4

0
0

0

0

0

reg

0

0

W

0

W

I/O
IN

OUT

ace,imm8

When W = 0: AL ... (immS)
WhenW= 1:AH ... (immS + 1),
AL ... (immS)

0

ace, DW

When W = 0: AL ... (DW)
WhenW= 1:AH ... (DW+ 1),
AL ... (DW)

0

immS,acc

When W = 0: (immS) ... AL
WhenW= 1:(immS+ 1) ... AH,
(immS) ... AL

0

DW,acc

When W = 0: (DW) ... AL
WhenW= 1:(DW + 1) ... AH,
(DW) ... AL

0

W

0

2

1m
2

W

Primitive Block I/O Transfer
INM

dst-block, DW

When W = 0: (IV) ... (DW)
DIR = 0: IV ... IV + 1
DIR = 1:IV ... IV-1
When W = 1: (IV + 1, IV) ...
(DW+1,DW)
DIR = 0: IV ... IV + 2
DIR= 1:IV ... IV-2

0

0

OUTM

DW,src-block

When W = 0: (DW) ... (IX)
DIR = 0: IX ... IX + 1
DIR = 1:IX ... IX-1
When W = 1: (DW + 1, DW) ...
(IX+1,IX)
DIR = 0: IX ... IX + 2
DIR=1:IX ... IX-2

0

0

0

W

W

59

NEe

"PD70325 (V25 Plus)
Instruction Set (cont)
Operation Code
Mnemonic Operand

Operation

7

6

5

4

3

2

o

0

0

0

o

0

Flags
V P

o

Bytes

AC

CY

W

2

x

x

x

W

2-4

x

x

W

2-4

x

W

3-4

W

o W

S

Z

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

3-6

x

x

x

x

x

x

2-3

x

x

x

x

x

x

x

x

x

x

x

Addition I Subtraction
ADD

reg, reg

reg +- reg

+ reg

reg
mem, reg

(mem) +- (mem)

+ reg

o

0

0

mod
reg,mem

reg +- reg + (mem)

o

0

reg +- reg

+ imm

0

AD DC

(mem) +- (mem)

0

000

+ imm

ace, imm

When W = 0: AL +- AL + imm
When W = 1: AW +- AW + imm

reg, reg

reg +- reg

+ reg + CY

0

000
mod

0

0

o

0

0

0

0

000

o

0
mem

o
o
o
o
o

0

o

0

(mem) +- (mem)

+ reg + CY

o

0

0

reg,mem

reg +- reg

+ (mem) + CY

mod
reg,imm

reg +- reg

+ imm + CY

o

o
mem,imm

(mem) +- (mem) + imm + CY

acc,imm

WhenW = O:AL +- AL + imm + CY
When W = 1: AW +- AW + imm + CY

000

reg, reg

reg +- reg - reg

o

mod

SUB

0

0

0

reg,mem

(mem) +- (mem) - reg

reg +- reg - (mem)

o

o
o
o
o
o

reg

o

o

0

mod
reg,imm

reg +- reg - imm

0

0

(mem) +- (mem) - imm

000

SUBC

= O:AL +- AL - imm
= 1: AW +- AW - imm

acc,imm

WhenW
When W

reg,reg

reg +- reg - reg - CY

o

0

o

0

o

(mem) +- (mem)-reg-CY

o

0

reg,mem

reg +- reg-(mem)-CY

o

0

mod

60

x

W

2-4

x

x

x

x

x

x

W

3-4

x

x

x

x

x

W

3-6

x

x

x

x

x

x

o W

2-3

x

x

x

x

x

x

W

2

x

x

x

x· x

x

W

2-4

x

x

x

x

x

x

W

2-4

x

x

x

x

x

W

3-4

x

x

x

x

x

x

W

3-6

x

x

x

x

x

x

o W

2-3

x

x

x

x

x

x

W

2

x

x

x

x

x

x

W

2-4

x

x

x

x

x

x

W

2-4

x

x

x

x

x

S

S

0

o
mem

o

0

S
reg

o

0

S
mem

o

0

reg

o

0

mod

x

mem

reg
mem, reg

x

reg

o
o

mod

x

mem

o
mem,imm

x

reg

reg

000

x

o

o

0

mod

2-4

0

reg
mem, reg

W

0

mem

o

0

W

mem

reg

000

o

0

reg

000

S
mem

reg

o

0

mod

S
reg

reg
mem, reg

0
mem

reg

o
mem,imm

o

reg

mod
reg,imm

0

reg

reg

0
mem

o

0
reg

mem

NEe

IIPD70325 (V25 Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

0

Bytes

AC

CY

V

P

S

Z

W

3-4

x

x

x

x

x

x

W

3-6

x

x

x

x

x

x

2-3

x

x

x

x

x

x

2

u

x

u

u

u

x

2

u

x

u

u

u

x

x

u

u

u

x

Addition/Subtraction (cont)
SUBC

reg +- reg-imm-CY

reg,imm

0

0

0

0

0

0
mem,imm

acc,imm

(mem) +- (mem)-imm-CY

S
reg

0

0

mod

0

mem

WhenW = O:AL +- AL-imm-CY
WhenW= 1:AW +- AW-imm-CY

0

0

0

0

W

dst BCD string +- dst BCD string
+ src BCD string

0

0

0

0

0

0

0

dst BCD string +- dst BCD string
- src BCD string

0

0

0

0

dst BCD string - src BCD string

0

0

0

0

0

0

0

S

BCD Operation
ADD4S

SUB4S

CMP4S

ROL4

reg 8

7

mem8 7

ROR4

reg 8

7

mem8 7

AL

AL

AL

AL

7

7

mem8

0

7

7

mem8

0

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

0

0

0

0

mod

2

3

0

0

0

0

0

1m
3-5

0

0

0

mem

0

3
0

0
reg

0

3-5

0
0

0
reg

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mod

0

0

0
0

0

0

0
0

0

0

0
0

0
mem

BCD Adjust
ADJBA

When (AL AND OFH) > 9 or AC = 1 :
AL +- AL + 6, AH +- AH + 1, AC ... 1,
CY ... AC, AL ... AL AND OFH

0

0

ADJ4A

When (AL AND OFH) > 9 or AC = 1:
AL ... AL+ 6,CY ... CYORAC,AC ... 1,
WhenAL>9FH,orCY= 1:
AL ... AL + 60H, CY ... 1

0

0

ADJBS

When (AL AND OFH) > 9 or AC = 1 :
CY +- AC,AL ... ALANDOFH

0

0

ADJ4S

When (AL AND OFH) > 9 or AC = 1:
AL ... AL - 6, CY ... CY OR AC, AC ... 1,
WhenAL>9FH,orCY = 1:
AL ... AL + 60H, CY ... 1

0

0

0

0

0

x

x

u

u

u

u

0

x

x

u

x

x

x

x

x

u

u

u

u

x

x

u

x

x

x

61

NEe

"PD70325 (V25 Plus)
Instruction Set (cont)
Mnemonic Operand

7

Operation

6

Operation Code
3 2
5 4

Flags

V

P

S

z

x

x

x

x

x

x

x

x

x

x

0

Bytes

AC

CY

0

2

W

2-4

x

x

x

x

x

0

2

x

x

x

x

x

W

2-4

x

x

x

x

x

x

x

x

x

x

x

x

u

u

u

x

x

u

u

u

x

x

u

u

u

x

x

u

u

u

Incrementl Decrement
INC

regS

regS +- regS

+1
0

mem

DEC

(mem) +- (mem)

0

reg

mem
reg

+1

+1

reg16

reg16 +- reg16

regS

regS +- regS - 1

mem

(mem) +- (mem) - 1

reg16

0

reg16 +- reg16 - 1

mod

0

0

0

0

0

0

0

0

0

reg

mod

0

0

mem

0

0

0

reg

Multiplication
MULU

regS

memS

reg16

mem16

MUL

regS

memS

reg16

mem16

62

AW +- ALxregS
AH = O:CY +- 0, V+-O
AH ;II!: 0: CY +- 1, V +- 1
AW +- ALx(memS)
AH = O:CY +- 0, V+-~
AH ;II!: 0: CY +- 1, V +- 1

0
0

0
mod

OW,AW +- AWxreg16
OW = 0: CY +- 0, V+-~
OW ;II!: 0: CY +- 1, V +- 1
OW, AW +- AW x (mem16)
OW = 0: CY +- 0, V+-~
OW ;II!: 0: CY +- 1, V +- 1

2

0

2·4

0

2

0

2·4

0

mem

0

0

OW,AW +- AWxreg16
OW = AW sign expansion: CY +- 0, V+-~
OW ;II!: AW sign expansion: CY +- 1, V +- 1

0

0

reg16 +- reg16ximmS
Product::5 16 bits: CY +- 0, V+-O
Product> 16 bits: CY +- 1, V +- 1

0

reg16,
mem16,
immS

reg16 +- (mem16) x immS
Product::5 16 bits: CY +- 0, V+-O
Product> 16 bits: CY +- 1, V +- 1

0

0

mod

reg

reg16,
reg16,
imm16

reg16 +- reg16 x imm16
Product::5 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V +- 1

0

0

reg16,
mem16,
imm16

reg16 +- (mem16)ximm16
Product::5 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V +- 1

0

0

mod

reg

0

u

x

x

u

u

u

0

2·4

u

x

x

u

u

u

2

x

x

u

u

u

2·4

x

x

u

u

x

x

u

u

u

3·5

x

x

u

u

u

4

x

x

u

u

u

4-6

x

x

u

u

u

reg

mem

0

reg16,
reg16,
immS

2

mem

0

0

OW,AW +- AWx(mem16)
OW = AW sign expansion: CY +- 0, V+-~
mod
OW;II!: AW sign expansion: CY +- 1, V +- 1

0
reg

0

mod

u

reg

0
0

mod

u

mem

0
0

AW +- AL x regS
AH = ALsign expansion: CY +- 0, V+-~
AH ;II!: AL sign expansion: CY +- 1, V +- 1
AW +- ALx(memS)
AH = AL sign expansion: CY +- 0, V+-~
AH ;II!: AL sign expansion: CY +- 1, V +- 1

0

0
reg

0

3

0

u

reg

reg
0

mem
0

reg

0
reg

0

0
mem

1tt{EC

"PD70325 (V25· Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

S

z

u

u

u

u

0

Bytes

AC

CY

V

0

2

u

u

u

0

2-4

u

u

u

u

2

u

u

u

u

2-4

u

u

u

u

u

u

0

2

u

u

u

u

u

u

0

2-4

u

u

u

u

u

u

P

Unsigned Division
DIVU

reg8

mem8

reg16

mem16

temp +- AW
When temp 7 reg8 > FFH:
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % reg8, AL +- temp 7 reg8

0

temp +- AW
When temp 7 (mem8) > FFH:
mod
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5,SP-6) +- PC,SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % (mem8), AL +- temp 7 (mem8)

0

temp +- AW
When temp 7 reg16 > FFFFH:
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp% reg16, AL +- temp 7 reg16

0

temp +- AW
When temp 7 (mem16) > FFFFH:
mod
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC,SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +-temp%(mem16),AL +-temp7(mem16)

0

temp +- AW
When temp 7 reg8 > 0 and temp 7 reg8
> 7FH or temp 7 reg8 < 0 and
temp 7 reg8 < 0-7FH-1:
(SP-1,SP-2) +-PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % reg8, AL +- temp 7 reg8

0

temp +- AW
When temp 7 (mem8) > 0 and (mem8) >
mod
7 FH ortemp 7 (mem8) < 0 and
temp 7 (mem8) < 0-7FH -1:
(SP-1, SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5,SP-6) +- PC,SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % (mem8), AL +- temp 7 (mem8)

0

0

0

0

reg

mem

u

reg

III
0

mem

Signed Division
DIV

reg8

mem8

reg

mem

63

NEe

IIPD70325 (V25 Plus)
Instruction Set (cant)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

0

Bytes

AC

CY

V

P

S

z

2

u

u

u

u

u

u

2-4

u

u

u

u

Signed Division (cont)
OIV

reg16

mem16

temp +- OW, AW
When temp -7 reg16 > 0 and reg16
> 7FFFH or temp -7 reg16 <
0-7FFFH-1:
(SP-1,SP-2) +- PSW,
(SP-3,SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp%reg16,AL +- temp -7 reg16

0

temp +- OW, AW
When temp -7 (mem16) > 0 and (mem16)
mod
> 7FFFHortemp -7 (mem16)  reg16 or
(mem32 + 2) < reg16
(SP-1,SP-2) ... PSW,
(SP-3, SP-4) ... PS,
(SP-5, SP-6) ... PC, SP ... SP-6,
IE ... 0, BRK ... 0,
PS ... (23,22), PC ... (21, 2a)

0

0

mod

reg

2
a

a

0

0

0

0

a

Rim

2

a
0
a

2-4

mem

CPU Control
HALT

CPU Halt

STOP

CPU Halt

BUSLOCK

Bus Lock Prefix

a
0

0

0

0

0

FP01
(Note 1)

fp-op

a
Y

fp-op,mem

data bus ... (mem)

fp-op

No Operation

y

0

y
fp-op,mem

data bus ... (mem)

y

Y

y

y

0

a

y

y

0

a

y

y

a
mod

FPa2
(Note 1)

a
0

No Operation

a
mod

0

a

y

0

0

a

x x

X

Z

Z

Z

x x

X

2-4

x

2

2

mem

Z

Z

Z

x

2-4

mem

Notes:
(1) Does not execute but does generate an interrupt.

75

NEe

"PD70325 (V25Plus)
Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2 1

0

Bytes

AC

CY

x

x

Flags
V P

S

Z

x

x

CPU Control (cont)
0

POLL

Poll and Wait

0

0

NOP

No Operation

0

0

01

IE~O

0

EI

IE~

0

OSO;OS1;
PS;SS

Segment Override Prefix

0

1

0

0

0

0

0

0

0

0

0
0

sreg

0

Register Bank Switching
MOVSPA

BRKes

MOVSPB

reg16

reg16

0

0

0

0

0

0

0
0

0

2

0

0

3

0
0

0

0

0

0

0

0

1

0

0

0

0

0

3
0

0
reg

TSKSW

reg16

0

3
0

0
reg

76

0

x

x

NEe

pPD70335 (V35 Plus)
16-Bit Microcomputer:
Advanced, High-Speed DMA
Single-Chip, CMOS

NEC Electronics Inc.

Description
The )1PD70335 (V35 Plus) is a high-performance, 16-bit
single-chip microcomputer with a 16-bit external data
bus. The )1PD70335 is fully software compatible with
the )1PD70108/116 (V2~N30®) as well as the )1PD70320/
330 (V25™ N35™). The V35 Plus demonstrates numerous enhancements over its predecessor, the standard
V35; however, it maintains pin compatibility and DRAMdirect bus interface with its predecessor, the V35.
The V35 Plus offers improved DMA transfer rates (over
5M bytes per second), additional serial channel status
flags, improved memory access timing, and enhanced
software control of register bank context switching.
The )1PD70335 has the same complement of internal
peripherals as the V35 and maintains compatibility
with existing drivers; however, some modification of
the DMA drivers may be necessary. The)1PD70335 does
not offer on-chip ROM or EPROM.

Features

o Four multifunction I/O ports
..,- 8-bit analog comparator port
- 20 bidirectional port lines
- 4 input-only port lines
o Two independent full-duplex serial channels
o Priority interrupt controller
- Standard vectored service
- Register bank switching
- Macroservice
o Pseudo-SRAM and DRAM refresh controller

o Two 16-bit timers
o On-chip time base counter
o Programmable wait state generator
o Two standby modes: STOP and HALT

Ordering Information
~
- = - -Clock
---1
Iii:I
iI
(MHz)
Package
Part Number
JiPD70335L-8
L-10

8

o 16-bit CPU and internal data paths

GJ-8

8

o 16-bit non-multiplexed external data path

GJ-10

10

o Direct RAS/CAS DRAM interface
o Functional and pin compatibility with the V35
o Software compatible with )1PD8086
o New and enhanced V-Series instructions
o Minimum instruction cycle 200 ns (at 10 MHz)
o 6-byte prefetch queue
o Two-channel high-speed DMA controller
o Internal 256 bytes RAM memory
DOne 1M-byte memory address space
o Eight internal memory-mapped register banks

V20 and V30 are registered trademarks of NEC Corporation.
V25 and V35 are trademarks of NEC Corporation.

50155-2

84-pin PLCC

10
94-pin plastic QFP

NEe

pPD70335 (V35 'Ius)Pin Configurations
84-PinPLCC

PT7

PO 7 ICLKOUT

PT6

DO
01

72

PT5

02

71

PT4

03

70

PT3

04

69

PT2

05

68

06

67

07

66

08

65

PT1
PTO
P17/REAOY
P16/SCKO

09

64

P15/TOU!..-

010

63

P14/INT/P~

011

62

P1 3/INTP2IINTAK

012

61

P12/1NTP1

013

60

P11/1NTPO

014

59

P10/NMI

015
Ao
A9 /A 1

58

P27 /Hl ORO

57

P26/HlOAK

56

P25~

55

P24/0MAAK1

54

P23/DMAR01

A10/A2
A11 /A 3

co
q-

Cl
q-

Ci 8
Cil >< a:

Q

CD
q-

q-

II)

CD

I'-

co co

I

Cl W

0

~~~~~<.("~~
C\lC')q-II)CDa:
.-

....................

f'o-

««<.("

co

°1&1
a t>

.(

0

~
~

I'q-

~

~

e
0
C\I

Notes:

Q.

oII) II)
....

C\I
II)

C')
II)

i51i! 18 Q

>~~
e~
N

Q.

(1) Pin functions are identical to ~P070330.
(2) IC pins should be tied together and pulled up to V DO with a
10- to 20-k.Q resistor.
(3)

EA must be tied low because IlP070335 does not support Internal
ROM or EPROM.

(4) Pin 9 should be tied to GNO through a pull-down resistor.
83SL-6827B

2

NEe

pPD70335 (V35 Plus)

94-Pin Plastic QFP

POs

A12/A4

NC

NC
A13 /A S

IC
P04

A14 /A 6

P03

A1S/A7

P02

A16 /A a
A17 /A 18

P01

POo

A19

EA

A1a/UBE

MREQ

RxDO

10STB

GND

MSTB

CTSO

AlW

TxDO

REFRQ

RxD1

RESET

CTS1

VOD

TxD1

Voo

P20lDMARQO

X2

IC

X1

VDD

GND

~

GND

P21/DMAAKO

NC

NC

NC

P22ITCO

VrH
Q

C'l ..r- III
~ l- I- I- 0
0
>0 . ~
O:

P20/DMAROO

:;

.....................::

---f:.

P2 1IDMAAKO ~:
::
",Programmable"
P2 2/TCO ~,
DMA
.

P23 /DMAR01 -----.;'
P24/DMAAK1 - (

Controller

:i-j.---

P2S/TC1 - - {......

:~ HLDRO/P2 7

ff'~ READY/P1 7

TxDO ~---{...
RxDO

--t

P1 6 /SCKO - : :

Serial
Interface

Internal ROM
8K Bytes

CTSO.....;:.

?.----.....,

TxD1 - .....

RXD1~:

CTS1

(Reserved)

P13"NTP2I

b' ::-.......

MREO

o· ,:----

IOSTB

}:c: ~B
:i.-

POLUINT/P14

~, '----:-'.:.:.:.:./

P1 0 /NMI
P11"NTPO
P12"NTP1

RESET
HLDAKlP2 6

Instruction Decoder
Micro Sequencer

Programmable
Interrupt
Controller

Micro ROM

.:- EA (Fixed Low

INTAK

Externally)

:::.:.:.,.:.,.,.i

P1 4 /INT'
POLL

X1

X2

P1S /TOUT

REFRO

P07/CLKOUT

PO

P1

P2

PTO·PT7

VTH

VDD
GND

Notes:
(1) The IlPD7033S (V3S Plus) is not a masKed ROM product.
Internal ROM is reserved and not accessible.
(2) Shaded blOCKS are modified from the standard V3S.
83YL-6989B

7

NEe

,.,PD7033S{V3S- Plus)

FUNCTIONAL DESCRIPTION

Architectural Enhancements
The following features enable the J,lPD70335 to perform
high-speed execution of instructions.
• Dual data bus
• 16-/32-bit temporary registers/shifters (TA, TB, TA
TB)
• 16-bit loop counter (lC)
• Program counter (PC) and prefetch pointer (PFP)
• Internal ROM pass bus

+

Dual Data Bus. The J,lPD70335 has two internal 16-bit
data buses: the main data bus and a subdata bus. This
reduces the processing time required for addition/
subtraction and logical comparison instructions by
one-third over single-bus systems. The dual data bus
method allows two operands to be fetched simultaneously from general-purpose registers and transferred to the AlU.

memory space. They are grouped in a 512-byte block
called the internal data area (IDA). The 256-byte internal RAM is also in the IDA. The addresses of the register
are given as offsets into the IDA. The start address of
the IDA is set by the Internal Data Area Base register
(IDB), and may be programmed to any 4K boundary in
the memory address space.
Register Banks. Because the general-purpose register
set is in internal RAM, it is possible to have multiple
ba~ks of registers. The J,lPD70335 CPU supports up to a
register banks. A bit field in the PSW selects which bank
is currently being used. Each bank contains the entire
CPU register set plus additional information needed
for context switching. Register banks may be switched
using special instructions (TSKSW, BRKCS, MOVSPA,
M

OS1

OS1

PS

PS

PS

PS

SS

SS

S8

SS

OS1

OSO

080

OSO

Save PC

Save PC

Save PC

Save PSW

Save PSW

Save

Vector PC

Vector PC

Reserved

Reserved

Vector PC
Reserved

~I

~

PC

PSW

I
I

psw

'.

OS1

OSO

f--l

PC

.J+-

Save PC

rY

l~

SavePSW

psw
RB

L

Reg 16

Vector PC
Reserved

RB Register bank
field
-e822A

83SL-e823A

MACROSERVICE FUNCTION
The macroservice function (MSF) is a special microprogram that acts as an internal DMA controller between
bn-chip peripherals (special-function registers, SFR)
and memory. The MSF greatly reduces the software
overhead and CPU time that other' processors would
require for register save processing, register returns,
and other handling assoCiated with interrupt processing.
If the MSF is selected for a particular interrupt, each
time the request is received, a byte or word of data will
be transferred between the SFR and memory without
interrupting the CPU. Each time a request occurs, the
macroservice - counter is' decremented. .When the
counter reaches zero, an interrupt to the CPU is generated. The MSF also has a character search option.
When selected, every byte transferred will be compared to an 8-bit search character and an interrupt will
be generated if a match occurs or if the macroservice
counter counts out.

18

NEe

pPD7033S (V3S Plus)

Like the NMI, INT, and INTTB,the two DMA controller
interrupts (INTOO, INTD1) and the serial error interrupts
(INTSERO, INTSER1) do not have MSF capability.
There are eight, 8-byte macroservice channels mapped
into internal RAM from XXEOOH to XXE3FH. Figure 11
shows the components of each channel.
Setting the macroservice mode for a given interrupt
requires programming the corresponding macroservice control register. Each individual interrupt serviceable with the MSF has its own associated MSC specialfunction register. The general format for all MSC
registers is shown in figure 12.

Figure 11.

/IIacroservice Channels

a

15
+7H

IMSM21 MSM1 I MSMo I

DIR

0

CH2

CH1

I CHo I
0

7
MSM2- MSM o

Macroservice Mode

000
001
1 00

Normal (8-bit transfer)
Normal (16-bit transfer)
Character search (8-bit transfer
Other combinations are not allowed.
Data Transfer Direction

DIR

Memory to SFR
SFR to memory

0
1

Macroservice Channel

CH2-CHO

o

7

Figure 12. /IIacroservice Control Registers
(/liSe)

000

Channel 0

111

Channel 7

~

MSS
MSP
Reserved

SCHR

SFRP

MSC

TIMER UNIT

MSS

+6H

Segment value of memory address used
for data transfer. Memory address
will be MSS x 16 + MSP.

The ~P070335 (figure 13) has two programmable 16-bit
interval timers (TMO, TM1) on-chip, each with variable
input clock frequencies. Each of the two 16-bit timer
registers has an associated 16-bit modulus register
(MOO, MD1). Timer
operates in either the interval
timer mode or one-shot mode; timer 1 has only the
interval timer mode.

MSP

+4H

Offset value of memory address used
for data transfer.

Interval Timer Mode

SCHR

+2H

a·blt data compared In character search.

SFRP

+1H

Offset value of special function register
address, which Is xxFOOH + SFRP. (xx Is
specified by lOB register).

MSC

+OH

Number of transfers performed In
macro service

r

+OH

Offset from macro service channel start address.

°

83M·005285A

In this mode, TMOfTM1 are decremented by the selected input clock and, after counting out, the registers
are automatically reloaded from the modulus registers
and counting continues. Each time TM1 counts out,
interrupts are generated through TF1 and TF2 (Timer
Flags 1, 2). When TMO counts out, an interrupt is
generated through TFO. The timer-out signal can be
used as a square-wave output whose half-cycle is equal
to the count time.
Two input clocks derived from the system clock ~re
SCLK/6 and SCLK/128. Typical timer values shown
below are based on fosc = 10 MHz and fSCLK = foscl2.
Clock
SCLK/6
SCLK/128

Timer Resolution
1.2J1s
25.6~s

Full Count
78.643 ms
1.678 s

19

..
Ii.i.i

NEC

pPD7033S (V3S Plus)
One-Shot Mode

Figure 14. Timer Control RegisterO. (TIfCO)

In the one-shot mode, TMO and MDO operate as independent one-shot timers. Starting with a preset value,
each is decremented to zero. At zero, counting ceases
and an interrupt is generated by TFO (from TMO) or TF1
(from MDO).

I TSO ITClKO I MSO I MClKO I ENTO·I AlV I MOD1 MODo I

When TMO is programmed to one-shot mode, TM1 may
still operate in interval mode.
Two input clocks derived from the system clock are
SCLK/12 and SCLK/128. Typical timer values shown
below are based on fosc = 10 MHz and fSClK = fosc/2.
Clock
SCLK/12
SCLK/128

Timer Resolution
2.4 Jis
25.6Jis

Full Count
157.283 ms
1.678 s

I

7

0

TSO

Timer 0 in Either Mode

0
1

Stop countdown
Start countdown

MOD 1

MODo

0
0
0
0

0
0
1

TClKO

TMO Register Clock Frequency

0
1
0
1

fSCLKl6 (Interval)
fSCLKl128 (Interval)
fSCLKl12 (One-shot)
fSCLKl128 (One-shot)

MSO

MOO Register Countdown
(One-Shot Mode)

0
1

Stop
Start

MClKO

Timer Control Registers
Setting the desired timer mode requires programming
the timer control register. See figures 14 and 15 for
format.

MOO Register Clock Frequency

0
1

fSCLKl1;2
fSCLKl128

ENTO

TOUT Square-Wave Output

0
1

Figure 13. Timer Unit Block Diagram

Disable
Enable

AlV

TOUT Initial level
(Counter Stopped)
low
High

0
I

fSCLK

:divlded bY~

12:~

MOD 1

MODo

Timer Unit Mode

0
0

0
1
X

Interval timer
One-shot
Reserved

.......;....:.---,

Figure 15.
12
128

I1S1 ITClK1 I

L---I"""'"......T-i---'"

o
TClK1

o
I

t-----oTO
I

---------~-----------------

r

Internal Bus

}
83SL-6746A

20

o

0

o

7
TS1

V

Timer Control Register 1 (TIfCI)

o

o

o
o

I

Timer 1 Countdown
Stop
Start
Timer 1 Clock Frequency

fSCLKl6
fscLKl128

TIME BASE COUNTER
The 20-bit free-running time base counter (TBC) controls internal timing sequences and is available as the
source of periodic interrupts at lengthy intervals. One
of four interrupt periods can be selected by programming the TBo and TB1 bits in the processor control
register (PRC). The TBC interrupt is unlike the others

NEe

IIPD70335 (V35 Plus)

because it is fixed as a level 7 vectored interrupt.
Macroservice and register bank switching cannot be
used to service this interrupt. See figures 16 and 17.

Figure 16.

Figure 18.

~-E

Time Base Interrupt Request
Control Register (TBIC)

I TBF I TBMK I

0

0

0

1

I

o

Address xxFECH

7

Time Base Counter (TBC) Block
Diagram

I I I I

+210

+ 2 13

+216

+220
83NR-7450A

Time Base Interrupt Flag

TBF

o

REFRESH CONTROLLER

1

No interrupt generated
Interrupt generated

TBMK

Time Base Interrupt Mask

o

The JlPD70335 has an on-Chip refresh controller for
dynamic and pseudostatic RAM mass storage memories. The refresh controller generates refresh addresses
and refresh pulses. It inserts refresh cycles between the
normal CPU bus cycles accordi ng to refresh specifications.

Unmasked
Masked

Figure 17. Processor Control Register (PRC)

I

0

IRAMENI

0

7

o

I TB1

I

TBo

I PCK1

I

pCKo

Address xxFEBH

RAMEN

I

o

Built-In RAM

0

Disable
Enable

1
TB1

TBo

0
0

0

1

0

1
1

PCK1

PCKo

0
0

0

1

0

1

Time Base Interrupt Period
21 O/fscLK
2 13/fSCLK
2 16/fSCLK
22O/fSCLK
System Clock Frequency
(fsCLId
foscl2
foscl4
foscl8
Reserved

The RAMEN bit in the PRC register allows the internal
RAM to be removed from the memory address space to
implement faster instruction execution.
The TBC (figure 18) uses the system clock as the input
frequency. The system clock can be changed by programming the PCKo and PCK1 bits in the processor
control register (PRC). Reset initializes the system
clock to foscl8 (fosc = external oscillator frequency).

The refresh controller outputs a 9-bit refresh address on _
address bits Ao-As during the refresh bus cycle. Address ~
bits A9-A19 are all zeros. The 9-bit refresh address is
automatically incremented at every refresh timing for
512 row addresses. The 8-bit refresh mode (RFM) register (figure 19) specifies the refresh operation and
allows refresh duri ng both CPU HALT and HOLD
modes. Refresh oycles are automatically timed to minimize the effect on system throughput.
The following shows the REFRQ pin level in relation to
bits 4 (RFEN) and 7 (RFLV) of the refresh mode register.
RFEN
-0--

o
1
1

RFLV
-0-1

REFRQ Level

o
1

o

o

1

Refresh pulse output

It should be noted that since the V35 Plus directly
supports dynamic RAM memory, the refresh controller
output should be gated into the RAS input of the
memory chips. When combined with the chip select
logic and the MREQ Signals, a direct DRAM interface is
supported.

SERIAL CONTROL UNIT
The JlPD70335 has two full-duplex UARTs, channel 0
and channel 1. Each serial port channel (figure 20) has
a transmit line TxDn, a receive line RxDn, and a clearto-send input line CTSn for handshaking. Communication is synchronized by a start bit, and the ports can be
programmed for even, odd, or no parity, character
lengths of 7 or 8 bits, and 1 or 2 stop bits.
21

NEe

pPD70335 (V3S Plus)

Figure 19. Refresh Mode Register (RFM)

IRFLV IHLDRF IHLTRF I RFEN I RFW1 I RFWo I RFT1
7

Bx G =
RFTo

Address xxFE1 H

RFLV

RFEN

0
1
0
1

0
0
1

I

0

REFRQ Output Signal Level
0
1
0
Refresh pulse
Automatic Refresh Cycle in HOLD Mode

HLDRF

Disabled
Enabled

0
1

Automatic Refresh Cycle In HALT Mode

HLTRF
0

Disabled
Enabled
Automatic Refresh Cycle

RFEN
0
1

Refresh pin = RFLV
Refresh enabled

RFW1

RFWo

0
0
1
1

0
1
0
1

RFT1

RFTo

0
0
1
1

0
1
0
1

No. of Wait States Inserted In Refresh Cycle
0
1
2
2
Refresh Period
16/SCLK
32/SCLK
64/SCLK
128/SCLK

The JlPD70335 has dedicated baud rate generators for
each serial channel. This eliminates the need to obligate the on-chip timers. The baud rate generator allows
a wide range of data transfer rates up to 1.25 Mb/s. This
includes all of the standard baud rates without being
restricted by the value of the particular external crystal.
Each baud rate generator has an 8-bit baud rate generator register BRGM, which functions as a prescalerto
a programmable input clock selected by the serial
communication control register SCCn. Together these
must be set to generate a frequency equivalent to the
desired baud rate.
The baud rate generator can be set to obtain the
desired transmission rate according to the following
formula.

22

SCLK x 106
2n +1

where B = baud rate
G = Baud rate genrator register BRGn value
(table 4)
n = input clock specification (n between 0
and 8). This is the value that is loaded into
the SCCn register. See figure 21.
SCLK = system clock frequency (MHz).
Based on the above expression, table 4 shows the baud
rate generator values used to obtain standard transmission rates when SCLK = 8 MHz.

Tab/e4.

Baud Rate Generator Register (BRGn)

Baud Rate

n

G

Error (%)

110

7

142

0.03

300

6

208

0.16

1200

4

208

0.16

2400

3

208

0.16

4800

2

208

0.16

208

0.16
0.16

9600
19,200

0

208

38,400

0

104

0.16

1.00M

0

4

0.00

NEe

pPD7033S (V3S Plus)

Figure 20. Serial Interface Block Diagram
Channel 0

TXDO~

Serial
Register

~

TxBO

o----t>-1

Serial
Register

~

RxBO

RxDO

~

F=>

CTSO

Channel 1

RxD1

o----t>-1

Serial
Register

Serial
Register

Please refer to the V25N35 User's Manual for additional
information on the serial channels.

Figure 21. Serial Communication Control
Register (SCCn)
7

6

5

4

0

0

0

0

PRS 3-PRS o

SCKO~--------------'---~

TXD1~

software to poll for the completion of a message (the
last bit of the last byte is shifted out when the ALL SENT
bit is set). All error flags are available in this register
(refer to figure 24).

~

TxB1

~

RxB1

~

F=>

n

I PRS3

0 0
000 1
00 1 0

0
1
2

SCLK/2
SCLK/4
SCLK/8

o0 1 1
o1 0 0
o1 o1
o1 10
o1 1 1

3
4
5

SCLK/16
SCLK/32
SCLK/64

6
7
8

SCLK/128
SCLK/256
SCLK/512

Combinations after

PRS

PRS2

0

PRS1

PRSol

Input Clock for Baud Generator

o0

1 000

2

3

II

= 1000 are not valid.

CTS1

In addition to the asynchronous mode, channel 0 has a
synchronous I/O interface mode. In this mode, each bit
of data transferred is synchronized to a serial clock
SCKO. This is the same as the NEC /lCOM75 and
/lCOM87 series, and allows easy interfacing to these
devices.
Figures 22 and 23 show the serial communication
mode register SCMn and error register SCEn.
The serial control unit of the /lPD70335 is functionally
identical to that of the standard V35, with the exception
of several enhanced features.
All serial status information is moved to the serial
status register (SSTn) on the V35 Plus. Included in this
register is an additional flag which signals that the
transmit shift register is clear of data. This flag allows

23

NEe

pPD70335 (V35 Plus)

Figure 23. Serial Communication Error
Registers (SCEn)

Figure 22. Serial Communication Mode
Registers (SCMn)
7

6

5

4

3

o

2

7

I RxD
RxD
TxRDY

o

Transmitter Control

0
1

Disable
Enable

1
RxE

o

ERP

Receiver Control

0

Disable
Enable

1

ERF

Parity Control

00
o1
1 0
1 1
CL/TSK

o

No parity
o parity (0 during transmit; ignored during
receive)

SlJRSCK

Odd parity
Even parity
Character Length/Transmit Shift Clock (I/O
interface mode only)

o

Stop Bit Length/Receive Clock
mode only)

2 stop bits/Internal clock (output on CTSO)
Mode

00

o1
1

24

(110 interface

1 stop bit/External clock (input on CTSO)

1

x

I/O interface (Channel 0 only)
Asynchronous
Reserved

ERO
0

7 bits/No effect
8 bits/Trigger transmit

1

0
1

6

5

4

3

2

0

0

0

0

ERP

RxD Line Status
RxD line
RxD line

=
=

0
1

Parity Error
No parity error
Parity error has occurred
Framing Error
No framing error
Stop bit not detected
Overrun Error Flag
No overrun
Overrun has occurred

0
ERF

I ERO I

1ttIEC

pPD70335 (V3S Plus)

Figure 24. Serial Status Register (SSTn)

IRxDN I ASn ITxBEn IRxBFn I

0

ERPn

ERFn

I EROn I

Parity Error Flag

o

7

ERPn

Indicates that transmit parity was not consistent
with receive parity (Note 5)
Framing Error Flag

Receive Terminal Pin State

RxON

ERFn

Indicates that stop bit was not detected (Note 5)

Input state of RxDn pin is checked by RxDN bit

Overrun Error Flag

All Sent Flag

ASn

Reset when transmit data has been written to
transm it shifter

o

EROn

Indicates that succeec!ing receive has completed
before the previous receive data is taken over from
the receive buffer (Note 5)

Set when all the data in the transmit buffer and
transmit shift register has been sent (Note 1)

Notes:

Transmit Buffer Empty Flag

TxBEn

Reset when transmit data has been written to
transmit buffer (Note 1)

o

Set when transmit data in transmit buffer has
been sent to shift register

(1) Transmitterflags are reset to 1 when the value of either the baud
rate generator or serial control register is written.
(2) Receive buffer full flag is also reset when either the baud rate
generator or serial control register is written.
(3) Receive buffer full flag is not related to the receive error state.

Receive Buffer Full Flag
Reset when receive data has been read from
receive buffer (Note 2)

RxBFn

(4) Error flags are cleared when the next data byte is received.

~_

o

(5) In the table, n = 0 or 1.

~

Set when receive data has been sent from shift
register to receive buffer (Note 3)

Table 5. DMA Controller Operation
Single-Step Mode

Burst'Mode

Single-Transfer Mode

Demand Release Mode

Transm ission
coverage

Memory - memory

Memory - memory

Memory -I/O

Memory -I/O

Function

Under one time of DMA
request instruction,
one bus cycle and one DMA
transmission are alternately
executed the specified
number of times.

Under one DMA
request, specified number
of DMA transmissions
are executed.

One DMA transfer is
executed every time DMA
request occurs.

DMA transmission is executed
while DMARa terminal is kept
high-level.

DMA start

Rise of DMARa

Rise of DMARa

Rise of DMARa

High level of DMARa

Setting TDMA bit of DMA
control register

Setting TDMA bit of DMA
control register

Depends on software

None

Depends on software

Halted at low level of DMARa
during DMA transmission

Terminal count
decremented from zero

Terminal count
decremented from zero

Terminal count
decremented from zero

Terminal count
decremented from zero

Interrupt

All accepted

Not accepted
during DMA transmission

All accepted

All accepted except
during DMA transmission

During halt

Specified times of DMA
transmission are executed
consecutively

Specified number of DMA
transfers are executed
consecutively

Active

Active

DMA request
during DMA
transmission

DMA at channel 1 is retained
while DMA at channel 0 is
executed

Other DMA is retained until
DMA transmission
is terminated.

DMA transmission under
request is executed after one
DMA transmission is over

DMA at channel 1 is retained
while DMA at channel 0 is
executed.

Halt method

25

NEe

pPD70335 (V35 Plus)
DMA CONTROLLER
Two memory-to-memory transfer modes (single-step
and burst) are supported as well as two I/O-to-memory
modes (single-transfer and demand release). Refer to
table 5.

Figure 26. DIIIA Channellllode Registers
(DIIIAllln)
1

MD2

1

MD1

1

MDo

W

1

1

EDMA

1

The most significant V35 Plus enhancement boosts the
transfer rates of the dual internal DMA channels to full
bus bandwidth. All operational modes remain the same
as the V35, but since the V35 Plus DMA controller is
implemented in hard-wired logic, the control delays of
a microprogrammed method are not present. As a
result, the demand release mode transfer rate boasts a
theoretical transfer rate of over 6M bytes per second.

MD2-MD o

The ,uPD70335 DMA control registers are moved from
the internal RAM to the SFR area; thus the V35 Plus may
effectively have a larger internal RAM memory area
than comparable designs on the standard V35.

W

Transfer Method

0

Byte transfer
Word transfer

Additionally, the ,uPD70335 DMA controller uses linear
registers for both source and destination address
pointers. Thus, three a-bit registers completely specify
the DMA address pointers as shown in figure 25. These
pointers may be updated by byte (±1) or word (±2)
quantities as programmed in the DMA channel mode
register shown in figure 26. This register also specifies
the operational mode of the channel. The EDMA bit is
c;lutomatically cleared when terminal count is reached,
and DMA requests are ignored when this bit is cleared.

0
1

20 19

f--

16 15

1

0

o
o

1

Transfer Mode

000
001
010
011

Single-step (memory to memory)
Demand release (I/O to memory)
Demand release (memory to I/O)
Disabled

100
101
110
111

Burst (memory to memory)
Single-transfer (I/O to memory)
Single-transfer (memory to I/O)
Disabled

TDMA

EDMA

Transfer Condition

o
o

Disabled
DMA channel enabled
Software initiate DMA (memory to
memory modes)

The TDMA bit is only valid for single-step and burst
modes. This bit allows software iriitiation of the DMA
transfer (provided the EDMA bit is set); the bit always
reads as zero and .has no meaning in the demandrelease or single-transfer modes.
The DMA address pointers may be incremented or
decremented per transfer as specified in the DMA
address update register shown in figure 27. The address pointer can also be programmed to remain the
same, allowing repeated transfers to or from a location.

Figure 25. DIIIA Address Registers
23

TDMA

7

8 7

Applied addresses (20 bits)

Figure 27.

-l

n =0,1
83YL-6715A

o

.1

0

DIIIA Address Control Registers
(DIIIAC)
1

PD 1

1

PDo

0

0

pS 1

pSo

I

o

7
Destination Address Offset

00
01
10
11

No modification
Increment
Decrement
No modification
Source Address Offset

00

01
10
11

No modification
Increment
Decrement
No modification

The DMAAKn Signals are not output for memory-tomemory transfer modes, but are driven low for each
transfer I/O to/from memory. Nominal DMA bus cycles
26

NEe

pPD70335 (V35 Plus)

are three clock states; however, programmable wait
states may be added. Wait states for memory-tomemory transfers are added to both source and destination addresses as programmed for each specific
address.
During memory-to-I/O transfers, the number of wait
states inserted is determined by the slower of the
source and destination. IIO-to-memory transfers add
the number of wait states required by the memory write
address.

PARALLEL I/O PORTS

Figure 30.

Port Mode Control Register 0 (PMCO)

I

I

PMC0

71

Use the associated port mode and port mode control
registers to select the mode for a given I/O line.

PMC1 7
0
1
PMC16
0
1
PMC15
0
1

Figure 28. Por,t Mode Registers 0 and 2 (pM01
PM2)

PMC13

0
1

0
1
PMC12

o

7

x
0

Input or Output Bit Selection

PMC1 1

Output port mode
Input port mode

x
PMC10

n = 7 through 0

x

Figure 29. Port Mode Register 1 (PMI)
PM17

I

PM16

I

PM15

I

PM14

I

I

o
o

I I
o

Port mode
CLKOUT

0
Port/Control Bit Selection
P171/0
READY input
Port/Control Bit Selection
P161/O
SCKO output

a

Port/Control Bit Selection
P1 5 1/0
TOUT output
Port/Control Bit Selection
P14 I/O or POLL input
INT input
Port/Control Bit Selection
INTP2/P13 input
INTAK output
Port/Control Bit Selection
INTP1/P12 input
INTP2/P13 input
Port/Control Bit Selection
INTPO/P11 input
Port/Control Bit Selection
NMI/P1 o input

I
o

7

PMC1 n

I

Figure 31. Port Mode Control Register 1 (PMCI)

PMC14

I

I

Port or Control Bit Selection

o

The analog comparator port (PT) compares each input
line to a reference voltage. The reference voltage is
programmable to be the (VTH input pin) x n/16, where n
= 1 to 16. See figure 33.

1

I

7

The J1PD70335 has three 8-bit parallel I/O ports: PO, P1,
and P2. Refer to figures 28 through 32. Special function
register (SFR) locations can access these ports. The.
port lines are individually programmable as inputs or
outputs. Many of the port lines have dual functions as
port or control lines.

o

I

7

PM1 n

o
1

Port Mode Input/Output (Port P1 n)
Output port mode
Input port mode

n = 7, 6, 5, or 4.

27

NEe

pPD70335 (V35 Plus)

Figure 32. Port Mode Control Register 2 (PMC2)
7

0

Port/Control Bit Selection

o

I/O port

1

HLDRQ output

o

I/O port

1

HLDAK input

Port/Control Bit Selection

PMC2s

o

I/O port
TC1 output

1

The appropriate bits in the wait control word (WTe)
control wait state generation. Programming the upper
two bits in the wait control word will set the wait state
conditions for the entire I/O address space. Figure 34
shows the memory map for programmable wait state
generation; see figure 35 for a graphic representation
of the wait control word.

Port/Control Bit Selection

o

I/O port

1

DMAAKI output

Port/Control Bit Selection

o

I/O port
DMARQ1 .input

1

Port/Control Bit Selection

x

Figure 34. Programmable Wait State Generation

I/O port
TCO output

o

You can generate wait states internally to further reduce the necessity for external hardware. ·Insertion of
these wait states allows direct interface to devices
whose access times cannot meet the CPU read/write
timing requirements.
When using this function, the entire 1M-byte memory
address space is divided into 128K-blocks. Each block
can be programmed for zero, one, or two wait states, or
two plus those added by the external READY signal.
The top two blocks are programmed together as one
unit.

Port/Control Bit Selection

PMC26

PROGRAMMABLE WAIT STATE GENERATION

FFFFFH

Port/Control Bit Selection

256K

x

I/O port

1

DMAAKO outp~t

COOOOH

Port/Control Bit Selection

PMC20

I/O port

1

DMARQO input

. 40000H
128K

Figure 33. Port T Mode Register (PMT)

I

0

I

0

I

0

I

0

I PMT3 I PMT2 I PMT1

7

0100
0101
0110
0111
1000
1001
1010
1 01 1
1100
1 101
1110
1111

28

20000H

PMTol

128K

OH

0

PMT3-PMTO
0000
0001
0010
0011

VTH
VTH
VTH
VTH

~~

~~

o

x 16/16
x 1/16

x 2/16
x 3/16
VTH x 4/16
VTH x 5/16
VTH x 6/16
VTH x 7/16
VTH x 8/16
VTH x 9/16
VTH x 10/16
VTH x 11/16
VTH x 12/16
VTH x 13/16
VTH x 14/16
VTH x 15/16

83NR-7451A

STANDBY MODES
The two low-power standby modes are HALT and STOP.
Software can cause the processor to enter either mode.

HALT Mode
In the HALT mode, the CPU is inactive and the chip
consumes much less power than when operational.
The external oscillator remains functional and all peripherals are active. Internal status and output port line
conditions are maintained. Any unmasked interrupt
can release this mode. In the EI state, interrupts subsequently wi II be serviced and the HALT state released.
In the 01 state, program execution is restarted with the
instruction following the HALT instruction and the
interrupt causing the release from HALT will be latched.

NEe
STOP Mode

pPD7033S (V3S Plus)

Figure 35.

The STOP mode allows the largest power reduction
while maintaining RAM. The oscillator is stopped, halting the CPU and all internal peripherals. Internal status
and port pin outputs are maintained. Only a RESET or
NMI can release this mode.
A standby flag in the STBC register is reset by rises in
the supply voltage. Its status is maintained during
normal operation and standby. The STBC register (figure 36) is not initialized by RESET. Use the standby flag
to determine whether program execution is returning
from standby or from a cold start by setting this flag
before entering the STOP mode.

SPECIAL-FUNCTION REGISTERS
Table 6 shows the special-function register mnemonic,
type, address, reset value, and function. The eight
high-order bits of each address (xx) are specified by
the lOB register.
SFR area addresses not listed in table 6 are reserved. If
read, the contents of these addresses are undefi ned,
and any write operation will be meaningless.

Wait Control Word (WTC)

7

Wait Control, High

o

7

Wait ContrOl, Low

o

Wait States

o

Block n1

Block nO

o
o

o
o

2
2 or more (control from
READY pin)
n = 0 thru 6

Figure 36. Standby Register (STBC)

I~_~~I_o~l_o~l__o_l~o~l_o~l__o~l_s_:F~I~
Standby Flag

SBF

o

No changes in Voo (standby)
Rising edge on VOO (cold start)

1

Table 6. Special-Function Registers
Address

Register Function

Symbol

R/W

Manipulation (Note 6)

xxFOOH

Port 0

PO

R/W

8/1

Undefined

xxF01H

Port mode 0

PMO

w

8

OFFH

When Reset

xxF02H

Port mode control 0

PMCO

w

8

OOH

xxF08H

Port 1

P1

R/W

8/1

Undefined

xxF09H

Port mode 1

PM1

OFFH

Port mode control 1

PMC1

w
w

8

xxFOAH

8

OOH

xxF10H

Port 2

P2

R/W

8/1

Undefined

xxF11H

Port mode 2

PM2

8

OFFH

8

OOH

xxF12H

Port mode control 2

PMC2

w
w

xxF38H

Threshold port

PT

R

8

Undefined

xxF3BH

Threshold port mode

PMT

R/W

8/1

OOH

xxF40H

External interrupt mode

INTM

R/W

8/1

OOH

xxF44H

External interrupt macro service control 0 (Note 1)

EMSO

R/W

8/1

Unde'fined

xxF45H

External interrupt macro service control 1,(Note 1)

EMS1

R/W

8/1

xxF46H

External interrupt macro service control 2 (Note 1)

EMS2

R/W

8/1

xxF4CH

External interrupt request control 0 (Note 1)

EXICO

R/W

8/1

xxF4DH

External interrupt request control 1 (Note 1)

EXIC1

R/W

8/1

xxF4EH

External interrupt request control 2 (Note 1)

EXIC2

R/W

8/1

47H

29

NEe

pPD70335 (V3S Plus)
Table 6.

Special-Function Registers (cont)

Address

Register Function

Symbol

R/W

Mani pulation (Note 6)

When Reset

xxF60H

Receive buffer 0

RxBO

R

8

Undefined

xxF62H

Transmit buffer 0

TxBO

W

8

xxF65H

Serial receive macro service control 0 (Note 1)

SRMSO

R/W

8/1

xxF66H

Serial transmit macro service control 0 (Note 1)

STMSO

R/W

8/1

xxF68H

Serial mode register 0

SCMO

RIW

8/1

xxF69H

Serial control register 0

SCCO

R/W

8/1

OOH

xxF6AH

Baud rate generator 0

BRGO

R/W

8/1

xxF6BH

Serial status register 0

SSTO

R

8

60H

xxF6CH

Serial error interrupt request register 0 (Note 1)

SEICO

R/W

8/1

47H

xxF6DH

Serial receive interrupt request register 0 (Note 1)

SRICO

R/W

8/1

xxF6EH

Serial transmit interrupt request register 0 (Note 1)

STICO

R/W

8/1

xxF70H

Serial receive buffer 1

RxB1

R

8

xxF72H

Serial transmit buffer 1

TxB1

W

8

xxF75H

Serial receive m'acro service register 1 (Note 1)

SRMS1

R/W

8/1

xxF76H

Serial transmit macro service register 1 (Note 1)

STMS1

R/W

8/1

xxF78H

Serial communication register 1

SCM1

R/W

8/1

xxF79H

Serial control register 1

SCCt

R/W

8/1

Undefined

OOH

xxF7AH

Baud rate generator 1

BRG1

RIW

8/1

xxF7BH

Serial status register 1

SCS1

R

8

60H

xxF7CH

Serial error interrupt request register I (Note 1)

SEIC1

R/W

8/1

47H

xxF7DH

Serial receive interrupt request register 1 (Note 1)

SRIC1

R/W

8/1

xxF7EH

Serial transmit interrupt request register 1 (Note 1)

STIC1

RIW

8/1

xxF80H

Timer register 0 (Note 2)

TMO

R/W

16

xxF82H

Timer 0 modulo register (Note 2)

MOO

R/W

16

xxF88H

Timer register 1 (Note 2)

TM1

R/W

16

Undefined

xxF8AH

Timer 1 modulo register (Note 2)

M01

R/W

16

xxF90H

Timer 0 control register (Note 2)

TMCO

R/W

8/1

xxF91H

Timer 1 control register (Note 2)

TMC1

R/W

8/1

xxF94H

Timer unit 0 macro service register (Note 1)

TMMSO

RIW

8/1

xxF95H

Timer unit 1 macro service register (Note 1)

TMMS1

R/W

8/1

xxF96H

Timer unit 2 macro service register (Note 1)

TMMS2

R/W

8/1

xxF9CH

Timer unit 0 interrupt request register (Note 1)

TMICO

R/W

8/1

xxF9DH

Timer unit 1 interrupt request register (Note 1)

TMIC1

R/W

8/1

xxF9EH

Timer unit 2 interrupt request register (Note 1)

TMIC2

RIW

8/1

xxFAOH

DMA address update control register 0

DMACO

R/W

8/1

Undefined

xxFA1H

DMA mode register 0

DMAMO

RIW

8/1

47H

xxFA2H

DMA address update control register 1

DMAC1

R/W

8/1

Undefined

xxFA3H

DMA mode register 1

DMAM1

R/W

8/1

OOH
47H

xxFACH

DMA interrupt request control register 0 (Note 1)

DICO

R/W

8/1

xxFAOH

DMA interrupt request control register 1 (Note 1)

DIC1

R/W

8/1

30

OOH

Undefined

47H

NEe

pPD7033S (V3S Plus)

Table 6. Special-Function Registers (cont)
Address

Register Function

Symbol

R/W

Manipulation (Note 6)

When Reset

xxFCOH

DMA channel 0 source address pointer low

SAEOL

R/W

16/8

Undefined

xxFC1H

DMA channel 0 source address pointer mid

SAEOM

R/W

16/8

xxFCOH

DMA Channel 0 source address pointer low

SAEOL

R/W

16/8

xxFC1H

DMA channel 0 source address pointer mid

SAEOM

R/W

16/8

xxFC2H

DMA channel 0 source address pointer high

SAROH

R/W

8

xxFC4H

DMA channel 0 destination address pointer low

DAROL

R/W

16/8

xxFC5H

DMA channel 0 destination address pointer mid

DAROM

R/W

16/8

xxFC6H

DMA channel 0 destination address pointer high

DAROH

R/W

8

xxFC8H

DMA channel 0 count register

DMATCO

R/W

16/8

xxFDOH

DMA channel 1 source address pointer low

SAR1L

R/W

16/8

xxFD1H

DMA channel 1 source address pointer mid

SAR1M

R/W

16/8

xxFD2H

DMA channel 1 source address pointer high

SAR1H

R/W

8
16/8

xxFD4H

DMA channel 1· destination address pointer low

DAR1L

R/W

xxFD5H

DMA channel 1 destination address pointer mid

DAR1M

R/W

16/8

xxFD6H

DMA channel 1 destination address pointer high

DAR1H

R/W

8

xxFD8H

DMA channel 1 terminal count register

DMATC1

R/W

16/8

xxFEOH

Standby control register

STBC

R/W
(Note 3)

8/1

Undefined
(Note 4)

xxFE1H

Refresh mode register

RFM

R/W

8/1

OFCH

xxFE8H

Wait state control

WTC

R/W

16/8

OFFFFH

xxFEAH

User flag (Note 5)

FLAG

R/W

8/1

OOH

xxFEBH

Processor control register

PRC

R/W

8/1

4EH

xxFECH

Time base interrupt request control register
(Note 1)

TBIC

R/W

8/1

47H

xxFEFH

Interrupt factor register (Note 1)

IROS

R

8

Undefined

xxFFCH

Interrupt priority control register (Note 1)

ISPR

R

8

OOH

xxFFFH

Internal data area base

IDB

R/W

8/1

OFFH

Notes:

= OOH;

= no change.

(1) One wait state is inserted into accesses to these registers.

(4) Upon power-on reset

(2) A maximum of 6 wait states are added into accesses to these
registers.

(5) For the user flag register (FLAG), manipulating bits other than
bits 3 and 5 is meaningless. The contents of user flags 0 and 1 (FO
and F1) of the FLAG register are affected by manipulating FO and
F1 of the PSW

(3) Each bit of the standby control register can be set to 1 by an
instruction; however, once set, bits cannot be reset to 0 by an
instruction (only 1 can be written to this register).

other

(6) The manipulation column indicates which memory operations
can read or modify the register according to the following key.
16
8

Word operations
Byte operations
Bit operations

31

m

NEe

pPD70335 (V35 Plus)

Comparator Characteristics
= + 5 V ±10%; TA = -10 to + 70°C

ELECTRICAL SPECIFICATIONS

Voo

Note: The de and ac characteristics specified in this data
sheet are for 8-MHz parts (lJPD70335-8). The specifications for 10-MHz parts (J./PD70335-10) are in a separate
publication.

Parameter

Symbol

Accuracy

VACOMP

Threshold voltage

Min

Max

Unit

±100

mV

VTH

0

VOO + 0.1

V

Absolute Maximum Ratings

Comparison time

tCOMP

64

65

tCYK

TA

PT input voltage

VIPT

0

VOO

V

= 25°C

-0.5 to +7.0 V

Supply voltage, Voo
Input voltage, VI

-0.5 to Voo + 0.5 V (::; + 7.0 V)

Output voltage, Vo

-0.5 to Voo + 0.5 V (::; + 7.0 V)

Threshold voltage, VT H

-0.5 to Voo + 0.5 V (::; + 7.0 V)

Output current, low; IOL
Each output pin
Total

4.0 rnA
SOmA

Output current, high; IOH
-2.0 rnA
-20 rnA

Operating temperature range, TOPT

-10 to +70°C

Storage temperature range, TSTG

-65 to +150°C

Exposure to Absolute Maximum Ratings for extended periods may
affect device reliability; exceeding the ratings could cause permanent damage.

Supply Current VB Clock Frequency

120

-

~

I- TA = 25°C
Voo =5V
I-Typical Sample

i~fs~

100

1c 80
c

60
40

.--

--

.-- ~

-- --

..- .......

3

= OV; TA = 25°C

Parameter

Min

Symbol

Max Unit Conditions

Input capacitance

CI

10

pF

Output capacitance

Co

20

pF

I/O capacitance

CIO

20

pF

4

voo

fc = 1 MHz;
unmeasured pins
returned to 0 V

= +5V ±10%; TA = -10to +70°C (Note.1)

Parameter

5
6
fSCLK(MHz)

7

8

9

10

83NR·7427A

Symbol

Min

Typ Max Unit Conditions

Supply current,
operating

1001

65

120

rnA

Supply current,
HALT mode

1002

25

50

rnA

Supply current,
STOP mode

1003

10

30

JiA

VTH supply
current

ITH

0.5

1.0

rnA VT H = 0 to VOO

Input voltage,
low

VIL

o

0.8

V

Input voltage,
high

VIH1

2.2

VOD

V

All inputs
except RESET,
P1o/NMI, X1, X2

VIH2

0.8 x
Voo

VOO

V

RESET, P101
NMI, X1, X2

0.45

V

IOL = 1.6mA

V

IOH = -0.4 rnA

~

20
2

Capacitance
Voo

DC Characteristics; J£PD70335-8

Each output pin
Total

140

Conditions

Output voltage,
low

VOL

Output voltage,
high

VOH

Input current

Voo
-1.0
±20

JiA

EA, P101NMI;
VI = 0 toVOO

Input leakage
current

III

±10

JiA

All except EA,
P1o/NMI; VI = 0
to VOO

Output leakage
current

ILO

±10

JiA

Vo = Oto VOO

Notes:
(1) The standard operating temperature range is -10 to +70°C.
However, extended temperature range parts (-40 to +85°C) are
available with certain restrictions.

32

NEe

pPD70335 (V35 Plus)

AC Characteristics; "PD70335-8
VOO = +5 V ±10%; TA -10 to + 70°C; CL = 100 pF (max)
n = total number of wait states; T = CPU clock period (tcyKl
Symbol

Max

Unit

tlR, tlF

20

ns

Input rise, fall time

tlRS' tlFS

30

ns

RESET, NMI (Schmitt)

Output rise, fall time

tOR, tOF

20

ns

Except CLKOUT

X1 cycle time

tCYX

62

250

ns

tWXH/tWXL

20

X1 width, high/low
X1 rise, fall time

Min

Conditions

Parameter
Input rise, fall time

tXR, tXF
125

ns
20

ns

2000

ns

CLKOUT cycle time

tCYK

CLKOUT width, high/low

tWKH/t,WXL

CLKOUT rise, fall time

tKR, tKF

Address delay time

tOKA

Address valid to input data valid

tOAOR

MREQ to address hold time

tHMRA

MREQ to data delay

tOMRO

(n+ 2)T- 60

ns

MSTB to data delay

tOMSO

(n + 1)T - 60

ns

MREQ to MSTB delay

tOMRMSR

T + 35

ns

MREQ width, low

twMRL

MREQ, MSTB to address hold time

tHMA

Input data hold time
Next control setup time
MREQ to TC delay time

tOMRTC

0.5T -15

15

ns
15

ns

90

ns

(n + 1 .5)T - 70

ns

0.5T - 30

T-35

ns

(n + 2)T -30

ns

0.5T - 30

ns

tHMO

0

ns

tscc

T-25

MREQ delay time

tOAMR

MSTB read delay time

0.5T - 30

ns
ns

tOAMSR

0.5T- 30

ns

twMSLR

(n+1)T-30

ns

Address data output

tOAOW
tSOM

MSTB write delay time

tOAMSW

0.5T -35

0.5T

+

50

ns

(n +0.5)T - 30

ns

MREQ to MSTB write delay time

tOMRMSW

MSTB write width low

twMSLW

T-30

ns

Data output hold time

tHMOW

0.5T - 30

ns

10STB delay time

tOAIS

0.5T -30

10STB to data input

tOISO

10STB width, low
Address hold time from 10STB
Data hold time from 10STB

t

t

(n + 1)T + 35

ns
Write cycle

ns

tWISL

(n + 1)T-30

ns

tHISA

0.5T - 30

ns

tHISOR

0

ns

T-35

MREQ to 10STB delay time

tOMRIS

Next DMARQ setup time

tSOAOQ

DMARQ hold time

tHOARQ

DMAAK read width, low

twDMRL

(n

+ 2.5)T -30

ns

twOMWL

(n + 2)T:... 30

ns

DMAAK write width, low

Write cycle

ns
(n + 1)T-60

I/O cycle

ns
(n -1)T - 50

0

Read cycle

ns

(n + 2)T - 50

(n + 1)T-35

1m

ns
0.5T + 50

MSTB width, read low

Data output setup time

Except X1, X2, RESET, NMI

ns

Demand mode

ns

33

NEe

pPD70335 (V35 Plus)
AC Characteristics; "PD70335-8 (cent)
Parameter

Symbol

DMAAK to TC delay time

tOOATC

TC width, low

twrCL

REFRQ delay time

tOARF

REFRQ width, low

twRFL

Min

Max
OoST

(n

(n

+

+ SO

Unit

Conditions

ns
ns

3)T - 30

OoST- 30

ns

+ 2)T-30

ns

Address hold time

tHRFA

OoST - 30

ns

RESET width low

twRSL 1

30

ms

Crystal oscillator; STOP/
Power on reset

twRSL2

S

/1s

System warm reset

READY setup time from MREQ ~

tSCRYO

2T -100

ns

First sample n ;:: 2

READY setup time from MREQ

tSCRY

nT -100

ns

n;:: 3

READY hold time from MREQ ~

tHCRYO

2T

ns

First sample n = 2

ns

n;:: 3

READY hold time from MREQ ~

tHCRY

nT

READY hold time from MREQ ~

tHCRY1

(n -1)T

ns

READY setup time from CLKOUT ~

tSRYK

20

ns

READY hold time from CLKOUT ~

tHKRY

40

ns

All samples

READY setup time from laSTS ~

tSSRYO

T-100

ns

READY setup time from laSTS ~

tSSRY

(n -1)T-100

ns

n;:: 3

READY hold time from laSTS ~

tHSRYO

T

ns

First sample n = 2
n;:: 3

READY hold time from laSTS ~

tHSRY

(n -1)T

ns

READY hold time from laSTS ~

tHSRY1

(n -2)T

ns

HLDRQ setup time

tSHQK

30

HLDAK output delay time

tOKHA

1S

Sus control float to HLDAK ~

tCFHA

T-SO

HLDAK t to control output time

tOHAC

T-SO

HLDRQ to HLDAK delay

tOHQHA

HLDRQ ~ to control float time

tOHQC

HLDRQ width, low

ns
80

n$
3T

3T

ns
ns

+ 160

+ 30

ns
ns

tWHQL

10ST

ns

HLDAK width, low

twHAL

T

ns

INTP, DMARQ setup

tSIQK

30

ns

INTP, DMARQ width, high/low

twIQH/tWIQL

8T

ns

POLL setup time

tSPLK

30

n$

NMI width, high/low

tWNIH/tWNIL

S

/1s
n$

CTS width, low

twCTL

2T

INT setup time

tSIRK

30

INTAK delay time

tOKIA

1S

INT hold time

tHlAlQ

0

ns

INTAK width, low

twlAL

2T-30

ns

INTAK width, high

tWIAH

T- 30

INTAK to data delay time

to lAO

INTAK to data hold time

tHIAO

0

SCKO (TSCK) cycle time

tCYTK

1000

34

n$
80

ns

ns
2T -130

n$

OoST

ns
ns

First sample n ;:: 2

NEe

pPD7033S (V3S Plus)

AC Characteristics; p.PD70335-8 (cont)
Parameter

Symbol

Min

SCKO (TSCK) width, high/low

twSTH/ tWSTL

450

TxD delay time

tOTKO

Max

Unit

210

TxD hold time

ns

20

ns
ns

CTSO (RSCI<) cycle time

tCYRK

1000

CTSO (RSCK) width, high/low

tWSRH/ tWSRL

420

ns

80

ns

RxD setup/hold time

Conditions

ns

Recommended Oscillator Components

External System Clock Control Source

Ceramic Resonator

Capacitors

Manufacturer

Product No.

C1 (pF)

C2 (pF)

Kyocera

KBR-10.0M

33

33
30

Internal Oscillator

!

Murata Mfg.

I::

1

TDK

CSA16.00MX040

30

CSA20.00MX040

10

10

FCR10.M2S

30

30

15

6

FCR16.0M2S

Manufacturer

Case

--1m
C1 (pF)

C2 (pF)

Kinseki (KSS)

HC-49/U (KR·100)

22

22

*Crystal
External Clock
Clock

X1

Capacitors

HC-49/U (KR·160)

22

22

HC-49/U (KR-200)

22

22

*AT cut, fundamental mode; 10-, 16-, or 20-MHz crystal
recommended.

X2
83SL~718A

STOP Mode Data Retention Characteristics
TA = -10 to + 70°C

Timing Waveforms
AC Input 1 (Except X11 X21 RESET I NMI)
4V
2.
0.4 V

Parameter

Symbol

Min

Max

Unit

Data retention voltage

VOOOR

2.4

5.5

v

4

ps

200

VOO rise/fall time

Stop Mode Data Retention Timing

2.2 V

0.8 V

VOO
IIR

!-IIF

VDDDR

83-004305A

IRVO

AC Input 2 (RESET I NMI)

~

83-004333A

AC Output (Except CLKOUT)

rt=

0.8 V

IIRS

It-IIFS

.2V

~
0.8 V

83-004306A

lOR

-

-I-O-F- - . - 83-004307A

35

NEe

pPD70335 (V35Plus)

Clock In and Clock Out

CLKIN1
[X1j

0.8 V

1-----tCYX----+1

CLKOUT

.

-

I+-

-

tKR

1\ 2.2 V

V
tWKH

tWKL

-tKF

ICYK

..

0.8 V

Memory Read
r-----B1---~---B2----_r----B3~

CLKOUT
ADDRESS

015· DO

--------+----+--+----<1

REFRQ

t:1't~.~---------tWTCL-------~:('
DMRTC

36

831JB-0052768

NEe

pPD70335 (V35 Plus)

Memory Write
r-----B1-----+-----B2----~---B3~

CLKOUT

ADDRESS

t DADW

-·~---------I--t SDM ------~

tscc---

t DMRMSW-k------.I

tDMRTC

~---------tWTCL-----------.1
83MB-005277B

37

NEe

pPD70335 (V3S Plus)

I/O Read
~B1----~-----B2----4----B3~

CLKOUT

ADDRESS

0

15

-0

0

+-.....~...............--~I

........................................~...............

R/W

.--tDMRD--+---~

t DAMR

~----~

I+-----/----+--t WMRL

MSTB

tDAIS
IOSTB ............................................................+-...............~I

83NR-7429B

38

NEe

IIPD70335 (V35 Plus)

I/O Write
~B1----~----B2----~---B3~

CLKOUT

ADDRESS

~---+----tWMRL------~

MSTB

-----------------------+----+-------~------~~-------------+------------

10STB

REFRQ

83NR-7430B

39

NEe

pPD70335 (V3S Plus)

DMA, I/O to Memory
~B1-----r----B2----4----B3~

eLKOUT

ADDRESS

0..5 -Do

RtW
tDAMR~--~~1

~~-----+--

tsee ----./

DMARQODMARQ1

: = ~ -=- - - :. - -t-WT-e-L~ -=- =- =- =- =- - - :"~{

40

83MS-005280S

NEe
DMA~

pPD70335 (V35 Plus)

Memory to I/O
~Bl----~----B2----4----B3~

CLKOUT

ADDRESS

RtW
t DAMR -I4--~

'-"-------1--

tscc---~

DMARQODMARQl

TC1-TCO

---t-{

:===-=--=--=----------twr-C-L-:.-=--=--=----:..-----

83MB'()()5281B

41

JlPD70335 (V3S'Plus)

Refresh
~B1--~~~--B2----4----B3~

CLKOUT
1~--~tDKA

ADDRESS

RtW
tscc----

t DARF

~--+I

1+------ tWRFL--------.I

83MB-005282B

CLKOUT--------------------------------------~~-J

RESET-------~~·~-_-_-_-_-_-_-_tW_R_S_L1_-

~j;--------~U----------------------------------

_____-____

83-0043168

CLKOUT

_ _ ~~".12~ _ _ _ _ __

RESET-~

~

83-0043178

42

NEe

pPD70335 (V35 Plus)

READY 1
B1

B2IBAW

BAW

BAW/B2

B3

(RIW)

CLKOUT

READY
83SL-74328

READY 2
B1

B2JBAW

BAW

BAWIB2

B3

(RIW)
CLKOUT

J:1m5

iOsi'B

_~~_----Jr­

I.......-~--+-_+-+--+---..J/

READY

83SL-7431B

HLDRQ/ HLDAK 1

Bus control"

1-----tDHQHA ---~

HLOAK
"A19 -AO, 015-00, MREQ, MSTB, IOSTB, R/W

~---------tWHAL-------~

43

ttlEC

JlPD70335 (V35 PIUs)

H LDRQ/HLDAK 2
CLKOUT

HLDRQ
f4-~--

tWHOL -.,.---.1

Bus control· --1--------of~--_+____::---_:_---------_l(

t_D_KH~A t=____~U~--~I~.===========~-t-D-H-OC--------------_-_-_-_-_~________

___

HLoAK _

r

* A19-AO, 015-00, MREQ, MSTB,IOSTB, RNi
83-0043216

INffl DMARQ Input
CLKOUT

44

NEe

I'PD70335 (V35 Plus)

CTSlnput

-twcn-===cJ

1t---------.

INTR/INTAK

tOKIA

tHIAIQ

tHIAO

tsc

D7-DO------------~~--------------~----------------------~1

83-0043268

Serial Transmit (I/O Interface Mode)
tCYTK

\

II

I

i\

II

tWSTL

tHTKD

tWSTH

C

)

TxD

j+tDTKD-+
83MB-005283B

Serial Receive (I/O Interface Mode)
tCYRK

\

II

i)
I+--tWSRL-

..

tWSRH

"
K

RxD
l-tSRDK-

tHKRD

II

83MB-005284B

45

NEe

pPD7033S (V3S Plus)

INSTRUCTION SET

Symbols and Abbreviations (cont)

Instructions, grouped according to function, are described in a table near the end of this data sheet.
Descriptions include source code, operation, opcode,
number of bytes, and flag status. Supplementary information applicable to the instruction set is contained in
the following tables.

Identifier

Description

near-proc

Procedure within the current program segment

far-proc

Procedure located in another program segment

near-label

Label in the current program segment

shortlabel

Label between -128 and +127 bytes from the end
of instruction

• Symbols and Abbreviations
• Flag Symbols
• 8- and 16-Bit Registers. When mod = 11, the register
is specified in the operation code by the byte/word
operand (W = 0/1) and reg (000 to 111).
• Segment Registers. The segment register is specified in the operation code by sreg (00,01, 10, or 11).
• Memory Addressing. The memory addressing mode
is specified in the operation code by mod (00, 01, or
10) and mem (000 through 111).
• Instruction Clock Count. This table gives formulas
for calculating the number of clock cycles occupied
by each type of instruction. The formulas, which
depend on byte/word operand and RAM enable/
disable, have variables such as EA (effective address), W (wait states), and n (iterations or string
instructions).

far-label

Label in another program segment

memptr16

Word containing the offset of the memory location
within the current program segment to which
control is to be transferred

memptr32

Double word containing the offset and segment
base address of the memory location to which
control is to be transferred

regptr16

16-bit register containing the offse~ of the memory
location within the program segment to which
control is to be transferred

pop-value

Number of bytes of the stack to be discarded (0 to
64K bytes, usually even addresses)

fp-op

Immediate data to identify the instruction code of
the external floating-point operation

R

Register set

W

Word/byte field (0 to 1)

reg

Register field (000 to 111)

mem

Memory field (000 to 111)

Symbols and Abbreviations

mod

Mode field (00 to 10)

Identifier

Description

S:W

reg

8- or 16-bit general-purpose register

When S:W = 01 or 11, data = 16 bits. At all other
times, data 8 bits.

X, XXX,

Data to identify the instruction code of the
external floating point arithmetic chip

reg8

8-bit general-purpose register

reg16

16-bit general-purpose register

dmem

8- or 16-bit direct memory location

mem

8- or 16-bit memory location

mem8

8-bit memory location

mem16

16-bit memory location

mem32·

32-bit memory location

sfr

8-bit special function register location

imm

Constant (0 to FFFFH)

imm16

Constant (0 to F FF FH)

imm8

Constant (0 to F FH)

imm4

Constant (0 to FH)

imm3

Constant (0 to 7)

acc

AW or AL register

sreg

Segment register

src-table

Name of 256-byte translation table

src-block

Name of block addressed by the IX register

dst-block

Name of block addressed by the IV register

46

YVY, ZZZ

=

AW

Accumulator (16 bits)

AH

Accumulator (high byte)

AL

Accumulator (low byte)

BP

Base pointer register (16 bits)

BW

BW register (16 bits)

BH

BW register (high byte)

BL

BW register (low byte)

CW

CW register (16 bits)

CH

CW register (high byte)

CL

CW register (low byte)

DW

DW register (16 bits)

DH

DW register (high byte)

DL

DW register (low byte)

SP

Stack pointer (16 bits)

PC

Program counter (16 bits)

PSW

Program status word (16 bits)

IX

Index register (source) (16 bits)

NEe

pPD70335 (V35 Plus)

Symbols and Abbreviations (cont)

Flag Symbols

Identifier

Description

Identifier

Description

IV

Index register (destination) (16 bits)

(blank)

No change

PS

Program segment register (16 bits)

a

SS

Stack segment register (16 bits)

Cleared to

a

Set to 1

a register (16 bits)

x

Data segment 1 register (16 bits)

U

Undefined

AC

Auxiliary carry flag

R

Value saved earlier is restored

CV.

Carry flag

P

Parity flag

DSo

S
Z

Data segment

Zero flag

DIR

Direction flag
Interrupt enable flag

v
BRK

8- and 16-Bit Registers (mod = 11)

Sign flag

IE

Overflow flag
Break flag

MD

Mode flag

(...)

Values in parentheses are memory contents

disp

Displacement (8 or 16 bits)

ext-disp8

16-bit displacement (sign-extension byte
displacement)

temp

Temporary register (8/16/32 bits)

tmpcy

Temporary carry flag (1-bit)

seg

Immediate segment data (16 bits)

offset

Immediate offset data (16 bits)
Transfer direction

+

Addition
Subtraction

x

Multiplication

%

Modulo

AND

Logical product

OR

Logical sum

XOR

Exclusive logical sum

XXH

Two-digit hexadecimal value

XXXXH

Four-digit hexadecimal value

Division

Set or cleared according to the result

+ 8-bit

reg

W=O

000

AL

AW

001

CL

CW

010

DL

DW

011

BL

BW

100

AH

SP

101

CH

BP

110

DH

IX

111

BH

IV

W = 1

II

Segment Registers
sreg

Register

00

DS 1

01

PS

10

SS

11

DSo

Memory Addressing
mem

mod

000

BW

= 00

011

+ IX
BW + IV
BP + IX
BP + IV

100

IX

001
010

101

IV

110

Direct

111

BW

mod

= 01

+ IX + disp8
BW + IV + disp8
BP + IX + disp8
BP + IV + disp8
IX + dispB
IV + disp8
BP + disp8
BW + disp8
BW

mod

= 10

+ IX + disp16
BW + IV + disp16
BP + IX + disp16
BP + IV + disp16
IX + disp16
IV + disp16
BP + disp16
BW + disp16
BW

47

NEe

,.,PD70335 (V35Plus)

Instruction Clock Count
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

ADD

reg8, reg8
reg16, reg16

2
2

CALL

near-proc
regptr16

21+W [17+W]
21+W [17+W]

reg8, mem8
reg16, mem16

EA+7+W
EA+7+W

mem8, reg8
reg16, mem16

EA+10+2W [EA+7+W]
EA+ 10+ 2W [EA+ 7 + W]

memptr16
far-proc
memptr32

EA+24+2W [EA+22+2W]
36+2W [32+2WI
EA+32+4W [EA+20+4W]

reg8, imm8
mem16, imm16

5
6

mem8,imm8
mem16, imm16
AL, imm8
AW, imm16

CHKIND

reg16, mem32

EA+24+2W

CLA1

CY
DIA

2
2

EA+ 11+2W [EA+9+2W]
EA+12+2W [EA+8+2W]

reg8, CL
reg16, CL

8
8

5
6

mem8, CL
mem16, CL

EA+16+2W [EA+13+W]
EA+16+2W [EA+13+W]

ADD4S

22+ (30+3W)n [22+ (28+3W)n]
Same as ADD

reg8, imm3
reg16, imm4

7

ADDC

mem8, imm3
mem16, imm4

EA+13+2W [EA+10+W]

reg8, reg8
reg16, reg16

2
2

reg8, mem8
reg16, mem16

EA+7+W
EA+7+W

mem8, reg8
mem16, reg16

EA+7+W
EA+7+W

reg8, imm8
reg16, imm8
reg16, imm16

5
5
6

memS, imm8
mem16, immS
mem16, imm16

EA+8+W
EA+9+W
EA+9+W

AL, immS
AW, imm16

5
6

ADJ4A

9

ADJ4S

9

ADJBA

17

ADJBS
AND

17
reg8, reg8
reg16, reg16

2
2

reg8, mem8
reg16, mem16

EA+7+W
EA+7+W

mem8, reg8
mem16, reg16

EA+10+2W [EA+7+W]
EA+10+2W [EA+7+W]

reg8, imm8
reg16, imm16

5
6

memS,lmmS
mem16, imm16

EA+11+2W [EA+9+2W]
EA+12+2W [EA+S+2W]

AL, imm8
AW, imm16

5
6

Bcond (conditional branch)

S or 15

BCWZ

8 or 15

BA

BAK

near-label
short-label

12
12

regptr16
memptr16

13
EA+16+W

far-label
memptr32

15
EA+23+2W

3
immS

50+5W [3S+5W]
51 +5W [39+5W]

BAKCS

15

BAKV

50+5W [3S+5W]

BTCLR

29

BUSLOCK

2

48

CMP

CMP4S
CMPBK

7
EA+13+2W[EA+9+~

22+ (25+2W)n
memS,memS
mem16, mem16

CMPBKB

25+2W [21 +2W]
25+2W [19+2W]
16+ (23+2W)n

CMPBKW

16+ (23+2W)n

CMPM

mem8
mem16

1S+W
19+2W

CMPMB

n> 1

16+(16+W)n

CMPMW

n> 1

16+ (16+2W)n

CVTBD

19

CVTBW

3

CVTDB

20

CVTWL

8

DBNZ

S or 17

DBNZE

S or 17

DBNZNE

S or 17

NEe

pPD7033S (V3S Plus)

Instruction Clock Count (cant)
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

DEC

reg8
reg16

5
2

MOV

reg8, reg8
reg16, reg16

2
2

mem8
mem16

EA+13+2W [EA+11+2W]
EA+13+2W[EA+9+2W]

reg8, mem8
reg16, mem16

EA+7+W
EA+7+W

DI

4

DISPOSE

11+W

mem8, reg8
mem16, reg16

EA+5+W [EA+2]
EA+5+W [EA+2]

reg8, imm8
reg16, imm16

5
6

mem8, imm8
mem16, imm16

EA+6+W
EA+6+W

AL, dmem8
AW, dmem16

10+W
10+W

dmem8, AL
dmem16, AW

8+W [5]
8+W [5]

sreg, reg16
sreg, mem16

4
EA+9+W

DIV

DIVU

AW, reg8
AW, mem8

46-56
EA+49+W to EA+59+W

DW:AW, reg16
DW: AW, mem16

54-64
EA+57+W to EA+67tW

AW, reg8
AW, mem8

31
EA+34+W

DW:AW, reg16
DW: AW, mem16

39
EA+43+2W

DSO:

2

DS1:

2

EI

12

reg16, sreg
mem16, sreg

3
EA+6+W [EA+3]

41-121
42-122

AH, PSW
PSw, AH

2
3

FINT

2
55+5W [43+5W]

FP02

55+5W [43+5W]

DSO, reg16,
memptr32
.DS1, reg16,
memptr32

EA+17t2W

FP01

EXT

reg8, reg8
reg8, imm4

INC

INM

INS

EA+17+2W

N/A

MOVBK

AL, imm8
AW, imm8

15+W
15+W

mem8,mem8
mem16, mem16

22+2W [17+W]
22+2W [19+W]

MOVBKB

n>

16+ (18+2W)n [16+ (13+W)n]

AL, DW
AW, DW

14+W
14+W

MOVBKW

n> 1

reg8
reg16

5
2

HALT
IN

1m

mem8
mem16

EA+13+2W [EA+11+2W]
EA+13+2W [EA+9+2W]

mem8, DW
mem16, DW

21 +2W [19+2W]
19+2W [15+2W]

mem8, DW
mem16, DW

18+ (15+2W)n [18+ (13+2W)n]
18+(13+2W)n [18+ (9+2W)n]

reg8, reg8
reg8, imm4

63-155
64-156

LDEA

MOVSPA
MOVSPB

reg16

11

MUL

AW, AL, reg8
AW, AL, mem8

31-40
EA+34+Wto EA+43+W

DW:AW, AW,
reg16
DW:AW, AW,
mem16

39-48

reg16, reg16,
imm8
reg16, mem16,
imm8

39-49

reg16, reg16,
imm16
reg16, mem16,
imm16

40-50

reg8
mem8

24
EA+27+W

reg16
mem16

32
EA+33+W

EA+2

LDM

mem8
mem16

13+W
13+W

LDMB

n>

16+(11+W)n

LDMW

n>

16+(11+W)n

16+(18+2W)n [16+ (10+W)n]
16

MULU

EA+42+Wto EA+51+W

EA+ 42+ W to EA+ 52+ W

EA+ 43+ W to EA+ 53+ W

49

NEe

pPD7033S (V3S Plus)

Instruction Clock Count (cont)
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

NEG

regS
reg16

5
5

PREPARE

imm16, immS

mem8
mem16

EA+13+2W [EA+10+W]
EA+13+2W [EA+10+W]

imm8 = 0:26+ W
immS = 1:37+2W
imm8 = n, n > 1 :44+ 19
(n-1)+2Wn

NOP
NOT

NOT1

OR

OUT

OUTM

4
reg8
reg16

5
5

mem8
mem16

EA+13+2W [EA+10+W]
EA+13+2W [EA+10+W]

CY

2

regS, CL
reg16, CL

7
7

memS, CL
mem16, CL

EA+15+W [EA+12+W]
EA+15+2W [EA+12+W]

reg8, imm3
reg16, imm4

6
6

memS, imm3
mem16, imm4

EA+12+2W [EA+9+W]
EA+12+2W [EA+9+W]

regS, regS
reg16, reg16

2
2

regS, mem8
reg16, mem16

EA+7+W
EA+7+W

memS, reg8
mem16, reg16

EA+10+2W [EA+7+W]
EA+10+2W [EA+7+W]

regS,immS
reg16, imm16

5
6

memS, immS
mem16, imm16

EA+11 +2W [EA+9+2W]
EA+12+2W [EA+8+2W]

AL, immS
AW, imm16

5
6

immS, AL
immS, AW

11+W
9+W

Ow, AL
Ow, AW

10+W
S+W

Ow, memS
Ow, mem16

21+2W [19+2W]
19+2W [15+2W]

Ow, mem8

18+ (15+2W)n
[1S+ (13+2W)n]
18+ (13+2W)n
[18+ (9+2W)n]

Ow, mem16
POLL
POP

50

PS:
PUSH

11+W
EA+14+2W [EA+11+W]

OSO,1
SS

12+W
12+W

OSO
PSW

12+W
13+W

R

74+8W [5S]

reg16
mem16

13+W [9+W]
EA+16+2W [EA+12+2W]

OS1
PS

10+W [7]
10+W [7]

SS
OSO

10+W [7]
10+W [7]

PSW
R

9+W [6]
74+SW [50]

immS
imm16

12+W [9]
13+W[10]

REP

2

REPE

2

REPZ

2

REPC

2

REPNC

2

REPNE

2

REPNZ
RET

2
null
pop-value

19+W
19+W

null
pop-value

27+2W
2S+2W

RETI

40+ 3W [34+ W]

RETRSI

12

ROL

regS 1
reg16,1

8
8

mem8,1
mem16,1

EA+16+2W [EA+13+W]
EA+16+2W [EA+13+W]

regS, CL
reg16, CL

11+2n
11+2n

memS, CL

EA+ 19+ 2W+ 2n
[EA+16tW+2n]
EA+ 19+ 2W+ 2n
[EA+16+W+2n]

mem16, CL

N/A
reg16
mem16

2

regS, immS
reg16, immS

9+2n
9+2n

mem8, immS

EA+ 15+2W+2n
[EA+12+W+2n]
EA+ 15+2W+2n
[EA+ 12+ W+ 2n]

mem16, immS
ROL4

regS
mem8

17
EA+20+2W [EA+1S+2W]

ROLC

Same as ROL

ROR

Same as ROL

NEe

pPD70335 (V35 Plus)

Instruction Clock Count (cont)
Mnemonic

Operand

Clocks

Mnemonic

Operand

Clocks

ROR4

reg8
mem8

21
EA+26+2W [EA+24+2W]

TEST1

reg8, CL
reg16, CL

7
7

mem8, CL
mem16, CL

EA+12+W
EA+12+W

reg8, imm3
reg16, imm4

6
6

mem8, imm3
mem16, imm4

EA+9+W
EA+9+W

Same as ROL

RORe
SET1

CY
DIR

2
2

reg8, CL
reg16, CL

7
7

mem8, CL
mem16, CL

EA+15+2W [EA+12+W]
EA+ 15+ 2W [EA+ 12+ W]

reg8, imm3
reg16, imm4

6
6

mem8, imm3
mem16, imm4

EA+12+2W [EA+9+W]
EA+ 12+2W [EA+9+ W]

SHL

Same as ROL

SHR

Same as ROL

SHRA

Same as ROL

SS:

2

STM

mem8
mem16

13+W[10]
13+W (10]

STMB

n> 1

16+ (9+ W)n [16+ (7+ W)n]

STMW

n> 1

TRANS

11+W

TRANSB

11+W

TSKSW

20

XCH

XOR

reg8, reg8
reg16, reg16

3
3

mem8, reg8/
reg8, mem8

EA+12+2W [EA+9+W]

mem16, reg16/
reg16, mem16

EA+ 12+2W [EA+9+2W]

AW, reg16
reg16, AW

4
4

m

Same as AND

16+ (9+ W)n [16+ (5+ W)n]

Notes:

STOP

N/A

SUB

Same as ADD

SUB4S

22+ (30+3W)n
[22+ (28+3W)n]

(1) If the number of clocks is not the same for RAM enabled and RAM
disabled conditions, the RAM enabled value ,is listed first,
followed by the RAM disabled value in brackets; for example,
EA+8+2W [EA+6+W]

SUBC

Same as ADD

TEST

reg8, reg8
reg16, reg16

4
4

reg8, mem8
reg16, mem16

EA+12+W
EA+11+2W

mem8, reg8
mem16, reg16

EA+12+W
EA+11+2W

reg8, imm8
reg16, imm16

7
8

mem8, imm8
mem16, imm16

EA+9+W
EA+10+W

AL, imm8
AW, imm16

5

(2) Symbols in the Clocks column are defined as follows.
EA
additional clock cycles required for calculation of the
effective address
3 (mod 00 or 01) or 4 (mod 10)
W
number of wait states selected by the WTC register
n
number of iterations or string instructions

6

51

NEe

,.,PD70335 (V35 Plus)

Instruction Clock Count for Operations
Word

Byte
RAM Enable

RAM Disable

RAM Enable

RAM Disable

Context switch interrupt

27

27

DMA (Single-step mode)

9.5+2W

15.5+4W

15.5+4W

DMA (Demand release mode)

(3+W)n

(3+W)n

(3+W),n

(3+W)n

3.5+ (6+2W)n

3.5+ (6+ 2W)n

9.5+2W+ (6+2W)n

9.5+2W+ (6+2W)n

3+W

3+W

DMA (Burst mode)
DMA (Single-transfer mode)

9.5+2W

Interrupt (INT pin)

3+W

3+W

57+3W

57+3W

Macro service, sfr .... mem

25+W

20+W

25+W

20+W

Macro service, mem .... sfr

22+W

21+W

22+W

21+W

Macro service (Search char mode), sfr ..... mem

28+W

28+W

Macro service (Search char mode), mem

38+W

35+W

Priority interrupt (Vectored mode)

55+5W

55+5W

NMI (Vectored mode)

53+5W

53+5W

+-

sfr

W = number of wait states inserted into external bus cycle
n = number of iterations

Interrupt Latency

Bus Controller Latency

Clocks

Clocks
Latnecy

Mode

Max

Source

Typ

Max

Hold request

Refresh active

9+3W

NMI pin

18+N

18+N

Intack active

10+2W

INT pin

8+N

8+N

No refresh or intack

7+2W

All others (Note 3)

11+N

27+N

DMA request
(Notes 1, 2)

Typ

Burst

4

9.5+2W

Single-step

4

15.5+2W

Demand release

4

10+2W

Single-transfer

4

10+2W

Notes:
(1) The listed DMA latency times are the maximum number of clocks
when a DMA request is asserted until DMAAK or MREQ goes low
in the corresponding DMA cycle.
(2) The test conditions are: no wait states, no interrupts, no macroservice requests, and no hold requests.
(3) An additional 6 clocks is required to latch an external INTPn
interrupt input.

52

N = number of clocks to complete the instruction
currently executing

NEe

pPD7033S (V3S Plus)

Instruction Set
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

0

0

0

Bytes

W

2

W

2-4

W

2-4

W

3-6

AC

CY

Flags
V P

S

Z

Data Transfer
MOV

reg, reg

reg +- reg

0

0

reg
mem,reg

(mem) +- reg

0

0

mod
reg,mem

reg +- (mem)

mem,imm

(mem) +- imm

0

0

0

0

0

0

0

0

0

0

0

0

mem

reg

mem

reg,imm

reg +- imm

0

acc,dmem

When W = 0: AL +- (dmem)
WhenW = 1 :AH +- (dmem + 1),
AL +- (dmem)

0

0

0

W
0

dmem,acc

WhenW = O:(dmem) +- AL
WhenW = 1 : (dmem + 1) +- AH,
(dmem) +- AL

0

0

0

0

sreg, reg16

sreg +- reg16 sreg: SS, OSO, OS1

0

sreg,mem16

sreg +- (mem16) sreg : SS, OSO, OS1

0

0

mod

0

0

0

0

reg16 +- sreg

mem16,sreg

(mem16) +- sreg

0

0

mod

0

OSO, reg16,
mem32

reg16 +- (mem32),
OSO +- (mem32 + 2)

OS1,reg16,
mem32

reg16 +- (mem32),
OS1 +- (mem32 + 2)

AH,PSW

AH +- S, Z, x, AC, x, P, x, CY

0

0
mod
0
mod

sreg

mem

0

0
sreg

reg

sreg

mem

0

0

0

0

S,.z, x, AC, x, P, x, CY +- AH

0

0

reg16 +- mem16

0

0

TRANS

src-table

AL +- (8W + AL)

XCH

reg, reg

reg

mod

0

~reg

(mem)

AW,reg16
or reg16,AW

AW~reg16

0

2

0

2-4

0

2

0

2-4

1m

2-4

0

0

0

2-4

0

0

x

x

x

mem
0

0

0

0

W

2

W

2-4

reg
0
mem

reg
0

x
2-4

0

reg

mod
0

3

0
0

0

0

W

mem

reg
mem,reg
orreg,mem

3

mem

reg

PSW,AH

0

0

W

0

reg16, mem16

reg

reg

reg

LOEA

~

sreg
0

0

2-3

reg
0

0

0

reg16,sreg

0
mem

reg

mod

mod

reg

0

reg

53

NEe

pPD70335 (V3S Plus)

Instruction Set (cont)
Mnemonic Operand

6

Operation Code
5 4
3 2

Flags

Operation

7

REPC

While CW ;00 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1).
If there is a waiting interrupt, it is
processed, When CV ;00 1, exit the loop.

0

0

0

0

REPNC

While CW ;00 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1).
If there is a waiting interrupt, it is
processed. When CY ;00 0, exit the loop.

0

0

0

0

REP
REPE
REPZ

While CW ;00 0, the next byte ofthe
primitive block transfer instruction is
executed and CW is decremented (-1 ).
Ifthere is a waiting interrupt, it is
processed. Ifthe primitive block transfer
instruction is CMPBK or CMPM and
Z;oo 1, exitthe loop.

0

0

REPNE
REPNZ

While CW ;00 0, the next byte of the
primitive block transfer instruction is
executed and CW is decremented (-1).
Ifthere is a waiting interrupt, it is
processed.lfthe primitive block transfer
instruction is CMPBK or CMPM and
Z;oo 0, exit the loop.

0

0

AC

CV

V

P

S

"z

W

x

x

x

x

x

x

W

x

'x

x

x

x

x

0

Bytes

Repeat Prefixes

0

0

Primitive Block Transfer
MOVBK

dst-block,
src-block

When W = 0: (IY) +- (IX)
DIR = 0: IX +- IX + 1, IY +- IV + 1
DIR = 1: IX +- IX:-1, IY +- IY-1
When W = 1: (IY + 1, IY) +- (IX + 1, IX)
DIR = 0: IX +- IX + 2, IY +- IY + 2
DIR = 1: IX +- IX-2, IY +- IY-2

0

0

0

CMPBK

src-block,
dst-block

Wt"\enW = O:(IX)-(IY)
DIR = 0: IX +- IX + 1, IY +- IY + 1
DI R = 1: IX +- IX -1 , IY +- IY-1
WhenW= 1:(IX+ 1, IX)-(IV+ 1, IY)
DIR = 0: IX +- IX + 2, IY +- IY + 2
DIR = 1: IX +- IX-2, IV +- IY-2

0

0

0

CMPM

dst-block

WhenW= O:AL-(IY)
DIR = 0: IY +- IY + 1 ; DIR = 1: IY +- IY-1
WhenW= 1:AW-(IY + 1, IY)
DIR =0: IY +-IY + 2;DIR= 1: IY +-IY-2

0

0

LDM

src-block

When W = 0: AL +- (IX)
DIR=O:IX +-IX+ 1 ;DIR= 1:IX +-IX-1
WhenW = 1:AW +- (IX + 1, IX)
DIR =O:IX +-IX + 2;DIR= 1:IX +-IX-2

0

0

STM

dst-block

When W = 0: (IY) +- AL
DIR =0: IY +- IY + 1 ;DIR= 1: IY +-IY-1
WhenW= 1:(IY+ 1, IY) +- AW
DIR =0: IY +-IY + 2;DIR = 1 :IY +-IY-2

0

0

54

0

0

0

W

W

W

NEe

pPD70335 (V35 Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Flags

0

Bytes

AC

CY

V

P

S

Z

Bit Field Transfer
INS

reg8, reg8

16-bitfield

~

AW

3

0
0

0

reg
reg8,imm4

EXT

reg8, reg8

16-bitfield

AW

~

~

AW

16-bitfield

0

reg

4

0
0

0

0

0

0

0

AW

~

16-bitfield

3
0

0

0
reg

0

reg
reg8,imm4

0

reg

4

0
0

0

0

0

reg

0

0

W

0

W

1m

I/O
IN

OUT

acc, imm8

When W = 0: AL ~ (imm8)
WhenW= 1:AH ~ (imm8 + 1),
AL ~ (imm8)

0

acc,OW

When W = 0: AL ~ (OW)
WhenW = 1 :AH ~ (OW + 1),
AL ~ (OW)

0

imm8,acc

When W = 0: (imm8) ~ AL
WhenW = 1: (imm8 + 1) ~ AH,
(imm8) ~ AL

0

OW,acc

When W = 0: (OW) ~ AL
WhenW = 1:(OW+ 1) ~ AH,
(OW) ~ AL

0

W

0

2

2

W

Primitive Block I/O Transfer
INM

dst-block, OW

When W = 0: (IY) ~ (OW)
OIR = 0: IY f- IY + 1
OIR = 1: IY ~ IY-1
When W = 1: (IY + 1, IY) ~
(OW+ 1,OW)
OIR = 0: IY ~ IY + 2
OIR = 1:IY ~ IY-2

0

0

OUTM

OW, src-block

When W = 0: (OW) ~ (IX)
OIR = 0: IX ~ IX + 1
OIR = 1: IX ~ IX-1
When W = 1: (OW + 1, OW)
(IX+ 1,IX)
OIR = 0: IX ~ IX + 2
OIR = 1: IX ~ IX - 2

0

0

0

W

W

~

55

NEe

pPD70335 (V35 Plus)
Instruction Set (cont)
Operation Code
Mnemonic Operand

Operation

7

6

5

4

3

2

reg +- reg + reg

o

0

0

0

o

0

o

Bytes

W

2

W

2-4

W

AC

CY

Flags
V P

S

Z

Addition I Subtraction
ADD

reg, reg

reg
mem, reg

(mem) +- (mem)

+ reg

o

0

0

mod
reg,mem

reg +- reg + (mem) .

o

0

reg +- reg + irrim

0

AD DC

0

000

(mem) +- (mem) + imm

0

000
mod

0

0

0

0

ace, imm

WhenW = O:AL +- AL + imm
When W = 1: AW +- AW + imm

o

reg, reg

reg +- reg + reg + CY

000

0

0

o

(mem) +- (mem)

+ reg + CY

mod
reg, mem

reg +- reg + (mem) + CY

o
o
o
o
o

0

mod
reg,imm

reg +- reg + imm + CY

o

0

0

mem,imm

(mem) +- (mem)

+ imm + CY

000
mod

SUB

0

aec,imm

When W = 0: AL +- AL + imm + CY
When W = 1: AW +- AW + imm + CY

000

reg, reg

reg +- reg - reg

o

reg,mem

(mem) +- (mem) - reg

reg +- reg - (mem)

o

reg

o

o

0

mod
reg,imm

0

o
o
o
o
o

0

o

(mem) +- (mem) - imm

0

0

SUBC

= O:AL +- AL - imm
= 1: AW +- 9 or AC = 1 :
AL ~ AL + 6, AH ~ AH + 1 ,AC ~ 1,
CY ~ AC,AL ~ ALANDOFH

0

0

ADJ4A

When (AL AND OFH) > 9 or AC = 1 :
AL ~ AL + 6, CY ~ CY OR AC, AC ~ 1,
WhenAL>9FH,orCY= 1:
AL ~ AL + 60H, CY ~ 1

0

0

ADJBS

When (AL AND OFH) > 9 or AC = 1 :
CY ~ AC, AL ~ AL AND OFH

0

0

ADJ4S

When (AL AND OFH) > 9 or AC = 1 :
AL ~ AL - 6, CY ~ CY OR AC, AC
. WhenAI,.>9FH,orCY= 1:
AL ~ AL + 60H, CY ~ 1

0

0

~

0

0

0

x

x

0

x

u

u

u

u

x

x

x

x

x

x

u

u

u

x

x

u

x

x

1,

57

NEe

pPD70335 (V3S Plus)

Instruction Set (cant)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

V

P

S

Z

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

u

u

0

Bytes

AC

0

2

W

2-4

x
0

2

x

W

2-4

x

CY

Increment I Decrement
INC

reg8

mem

OEC

reg8 +- reg8

+1

(mem) +- (mem)

reg16 +- reg16

reg8 +- reg8 - 1

0

0

reg

mod

0

0

0

mem

0

0

0

0

reg

+1

+1

reg16
reg8

0

0
mem

reg16

reg

0

(mem) +- (mem) - 1

reg16 +- reg16 - 1

mod

0

0

mem

0

0

0

reg

x

x

x

Multiplication
MULU

reg8

mem8

reg16

mem16

MUL

reg8

mem8

reg16

mem16

58

AW +- AL x reg8
AH = 0: CY +- 0, V+-~
AH ~ 0: CY +- 1, V+-1
AW +- ALx (mem8)
AH = O:CY +- 0, V+-~
AH ~ 0: CY +- 1, V+-1

0
0

0

0

x

x

0

2-4

x

x

2

x

x

0

2-4

x

x

0
0

0

0

reg16,
mem16,
imm8

reg16 +- (mem16)ximm8
Product,;; 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V+-1

0

reg16,
reg16,
imm16

reg16 +- reg16 x imm16
Product,;; 16bits:CY +- 0, V+-~
Product> 16 bits: CY +- 1, V+-1

0

reg16,
mem16,
imm16

reg16 +- (mem16) x imm16
Product,;; 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V+-1

0

0

mod

reg

0

0

u

x

x

u

u

u

0

2-4

u

x

x

u

u

u

2

u

x

x

u

2-4

u

x

x

u

u

u

3

u

x

x

u

u

u

3-5

u

x

x

u

u

u

4

u

x

u

4-6

u

x

u

u

reg
0

reg
0

2

mem

reg

mod

0

reg
0

reg16 +- reg16ximm8
Product,;; 16 bits: CY +- 0, V+-~
Product> 16 bits: CY +- 1, V+-1

u

mem

0

reg16,
reg16,
imm8

u

reg
0

0

u

mem

0
0

mod

u

reg

0

mod

u

mem

0
mod

OW,AW +- AWxreg16
OW = AW sign expansion: CY +- 0, V+-~
OW ~ AW sign expansion: CY +- 1, V+-1
OW, AW +- AW x (mem16)
OW = AW sign expansion: CY +- 0, V+-~
OW ~ AW sign expansion: CY +- 1, V+-1

0

2

0

AW +- AL x reg8
AH = AL sign expansion: CY +- 0, V+-O
AH ~ AL sign expansion: CY +- 1, V+-1
AW +- AL x (mem8)
AH = AL sign expansion: CY +- 0, V+-O
AH ~ AL sign expansion: CY +- 1, V+-1

0

0
reg

0
mod

OW,AW +- AWxreg16
OW = 0: CY +- 0, V+-O
OW~O:CY +-1,V +-1
OW, AW +- AW x (mem16)
OW = 0: CY +- 0, V+-O
OW~O:CY +-1,V +-1

0

mem
0

reg

0

u

reg
0

0
mem

x

u

u

NEe

pPD70335 (V35 Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

0

Bytes

AC

CY

V

P

S

Z

Unsigned Division
DIVU

regS

memS

reg16

mem16

temp +- AW
When temp -0- regS> FFH:
(SP-1, SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % regS, AL +- temp -0- reg8

°
°

°

2

u

u

reg

temp +- AW
When temp -0- (memS) > FFH:
mod
(SP-1, SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp% (memS), AL +- temp -0- (memS)

°
°

°

2-4

u

u

u

mem

temp +- AW
When temp -0- reg16 > FFFFH:
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % reg16, AL +- temp -0- reg16

°
°

u

u

reg

temp +- AW
When temp -7 (mem16) > FFFFH:
mod
(SP-1, SP-2) +- PSW,
(SP-3,SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All othertimes:
AH +- temp%(mem16),AL +- temp -7 (mem16)

°
°

mem

temp +- AW
When temp -0- regS> and temp -0- regS
> 7FH ortemp -7 regS < and
temp -7 regS < 0- 7FH -1 :
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AH +- temp % regS, AL +- temp -0- regS

°°

°

°

2

u

reg

temp +- AW
When temp -7 (memS) > and (memS) >
mod
7 FH or temp -7 (memS) < and
temp -7 (memS) < 0-7FH -1:
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0, PS +- (3,2), PC +- (1,0)
All other times:
AI-! +- temp % (memS), AL +- temp -7 (mem8)

°

°

2-4

u

mem

u

2

u

u

1m
2-4

u

u

u

Signed Division
DIV

regS

memS

°°

u

u

59

NEe

pPD70335 (V35 Plus)
Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

0

Bytes

AC

2

u

2-4

u

CY

Flags
V P

S

Z

u

u

u

u

x

x

x

u

x

x

x

x

x

x

Signed Division (cont)
OIV

reg16

mem16

temp ~ OW,AW
When temp -;- reg16 > 0 and reg16
> 7FFFH ortemp -;- reg16 <
0-7FFFH-1:
(SP-1,SP-2) ~ PSW,
(SP-3,SP-4) ~ PS,
(SP-5, SP-6) ~ PC, SP ~ SP-6,
IE ~ 0, BRK ~ 0, PS ~ (3,2), PC ~ (1,0)
All other times:
AH ~ temp % reg16, AL ~ temp -;- reg16

0

temp ~ OW,AW
When temp -;- (mem16) > 0 and (mem16)
mod
> 7 FFFH ortemp -;- (mem16) < 0 and
temp -;- (mem16) < 0-7FFFH-1:
(SP-1,SP-2) ~ PSW,
(SP-3, SP-4) ~ PS,
(SP-5, SP-6) ~ PC, SP ~ SP-6,
IE ~ 0, BRK ~ 0, PS ~ (3,2), PC ~ (1,0)
All other times:
AH ~ temp%(mem16),AL ~ temp -;- (mem16)

0

u

u

reg

u

mem

Data Conversion
AH

CVTBO

CVTOB

AH

~

~

AL -;- OAH, AL

0, AL

~

~

AL % OAH

AH x OAH

0
0

0

0

0

0

0

+ AL

0
0

0

0
0
0

0
0

0

u

2

0

0

2
0

CVTBW

When AL < 80H: AH ~ 0
All other times: AH ~ FFH

0

0

0

0

CVTWL

When AL < 8000H: OW ~ 0
All other times: OW ~ FFFFH

0

0

0

0

0

Comparison
CMP

reg, reg

reg-reg

0

0

0
reg

mem,reg

(mem)-reg

0

0

0

mod
reg,mem

reg-(mem)

0

reg,imm

reg-imm

0

0

0

0
reg
0

0

2

W

2-4

x

x

x

x

W

2-4

x

x

x

x

W

3-4

x

x

x

x

x

x

W

3-6

x

x

x

x

x

x

W

2-3

x

x

x

x

x

x

x

x

mem

reg

mod

W
reg

x

mem
0

0

S
reg

mem,imm

(mem)-imm

0
mod

acc,imm

60

WhenW = O:AL-imm
WhenW= 1:AW-imm

0

0

0

0

0

0

S
mem
0

NEe

pPD70335 (V35 Plus)

Instruction Set (cant)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags

V

P

5

Z

x

x

x

x

x

x

x

x

0

0

x

x

0

0

x

0

0

x

u

0

0

x

x

2-3

u

0

0

x

x

W

2

u

0

0

x

x

W

2-4

0

0

x

x

W

2-4

0

0

x

x

W

3-4

0

0

W

3-6

u

0

0

W

2-3

u

0

0

0

Bytes

W

2

W

2-4

W

2

W

2-4

W

2

W

2-4

W

3-4

W

3-6

W

AC

CY

Complement
NOT

reg

mem

reg +- reg

0

reg

0

0

0

(mem) +- (mem)

reg

0
mod

NEG

0

reg +- reg + 1

0

mem
1.

0
mem

reg

(mem) +- (mem) + 1

0
mod

0

0

0

mem

Logical Operation
TEST

reg, reg

reg AND reg

0

0

0

reg
mem,reg
or reg, mem

(mem) AND reg

reg,imm

regANDimm

mem,imm

0

0

0

0

0

0

(mem) AND imm

ace, imm

When W = 0: AL AND imm8
When W = 1: AW AND imm8

reg, reg

reg +- reg AND reg

0

0

reg

0

reg

0

0
0

0

0
0

(mem) +- (mem) AND reg

0

0

0

mod
reg,mem

reg +- reg AND (mem)

0

0

0

reg,imm

mem,imm

reg +- reg AND imm

0

(mem) +- (mem) AND imm

0
mod

ace, imm

When W = 0: AL +- AL AND imm8
When W = 1: AW +- AW AND imm16

0

a

0

0

0

0
mem

0

0

reg
0

xII

reg

reg

mod

0

0

reg
mem,reg

x

mem

0

0

0

u

mem
0

mod

AND

0

mod

x

reg

u

mem

0

0

0

0

0

0

0

0

0

0

mem

0

0

0

x

reg
0

0

x

x
x

61

NEe

pPD70335 (V35 Plus)

Instruction Set (cont)
Operation Code
Mnemonic Operand

Operation

7

6

5

4

reg +- reg OR reg

o

0

0

0

3

2

Flags
V P

S

Z

0

x

x

x

o

0

x

x

x

2-4

o

0

x

x

x

W

3-4

o

0

x

x

W

3-6

o

0

x

2-3

o

0

x

W

2

o

0

x

x

W

2-4

o

0

x

x

W

2-4

o

0

x

W

3-4

o

0

x

W

3-6

o

0

x

x

2-3

o

0

x

x

x

3

o

0

u

u

x

o

Bytes

AC

CY

W

2

u

o

W

2-4

W

Logical Operation (cont)
OR

reg, reg

o

reg
mem,reg

(mem) +- (mem) OR reg

o

0

0

mod
reg,mem

reg +- reg OR (mem)

o

0

0

o
mem,imm

XOR

o

(mem) +- (mem) OR imm

0

0

0

0

0

When W = 0: AL +- AL OR imm8
When W = 1: AW +- AW OR imm16

o

0

reg, reg

reg +- reg XOR reg

o

0

mem

o

0

o

0

(mem) +- (mem) XOR reg

o

o W
o

reg,mem

reg +- reg XOR (mem)

o

0

reg,imm

0

000

mem,imm

(mem) +- (mem) XOR imm

ace, imm

When W = 0: AL +- AL XOR imm8
When W = 1: AW +- AW XOR imm16

o

0

reg 8 bit no. CL = 0: Z +- 1
reg8 bit no. CL = 1 : Z +- 0

o

0

(mem8) bit no. CL = 0: Z +- 1
(mem8) bit no. CL = 1: Z +- 0

o
o

reg16 bit no. CL = 0: Z +- 1
reg16bitno.CL = 1:Z +- 0

0

mod

u

mem

reg
0

0
mem

o

0

o

reg +- reg XOR imm

0

reg

mod

x

reg

o

0

mod

0
mem

reg
mem, reg

0
reg

0

0

acc,imm

o

0

mod

0
mem

reg

000

reg +- reg OR imm

o

0
reg

mod
reg,imm

reg

o
o
o
o
o

0

o
o

0

o
o

0

0

x

reg
0

0
mem

o W

Bit Operation
TEST1

reg8, CL

mem8,CL

reg16,CL

mem16,CL

reg8, imm3

(l11em16) bit no. CL = 0: Z +- 1
(mem16) bit no. CL = 1: Z +- 0

reg8 bit no. imm3 = 0: Z +- 1
reg8 bit no. imm3 = 1 : Z +- 0

0

o

0

0

0

0

0

0

mod

0

0

o

0

0

0

000

o
o

0

0

0

0

0

reg

0

3-5

u

o

0

u

u

3

u

o

0

u

u

o

0

o

0

0

mem
x

o

reg
3-5

x

000

0

0

mod

0

0

o

0

0

0

0

000

o

o

mem
4

o

000

o
62

0

000

0

o

0
reg

0

u

u

x

NEe

pPD7Q335 (V3S Plus)

Instruction Set (cant)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

(mem8) bit no. imm3 = 0: Z +- 1
(mem8) bit no. imm3 = 1: Z +- 0

0

0

0

0

0

0

mod

0

0

reg16 bit no. imm4 = 0: Z +- 1
reg16 bit no. imm4 = 1: Z +- 0

0

0

0

0

0

0

0

0

Bytes

AC

CY

Flags
V
P

5

Z

Bit Operation (cont)
TEST1

mem8,imm3

reg16,imm4

mem16,imm4

NOT1

reg8, CL

mem8,CL

reg16, CL

mem16,CL

reg8, imm3

mem8,imm3

reg16, imm4

mem16,imm4

(mem16) bit no. imm4 = 0: Z +- 1
(mem16) bit no. imm4 = 1: Z +- 0

reg8 bit no. CL +- reg8 bit no. CL

(mem8) bit no. CL +- (mem8) bit no. CL

reg16 bit no. CL +- reg16 bit no. CL

(mem16) bit no. CL +- (mem16) bit no. CL

0

0

0

0

0

0

0

0

mod

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mod

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

0

u

u

x

4

0

0

u

u

x

4-6

0

0

x

0
mem
3

,
0

1

0

reg

0

III

3-5

0

0
mem
3

0

reg
3-5

0

0

0

0

0

0

0

0
0

0

(mem8) bit no. imm3 +- (mem8) bit no. imm3 0

0

0

0

0

0

0

0

mem

4
0
0

reg
4-6
0

mod

0

0

0

0

0

0

0

0

0
0

0

(mem16)bitno.imm4 +- (mem16)bitno.imm4 0

0

0

0

0

0

0
0

0

0

0

CY +- CY

0

0

0

mod

reg16 bit no. imm4 +- reg16 bit no. imm4

4-6
0

reg

0

0

reg8 bit no. imm3 +- reg8 bit no. imm3

0

0

0
mem

0

0

0

mod
CY

0

0

0

mem
4

0

reg
4-6

0

mem

0

0

x

63

NEe

pPD7033S (V3S Plus)
Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mod

0

0
0

0

Bytes

AC

CY

Bit Operation (cont)
CLR1

reg8,CL

mem8,CL

reg16,CL

mem16,CL

reg8,imm3

mem8,imm3

reg16,imm4

mem16,imm4

SET1

reg16bitno. CL

~

~

reg8 bit no. imm3

0

0

~

~

~

~

reg16 bit no. imm4

0

0

(mem8) bit no. imm3

DIR

reg8,CL

reg8 bit no. CL

0

0

~

(mem16) bit no. imm4

DIR

mem16,CL

0

(mem16) bit no. CL

CY~O

reg16,CL

~

(mem8) bit no. CL

CY

mem8,CL

64

reg8 bit no. CL

0

0

3
0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

3-5

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mem
3
0

0

reg
3-5

0

mod

0
mem

0

4

0

reg
4-6
0

mod

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mod

0

0

(mem8) bit no. CL

reg16 bit no. CL

~

~

(mem16) bit no. CL

1

1

~

1

0
mem
4

0
reg

0

4-6
0

0

0

mem
0

0

0

0

0

0

0

0

reg

0

0

0

mem

0

0

0

reg

0

0

0

mem

~O

1

0

0

0

~

0

0

0

0

0

reg

0

0

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

0

mod

0

0

0

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

mod

0

0

0

3

3-5
0

3

3-5

Flags
V P

S

Z

NEe

pPD70335 (V35 Plus)

Instruction Set (cont)
Mnemonic Operand

6

Operation Code
5 4
3 2

0

0

0

0

0

0
0

0

0

0

0

0

0

0

Operation

7

regS bit no. imm3 +- 1

Flags

0

Bytes

AC

CY

V

P

S

Z

Bit Operation (cont)
SET1

regS,imm3

memS,imm3

(memS) bit no. imm3 +- 1

0

reg16, imm4

mem16,imm4

reg16 bit no. imm4 +- 1

(mem16) bit no. imm4 +- 1

0

0

0

0

0

0

0

0

O· 0

0
0
0

0

0

0

0

mod

0

CY

CY +-1

DIR

DIR +- 1

reg, 1

CY +- MSB of reg, reg +- reg x 2
When MSB of reg ~ CY, V+-1
When MSB of reg = CY, V+-O

0

CY +- MSB of (mem), (mem) +- (mem) x 2
When MSB of (mem) ~ CY, V+-1
When MSB of (mem) = CY, V+- 0

0

0

reg
4-6

0

0

mem

0

0
0

0

0

mod

0

4

.1

0

reg
4-6
0

0

0

mem
0

1m

0
0

Shift
SHL

mem, 1

reg,CL

mem,CL

reg, immS

mem,immS

mod

temp +- CL, whiletemp~ 0,
repeat this operation, CY +- MSB of reg,
reg +- reg x 2, temp +- temp-1
temp +- CL, while temp ~ 0,
repeat this operation, CY +- MSBof(mem),
(mem) +- (mem)x2, temp +- temp-1

0
0

1.

0
0

0

0

0

0

0

0
mod

temp +- immS, while temp ~ 0,
repeat this operation, CY +- MSB of reg,
reg +- reg x 2, temp +- temp-1

0

temp +- immS, while temp ~ 0,
repeatthis operation, CY +- MSB of (mem),
mod
(mem) +- (mem)x2, temp +- temp-1

0

0

0

0
0

0

0

0

0

0

0

0

0

0

0

W

x

x

x

x

x

reg
0

0

W

2-4

x

x

mem
0

u

W

x

reg
0

W

2-4

u

W

3

u

x

W

3·5

u

x

x

x

x

mem
0

0
reg

{)

0

x

mem

65

NEe

IIPD70335 (V35 Plus)
Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags
V
P

S

z

x

x

x

x

x

x

x

x

x

x

x

0

Bytes

AC

CY

W

2

u

x

W

2-4

u

W

2

u

W

2-4

u

W

3

u

W

3-5

u

W

2

u

x

0

W

2-4

u

x

0

W

2

u

x

x

x

x

W

2-4

u

x

x

x

x

W

3

u

u

x

x

x

W

3-5

u

x

u

x

x

x

W

2

x

x

W

2-4

Shift (cont)
SHR

reg, 1

mem, 1

reg,CL

mem,CL

reg,imm8

mem,imm8

SHRA

reg, 1

mem,1

reg,CL

mem,CL

reg,imm8

mem,imm8

CY ... LSB of reg, reg ... reg -:- 2
When MSB of reg ;c bit following MSB
ofreg:V ... 1
When MSB of reg = bit following MSB
of reg: V ... 0
CY ... LSBof(mem), (mem) ... (mem) -:- 2
When MSB of (mem) ;c bit following MSB
of(mem):V ... 1
When MSB of (mem) = bit following MSB
of(mem):V ... 0

0

0

0

0
mem

0

0

0

0

0

x

u

x

x

x

u

x

x

x

x

x

reg
0

0

0
mem

0

mod

u

reg

0

0

0

0
reg

0

0

0

0

0

0

0

reg, 1

mem,1

0

0

0

mod

mem

0

0

0

0

0
reg

0

0

0

0

mod

66

CY ... MSBofreg, reg ... regx2 + CY
MSBofreg;c CY:V ... 1
MSB of reg = CY:V ... 0
CY ... MSB of (mem),
(mem) ... (mem) x 2 + CY
MSBof(mem);c CY:V ... 1
MSBof(mem) = CY:V ... 0

x

reg

0
mem

Rotation
ROL

x

mem

mod

temp ... imm8, while temp ;c 0,
repeat this operation, CY ... LSB of reg,
reg ... reg -:- 2, temp ... temp-1
MSB of operand does not change
temp ... imm8, whiletemp;c 0,
repeatthisoperation,CY ... LSBof(mem),
(mem) ... (mem) -:- 2, temp ... temp-1
MSB of operand does not change

0

0
0

temp ... CL, while temp ;c 0,
repeatthis operation, CY ... LSB of reg,
reg ... reg -:- 2, temp ... temp-1
MSB of operand does not change
temp ... CL, while temp ;c 0,
repeatthisoperation,CY ... LSBof(mem),
(mem) ... (mem) -:- 2, temp ... temp-1
MSB of operand does not change

0

0
mod

0
mem

0

CY ... LSB of reg, reg ... reg -:- 2, V ... 0
MSB of operand does not change
CY ... LSB of (mem), (mem) ... (mem) -:- 2,
V ... 0, MSB of operand does not change

0

0

0

0
reg

0

0
mod

temp ... imm8, while temp ;c 0,
repeat this operation, CY ... LSB of reg,
reg ... reg -:- 2, temp ... temp-1
temp ... imm8, while temp ;c 0,
repeat this operation, CY ... LSB of (mem),
(mem) ... (mem) -:- 2, temp ... temp-1

0

0

temp ... CL, while temp ;c 0,
repeatthis operation, CY ... LSB of reg,
reg ... reg -:- 2, temp ... temp-1
temp ... CL, whiletemp;c 0,
repeatthisoperation, CY ... LSBof(mem),
(mem) ... (mem) -:- 2, temp ... temp-1

0

0

0

0

0
0

0
mod

0

0
0

0

0

0
reg

0
0

0
mem

x

NEe

pPD7033S (V3S Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

AC

Flags
V
P

0

Bytes

W

2

W

2-4

u

W

3

u

W

3-5

CY

S

Z

Rotation (cont)
ROL

reg,CL

mem,CL

reg,imm8

mem,imm8

ROR

reg, 1

mem, 1

reg,CL

mem,CL

reg,imm8

mem,imm8

temp +- CL, whiletemp;lO 0,
repeat this operation, CY +- MSB of reg,
reg +- reg x 2 + CY,
temp +- temp-1

0
0

temp +- CL, while temp ;10 0,
repeat this operation, CY +- MSB of (mem),
mod
(mem) +- (mem) x 2 + CY,
temp +- temp-1
temp +- imm8, while temp ;10 0,
repeatthis operation, CY +- MSB of reg,
reg +- regx2 + CY,
temp +- temp-1
temp +- imm8, while temp ;10 0,
repeatthis operation, CY +- MSB of (mem),
(mem) +- (mem) x 2 + CY,
temp +- temp-1

mod

CY +- LSB of reg, reg +- reg -;.. 2,
MSB of reg +- CY
MSB of reg ;10 bitfollowing
MSBofreg:V +-1
MSB of reg = bit following
MSBofreg:V +- 0
CY +- LSB of (mem), (mem) +- (mem) -;.. 2,
MSBof(mem) +- CY,
MSB of (mem) ;10 bitfollowing
MSBof(mem):V +- 1
MSB of (mem) = bit following
MSBof(mem):V +- 0

0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

mod

0

mem

0

0

0

0

0

0

0

0

x

u

W

1m

x

0

W

2-4

x

x

W

2

x

u

W

2-4

x

W

3

u

W

3-5

u

reg

0

0

0

0

0
mem

0

0

0
mem

mem

0

0

0
reg

0

0

u

reg

0

0
mod

0

0

0

x

reg

0

0
mod

temp +- imm8, while temp ;10 0,
repeat this operation, CY +- LSB of reg,
reg +- reg -;.. 2, MSB of reg +- CY,
temp +- temp-1
temp +- imm8, while temp ;10 0,
repeatthis operation, CY +- LSB of (mem),
(mem) +- (mem) -;.. 2,
temp +- temp-1

0

0

0

0

0

temp +- CL, while temp ;10 0,
repeat this operation, CY +- LSB of reg,
reg +- reg -;.. 2, MSB of reg +- CY,
temp +- temp-1
temp +- CL, while temp ;10 0,
repeat this operation, CY +- LSB of (mem),
(mem) +- (mem) -;.. 2, MSB of (mem) +- CY,
temp +- temp-1

0
0

0

0

0
reg

0

0

0
mem

67

NE€
.

pPD7033S (V3S Plus)

...• . . ! . ":(;;' ..

Instruction Set (cont)
Operation Code
Mnemonic Operand

Operation

7

6

5

4

3

2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Flags
V P

0

Bytes

W

2

W

2-4

W

2

W

2-4

W

3

u

W

3-5

u

W

2

x

W

2-4

W

2

W

2 c4

W

3

W

3-5

AC

CY

Rotate
ROLC

reg, 1

mem, 1

reg,CL

mem,CL

reg,imm8

mem,imm8

RORC

reg, 1

mem, 1

reg,CL

mem,CL

reg,imm8

mem,imm8

68

tmpcy +-CY,CY +- MSBofreg,
reg +- reg x 2 + tmpcy
MSB of reg = CY:V +- 0
MSB of reg ;.:: CY: V+-1
tmpcy +- CY, CY +- MSB of (mem),
(mem) +- (mem) x 2 + tmpcy
MSBof(mem) = CY:V +- 0
MSBof(mem);.:: CY:V +- 1

mod

temp +- CL, while temp ;.:: 0,
repeat this operation, tmpcy +- .CY,
CY +- MSB of reg, reg +- reg x 2 + tmpcy,
temp +- temp-1
temp +- CL, while temp;.:: 0,
repeat this operation, tmpcy +- CY,
CY +- MSB of (mem),
(mem) +- (mem) x 2 + tmpcy,
temp +- temp-1

mod

temp +- imm8, while temp;.:: 0,
repeat this operation, tmpcy +- CY,
CY +- MSB of reg, reg +- reg x 2 + tmpcy,
temp +- temp-1
temp +- imm8, while temp;.:: 0,
repeatthis operation, tmpcy +- CY,
CY +- MSBof(mem),
(mem) +- (mem) x 2 + tmpcy
temp +- temp - 1

0

0
. mod

tmpcy +- CY, CY +- LSBofreg,
reg +- reg -7 2, MSB of reg +- tmpcy,
MSB of reg;.:: bit following
MSBofreg:V +-1
MSB of reg = bit following
MSBofreg:V +- 0
tmpcy +- CY,CY +-LSBof(mem),
(mem) +- (mem) -7 2,
MSB of (mem) +- tmpcy,
MSB of (memj ;.:: bit following MSB
of (mem): V+-1
MSB of (mem) = bit following MSB
of(mem):V +- 0

0

0

0

0

0

0

0

0

0

0

0

0

0
mem

0

0

0

0

0

0

x

x

u

reg

0

0

x

mem

0

0

0

0

0
reg

0

0

0

mem

0

0

u

reg

0

mod

x

. mem

0

0

u

reg

reg

0

mod

0
mem

0

0
mod

temp +- imm8, while temp ;.:: 0,
repeat this operation, tmpcy +- CY,
CY +- LSBofreg, reg +- reg -7 2,
MSBofreg +- tmpcy, temp +- temp-1
temp +- imm8, while temp ;.:: 0,
repeat this operation, tmpcy +- CY,
CY +- LSBof(mem), (mem) +- (mem) -7 2,
MSBof(mem) +- tmpcy, temp +- temp-1

0

reg

0

temp +- CL, while temp ;.:: 0,
repeatthisoperation, tmpcy +- CY,
CY +- LSB of reg, reg +- reg -7 2,
MSB of reg +- tmpcy, temp +- temp-1
temp +- CL, whiletemp;.:: 0,
repeatthisoperation, tmpcy +- CY,
CY +- LSB of (mem), (mem) +- (mem) -72,
MSB of (mem) +- tmpcy, temp +- temp-1

0

0

0

0

0

0

0
mem

u

S

z

NEe

IIPD70335 (V35 Plus)

Instruction Set (cont)
Mnemonic Operand

7

Operation

6

Operation Code
5 4
3 2

0

Bytes

0

3

AC

CY

Flags
V P

5

Z

Subroutine Control Transfer
CALL

near-proc

(SP-1,SP-2) +- PC,SP +- SP-2,
PC +- PC + disp

regptr16

(SP-1, SP-2) +- PC, SP +- SP-2,
PC +- regptr16

memptr16

(SP-1, SP-2) +- PC, SP +- SP-2,
PC +- (memptr16)

far-proc

(SP-1,SP-2) +- PS,
(SP-3, SP-4) +- PC,
SP +- SP-4, PS +- seg, PC +- offset

memptr32

(SP-1,SP-2) +- PS,
(SP-3, SP-4) +- PC,
SP +- SP-4, PS +- (memptr32 + 2),
PC +- (memptr32)

pop-value

pop-value

0

2

0

reg

mod

0

0

mem

0

0

2-4

0

0

5

2-4
mod

+ 1, SP), SP +- SP + 2

mem

0

0

0

0

0

0

0

0

PC +- (SP + 1, SP), PS +- (SP + 3, SP + 2),
SP +- SP + 4

0

0

0

PC +- (SP + 1, SP), PS +- (SP + 3, SP + 2),
SP +- SP + 4, SP +- SP + pop-value

0

0

0

PC +- (SP + 1, SP),
SP +- SP + 2, SP +- SP

0

0

0

PC +- (SP

RET

0

1,

0

3

0

3

1m

+ pop-value

Stack Manipulation
PUSH

POP

mem16

(SP-1, SP-2) +- (mem16),
SP +- SP-2

2-4
mod

reg16

(SP-1, SP-2) +- reg16, SP +- SP-2

0

sreg

(SP-1, SP-2) +- sreg, SP +- SP-2

0

PSW

(SP-1,SP-2) +- PSW,SP +- SP-2

0
0

0

0

0

R

Push registers on the stack

0

0

(SP-1,SP-2) +- imm,
SP +- SP - 2, When S = 1, sign extension

0

0

mem16

(mem16) +- (SP + 1, SP), SP +- SP

+ 1, SP), SP +- SP + 2

reg16

reg16 +- (SP

sreg

sreg +- (SP + 1, SP), sreg : SS, DSO, DS1
SP +- SP + 2

PSW

PSW +- (SP

R

Pop registers from the stack

0

0

0

mod

0

0

0
0

+ 1, SP), SP +- SP + 2

mem

0

reg

sreg

imm

+2

0

0

0

0

0

0

0

0

0

S

0

2-4
mem

0

reg

0
0

0

0

0

0

2-3

sreg
R

0
0

0

0

0

PREPARE imm16, immS

Prepare new stack frame

0

0

0

0

DISPOSE

Dispose of stack frame

0

0

0

0

0

R

R

R

R

R

4

69

pPD7033~

NEe

(V3S Plus)

Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
3 2
5 4

Flags
0

Bytes

Branch
BR

near-label

PC +- PC

+ disp

0

0

short-label

PC +- PC

+ ext-disp8

0

0

regptr16

PC +- regptr16

memptr16

3

0

2
2

0

0

reg

0

0

mem

2-4

PC +- (memptr16)
mod

far-label

P8 +- seg, PC +- offset

memptr32

P8 +- (memptr32 + 2),
PC +- (memptr32)

o.

0

0

5
2-4

mod

mem

0

Conditional Branch
BV

short-label

if V

= 1, PC

+- PC

+ ext-disp8

0

0

0

0

BNV

short-label

if V

= 0, PC

+- PC

+ ext-disp8

0

0

0

0

BC,Bl

short-label

ifCY

= 1, PC

+- PC

+ ext-disp8

0

0

0

BNC,BNl short-label

if CY

= 0, PC

+- PC

+ ext-disp8

0

0

0

BE,BZ

if Z

= 1, PC

+- PC

+ ext-disp8

0

0

0

if Z

= 0, PC

+- PC

+ ext-disp8

0

0

0

BNH

short-label

if CY OR Z

= 1 , PC+-

BH

short-label

if CY OR Z

= 0, PC

BN

short-label

if 8

= 1 , PC

0

0

+- PC

+ ext-disp8

0

0

+ ext-disp8

+- PC

0

0
0

BP

short-label

if 8

= 0, PC

+- PC

+ ext-disp8

0

0

short-label

if P

= 1 , PC

+- PC

+ ext-disp8

0

0

= 0, PC +-

+ ext-disp8

0

0

short-label

if P

short-label

if 8 XOR V

= 1, PC

+- PC

+ ext-disp8

0

0

BGE

short-label

if 8 XOR V

= 0, PC

+- PC

+ ext-disp8

0

0

BlE

short-label

if (8 XOR V) OR Z

= 1, PC

+- PC

+ ext-disp8

0

BGT

short-label

if (8 XOR V) OR Z

= 0, PC

+- PC

+ ext-disp8

0

DBNZNE

short-label

CW +- CW-1
if Z = 0 and CW

DBNZE

DBNZ

short-label

short-label

+-

PC

+ ext-disp8

CW +- CW-1
if Z = 1 and CW;o: 0, PC +- PC

+ ext-disp8

CW +- CW-1
if CW ;0: 0, PC +- PC

+ ext-disp8
+ ext-disp8

BCWZ

short-label

if CW = 0, PC +- PC

BTClR

sfr,imm3,
short-label

if bit no. imm3 of (sfr) = 1,
PC +- PC + ext-disp8,
bit no. imm3 or (sfr) +- 0

70

0

2
0

2

0

2

0

2

0

2

0

2

2

2

2

1
0, PC

2

2

BPO
BlT

;0:

0

2
0

BPE

PC

2
2

short-label

+ ext-disp8

2
2

0

BNE,BNZ short-label

PC

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

2

0

2

2

5

0
0

0

AC

CY

V

P

S

Z

NEe

pPD70335 (V35 Plus)

Instruction Set (cont)
Mnemonic Operand

7

Operation

6

Operation Code
5 4
3 2

Flags

0

Bytes

AC

CY

V

P

S

Z

R

R

R

R

R

Rm

R

R

R

R

R

R

Interrupt
BRK

3

(SP-1, SP-2) +(SP-3, SP-4) +(SP-5, SP-6) +IE +- 0, BRK +- 0,
PS +- (15,14), PC

imm8
(~3)

BRKV

PSW,
PS,
PC, SP +- SP-6,

0

0

0

(SP-1, SP-2) +- PSW,
(SP-3,SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0,
PC +- (nx4 + 1, nx4),
PS +- (n x 4 + 3, n x 4 + 2) n = imm8

0

0

0

WhenV= 1
(SP-1,SP-2) +(SP-3, SP-4) +(SP-5, SP-6) +IE +- 0, BRK +- 0,
PS +- (19, 18), PC

0

0

0

0

0

+- (13, 12)

RETRBI

PC +- Save PC, PSW +- Save PSW

reg16,
mem32

0

+- (17, 16)

PC +- (SP + 1, SP),
PS +- (SP + 3, SP + 2),
PSW +- (SP + 5, SP + 4),
SP +- SP + 6

CHKIND

2

PSW,
PS,
PC, SP +- SP-6,

RETI

FINT

0

0

Indicates that interrupt service routine
to the interrupt controller built in the
CPU has been completed

0

When (mem32) > reg16 or
(mem32 + 2) < reg16
(SP-1,SP-2) +- PSW,
(SP-3, SP-4) +- PS,
(SP-5, SP-6) +- PC, SP +- SP-6,
IE +- 0, BRK +- 0,
PS +- (23,22), PC +- (21,20)

0

0

0

0

0

0

0

0

0

2
0

0

0

0

0

0

2

0

0
reg

mod

0

0
0

2-4

mem

CPU Control
HALT

CPU Halt

STOP

CPU Halt

BUSLOCK

Bus Lock Prefix

0
0

0

0

0

0

0

FP01
(Note 1)

fp-op

0

No Operation

0

Y
fp-op,mem

data bus +- (mem)

FP02
(Note 1)

fp-op

No Operation

y

0
y

fp-op,mem

data bus +- (mem)

Y

Y

y

y

0

0

y

y

0
mod

y

0

0

y

y

0

0

0

X

X

X

Z

Z

Z

X

X

2-4

X

2

X

0
mod

0

0

2

mem

Z

Z

Z

X

2-4

mem

Notes:
(1) Does not execute but does generate an interrupt.

71

t\'EC

pPD70335 (V35 Plus)
Instruction Set (cont)
Mnemonic Operand

Operation

7

6

Operation Code
5 4
3 2

Flags
0

Bytes

AC

CY

V

P

x

x

x

x

S

z

CPU Control (cont)
'0

POLL

Poll and Wait

0

0

NOP

No Operation

0

0

01

IE +- 0

0

EI

IE +- 1

0

OSO;OS1;
PS;SS

Segment Override Prefix

0

0

0

0

0

0
0

sreg

0

Register Bank Switching
MOVSPA

BRKes

MOVSPB

reg16

reg16

0

0

0

0

0

0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

0

0

0

3

0

0

0

3
0

0
reg

TSKSW

reg16

0

3

0
0

0
reg

72

0

x

NEe

NEC Electronics Inc.

JlPD70327 (V25 Software Guard)
16-Bit Microcomputer:
Software-Secure, Single-Chip, CMOS

Description

o Internal 256-byte RAM memory

The p.PD70327 (V25 Software Guard) is a highperformance, 16-bit, single-chip microcomputer with an
a-bit external data bus. The p.PD70327 is fully software
compatible with the p.PD70108/116 (V20®/30®) as well as
the p.PD70320/330 (V25 ™/35 TM).

o 1-megabyte memory address space; 64K-byte I/O
space

The p.PD70327 allows external executable code to be
encrypted by a user-defined translation table. The
p.PD70327 will automatically decode the encrypted opcodes internally before the instructions are moved into
the instruction execution register. As a result, the
p.PD70327 offers identical performance to the standard
V25 even during security mode operation. The security
feature may be selected by hardware and/or software,
and may be switched from one state to the other under
software control.
The p.PD70327 has the same complement of internal
peripherals as the standard V25 and maintains compatibility with existing drivers. Other than the additional
mode select pin, the p.PD70327 also maintains pin compatibi lity with other members of the standard V25 family.
Note:The electrical specifications of the V25 Software
Guard and the standard V25 are the same. The instruction sets are also the same except for (BRKS and BRKN
added to control the Security and Normal operational
modes. For electrical specifications and standard instructions, refer to the ~PD70320/322 (V25) Data Sheet.

Features
o Security and normal operational modes
o System clock speeds to a MHz (16-MHz crystal)
o 16-bit CPU and internal data paths
o Functional compatibility with V25
o Software upward compatible with p.PDa086
o New and enhanced V-Series instructions
o 6-byte prefetch queue
o Two-channel on-chip DMA controller
o Minimum instruction cycle: 250 ns at a MHz

V20 and V30 are registered trademarks of NEC Corporation.
V25 and V35 are trademarks of NEC Corporation.

50185-1

o Eight internal RAM-mapped register banks
o Four multifunction I/O ports
- 8-bit analog comparator port
- 20 bidirectional port lines
- Four input-only port lines
o Two independent full-duplex serial channels
o Priority interrupt controller
- Standard vectored service
- Register bank switching
- Macroservice
o Pseudo SRAM and DRAM refresh controller
o Two 16-bit timers
o On-chip time base counter
o Programmable wait state generator

III

o Two standby modes: STOP and HALT

Ordering Information
Part Number
,uPC 70327L-8-xxx
GJ-8-xxx

Clock (MHz)

Package

8

84-pin PLCC

8

94-pin plastic QFP

·

t-{EC

.

"

pPD70327 ·(V25 Software Guard)
Pin Configurations
84-PinPLCC

PT7

P07/CLKOUT
DO

73

PT6

01

72

PT5

02

71

PT4

03

70

PT3

04

69

PT2

05

68

PT1

06

67

PTO

07

66

P17/REAOY

Ao

65

P16fSCKO

A1

64

P15 fTOU:!....-

A2

6.3

P14I1NTfPO~

A3

62

P13I1NTP2IINTAK

A4

61

P1211NTP1

A5

60

P1111NTPO

A6

59

P10/NMI

A7

58

P27/HLORO

A8

57

P26/HLOAK

A9

56

A10

55

P25~
P24/0MAAK1

54

P23/0MAR01

A11

I'~

co 01 0 .... t\I C'l
~
~
LO LO LO LO

Notes:
(1) Pin functions are Identical to jJ.P070320.
(2) All IC pins should be tied together and pulled up to V DO with a
10- to 20-k.Q resistor.

83SL-7039B

2

NEe

pPD70327 (V25 Software Guard)

94-Pin Plastic QFP

§
~

Q
O~~=~~~~MN~O~~~~MN~O~~

-1

o---t>--i

Serial
Register

l<=i

TxBO
Buffer

~

Serial
Register

~I

RxBO
Buffer

~

Transmit
Control

I
RxCO

SCKO

Channel 1
TxD1

RxD1

~

o-----t>-1

Serial
Register

l<=i

Serial
Register

~I

TxB1
Buffer

~

RxB1
Buffer

~

CTS1

RxC1

83SL·7028A

NEe

pPD70327 (V25 Software Guard)

Figure 17. Serial Communication Mode Registers
(SCM)

I

TxRDY

I

RxB

I

I

I

PRTY1 PRTYO CLTSK §LRsc3 MD1

7

I

MDO

Figure 18. Serial Communication Control
Register (SCC)

I

o

0
Transmitter Control

TxRDY

o

o

Disabled
Enabled

1
PRTY1-PRTYO

o
o

0
1
0
1

1
1
CLTSK

o

Parity Control
No parity

o parity (Note

1)

Odd parity
Even parity

Character Length (Async Mode)
Tx Shift Clock (I/O Interface Mode)
7 bits (Async)
No effect (I/O intfc)
8 bits (Async)
Trigger transmit (I/O intfc)

SLRSCK

o

Stop Bits (Async Mode)
Receiver Clock (I/O Interface Mode)
1 stop bit (Async)
Ext clock input on CTSO (I/O intfc)
2 stop bits (Async)
Int clock output on CTS1 (I/O intfc)

MD1-MDO

o

o

0
1

1

x

Mode
I/O interface (Note 2)
Asynchronous
Reserved

Notes:
(1) Parity is 0 during transmit and ignored during receive.
(2) I/O interface mode only.

(3) Channel 0 only.

o

I PRS3 I PRS2 I PRS1 I PRSo

Baud Rate Generator Input Clock Frequency

0000
0001
0010
0011
0100
0101
0110
01 11
1000

Receiver Control

RxB

o

o

PRS3-PRSO

Disabled
Enabled

1

o

7

fSCLKl2 (n = 0)
fscuq'4
fscLKl8
fscLKl16
fSCUQ32
fscLKl64
fSCUQ128
fSCUQ256
fscLKl512 (n = 8)

Figure 19. Serial Communications Error Register
(SCE)
RxDn

I

0

o

o

o

ERP

R xDn

ERF

ERO

o

7
Receive Terminal State

0, 1

Status of RxD pin

o

No error
Transmit and receive parity are different

- - - ERP
Parity Error Flag
1

ERF

o
1

ERO

o
1

Framing Error Flag
No error
Stop bit not detected

Overrun Error Flag
No error
Data is received before receive buffer outputs previous
data

DMA CONTROLLER
The #-,PD70327 has a two-channel, on-chip Direct Memory Access (DMA) controller. This allows rapid data
transfer between memory and auxiliary devices. The
DMA controller supports four modes of operation, two
for memory-to-memory transfers and two for I/O to
memory; in all cases, transfer direction is programmable.

Memory-to-Memory Transfers
In the single-step mode, a Single DMA request will
commence the alternation of one DMA cycle with one
CPU cycle until the prescribed number of transfers
(terminal count) is reached. Interrupts are accepted
while in this mode.

19

III
~

pPD70327 '. (V25.Software' .Guard)
Alternatively, ttl. the bursLmode, one' DMA req~est
causes DMA transfer cycles'to continue consecutively
until the DMA terminal count decrements to zero. Software can initiate memory-to-memory transfers.

Figure 21. ' DMA,Address Contrt)' Registers
(DMAC)

o

o

I PD1

o

PDo

o

PSo

o

7

I/O:-Jo-Memory Transfers
The single tr:ansfer· mode 'will. yield~exactly one DMA
transfer per DMA request. After the transfer, the bus is
returned to the CPU. Alternatively, in demand release
mode, the rising edge of DMARQ enable DMA cycles
which continue while the DMA 're.qI,Jest remains active.

DMA Registers
Figures 20 and 21 show the DMA mode registers (DMAM)
and the DMA address control registers (DMAC).
In i:lll modes: the TC (Terminl:!1 Count)' output pin' will
pulse low and a DMA end-of-service int~rrupt request
will be internally generated after the programmed number of transfers have been completed. The bottom of
internal RAM contains all the necessary address information for the deSignated DMA channels~ .J:he DMA
channel mnemonics are as follows. '
.
Terminal count
Source address register
Source address. register high
Destination (;!,ddressregister
Destination address'regis.ter high

TC
SAR
SARH
DAR
DARH

MD1 I MOo I .' w

'

I

lEOMA TDMAI,

0

No modification.
Increment
Decrement
No modification

11

Source Address Offset

00
01
10

No modification
Increment
Decrement
No modification

11

These control regis.ters (figure 22) are mappec;l into .the
same area of regis,ter bank 0 as the macroservice control
block registers. Thesemacroservice channels should
not be used when the DMA controller is active.
The DMA controller generates .the physical source and
destination addresses by offsetting Address High register 12 bi.ts to .the left, and .then, adding .the Addre~s
register: The source and des.tinationaddress registers
can be programmed to incre,men.t or decrement independently for DMAoperation. ,

Figure 22. DMA Channels

o
o

7

TC1

Transfer Mode,
Single-step (memory to memory)
Oemand release (I/O to memory)."
Demanc:t rel~ase (memory to I/O)
Reserved'

000

001
010
011

SARH1

I

w

Transfer Method

DARO

Byte transfer .'
Word transfer

SARO

1
TDMA

o
o
1

20

Transfer Condition
DiSabled
Maintain condition
' Start DMA transfer

Channel 1

SAR1

Burst (l1)emory to memory)
Single-transfer (110 to memory) .
, Single-transfer (memory to liD)
Reserved

o

xxEOEH
DARH1

DAR1

100
101
110
,1 1 1

EDMA

",

When the EOMA bit is set, the in.ternal DMARQ flag is
cleared. Therefore, subsequent requests are recognized
only after the EDMA bit has been set.

Figure 20. DMA Mode Regis.tersiQlfAAf) ,'
MD2

Destination Address Offset

00
01
10

TCO
SARHO

I

Channel 0
DARHO

xxEOOH

If§ I~
~ 1I::::

I\Q

Ol

' ° a:

Q

<0

'-

>~~

U

Q ~

N

c..

All IC pins should be tied together and pulled up to V DO with a
10- to 20-kO resistor.
83SL~7'9B

2

NEe

pPD79011

94-Pin Plastic QFP

~~~c;;~~~I0~~~~~;o~~:e::::!elert~~
A12
NC
A13
A14
A15
A16

A17
A18
A19
RxDO
GND
CTSO
TxDO
RxD1

P05
NC

69

IC

68

P04

67

P03

66

P02

65

P01

64

POo

63

IC

62

MREQ

61

IOSTB

60

MSTB

59

RIW

58

~
RESET

57

CTS1

56

TxD1
P20/0MARQO
IC
VDD

~
P21/DMAAKO
NC
P22ITCO

71

70

55

VOD
VOD

54

X2

53

X1

52

GND

51

GND

50

NC

49

~ ~ ~ ~ ~ ~ g M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~48

Note:

NC

~H

AIlIC pins should be tied together and pulled up to VDD with a
10- to 20-kQ resistor.
83SL~7~B

3

NEe

pPD7,9011.
Pin Identification
Symbol

Function
Address bus outputs

CLKOUT

System clock output

PIN FUNCTIONS
Ao-A19 (Address Bus)
Ao-A'9 is the 20-bit address bus used to access all
external devices.

Clear to send channel 0 input
Clear to send channel 1 input

CLKOUT, (System Clock)

Bidirectional data bus

This is the internal system clock. It can be used to
synchronize external devices to the CPU.

I/O strobe output
Memory request output
Memory strobe output
POa-PO;

I/O portO'

P101NMI

Port 1 input line; nonmaskable interrupt

CTSn, RxDn, TxDn, SCKO (Clear to Send,
Receive Data, Transmit Data, Serial Clock Out)

Port 1 input lines; Interrupt requests from
peripherals 0 and 1

The two serial ports (channels 0 and 1) use these lines
for transmitting and receiving data, handshaking, and
serial clock output.

P131'INTP2/INTAK

Port 1 input I,ine; Interrupt requests from
peripheral 2; Interrupt acknowledge output

00-07 (Data Bus)

P1,JINT/POLL

I/O port 1; Interrupt request input; I/O poll input

00-07 is the a-bit external data bus.

P151'TOUT

I/O port 1; Timer out

P1s1SCKO

I/O port 1; Serial clock output

DMARQn, oMAAKn , TCn (DMA' Request, DMA
Acknowledge, Terminal Count)

I/O port 1; Ready input
P201DMARQO

I/O port 2; DMA request 0
I/O port 2; DMA acknowledge 0
I/O port 2j DMA terminal count 0

These are the control signals to and from the on-chip
OMA controller.
.

H LDAK (Hold Acknowledge)

P231'DMARQl

I/O port 2; DMA request 1

P2,JDMAAK1

I/O port 2; DMA acknowledge 1

P251'TCl

I/O port 2; DMA terminal count 1

P2s1HLDAK

I/O port 2; Hold acknowledge output

H LORQ (Hold Request)

I/O port 2; Hold request input

The HLORQ input. (active high) is used by external
devices to request the CPU to release the system bus to
an external bus master. The following lines go into a
high-impedance state with internal 4.7-kO pullup resistors: Ao-A19' 00- 0 7, MREQ, RiW, MSTB, REFRQ, and
IOSTB.

PTO-PT7

Comparator port input lines
Refresh pulse output

The HLOAK output (active low) informs external devices
that the CPU has released the system bus.

RESET

Reset input

RxDO

Serial receive data channel 0 input

RxD1

Serial receive data channel 1 input

R/W

Read/write output

INT (Interrupt Request)

TxDO

Serial transmit data, channel 0 input

TxDl

Serial transmit data, channel 1 input

INT is a maskable, active-high, vectored request interrupt. After assertion, external hardware must provide the
interrupt vector number.

Xl, X2

Crystal connection terminals

Voo

Positive power supply voltage

INTAK (Interrupt Acknowledge)

Threshold voltage input for comparator
GND

Ground reference

IC

Internal connection

4

After INT is asserted, the CPU will respond with INTAK
(active low) to inform external devices that the interrupt
request has been granted.

NEe

pPD79011

INTPO·INTP2 (External Interrupt)

PTO ·PT7 (Comparator Port)

INTPO-INTP2 allow external devices to generate interrupts. Each can be programmed to be rising or falling
edge triggered.

PTO-PT7 are inputs to the analog comparator port.

10STS (I/O Strobe)
10STS is asserted during read and write operations to
external I/O.

MREQ (Memory Request)
MREQ (active low) informs external memory that the
current bus cycle is a memory access bus cycle.

MSTS(Memory Strobe)
MSTS (active low) is asserted during read and write
operations to external memory.

NMI (Nonmaskable Interrupt)
NMI cannot be masked through software and is typically
used for emergency processing. Upon execution, the
interrupt starting address is obtained from interrupt
vector number 2. NM I can release the standby modes
and can be programmed to be either rising or falling
edge triggered.

POo·P07 (Port 0)
POO-PO? are the lines of port 0, an 8-bit bidirectional
parallel I/O port.

READY (Ready)
After READY is de-asserted low, the CPU synchronizes
and inserts at least two wait states into a read or write
cycle to memory or I/O. This allows the processor to
accommodate devices whose access times are longer
than normal execution.

REFRQ (Refresh)
This active-low output pulse can refresh nonstatic RAM.
It can be programmed to meet system specifications
and is internally synchronized so that refresh cycles do
not interfere with normal CPU operation.

RESET (Reset)
A low on RESET resets the CPU and all on-chip peripherals. RESET can also release the standby modes. After
RESET returns high, program execution begins from
address FFFFOH.

R/W (Read/Write)
RiW output allows external hardware to determine if the
current operation is a read or a write cycle. It can also
control the direction of bidirectional buffers.

TOUT (Timer Out)
TOUT is the square-wave output signal from the internal
timer.

P10·P17 (Port 1)
The status of P1o-P13 can be read but these lines are
always control functions. P1 4-P1? are the remaining lines
of parallel port 1; each line is individually programmable
as either an input, an output, or a control function.

X1, X2 (Crystal Connections)
The internal clock generator requires an external crystal
across these terminals. By programming the PRC register, the system clock frequency can be selected as the
oscillator frequency (fosd divided by 2,4, or 8.

P20·P27 (Port 2)
Vee (Power Supply)

P20-P2? are the lines of port 2, an 8-bit bidirectional
parallel I/O port. The lines can also be used as control
signals for the on-chip DMA controller.

Two positive power supply pins (VDD) reduce internal
noise.

POLL (Poll)

VTH (Threshold Voltage)

Upon execution of the POLL instruction, the CPU checks
the status of this pin and, if low, program execution
continues. If high, the CPU checks the level of the line
every five clock cycles until it is low. POLL can be used
to synchronize program execution to external conditions.

The comparator port uses this pin to determine the
analog reference point. The actual threshold to each
comparator line is programmable to VTH x n/16 where n
= 1 to 16.

5

IDI

NEe

pPD.79011

GND (Ground)

IC (Internal Connection)

Two ground connections reduce internal noise.

All Ie pins should be tied together and pulled up to Voo
with a 10- to 20-kO resistor.

p.PD79011 Block Diagram

P20/DMAROO
P21/DMAAKO
P22 rrco
P23/DMARQ1
RESET

P2 4 /DMAAK1

HLDAKlP26

P2srrC1

HLDROip27
READY/P17
TxDO

MREO

RxDO

MSTB

P16/SCKO

Internal ROM
(OS)

CTSO
TxD1

RiW
10STB
POLUINT/P14

RxD1
CTS1

P10/NMI
Instruction Decoder

P11/1NTPO

Micro Sequencer

P12/1NTP1

Micro ROM

P13/1NTP2
IINTAK
P14/1NT
IPOLL

X1
X2

TOUT/P1S

6

REFRO CLKOUT/P0 7

PO

P1

P2

PTO-PT7

VTH

VDD
GND
83YL·5792B

NEe

pPD79011

Comparator Characteristics

ELECTRICAL SPECIFICATIONS

TA

Absolute Maximum Ratings
TA = 25°C
Supply voltage, Voo

-0.5 to 7.0 V

Input voltage, VI

-0.5 to Voo+0.5 (::;; +7.0 V)

Output voltage, Vo

-0.5 to Voo + 0.5 (::;; +7.0 V)

Threshold voltage, VT H

-0.5 to Voo +0.5 (::;; +7.0 V)

Output current low, IOl
Output current high, IOH

Each output pin 4.0 mA (Total 50 mA)
Each output pin -2.0 mA (Total -20 mA)

Operating temperature range, TOPT

-40 to +85°C

Storage temperature range, TSTG

-65 to + 1500C

Exposure to Absolute Maximum Ratings for extended periods may
affect device reliability; exceeding the ratings could cause permanent
damage.

= -10 to

+70°C; voo

=

+5.0 V ±10%

Parameter

Symbol

Accuracy

VACOMP

Min

Max

Unit

±100

mV

Threshold voltage

VTH

0

Voo+0.1

V

Comparison time

tCOMP

64

65

tCYK

PT input voltage

VIPT

0

Voo

V

Capacitance
TA

=

25°C; Voo

=

0V

Parameter

Input capacitance
Output capacitance

110 capacitance

Symbol

Max

Unit

Conditions

CI

10

pF

Co

20

pF

CIO

20

pF

f = 1 MHz;
unmeasured
pins returned
to ground

Min

DC Characteristics
TA = -10 to +70°C; voo = +5.0 V ±10%
Parameter

Symbol

Supply current, operating mode

1001

Supply current, HALT mode

Min

1002

Typ

Max

Unit

Conditions

43

100

mA

fCLK

58

120

mA

fCLK

17

40

mA

fCLK

21

50

mA

fCLK

10

=
=
=
=

5 MHz
8 MHz

1m

5 MHz
8 MHz

Supply current, STOP mode

1003

30

p,A

Input voltage, low

Vil

0

0.8

V

Input voltage, high

VIH1

2.2

Voo

V

VIH2

0.8 x Voo

Voo

V

RESET, P101NMI, X1, X2

0045

V

IOL = 1.6mA

V

= -OAmA
= 0 to Voo
All except P101NMI; VI = 0 to Voo
Vo = 0 to Voo
VTH = 0 to Voo

Output voltage, low

VOL

Output voltage, high

VOH

Input current

liN

Voo - 1.0
±20

p,A

Input leakage current

III

±10

p,A

Output leakage current

ILO

±10

p,A

VTH supply current

ITH

Data retention voltage

VOOR

0.5
2.5

1.0

mA

5.5

V

All except RESET, P101NMI, X1, X2

IOH

P101NMI; VI

7

NEe

pPD79011

Supply Current vs Clock Frequency

External System Clock Control Source

150

Internal Oscillator
TA = 25°C
Voo = 5 V

140 I - -

Typ. Sample
130

splc. Point

120
110

Spec.
Point

100
90

<"

Note: For a parallel resonant quartz crystal,
C 1, C2 = 15 pF (recommended)

80

§.
c
E 70
60
50
40

/

V V

30

V

V
~

External Clock

~
Clock

X1

X2

20

83SL~718A

10

o

o

Recommended Oscillator Components

4

Ceramic Resonator

fCLK [MHz]
B3-004331A

Capacitors

Manufacturer

Product No.

C1 (pF)

C2 (pF)

Kyocera

KBR-10.0M

33

33

Murata Mfg.

CSA.10.0MT

47

47

CSA16.0MX040

30

30

FCR10.M2S

30

30

FCR16.0M2S

15

6

TDK

AC Characteristics
TA

= -10 to

+70°C; VD D

=

+5.0V ±10%

Parameter

Symbol

Min

VDD rise, fall time

tRv'D, tFVD

200

Input rise, fall time

tlR, tlF

20

ns

Except X1, X2, RESET, NMI

Input rise, fall time (Schmitt)

tlRS, tlFS

30

ns

RESET, NMI

Output rise, fall time

tOR, tOF

20

ns

Except C LKOUT

X1 cycle time

tcyx

98

250

ns

5-MHz CPU clock

62

250

ns

8-MHz CPU clock

tWXL

35

ns

5-MHz CPU clock

20

ns

8-MHz CPU clock

20

ns

5-MHz CPU clock

20

ns

8-MHz CPU clock

X1 width, low

X1 width, high

twxH

X1 rise, fall time

tXR, tXF

CLKOUT cycle time

tCYK

8

125

Max

Unit

Conditions

p.s

STOP mode

20

ns

8-MHz CPU clock

2000

ns

fx/2, T = tCYK

NEe

pPD79011

AC Characteristics (cont)
Parameter

Symbol

Min

CLKOUT width, low

tWKL

O,5T -15

CLKOUT width, high

tWKH

O,5T -15

CLKOUT rise, fall time

tKR' tKF

Address delay time

tOKA

Address valid to input data valid

15

Max

Unit

Conditions

ns

Note 1

ns
15

ns

90

ns
ns

tOAOR

T(n+1,5) - 90

MREQ to data delay time

tOMRO

T(n+1) -75

ns

MSTB to data delay time

tOMSO

T(n+O,5) -75

ns

tOMRTC

O,5T+50

ns

0,5+35

ns

MREQ to TC delay time

tOMRMS

O,5T -35

MREQ width, low

tWMRL

T(n+1) -30

Address hold time

tHMA

O,5T -30

ns

Input data hold time

tHMoR

0

ns

MREQ to MSTB delay time

ns

Next control setup time

tscc

T -25

ns

TC width, low

tWTCL

2T-30

ns

Address data output

tOAOW

O,5T +50

ns

MREQ delay time

tOAMR

O,5T -30

ns

MSTB delay time

tOAMS

T -30

ns

MSTB width, low

tWMSL

T(n+O,5) - 30

ns

Data output setup time

tSOM

T(n+1) -50

ns

Data output hold time

tHMOW

O,5T -30

ns

IOSTB delay time

tOAIS

O,5T -30

ns

10STB to data input

tDlSO

10STB width, low

tWISL

T(n+1) - 30

ns

Address hold time

tHISA

O,5T -30

ns

Data input hold time

tHISOR

0

ns

tSOIS

T(n+1) -50

ns

tHISOW

O,5T -30

Output data setup time
Output data hold time
Next DMARQ setup time

T(n+1) -90

1m

ns

ns
T

tSDAOQ

Note 2

ns

Demand mode

ns

Demand mode

DMARQ hold time

tHOAOQ

0

DMMK read width, low

tWOMRL

T(n+1,5) -30

DMMK to TC delay time

tOOATC

DMMK write width, low

twoMWL

T(n+1) - 30

ns

RE F RQ delay time

tOARF

O,5T -30

ns

RE F RQ width, low

tWRFL

(n+1)T - 30

ns

Address hold time

tHRFA

D,5T -30

ns

RESET width, low

tWRSL 1

30

ms

STOP mode release; poweron reset

RESET width, low

tWRSL2

5

p.s

System warm reset

MREQ, IOSTB to READY setup time

tSCRY

ns

n ;;:: 2

MR'EO, iOSTB to READY hold time

tHCRY

ns

n ;;:: 2

ns
O,5T+50

T(n -1) -100
T(n -1)

ns

9

NEe

pPD79011

AC Characteristics (cont)
Parameter

Symbol

H LDAK output delay time

tOKHA

Bus control float to H LDAK J.

tCFHA

T-SO

ns

HLDAK Ho control output time

tOHAC

T -so

ns

H LDRQ J. to cont rol output time

tOHQC

3T +30

H LDAK width, low

tWHAL

HLDRQ setup time

tSHQK

HLDRQ to HLDAK delay time

tOHQHA

H LDRQ width, low

tWHQL

1.ST

INTP, DMARQ setup time

tSIQK

30

ns

INTP, DMARQ width, high

tWIQH

8T

ns

INTP, DMARQ width, low

tWIQL

8T

ns

tSPLK

30

ns
p's

POLL setup time
NMI width, high

Min

Max

Unit

80

ns

ns
T

ns
ns

30
3T+160

ns
ns

tWNIH

S

NMI width, low

tWNIL

S

p.s

CTS width, low

tWCTL

2T

ns

INTR setup time

tSIRK

30

ns

INTR hold time

tHIAIQ

0

ns

INTAK width, low

tWIAL

2T-30

ns

INTAK delay time

tOKIA

INTAK width, high

tWIAH

INTAK to data delay time

tOIAO

INTAK to data hold time

tHIAO

0

SCKO cycle time

tCYTK

1000

SCKO (TSCK) width, high

tWSTH

4S0

ns

SCKO (TSCK) width, low

tWSTL

4S0

ns

80
T-30

ns
ns

2T -130

ns

O.ST

ns
ns

TxD delay time

tOTKO

TxD hold time

tHTKO

20

ns

eTSO (RSCI<) cycle time

tCVRK

1000

ns

eTSO (RSCI<) width, high

tWSRH

420

ns

eTSO (RSCI<) width, low

tWSRL

420

ns

RxD setup time

tSRoK

80

ns

RxD hold time

tHKRO

80

ns

Notes: (1) T = CPU clock period

(tcvKl

210

(2) n = number of wait states inserted

STOP Mode Data Retention Characteristics
TA = -10 to +70°C
Parameter

Symbol

Min

Max

Data retention voltage

VO OOE

2.5

5.5

Voo rise time

tLFVO

200

p.s

VOO fall time

tFVO°C

200

p's

10

Unit
V

ns

Conditions

NEe

pPD79011

Timing Waveforms
Stop Mode Dlltll Retention Timing

AC InDUt Kttveform 2 {RESET JI NUl}

~

VOO
VOOOR

0.8 V

IRVO
83-004333A

AC Input Waveform 1 (Except XI, X2, RESET, NUl)
4V
2.

0.4 V

4

l-"FS

IIRS

83-004306A

AC Output Test Point (Except CLKOUT)

4

2.2 V

0.8 V

0.8 V

IIR
83-00430SA

!=-IOF

lOR

83-004307A

Clock In Ilnd Clock Out

0.8 VOO
0.8 V

CLKIN1
[X1]

~----ICYX----..I

-

I--

IKR

-1\
..

I-IKF
2.2 V

CLKOUT

IIJ
IWKH

IWKL
ICYK

0.8 V

83-0043088

11

NEe

pPD79011
Memory Read

I~--------B1------~~1--------B2------~
CLKOUT

_{t------=:\'--------I:K-)~\'__________'I
tOKA_

)~

r
-

.

tOAOR

It
It

tHMOR ..

I-tOMRO-

R/Vi

K

I
tOAMR

I

tWMRL

I
\k:

tscc-

I{

1\

l.tOMSO.

-tOMRMS-

i

\

tOAMS- I-tWMSL-!

~

i\
I+-tOMRTC

TC1-TCO

\1+---1-

-~(

--tWT-CL-

83-004309C

12

NEe

I'P.D79011

Memory Write
1 - - - - B 1 - - - - + . - I - - - - B2 - - - - - - - - 1

eLKOUT

~I+-------\-----.,,'K).......---..--\~!
_
. ___

IOKA-

A19- A O

K

)
I+-tOAOW-

I_IHMA-+

~

07-00

~

ISOM

R/W

.

I

~tHMDWy

\
IWMRL

\-IOAMj

"

-

1/

Isee--,-----..

1\

!--IOMRMS-

r\

MSTB

IOAMS---,---+

1/ "

~ IWMSL-

1\

\
i-IoMRTe

TC1-TCO

\I----~.~IW-TeL---------+l(
83-00431OC

13

NEe

pPD79011
I/DRead

II

B1

tCYK

I

B2

"I
CLKOUT

..J

~

K

)L
I---tOAOR_

r-tHISA1

~

tOISO

R/iii

J

f\
I+-tOA1S-1

'I

tWISL

tscc-

I

l\-

i\.

DMAAK1

DMAAKo
83-004311C

14

NEe

pPD79011

I/O Writ.

CLKOUT

B1

I

ICYK

I

I

B2

I

J
~

A19-AO

K

)
10AOW

rIHISA .....

07-00

If
ISOIS

R/W

.

IHISOW

V

\

1\

,

!--IOAIS .....

IWISL

. I----tsccII

1\
i\

83-004312C

15

NEe

pPD79011

OMit, I/O to Memory

I~--------B1--------~I---------B2~----~
}=~-------tCYK-------l+t
eLKOUT

.---IL---\~---'!"""-----""\~---'!-\,",-----JI

\

tOKA-

R/W

}

X

\

V
tWMRL

I+-tOAMR-

I-o-tHMA-

II

1\

tscc

I+-tOMRMS-

..

1\

lJ

1\
tOAMS-

~tWMSL_

1\
[+--tSOAOO_

DMARQODMARQ1

~
I+-tHOAOO .....

II

''I
tWOMRL

rx
I+- tOOATC-

I

tWTCL

J
I

83-004313C

16

1tIEC
DM~

pPD79011

Memory to I/O
~-------B1--------+-----~-B2-------­

I+-------ICYK - - - - - - - + l

CLKOUT

_IOKA_

A19- A O

R/W

)

K

J

1\
-tOAMR_

_IHMA _ _

IWMRL

~

1\

1/
ISCC

rx
IOAMS

1\

-'

!--IWMSL-I

r\
_ISOAOO __

DMARQO
DMARQ1

1\
I+-tHOAOO-+

1

"

IWOMWL---l

If\b
j+-1OOATC_

I

IWTCL

_I

83-004314C

17

NEe

pPD79011

Refresh
~-------B1--------~--------B2--------~

'---------tCYK - - - - - - I

CLKOUT
~tDKA-

R/W

)

K

J

~

l\..-

I\.._tDARFj

\

tWRFL

I--tHRFA-

II
tscc

83-004315C

CLKOUT----------------------------------------~,~-J

_---.~I+--.-tWRsL1----.!.~-~lll!--------­
RESET

18

----------------

83-0043168

NEe

pPD79011

RESET 2

CLKOUT

__ I~RS"-=, _ _

J

RESET-~

83-0043178

READY 1
~-----B1----~~----BAW----~------BAW-----+------B2-----1

/
READY ______________________

~;'

~~____________________________________________
83-0043188

~

READY 2

r-------------1iiII
~ B1-------1r----- BAW -----+------ BAW -----+----- BW -----+----- B2-----1
MREQ
n=2

n=3

-tHCRY*
tSCRY*
n=2
READY

\

L
In = 3

VI

* tSCRY [READY setup time] and tHCRY [READY hold time] are a function of
T and n. Timings shown are examples for n = 2 and n = 3.
83-0043198

19

NEe

pPD79011

H LORQ/H LlJAK 1

CLKOUT

~KI------+--------l~

HLORQJ

-

,

Bus control'
~-------tDHQHA------~

'A19-AO, 07-00, MREQ, MSTB, IOSTB,

Riw

~--------------tWHAL--------------~
83-0043206

HLORQJHLIJAK 2
CLKOUT

HLORQ
~------tWHQL----~~

Bus control' --r---------it----i----------------~

IOKH:;:-_ _ _ _

--tU~--~~--------------~--------~-t-DH-Q-C--_-_-_-_-~--~~~~~~:-----------

83-0043218

I NTP, OMARQ Input
CLKOUT

INTP,
OMARQ'
~--------------tWIQH------------~

:===============-tW~~IQ-L~------------------------~~

'INTP2-INTPO, OMARQ1-0MARQO
83-0043226

20

NEe

pPD79011

POLL Input

CLKOUT

_~IS'"

I

POLL

83-0043238

Nllllnput
CLKOUT

NMI-1.

tWNIH

h

tWNIL

r

83-004324B

CTSlnput

Em

CLKOUT

CTS1-CTSO~

)

tWCTL

r

83-0043258

21

NEe

pPD79011

INTR/INTAK

CLOOUT

r'~--4---'

INTR
tOKIA

tHIAIQ

07-DO--------------~r----------------+_--------------------------~

83-0043268

Serial Transmit
CLKOUT
tCVTK

\

~

I

tWSTL

)

TxD

J
I

tWSTH

tHTKO

C

tOTKO
83-004441B

22

NEe

pPD79011

Serial Receive

CLKOUT

tCYRK

\

,j
tWSRL

RxD

1\
tWSRH

K

}.
tHKRD

f+---tSRDK -

83-0043326

ARCHITECTURAL DESCRIPTION
The IkPD79011 is an upgraded version of IkPD70322
(V25) , NEC's original single-chip microcomputer. It has a
real-time operating system built into internal ROM.

Figure 1. Memory Map
FFFFF
FFFFO

P[3lliffu3llillilililli3lliillili3lliIq

RESET

Ii

The IkPD79011 is the same as the V25 in both hardware
and software specifications except for the built-in ROM
contents. For more information on the V25, refer to the
IkPD70320/70322 V25 Data Sheet

Memory Map
The IkPD79011 can access a maximum of 1M bytes of
memory via the 20-bit address bus. A 16K-byte segment
of memory (FCOOOH to FFFFFH) is allocated to the
on-chip ROM. The IkPD79011 operating system is stored
in this ROM area.

FDOOO

FCOOO

An external memory area of 2K bytes (FB 800H to
FBFFFH) contains a configuration table. When reset, the
IkPD79011 starts program execution at address
FFFFOH, and performs the necessary initialization according to the information in this table. Then, program
control is passed to each user-defined task.

User's Initial Task
[System Setup. etc.) ~--lf-----'

User's Area

A 1K-byte area (OOOOOH to 003FFH) contains the vector
tables. Thus, the total area for user tasks is from 00400H
to FB7FFH.

Address determined at
configuration time.

Figure 1 is the IkPD79011 memory map.
00400

t - - - - -........- - - - i
Vector Table

00000'--_ _ _ _ _ _ _ _--'
49TB-516A

23

NEe

pPD79011
Reset Operation

Table 1.

When reset, the p,PD79011 begins program execution at
address FFFFOH and jumps to the reset routine, which
performs the following processing.

Vector
Number

Start
Address

72 to 79

00120H

External p.PD71059
(Slave 1. Available for use)

•
•
•
•
•

80 to 87

00140H

External p.PD71059
(Slave 2. Available for use)

88 to 95

00160H

External p.PD71059
(Slave 3. Available for use)

96 to
103

00180H

External p.PD71059
(Slave 4. Available for use)

After completing the required reset processing, the
p,PD79011 jumps to the operating system dispatch routine, and then passes the program control to each
user-defined task.

104 to
111

001AOH

External p.PD71059
(Slave 5. Available for use)

112 to
119

001COH

External p.PD71059
(Slave 6. Available for use)

Figure 2 is a flowchart of system operation at reset time.

120 to
127

001EOH

External p.PD71059
(Slave 7. Available for use)

Figure 2. Reset Operation Flowchart

128 to
255

00200H

Available for use

Initializes special registers
Initializes the interrupt vector table
Generates the system table
Specifies both semaphore and mail box areas
Generates and starts tasks

~ctor

Table Area Assignments (cont)
Use

Note: Vectors 56 to 127 are aSSigned to the master and slave interrupt
controllers when added to the p.PD79011. Otherwise, the area is free
to be used.

RESET

Configuration Table
The configuration table resides in memory from FB 800H
to FBFFFH. The reset routine obtains initialization information from the configuration table. Any items not initialized by the reset routine must be initialized by the
user initial task.
Table 2 is an example of a configuration table. It shows
the assembler sources (described by RA70116). The
input values in the table are only examples.

Table 2. Configuration Table, Filing Example
49TB-517A

Data Type

Example Value
INTERNAL RAM_ BASE

PTR1

OW
OW

TASK...CNT

PTR2

OW

SMA-CNT

PTR3

OW

MBOK-CNT

INTERNAL
RAM_BASE

DB

FFH
46H

Interrupt Vectors

PTRO

Up to 256 interrupt vectors (4 bytes/vector) can be
stored in the vector table area. See table 1.

Table 1.

~ctor

Table Area Assignments

Vector
Number

Start
Address

Use

DB

o to 31

OOOOOH

Reserved for hardware as on p.PD70322 (V25)

OW

1000H

32 to 47

00080H

Avai lable for use

OW
OW

2000H

48

OOOCOH

Operating system data table

49 to 55

OOOC4H

Available for use

56 to 63

OOOEOH

External p.PD71059 (Master. Available for use)

64 to 71

00100H

External p.PD71059 (Slave O. Available for
use)

24

BLK...SIZE

2FCOH

Notes

2

3

tyEe
Table 2.

pPD79011

conf~uration Table~

(co.nt

"

CONF_TBL

Data Type

Filing Example

Example Value

Notes
4

PORTO

DW

1000H

PORT1

DW

2000H

PORT2

DW

OFFFFH

PORT3

DW

CiF'FFFH

PORT4

DW

OFFFFH

PORT5

DW

OFFFFH

PORT6

DW

OFFFFH

PORT?

DW

OFFFFH

PORT8

DW

OFFFFH

TASK..CNT

DB

2BH

MIN_TASK..NO

DB

0

INIT_TASK

DB

0

IDL~SP

DW

1000H

IDL~SS

DW

OFOOOH

INILPCO

DW

OOOOH

INILPSO

DW

4000H

INILSPO

DW

2000H

INILSSO

DW

OFOOOH

I NILD SO

DW

2000H

INILPC1

DW

1000H

INILPS1

DW

4000H

INILSP1

DW

3000H

INILSS1

DW

OFOOOH

INILDS1

DW

2000H

SMA-CNT

DW

2

INILRSCO

DW
DW

10H

MBOx...CNT'

DW

10H

RESEFNE

DW

OOH

CONF_TBL

ENDS
END

Notes:
(1) Pointers
(2) Systeminformati,on
(3) RAM information
(4) Interrupt controller information

Pointers
A pointer is an offset value obtained using a segment
value of OFB08H. The following pointers are provided.
The organization of the configuration table changes
according to user system status.
Pointer
PTRO
PTR1
PTR2
PTR3

Size
1 word
1 word
1 word
1 word

Points to
INTERNALRAM:...BASE
TASK-CNT
SM~CNT

MBOx..CNT

System Information
5

6

?
User
Task
0

INTERNALRAM_BASE: This byte is required to se~ the
internal RAM base segment of the JLPD79011. It is specified in the internal data area base register (lOB address
OFFFFFH).
If XXH is specified as the IDB value (where' X is a
hexadecimal number), the internal RAM base segment is
assumed to be XXOOH. Therefore, each register bank and
the special function register (including lOB) are assigned ~
to the 512-byte area starting at address XXEOOH.

II.i&I

PRC_INFO. This byte sets the processor control register
(PRC), wh,ich has the following functions.
7
User
Task
1

• System clock divider of oscillator frequency
• Interval of time base interrupt
• Enable/disable of internal RAM

RAM Information
8

9

The configuration table provides the following RAM information.
LOW_DS/HIGH_OS: These two words specify the user
free RAM area. Because it is a continuous memory area,
both the upper and lower limit segment addresses (offset
0) must be used to specify this area.
The initialize routine sets the system table and each
control block in this RAM area .. Any remaining, control
blocks are queued in the system table as memory blocks
(the section System Calls provides more information).
The user free RAM area must be large enough to hold all
control blocks.

(5) User task information
(6) Idle task stack information

(7) User task register information
(8) Semaphore/mail box information

(9) Reserved area

25

NEe

pPD79011

Bues IZE: This word of information specifies the memory block size in units of 16 bytes. If BLK....S IZE of zero is
specified, no memory blocks are generated.

Interrupt Controller

INIT_DSO: This word of information specifies the initial
value of the data segment (DS) for the first user task.
The above set of register initial values is repeated for
each user task.

PORTO th rough PORT8 (9 words) provide the information
required when one or more external interrupt controllers
(J,.t.PD71059) are connected to J,.t.PD79011.

Semaphore/Mail box

PORTO specifies the port address for the master interrupt controller. PORT1 through PORT8 specify the port
addresses corresponding to the slave interrupt controllers (0 to 7).

INIT_RSCO: This word of information supplies the initial
number of resources for semaphore O. After specification
of semaphore 0, the initial number of resources of all
other semaphores should be specified sequentially.

If fewer than nine interrupt controllers are used, OFFFFH
indicates the addresses of the unused interrupt controllers.

MBO)LC NT: This word of information specifies the number of mail boxes (up to 256) to be used.

SMA...CNT: This word of information specifies up to 256
semaphores to be used.

Reserved Area
User Task Information

RESERVE is a one-word area. You must specify a value of

TASK....CNT: This byte of information specifies the total
number of user tasks (except for idle tasks). Up to 63
tasks can be specified.

o for RESERVE.

MIN_TASICNO: User task numbers are assigned sequentially starting from this number, the mimimum task
number. Only tasks with numbers greater than the minimum task number are generated.

Table 3 shows the various task statuses. Figure 3 shows
all task status changes.

INIT_TASK: This byte of information indicates the number of the first task that the operating system must
execute when the system is initialized. All other tasks are
dormant when the system is initialized.

Task Status and Status Change

Table 3. Task Status
Status

Meaning

RUN

One task, given priority to use the CPU, is
currently being executed.

READY

A task is ready to execute. A READY task has a
priority lower than the task currently under
execution and is hence blocked by the priority
handler.

WAIT

A task is waiting for an event to occur so it can
go into the READY status. This status is caused
by the following conditions:
WAIT - a system call caused the status change
and the task is either waiting for a resource with
a semaphore, waiting for a message (through
mail box or direct connection), or waiting for an
interrupt.

SUSPEND

The system call SUS_TSK suspended execution
forcibly when the task was in the RUN status.
The task must wait for a system call to restart
execution

WAIT SUSPEND

A task was forcibly moved Into the WAIT status
and has a double wait status. If the system call
RSM_TSK is issued to a task in the WAIT
SUSPEND status, the task is released from the
SUSPEND status and goes into the WAIT
status. If released from the WAIT status, the task
goes into SUSPEND status.

DORMANT

When the system is initialized, only one task
goes into the READY state. All other tasks go
into the DORMANT status. If the system call
EXLTSK is issued to a task that is executing,
this task becomes DORMANT.

Id Ie Task Stack
IDLE_SP: This word of information specifies the idle task
stack pointer (SP) value.
IDLE-SS: This word of information specifies the idle tas~
stack segment (SS) value. When a stack is set, any value
can be used for the address. The stack area must be a
minimum of 32 bytes.

User Task Register Initialization
INIT_PCO: This word of information specifies t~e initial
value of the program counter (PC) in relation to the
mini mum user task number specified for MIN_TASK-NO.
INIT_PSO: This word of information specifies the initial
value of the program segment (PS) for the first user task.
INIT_SPO: This word of information specifies the initial
value of the stack pointer (SP) for the first user task.
INIT_SSO: This word of information specifies the initial
value of the stack segment (SS) for the first user task.
26

NEe
Figure 3.

pPD79011

Task Status Change
End

Start

The remaining tasks, numbered 6 to 63, are all assigned
to bank 6. These tasks, unlike tasks resident in banks,
require processing time to swap the task state to register
bank 6.
Table 4 shows the register banks and tasks.

Table 4. Register Banks and Corresponding
Tasks
Register Bank

Task

*Priorlty

Type

o

0

o

Resident

2

2

2

3

3

3

4

4

4

5

5

5

6

6 to 63

6 to 63

7

Non-resident
Occupied by I'PD79011 OS

No priority can be set for DMA or macroservice transfer.

Task Management
Idle Task
The p.PD79011 operates an idle task when no user-set
task needs to be executed. The user-specified maximum
number plus 1 is used as the idle task number.
If the idle task begins execution, it executes the HALT
instruction in the Interrupt Enable status, then waits for
an interrupt to be issued.

FUNCTIONAL DESCRIPTION
The p.PD79011 can handle up to 64 tasks numbered and
assigned priorities from 0 to 63. Task numbers and
priority levels correspond to each other. (For example,
task 3 has a task priority of 3.) Level 0 is the highest
priority; level 63 is the lowest priority.
Tasks are scheduled according to their priority levels.
The p.PD79011 selects and executes the READY task
with the highest priority (RUN status).
Like the V25, the p.PD79011 has 8 register banks (numbered 0 to 7). Task switching can be done at a high speed
using these register banks. The operating system occupies bank 7. The remaining banks (0 to 6) are all assigned
to tasks.
Of the 7 register banks, tasks numbered 0 to 5 are
assigned to banks 0 to 5 and are resident in the banks.
Because the bank-resident tasks do not require any
processing to save/return the task status, task switching
can be handled quickly.

The task management function is used to terminate,
start, suspend, restart tasks, and set the restart address.
If system call STA.TSK is issued to a task, the task exits
the DORMANT status and goes into the READY status.
If system call SUS_TSK is issued to a task, the specified
task goes into the SUSPEND status. The task exits the
SUSPEND status when system call RSM_TASK is issued,
and its status becomes READY
The restart address is set by issuing system call
SET....ADA. The SET....ADR is always used with system call
RES_INT to end the interrupt handler. (Refer to the
section Interrupt Management for additional information.)

Synchronization/Communication Management
Tasks are synchronized by queuing or mutual exclusion.
If tasks are queued, they are processed and executed
one at a time.
Mutual exclusion is used in task processing to prohibit
simultaneous access by more than one task to a shared
resource (such as memory, an I/O device, etc.).
The p.PD79011 uses semaphores for task synchronization and mail boxes for intertask communication.

Semaphores
The p.PD79011 implements semaphores to manage resources and for queuing or mutually excluding tasks.

27

~

IiiII

NEe

pPD79011

Both the. Pinstruction .(Obtain Resource) a.nd the V
instruction (Release Resource) manage only one resource at a time.
The P instruction can use the following system calls. "
REQ_RSC: If the request to obtain resource is not accepted, the task goes into;the WA,IT status.
POLRSC: If the request to obtain resource is not accepted, the system is notified that the request has been
rejected.
The V instruction (system call RELRSC) releases the
occupied resource.
Figure 4 shows how to use system calls to avoid simultaneous read and write to shared memory. In figure 4,
both tasks A and B share the same resource (memory).
An interrupt is issued when task A is executed and
control is passed between the two tasks. If the
REQ_RSC request is not accepted because the resource
is used by another task (task A), task B goes into the
WAIT status.

POLMSG: Issued if a message was sent to a mailbox;
notifies the system that no message can be received.
POLDIR: Issued if a message was sent directly; notifies
the system that no message can be received.

Memory Management
You can issue system callsto secure and return memory
blocks dynamically on the p.PD79011. The memory block
size is specified at configuration time.
Task status remains the same and an the error code is
returned when the GET_MEM system call is unable to
secure.a block of memory.
If a memory block is specified as the message area, the
system uses the first two bytes of memory (figure 5).
Consequently, ava:ilable memory (specified in the configuration table) is reduced by 2 bytes.

Figure 5. Memory Block

Figure 4. Mutual Exclusion
User Area
Allocated Memory Block

Addresses

2 Bytes
[Used by OS]
49TB-52OA

Interrupt Management
49TB-519A

Intertask Communication
Tasks communicate with each other in one of two ways,
directly and nondirectly . Each task has a mailbox with a
task queue for receiving·messages and a message queue
for sending messages. No mailbox is required-for direct
communication. Messages c~m be. sent directly from one
task to another.
If a task cannot receive a message for any reason (either
directly or in a mailbox), onecf the following syst~m
calls is issued.
RCV_MSG: Issued if a message was sent to a mailbox;
..
the task goes into WAIT status.
RCV_DIR:lssued if a message was sent directly; the task
goes into the WAIT status.
"28

Fo( internally and externally generated· ii'lterrupt requests, RTOS has the following functions to support the
associated interrupt service routines~
•
•
•
•

Interrupt handler assignment
Interrupt handler return
Interrupt enable/disable.
interrupt wait status

When DE F_I NT is issued; a correspondence is set between the request level(br vector type) of an external
p.PD71059 interrupt controller and the starting address
of its service routine.
The ENA.:JNT and DIS_JNT calls allow interrupts to be
enabled or disabled.

NEe

pPD79011

The SIG_INT and RES_INT system calls terminate the
interrupt handler and pass control to the top-queued
task (queued by the WAUNT call).
Figure 6 shows how SIG_INT passes control to a task.
The following events occur in the figure.
• Due to WAUNT, task B waits for an interrupt.
• An interrupt is issued while task A is running.
• SIG_INT is issued to task B at the end of interrupt
handling.
If the priority of task A is higher than that of task B,
control is passed to task A when SIG_INT is executed
(the interrupted task). If the priority of task B is higher,
control is passed to task B.

Figure 6. SIa.lNT Examples
TaskS

I

,/ Interrupt Handler"
Task A
Interrupt ___

k'/

,/

,/,/,/

""

"

""

WAUNT

The RES_INT system call is always used with the SET_
ADR system call to set the restart address. If SET-ADR
has already been issued in an interrupted task handler
that issues RES_INT, RES_INT passes control to the
restart address specified by SET-ADR, not to the address where the interrupt was issued.
Figure 7 shows how to use the RES_INT system call to
pass control to a task.

Figure 7. RES_INT Example

SET_ADR (Restart_Address) Interrupt _

Re'tart_Add,,,,

L----

Interrupt Handler

-

-

-

-

-

-

-

-l

Ir------------

The JLPD79011 provides the following types of system
calls.
•
•
•
•
•

Task management
Synchronization/communication management
Memory management
Time management
Interrupt management

The system calls all have ID numbers assigned to them.
Descriptions of system calls include their syntax and
any error codes that may be returned to the task when
the call is issued.
You can use the C language or assembly language to
develop programs for the I-I-PD79011. If using the C
language, an error code is returned as a function value of
the system call. If using assembly language, an error
code is returned to the AW register of the JLPD79011 as a
return parameter.

C Language Interface

"
83YL-6775A

Task

SYSTEM CALLS

The JLPD79011 supports the C language, a high-level
language for developing large or small programs. To
issue system calls in the C language, an assembler
routine is required as an interface between the I-I-PD79011
operating system and the C language. Refer to the
Assembly Language Interface section for details on writing the interface.
Following is the syntax use for issuing calls in the C
language.
err = < name> ([ < parameter>));
Argument
err

< parameter>

Description
Function value returned by RTOS
7-letter System Call Name
Input parameter

Assembly Language Interface
The JLPD79011 has a C language-oriented architecture.
Therefore, when issuing system calls using assembly
language, the I-I-PD79011 always sends and receives
parameters via a stack. (If the system call requires no
parameters, no stacking is needed.)

RES_INT

49TB-S22A

The syntax for issuing system calls using assembler and
loading the stack for operation are shown below. If the
parameter is a pointer, the offset value is stacked in the
lower address area of the stack, and the segment val ue is
stacked in the upper address area.

29

~

~

NEe

pPD79011

(1) Parameter.

err =  (arg1, arg2, arg3);
Argument

arg1
arg2
arg3

Description
7-letter System Call Name
unsigned int
int
unsigned int

I/O
In

An intersegment system call is needed even when the
RTOS_ENTRY address is within the same segment.

Figure 8. Stacking Conditions
SS : SP Always necessary to

I

arg3

indicate this position
immediately before
RTOS _ ENTRY
(FOOO:COOO) is called
between segments

Segment Value of arg2

Description
Task number (0 to 62)

(2) Return val ue.

The system call is issued in the following sequence.
• Parameter 3 (arg3) is stacked.
• Parameter 2 (arg2) is stacked.
• Parameter 1 (arg1) is stacked.
• A pOinter to the parameter area is stacked.
• The system call number is set in the AW register.
• RTOS_ENTRY (FCOOOH) is called between segments.

_
Parameter Area Pointer
t-----------I
arg1
Offset Value of arg2

Name
int taslLno;

Error Code
E_OK
E_DMT

Number

o
1

Description
Normal end
Task is not DORMANT

(3) C format.
short taslLno;
ercode = STA-TSK(taslLno);
STA-TSK can only be issued to a task that is in the
DORMANT status.
The started task processing is done in one of the following ways .
• Executed for the first time.
• After it is terminated once, it is restarted.
If a task is executed for the first time, the task processing
starts from the initial address. Initial values from the
configuration table are also used for the stack pointer,
stack segment, and data segment values. Other register
values are not defined.

High

The procedures for issuing the SIG_INT and RES_INT
system calls are different. They are explained later in this
data sheet.

If the task processing is ended once and then restarted,
the task also resumes at the initial address. In this case,
the stack pointer, stack segment, data segment values,
and other register values assume the values they had
just before the EXT_TSK system call was issued.

TASK MANAGEMENT SYSTEM CALLS

Exit Task (EXT_T5K)

The following system calls are used for task management.

System Call 1. EXT_TSK terminates task processing
and moves the task into the DORMANT status from the
RUN status. It has the following syntax.

49TB-523A

System Call
STA-TSK
EXT_TSK
SUS_TSK
RSM_TSK
SET-ADR

Description
Starts task processing
Terminates task processing
Suspends task processing
Restarts task processing
Sets restart address

int EXT_TSK ()
(1) Return value.
Error Code
E_OK

Number

o

Description
Normal end

(2) C format.

Start Task

(ST~TSK)

System Call O. STA-TSK starts task processing during
which the task goes into the READY status from the
DORMANT status. It has the following syntax.
int STA-TSK (taslLno)

30

ercode = EXT_TSK();
If STA-TSK restarts a task in the DORMANT status (due
to EXT_TSK) , the start address returns to the initial
value. Other register values retain the values they had
when EXT_TSK was issued. Thus, the stack pointer,
stack segment, data segment values may not match the
values assumed at configuration time.

fttIEC

pPD79011

Suspend Task (SUS_TSK)

Set Restart Address (SET~DR)

System Call 2. SUS_TSK suspends a task and puts it
into the SUSPEND status. It has the following syntax.

System Call 4. SET-ADR sets the restart address of a
task. It has the following syntax.

int SUS_TSK (taslLno)

int SET-ADR (restarLadr)

(1) Parameter.
I/O
In

(1) Parameter.

Name
int taslLno;

Description
Task number (0 to 62)

(2) Return val ue.
Error Code
E_OK
E_DMT
E_SUS

In

Name
int (restarLadr);

Description
Task restart address

(2) Return val ue

Number
0
1
2

Description
Normal end
Task is DORMANT
Task is in SUSPEND status

Error Code
E_OK

Number

o

Description
Normal end

(3) C format.
ercode = STA-TSK(restarLadr);
pointer restarLadr;

(3) C format.
short taslLno;
ercode = SUS_TSK(taslLno);
SUS_TSK cannot be issued to tasks that are in the
DORMANT status or in the SUSPEND status.
If SUS_TSK is issued to a task in the WAIT status, the task
goes into the WAIT SUSPEND status.

Resume Task (RSM_TSK)
System Call 3. RSM_TSK restarts a task that is in the
SUSPEND status. It has the following syntax.
int RSM_TSK (taslLno)

SELADR is always used in conjunction with the RES_INT system call. If RES_INT is issued on return from the
interrupt handler, control is passed to the restart address
set previously by SET-ADR.
SELADR can be issued more than once, but the system
only validates the last restart address that was issued.
Setting the restart address to 0 clears current restart
address.

SYNCHRONIZATION/COMMUNICATION
MANAGEMENT SYSTEM CALLS
The following system calls are used for synchronization/
communication management:

(1) Parameter.
I/O Name
Description
In int taslLno; Task number (0 to 62)
(2) Return val ue.
Error Code
E_OK
E_DMT
E_SUS

I/O

System Call
REQ_RSC
POLRSC

Number

o
1
2

Description
Normal end
Task is DORMANT
Task is not in SUSPEND
status

(3) C format.
short taslLno;
ercode = RSM_TSK(taslLno);
RSM_TSK cannot be issued to tasks that are in the
DORMANT status or in the SUSPEND status.
If it is issued to a task in the WAIT SUSPEND status, the
task is released from the SUSPEND status and goes into
the WAIT status.

RELRSC
RCV_MSG
POLMSG
SND_MSG
RCV_DIR
POLDIR
SND_DIR

Description
Requests resource from a
semaphore
Requests resource from a
semaphore (no wait)
Releases resource for a semaphore
Receives messages from a mailbox
Receives messages from a mailbox
(no wait)
Sends messages to a mailbox
Receives messages sent to this task
Receives messages sent to this task
(no wait)
Sends messages to the specified
task

Request Resource (REQ_RSC)
System Call 5. REQ_RSC requests a resource from the
specified semaphore. It has the following syntax.
int REQ_RSC (semaphore_no)
31

1m
~

NEe

,.,PD79011

(1) Parameter.

(1) Parameter.

1/0 Name
Description
In int semaphore_no; Semaphore number (0 to
specified number)
(2) Return value.
Error Code
E_OK

1/0 Name
Description
In int semaphore_no; Semaphore number (0 to
specified number)
(2) Return value.

Number

o

Description
Normal end

Error Code
E_OK

Number

o

Description
Normal end

(3) C format.

(3) C format.
ercode = REQ_RSC(semaphore_no);
short semaphore_no;

ercode = RELRSC(semaphore_no);
short semaphore_no;

If REQ_RSC is issued when the resource count is 0, the
task goes into the WAIT status. If the resource count is
more than 1, the resource countis decremented by one.

When RELRSC is issued, the semaphore resource
count is increased by 1. If WAIT tasks exist, the earliestwait task is selected and released from the WAIT status.

Each semaphore has a task queue. But, if REQ_RSC
causes a task to go into the WAIT status, the task is
placed in the last position in the queue regardless of its
priority.

The initial value of the semaphore resource count is set
when the system is started. No error occurs even when
the resource count exceeds the initial value asa result of
issuing RELRSC. If the resource count exceeds 65,535,
the resource count is cleared to 0 automatically and no
error is generated.

Poll Resource (POLRSC)
System Call 6. POLRSC is used to request resources
from the specified semaphore. It has the following syntax.
int POLRSC (semaphore_no)

Receive Message (RCV_MSG)
System Call 8. RCV_MSG receives messages from
mailboxes. It has the following syntax.
int RCV_MSG (mailbo>Lno)

(1) Parameter.
1/0 Name
Description
In int semaphore_no; Semaphore number (0 to'
specified number)·

(1) Parameter.
1/0
In

Name
int mailbo>Lno;

(2) Return value.
Error Code
E_OK
E_RSC

Number

o
6

Description
Normal end
Resource count is 0

(3) C format.
ercode = POLRSC(semaphore_no);
short semaphore_no;
POLRSC is used to determine whether any resources
are left in the specified semaphore. Unlike the REQ_RSC, POLRSC never causes a task to go into the
WAIT status. Instead, it returns the E_RSC error code
when the resource count is O. If the resource count is
more than 1, the count is decremented by 1.

Release Resource (RELRSC)
System Call 7. RELRSC releases resource for the
specified semaphore. It has the following syntax.
int RELRSC (semaphore_no)
32

Description
Mailbox number (0 to
specified number)

(2) C format.
seg = RCV_MSG(mailbo>Lno);
short mailbox....no;
If RCV_MSG is issued when messages are present in
mailboxes, the earliest message is selected and the
segment value of the message area is returned as the
function value.
If there is no message, the task goes into the WAIT status
and it is placed in the last position in the mail box queue.

Poll Message (POLMSG)
System Call 9. POLMSG receives messages from
mailboxes. It has the following syntax.
int POLMSG (mailbo>Lno)

NEe

pPD79011
Receive Direct Message (RCV_DIR)

(1) Parameter.
I/O
In

Name
int mail bO)Lno;

Description
Mail box number (0 to
specified number)

(2) Return value. If there are any messages in the specified mailbox, the message area segment value is
returned. If there is no message, the following error
code is returned.
Error Code
E_MSG

Number
7

Description
No message found

(3) C format.

int RCV_DIR ()

(1) C format.
ercode = RCV_DIR();
If RCV_DIR is issued when there is no message, the task
goes into the WAIT status. If a message is present, the
message area segment value is returned.

Poll Direct Message (POLDIR)

seg = POLMSG(mailbo)Lno);
short mailbo)Lno;
If POLMSG is issued when messages are present in
mail boxes, the earliest message is selected and the
segment value of the message area is returned as the
function value.
If no message is found, unlike the RCV_MSGsystem call,
the task never goes into the WAIT status. Instead, the
E_MSG error code is returned.

Send Message (SND_MSG)
System Call 10. SND_MSG sends messages to mailboxes. It has the following syntax.
int SND_MSG (mailbo)Lno, msg_seg)

(1) Parameter.
I/O Name
Description
In int mailbo)Lno; Mailbox number (0 to
specified number)
In int msg_seg;
Send message area segment

(2) Return value.
Error Code
E_OK

System Call 11. RCV_DIR receives messages sent directly to a task. It has the following syntax.

Number

o

Description
Normal end

(3) C format.
ercode = SND_MSG(mailbo)Lno, msg_seg);
short mailbo)Lno;
short msg_seg;
If SND_MSGis issued when a task is waiting to be
processed, the task is released from the WAIT status, and
the send message area segment value is returned.
If no tasks are in the WAIT status, the message is queued
in the mail box. Like tasks, messages are queued using
the first-in, first-out (FIFO) method.

System Call 12. POLOIR receives messages sent by a
task to itself. It has the following syntax.
int POLDIR ( )

(1) Return value. If POLDIR is issued when a message is
present, .the message area segment value is returned. If no message is present, the following error
code is returned and the task does not enter WAIT
status.
Error Code
E_MSG

Number
7

Description
No message is present

(2) C format.
ercode

=

POLDIR(n);

Send Direct Message (SND_DIR)
System Call 13. SND_DIR specifies a task and sends a
message· to the specified task. It has the following
syntax;
int SND_DIR (task_no, msg_seg)

(1) Parameter.
I/O
In
In

Name
int taslLno;
int msg_seg;

Description
Task number (0 to 62)
Send message area segment

(2) Return val ue.
Number

o

Description
Normal end

(3) C format.
ercode = SND_DIR(task_no, msg_seg);
short taslLno;
short msg_seg;
If SND_DIR is issued when the specified task is waiting
for a message directly, the task is released from the WAIT
status. The message area segment value is returned to
the task.
33

III

NEe

pPD79011
If the specified task is not waiting for any message
directly, the message is placed in the task message
queue using the FIFO method.

RELMEM cannot release memory blocks containing
messages in a mail box or task queue. The memory block
can only be released after a message is received.

MEMORY MANAGEMENT SYSTEM CALLS

TIME MANAGEMENT SYSTEM CALLS

The following system calls are used for memory management.

The following system calls are used for time management.

System
GET_MEM
RELMEM

Call Description
Gets a memory block
Releases the memory block

System Call
GET_TIM
SET_TIM

Description
Reads the system time
Sets the system time

Get Memory (GET_MEM)

Get Time (GET_TIM)

System Call 14. GET_MEM allocates a memory block. It
has the following syntax.

System Call 16. GET_TIM reads the system time. It has
the following syntax.

int GET_MEM ( )

int GET TIM (time_ptr)

(1) Return value. If a memory block is available when
GET_MEM is issued, the memory block segment
value is returned. If no memory block is present, the
following error code is returned.
Error Code
E_BLK

Number
3

Description
No memory block found

(2) C format.
ercode = GET_MEM();

(1) Parameter:

1/0
In

Name
struct Ltime

struct Ltime{
int Uime;
int m_time;
int h_time;};
(3) Return value.

If the error code is returned, the task never goes into the
WAIT status.

(4) C format.

System Call 15. RELMEM releases the specified memory block. It has the following syntax.
int RELMEM (mem_blk)
(1) Parameter:

1/0 Name

Description
In int mem_blk; Segment value of the released
memory block

(2) Return val ue.
Error Code
E_OK

Number

o

Description
Normal end

(3) C format.
ercode = RELMEM(mem_blk);
short mem_blk;
34

Description
Pointer to location
of system time

(2) Time structure.

GET_MEM can use the memory block as a message area
for intertask communications: The memory block size is
specified when the system is started, and the value is
fixed.

Release Memory (RELMEM)

* time_ptr;

Error Code
E_OK

Number

o

Description
Normal end

ercode = GET_TIM(time_ptr);
pointer time_ptr;
The system time is 3-word data. The lower order word is
stored in the lowest order address; the intermediate data
is in the intermediate address; and the upper order data
is in the highest address.
The minimum resolution of the system time is determined by the value set in the time base counter in the
14PD79011. However, since interrupts to the 14PD79011
are inhibited during system call processing, choose the
minimum resolution of the system time with system call
overhead time in mind.

Set Time (SET_TIM)
System Call 17. SET_TIM sets the system time. It has
the following syntax.

t-IEC

pPD79011

Define Interrupt Handler (DE F_INT)

int SET_TIM (time_ptr)
(1) Parameter.
I/O
In

Name
struct Ltime

* time_ptr;

Description
Time pointer

System Call 18. DEF_INT sets the start address of the
interrupt handler. It has the following syntax.
int DE F_INT (device_no, starLadr)
(1) Parameter.

(2) Time structure.
struct Ltime{
int Uime;
int m_time;
int h_time;};

I/O
In

Name
int device_no;

In

int (starLadr) ();

(3) Return val ue.
Error Code·
E_OK

Number
0

Description
Normal end

(4) C format.
pointer time_ptr;
ercode = SET_TIM (time_ptr);
The p.PD79011 uses the on-chip timer base counter
output as the system real-time clock source .. The onchip timer therefore starts its counting operation when
the system is started.The interval from the SET_TIM call
to the next real-time clock interrupt is an error term
associated with the initial call to SET_TIM, and all
subsequent calls produce additional pseudorandom error times. The real-time clock interval is set at configuration time.

INTERRUPT MANAGEMENT SYSTEM CALLS
The following system calls are used for interrupt management:
System Call
DEF_INT

WAUNT
CAN_INT
DIS_INT

Description
Sets the start address of the
interrupt handler
Starts a task waiting for an
interrupt and terminates the
interrupt handler operation
Waits for an interrupt
Releases a task waiting for an
interrupt from WAIT status
Disables interrupts by device
number
Enables interrupts by device
number
Terminates interrupt handler
operation and calls the restart
address

Description
Device number (interrupt
level or vector type)
Pointer to interrupt
handler start address

(2) Return value.
Error Code
E_OK
E_DVN
E_SYS

Number

o
4

5

Description
Normal end
Device number error
System error

(3) C format.
ercode = DEF_INT(device_no, starLadr);
shCirt device_no;
pointer starLadr;
If DE F_INT is issued, correspondence between interrupt
request level of external p.PD71059 interrupt controller
(or interrupt request vector type) and start address ofthe
interrupt handler is established. When an interrupt, request vector type is specified, the interrupt request
control register can also be set at the same time.
If 0 is specified for the interrupt handler start address,
the existing start address is cleared. If the start address
of the interrupt handler is cleared after an interrupt
request level of the interrupt controller is specified, the
mask bit (IMK) equivalent to the specified interrupt
request level is set and the interrupt is masked. Then the
existing start address is cleared.
If the start address of the interrupt handler is cleared
after an interrupt request vector type is specified, the
existing start address is cleared and the interrupt request control register is set. At this time, the interrupt
mask can be set at the same time by explicitly setting bit
6 of the interrupt request control register.
If the start address of the interrupt handler is not 0, the
address is set with no other changes. The IMK (mask bit)
is never altered.
If the start address of the interrupt handler is set after the
vector type of interrupt request is specified, the interrupt
request control register is also set. Therefore, interrupt
mask operation can be specified using bit 6 of the
interrupt request control register.

35

III

NEe

IIPD79011
External Interrupt Controller Definition
The interrupt request level of the external interrupt
controller can be specified by setting 0 in bit 7. It is
specified as follows.
Bit(s)
0-2
3

Description
Slave level interrupt request level
If 0, master/slave configuration;
if 1, master only
Master interrupt request level
Fixed to 0
Upper-order byte is fixed to 0

4-6
7
8-15

The low-order byte is used to specify the interrupt level.
Bits 0 to 2 specify the slave interrupt request level when
in master-slave configuration; bit 3, whether to use any
slave device; bits 4 to 6, the master interrupt request
level.
The interrupt request level of the interrupt controller and
each interrupt request vector type are in one-to-onE~
corrrespondence The interrupt request is divided into 72
levels, and they correspond to interrupt request vector
types 56 to 127.
For example, if; the device consists of only the master, 0
is specified for the master interrupt request level; this
interrupt request vector type becomes 56. Slave interrupt request level 7 must be connected to master interrupt request level 7 when in master-slave configuration
and becomes vector type 127.
The interrupt request vector type can be specified by
setting 1 in bit 7. It is specified as follows.
Bit(s)
0-6
7
8-15

Description
Vector type
Fixed to 1
Interrupt request control register value

The J.(.PD79011 operating system uses the on-chip time
base counter as the system timer. As a result, other tasks
cannot specify vector type 31 (equivalent to the time
base counter) when the system timer function is used.

Signal Interrupt (SIG_INT)
System Call 19. SIG_INT activates a task waiting fo~ an
interrupt and terminates the currently executing .interrupt handler. It has the following syntax.
void SIG_INT (taslLno)
(1) Parameter.
I/O
In

36

Name
int task_no;

Description
Target task number (0 to 62)

(2) C format.
ercode = SIG_INT(taslLno);
short taslLno;
SIG_INT can be issued only from inside an interrupt
handler.
If S IG_I NT is issued, the interrupt handler operation ends
and control is passed to the target task. Therefore, when
SIG_INT is used, control is never passed to the address
following S IG_INT.
If an error occurs, no error code is returned and the
specified task is not started. In this cas'e, control is
returned immediately to the point where the interrupt
was issued.
SIG_INT is not used to control multiprocessing of external or internal interrupt requests. Nesting management
related to the interrupt handler and execution of the EOI
(End Of Interrupt) and FINT (Finish Interrupt) instructions must be done in each interrupt handler.
The procedures used to issue SIG_INT (and system call
RES_INT) differ from those to issue other system calls.
When using assembly language, SIG_INT is issued as
follows.
Procedure
PUSH task_no

Description
The target task number is set in
stack
Far jump to absolute address
OFCOOEH

BR SIG_INT_
ENTRY

Wait for Interrupt (WALINT)
System Call 20. WAUNT moves a task into the WAIT
status. It has the following syntax.
int WAUNT ()
(1) Return value.
Error Code
E_OK
E_INT

Number

o
8

Description
Normal end
Release from interrupt
wait status

(2) C format.
ercode = WAUNT;
When issuing this system call, the" current task goes into
the interrupt wait status. If the SIG_INT system call is
issued to a waiting task (which was invoked by WAUNT),
the specified task is released from the WAIT status.

pPD79011

A task can release another task's WAIT (for interrupt)
status by means of the CAN_I NT system call. Otherwise
an interrupt handler will release the WAIT status after an
interrupt is presented.
If SIG_INT is used to release a task from the WAIT status,
the error code E_OK is returned. If CAN_INT is used to
release the WAIT status, the error code E_INT is returned.

Cancel Interrupt (CAN_INT)
System Call 21. CAN_INT releases the specified task
from the WAIT status. It has the following syntax.
int CAN_INT (taslLno)

Name
int taslLno;

To specify the interrupt request level of the interrupt
controller, set the corresponding IMR (mask bit) of the
external n059. To specify the interrupt request vector
type, set bit 6 of the interrupt request control register.

Enable Interrupt (ENAJNT)
System Call 23. ENAJNT enables interrupts in units of
device number (interrupt request level or interrupt request vector type). It has the following syntax.
int ENAJNT (device_no)

(1) Parameter:

(1) Parameter:
I/O
In

DIS_INT can be issued from either a task or an interrupt
handler:

Description
Task number (0 to 62)

(2) Return val ue.
Error Code Number Description
~OK
0
Normal end
E_INT
8
Task is not waiting for interrupt
(3) C format.
ercode = CAN_INT(taslLno);
short taslLno;

I/O
In

Name
int device_no;

Description
Device number

(2) Return value.
Error Code
E_OK
E_DVN

Number

o
4

Description
Normal end
Device number error

(3) C format.
ercode = ENAJNT(device_no);
short device_no;
ENA..JNT can be issued from either a task or an interrupt
handler.

If CAN_INT is issued to a task that is waiting for an
interrupt (due to system call WAUNT) , the specified task
exits the WAIT status. If CAN_INT is issued when the
specified task is not waiting for any interrupt, the E_INT
error code is returned.

To specify the interrupt request level of the interrupt
controller, reset the corresponding IMR (mask bit) of
external 71059. To specify the interrupt request vector
type, reset bit 6 of the interrupt request register.

Disable Interrupt (DIS_INT)

Reset Interrupt (RES_INT)

System Call 22. DIS_INT disables interrupts in units of
device number (interrupt request level or interrupt request vector type). It has the following syntax.

System Call 24. RES_INT terminates interrupt handler

void RES_INT ( )

int DIS_INT (device_no)

(1) C format.

(1) Parameter:
I/O
In

Name
int device_no;

Description
Device number

(2) Return val ue.
Error Code
E_OK
E_DVN

operation and passes control to the restart address. It
has the following syntax.

Number

o
4

Description
Normal end
Device number error

(3) C format.
ercode = DIS_INT(device_no);
short device_no;

ercode = RES_INTO;
RES_INT is always used in conjunction with system call
SELADR.
If SELADR has been already issued in a task that was
interrupted by a handler that issues RES_INT, control is
passed to the specified restart address. If SET....ADR has
not been issued to that task, control is returned to the
pOint where the interrupt was issued.
RES_INT cannot be used to control multiple interrupt
processing, neither for internal nor for external 71059
37

"PD79011
sources. Management of interrupt handler nesting and
the execution of EOI (End Of Interrupt) and FINT (Finish
Interrupt) instructions must be done in each interrupt
handler.
The procedure .for issuing RES_INT (and system call
SIG_INT) differs from the procedure for issuing other
system calls. Use the following syntax to issue RES_INT
using assembly language.
BR RES_INT_ ENTRY; Far jump to absolute
address FC020H

38

t-{EC

NEe

,.,PD79021

16·Bit Microcomputer:
Single-Chip, CMOS,
With Built-In RlOS

NEC Electronics Inc.

Description
The ILPD79021 is an upgraded ILPD70332 (V35™) singlechip microcomputer with a built-in real-time operating
system (RTOS).
The ILPD79021 provides high-speed multitask processing particularly suited for real-time event processing and
as a kernel of an embedded control system for process
control and data processing applications.
The RTOS kernel provides extensive system calls for
task synchronization, control, and communication as
well as interrupt and time management.
The ILPD79021 instruction set is the same as the V35
instruction set. The ILPD79021 hardware is also identical
to the standard V35, but uses 6K of the internal ROM for
RTOS system code. Refer to the V35 Data Sheet for
hardware-related details and the ILPD79011 Data Sheet
for RTOS system call descriptions.

Features
oReal-time multitask processing
o Supports five types of system calls
- Task management
- Communication management
- Memory management
- Time management
-Interrupt management
o High-speed response to events
- System call processing shortens time to 41 ILS
(minimum) when operated at 8 MHz
- High-speed task switching using V35 register
banks

V35 is a trademark of NEC Corporation.
CP/M is a registered trademark of Digital Research, Inc.
MS-DOS is a registered trademark of Microsoft Corporation.
VMS is a trademark of Digital Equipment Corporation.
UNIX is a trademark of AT&T Bell Laboratories.

50184

o Flexibility to perform status changes by event
driven task scheduling function
o System clock: 8 MHz maximum
o V35 hardware compatibility
o CMOS technology
o Development tools
- V35 software can be used without modification
- Relocatable assembler (RA70320)
- C compiler (CC70116)
- Concurrent CP/M@, MS-DOS@, VMSTM, and
UNIXTM base

Ordering Information
Part Number

Clock

Package

,u.PD79021L-S

SMHz

S4-pin PLCC

8 MHz

94-pln plastic QFP

GJ-S

•.
~

NEe

IJPD79021

"PD79021 Block Diagram
AO
Ag/A1-A 16 /A S
A17 /A 1S

P20/DMARQO

A19

P21/DMAAKO

A1S /UBE

P22fTCO

RESET

P23/DMARQ1

HLDAKlP2 6

P2 4 /DMAAK1

HLDRQ/P27

P2SfTC1

READY/P17
MREQ
MSTB

TxDO

RiW

RxDO

10STB

P16/SCKO

Internal ROM
16K Byte
(RTOS)

CTSO
TxD1

POLUINT/P14

RxD1

crst
P10/NMI
Instruction Decoder

P1 1 "NTPO

Micro Sequencer

P12/1NTP1

Micro ROM

P13"NTP2I
INTAK
P14"NTI
POLL

X1
X2

TOUT/P1S

2

REFRQ CLKOUT/P0 7

PO

P1

P2

PTO-PT7

VDD
GND
83YL-5793B

NEe

Peripherals for CPUs

5-1

NEe

Peripherals for CPUs
Section 5
Peripherals for CPUS
"PD71011

5a

Clock Pulse Generator/Driver

"PD71 037

5b

Direct Memory Access (DMA) Controller

"PD71 051

5c

Serial Control Unit

"PD71 054

5d

Programmable Timer/Counter

"PD71 055

5e

Parallel Interface Unit

"PD71 059

5f

Interrupt Control Unit

"PD71 071

59

DMA Controller

"PD71 082, 71083

5h

8-Bit Latches

"PD71 084

5i

Clock Pulse Generator/Driver

"PD71 086, 71087

5j

8-Bit Bus Buffer/Drivers

"PD71 088

5k

System Bus Controller

"PD71641
Cache Memory Controller

5-2

51

NEe

pPD71011
Clock Pulse
Generator/Driver

NEe Electronics Inc.

Description

Pin Configurations

The p.PD71011 is a clock pulse generator/driver for the
V20@N30@ microprocessors and their peripherals using
NEC's high-speed CMOS technology.

IS-Pin Pla.tic DIP

Features
CJ
CJ

CJ
CJ

CJ

CJ

CMOS technology
Clock pulse generator/driver for p.PD70108/70116 or
other CMOS or NMOS CPUs and their peripherals
SO% duty cycle
Frequency source can be crystal or external clock
input
Reset signal with Schmitt-trigger circuit for CPU or
peripherals
Bus ready signal with two-bus system
synchronization

CJ

Clock synchronization with other p.PD71011 s

CJ

Si,ngle +S-volt ±10% power supply
Industrial temperature range: -40 to +8SoC

CJ

Ordering Information
Part Number
~PD71011 C-8

Maximum Clockout
Frequency

8 MHz

C-10

10 MHz

G-8

8 MHz

1

6

VOO
X1
X2
ROYSYN
EXFS

Fix
OSC
RESIN
RESET
83-000196A

2O-Pin Pla.tic SOP
CKYSN
PRClK
NC
RENl
RDYl
READY
RDY2
REN2
ClK
VSS

VDD
Xl
NC
X2
RDYSYN
EXFS
FiX
OSC
RESIN
RESET

m
83ML-6187A

Package
18-pin plastic DIP

20-pin plastic SOP

V20 and V30 are registered trademarks of NEC Corporation

50153

CKSYN
PRClK
REN1
RDY1
READY
RDY2
REN2
ClK

NEe

I'PD71011
Pin Identification
Symbol

Function

CKSYN

Clock synchronization Input

ClK (Processor Clock)
The ClK output supplies the CPU· and its local bus
peripherals' clocks. ClK is a 50-percent duty cycle clock
of one-half the frequency of the external frequency
source. The ClK output is +0.4 V higher than the other
outputs.

PRClK

Peripheral clock output

J=fEN1

Bus ready enable Input 1

RDY1

Bus ready Input 1

READY

Ready output

PRClK (Peripheral Clock)

RDY2

Bus ready Input 2

The PRClK output supplies a 50-percent duty cycle
clock at one-half the frequency of ClK to drive peripheral
devices.

J=fEN2

Bus ready enable Input 2

ClK

Processor clock output

Vss

Ground potential

RESET

Reset output

~

Reset Input

esc

Oscillator output

FIX

External frequency source/crystal select Input

EXFS

External frequency source input

RDYSYiil

Ready $ynchronization select input

X2

Crystal input

X1

Crystal input

Voo

+5-volt power supply

NC

No connection

PIN FUNCTIONS
X1, X2 (Crystal)

OSC (Oscillator)
OSC outputs a Signal at the same frequency as the
crystal input. When EXFS is selected, the OSC output is
powered down, and its output will be a high.

CKSYN (Clock Synchronization)
CKSYN synchronizes one ~PD71011 to other ~PD71011 s.
A high level at CKSYN resets the internal counter, and a
low level enables it to count.

RESIN (Reset)
This Schmitt-trigger input generates the RESET output.
It is used as a power-on reset.

RESET (Reset)

When FiX is low, a crystal connected to X1 and X2 will be
the frequency source for a CPU and its peripherals. The
crystal frequency should be two times the frequency of
ClK.

This output is a reset signal for the CPU. Reset timing is
provided by the RESIN input to a Schmitt-trigger input
gate and a flip-flop which will synchronize the reset
timing to the falling edge of ClK. Power-on reset can be
provided by a simple RC circuit on the RESIN input.

EXFS (External Frequency Source)

RDY1, RDY2 (Bus Ready)

EXFS input is the external frequency input in the external TTL-frequency source mode (FiX high). A square
TTL-level clock signal two times the frequency of ClK's
output should be used for the source.

A peripheral device sends RDY1 or RDY2 to signal that
the data on the system bus has been received or is ready
to be sent. REN1 and REN2 enable the RDY1 or RDY2
signals.

FIX (Frequency/Crystal Select)

REN1, REN2 (Bus Ready Enable)

FIX input selects whether an external TTL-type input or
an external crystal input is the frequency source of the
ClK output. When FIX is low, ClK is generated from the
crystal connected to X1 and X2. When FIX is high, ClK
is generated from an external TTL-level frequency input
on the EXFS pin. At the same time, the internal oscillator
circuit will go into stop mode and the OSC output will be
high.

REN1 and REN2 qualify their respective ROY inputs.

2

1\fEC

pPD71011

RDYSYN (Ready Sychronization Select)
RDYSYN selects the mode of READY signal synchronization. A low-level signal makes the synchronization a
two-step process. This is used when RDY1 and RDY2
inputs are not synchronized to ClK. A high-level signal
makes synchronization a one-step process. This is used
when RDY1 and RDY2 are synchronized to ClK. See
block diagram.

READY (Ready)
The READY signal to the processor is synchronized by
the ROY inputs to the processor ClK. READY is cleared
after the ROY signal goes low and the guaranteed hold
time of the processor has been met.

Figure 1 shows the recommended circuit configuration.
Capacitors C1 and C2 are required for frequency stability. The values of C1 and C2 (C1 = C2) can be calculated
from the load capacitance (CL,) specified by the crystal
manufacturer.
C L-

C1 x C2
C1 + C2

Where CS is any stray capacitance in parallel with the
crystal, such as the p.PD71011 input capacitance CIN.

Figure 1. Crysl., Conligur.,lon CirculI

pPD71011

Crystal
The oscillator circuit of the p.PD71011 works with a
parallel-resonant, fundamental mode, '~T cut" crystal
connected to pins X1 and X2.

83-001577A

I'PD71011 Block Diagram
X1
X2

i----.------------
  • - - - - - - - 0 osc PRClK FIX EXFS 0--------1 CKSYNo-------------------------~~--+_----r_~ REN1 0-----, RDY1 0-----' REN2 0------, ClK RDYSYN RESIN READY o----------------------------~ o--------------------~~--------------, RESET 83-0001978 3 NEe pPD71011 Absolute Maximum Ratings DC Characteristics = -40 to +85°C; voo .. 5 V :t10% TA = 25°C; VS8 .. 0 v TA Power supply voltage, Voo - 0.5 to + 7.0 V Input voltage, VI - 1.0 V to Voo + 1.0 V Output voltage, Vo - 0.5 V to Voo + 0.5 V Parameter Symbol Input voltage, high VIH Input voltage, low VIL Storage temperature, T8TG Output voltage, high VOH 500mW Power dissipation, Po (SO package) 200mW Max Unit Conditions 2.6 Operating temperature, TOPT Power dissipation, Po (DIP) Min __2_.2_ _ _ _V _ _ _ _ __ V 0.8 Voo -0.4 Voo-0.8 Output voltage, low Exposure to Absolute Maximum Ratings for extended periods may affect device reliability; exceeding the ratings could cause permanent damage. The device should be operated within the limits specified under DC and AC Characteristics. VOL Input leakage current liN RESIN input -1.0 1.0 1.0 V ClK output, 10H = -4mA V 10H" -4 rnA VIOL" 4 rnA 0.45 -400 RESI N input V p.A RDYSYN input V 0.20 hysteresis Capacitance TA .. 25°C; Voo = +5 V Parameter Symbol Input capacitance CIN Min Max Unit Conditions 12 pF tc'" 1 MHz Power supply current (static) 100 Power supply current (dynamic) loodyn 200 30 p.A rnA fin" 20 MHz AC Characteristics = f08C 10 MHz; TA -40 to +85°C; Voo ... +5 V ± 10% fOSC = 16 MHz; TA -10 to +70°C; Voo - +5 V :t5% f08C = 20 MHz; TA -10 to +70°C; VOO ... +5 V ±5% "PD71011-10 "PD71011 Parameter Symbol Min Max Min Max Unit Conditions Clock Timing EXFS input cycle time EXFS pulse width, high EXFS pulse width, low tCYFS 50 50 ns tPWF8H 20 20 ns 20 ns tPWFSL 20 OSC cycle time fosc 8 CKSYN pulse width tpwCT CKSYN setup time tHF8CTK 20 8 20 MHz 2tCYF8 2tCYF8 ns 20 20 ns ns 2.2 V measurement point 0.8 V measurement pOint from EXFS CKSYN hold time t8CTF8 20 20 ClK cycle time tC't'CK 125 100 ns ClK pulse width, high tpwCKH 80 41 ns 3.0 V, f08C == 10 MHz, f08C == 20 MHz ns 3.0 V, f08C == 16 MHz ns = 20 MHz = 16 MHz 1.5 ... 3.0 V, f08C = 10 MHz, f08C = 20 MHz 1.5'" 3.0 V, fosc = 16MHz 3.0 ... 1.5 V, f08C = 10 MHz, f08C = 20 MHz 3.0 ... 1.5 V, f08C = 16 MHz 50 ClK pulse width, low tPWCKl 90 49 ns 60 ClK rise time 10 iLHCK 5 ClKfall time 10 tHLCK ns ns 8 5 ns ns 7 1.5 V, f08C = 10 MHz, f08C 1.5 V, f08C OSC to ClK i delay tOCK 2 30 2 30 ns ClKi OSC to ClK J, delay tOCK -6 28 -6 28 ns ClKJ, PRClK cycle time tCYPRK 250 4 200 ns NEe IIPD7 1011 AC Characteristics (cont) "PD71011 Parameter Max "PD71011-10 Symbol Min Min Max PRClK pulse width, high tpWPRKH tCYCK -20 tCYCK -20 ns PRClK pulse width, low tpWPRKL tCYCK -20 tCYCK -20 ns PRClK i delay from ClK,J. tOPRKH 22 22 ns PRClK,J. delay from ClK,J. tOPRKL 22 22 ns Unit Conditions Clock Timing (cont) Reset Timing RESIN setup to ClK,J. tSRICK 65 65 ns RESIN hold from ClK,J. tHCKRI 20 20 ns RESET delay from ClK ,J. tOCKRS 40 20 ns Ready Timing (RDYSYN = 'H7 REN1, 2 setup to RDY1, 2 REN1, 2 hold from ClK,J. RDY1, 2 setup to ClK ,J. tSRERY 15 15 tHCKRE 0 0 ns ns 35 ns tSRYCK 35 RDY1, 2 hold from ClK ,J. tHCKRY 0 0 ns RDYSYN setup to ClK ,J. tSRYSCK 50 50 ns RDYSYN hold from tHCKRYS 0 0 ns READY output delay from ClK ,J. tOCKROY RDYSYN high 8 8 ns READYi 8 8 ns READY,J. III Ready Timing (RDYSYN = 'L 7 REN1, 2 setup to RDY1, 2 tSRERY 15 15 ns REN1,2 hold from ClK,J. tHCKRE 0 0 ns RDY1, 2 setup to ClK tSRYCK 35 35 ns RDY1, 2 hold from ClK ,J. tHCKRY 0 0 ns RDY8YN setup to ClK ,J. tSRYSCK 50 50 ns tHCKRYS 0 0 RDYSYN hold from ClK ,J. READY output delay from ClK,J. tOCKROY RDYSYN low ns 8 ns READYi 8 8 ns READY,J. 8 Output Pin Timing Rise time tLH 20 20 ns 0.8 -+ 2.0V Fall time tHL 12 12 ns 2.0 -+ 0.8 V 5 NEe IIPD71011 Timing Waveforms AC Test Input (except RESIN) AC Test Output (CLK) 2.6V =>{2.2V 2. 2V X = Test Points 0.8 V 0.8 V 0.45 V ..;;.;.;;~------------RESIN: Input high level Input low level 3.00 V 0.45 V Measurement point Measurement point tPWCKH 2.6 V 0.8 V 83-004046A AC Test Output (except CLK) =>{ 2.2V 0.8 V Test Points - tpWCKL tHLCK...... ... .... ... tLHCK 83-004048A 2.2VX= 0.8 V. ~------------------------ 83-004047A Clock Output FIX ~~____________________________________________________________________ EXFS/OSC CKSYN ClK PRCLK ----------------------~ 83-004049B 6 NEe IIPD71011 Timing Waveforms (cant) RESET Pin ClK RESIN IDCKRS/_ RESET IOCKRS- { 83-0040508 READY Pin (RDYSYN = 6H, RENI.,:) ISRERY .- IHCKRE -- ROY1,2 cm ClK IHCKRYS -RDYSYN IDCKRDV_j IDCKRDV_ L READY 83-0040518 7 NEe pPD71011 Timing Waveforms (cant) READY Pin (RDYSYN = 6L, 83-0040528 8 NEe IIPD71011 Test Circuit for CLK to READY (in EXFS Oscillation Mode) Test Circuit for CLK High Dr Low Time (in Crystal Oscillation Mode) VDD ,....._ _ _ _...... FiX .-----.---1 Xl ClK 16 MHz [:::::J .-_._---1 71011 X2 ClK RENl EXFS READY I Cl FiX c2 71011 CKSYN 1 83ML-6145A 1-----1 RDY2 REN2 Test Circuit for CLK High Dr Low Time (in EXFS Oscillation Mode) CKSYN 83ML-6148A Loading Circuits Voo r - - - - - - - - , FiX Load 1 Vl= 2.SV ClK Rl=525n 71011 0ad2 S=1 Vl=2.3V Rl=47Sn 71011 EXFS Cl=100pF CKSYN forCLK 'I Cl=30 pF 'I for Other Output ExceptCLK 83ML-6149A 83ML-6146A Test Circuit for CLK to READY (in Cryst.IOscillation Mode) Voo ,....._ _ _ _....... RENl ClK . - - - - - - - -......--1 Xl 16 MHz I::] . - - - - - -......--1 X2 READY 71011 RDY2 Cl I I C2 FiX REN2 asc CKSYN 83ML-6147A 9 pPD71011 10 NEe NEe pPD71037 Direct Memory Access (DMA) Controller NEe Electronics Inc. Description The p.PD71037 is a direct memory access (OMA) controller that provides high-speed data transfers between peripheral devices and memory for microprocessor systems. It is faster and draws less power than its predecessors. The unit has four DMA channels, each with a 64K-byte address area and a transfer byte count function. The channels enable I/O-to-memory and memoryto-memory data transfer. The p.PD71037 is a versatile DMA controller that can be used for the following applications. • Office automation equipment (personal computers, small business computers, EWS, etc.) • Communications • Instrumentation • Control Features o Processing speed of 10 MHz (twice that of the p.PD8237A-5) o Four independent DMA channels o Self-initialization for each channel o Memory-to-memory data transfer o Block-level memory initialization o High-speed data transfer - 3.2 Mb/s, 10-MHz normal transfer - 5.0 Mb/s, 10-MHz compression transfer o DMA channel count directly expandable in expansion mode o END input for the end of transfer o Software DMA request o CMOS o Low power consumption 50169 Ordering Information Part Number Clock (MHz) Package "PD71037CZ-10 10 40-pln plastic DIP (600 mlQ GB-10 10 44-pln plastic QFP LM-10 10 44-pln PLCC Pin Configurations 4D-Pln PI••tlc DIP lORD IOWR MWR 4 READY HlDAK ASTB 8 HlDRQ Cs ClK RESET DMAAK2 DMAAK3 DMARQ3 DMARQ2 DMARQ1 DMARQO GND A7 A6 AS A4 ENDfTC A3 A2 A1 Ao VDD ADo AD1 AD2 AD3 AD4 DMAAKO DMAAK1 ADs AD6 AD7 * Undefined; same non-function as ~PD8237A S3YL·5812A NEe pPD71037 Pin Identification U-Pin PI••fic QFP READY 33 A3 HLDAK 32 A2 ASTB 31 A1 AEN 30 AO HLDRQ 29 NC 28 VDD NC CS 27 AOO CLK 26 AD1 RESET 25 24 · AD 2 AD3 23 AD4 DMAAK2 DMAAK3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~~ c( c( c( c( ~ ~ ~ ~ o 0 0 0 () Z '" <0 N N N I/O Function Aq-A3 3-state I/O Four low-order bits of address bus ~-A7 3-state out Middle four bits of the output state address bus ADrrAD7 3-state I/O Eight high-order bits of the address and funct,lons as an 8-blt data bus AEN Out Permits output from an external latch connectec;t to t~e "PD71037 ASTB Out Makes an external latch to the high-order address ClK In Clock Input for Internal operations and data transfer speeds es In Selects the "PD71037 as an I/O device and enables read/Wrlte operation Out Permits peripheral device to perform DMA transfer T"'" 0 DMAAKODMAAK3 0 ~0 DMARQO- In DMARQ3 Requests the "PD71037 to perform DMA transfer tNDtfC I/O Input that forces the "PD71037 to terminate DMA transfer; output that posts the end of DMA transfer HlDAK In Permits the "PD71037 to hold the bus HlDRQ Out Requests the host CPU to hold the bus fORD 3-state I/O Input that enables the host CPU to read the "PD71037 status; output that enables the "PD71037 to read data from a peripheral device during DMA transfer IOWA 3-state I/O Input that enables the host CPU to write data to the "PD71037; outputlhat enables the "PD71037 to write data to a peripheral device during DMA transfer 000::':: ::.:: c( c( c(.~ Lt) Symbol 83vB-6516A U-Pln PLCC NC 39 NC 38 A2 HLDAK 37 A1 ASTB 36 AO AEN 35 VDD HLDRQ 34 ADO A3 Cs 33 AD1 MAD 3-state out Memory read during DMA transfer CLK 32 AD2 ~ 3-state out Memory write during DMA transfer RESET 31 AD3 READY In DMAAK2 30 AD4 Requests extension of a read/Wrlte cycle during DMA transfer 29 NC RESET In Initializes the "PD71037 NC ~ ~ ~ N ~ ~ ~ ~ ~ ~ co N ~8~o8or-- DI "-r-- ~ HLDAK f~ Ao-A7 STB ~ - UBE, Ao-A19 DO Aa- A 15 DE L ~ i ) - HLDRQ Ao-A7 ADo -AD 7 h IlPD71 037 ASTB B Ao-A7 lJ L~A > Address Bus j> HLDRQ ASTB I - HLDAK DO ~7 .. Data Bus (High-order Byte) T I - - f-- A OE ~ ~PD710a6 ) y Data Bus (Low-order Byte) ~PD710a2 - AEN ' - - - I DO ' - - ' - - DI y STB j OE t 83YL·5815B V20 and V30 are registered trademarks of NEC Corporation 6 NEe pPD71037 "PD71037 Block Diagram Bus Control Unit < < I Add~~ I " < II Buffer Data Bus Buffer I I CS Address Registers ClK I RESET READY Bus Control logic ASTB AEN MRD,MWR IORD,IOWR " I , DMAROODMARQ3 DMAAKODMAAK3 4 Count Registers ~ Priority Control logic I HlDRQ I Address Set (16 x 4) I I11m'... Coo,,"' I logic ENDITC l I Count Set (16x 4) Effective Count (16 x 4) Control Registers I I Device Control (8) Status Read (8) .. Internal Data Bus (8) 2, DMA Control Unit 11 Effective Address (16 x 4) D D A K 2 4, HlDAK Address IncremenV Decrement (16) Internal Address Bus (16) > Mode Control (4 x 6) Temporary Data (8) Request Control (4) I Mask.Control (4) J D Count Decrement (16) 83YL·6264B INTERNAL BLOCK FUNCTIONS The #,PD71037 has the following functional units as shown in the block diagram. • • • • • • • Bus control unit DMA control unit Address registers Address incrementer/decrementer Count registers Count decrementer Control registers Bus Control Unit The bus control unit consists of the address and data buffers and bus control logic. The bus control unit generates and receives signals that control addresses and data on the Internal address and data buses. DMA Control Unit The DMA control unit contains the priority and timing control logic. The priority control logic determines the priority level of DMA requests and arbitrates the use of the bus in accordance with this priority level. The DMA control unit also provides internal timing and controls DMA operations. Address Registers Each of the four DMA channels has one address set register and one effective address register. Each register stores a DMA 16-bit address. The effective address register is updated for each single-byte DMA transfer and constantly holds the address to be transferred next. The contents of the address set register remain unchanged until the host CPU writes a new value to it. At self-initialization, the initial DMA address for the next DMA service is transferred from the address set register to the effective address register. Address Incrementer/Decrementer The address incrementer/decrementer updates the contents of the current address register whenever a DMA transfer completes. 7 m NEe pPD71037 Count Registers Each of the four DMA channels has one 16-bit count set register and one 16-bit effective count register that store a DMA transfer byte count. The count set register holds a value written by the CPU. At self-initialization the value is transferrred to the effective address register where it is set as the number of DMA transfers in the next DMA service. A channel's effective count register is decremented by 1 for each single-byte transfer and constantly holds the remaining number of DMA transfers. If a ~orrow occurs when this register is decremented, the terminal count is set to mark the end of the specified number of DMA transfers. Figure 1. DIM Operation Flow No Inactive Cycle No Count Decrementer The count decrementer decrements the contents of the effective count register by 1 when each DMA transfer takes place. DMACycle No Control Registers The #,PD71037 contains six registers that control the bus mode, pin active levels (DMARQ and DMAAK), and the DMA transfer mode. Inactive Cycle 83YL-5816A DMA OPERATION Inactive Cycle The #,PD71037 operates in an inactive cycle and a DMA cycle. Figure 1 illustrates basic DMA operation flow. During the inactive cycle, the host CPU has authority and the #,PD71037 is in one of the following states. • The #,PD71037 has not yet received an effective DMA service request from a peripheral device. • The #,PD71037 has received an effective DMA service request, but has not yet received bus authority from the host CPU. • The #,PD71037 performs the following operations during the inactive cycle. - Detecting a DMA service request - Requesting bus authority - Selecting a DMA channel - Programming In the inactive cycle, there are no active DMA cycles but there may be one or more active DMA requests. However, the CPU has not yet released the bus. Detecting a DMA Service Request. The #,PD71037 wiIJ sample the four DMARQ input pins for each clock Signal. 8 NEe Requesting Bus Authority. When an effective (unmasked) DMA request is received, a bus hold request signal (HLDRQ) is output to the host CPU. The "PD71037 continues to sample DMA requests until it obtains the bus by HLDAK input. Selecting a DMA Channel. After the CPU returns an HLDAK signal and the "PD71037 obtains the bus, the "PD71037 stops DMA sampling and selects the DMA channel with the highest priority from the valid DMA request signals. pPD71037 Figure 2. Generalion of Terminal Count (TC) No Programming. Before DMA transfer, the transfer addresses, the number of DMA transfers, the DMA transfer mode, and the active levels of the DMARQ and DMAAK pins must be determined. While the host CPU holds bus authority, "PD71037 programming can be done by inputting a low signal to the CS pin. The four low-order address bits (Ao-As) specify a register for a read/write operation. Inputting an 10RD/IOWR signal performs the operation on the specified register. DMACycle In a DMA cycle, the "PD71037 controls the bus and performs DMA transfer operations based on· programmed information. Terminal Count. External input of an END signal or internal generation of a terminal count terminates DMA transfer. The terminal count is generated when a borrow occurs as a result of decrementing the effective count register, which counts the number of DMA transfers in bytes. When this occurs, the "PD71037 outputs the low level pulse TC. Figure 2 shows that the effective count register is tested after each DMA operation. A borrow is detected after each DMA transfer is completed. As a result, the actual number of DMA transfers is one greater than the value set in the effective count register. If self-initialization is not set when DMA service ends, the mask control register bits applicable to the channel where service is ended are set, and the DMARQ input of that channel is masked. 83YL·6265A DMA Transfer Type The type of transfer the "PD71037 performs depends on the following conditions. • Memory-to-memory transfer enable • Direction of I/O-to-memory transfer for each channel • Transfer mode of each channel Memory-to-Memory Transfer Enable. The "PD71037 performs each DMA transfer (1 byte of data) between an I/O device and memory in a one-bus cycle and between ~ memories in a two-bus cycle. _ Memory-to-memory transfer can occur only when bit 0 of the device control register is set to 1. The DMA channels used in memory-to-memory transfers are fixed, with channel 0 as the source channel and channel 1 as the destination channel. Channels 2 and 3 cannot be used in memory-to-memory transfers. The contents of the count registers of each channel should be the same when performing this type of DMA transfer. The "PD71037 performs the following operations until a channel 0 terminal count or until END input is present. Only the block mode is valid for this type of transfer. (1) The memory data pointed to by the effective address register of channel 0 is read into the temporary data register of the "PD71037 and the effective address register and effective count register of channel 0 are updated. (2) The temporary register data is written to the rnemory location shown by the effective address register of channel 1; the effective address register and effective count register are updated. 9 NEe pPD71031 During memory-to-memory transfers, the address of the transfer source can be fixed using the device control register. In this manner, a range of memory can be padded with the same value (0 or 1) since the contents of the source address never change. During memory-tomemory transfer, the DMAAK signal and channel a's terminal count (TC) are not output. Note: If DMARQ1 (channel '1) becomes active, the #,PD71037 will perform memory-to-I/O transfer even though memory-to-memory transfer is selected. Since this may cause erroneous memory-to-memory transfers, mask out channel 1 (DMARQ1) by setting bit 1 of the mask register to 1 before starting memoryto-memory transfers. Direction of I/O-to-Memory Transfers. All DMA transfers use memory as a reference point. Therefore, a DMA read reads a memory location and writes to an 1/0 port. A DMA write reads an I/O port and writes the data to a memory location. In memory-to-I/O transfer, use the mode control register to set one of the transfer directions in table 1 for each channel and activate the appropriate control signals. mode of DMA transfer for each channel. Table 2 shows the various transfer modes and termination conditions. Table 2. Transfer Termination Transfer Mode End of Transfer Condition Single After 1 byteof 0CD 0"I~ ~ III: == ICI) 0 Read strobe input Receiver ready output TxRDY Transmitter ready output SYNC/BRK Synchronization/Break input/output CTS Clear to send input TxEMP Transmitter empty output NC Not connected RxROY RESET [Reset] ;: o~ RD RxRDY 0 7 -00 [Data Bus] TxROY pPD71051 15 14 CD ,... Chip select input Control or data input DrDo are an 8-bit, 3-state, bidirectional data bus. The bus transfers data by connecting to the CPU data bus. SYNC/BRK 03 on CS C/D Pin Functions en ... Voo 02 >C I83-004212A 2 Function TxDATA A high level to the RESET input resets the pPD71051 and puts it in an idle state. It performs no operations in the idle state. The pPD71051 enters standby mode when this signal falls from a high level toa low level. Standby mode is released when the CPU writes a mode byte to thepPD71 051. The reset pulse width must be at least 6 tCYK cycles and the clock must be enabled. NEe pPD71051 ClK [Clock] 6'S'R [Data Set Ready] This clock input produces internal timing for the pPD71 051. The clock freq uency shou Id be at least 30 times the transmitter or receiver clock input frequency (TxCLK, RxCLK) in sync or async mode with the X1 clock. This assures stable operation. The clock frequency must be more than 4.5 times the TxCLK or RxCLK in async mode using x16 or x64 clock mode. DSR is a general-purpose input pin that can be used for modem control. The status of this pin can be determined by reading bit 7 of the status byte. CS [Chip Select] The CS input selects the pPD71051. The pPD71051 is selected by setting CS = O. When CS = 1, thepPD71051 is not selected, the data bus (DrDo) is in the high impedance state, and the RD and WR signals are ignored. RD [Read Strobe] The RD input is low when reading data or status information from the pPD71051. WR [Write Strobe] The WR input is low when writing data or a control byte to the pPD71051. DTR [Data Terminal Ready] DTR is a general-purpose output pin that can be used for modem control. The state of this pin can be controlled by writing bit 1 of the command byte. If bit 1 = 0, then DTR = 1. If bit 1 = 1, then DTR = O. RTS [Request to Send] RTS is a general-purpose output pin that can be used for modem control. The status of this pin can be controlled by writing bit 5 of the command byte. If bit 5 = 1, then RTS = O. If bit 5 = 0, then RTS = 1. CTS [Clear to Send] The CTS input controls data transmission. The pPD71051 is able to transmit serial data when CTS = 0 and the command byte sets TxEN = 1.lf CTS is set equal to 1 during transmission, the sending operation stops after sending all currently written data and the TxDATA pin goes high. C/O [Control or Data] The C/O input determines the data type when accessing the pPD71051. When C/O = 1, the data is a control byte (table 1) or status. When C/O = 0, the data is character data. This pin is normally connected to the least significant bit (Ao) of the CPU address bus. Table 1. cs Control Signals and Operations iiD WR ciii tJ PD71051 CPU Operation Receive data buffer <7 Read receive data Data bus Status register ~ Read status Data bus Data bus <> Write transmit data Transmit data buffer Data bus 0 Write control byte Control byte regIster Data bus High impedance Data bus: High impedance TxDATA [Transmit Data] The pPD71051 sends serial data over the TxDATA output. TxRDY [Transmitter Ready] The TxRDY output tells the CPU that the transmit data buffer in the pPD71051 is empty; that is, that new transmit data can be written. This signal is masked by the TxEN bit of the command byte and by the CTS input. It can be used as an interrupt signal to request data from the CPU. The status of TxRDY can be determined by reading bit status byte. This allows the pPD71051 to be polled. Note that TxRDY of the status byte is not masked by CTS or TxEN. o of the TxRDY is cleared to 0 by the falling edge of WR when the CPU writes transmit data to the pPD71 051. DCita in the transmit data buffer that has not been sent is destroyed if transmit data is written while TxRDY = O. None None 3 pPD71051 TxEMP [Transmitter Empty] The pPD71051 reduces CPU overhead by using a double buffer; the transmit data buffer (second buffer) and the transmit buffer (first buffer) in the transmitter. When the CPU writes transmit data to the transmit data buffer (second buffer), the pPD71051 sends data by transferring the contents of the second buffer to the first buffer, after transmitting the contents of the first buffer. This empties the second buffer and TxRDY is set to 1. The TxEMP output becomes 1 when the contents of the first buffer are sent and the second buffer is empty. Thus, TxEMP = 1 shows that both buffers are empty. In half-duplex operation, you can determine when to change from sending to receiving by testing TxEMP= 1. When TxEMP = 1 occurs in async mode, the TxDATA pin goes high. When the CPU writes transmit data, TxEMP is set to 0 and data transmission resumes. When TxEMP = 1 occurs in sync mode, thepPD71051 loads SYNC characters from the SYNC character register and sends them through the TxDATA pin. TxEMP is set to 0 and resumes sending data after sending (one or two) SYNC characters and the CPU writes new transmit data to the pPD71051. TxCLK [Transmitter Clock] The TxCLK input is the reference clock input that determines the transmission rate. Data is transmitted at the same rate as TxCLK in sync mode. In async mode, set TxCLK to 1, 16, or 64 times the transmission rate. Serial data from TxDATA is sent at the falling edge of TxCLK. For example, a rate of 19200 baud in sync mode means that TxCLK is 19.2 kHz. A rate of 2400 baud in async mode can represent a TxCLK of: x1 clock = 2.4 kHz x16 clock = 38.4 kHz x64 clock = 153.6 kHz RxDATA [Receive Data] ThepPD71051 receives serial data through the RxDATA input. RxRDY [Receiver Ready] The RxRDY output becomes 1 when the pPD71051 receives one character of data and transfers that data to the receive data buffer; that is, when the receive data can be read. This signal can be used as an interrupt signal for a data read request to the CPU. You can 4 NEe determine the status of RxRDY by reading bit 1 of the status byte and use the pPD71 051 in a polling application. RxRDY becomes 0 when the CPU reads the receive data. Unless the CPU reads the receive data (after RxRDY = 1 is set) before the next Single character is received and transferred to the receive buffer, an overrun error occurs, and the aVE status bit is set. The unread data in the receive data buffer is overwritten by newly transferred data and lost. RxRDY is set to 0 in the receive disable state. This state is set by changing the RxEN bit to 0 through the command byte. After RxEN issetto 1 (making receiving possible), RxRDY becomes 1 whenever new characters are received and transferred to the receive data buffer. SYNC/BRK [Synchronization/Break] The SYNC pin detects synchronization characters in sync mode. The SYNC mode byte selects internal or external SYNC detection. The SYNC pin becomes an output when internal synchronization is set, and an input when externa.1 synchronization is set. The SYNC output goes high when the pPD71051 detects a SYNC character in internal synchronization. When two SYNC characters are used, SYNC goes·high when the last bit of the two consecutive SYNC characters is detected. You can read the status of the SYNC signal in bit 6 of the status byte. Both the SYNC pin and status are set to 0 by a read status operation. In external synchronization, in order for the external circuit to detect synchronization, a high level of at least one period of RxCLK must be input to the SYNC pin. When the pPD71 051 detects the high level, it begins to receive data, starting at the rising edge of the next RxCLK. The high level input may be removed when synchronization is released. The BRK output is used only in async mode and shows the detection of a break state. BRK goes high when a low level signal is input to the RxDATA pin for two character bit lengths (including the start, stop, and parity bits). As with SYNC, you can read the status of BRK in bit 6 of the status byte. BRK is not cleared by the read operation. The set BRK signal is cleared when the RxDAT A pin returns to high level, or when the pPD71051 is reset by hardware or software. The SYNC/BRK pin goes low on reset, regardless of previous mode. Figure 1 shows the break state and BRK signal. NEe pPD71051 Block Diagram RxCLK [Receiver Clock] RxCLK is a reference clock input that controls the receive data rate. In sync mode, the receiving rate is the same as RxCLK.ln async mode, RxCLK can be 1, 16, or 64 times the receive rate. Serial data from RxDATA is input by the rising edge of RxCLK. 07- Do TxOATA TxROY TxEMP TxClK Voo [Power] +5 V power supply. GND [Ground] RESET ClK C/O Ground. Figure 1. AD WR Break Status and Break Signal IIr B-blt Character, No Parity Charac~er Bits r RxOATA - , ) 'Do 07 ~~ Stop Bit [2J Charac!er Bits Do r 0; i----First Data ., • Second Oata---i Block Block [1 J BRK __________________________ ~~ lIT 6-blt Character with Parity RCharac~er ~Charact!er ,II m Parity Bit Stop Bit [2J Start Bit Start Bit Bits Bits i i i RxOATA - - , Do 05 Parity Bit Stop Bit Start Bit Do I 05 i--Flrst Oata---!-- Second Oata-..l Block Block [1 J BRK --------------------~ Note: [1J When RxOATA goes high In the stop bit position ofthe second data block, the BRK signal level may [but does not alwaysJ become high for a maximum of one bit time. [2J Only one bit of the stop bit is checked. 83-000783A IlPD71051 Functions The pPD71051 is a CMOS serial control (USART) unit that provides serial communications in microcomputer systems. The CPU handles thepPD71 051 as an ordinary 1/0 device. ThepPD71 051 can operate in synchronous or asynchronous systems. In sync mode, the character bit length, number of sync characters, and sync detection mode must be designated. In async mode, the communication rate, character bit length, stop bit length, etc., must be designated. The parity bit may be designated in either mode. CTS RTS OSR OTR 83-000782A Stop Bit StartBit ) cs RxOATA RxROY SYNC/BRK RxClK The CPU can read the current status of the pPD71 051 and can process data after checking the status, after checking fortransfererrors, andpPD71051 data buffer status. ThepPD71051 can be reset under hardware or software control to a standby mode that consumes less power and removes the device from system operation. In this mode, the pPD71 051 's previous operating mode is released and it waits for a mode byte to set the mode. The pPD71051 leaves standby mode and shifts to a designated operating mode when the CPU writes a mode byte to it. Status Register The status register allows the CPU to read the status of the pPD71051 except in standby mode. This register indicates status and allows the CPU to manage data reading, writing, and error handling during operations. Receive Data Buffer When the receiver has converted the serial data input from the RxDATA pin into parallel,data, the converted data is stored in the receive data buffer. The CPU can then read it. Data for one character entering the receive buffer is transferred to the receive data buffer and RxRDY becomes 1, requesting that the CPU read the data. ThepPD71051 converts parallel data received from the CPU into serial transmitted data (from the TxDATA pin), and converts serial input data (from the RxDATA pin) into parallel data so that the CPU can read it (receiving operation). 5 Ell NEe pPD71051 Transmit Data Buffer The transmit data buffer holds the parallel data from the CPU that the transmitter will convert to serial data and output from the TxDATA pin. When the CPU writes transmit data to the pPD71051, the pPD71051 stores data in the transmit data buffer. The transmit data buffer transfers the data to the transmitter, which sends the data from the TxDATApin. Absolute Maximum Ratings TA = +25°C Power supply voltage, Voo -0.5 to +7.0 V Input voltage, VI -0.5 to Voo + 0.3 V Output voltage, Vo -0.5 to Voo + .0.3 V Operating temperature, TOPT Storage temperature, TSTG 1.0 W Power dissipation, PDMAX Control Register This register stores the mode and the command bytes. Control Logic The control logic sends control signals to the internal blocks and controls the operation of the pPD71051 based on internal and external signals. Comment: Exposing the device to stresses above those listed in Absolute Maximum Ratings could cause permanent damage. The device is not meant to be operated under conditions outside the limits described in the operational sections of this specification. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Capacitance TA = +25°C, Voo = 0 v Limits Synchronous Character Register This register stores one or two SYNC characters used in sync mode. During transmission, the SYNC characters stored in this register are output from the TxDATA pin when the CPU does not send a new character and TxEMP status is set. During receiving, synchronization is established when the characters received and the SYNC characters stored in this regist~r are the same. Transmitter The contents of the transmit data buffer are transferred to the transmitter, converted from parallel to serial, and output from the TxDATA pin. The transmitter adds start, stop, and parity bits. Receiver The receiver converts serial data input from the RxDATA pin into parallel data and transfers the· parallel data to the receive data buffer, allowing the CPU to read it. The receiver detects SYNC characters and checks parity bits in sync mode. It detects the start and stop bits, and checks parity in the async mode. In async mode, receiving does not begin (thestart bit is not detected) until one effective stop bit (high level) is input to the RxDATA pin and Receive Enable (RxEN =;= 1) is set after setting up the mode. Modem Control This block controls the CTS, RTS, DSR, and DTR modem interface pins. The RTS, DSR, and DTR pins can also be used as general-purpose I/O pins. 6 Test Symbol Min Max Unit Parameter Input capacitance CI 10 pF 1/0 capacitance CIO 20 pF Conditions fc = 1MHz Unmeasured pins returned to 0 V DC Characteristics TA=-AO°Cto+85°C,Voo=+5V±10% Limits Typ Parameter Symbol Min Max Unit Input voltage high VIH 2.2 Voo+0.3 V Input voltage low VIL -0.5 0.8 V Output voltage VOH high 0.7 x Voo Test Conditions V IOH = -AOO I1A IOL = 2.5 rnA Output voltage VOL low 0.4 V Input leakage current high IUH 10 I1A VI = Voo Input leakage current low IUL -10 I1A VI =OV Output leakage ILOH current high 10 I1A Vo = Voo Output leakage ILOL current low -10 I1A Vo=OV Supply current ti PD71051 1001 1002 I1PD71051-10 50 1001 la02 2 10 rnA Normal mode 100 I1A Stand-by mode 10 rnA Normal mode 50 I1A Stand-by mode NEe pPD71051 AC Characteristics TA = -40°C to +85°C, VDD = 5 V ±10% 8 MHz Limits Parameter Symbol Min Max 10 MHz Limits Min Max Unit Test Conditions Read Cycle Address setup to RD ~ Address hold from RD t tSAR 0 0 ns CS,C/D tHRA 0 0 ns CS,C/D 150 RD low level width tRRL Data delay from RD ~ tORO t tFRO 10 tSPR 20 20 Data float from RD Port (DSR, CTS) set-up to RD ~ 95 120 80 10 ns 85 ns 65 ns CL = 150 pF tCYK Write Cycle Address setup to WR ~ tSAW 0 0 ns CS, C/O tHWA 0 0 ns CS,C/D WR low level width twwL 150 95 ns t tsow 80 80 ns Address hold from WR Data setup to WR Data hold from WR t t Port (DTR, RTS), delay from WR Write recovery time tHWO t tCYK 8 towp tRV tCYK 6 6 tCYK Mode initialize 8 8 tCYK Async mode 16 16 tCYK Sync mode Serial Transfer Timing ClK cycle time tCYK 125 ClK high level width tKKH 50 35 ClK low level width tKKL 35 25 ClK rise time tKR 5 20 5 20 ClK fall time tKF 5 20 5 20 ns TxDATA delay from TxClK tOTKTD 0.5 /lS Transmitter input clock pulse width low level tTKTKL Transmitter input clock pulse width high level Transmitter input clock frequency Receiver input clock pulse width low level Receiver input clock pulse width high level DC 100 0.5 DC ns ns ns ns 12 12 tCYK 1 1 tCYK 16x, 64xBR tTKTKH 15 15 tCYK 1xBR tCYK 16x, 64xBR fTK (Note 2) DC 240 DC 300 kHZ 1xBR DC 1536 DC 1920 kHz 16xBR DC 1536 DC 1920 kHz 64xBR tCYK 1xBR 3 3 1xBR (Note 1) tRKRKL 12 12 tCYK 16x, 64xBR tRKRKH 15 15 tCYK 1xBR 3 3 tCYK 16x, 64xBR 7 NEe pPD71051 AC Characteristics (cont) 8 MHz limits Parameter Symbol Min fRK (Note 2) 10 MHz Limits Max Unit Test Conditions DC 300 kHz 1xBR DC 1920 kHz 16xBR DC 1920 kHz 64xBR Max Min DC 240 DC 1536 DC 1536 Serial Transfer Timing (cont) Receiver input clock frequency RxDATA set-up to Sampling pulse tSROSP fJS RxDATA hold from sampling pulse tHSPRO fJS TxEMP delay time (TxDATA) tOTXEP 20 20 tCYK TxRDY delay time (TxRDYt) tOTxR 8 8 TxRDY delay time (TxRDY l) tOWTXR 200 100 tCYK ns RxRDY delay time (RxRDYt) tORXR 26 26 RxRDY delay time (RxRDY l) tORRXR 200 100 tCYK ns SYNC output delay time (for internal sync) tORKSY 26 26 tCYK SYNC input set-up time (for external sync) tSSYRK RESET pulse width 18 18 tCYK 6 6 tCYK Notes: (1) BR = Baud rate (2) 1xBR: fTK or fRK::; 1/30tCLK, 16x, 64xBR: fTK orfRK::; 1/4.5tCLK (3) System elK is needed during reset operation (4) Status update can have a maximum delay of 28 tCYK from the event effecting the status. Timing Waveforms Write Data Cycle Read Data Cycle k== X c/o - - -..... cs----M _ _ _I----,1II+-IWWL--! WR ~ r+r-I ~ I i J(I~ !--IDWTXR ~ x: ----! \\ I 07- 0 0 OSR,CTS 0= I I VJ'~ rftft' -H1C I ~--------+l-------------I ~L I---IRRL--! __+-____;....r:!_DR""D !-IDWP-j I TxRDY r--IS~R---! _1_ _ nc= \n cs---........ I....----ll -' IHWD _ _ _ _--.. 1I SDW~ 07-00 ic: ---JX c/o _ _ I RxROY _ _ _ _ _oJ ~ ______ ~ 83-01913A 83-000767A 8 NEe pPD71051 Timing Waveforms (coni) Transmitter Clock and TxDA TA TxClK [1 x BR] TxDATA ---..1-'·~'T'm"~1--'_---..1,.---~tDTKTD1 ltDTKTD1 I I ------..,X X. . .- - - - - - - - 1+---------- 16~ Cycle -----------+1 TxClK [16 x BR] TxDATA :': 83-0007698 Receiver Clock and RxDATA Timing RxClK [1 x BR] Internal Sampling Pulse _ _1J:t"~ ~' __ RxDATA tSRDSP'----1-.1.1 ~~-------S-ta-rt-B-it------~J(~-------1s-t-D-at-a-B-It--______--J)(~______ r-I r~~ __ SRxClK RxClK [16 x BR] tnternal Sampling Pulse RxDATA 11\____ tH-s-p-RD-l-----------J .... SRxClK ~~ ,', 16 RxClK "~~ tRKRKL tRKRKH '1' .\ LJ H ~~'m,..~~/'LYL I~' ~,'----- ~ll·~ __________ts_R_DS~p~----------~~t~H-SP-R-Dl--~ ~ :::::::::(~::::::::::~~':.=::x-----" Start Bit " .... 1st Data Bit 83-0007688 AC Test Input 4V 2. 0.4SV Write Recovery Time 2,2 V =::X_ _ O.S V -x== 2.2 V Test Points -------= 0.8 V Main Clock 83-OOO766A ClK 83-000770A 9 NEe pPD71051 Fi9We 3. Connecting the pPD71051 to the System pPD71051 Opera,t("gProcedure The CPU uses the pPD71051 as an I/O device by allocating two I/O addresses, set by the value of C/O. One I/O address is allocated when the level of C/O is low and becomes a port to the transmit and receive data register. The other I/O address is allocated when C/O is high and becomes aport to the mode, command, and status registers. Generally, the least significant bit (Ao) of the CPU address bus is connected to C/O to get a continuous I/O address. This is shown in figure 2. Pins TxRDY and RxRDY are connected to the CPU or, when interrupts are used, to the interrupt pin of the interrupt controller. Operating the pPD71051 Start with a hardware reset (set the RESET pin nigh) after powering on the pPD71051. This puts the pPD71051 into standby mode and it waits for a mode byte. In async mode, the pPD71051 is ready for a command byte after the mode byte; the mode byte sets the communication protocol to the async mode. In sync mode, the pPD71 051 waits for one or two SYNC characters to be sent after the mode byte; set C/O = 1. A command byte may be sent after the SYNC characters are written. Figure 3 shows this operation sequence. I n both modes, it is possible to write transmit data, read receive data, read status, and write more command bytes after the first command byte is written. The pPD71051 performs a reset, enters standby mode, and returns to a state where it waits for a mode byte when the command byte performs a software reset. Figure 2. System Connection Note: [lJ This is done with C/O CPU = 0, Others are operated with C/O = 1. 83-0007858 MEM/IO JlPD71051 RD~------------~--~ WR~----------------~ 83-000784A 10 NEe Mode Register . When the JlPD71051 IS In standby mode, writing a mode byte to it will release standby mode. Figure 4 shows the mode byte format for designating async mode. Figure 5 shows the mode byte format for designating sync mode. Bits 0 and 1 must be 00 to designate sync mode. Async mode is designated by all other combinations of bits 0 and 1. pPD71051 Figure 4. Mode Byte for Setting Asynchronous Mode C/D=1 7654321 PO I L1 IST1ISTOI P1 L,J LO I B1 I BO L,J L~ J ~B1 BO 0 1 x 1 Clock 1 0 x 16 Clock 1 1 x 64 Clock L1 LO Character Length 0 0 5·bit 0 1 6-bit 1 0 7-bit 1 1 8-bit P1 PO Parity Generate/Check x 0 No Parity 0 1 Odd Parity 1 1 Even Parity TheP1, PO and L 1, LO bits are common to both modes. Bits P1 and PO (parity) control the generation and checking (sending and receiving) functions. These parity bit functions do not operate when PO = O. When P1, PO = 01, the JlPD71051 generates and checks odd parity. When P1, PO = 11 , it generates and checks even parity. Bits L 1 and LO set the number of bits per character (n). Additional bits such as parity bits are not included in this number. Given n bits, the JlPD71051 receives the lower n bits of the 8-bit data written by the CPU. The upper bits (8 -n) of data that the CPU reads from the JlPD71051 are set to zero. ST1 STO The ST1, STO and B1, BO bits are used in async mode. The ST1 and STO :bits determine the number of stop bits added by the JlPD71 051 during transmission. The B1 and BO bits determine the relationship between the baud rates for sending and receiving, and the clocks TxCLK and RxCLK. B1 and BO select a multiplication rate of 1, 16, or 64 for the frequency of the sending and receiving clock relative to the baud rate. Multiplication by 1 is not normally used in async mode. Note that the data and clock must be synchronized on the sending and receiving sides when multiplication by 1 is used. The SSC and EXSYNC bits are used in sync mode. The SSC bit determines the number of SYNC characters. SSC = 1 designates one SYNC character. SSC = 0 designates two SYNC characters. The number of SYNC characters determined by the SSC bit are written to the JlPD71 051 immediately after writing the mode byte. The EXSYNC bit·determines whether sync detection during receiving operations is internal or external. EXSYNC = 1 selects external sync detection and EXSYNC = 0 selects internal sync detection. Baud Rate Transmit Stop Bits Use Illegal 0 0 0 1 1-bit 1 0 1-1/2 bit 1 1 2-bit x: don't care Figure 5. 83-000786A Mode byte for Setting Synchronous Mode C/D=1 5 4 L PO LSscLEXSYNC P1 L..J 3 2 1 I Ld LO I 0 10 T L1 LO 0 0 Character Length 5-bit 0 1 6-bit 1 0 7-bit 1 1 8-bit P1 PO Parity Generate/Check x 0 No Parity 0 1 Odd Parity 1 1 Even Parity EXSYNCI Sync Detect 0 Internally IOutput] 1 Externally [Input] SSC Sync Characters 0 2 [BSC] 1 1 x: don't care 83-000787A m NEe pPD71051 Command Register Commands are issued to the JlPD71051 by the CPU by command bytes that control the sending and receiving operations of the JlPD71051. A command byte is sent after the mode byte (in sync mode, a command byte may only be sent after writing SYNC characters) and the CPU must set C/O = 1. Figure 6 shows the command byte format. Bit EH is set to 1 when entering hunt phase to synchronize in sync mode. Bit RxEN should also be set to 1 at that time. Data reception begins when SYNC characters are detected and synchronization is achieved, thus releasing hunt phase. The TxEMP and RxRDY bits have the same meaning as the pins of the same name. The SYNC/BRK bit generally has the same meaning as the SYNC/BRK pin. In external synchronization mode, the status of this bit does not always coincide with the pin. In this case, the SYNC pin becomes an input and the status bit goes to 1 when a rising edge is detected at the input. The status bit remains at 1 until it is read, even when the input level at the SYNC pin goes low. The status bit becomes 1 when a SYNC character is input with the RxDATA input, even when the pin is at a low level. The DSR bit shows'the status of the DSR input pin. The status bit is 1 when the DSR pin is low. When bit SRES is set to 1, a software reset is executed, and the JlPD71051 goes into standby mode and waits for a mode byte. The FE bit (framing error) becomes 1 when less than one stop bit is detected at the end of each data block during asynchronous receiving. Figure 8 shows how a framing error can happen. Bit RTS controls the RTS output pin. RTS is low when the RTS bit = 1 , and goes high when RTS = O. Figure 6. Setting bit ECl to 1 clears the error flags (PE, aVE, and FE) in the status register. Set ECl to 1 when entering the hunt phase or enabling the receiver. Command Byte Format C/D=l 5 4 LEH1SRES IRTsJeCll SBRK1RxEN IDTR\ TxEN \ L..r Bit SBRK sends a break. When SBRK = 1, the data currently being sent is destroyed and the TxDATA pin goes low. Set SBRK = 0 to release a break. Break also . works when TxEN = 0 (send disable). TxEN 1Transmit Enable o I Disable 1 I Enable I DTR Pin Control DTR Bit RxEN enables and disables the receiver. RxEN = 1 enables the receiver and RxEN = 0 disables the receiver. Synchronization is lost if RxEN = 0 during sync mode. I o 1 DTR=l 1 I DTR=O J I RxEN J Receive Enable o I The TxEN bit enables and disables the transmitter. TxEN = 1 enables the transmitter and TxEN = 0 disables the transmitter. When TxEN = 0, sending stops and the TxDATA pin goes high (mark status) after all the currently written data is sent. I SBRK Send Break 0 TxDATA Pin Normal Operation 1 TxDATA = 0 ECl Error Clear 0 No Operation 1 Error Flag Clear ..J RTS Status Register The CPU can read the status of the JlPD71051 at any time except when the JlPD71 051 iSJn standby mode. Status can be read after setting C/D = 1 and RD = O. Status is not updated while being read. Status updating is delayed at least 28 clock periods after an event that affects the status. Figure 7 shows the format of the status register. I 0 I 1 'SRES I Disable Enable 1 Bit DTR controls the DTR output pin. DTR goes low when the DTR bit = 1 and goes high when the DTR bit = O. RfS Pin Control FiTS=l I RfS=o Soltware Reset 0 No Operation 1 Reset Operation EH [1] Enter Hunt Phase 0 No Operation 1 Enter Hunt Phase Note: [1] The EH bit is eflective only in SYNC mode. 83-000788B 1':> NEe pPD71051 The aVE bit (overrun error) becomes 1 when the CPU delays reading the received data and two new data bytes have been received. In this case, the first data byte received is overwritten and lost in the receive data buffer. Figure 9 shows how an overrun can happen. The PE bit (parity error) becomes 1 when a parity error occurs in a receive state. Figure 7. Status Register Format C/D=l I DSR 5 4 Framing, overrun, and parity errors do not disable the pPD71 051 's operations. All three error flags are cleared to 0 by a command byte that sets the ECl bit to 1. The TxRDY bit becomes 1 when the transmit data buffer is empty. The TxRDY output pin becomes 1 when the transmit data buffer is empty, the CTS pin is low, and TxEN = 1. That is, bitTxRDY = Transmit Data Buffer Empty, pin TxRDY = (Transmit Data Buffer Empty)-(CTS = O)-(TxEN = 1). Figure 8. 3 l~~~c/'FEjoVE'PE ITXEM~ RxR DY' TxR DY L I I 1 Character = 5-bit, No Parity, 1 Stop Bit Same as the Output Pin Function with the Same Na TxRDY Full 1 Empty PE Parity Error 0 - No Error 1 - Error Overrun Error 0 - No Error FE Framing Error I 0 - No Error DSR Enter the Break State I -r . I I It\~ mlI I I~ ""'1.... 1 -,.1.....1...'-.' 1"", I I Stop Start Bit Bit I FE = 1 Set because a stop bit should be here. [2J A large frequency difference between RxCLK and TxCLK: RxDATA - - - , I 1II! , t:- Sto~ bit : \ \ \ \ \ \ +/FE - 1 ~ ~ , \ \ \ \ This pulse samples the stop bit. Because of the frequency of RxCLK is lower than that of _ _ _ _ _ _ _ TxCLK the start bit is sampled too late in time. IIIIIII Sampling Pulse I - Error -I 1 RxDATA Start Bit OVE 1 [1 J In the break state: Trasmit Data Buffer State 0 Framing Error [3J When data is changed during transmission: [Using less reliable transmission circuit, etc.J I - Error TxDATA ---, Start Bit ~Input Pin State 0 DSR = 1 1 DSR =0 n nn n nn ~ I u U+~ I 4J+~ RxDATA - , Stop Start Bit Bit \I n n Lt- Stop Start Bit Bit UII~U4.JI~ Bit Change Bit Change FE= 1 Bit Change 83-000796A 83-000797A Figure 9. Overrun Error OVE RxRDY Receive Data Buffer [Second BufferJ CPU Receive Buffer [First BufferJ R x Data f/!'W/01l:!¥,6~ ~Char1 I I I I I I I I I I I I I I I I ~Char1 Readcharo--I ~ch~ri~Char1 W~q~¥r)~ I I I I I I I ~ Char2 I I I I I I ~ Char2 ~Ch;r1~ f0V44ch~r1~ ~Chrr2~A-- WW4c+,2/0Y~ I I I I I I I t0J-- Char 3 ~)cj,:r;~ ~Char2 Char2 Char 1 is not read by the CPU and is discarded on receipt 01 Char 2 83-0007988 NEe pPD71051 Sending in Asynchronous Mode The TxDATA pin is typically in the high state (marking) when data is not being sent. When the CPU writes transmit data to the pPD71 051, the pPD71 051 transfers the transmit data from the transmit data buffer to the send buffer and sends the data from the TxDAT A pin after adding one start bit (low level) and a programmed stop bit. If parity is used, a parity bit is inserted between the character and the stop bit. Figure 10 shows the data format for async mode characters. Serial data is sent by the falling edge of the signal that divided TxCLK (1/1,1/16, or 1/64). When bit SBRK is set to 1, the TxDATA pin goes low (break status), regardless of whether data is being sent. Figure 11 is a fragment of a typical program to send data in the async mode. Figure 12 shows the output from pin TxDAT A. Asynchronous Mode Data Format Figure 10. No Parity - - - , Start Mark I Bit Do 0, I On.' On :::: With Parity -:-:-:-1 Mark I DO Start Bit 0, I On.l Is:;:C Bit[s] Data Bits On :::: Data Bits n=4,5,6,7 I Is:;:C Parity Bit[s] Bit Stop Bit = 1 bit, 1.5 bit, 2 bit 83·000789A Figure 11. Asynchronous Transmitter Example ASYNTX: TXSTART: TXDADR ASYNMOD: Figure 12. CALL MOV OUT MOV IN TEST1 BNE MOV OUT INC CMP BNE RET DB DB MOV OUT OUT OUT MOV OUT MOV OUT RET ASYNMOD AL, 00010001 B PCTRL,AL BW, OFFSET TXDADR AL, PCTRL AL,O TXSTART AL, [BW] PDATA,AL BW AL,OOH TXSTART ;Set async mode ;Command: clear error flag, transmit enable 'NEC' ;Transmit data 4EH, 45H, 43H, 00 ;Transmit data area ;Read status ;Wait until TxRDY = 1 ;Write transmit data ;Set next data address ;End if data =0 o AL,O PCTRL, AL PCTRL, AL PCTRL, AL AL, 01000000B . PCTRL, AL AL,11111010B .PCTRL, AL ;Writes control bytes three times ;with OOH to unconditionally ;accept the new command byte ;Software reset ;Write mode byte ;Stop bit = 2 bits, even parity ;7 bits/character, x16 clock TxDATA Pin Output 83-0007908 1-11 NEe J.lPD71051 Receiving in Asynchronous Mode The RxDATA pin is normally in the high state when data is not being received, as shown in figure 13. The ,uPD71051 detects the falling edge of a low level signal when a low level signal enters it. The ,uPD71051 samples the level of the RxDATA input (only when x16 or x64 clock is selected) in a position 1/2 bit ti me after the fall i ng edge of the RxDA T A input to check whether this low level is a valid start bit. It is considered a valid start bit if a low level is detected at that time. If a low level is not detected, it is not regarded as a start bit and the ,uPD71 051 continues testing for a valid start bit. When a start bit is detected, the sampling points of the data bits, parity bit (when used), and stop bit are decided by a bit counter. The sampling is performed by the rising edge of the RxCLK when an X1 clock is used. When a x16 or x64 clock is used, it is sampled at the nominal middle of RxCLK. Figure 13. RxDATA [2J Bit Boundary When a valid stop bit is detected, the ,uPD71 051 waits for the start bit of the next data. If a low level is detected in the stop bit, a framing error flag is set; however, the receiving operation continues as if the correct high level had been detected. A parity. .error flag is set if a parity error is detected. An overru'n error flag is set when the CPU does not read the data in time, and the next receiving data is transferred to the receive data buffer, overwriting the unread elata. The jJPD71 051's sending and receiving operations are not affected by these errors. If a low le~el is input to the RxDATA pin for more than two data blocks during a receive operation, the ,uPD71051 considers it a break state and the SYNC/BRK pin status becomes 1. In async mode, the start bit is not detected until a high level of more than one bit is input to the RxDATA pin and the receiver is enabled. Figure 14 is a fragment of a typical program to receive the data sent in the previous async transmit example. Start Bit Detection RxDATA [1J Data for one character entering the receive buffer is transferred to the receive data buffer and causes RxRDY = 1, requesting that the CPU read the data. When the CPU reads the data, RxRDY becomes O. ~ ~ Sampling _ _---"'_......... 1_ .........._ _ _ _ Note: [1 J Start bit is not recognized because R x Data is high at the sampling time. [2J Start Is recognized because R x Data is low at the sampling time. 83-000791 A Figure 14. Asynchronous Receiver Example ASYNRX: RXSTART: RXDADR CALL MOV ASYNMOD AL, 000101 OOB OUT MOV IN TEST1 BNE IN MOV INC CMP BNE RET DB PCTRL,AL BW, OFFSET RXDADR AL, PCTRL AL,1 RXSTART AL, PDATA [BWJ, AL BW AL,OOH RXSTART 256DUP ;Set ASYNC mode ;Command: clear error flag, receive ;enable ;Data store area ;Read status ;Wait until RxRDY = 1 ;Read and store the receive data ;Set next store address ; End if data = 0 ;Reserve receive data area 15 NEe pPD71051 Figure 15. Sending in Synchronous Mode Following the establishment of sync mode and the enabling of the transmitter,the TxDATA pin stays high until the CPU writes the first character (normally, SYNC characters). When data is written, the TxDATA pin sends one bit for each falling edge of TxCLK if the CTS pin is low. Unlike async mode, start and stop bits are not used. However, a parity bit may be set. Figure 15 shows these data formats. Synchronous Mode Data Format Character Data without Parity Do 0, ~: Dn-, On I I...- - - - - O n e C h a r a c t e r - - - - -...I I Character Data with Parity I Do 0, :: On·' On n I = 4, 5, 6, 7 Once sending begins, the CPU must write data to the JlPD71051 at the same rate as that of TxCLK. If TxEMP goes to 1 because of. a delay in writing by the CPU, the JlPD71051 sends SYNC characters until the CPU writes data. TxEMP goes to 0 when data is written, and the data is sent as soon as transmission of SYNC characters stops. Figure 16. Parity I...- - - - - - O n e Character with Parity -------.1 83-000792A Synchronous Mode Transmit Timing No. of Sync characters = 2 [BSC] !,PD71051 Transmits Automatically CTS=O TxDATA Mark TxRDY [Pin] TxEMP - - - , .----, I~_--------------------------~I Data 0 Data 2 Data 3 I~ ______________ ~ Data 4 r----------, r-----, 83-000793B Figure 17. Issuing a Command During SYNC Character Transmission No. of Sync Characters = 1 Data TxRDY By the 71051 Bythe71051 By the CPU Sync Character Sync Character J L-J TxEMP _ _ _ _---' [1] AD I[2] U U [4] [3] ~ U-- Note: [1] Confirm the automatic trasmlsslon of the SYNC character by the TxEMP status. [2] Write SYNC character data. [3] Confirm the beginning of SYNC character trasmlsslon by the CPU by reading the status. [4] Write command word. B3-000794A 16 NEe pPD71051 Automatic transmission of SYNC characters begins after the CPU sends new data. SYNC characters are not automatically sent by enabling the transmitter. Figure 16 shows these timing sequences. If a command is sent to the JiPD71051 while SYNC characters are automatically being sent and TxEMP = 1, the JiPD71 051 may interpret the command as a data Figure 18. SYNTX: TXlEN: TXDATA: SYNC1 SYNC2 lDlEN TXDADR SYNMOD: byte and transmit it as data. If a command must be sent under these conditions, the CPU should send a SYNC character to the JiPD71051 and send the command while the SYNC character is being transmitted. This is shown in figure 17. Figure 18 is a fragment of a typical program for sending in sync mode. Synchronous Transmitter Example CAll MOV OUT MOV MOV MOV IN TEST1 BZ MOV OUT IN TEST1 BZ MOV OUT INC DBNZ MOV OUT RET DB DB DB DB MOV OUT OUT OUT SYNMOD Al, 00010001 B PCTRl, Al 8W, OFFSET TXDADR Cl, lDlEN CH,OOH Al, PCTRl Al,O TXlEN Al, lDlEN PDATA,Al Al, PCTRl Al,O TXDATA Al, (BW) PDATA,Al BW TXDATA Al, 00010000B PCTRl, Al ? ? ? 255 DUP (?) Al,OOH PCTRl, Al PCTRl, Al PCTRl, Al MOV OUT MOV OUT Al, 01000000B PCTRl, Al Al,001111008 PCTRl, Al MOV OUT MOV OUT RET Al, SYNC1 PCTRl, Al Al, SYNC2 PCTRl, Al ;Set sync mode ;Command; clear error ;flags, transmit enable ;Start location of data area TxDADR ;Set number of bytes (lDlEN) to be transmitted ;Transmit the length byte ;Transmit the number of ;bytes specified by lDlEN ;Command; clear error ;flags, transmit disable ;SYNC character 1 ;SYNC character 2 ;transmit data count ;transm it data ;Write control bytes ;three times with OOH to ;unconditionally accept the new ;command byte ;Software reset ;Write mode byte: 2 SYNC ;characters, internal sync detect, ;even parity, 8 bits/character ;Write SYNC characters 17 NEe Receiving in Synchronous Mode bit becomes 1, and goes to 0 when the status is read. The SYNC status bit is set to 1 when the SYNC input has a rising edge followed by a high level of more than one period of RxClK, even after synchronization is achieved. In order to receive in sync mode, synchronization must be established with the sending side. The first command after setting sync mode and writing the SYNC character must be EH = 1, ECl = 1, and RxEN = 1. When hunt phase is entered all the bits in the receive buffer are set to 1. In internal synchronization, data on the RxDATA pin is input to the receive buffer for each rising edge of RxClK and is compared with the SYNC character at the same time. Figure 19 shows this internal sync detection. ThepPD71051 can rE3gain lost synchronization anytime by issuing an enter hunt phase command. After synchronization, the SYNC character is compared with each character regardless of whether internal or external synchronization is used. When the characters coincide, SYNC becomes 1, indicating that a SYNC character has been received. SYNC (SYNC status bit only in external detection) becomes 0 when the status is read. When the receive buffer and the SYNC character coincide, and parity is not used, the pPD71051 ends hunt phase and SYNC is set to 1in the center of the last SYNC bit. When parity is'used, SYNC becomes 1 in the center of the parity bit. Receiving starts with the bit which follows the bit when SYNC is set to 1. Overrun and parity errors are checked the same way as in async mode, affecting only the status flag. Parity checking is not performed in the hunt phase. Figure 20 is a fragment of a typical program that receives the data sent by the previous sync transmit program example. Note that the frequencies of TxClK on the transmitter and RxCLK on the receiver must be the same. In external sync detection, synchronization is achieved by setting the SYNC pin high from an external circuit for at least one period of RxClK. Hunt phase ends, and data reception can start. At this time, the SYNC status Figure 19. Internal Sync Detection Example 5-bit Character, No Parity, 2 Sync Characters Sync Character 1 = 01100B, Sync Character 2 = 11001B Sync Character 2 Sync Character 1 LSB MSB LSB ~ cb CPU Operation SYNC MSB 11!oi O ! < 1 ! x ! X ! x l 10!o!111!0ixix!xl ® Receive Buffer ~ cb ® RxEN=1 1 , 1 , 1 ECL=1 I 1 , 1 I 1 I 1 I 1 I 1 1 I 1 , 1 I 1 I 1 I 1 I 1 I 1 , 1 !1 i 1 ' } Mark 1 i 1! 1 i 1 i 1: 1 i 1! 111: 1 i 1: 1 i 1: 1 i 1 i 1.: 1 1 - - 1 : 1 i 1 i 1 i 1 : 1 ; 1 ! 1 I 1 i 1 i 1 ! 1 i 0 i 1 ! 1 i 1 :1 I-- 0 1 : 1 : 1 i .1 i 1 i 1 : 1 ! 1 ! 1 I 1 : 1 ; 1 ; 0 ! 0 ! 1 i 1 ! 1 ! ·1 I-- 0 1 i 1.! 1 : 1 i 1 i 1 ! 1 i 1 i 1 I 1 i 1 ; 0 ! 0 ; 1 ! 1 : 1 i 1: 1 I-- 1 Sync Character 1 1 i 1 i 1 ! 1 i 1. ! 1 ! 1 i 1 i 1 I 1 ! 0 ! 0 ! 1 1 ! 1 i 1 ! 1 ; 1 I-- 1 1 i 1 ! 1 : 1 i 1 ! 1J 1 i 1 : 1 I 0 i 0 ! 1 i 1 : 0 : 1 i 1 ! 1 : 1 I-- 0 1 : 1 i 1 i 1 i 0 i 1 ! 1 i 1 i 1 l o ! 1 i 1 i O! 1 i 1! 1 ! 1 i 1 1 - - 1 1! 1 i 1! O! 0 i 1! 1 i 1: 111 i 1 i 0 i 1 i o! 1! 1! 1! 1 1 - - 0 , ! ' !, ! ' ! ' ! ' ! ' !, : ' I ' : ' i ' : ' i ' ! ' : ' : , ! , 1---, .,,, C.""",,, 1 ! 0 i o! 1 ! 1 ! 1 ! 1 i 1 i 1 I 0 : 1 i o! o! 1 i 1! 1: 1 i 1 1 - - 1 o i 0 i 1 i 1 i 0 ! 1.1 1 ! 1 1 1 I 1 1 0 i 0 ! 1 ! 1 ! 1 ! 1 ; 1 ! 1 I-- 1 o i 1 ! .~ ! 0 1 1 i1 1 1 :1 i 1 I 0 1 0 i 1 ;1 i 0 ! 1 ! 1 1, 1 ; 1 I--- 0 Data 11: 1 I1 Read Status I I RxOATA Input I ' i ' i' i ' i ' i ' i ' i ' : ' I ' i ' ! ' i ' i ' i ' i ' ! ' i ' I Command EH=1 All bits are set to 1 by EH = 1. Cleared by Status Read 00 00 1 X: don't care Note: Since the character is 5 bits, part1 of the sync character register [lower five bits] is valid and part 2 doesn't mailer. Similarly, in the receive buffer, part3 is valid and part 4 is not used. SYNC = 1 when part 1 3. With parity, the LSB of part4 is the parity bit, but it is not compared with the SYNC character. = 83-000795B 18 NEe Figure 20. pPD71051 Synchronous Receiver Example SYNRX: RXlEN: RXDATA: STlEN RXDADR CAll MOV OUT MOV IN TEST1 BZ IN MOV MOV SYNMOD Al, 100101 OOB PCTRl, Al BW, OFFSET RXDADR Al, PCTRl Al,1 RXlEN Al,DATA STlEN,Al Cl, Al MOV IN TEST1 BZ IN MOV INC DBNZ MOV OUT RET DB DB CH,OOH Al, PCTRl Al,1 RXDATA Al, PDATA [BW],Al BW RXDATA Al,OOOOOOOOB PCTRl, Al ? 256 DUP (0) Standby Mode The pPD71 051 is a low-power CMOS device. In standby mode, it disables the external input clocks to the inside circuitry (ClK, TxClK, and RxClK), thereby consuming less power. ;Set sync mode ;Command: enter hunt ;phase, clear error flags, receive enable ;Set receive data store address ;Receive the number of ;receive data ;Set the number of ;receive data to both variable and ;counter ;Receive and store the ;number of data bytes ;stated by the counter ;Command: receive disable ;Set number of receiver data ;Reserve receive data area Figure 21. Standby Mode Timing Hardware Reset A hardware reset is one way to enter standby mode. The input of a high level to the RESET pin causes the pPD71051 to enter standby mode at the falling edge of the high level. A software reset command is the other way to enter standby mode. The only way to take the pPD71051 out of standby mode is to write a mode byte. In standby mode, the TxRDY, TxEMP, RxRDY, and SYNC/BRK pins are at low level and the TxDATA, DTS, and RTS pins are at high level. Figure 21 shows the timing for standby mode. While the internal standby signal is high, the external clocks to thepPD71 051 are ignored. If data (C/D = 0) is written to the pPD71 051 in standby mode, the operations are undefined and unpredictable operation may result. Mode Word Software Reset 83-000799A 19 JlPD71 051 20 NEe NEe NEe Electronics Inc. Description pPD71054 Programmable Timer/Counter Pin Configurations The J1PD71 054 is a high-performance, programmable counter for microcomputer system timing control. Three 16-bit counters, each with its own clock input, gate input, and OUT pin, can be clocked from dc to 10 MHz. Under software control, theJ1PD71054 can generate accurate time delays. Initialize the counter, and the J1PD71054 counts the delay, and interrupts the CPU when the task is complete. This eliminates the need for software timing loops. The J1PD71054 contains three counters capable of binary or BCD operation. There are six programmable count modes. The counters operate independently and each can be set to a different mode. Use address lines A 1 , Ao to select a counter and perform a read/write operation. 24-Pin Plastic DIP Voo 06 05 03 02 01 Do ClKO 83-000800A 44-Pln Plastic QFP Features o Three independent 16-bit counters o Six programmable counter modes o Binary or BCD count o Multiple latch command o Clock rate: dc (standby mode) to 10 MHz o Low-power standby mode o CMOS technology o Single power supply, 5 V ±10% o Industrial temperature range -40 to +85°C o 8 MHz and 10 MHz Ordering Information Part Number Package Type pPD71054C-8 24-pin plastic DIP .... () z c... c'" c'" c z () ~ I~ () () () z z z NC NC NC RD NC cs 03 Al 02 Ao NC NC 01 ClK2 DO OUT2 ClKO GATE2 OUTO ClKl NC NC C-10 G-8 44-pin plastic QFP (P44G-80-22) G8-8 44-pin plastic QFP (P44G8-80-384) () z e( l' G8-10 L-8 L-10 50009-2 (NECEL-139) 0 () w c z z IZ () 28-pin PLCC l' ::. I- - 0 () ::J Ui l- () () () Z Z Z e( l' Note: [1 J 00 not connect any signal with pin 17. 83-001787A 1m NEe pPD71054 Pin Configurations (cont) Pin Functions 28-Pln PLCC (Plastic Leaded Chip Carrier) D7-DO [Data Bus] These pins are an 8-bit three-state bidirectional data b,us. This t?us is used to program counter modes and to read status and count values. The data bus is active when CS = 0, and is high impedance when CS = 1. N NNW ~ I- I- ~ 0 ~ I~ ~ ~ <3 L() N IIII:J' N '('I') N N N N 5~ N 0) ,.... AD 26 18 WR 27 17 GATE1 VOO 28 16 oun 0 15 NC D7 14 GND Ds 13 GATEO 12 OUTO NC Os 1 jlP071054 CLK1 4 Ln CD ,.... ClKn [Counter Clock, n ,OUTn [Counter Output, n = 0-2] co en ~ ~ 88Bc8~~ 0' 83-004204A Pin Identification Symbol Function D7- DO Three-state, bidirectional data bus = 0-2] These pins are the clock input that determine the count rate for counter rio The clock rate may be DC (standby mode) to 8 MHz. These are the output pins for counter n. A variety of ' outputs is available depending on the count mode. When the pPD71054 is used as an interrupt source, these pins can output an interrupt request signal. GATEn [Counter Gate, n = 0-2] These output pins inhibit or trigger counter n according to the mode selected. CLKn Counter n clock output (n = 0-2) OUTn Counter n output (n = 0-2) A1, Ao [Address] GATEn Output to inhibit or trigger counter n (n = 0-2) GND Ground These input pins select the counter. A1, Ao equal to 00, 01, or 10 selects counter 0, 1, or 2,respectively. The control register is selected when A1, Ao equals 11. These pins are normally connected to the address bus. IC Internally connected Ao-A1 Select counter input 0, 1, or 2 CS Chip select CS [Chip Select] RD Read strobe WR Write strobe Voo +5V When the CS input = 1, all the bits of the data bus become high impedance. CS must be low to access the pPD71054. NC Not connected RD [Read Strobe] The RD input must be low to read data from the pPD71054. WR [Write Strobe] The WR input must be low to write data to the pPD71 054. The contents of the data bus are written to the pPD71 054 at the risi ng edge of WR. Voo [Power] +5V. GND [Ground] Ground. 2 NEe pPD71 054 Block Diagram n 07- DO ~ ...,.-" Data Bus Buffer [8J A. Counter #0 1----------------, [8J .J.. ~ [8J :: [8J ~ : A [8J 'of - r- Hi9h [8J O~'Low [8J i c i Hi9h ~ [8J g~f-- o .... 'Low [8J i , , , , L ~ I---e- Down Counter [16J ~ Status Latch [8J [8J , Control Logic ~ ~, A 0 ~ ~ ~ A. I~ . I \ [8J ~ --y I I UI GATEO OUTO , L ________________ 1- CLKO , 8 Status [ J Register [8J ! + II i g'6.f-- A '4 Control Register c $~ :, t _ _c Read/Write Controller + I A 1\ I. , , , , , , , , ~ CLK1 Counter #1 GATE1 OUT1 . r A [8J ) . ~ Counter #2 ) CLK2 GATE2 OUT2 --y "Note: The internal architecture of counters #1 and #2 is the same as counter #0. L-__________________________________________________________________________________ Block Functions Data Bus Buffer This is an a-bit three-state bidirectional buffer that acts as an interface between the JlPD71054 and the system data bus. The data bus buffer handles control commands, the count to be written to the count register, count data read from the count latch, and status data read from the status latch. Read/Write Control This circuit decodes signals from the system bus and sends control signals to other blocks of the JlPD71 054. A1 and Ao select one of the counters or the control register. A low signal on RD or WR selects a read or write operation. CS must be low to enable these operations. Control Register This is an a-bit register into which is written the control command that determines the operating mode of the counter. Data is written to this register when the CPU ~83~-O~OO~80~lB executes an OUT command when A1, Ao = 11. The contents of this register cannot be read if the CPU executes an I N command when A1, Ao = 11. However, the multiple latch command allows you to read the mode and status of each counter. Counter n [n = 0-2] A 16-bit synchronous down counter performs the actual count operation within the counter. You can preset this counter and select binary or BCD operation. The count register is a 16-bit register that stores the count when it is first written to the counter. The count is transferred to the down counter and a count operation for a specified number of counts begins. The a-bit width of the internal data bus permits the transfer of only eight bits at a time when the count is written to the count register. However, when data is written from the count register to the down counter, all 16 bits can be written at once. When the count is written to the count register while the counter is in read/write one byte mode, a OOH is written to the remaining byte of the register. 3 m • NEe j.lPD71 054 The count latch normally holds the current value of the down counter. If the contents of the down counter change, the contents of the count latch also change so that the two values are the same. When the j.lPD71 054 receives a count latch command, the count latch latches the value of the down counter and holds it until the CPU can read it. When the data is read, the count latch returns to tracking the value of the down counter. When the mode specified is written to the counter, the lower six bits of the control register are copied to the lower six bits of the a-bit status register. The remaining two bits show the status of the OUT pin and the null count flag. When the multiple latch command is sent to the counter, the current value of the status register is latched into the status latch. This data is held in the latch until the CPU can read it. The control logic controls each internal block according to the mode and the state of the ClK and GATE pins. The result is output to and sets the state of the OUT pin. Absolute Maximum Ratings -0.5 to Voo + 0.3 V Output voltage, Va -0.5 to Voo + 0.3 V Operating temperature, TOPT -40°C to 85°C Storage temperature, TSTG -65°C to +150 °C Power dissipation, PDMAX lOW Comment: Exposing the device to stresses above those listed in Absolute Maximum Ratings could cause permanent damage. The device is not meant to be operated under conditions outside the limits described in the operational sections of this specification. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Capacitance TA = +25°C, VDD = a v Limits Symbol Min Max Unit Input capacitance 10 pF 1/0 capacitance 20 pF 4 Test Conditions fc = 1 MHz Unmeasured pins returned to 0 V Symbol Min Input voltage high VIH 2.2 Input voltage low VIL -0.5 Output voltage high VOH 0.7 xVoo Output voltage low VOL Input leakage current high Typ Max Unit Test Conditions Voo + 0.3 V 0.8 V V IOH = -40011A 0.4 V IOL = 2.5 rnA ILiH 10 I1A VI = Voo Input leakage current low ILiL -10 I1A VI =OV Output leakage current high ILOH 10 I1A Va = Voo Output leakage current low ILOL -10 I1A Vo= OV 30 rnA Normal -0.5 to +7.0 V Input voltage, VI Parameter limits Parameter Supply current I1PD71054 TA = +25°C Power supply voltage, Voo DC Characteristics TA = -40°C to +85°C, VDD = +5 V ±10% I1PD71054-10 1001 1002 2 50 I1A 1001 10 20 rnA Normal Stand-by mode 1002 2 50 I1A Stand-by mode NEe pPD71 054 AC Characteristics TA = -40°C to +85°C, VDD = 5 V ±10% 8 MHz Limits Parameter Max 10 MHz Limits Min Max Unit Test Conditions Symbol Min tSAR 30 20 ns tHRA 10 0 ns tSCR 0 0 ns tRRL 150 95 Read Cycle Address set-up to RD ! Address hold from RD t CS set-up to RD ! RD low level width Data delay from RD ! Data float from RD 120 tORO t tFRO Data delay from address tOAO Read recovery time tRV 10 85 10 220 200 ns 85 ns CL = 150 pF 65 ns CL = 20 pF; RL = 2 kn 185 ns CL = 150 pF 165 ns Write Cycle Address set-up to WR ! ns tSAW 0 tHWA 0 0 ns CS set-up to WR ! tscw 0 0 ns WR low level width tWWL 160 95 ns t Data hold from WR t tsow 120 95 ns tHWO 0 0 ns Write recovery time tRV 200 165 ns ClK cycle time tCYK 125 ClK high level width tKKH 60 60 Address hold from WR t Data set-up to WR ClK and Gate Timing ClK low level width tKKL ClK rise time tKR DC 100 DC ns 30 45 25 ns 25 ns ClK fall time tKF tGGH 50 50 ns GATE low level width tGGL 50 50 ns GATE set-up to ClK t t Clock delay from WR t tSGK 50 40 ns GATE hold from ClK tHKG 50 50 ns tOWK Clock set-up to WR t (latch) t tSKW 1m ns 25 GATE high level width (count transfer) 25 ns 100 40 ns tKKH 2: 125 ns 225 - tKKH 40 ns tKKH:::; 125 ns 85 60 ns 0 ns GATE delay from WR tOWG OUT delay from GATE! tOGO 120 100 ns tOKO 150 100 ns CL = 150 pF towo 295 240 ns CL = 150 pF OUT delay from ClK ! OUT delay from WR t (initial out) CL = 150 pF Notes: (1) AC timing test pOints for output VOH = 2.2 V, VOL = 0.8 V 5 NEe pPD71 054 Timing Waveforms AC Test Input 2.4 V O.4V Read Cycle ~2~ . _ ==::C: 2.2 V Test Points 0.8 V 0.8 V 83-000766A AD CLK and GA TE Timing l--tDAD~~ ~--tOAD--- 83-001788A ClK GATE Write Cycle ----'---4~ Ir----+----+-------. latch [2J OUT 83-001789A ---towo--Note: Read/Write Recovery [1 J The last 1 byte of count number writing. [2J Count latch command or multiple latch command. 83-000773A 83-000772A 6 NEe pPD71 054 Functional Description Bits RMW1 and RMW2 specify the read/write operation to the counter or select the count latch command. IlPD71 054 System Configuration Example Bits CM2, CM1, and CMO set the counter mode (0 to 5). The CPU views the three counters and the control register as four I/O ports. A1 and Ao are connected to the A1 and Ao pins of the system address bus. CS is generated by decoding the address and 10/MEM signals so that CS goes low when the address bus is set to the target I/O address and I/O is selected. These connections are shown in figure 1. You can use the JlPD71 054 in memory-mapped I/O configurations. However, the decoding should be such that CS goes low when memory is selected. Programming and Reading the Counter The counter must be programmed and the operating mode specified before you can use the JlPD71 054. Once a mode has been selected for a counter, it operates in that mode until another mode is set. The count is written to the count register and when that data is transferred to the down counter, a new count operation begins. The current count and status can be read while the counter is in operation. Figure 2 outlines the steps of operation. Bit BCD selects binary or BCD operation. The count may be 0 to FFFFH in binary mode or 0 to 9999 in BCD. If a control command written to the counter specifies a mode, the lower six bits of the control command are copied to the lower six bits of the status register of the counter selected by SC1 and SCO. The mode selected remains in effect until a new mode is set. This is not true if the control command specifies the count latch or multiple latch command. Writing the Count The count is written to the counter after the mode is set. Set A1, Ao to specify the target counter as shown in table 1. A new count can be written to a counter at any time, but the read/write mode selected (when the mode was written) must be used when writing the count. Programming the Counter I n high 1-byte and low 1-byte modes only, the higher or lower byte of the count register is written by the first write. The write operation ends and OOH is automatically written to the remaining byte ,by the JlPD71 054. In the 2-byte modes, the lower byte is written by the fi rst write and the higher byte by the second. TheJlPD71 054 is controlled by a microcomputer program. The program must write a control command to set the counter mode and write the count data that determines the length of the count operation. Table 1 shows the values for A1 and Ao that determine the target counter for write operations. For example, if the 2-byte count 8801 H is written to a counter set in lower 1-byte mode, the lower byte (01 H) ~ is written first, followed by the higher byte (88H). ~ Therefore, the data written to the count register is 0001 H for the first write and 0088H for the second. This is shown in Table 2. Table 1. o o Write Operations (CS = 0, RD = 1, WR = 0) AO Write Target o Counter 0 Counter 1 o Counter 2 Control word register Control and Mode Setting The control command must be written to set the counter mode before operating the counter. If a write operation is performed when A1, Ao = 11, a control command is written to the control register. Figure 3 shows the format of the 8-bit control command. Bits SC1 and SCO specify a counter or the multiple latch command. When a counter is chosen, the specifications described below apply to the counter. Table 2. Read/Write Mode and Count Write No. of Read/Write Mode Writes Count Register Higher Byte Lower Byte Low 1-byte OOH High 1-byte nnH OOH nnH (2nd write) nnH (1st write) Low/High 2-byte nnH nnH = Two-digit hexadecimal value Reading the Counter The following three methods allow you to read the contents of the down counter during operation. In particular, the multiple latch command reads the current count data and the counter mode orthe state of the OUT pin. Table 3 shows the values of A1, Ao used to select the counter to be read. 7 NEe pPD71 054 Figure 1. Typical System Configuration CPU A1 A1 .J\ iO/MEM 1 l I Decoder L - - - - - - OUT Instruction CS - - - - - - OUT Instruction RD RD WR 07" Do Basic Operating Procedure IJPD71054 Ao Ao A7-A2 Figure 2. ViR [8] 07- Do - - - - - - OUT Instruction 83-000802A - - - - - - IN Instruction Yes 83-000803A Figure 3. Control Register Format 06 \ SC1 05 01 Do SCO \RWM1 RWMO\ CM2 \ CM1 \ CMO \ BCD \ L~ L,J I I Lr BCD \ Binary or BCD \ o \ \ 1 \ Binary Count [16 Bits] BCD Count [4 Digits] Count Mode[1] CM2 CM1 CMO 0 0 0 Mode 0 0 0 1 Mode 1 X 1 0 Mode 2 X 1 1 Mode 3 1 0 0 Mode 4 1 0 1 Mode 5 RWM1 RWMO Read/Write Mode Note: Count Latch Command[2] 0 0 0 1 Lower Byte Only 1 0 Higher Byte Only 1 1 Lower Byte then Higher Select Counter or Multiple Latch Command SC1 SCO 0 0 0 1 Counter # 1 1 0 Counter # 2 1 1 Multiple Latch Command[2] Counter#O X: Don't Care [1] CS = 0, AD = 0, ViR = 1 [2] See: Reading the Counter 83-0008048 8 NEe Table 3. pPD71054 Read Operations (CS = 0, iiD = 0, WR = 1) AD o o o Read Target Counter 0 Counter 1 o Counter 2 Directly Reading the Counter You can read the current value of the counter by reading the counter selected 'by A1, Ao as shown in table 3. This involves reading the count latch; since the value of the down counter may change while the the count latch is read, this method may not provide an accurate reading. You must control the ClK or GATE input to stop the counter and read it for a correct reading. Using the Count Latch Command When the count latch command is executed, the current counter value is latched into the counter latch. This value is held by the latch until it is read or until a new mode is set. This provides an accurate reading of the counter value when the command is executed without affecting counter operation. Figure 4 shows the format for the count latch command. If the counter value that was latched into the count latch is not read before a second count latch command is executed, the second command is ignored. This is because the counter value latched by the first command is held until it is read or until a new mode is set. When the data in the count latch is read, the latch is released and continues tracking the value of the down counter. When the status bit is 0, the status of the selected counters is latched into the status latches. Bits Os-Do of the status register show the mode status of the counter. The output bit (D7) shows the state of the OUT pin of that counter. These bits are shown in figure 6. The null count bit (06) indicates whether the count data is valid. When the count is transferred from the count register to the down counter, this bit changes to o to show that the data is valid. Table 4 shows how the null count flag operates. Table 4. Null Count Flag Operation Null Count Flag Operation Write control word for mode set Write count to count register(1) 1 Transfer count from count register to down counter 0 Note: (1) When 2-byte mode is selected, the flag becomes 1 when the second byte is written. Figure 4. 07 06 Control Register Format for Count Latch Command 05 o I I SC1 0 I I 0 I SCO 0 Latch Target 0 0 Counter#O 0 1 Counter # 1 1 0 Counter # 2 1 1 Multiple Latch Command Note: When bits SC1 and SCO are 11, the command Is not the count latch command; it is the mUltiple latch command. 83-00080SA Using the Multiple Latch Command When the multiple latch command is received, the counter value and status register for any counter may be selectively latched into the count latch and status latch. Bits 0 1 -05 of the multiple latch command specify the counter latching. The CPU can then read the status and counter value for the selected counter. FigureS shows the format for this command. Bits CNT2, CNT1 , and CNTO correspond to counters 2, 1, and O. The command is executed for all counters whose corresponding bit is 1. This allows the data for more than one counter to be latched by a single count latch command. When the count bit is 0, the counter value of the selected counters is latched into the count latches. Figure 5. 07 Control Register Format for Multiple Latch Command 06 I 1 I 1 ICOUNTISTATUSICNT2ICNT1ICNTOI 0 I Il 0 I Counter # 0 Not Selected l 1 J Counter # 0 Selected l l J I 0 I Counter # 1 Not Selected J J Counter # 1 Selected J 1 I 0 I Counter # 2 Not Selected I I 1 I Counter # 2 Selected I 0 I Latch Status l I I 1 I Do Not Latch Status J I 0 I Latch Count I I 1 I Do Not Latch Count I 83-000B06A 9 NEe pPD71 054 If the data that was latched is not read before a second mu Itiple latch command is executed, the second command is ignored for those latches whose contents have not been read. This is because the data latched by the first command is held until it is read or until a new mode is set. When the data in the latch is read, the latch is released. See figure 7. It is possible to latch both the count and status using two multiple latch commands. However, regardless of which data is latched first, the status is always read first. The count data is read by the next read operation (1- or 2..,step read as determined by read/write mode). If additional read commands are received, the count data that has not been latched (the contents of the down counter as reflected by the current counter value) is read. Read operations must be performed in accordance with read/write mode. In 2-byte mode, two bytes of data must always be read. This does not imply that the second byte must be read immediately after the first; other counter operations may be. performed between the two reads. For example, you coulcl read the lower byte, write a new lower byte, read the higher byte, and write a new higher byte. Definitions Initial OUT refers, to the state,of the OUT pin immediately after the mode is set. Count transfer refers to the transfer from the count register to the down counter. The down counter is decremented at the falling edge of the ClK pulse. Count zero is the state of the down counter when the counter is decremented,to zero. PCNTO, PCNT1, and PCNT2 are the I/O ports for counters 0,1, and 2, respectively. PCTRl is the I/O port for the control comm.and. CW is the control command~ HB is the higher byte of the count. lB is the lower byte of the count. In the timing charts for each counter mode, counter 0 is in the read/write 1-byte and binary count mode. When no GATE signal appears in the charts, assume a high level signal. The valu'e shown below the OUT signal is the counter value. The maximum value that can be set for the count iheach mode IS O. When this value is set, a maximum value of 10000H (hexadecimal count) or 10000 (BCD count) is obtained. Figure 7. Multiple Latch Command Execution Example ClK pulse refers to the time from the rising to the falling edge of the CLKn input. Latch Condition Trigger refers to the rising edge of the GATEn input. The GATEn input is sampled at each rising edge of the ClKn input. The GATE input can be level or rising edge sensitive. In the latter case, counter n's internal flip-flop is set at the rising eclge of the GATE signal, sensed at the rising edge of the next ClK pulse, and reset immediately. This allows edge-triggering to be sensed whenever it occu rs. Figure 6. Start Latched Count of Counter 0 Ignored Status Data , * * * EI3 EJ3 .Er:::!J * * EI3 * * EJ:!] EJ:!] Command to Latch Status of Counter 1 Ignored. , All Latches Ignored o Latch Released • Latched * Command Ignored 83-00080BA 10 NEe pPD71054 Counter Modes Mode 0: Interrupt on End of Count. In this mode, the OUT output changes from low to high level when the end of the specified count is reached. See table 5 and figure 8. Table 5. SUBRO: Mode 0 Operation Function Result Initial OUT low level GATE High Count enable GATE low Count disable Count Write The OUT pin goes low independent of the ClK pulse. In 2-byte mode, the count is disabled when the first byte is written. The OUT pin goes low. OUT goes low when a new mode or new count is written. Count Transfer and Operation Count Zero Mode 0 Program Example. This subroutine causes a delay of 10004 (decimal, or 2710H) elK pulses. In this program, counter 2 is set to 2-byte mode and binary count. See figure 9. When the count is written with GATE high: Transfer is performed at the first ClK pulse after the count value is written. The down counter is decremented beginning at the first ClK pulse after data transfer. If a count of n is set, the OUT pin goes high after n + 1 ClK pulses. When the count is written with GATE low: Transfer is performed at the first ClK pulse after the count is written. The down counter is decremented beginning at the first ClK pulse after the GATE signal goes high. If a count of n is set, OUT is low for a period of n ClK pulses after GATE goes high. The signal at the OUT pin goes high. The count operation does not stop and counts down to FFFFH (hexadecimal) or 9999 (BCD) and continues to count down. . MOV Al, 1011 OOOOB OUT MOV OUT MOV OUT RET PCTRl,Al Al,10H PCNT2,Al Al,27H PCNT2,Al ;set mode: counter 2, ;2-byte mode, ;count mode 0, binary ;write count 10000 (decimal) Mode 1: GATE Retriggerable One-Shot. I n mode 1, the pPD71054 functions as a retriggerable one-shot. A low-level pulse triggered by the GATE input is output from the OUT pin. See table 6 and figure 10. Table 6. Mode 1 Operation Function Initial OUT Result High level GATE Trigger(1) Count data is transferred at the ClK pulse after the trigger. Count Write The count is written without affecting the current operation. Count Transfer and Operation Transfer is performed at the first ClK pulse after the trigger. At the same time, the signal at the OUT pin goes low to start the one-shot pulse operation. The count is decremented beginning at the next ClK pulse. If a count of n is set, the one-shot output from the OUT pin continues for n ClK pulses. Minimum Count Count Zero The signal at the OUT pin becomes high. Count operation does not stop and wraps to FFFFH (hexadecimal) or 9999 (BCD) and continues to count. Minimum Count 1 Note: (1) The trigger is ignored when the count has not been written after the mode is set, or when only one byte of the count has been written in 2-byte count mode. 11 1m • NEe pPD71 054 Figure 8. Mode 0 Timing Chart OUTO Count Value --~--~--~----~--~--~----T----r--~ LJ GATEO OUTO Count Value 83-0008098 Figure 9. Mode 0 Program Example T.imlng Chart CLK2 GATE2 OUT2 ---., Count Value 83-0008108 Figure 10. Mode 1 Timing Chart GATEO ---------1 tl---------------\ tl--------------\ OUTO Count Value \VA n-1 --e.:.J I tl------~! tl------- ---- n-2 L..:.J GATED ________ 1n----------------1 n--------------------- OUTD Count Value I n-1 I n-2 83-000811B 12 NEe pPD71 054 Mode 1 Program Example. This subroutine waits until no trigger is generated for an interval of 200 or more ClK pulses after the first gate trigger and returns to the main program. Counter 1 is set to low-byte read/write mode and binary count. See figure 11. SUBR1: FSTTRG: WAIT: Table 7. Mode 2 Operation Function Result Initial OUT High level GATE High Count enable GATE low Count disabled. If GATE goes low when OUT is low, OUT will go high (independent of the ClK pulse). MOV OUT MOV OUT Al,01010010B PCTRl,Al Al,200 PCNT1,Al ;set mode: counter 1,low-byte ;read/write mode, count mode 1, ;binary ;write low byte of count GATE Trigger(1) Transfer is performed at the first ClK pulse after the trigger. Count Write Count is written without affecting the current operation. MOV Al,11100100B OUT IN TEST1 BNZ PCNT1,Al Al,PCNT1 AL,7 FSTTRG ;multiple latch command: ;counter 1, ;status Count Transfer and Operation MOV Al,11100100B Transfer is performed at the ClK pulse after the count is ·Nritten following the mode setting. The counter is then decremented. Transfer is again performed at the first ClK pulse after the count becomes 1. When the trigger is used, transfer is performed at the next ClK pu Ise. When the contents of the down counter becomes 1, OUT goes low for one ClK pulse and returns to high. If a count of n is set, OUT repeats this sequence every n ClK pulses. ;wait for first trigger OUT PCTRl,Al IN Al,PCNT1 TEST1 Al,7 BZ WAIT RET ;multiple latch command: ;counter 1, ;status ;wait until output goes high Count Zero Never occurs in this mode. Minimum Count 2 Note: Mode 2: Rate Generator. In mode 2, the signal from the OUT pin cyclically goes low for one clock period when the counter reaches 0001 H. The counter operates as a frequency divider. See table 7 and figure 12. Figure 11. (1) The trigger is ignored when the count has not been written or when only one byte of the count has been written in 2-byte mode. Mode 1 Program Example Timing Chart Number of ClK Pulses . 1 - 80 - 1 - 60-100-'- - - 2 0 0 - - - - ' 1 GATE1 r Return to Main Program Subroutine Start 83-0008128 Figure 12. Mode 2 Operation Timing Chart ClKO LJ GATEO aUTO Count Value I n I 0003H I0002H I 0002H I 0003H I 0002H -~ WR aUTO Count Value I n I n-1 I 0006H I 0005H I 0004H I 0003H I 0002H 0001H 0004HI 0003H 10002H 83-0008138 13 NEe pPD71054 Mode 2 Program Example. This subroutine generates an interrupt to the CPU each time 10000 (decimal) clock pulses elapse. Counter 0 is in 2-byte mode and binary counting. See figure 13. SUBR3: MOV OUT MOV OUT MOV OUT RET Al,00110100B PCTRl,Al Al.10H PCNTO,Al Al,27H PCNTO,Al ;mode setting: counter 0, 2-byte ;mode, count mode 2, binary ;write count 10000 (decimal) Mode 3: Square Wave Generator. Mode 3 is a freq uency divider similar to mode 2, but with a different duty cycle. See table 8 and figure 14. Figure 13. Table 8. Mode 3 Operation Function Initial OUT High level GATE High Count enable GATE low Count disable. If GATE goes low when OUT is low, OUT will go high (independent of the ClK pulse). GATE Trigger(1) Transfer is performed at the first ClK pulse after the trigger. Count Write Current operation is not. affected. The count is transferred at the end of the half-period of the current square wave and the OUT pin goes high. Count Transfer and Operation Count data is transferred at the first ClK pulse after the count write following the mode setting. Transfer is performed at the end of the current half-cycle and the OUT pin is inverted. Transfer is also performed at the ClK pulse after the trigger. The operation performed depends on whether count n is even or odd. When n is even, the count is decremented by two on each following clock pulse. At the end of the count of two, the count is again transferred and the OUT pin is inverted. This is taKen as a half-cycle and repeated. When n is odd, n - 1 is transferred and the count is decremented by two on each following clock pulse. The half-cycle when the OUT pin is high continues until the end of count 0 and n ,.- 1 is transferred again at the next ClK pulse. The half-cycle while OUT is low continues until the end of count 2. Thus, the half-cycle while OUT is high is one ClK longer than the halfcycle while OUT is low. Count Zero Occurs only when the count is odd. Miniinum Count 3 Mode 2 Configuration Voo CPU INT 1----0<: t - - - - - i J. Result OUTO 83-000814A Note: (1) The trigger is ignored when the count has not been written after the mode is set or when only one byte of count has been written in 2-byte mode. Figure 14. Mode 3 Timing Chart. CLKO LJ GATEO u OUTO CounlValue n-1 I 0004H I 0002H n-1 I 0004H I 0002H 0004HI 0002H OOOOH 0004H 0004H I 0002H I 0004H I 0004H 0004H I 0002H I OOOOH I 0004H OUTO CounlValue I I 0002H 0004H 83·0008158 14 NEe pPD71 054 Mode 4: Software-Triggered Strobe. In mode 4, when the specified count is reached, OUT goes low for one ClK pulse. See table 9 and figure 16. Mode 3 Program Example. This subroutine divides the input ClK frequency (5.0688 MHz) by 264 to get a 19,200 Hz clock. Counter 2 is in 2-byte binary mode. See figure 15. Table 9. SUBR4: MOV OUT MOV OUT MOV OUT RET Figure 15. Al,10110110B PCTRl,Al Al,08H PCNT2,Al A,01H PCNT2,Al ;mode setting: counter 2, 2-byte ;mode, count mode 3, binary ;264 frequency division Frequency Division Voo IlPD710S4 GATE2 Result Initial OUT High level GATE High Count enable GATE low Count disable Count Write Count is transferred at the next ClK pulse when the count is written. In 2-byte mode, data is transferred after the second byte is written. Count Transfer and Operation Count is transferred at the first ClK following the count write. If GATE is high, the down counter begins to decrement from the next ClK. If GATE is low, decrement begins at the first ClK after GATE goes high. Count Zero OUT is low for one ClK pulse and returns to high. The down counter Wraps to FFFFH (hexadecimal) or 9999 (BCD) without stopping counter operation. Minimum Count 1 ¢' [19200 Hz] OUT2 ¢ [5.0688 MHz] - Mode 4. Operation Function CLK2 83-000816A Figure 16. Mode 4 Timing Chart OUTO Count Value GATEO OUTO Count Value I n I n-1 I 0004H I 0003H I 0002H I 0001H OOOOH I I I FFFFH FFFEH FFFDH FFFCH --------------------~ I n I n-1 I 0004H I 0004H I 0004H I 0003H I 0002H I I n I n-1 I OOOSH I 0004H I 0003H I 0002H I 0003H I 0001H OOOOH FFFFH I FFFEH OUTO Count Value 0002H I 0001H 83-0008178 15 NEe pPD71054 Figure 17. Mode 5 Timing Chart - -- - - - - - - - - --, - GATEO I OUTO I Count Value ViR n I n-1 ~ GATEO - - - - - - - - -; OUTO Count Value I n I I n-2 I n-3 I 0002H I 0001 H E::J n------------------ ------\ n ---- ------ n-1 I 0004H 10003H I 0002H I ~ 0001H I OOOOH IFFFFH IFFFEH I0003H 10002H 83-0008188 Mode 5: Hardware-Triggeretl Strobe [Retriggerable]. Mode 5 is similar to mode 4 except that operation is triggered by the GATE input and can be retriggered. See table 10 and figure 17. Table 10. Mode 5 Operation Function Result Initial OUT High level GATE Trigger(1) The count is transferred at the ClK pulse after the trigger. The GATE has no effect on the OUT signal. Count Write The count is written without affecting the current operation. Count Transfer and Operation Count is transferred at the first ClK pulse after a trigger, providing that the mode and count have been written. Decrement begins from the first ClK pulse after a data transfer. If a count of n is set, OUT goes low for n + 1 ClK pulses after the trigger. Count Zero OUT is low for one ClK and goes high again. The down counter counts to FFFFH (hexadecimal) or 9999 (BCD) without stopping the counter operation. Mode 5 Program Example. Use mode 5 to add a fail-safe function to an interface. For example, the receiving equipment requests data by issuing a REO signal to the sending equipment. The sending equipment responds by outputting data to the data bus and returning a SEND signal to the receiving equipment. In this type of system, if a malfunction exists in the sending equipment and no SEND signal is sent, the receiving equipment waits indefinitely for the SEND signal and system operation stops. The following subroutine remedies this situation. If no SEND signal is output within a given period (50 elK cycles in this example) after the REO signal is output, the system assumes the sending equipment is malfunctioning and a FAil Signal is sent to the receiving equipment. SUBR5: MOV Al,00011010B OUT PCTRl,Al MOV Al,50 OUT PCNTO,Al RET Minimum Count ;mode setting: counter 0, low ;1-byte ;mode, count mode 5, binary ;set interval: 50 ClK pulses Note: (1) The trigger is ignored when the count has not been written after the mode is set or when only one byte has been written in 2-byte mode. Figure 18. Interface Fail-safe Example Data Bus Receiving Equipment P - - - _ _ . - - - - - - - - - - I S E N D Sending i-----+-------..-clREQ Equipment IlPD71054 83-000819A 16 NEe NEe Electronics Inc. pPD71055 Parallel Interface Unit Description 44-Pln Plastic QFP The JlPD71055 is a low-power CMOS programmable parallel interface unitforuse in microcomputer systems. Typically, the unit's three I/O ports interface peripheral devices to the system bus. Features D Three 8-bit liD ports D Three programmable operation modes D Bit manipulation command D D D D D Microcomputer compatible CMOS technology Single +5 V ±10% power supply Industrial temperature range: -40 to +85°C 8 MHz and 10 MHz NC NC Cs RESET GNO Do Al 01 Ao 02 P27 03 P26 04 P2s 05 P24 06 P 20 07 P2 1 Voo Ordering Information Part Number pPD71055C-8 Clock (MHz) 8 Package 40-pin plastic DIP C-10 10 G-8 8 44-pin plastic QFP (P44G-80-22) G8-8 8 G8-10 10 44-pin plastic QFP (P44G8-80-384) L-8 8 L-10 10 83-001218A 44-Pln Plastic Leaded Chip Carrier (PLCC) r----------, I- ~ W 44-pin PLCC ~ WR 40-Pln Plastic DIP NM(J Q Q Z .. Q .,,"',..Q > C Q Q Q 40 41 28 27 P17 42 26 P15 POs 43 25 P04 P03 2 24 23 22 P14 P13 NC 44 1 P07 P06 Pin Configurations ..... Q Q 0 pPD7105S P16 NC P12 P02 POl 21 20 POo RD 19 Plo P23 18 P22 Pll ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ I~~~~~~~~~£& ~ ~ ~ ~ ~ ~ ~ 83-004205A 49-000610A 50010-1 (NECEL-153) I!'-II aiiI NEe pPD71055 Pin Identification WR [Write Strobe] Symbol Function CS Chip select input GND Ground Address inputs 1 and 0 110 port 0, bits 7-0 A1, Ao [Address] 110 port 1, bits 7-0 The A1 and Ao inputs are used in combination with the RD and WR signals to select one of the three ports or the command register. A1 and Ao are usually connected to the lower two bits of the system address bus (table 1). 110 port 2, bits 7-0 IC Internally connected VDD +5V °rDo 110 data bus RESET Reset input WR Write strobe input RD Read strobe input NC No connection Pin Functions 07-00 [Data Bus] DrDo make up an 8-bit, three-state, bidirectional data bus. The bus is connected to the system data bus. It is used to send commands to the JLPD71055 and to send data to and from the pPD71 055. CS [Chip Select] The es input is used to select the pPD71055. When es = 0, the pPD71055 is selected and the states of the DrDo pins are determined by the RD and WR inputs. When es = 1; the pPD71 055 is not selected and its data bus is high-impedance. RD [Read Strobe] The RD input is set low when data is being read from the pPD71 055 data bus. WR [Write Strobe] The WR input should be set low when data is to be written to the pPD7.1055 data bus. The contents of the data bus are written to the pPD71055 at the rising edge (low to high) of the WR signal. A1, Ao [Address] The A1 and Ao inputs are used in combination with the RD and WR signals to select one of the three ports or the command register. A1 and Ao are usually connected to the lower two bits of the system address bus (table 1). 2 The WR input should be set low when data is to be written to the pPD71055 data bus. The contents of the data bus are written to the pPD71055 at the rising edge (low to high) of the WR signal. Table 1. Control Signals and Opera,tion pPD71 055 Operation o o 0 o o o Input Port 1 to data bus Input o Port 2 to data bus Input o o Use prohibited' 1 0 0 x o o o o o o o Operation Port 0 to data bus 0 x x x o x x x x Data bus to port 0 Output Data bus to port 1 Output Data bus to port 2 Output Data bus to command register Output Data bus high impedance RESET [Reset] When the RESET input is high, the JLPD71055 is reset. The group 0 and the group 1 ports are set to mode 0 (basic I/O port mode). All port bits are cleared to zero and all ports are set for input. P07-POO, P17-P10, P27-P20 [Ports 0, 1, 2] Pins POrPOo, P1rP10, and P2rP20 are the port 0,1, and 2 I/O pins, bits 7-0, respectively. IC [Internally Connected] Pins marked Ie are used internally and must be left unconnected. NEe pPD71 055 Block Diagram Data bus buffer R[jo--_od WRo--_od Read! A, o------l~ RESET o------l~ write control cs 0 - - - - - - - ' 49·0006118 Functional Description Ports 0, 1, 2 Group 0 Control and Group 1 Control The pPD71 055 has three a-bit I/O ports, referred to as port 0, port 1, and port 2. These ports are divided into two groups, group 0 and group 1. The groups can be in one of three modes, mode 0, mode 1, and mode 2. Modes can be set independently for each group. These blocks control the operation of group 0 and group 1. When port 0 is in mode 0, port 0 and the four upper bits of port 2 belong to group 0, and port 1 and the four lower bits of port 2 belong to group 1. When port 0 is in mode 1 or 2, port 0 and the 5 upper bits of port 2 belong to group 0 and port 1 and the three lower bits of port 2 belong to group 1. Command Register The host writes command words to the pPD71055 in this register. These commands control group 0 and group 1. Note that the contents of this register cannot be read. Read/Write Control The read/write control controls the read/write operations for the ports and the data bus in response to the RD, WR, CS, and address signals. It also handles RESET signals and the Ao, A1 address inputs. Data Bus Buffer The data bus buffer latches information going to or from the system data bus. NEe pPD71 055 DC Characteristics Absolute Maximum Ratings (TA = -40 to +85°C, Voo = 5 v ±10%) (TA = 25°C) Limits -0.5 to +7.0 V Power supply voltage, Voo Input voltage, VI -0.5 to Voo + 0.3 V Parameter Output voltage, Vo -0.5 to Voo + 0.3 V Input voltage high VIH 2.2 Voo + 0.3 V Input voltage low VIL -0.5 0.8 V Output voltage high VOH 0.7 Voo Output voltage low VOL Darlington drive current 10AR Input leakage current high IUH 10 Input leakage current low IUL -10 Power dissipation, PD MAX 500mW Operating temperature, Topt -40 to +85°C Storage temperature, Tstg -65 to +150°C Comment: These devices are not meant to be operated outside the limits specified above. Exposure to stresses beyond those listed in Absolute Maximum Ratings could cause damage. Exposure to an absolute maximum rating for extended periods may affect reliability. Capacitance (TA = 25°C, Voo = GND = 0 V) Limits Parameter Symbol Input capacitance CI 1/0 capacitance CIO MI.~ Typ Max Units 10 pF 20 pF Test Conditions fc = 1 MHz Unmeasured pins returned to 0 V Symbol Min Typ Max 0.4 -1.0 -4.0 Units Test Conditions V 10H = -400 JJA V 10L = 2.5 rnA rnA See test setup diagram JJA VI = VOO JJA VI =OV Output leakage ILOH current high 10 Output leakage ILOL current low -10 JJA Vo=OV 10 rnA Normal operation JJA Vo = Voo Supply current (dynamic) JJPD71055 1001 JJPD71055-10 1001 5 10 rnA Normal operation Supply current 1002 (standby) 2 50 JJA Inputs: RESET = 0.1 V, others = Voo - 0.1 V Outputs: Open Test Setup for IDAR Measurement For up to 8 lines chosen arbitrarily from ports 1 and 2 83VL-6619A 4 NEe JlPD71 055 AC Characteristics (TA = -40 to +85°C. Voo = 5 v ±10%) 8 MHz Limits Parameter Symbol Min Max 10 MHz Limits Min Max Unit Test Conditions Read Timing A1. Ao. CS set-up to RD ~ t A1. Ao. CS hold from RD tSAR 0 0 ns tHRA 0 0 ns 160 RD pulse width tRRL Data delay from RD ~ tORO t tFRO 10 tRV 200 150 ns tSAW 0 0 ns tHWA 0 0 ns 100 ns Data float from RD Read recovery time 150 120 85 10 ns 100 ns CL=150pF 60 ns CL = 20 pF; RL = 2 kn Write Timing A1. Ao. CS set-up to WR ~ t A1. Ao. CS hold from WR WR pulse width tWWL 120 t Data hold from WR t tsow 100 100 ns tHWO 0 0 ns Write recovery time tRV 200 150 ns ns Data set-up to WR Other Timing Port set-up time to RD ~ tSPR 0 0 t tHRP 0 0 ns Port set-up time to STB ~ tsps 0 0 ns tHSP 150 Port hold time from RD Port hold time from STB Port delay time from WR t t 150 350 towp STB pulse width tSSL 350 100 DAK pulse width tOAOAL 300 100 Port delay time from DAK ~(mode 2) tOOAP Port float time from DAK t(mode 2) tFOAP OBF set delay from WR t 20 tOWOB ns ns ns ns 250 ns CL = 20 pF; RL = 2 kn 300 150 ns CL=150pF ns 250 20 OBF clear delay from DAK ~ tooAOB 350 150 IBF set delay from STB ~ tOSIB 300 150 ns tORIB 300 150 ns tOOAI 350 150 ns tOWI 450 200 ns tOSI 300 150 ns tORI 400 200 t INT set delay from DAK t IBF clear delay from RD INT clear delay from WR ~ INT set delay from STB t INT clear delay from RD ~ RESET pulse width tRESEn 50 tRESET2 500 CL = 150 pF 150 300 ED ns 200 CL = 150 pF ns 50 ps During right after power-on 500 ns During operation 5 NEe JlPD71 055 Timing Waveforms AC Test Waveform .Recovery Time 24 2~.2~______________~2~.2 0:4.===x> Test Points 0.8 ::::::::x=== 0.8 49·000166A AD \VA -----:L Timing Mode 0: Input 49-00027SA Mode 1: Input Port 07-00 IBF ------------< _ _---,--J 49·001140A Mode 0: Output INT _ _ _ _ _ _J Cs, A1,AO ~~--:----:-:-------,;jC WR ______ts'-A'-W"' 49-001142A J.-__t _HW_A_ _ __ Mode 1: Output 07-00 Port 49-001141A INT 07-00 Port _ _ _ _ _ _ _ _ _.J 49-000276A 6 NEe IIPD71 055 Timing Waveforms (coni) Mode 2 INT 07-00 IBF portO------------~----------~ Perlpheral- fLP071055 fLP071055 -Peripheral 49-000277A 7 NEe pPD71 055 pPD71055 Commands Two commands control pPD71055 operation. The mode select command determines the operation of group 0 and group 1 ports. The bit manipulation command sets or resets the bits of port 2. These commands are executed by writing an 8-bit command word to the command register (A1AO = 11). The RD and WR signals that appear in the descriptions of each mode refer to the port in question as addressed by A1 and Ao. These signals only affect the port addressed by A1 and Ao. Where the port addressed may not be clear, 0 or 1 is appended to the signal name to indicate the port. Mode 0 Mode Select ThepPD71055 port groups have three modes. Modes 0 and 1 can be specified for groups 0 and 1, but mode 2 can only be specified for group O. The bits of all ports are cleared when a mode is selected or when the pPD71055 is reset. Mode o. Basic input/output port operation. Mode 1. Strobed input/output operation controlled by three or four bits of port 2 used as control/status signals. Mode 2. (Only available for group 0). Port 0 is the bidirectional 1/0 port and the higher 5 bits of port 2 are used for status and control signals. To specify the mode, set the command word as shown in figure 1 and write it to the command register. Bit Manipulation Command This command (figure 2) affects only port 2.lt is mainly used in mode 1 and mode 2 to control the port 2 bits which are used as control/status signals. It is also used to enable and disable pPD71 055-generated interrupts and to set and reset port 2 general input/output pins. For example, to set bit 2 of port 2 to 1 (P22 = 1), set the command word as shown in figure 3 (05H) in the command register. Operation in Each Mode The operation mode for each group in the pPD71055 can be set according to the application. Group 0 can be in modes 0, 1, or 2, while group 1 is in mode 0 or 1. Group 1 cannot be used in mode 2. 8 In this mode the ports of the pPD71055 are used to perform basic 1/0 operations. Each port operates with a buffered input and a buffered latched output. See figure 4. Depending on the control word sent to the pPD71055 from the system bus, ports 0, 1, and 2 can be independently specified for input or output. Input Port Operation While the RD signal is low, data from the port selected by the A1 Ao signals is put on the data bus. See figure 5. Output Port Operation When the pPD71 055 is written to (WR = 0), the data on the data bus will be latched in the port selected by the A1AO signals at the rising edge of WR and output to the port pins (figure 6). Following the programming of mode 0, all outputs are at a low level. By reading a port which is set for output, the output value of the port can be obtained. Note: When group 0 is in mode 1 or mode 2, only bits P22-P20 of port 2 can be used by group 1. Bit P23 belongs to group o. Mode 0 Example This is an example of a CPU connected to an AID converter via apPD71055 (figure 7). Here both group 0 and group 1 are set to mode 0 and port 2 is used to start conversion and detect the end of the conversion process. Figure 8 is a subroutine that reads the converted data from an AID converter. NEe Figure 1. pPD71 055 Mode Select Command Word I I 1 I L,J I I J 1 I Group 1 ~ 0 OutpUI 1 Inpu1 0 Output Port 2 (Lower) Port 1 Mode 1 Inpu1 0 ModeD 1 Model GroupO Port 2 (Upper) PortO 0 Output 1 InpU1 0 OutpU1 1 Mode InpU1 00 ModeD 01 Model lX Mode 2 0 Bit manlpulalion 1 Mode select Command select 49-0006138 Figure 2. Bit Manipulation Command Word I o I x I x I x I I I I I I I Y l I Bilsellresel Port 2 bil select Command select 0 1 J I Resel Sel 0 o 0 0 1 Bill 0 1 0 Bil2 0 1 1 Bil3 1 0 Bit 4 1 o o 1 Bit 5 1 1 0 Bit 6 1 1 Bit 7 BilO 0 1 I 0 I 1 IBit manipulation I Mode select 49-0006148 Figure 3. Bit Manipulation Command Example I 0 I x I x I x I 0 I 1 I 0 I 1 I =05H f Bil manipulation Command Don't care Specifies bit 2 Bit set 49-000615A Q NEe pPD71055 Figure 4. Mode 0 Group 1 Mode 0 flPD71055 GroupO I I I 3· I 1 I 0 I 0 L~ 2 0 C 1 I 1: Input 0: Output t [1: Input 0 0: OUtput 1: Input mode 0 0 Mode 0 0 1 Mode 1 1 X Mode 2 ( .A A. 4 " r .L ~ Port 2 P23-P20 , <. 4 r A. , <. J. 8 r Port 2 P2 7 -P2. PortO P07 -POO Group 0 Mode 0 Command 0 Bit manipulation select 1 Mode select I "Y T Port 1 P1 7 -P1 0 flPD71 055 0: Output 1: Input GroupO <. ~ 8 I G~UP1 ~ A- O:OutPut I I 49·000620A Figure 5. Mode 0 Input Timing Ro~ Port input 0 -0 7 0 -------~--------------------Internal delay (RD-D 7 -Do) Internal delay Internal delay (RD-D7 -Do) (Port-D7 -D o) 49-000618A Figure 6. Mode 0 Output Timing WR-----......\ 7 0 0 -0 Port output _____ ~ ~X'____ . . J~_x-~=~~=--~=-_:=-_:~-_==+_.... ...... -----------l~....J ,~ In~aldelay (WR-Port) 49·000619A 10 NEe Figure 7. pPD71055 AID Converter Connection Example CPU B . AID Converter fJ. Po71 055 P07 0 7 -0 0 r I B 0 7 -00 A'N POD ' P27 P20 -- Analog signal EOC - -i>u- __ START 49-000621 A Figure 8. AID Converter Example READ---A/D: WAIT_EOC: MOV OUT AL,1 0011 OOOB CTRLPORT,AL MOV OUT IN TEST1 BNZ IN RET AL,00000001 B CTRLPORT,AL AL,PORT2 AL,? WAIT_EOC AL,PORTO ;pPD?1055 Mode Setting: ;Group 0, group 1 in mode 0 ;Port 0 & port 2 (upper) are inputs ;Port 1 & port 2 (lower) are outputs ;Conversion starts by setting P20 high ;End of conversion wait loop ;Conversion ends when P27 = 0 ;Read A/D converted values ~--------------~m Mode 1 Mode 1 Input Operation In this mode, the control and status signals control the I/O data. In group 0, port 0 functions as the data port and the upper five bits of port 2 function as control/ status. In group 1, port 1 functions as the data port and the lower three bits of port 2 function as control/status. I n mode 1 ,portO is the data port for grou pO, and port 1 for group 1. The control/status bits (port 2) are used as listed below. Figure 10 shows the signal timing. In mode 1, the bit manipulation command is used to write the bits of port 2. Group 0 Mode 1 When group 0 is used in mode 1, the upper five bits of port 2 become part of group O. Of these five bits, three are used for control/status and the remaining two can be used for I/O (using the bit manipulation command). See figure 9. Group 1 Mode 1 When group 1 is used in mode 1, the lower three or four bits of port 2 become part of group 1. Of these four bits, three are used for control/status. The remaining bit, P23, can be used for I/O only if group 0 is in mode o. Otherwise, P23 belongs to group 0 as a control/status bit. See figure 9 and table 4. ffi [Strobe]. The data input at port 0 is latched in port Owhen the STBO input is brought low. The data input at port 1 is latched in port 1 by STB1. IBF [Input Buffer Full F/F]. The ISF output goes high to indicate thatthe input buffer has become full.IBF goes high when the STB signal goes low. ISF goes low at the rising edge of the RD signal when STB = 1. The IBF F/F is cleared when mode 1 is programmed. INT [Interrupt Request]. INT goes high when the data is latched in the input port, when RIE is 1 and STB, IBF and RD are all high. INT goes low at the falling edge of the RD signal. It can function as a data read request interrupt signal to a CPU. INT is cleared when mode 1 is programmed. 11 NEe pPD71055 Figure 9. Mode 1 Input Command word , , Group 1 GroupO 7 L 1 J 0 1 L.----J I 1 J i I 1 I 1 I 0: Output 1: Input IBFO ~ 5Teo O:Outp ut/ ltlTO 1: Input 5TB1 - 00 GroupO mode Mode 0 IBF1 01 Mode 1 INTI 1 X Mode 2 Group 1 0 Mode 0 mode 1 Model Command select 0 Bit manipulation 1 Mode select fJ,PD71055 P27-P2. Port 1 input 8 PortO input 8 -" 1 y I RI~O I P25 P2. P2,· P22 P2, P20 • _____ -1 ~ ... _____ J P1 7 -P1 0 P07-PO O RIEO and RIEl are controlled by bit manipulation command I I "Note: Bit P23 Is available In Group 1 only when Group 0 Is Mode O. For all other conditions P23 Is part 01 Group O. This diagram shows how bit P23 would be used II Group 1 waaln Mode 1. 49-0006'68 Figure 10. Mode 1 Input Timing RIE =1 IBF _ _ _ _- J Port input ----.J"\--->,Pt---+-~''---~-------+_-Portlntemal - . . . , - - - -____,t~H-----M,:_------+_-latch I~ __________- J Note: II STB goes low here belore IBF goes low, original contents 01 port latch will change. STB must be kept high untlllBF goes low to prevent loss 01 date. 49'OOO624A 1? NEe JlPD71 055 RIE [Read Interrupt Enable Flag]. RIE controls the interrupt output. Interrupts can be enabled by using the bit manipulation command to set this bit to 1, and disabled by resetting it to o. This signal is internal to the pPD71055 and is not an output. The state of RI E does not affect the function of STSO or STS1, which are inputs to the same bits (P2 4 and P22) of port 2. Mode 1 Output Operation I n mode 1 output operation (figu re 11), the status/ control bits (port 2) are used as listed below. Figure 12 shows the signal timing. OBF [Output Buffer Full F/F]. OBF goes low when data is received by the pP071 055 and is latched in output ports 1 or O. OBF functions as a data receive flag. OBF goes low at the risi ng edge of WR when OAK = 1 (write complete). It goes high when the OAK signal goes low. When input is specified in mode 1, the status of I SF, INT and RIE can be read by reading the contents of port 2. Figure 11. Mode 1 Output Command word I 1 I 0 1 L~ GroupO Group 1 ! ! I I 0 I 1 I 0 I f.li>D71055 OBFO - - - - - - 1 P27 DAKO r P2. 0: Output 1: Input P25-P24 0:0utPutjlNTO l:lnput DAKl 00 ~ Mode 0 01 Model INn OX Mode 2 Port 1 output Group 1 mode 0 Mode 0 1 Model Command select 0 Bit manipulation 1 Mode select GroupO mode I WI,:E 0 I P23* .- ____ J P22 ~,1 P2, ~ - - - - - - 1 P20 _ - - _..J PortO output WIEO and WIEl are controlled by manipulation command I I 'Note: Bit P23 is available in Group 1 only when Group 0 is Mode o. For all other conditions P23 is part of Group O. This diagram shows how bit P23 would be used II Group 1 was in Mode 1. 49·0006168 Figure 12. Mode 1 Output Timing WIE =1 INT ¥~ YL!.iA [Note] j?-- ~ I\: \ X Port output l\\),J " X \' "2J~ Note: If data is written to the IIPD71055 betore OBF goes high the original contents of the port latch will change. Data must not be written while OBF is low to prevent loss of data 49·000623A NEe pPD71055 Table 2. OAK [Data Acknowledge]. When this input is low, it signals the pP071055 that output port data has been taken from the 71055. Functions of Port 2 Bits In Mode 1 Group Bit P20 Data Input Data Output INT1 (Interrupt request) INT1 (Interrupt request) 'P2'~"""i'BF1'('i~p~t'b~ff~~"f~ii'fif)""OB'F1''(O~tP'~'t'b'~'ff~~'f~'ii'f'if')"'" INT [Interrupt Request]. INT goes high when the output data is taken when WIE is set to 1 and WR, OBF and OAK areall high. It goes low at the falling edge of the WR signal. INT therefore functions as a write request signal, indicating that new data should be sent to the.pP071055. ; ·p2;......si=s-1..(St~~·b~·i~p·~·t)........·.... ·DAK1-(·D~t~·~~k·~·~;;i~dg·~.......... RIE1 (Read interrupt enable flag) input) WIE1 (Write interrupt enable flag) 110 (Note) 110 (Note) ............ -....... __ ............................ -....... __ ..... --_ .. _---_ .... --_ .............. __ ........ -..... ---. P23 WIE [Write Interrupt Enable Flag]. WIE controls the interrupt output. Interrupts can be enabled by using the bit manipulation command to set this bit to 1 and disabled by resetting it to O. This signal is internal to the pP071 055 and is not an output. The state of WI E does not affect the function of OAK addressed to the same bits of port 2. 0 .~?~...... !.~!.~..~!.~.~~!.~.~~~.~.e.~~.~.~.t1.....I.~.~~.~.I.~~.~.~.~~.~.~.!.~~.~.~~~! ......... . P24 STBO (Strobe input) RIEO (Read interrupt enable flag) 110 IBFO (Input buffer full flf) 110 ........ __ ............... ___ ... _..... ___ .... _.. __ ._ ... ··-_0.···· ... ··· ... ···· .. ···· .. ---- ... ···· .. ·_--.····· ....... . P25 ·P-2~ ..····I·i·o·· .. ·· .. ············ .. ··· ....·.. ·.. ········DAKO·(·D~t~·~·~·k~~·:;;i~d·g·~······· input) WIEO (Write interrupt enable flag) When output is specified in mode 1, the status of OBF, INT and WIE can be obtained by reading the contents of port 2. OBFO (Output buffer full f If) Table 2 shows a summary of these signals. Note: Can be used with group 1 only when group 0 is set to mode O. In other modes, P23 belongs to group O. Mode 1 Example This example (figure 13) demonstrates connecting a printer to the pP071055. Group 0 is used in mode 1 output. Group f can operate in mode 0 or 1; in this example it is set to mode 0: FIgure 13. Connection to PrInter CPU !,-P071055 Printer 0 7 -00 8 . r P0 7 -POO 0.,-0 0 8 One-shot delay OBFO(P27l OAKO(P2sl P2s --9 1> r -- STROBE ACK BUSY 19-000625A 14 NEe Figure 14. pPD71055 Printer Example Subroutine ;This subroutine sends character strings to the printer INIT: MOV AL,10101000B ;pPD71055 Mode Setting: ;Group 0: mode 1 output ;Group 1: mode 0 OUT CTRLPORT,AL RET MOV SENDPRN: BW,DATA ;Output data address PRNLOOP: MOV AL,[BW] AL,OFFH CMP ;End if data = OFFH BNZ WAIT RET WAIT: IN AL,PORT2 TEST1 AL,7 ;Wait until output buffer is empty , BZ WAIT TEST1 AL,5 ;Wait until printer can accept data BNZ WAIT MOV AL,[BW] ;Send data to printer OUT PORTO,AL INC BW BR PRNLOOP Mode 2 Mode 2 can only be used by group o. In thismode, port o functions as a bidirectional 8-bit data port operating a!the rising edge of the WRO signal (end of data write). It goes high when DAKO is low (output data from port 0 received). under the control of the upper five bits of port 2 as control/status signals. In this mode, port 0 combines the input and output operations of mode 1. See figures 15 and 16. DAKo [Data Acknowledge]. DAKO is sent to the pPD71055 in response to the OBFO signal. It should be set low when data is received from port 0 of the pPD71055. In mode 2, the status of the following signals can be determined by reading port2: OBFO, IBFO, INTO, WIEO, and RIEO. WI EO [Write Interrupt Enable Flag]. WIEO controls the write interrupt request output. Interrupts are enabled by using the bit manipulation command tosetthis bitto 1 and disabled by setting it to O. The state of WIE does not affect the DAK function of this pin. The DAKO and STBO signals are used to select input or output for port O. By using these signals, bidirectional operation between the pPD71 055 and peripheral can be realized. In mode 2, the bit manipulation command is used to write to port 2. Control/Status Port Operation The following control/status signals are used for output: 6ii'Fo [Output Buffer Full]. OBFO goes low when data is received from the Do-D7 data bus and is latched in the port 0 output buffer. It therefore functions as a receive request signal to the peripheral. OBFO goes low The following control/status signals are used for input: STBO [Strobe Input]. When STBO goes low, the data being sent to the pPD71055 is ratched in port O. IBFO [Input Buffer Full F/F]. When IBFO goes high, it indicates that the input buffer is full. It functions as a signal which can be used to prohibit further data transfer. IBFO goes high when STBO goes low. It goes low at the rising edge of RDO when STBO = 1 (read complete). 15 Ell NEe pPD71055 Figure 150 Mode 2 Command word 4 3 iJ.P071055 GroupO mode OBFO P27 o 0 Mode 0 OAKO P2. o 1 Model IBFO P2 5 1 X Mode 2 STBO P2. INTO P23 iB ~~ P07-POO WIEO and RIEO are controlled by bit manipulation command 49-Q00627A Figure 160 Mode 2 Timing WIEO = 1 RIEO = 1 INTO • {WINTO ~ J CU I ~J \ / RINTO \ ~~ X X Valid D< Valid 71055~CPU CPU~71055 \: I I IBFO X Y 1 i " PO~POO--~--------~:=~~~---------------------Peripheral~7l055 71055~perlpheral Note: WINTO and RINTO are Internal signals and are write and read Interrupt request signals to the CPU, respectively. WINTO = 0iiF0 (0) WiEo (0) OAKO (0) WFiO RINTO = IBFO (0) RIEO (0) STBO (0) ROO Also note that INTO = WINTO (+) RINTO 49·00062813 16 NEe pPD71055 RIEO [Read Interrupt Enable Flag]. RIEO controls the read interrupt request output. Interrupts are enabled by using the bit manipulation command to set this bit to 1 and disabled by setting it to O. The state of RI EO does not affect the STBO function of this pin. This control/status signal is used for both input and output: INTO [Interrupt Request]. During input operations, INTO functions as a read request interrupt signal. During output, it functions as a write request interrupt signal. Thissignal is the logical OR of the INTsignal for data read (RINTO) and the INTsignal for write (WINTO) in mode 1 (RINTO OR WINTO). Table 3. Functions of Port 21n Mode 2 Bit Function P23 INTO (Interrupt request) P24 STBO (Strobe input) RIEO (Read interrupt enable flag) P25 IBFO (Input buffer full f If) P26 DAKO (Data acknowledge input) WIEO (Write interrupt enable flag) P27 OBFO (Output buffer full f If) Mode 2 Example Figures 17, 18, and 19 show data transfer between two CPUs. In mode 2, the status of OBFO, IBFO, INTO, WIEO, and RIEO can be determined by reading port 2. Table 3 is a summary of these signals. Figure 17. Connecting Two CPUs Main CPU f-lP071055 ,. 8 0 7 '°0 'I INT °7·°0 Sub CPU P0 7 -PO O y 8 °7'°0 'I INTO (P2,) OBFO(P27 ) NMI OAKO(P26 ) AD IBFO(P2.) INT STBO(P2.) ViA 49-Q00626A 17 NEe pPD71055 Figure 18. Main CPU Flowchart Main routine 49-006298 18 NEe Figure 19. pPD71055 Sub CPU Flowchart Main routine Nonmaskable interrupt routine 9-000630B 19 NEe pPD71055 Mode Combinations Table 4 is a complete list of all the combinations of modes and groups, and the function of the port 2 bits in each mode. Table 4. Mode Combinations and Port 2 Bit Functions Group 0 Mode Group 1 P07-POO P27 P2& P25 P24 P23 Mode P1 7-P1 0 P23 P22 P2 1 0 In D D D D NA 0 In D D D 0 In D D D D NA 0 Out D D D 0 In D D D D NA In B ST81 (RIE1) IBF1 INn 0 In D D D D NA Out B DAK1 (WIE1) OBF1 INT1 0 Out D D D D NA 0 In D D D D 0 Out D D D D NA 0 Out D D D D 0 Out 0 D 0 D NA In 8 STB1 (RIE1) IBF1 INT1 0 Out D D D D NA Out B DAK1 (WIE1) OBF1 INT1 In B B IBFO STBO (RIEO) INTO In NA D D D In B B IBFO STBO (RIEO) INTO Out NA 0 0 D In B B IBFO STBO (RIEO) INTO In NA STB1 (RIE1) IBF1 INT1 In B B IBFO STBO (RIEO) INTO Out NA DAK1 (WIE1) OBF1 INT1 Out OBFO DAKO (WIEO) B B INTO In NA D D D Out OBFO DAKO (WI EO) B B INTO Out NA D D D Out OBFO DAKO (WI EO) B B INTO In NA STB1 (RIE1) IBF1 INT1 Out OBFO DAKO (WIEO) B B INTO Out NA DAK1 (WIE1) OBF1 INT1 2 I/O OBFO DAKO (WIEO) IBFO STBO (RIEO) INTO 0 In NA D D D 2 I/O OBFO DAKO (WIEO) IBFO STBO (RIEO) INTO 0 Out NA D D D 2 I/O OBFO DAKO (WI EO) IBFO STBO (RIEO) INTO In NA STB1 (RIE1) IBF1 INT1 2 I/O OBFO DAKO (WIEO) IBFO ST80 (RIEO) INTO Out NA DAK1 (WIE1) OBF1 INT1 0 0 Note: (1) In this chart, "NA" indicates that the bit cannot be used by this group. (2) The symbol "8" indicates bits that can only be rewritten by the bit manipulation command. (3) In this chart, "D" indicates that is used by the user. (4) Symbols in parentheses are internal flags. They are not output to port 2 pins and they cannot be read by the host. (5) In indicates Input, Out indicates Output, and 1/0 indicates Input/Output. 20 P20 D D NEe NEe Electronics Inc. pPD71059 Interrupt Control Unit Pin Configurations Description The tJPD71059 is a low-power CMOS programmable interrupt control unit for microcomputer systems. It can process eight interrupt request inputs, allocating a priority level to each one. It transfers the interrupt with the highest priority to the CPU, along with interrupt address information. By cascading up to eight slave tJPD71059s to a master tJPD71 059, a system can process up to 64 interrupt requests. System scale, interrupt routine address, interrupt request priority, and masking are all under complete program control. 28-Pin Plastic DIP Voo AD INTAK INTP 7 INTP. INTPs INTP. Features (extended mode) Ordering Information Part Number pPD71059C-8 Package 28-pin plastic DIP (600 mil) C-10 INTP 3 Oz 0, INTP z INTP, DO INTP o INT SAD o tJPD8085A compatible (CALL mode) o tJPD70108/70116 compatible (vector mode) o Eight interrupt request inputs per chip o Up to 64 interrupt request inputs per system o Edge- or level-triggered interrupt request inputs o Each interrupt maskable o Programmable priority level o Polling operation o Single +5 V ±10% power supply o Industrial temperature range: -40 to +85 DC o CMOS technology o 8 MHz and 10 MHz 03 SV[BUFR/Wl SA z 83-001220A 44-Pin Plastic QFP CJ Z CJ Z CJ Z 10 Ie ~ ~ II/) 0 g > C0 I~ _ CJ Z CJ Z NC NC 07 INTP 7 06 1NTP6 Os 1NTPs 04 1NTP4 03 1NTP3 02 INTP2 0, INTP, Do 1NTPo G-8 44-pin plastic QFP (P44G-80-22) NC NC GB-8 44-pin plastic QFP (P44GB-80-3B4) NC NC GB-10 L-8 L-10 28-pin PLCC CJ Z CJ Z 0 C I/) ~ I/) 0 Z CI !:! CJz :; rn CJ ~ 1!: z I- I~ "- ::J !!I. lin 50013-1 (NECEL-160) 83-001579A III NEe pPD71059 Pin Configurations (cont) Pin Functions 28-Pin Plastic Leaded Chip Carrier (PLCC) 07-00 [Data Bus] The 8-bit 3-state bidirectional bus transfers data to and from the CPU through the system bus. The data bus becomes active when data is sent to the CPU in the I NTAK sequence. Otherwise, the data bus is high impedance. lNTAK 26 18 lNTPo Ao 27 17 INT voo 28 16 SV[BUFR/Wj 15 14 SA2 13 12 SA1 cs J.lPD 0 71059 WR RD 07 DO CD I.t) -.:t M 0) (\I The CPU uses the pPD71059's CS input to select a pPD71059 to read from (IN instructions) or write to (OUT instructions). The RD and WR signals to the IlPD71 059 are enabled when CS is low. CS is not used for the INTAK sequence. GND SAo o ... ,.. ,.... Q T"" C C C C C C C 63-004217A Pin Identification Function Symbol Cs [Chip Select] Data bus 1/0 RO [Read Strobe] The CPU sets the RD input to 0 when reading the internal registers IMR, IRR and ISR, and during polling operations to read polling data. WR [Write Strobe] Slave address 1/0, bits 2,1,0 GND Ground potential The CPU sets the WR input to 0 when writing initializing words IW1-IW4 and command words IMW, PFCW and MCW. IC Internally connected SV (BUFR/W) Slave (Buffer read write) 1/0 INT Interrupt output Ao [Address] INTPO-INTP7 Interrupt inputs INTAK Interrupt acknowledge input AO Address input VDD Power supply The Ao input is used with CS, RD, and WR to read or writeto thepPD71059. Normally, Ao is connected to Ao of the address bus. Table 1 shows the relationship between read/write operations and the control signals (CS, WR, RD, and Ao)~ CS Chip select input WR Write strobe input INTP7-INTPo [Interrupt Request from Peripheral] RD Read strobe input NC Not connected INTPrlNTPoare eight asynchronous interrupt request inputs. They can be set to be either edge-or leveltriggered. These pins are pulled up by an internal resistance. Their power consumption is lower at highlevel input than at low-level input. INT [Interrupt] INT is the interrupt request output from a pPD71059 to the CPU or master pPD71 059. When an interrupt from a peripheral is input to an INTP pin and acknowledged, the pPD71059 asserts INT high to generate an interrupt request at the CPU or master pPD71059. 2 NEe pPD71059 INTAK [Interrupt Acknowledge] SA2-SAO [Slave Address] The I NT AK input from the CPU acknowledges an interrupt from the pPD71 059. After acknowledging the interrupt request, the CPU returns three low-level pulses (pPD8085) or two low-level pulses (pPD70108/ 70116). Synchronizing to these pulses, thepPD71059 sends a CALL instruction in three bytes, or an interrupt vector number in one byte through the data bus. These pins are only used in systems with cascaded pPD71 059s. The master pPD71 059 uses these pins to address up to eight slave pPD71 059s. These pins are output pins for masters, and input pins for slaves. Voo [Power Supply] SV [BUFR/W] [Slave, Buffer Read/Write] This pin has two functions. When no external buffer is used in the data bus, it is the SV input. When SV is low, the pPD71059 acts as a slave. It operates as a master when SV is high. SV has no master/slave meaning when the pPD71059 is set to single mode. As the BUFR/W output, this pin can allow a bus transceiver to be controlled by the pPD71 059, if one is required. When the pPD71059 changes its data bus to output, it sets BUFR/W low. It sets BUFR/W high when the data bus changes to input. Table 1. CS iii WR IC [Internally Connected] This pin must be left unconnected. Other Conditions pPD71 059 Operation IRR set by MCW IRR to Data bus IRR read ISR to Data bus ISR read ---.---------------------- --- .. -----._-------------------------------------------- ----------------------._.------._----.------------------- 1 1 0 0 D4 = 1 0 Polling data to Data bus Polling IMR read ---------"._--------._--- --.----------------- Data bus to PFCW register ----------.---------.----- -----_ ... _- .. -----------_ ............. ---------._-------------------- ---------------------.----- MCW write Data bus to IW2 register IW2 write ... _ ....... __ ...... _--_ ... -----_ .. _---_ .... _._-- .... _-- .... x x 0 .................. __ ._-_._ ... _----_ ... -_.- (Note 2) _--.--- x x x Note: (1) In the polling phase, polling data is read instead of IRR and ISR. (2) Refer to Control Words section forlW2-IW4 writing procedure. ... _ ........ _ ....... -..... IW3write --_ .. __ ._- ........ _--- ..... _--_._ ... _--_ ... Data bus to IW4 register IW4write Data bus to IMR IMWwrite -----_._._----._ .. _---. __ ..... _- .. _ ... _---._ .... _----- .. _-----_ .. After initializing 0 PFCW write Data bus to MCW register Data bus to IW3 register 0 IW1 write ------_.--. __ .__ .----.-._._--------- D4 = 0, D3 = 1 --_ ... _--._ ..... _-._ ..... _---_ .. _._- ... -... _-- 0 1 CPU Operation IMR to Data bus Data bus to IW1 register "---------._-------._----- D4, D3 = 0 0 This is the ground potential. 0 Polling phase (Note 1) 0 GND [Ground] AD ISR set by MCW 0 This is the positive power supply. Read/Write Operations 0 0 Note: In the single mode, SA2-SAO are output pins, but the output data has no meaning. Data bus high impedance Illegal m NEe JlPD71059 Block Diagram SAD Initialization and Command Word Register Group Data Bus Buffer SA, SA 2 L-...._ _ _ SVI(BUFRIW) b o 4 - - - - INTAK RO---..a WR---+<1 Control Logic I - - - -. . INT Readl Write Control cs --------' In Service Register (ISR) Priority Decision Logic INTP o INTP, INTP 2 INTP 3 INTP. INTP s INTP. INTP 7 49OO0146B Block Diagram Functions Interrupt Request Register [IRR] Data Bus Buffer The interrupt request register shows which interrupt levels are currently being requested. If bit n of the IRR is 1, INTPn is requesting an interrupt. The CPU can read this register. The data bus buffer is a buffer between Dr Do and the pPD71059's internal bus. Read/Write Control The read/write control controls the CPU's reading and writing to and from the pPD71 059 registers. Initialization and Command Word Registers These registers store initializing words IW1-IW4 and command words PFCW (priority and finish control word) and MCW (mode control word). The CPU cannot read these registers. Interrupt Mask Register [IMR] The interrupt mask register stores the interrupt mask word (IMW) command word. Each bit masks an interrupt. If bit n of this register is 1, the interrupt request INTP n is masked and cannot be accepted by the pPD71 059. The CPU can read this register by performing an IN instruction with Ao = 1. 4 In-Service Register [ISR] The in-service register shows all interrupt levels currently in service. If bit n of this register is 1, the interrupt routine corresponding to INTP n is currently being executed. The CPU can read this register. Slave Control Slave control is used in systems with cascaded pPD71 059s. A master pPD71 059 uses it to control slave pPD71059s, and a slave uses it to interface with the master pPD71059. Control Logic The control logic receives and generates the signals that control the sequence of events in an interrupt. NEe J.lPD71 059 Priority Decision Logic DC Characteristics The priority decision logic determines which interrupt request from the IRR will be serviced next. The decision is made based upon the current interrupt mask, interrupt service status, mode status, and current priority. Absolute Maximum Ratings TA = 25°C Power supply voltage, Voo -0.5 to +7.0 V Input voltage, VI -0.5 to Voo + 0.3 V Output voltage, Vo -0.5 to Voo + 0.3 V Power dissipation, PDMAX 500mW Operating temperature, Topt -40 to +85°C Storage temperature, Tstg -65 to +150°C Comment: Exposing the device to stresses above those listed in the absolute maximum ratings could cause permanent damage. The device is not meant to be operated under conditions outside the limits described in the operational section of this specification. Exposure to absolute maximum ratings for extended periods may affect device reliability. Capacitance TA = 25°C; Voo = GND = 0 V Limits Parameter Symbol Input capacitance 1/0 capacitance Min Typ Test Max Unit Conditions CI 10 pF fc = 1 MHz CIO 20 pF Unmeasured pins returned to 0 V TA = -40 to +85°C; Voo = 5 V ±10% Limits Parameter Typ Max Unit Test Conditions Symbol Min Input voltage, high VIH 2.2 Voo + 0.3 V Input voltage, low VIL -0.5 0.8 V Output voltage, high VOH 0.7 x Voo Output voltage, low VOL 0.4 Input leakage current, high IUH 10 pA VI = Voo Input leakage current, low IUL -10 pA VI =OV Output leakage current, high ILOH 10 pA Vo = Voo Output leakage current, low ILOL -10 pA Vo =0 V INTP input leakage current, high IUPH 10 pA VI = Voo INTP input leakage current, low IUPL V IOH = -400pA V IOL = 2.5 mA -300 pA VI =OV Supply current (dynamic) pPD71059 1001 3.5 9 mA pPD71059-10 1001 4 9 mA Supply current (power down mode) 1002 2 50 pA Input pins: VIH = Voo- 0.1 V VIL=0.1V Output pins: open (Note 1) Notes: (1) In power down mode, INTPo-INTP7, INTAK, and CS must be at high level (VIH = Voo - 0.1 V). III NEe pPD71059 AC Characteristics TA = -40 to +85°C; Voo ± 5 v + 10% 10 MHz limits 8 MHz Limits Symbol Parameter Min Max Min Max Unit Test Conditions Read Timing Ao, CS setup to RD t tSAR t 0 0 ns tHRA 0 0 ns RD pulse width low tRRL 160 120 ns RD pulse width high tRRH 120 90 Ao, CS hold from RD t tORO t tFRO Data delay from RD Data float from RD Data delay from Ao, CS 120 10 85 tOAD 200 10 ns 95 ns CL = 150 pF 60 ns CL 120 ns CL BUFR/W delay from RD t tORBL 100 80 ns BUFR/W delay from RD t tORBH 150 100 ns = 100 pF = 150 pF Write Timing t Ao, CS setup to WR t Ao, CS hold from WR WR pulse width low. WR pulse width high Data setup from WR Data hold from WR t t tSAW 0 0 ns tHWA 0 0 ns tWWL 120 100 ns tWWH 120 90 ns tsow 120 100 ns tHWO 0 0 ns tlPIPL 100 80 ns (Note 1) Slave Interrupt Timing INTP pulse width t tSSIA 40 40 ns INTAK pulse width low tlAIAL 160 120 ns INTAK pulse width high tlAIAH 120 SA setup to second, third INTAK INT delay from INTP t SA delay from first INTAK Data delay from INTAK Data float from INTAK t t t ns INTAK Sequence tDiPI 300 200 ns CL = 150 pF tOIAS 360 250 ns Master, CL = 150 pF tDiAO 120 95 ns CL = 150 pF 60 ns toso 200 150 tFIAO 10 90 85 10 ns Slave, CL = 150 pF BUFR/W delay from INTAK t tOIABL 100 80 ns CL = 150 pF BUFR/W delay from INTAK t tDiABH 150 100 ns D.ata delay from SA Other Timing Command recovery time INTAK recovery time INTAK/command recovery time tRV1 120 90 ns (Note 2) tRv2 250 90 ns (Note 3) tRv3 250 90 ns (Note 4) Notes: (1) The time to clear the input latch in edge-trigger mode. (2) The time to move from read to write operation. (3) The time to move to the next INTAK operation. (4) The time to move INTAK to/from command (read/write). 6 NEe JlPD71059 Timing Waveforms INTAK Sequence (Vector Mode) A C Test Input/Output Waveform ____ 2~.2~____=-~~ 0:4-==X> Test Points 0.8 24 11- ~I ~2~.2 =<::x=== 0.8 49·000166A r-tOIPI ,." ~ I~__\__------ 1 INT Read Cycle \'------------ tlAIAL AO,CS ----'1'-------------------------'1'--- 0 7 -0 0 --------------1--------1-<1 tRRL---~ 1,1.------AD ---+---, I "f-----------fl SA 2 -SA o -----------~ INTP Input Should be Maintained..mJ:!!gh Level until the Leading Edge of the 1stlNTAK Pulse. 49-00016AA Write Cycle Other Timing 0 7 -0 0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _--'1'--_____+--"1'\.______ ~ tOIABL _ INTAK~ =1 ~k----------------- 49-00016SA INTAK Sequence (CALL Mode) ~ 1=- "" --f.=}INT 0 7 -0 0 WR-----------. 1 r-tolPI ~ 1....- - \ - - - - - - -____ L "IWR.".TAK~'~_I -----------+"' INTAK or RO/WR . il'---......J/ 49-000169A SA -SA _________________......J 2 o 83-001629A 7 NEe pPD71059 Interrupt Operation Software Features Almost all microcomputer systems use interrupts to reduce software overhead when controlling peripherals. However, the number of interrupt pins on a CPU is limited. When the number of interrupt lines increases bey·ond that limit, external circuits like the pPD71 059 become necessary. The pPD71 059 has the following software features: The pPD71059 can process eight interrupt request according to an allocated priority order and transmit the signal with the highest priority to the CPU. It also supplies the CPU with information to ascertain the interrupt routine start address. Cascading pPD71059s by connecting up to eight "slave" pPD71059s to a single "master" pPD71 059 permits expansion to up to a maximum of64 interrupt request signals. Interrupt system scale (master/slave), interrupt routine addresses, interrupt request priority, and interrupt request masking are all programmable, and can be set by the CPU. Normal interrupt operation for a single pPD71059 is as follows. First, the initialization registers are set with a sequence of initialization words. When the pPD71 059 detects an interrupt request from a peripheral to an INTP pin it sets the corresponding bit of the interrupt request register (IRR). The interrupt is checked against the interrupt mask register (IMR) and the interrupt service register (ISR). If the interrupt is not masked and there is no other interrupt with a higher priority in service or requesting service, it generates an INT signal to the CPU. The CPU acknowledges the interrupt by bringing the INTAK line low. The pPD71059 then outputs interrupt CALL or vector data onto the data bus in response to INTAK pulses. During the last INTAK pulse, the pPD71059 sets the corresponding bit in its ISR to indicate that this interrupt is in service and to disable interrupts with lower priority. It resets the bit in the IRR at this point. When the CPU has finished processing the interrupt, it will inform the pPD71 059 by sending a finish interrupt (FI) command. This resets the bit in the ISR and allows the pPD71 059 to accept interrupts with lower priorities. If the pPD71 059 is in the self-FI mode, the ISR bit is reset automatically and this step is not necessary. • Interrupt types: • Interrupt masking: • End of interrupt: • Priority rotation: CALL/vector Normal/extended nesting Self-FI/normal FI/ specific FI Normal nested/extended nested/exceptional nested Automatic priority rotation Rotate to specific priority • Polled mode • CPU-readable registers Hardware Configurations The pPD71059 has the following hardware configurations: • Interrupt input: • Cascading pPD71059s: • Output driver control: Edge/level sensitive Single/extended (master/slave) Buffered/non-buffered Mode Control These features and configurations are selected and controlled by the four initialization words (lW1-IW4) and the three command words (IMW, PFCW, and MCW). The format of these words are shown in figures 2 and 3, respectively. Control Words There are two types of pPD71059 control words: initialization words and command words. There are four initialization words: IW1-IW4. These words must be written to the pPD71 059 at least once to initialize it. They must be written in sequence. There are three types of command words: interrupt mask word (IMW), priority and finish control word (PFCW), and the mode control word (MCW). These words can be written freely after initialization. N'EC Initialization Words Initialization sequence. When data is written to a JlP071059 after setting Ao = 0 and 04 = 1, data is always accepted as IW1. This results in a default initialization as shown below. See figure 1. (1) The edge-trigger circuit of the INTP input is reset. IRR is cleared in the edge-trigger mode. (2) ISR and IMR are cleared. (3) INTP7 receives the lowest priority; INTPo receives the highest. (4) The exceptional nesting mode is released. IRR is set as the register to be read. (5) Register IW4 is cleared. The normal nesting mode, non-buffer mode, FI command mode, and CALL mode are set. Initialization Words. The initialization words are written consecutively, and in order. The first two, IW1 and IW2, set the interrupt address or vector. IW3 specifies which interrupts are slaves for master systems, and defines the slave number of a slave system. Therefore, IW3 is only required in extended systems. TheJlP071059 will only expect it if bit D1 of IW1, SNGL = O. IW4 is only written if bit Do of IW1 , 14 = 1. See figu re 2 for the format of the initialization words. pPD71059 SIL (specify interrupt level) is set to 1 to change the priority order or designate an interrupt level. It is used with.the RP and FI bits (bits 07 and 05). When SIL = 1 and RP or FI = 1, the level identified by I L2-1 Lo is designated as the lowest priority level. The other priorities will be set correspondingly. When used with FI = 1, it resets the ISR bit corresponding to the interrupt leveIIL2-ILo. MCW [Mode Control Word]. This word is used to set the exceptional nesting mode, to poll the JlP071059, and to read the ISR and IRR registers. Figure 1. Initialization Sequence START CPU Sends IW1 [AO=O,04=1] Command Words The command words give various commands to a JlP071059 during its operation to change interrupt masks and priorities, to end interrupt processing, etc. See figure 3. IMW [Interrupt Mask Word]. This word masks the IRR and disables the corresponding INTP interrupt requests. It also masks the ISR in the exceptional nesting mode. Bits MrMo correspond to the interrupt levels of INTPrINTPo, respectively. In the exceptional nesting mode, interrupts corresponding to the bits of IRR and ISR are masked if the Mn bit is set to 1. PFCW [Priority and Finish Control Word]. This word sets the FI (finish interrupt) command that defines the way that interrupts are ended, and the commands that change interrupt request priorities. When RP (rotate priority) is set to 1, the priorities of the interrupt requests change (rotate). The priority order of the 8 I NTP pins is as shown in figure 4. Setting a level as the lowest priority sets all the other levels correspondingly. For example, if INTP3 is the lowest priority, INTP4 will be the highest. (INTP7 has the lowest priority after initialization). 83-0016308 9 NEe pPD71059 Bits SR and IS/IR are used to read the contents of the IRR and ISR registers. When SR = 0, no operation is performed. To read IRR or ISR, set Ao = 0 and select the IRR or ISR register by writing to MeW. To select the IRR register, write MeW with SR = 1 and IS/iR = O. To select the ISR, write MeW with SR = 1 and IS/iR = 1. The selection is retained, and MeW does not have to be rewritten to read the same register again. IRR and ISR are not masked by the IMR. Figure 2. Initialization Word Formats (Sheet 1 of 2) IW1 [Initializalion Word 1] L A. D3 Ds D. D7 A7 1 I As 1 1 LEV D2 1 AG4 D, 1 SNGL 1 14 1 .1 IIW4 Selection The Higher 3 Bits of the Lower Byte of the Interrupt Routine Address in CALL Mode ~ Interrupt Scale I l INTP Input 1 1 IW4Write IW4 Not Written Single Mode 1 J 1 Extended Mode J 1 1 4 Bytes 1 J o 8 Bytes 1 I 1 I Level-Trigger Mode I 1 o 1 Edge-Trigger Mode 1 _I CALL Mode 1 -I Trigger 1 1 o 1 -I Address Gap I .1 1 1 o 1 IW2 [Inilialization Word 2] AO V7 -V 3 : Higher Byte of Interrupt Routine Address in CALL Mode The Higher 5 Bits of Interrupt Vector Number in Vector Mode IW3 [Initialization Word 3] Master Mode INTP Input is a Slave INTP Input is Not a Slave 49-000160C 10 NEe Figure 2. J.lPD71 059 Initialization Word Formats (Sheet 2 of 2) IW3 [Initialization Word 3) Slave Mode D. I 0 I 0 I 0 I 0 I 03 O2 0, 0 SN 2 SN, SNo 0 0 0 0 0 1 1 0 1 0 2 0 Slave Number 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 IW4 [Initialization Word 4) I 0 I 0 I 0 I EXTN I 03 O2 BUF BSV LJ 0, I SFI VIC I Interrupt Mode Select ~ FI Mode 1 Vector Mode 0 CALL Mode 1 Self-FI Mode 0 FI Command Mode BUF Buffer Mode Select Extended Nest I I BSV 0 X Non-Buffer Mode 1 1 Buffer Mode Master 1 0 Buffer Mode Slave 1 Extended Nest Mode 0 Normal Nest Mode I 49-000161C 11 NEe J.lPD71059 Figure 3. Command Word Format IMW [Interrupt Mask Word] I O2 0, M2 M, I I I Mo I J I Interrupt Mask 1 1 Set Interrupt Mask I Reset Interrupt Mask 0 PFCW [Priority Finish and Control Word] Ao 07 D. ~ RP 1 SIL Os 1 FI 03 D. 0 1 1 O2 0, IL2 IL, Do 1 ILo In~:~:~II----I_-+_-+-_-l No Level Designation FI Command Priority Rotation and FI Command With Level Designation NonFI Command No Level Designation Without Rotation Normal FI Command With Rotation Normal Rotation FI Command Without Rotation Specific FI Command With Rotation Specific Rotation FI Command Without Rotation No Operation With Rotation Specific Rotation Command Without Rotation Self-FI Mode Rotation Reset With Rotation Self-FI Mode Rotation Set -~:. MCW [Mode Control Word] Ao 07 ~ X D. Os 1 SNM 1 EXCN 1 03 D. 0 1 O2 0, Do POL 1 SR 1 ISIIR I Read Exceptional LI /l X 1 1 1 Polling Command 1 0 1No Operation Polling 1 1 No Operation Register ISRSelect Select IRRSelect No Operation Nesting Exceptional Nesting Mode Set Mode Exceptional Nesting Mode Release 49~000162C 12 NEe Figure 4. pPD71059 Vector Mode [pPD7010S170116 CPUs] INTP Priority Order Highest Priority Lowest Priority After Initialization In the vector mode, the pPD71059 outputs a one-byte interrupt vector number to the data bus in the INTAK sequence. The CPU uses that vector number to generate an interrupt routine address. See figure 7. The higher five bits of the vector number, Vr V3, are set by IW2 during initialization. The pPD71059 sets the remaining three bits to the number of the interrupt input (0 for INTPo, 1 for INTP1, etc). See figure B. After Rotation 83-001631A CALL or Vector Modes ThepPD71 059 passes interrupt routine address data to the CPU in two modes, depending on the CPU type. This mode is set by bit VIC in initialization word IW4. VIe is set to one to to select the vector mode for pPD701 OB170116 CPUs, and reset to zero to select the CALL mode for pPDBOB5A CPUs. CALL Mode [J.IPDSOS5A CPUs] In this mode, when an interrupt is acknowledged by the CPU, thepPD71 059 outputs three bytes of interrupt data to the data bus in its INTAK sequence. During the fi rst I NT AK pu Ise from the CPU, the pPD71 059 outputs the CALL opcode OCDH. During the next INTAK pulse, it outputs the lower byte of a two-byte interrupt routine address. During the third INTAK pulse, it outputs the upper byte of the address. The CPU interprets these three bytes as a CALL instruction and executes the CALL interrupt routine. See figure 5 and the INTAK sequence (CALL mode) pPDBOB5 diagram in the AC Timing Waveforms. Interrupt routine addresses are set using words IW1 and IW2 during initialization. However, only the higher ten or eleven bits of the interrupt addresses are set, A1S-A6 or A1S-AS. The pPD71059 sets the remaining low bits (Os-Do or 04-00) to get the address of INTPn's interrupt routine. The addresses for INTP 1-INTP 7 are set in order of interrupt level. The space between interrupt addresses is determined by setting the AG4 bit (address gap 4 bytes) of IW1. When AG4 = 1, the interrupt routine starting addresses are 4 bytes apart. Therefore, the starting address for I NTP n is the starting address for INTPo plus four times n. When AG4 = 0, starting addresses are eight bytes apart, so the starting address for INTP n is the starting address for INTPo plus eight times n. See figure 6. The CPU generates an interrupt vector by multiplying the vector number by four, and using the result as the address of a location in an interrupt vector table located at addresses 000H-3FFH. See figure 9. System Scale Modes The pPD71059 can operate in either single mode, with up to eight interrupt lines orextended mode, with more than one pPD71059 and more than eight interrupt lines. In extended mode apPD71 059 is in either master or slave mode. Bit 01, SNGL (single mode), of the first initialization word IW1 designates the scale of the interrupt system. SNGL = 1 designates that only onepPD71059 is being used (single mode system). SNGL = 0 designates an extended mode system with a master and slave pPD71059s. In the single mode (SNGL = 1), the SV input and IW4 buffer mode bits 03 and 02 do not indicate a master/slave relation for the pPD71059. Single Mode This mode is the normal mode of pPD71059 operation. It has been described in the Interrupt Operation description. See figure 10 for a system example. Extended Mode In this mode, up to 64 interrupt requests can be processed using a master (pPD71 059 in master mode) connected to a maximum of eight slaves (pPD71059s in slave mode). See figure 11 for a system example. 13 nil all NEe pPD71059 Figure 5. CALL Mode Interrupt Sequence Peripheral Circuit [Connected to INTPnJ CPU (fl.PD8085A) (Interrupt Enable) I I I I Generated Interrupt Request INTPn I I I I I I I I I I I I I I Hold INTP n High until First INTAK Pulse Is Generated I Reset Interrupt Request at INTPn INTAK Sequence Output Address Higher Byte (ADH ) to Data Bus I I I I I Set Bit n of ISR; Reset Bit n of IRR I I I I I I 49 0OOl~7C 14 NEe Figure 6. JlPD71 059 CALL Mode Interrupt Address Sequence • Address Lower Byte [AOLJ During Second INTAK AG4 = 1 (4-By1e Spacing Address) Interrupt Level 07 03 O2 INTP o A7 As As 0 0 0 0 0 INTP, A7 As As 0 0 1 0 . 0 INTP 2 A7 As As 0 1 0 0 0 INTP 3 A7 As As 0 1 1 0 0 INTP. A7 As As 1 0 0 0 0 INTP s A7 As As 1 0 1 0 0 INTPs A7 As As 1 1 0 0 0 INTP 7 A7 As As 1 1 1 0 0 0, AG4 0, = 0 (8-By1e Spacing Address) Interrupt Level 07 03 O2 INTP o A7 As 0 0 0 0 0 0 INTP, A7 As 0 0 1 0 0 0 INTP 2 A7 As 0 1 0 0 0 0 INTP 3 A7 As 0 1 1 0 0 0 INTP. A7 As 1 0 0 0 0 0 INTP s A7 As 1 0 1 0 0 0 INTP s A7 As 1 1 0 0 0 0 INTP 7 A7 As 1 1 1 0 0 0 03 O2 0, A" AlO Note: When AG4 = 0, bit As is ignored . • Address Higher Byte [AOHI During Third INTAK A,s A'4 A'3 A'2 83-001632A ~----------------------------------------------------------------------------------------------~ 15 m NEe pPD71059 Figure 7. Vector Mode Interrupt Sequence Peripheral Circuit Connected to INTPn .,.PD71 059 CPU (.,.PD70108!70116) (Interrupt Enable) I I I I I Hold INTPn High until FirstlNTAK Pulse is Generated FirstlNTAK Pulse is Generated when INT is INTAK Sequence Sel Bit n 01 ISR; Reset Bit n ollRR 49000148C 16 NEe Figure B. pPD71059 Vector Numbers Output in Vector Mode Output During the Second INTAK Interrupt Levels 03 O2 INTP o V7 V. Vs V. V3 0 0 INTP, V7 V. Vs V. V3 0 0 1 INTP 2 V7 V. Vs V. V3 0 1 0 0, 0 INTP 3 V7 V. Vs V. V3 0 1 1 INTP. V7 V. Vs V. V3 1 0 0 INTP s V7 V. Vs V. V3 1 0 1 INTP. V7 V. Vs V. V3 1 1 0 INTP 7 V7 V. Vs V. V3 1 1 1 83-00'6338 Figure 9. Interrupt Vectors for the JiPD7010BI70116 Vector Table Address Interrupt Vector Table OOOH Vector 0 Program Counter Word Program Segment Word 004H Vector 1 008H Vector 2 Vector Number x 4 (Interrupt vector table address is obtained by multiplying vector number times four.) ;::---. 3F8H Vector 254 3FCH Vector 255 ~ ____________________________________________________________________________________________________4_9-_OOO_'_52-"A Figure 10. Single Mode System ",P071 059 f----------+j INTAK f-------------I INT f----------+j Ao 49000'49A 17 ~ NEe J1PD,71059 Figure 11. Extended System Example with Three Slaves A j Address Bus II II ( II Control Bus '\ t ( ~ cs .. Ao Master 0,-0 0 INTAK SA 2 -SA o INTP o - - - - - - INTP 7 .. . Data Bus .. T T T i"- -~ rI Slave Address Local Bus ~ cs Ao Slave [SN ~ t cs 0,-0 0 INTAK If- 5J INT INTP o r ... 'INTP 7 I 6 7 Slave [SN ~ 13 SA 2 -SA o 6J INT INTP o 1 cs 0,-0 0 INTAK Ao I ... 1 2 3 4 5 \\ I \\ \\ ... INTP 7 Slave [SN 0,-0 0 INTAK Ao ~ 7J INT INTP o I ... 14 15 I'r- 21 SA 2 -SA o ... Ifr'r- INTP 7 ... 22 23 29 49-0001508 Master Mode When a pPD71059 is a master in an extended mode system, SrSo of IW3 (master mode) define which of I NTPrl NTPo are inputs from slave pPD71059s or , peripheral interrupts. Consider an interrupt request from INTP n. If Sn = 0, the interrupt is from a peripheral (for example, INTPo of the master pPD71 059 in Figure 11), and the pPD71 059 treats it the same way it would if it were in the single mode. SA2-SAO outputs are low level and the master provides the interrupt address or vector number. If Sn = 1, the interrupt is from a slave (for example, INTP 7 of the master). The master sends an interrupt to the CPU if the slave requesting the interrupt has priority. The master then outputs slave address n to pins SA2-SAO on the first INTAK pulse by the CPU. It lets slave n perform the restof the INTAK sequence. 18 Slave Mode When a slave receives an interrupt request from a peripheral, and the slave has no interrupts with higher priority in service, it sends an interrupt request to the master through its INT output. When the interrupt is accepted by the CPU through the master, the master outputs the slave's address on pins SA2-SAO' Each slave compares the address on SA 2-SAo to its own address. The slave that sent the interrupt will find a match. It completes the INTAK sequence the same way as a single pPD71059 would. The master outputs slave address 0 when it is processing a non-slave interrupt. Therefore, do not use 0 as a slave address if there are less than eight slaves connected to the master. Figures 12 and 13 show the interrupt operating sequences for slaves in the extended mode. NEe Figure 12. pPD71059 Interrupt from Slave (CALL Mode) Peripheral Circuit [Connected to INTP m In Slave) Slave JlPD71059 ISm =0) Master JlPD71 059 [Sn = 1) I CPU [JlPD8085A) [Interrupts Enabled) I I Hold INTPm High Until First INTAK Pulse is Generated Generate First INTAK Pulse After Accepting INT SA2 - SAD Opcode OCDH Output to Data Bus Output SA2 - SAD Generate Second INTAK Pulse INTAK Sequence Output Address Higher Byte (ADHl to Data Bus Set Bit m of ISR; Reset Bit m of IRR Set Bit n Of ISR; Reset Bit n of IRR ~ R_e_s_et_B_it~m_o_f_IS_R ~~I·~------------__ __ Reset Bit n of ISR 19 NEe pPD71059 Figure 13. Interrupt from Slave (Vector Mode) Peripheral Circuit [Connected to INTP m in SI.aveJ Slave liP 071 059 [Sm=OJ Master IIPD71059 [S" = 1J IIPD70108/70116 [V201V30J [ I I I I Generate Interrupt Request to INTPm I II Hold INTP m High Until First INTAK Pulse is Generated Set Bit n of IRR I I Generate First Reset Interrupt Request at INTP m INTAK Sequence iNTAK Output Vector to Data Bus Set Bit m of ISR; Reset Bit m of IRR Set Bit n 01 ISR; Reset Bit n of IRR Reset Bit m of ISR Reset Bit n ot ISR 49-000154C 20 NEe Buffer and Non-Buffer Modes In a large system, a buffer may be needed by the pP071059 to drive the data bus. A buffer mode is supplied, with a signal to specify the buffer direction. In the buffer mode, SV (BUFR/W) is used to select the buffer direction and SV cannot be used to specify the master/slave mode. The master/slave selection must be set by IW4. IW4 bit 03, BUF (buffer) and D2 , BSV (buffered slave) are used together to set the buffer mode and master/slave relation. When BUF = 0, the non-buffer mode is set and BSV has no meaning. When BUF = 1, the buffer mode is set. In buffer mode, the pP071059 is a master when BSV = 1, a slave when BSV = O. See figure 14. pPD71059 Figure 14. Buffer Mode ............ ~ fJ.PD71 059 Buffer A ~ ,. " -A ~ A B . D7- DO I' D en " In ~ Voo 4B High Level: A--B Note 2: The /lPD71059 is set to input SV in its Initial state and is pulled up by R to set D to the low level during initialization. 49-000155A Normal Nesting Mode This mode is set when IW4 is not written or when IW4 has EXTN = O. It is the most common nesting mode. See figure 15. Figure 15. Lowest Priority When an interrupt is being executed in this mode (corresponding bit of ISR = 1), only interrupt requests with higher priority can be accepted. 7 ISR The extended nesting mode is set by setting bit 04 of IW4 in both the master and the slave. Interrupt requests of a higher level than the one currently being serviced can be accepted in the master from the same slave in the extended nesting mode. Care should be exercised when issuing an FI (finish interrupt) command in the extended nesting mode. In an interrupt by a slave, the CPU first issues an FI command to the slave. Then, the CPU reads the slave's in-service register (ISR) to see if that slave still has interrupts in service. If there are no interrupts in service, (ISR = OOH) an FI command is issued to the master, as in the single mode when an interrupt is made by a peripheral. Highest Priority 6 I Extended Nesting Mode This mode is only applicable to a master in the extended mode. A slave's eight interrupt priority levels become only one priority level when viewed by the master. Therefore, a request made by a slave with a higher priority than a previous request from the same slave will not be accepted. This cannot be called complete nesting since priority ranking within slaves loses its significance. Normal Nesting Mode P;0~1~ I 0 I I 0 I I 0 I I 0 0 0 0 0 Interrupts that can be accepted are INTP 5 through INTP 0 during execution of interrupt Level 6. 0 Request Generated in Level 2 I ISRl/offi1/1/0?EO$0?J«a 0 0 Interrupt Level 2 has been accepted and is being executed. If a Request Generated in Level 4 IRR k> $ /% b?f ISR 1% 0 $ 1 a;; 0 0 :x: 1 0 0 %0 ;£ 0 % <1 0 I 0 0 0 10 10 I Level 4 requests cannot be accepted. Level 2 FI Command Issued ISRI20$//t0/£1?1 0 10 Level 4 request can be accepted after processing of Level 2 has been. ended, when high level is maintained at INTP4 until INTP4 is accepted. 49-000144A 21 NEe JlPD71059 Exceptional Nesting Mode A pP071 059 in the normal or extended nesting mode cannot accept interrupts of a lower priority than the interrupts in service. Sometimes, however, it is desirable that requests with lower priority be accepted while higher-priority interrupts are being serviced. Setti ng the exceptional nesti ng mode allows th is. After releasing the exceptional mode, the previous mode is resumed. The exceptional nesting mode is controlled by the SNM (set nesting mode) and EXCN (exceptional nesting mode) bits (06 and Os) of MCW. They set and release the exceptional nesting mode. The mode doesn't change when SNM = O. Exceptional nesting is set if SNM and EXCN = 1 and released when SNM =1 and EXCN = O. Setting a bit in the IMW in the exceptional nesting mode, inhibits interrupts of that level and allows unmasked interrupts to all other levels, higher or lower priority. Figure 16. Exceptional Nesting Mode [a] Priority Levels ISR Acceptable Levels [White blocks] IMR Highest Lowest Requests from INTPS and INTP7 cannot be accepted when only bit 2 of the IMR is set to 1. [b] Priority Levels ISR Acceptable Levels [White blocks] IMR Highest 1 _ Setting of exceptional nesting mode The procedure for setting the exceptional nesting (EN) mode is as follows: (1) Read the ISR. (2) Write the ISR data to the IMR. (3) Set the exceptional nesting mode. Lowest All requests other than those being executed can be accepted when the IMR is set the same as the ISR, in exceptional nesting mode. 83·001634A In this way, all interrupt requests not currently in service will be enabled. Figure 16 (a) shows what happens if IMR is not set to ISR. When the exceptional nesting is set, bit 2 of ISR will be ignored, and bit 5 will be serviced. Servicing bit 5 will mask the lower priority interrupts 6 and 7. When the ISR is set equal to the IMR as in (b), all interrupts except 2 and 5 can be serviced when the exceptional nesti ng mode is set. Issuing an FI command to a level masked by the exceptional nesting mode requires caution. Since the ISR bit is masked, the normal FI command will not work. Forthis reason, a specific FI command specifying the ISR bit must be issued. After the exceptional mode is released, the normal FI command may be used. Finishing Interrupts (FI) and Changing the Priority Levels The priority and finish control word (PFCW) issues FI commands and changes interrupt priorities. Normal FI Command 07 PFCW = 06 Ia I I 0 Os 04 0 03 02 01 Do I a I x I x Ix I When a normal FI command is issued, the pP071 059 resets the ISR bit corresponding to the highest priority level selected from the interrupts in service. This operation assumes that the interrupt accepted last has ended. When an interrupt routine changes the priority level or the exceptional nesting mode is set, this command will not operate correctly because the highest priority interrupt is not necessarily the last interrupt in service. 22 NEe pPD71059 Specific FI Command 07 PFCW = 06 Os 04 03 02 01 00 I 0 I 1 I 1 I 0 I 0 IIL211L1 IILo I When the normal rotation FI command is issued, the pP071059 resets the ISR bit corresponding to the highest priority level selected from the interrupts in service, then rotates the priority levels so that the interrupt just completed has the lowest priority. Specific Rotation FI Command When the specific FI command is issued, thepP071 059 resets the ISR bit designated by bits IL2-ILo of the PFCW. This command is used when the normal nesting mode isn't being used. 07 PFCW = 06 Os I 1 I 1 11 04 I 0 03 I0 02 01 00 IIL211L1 IILo I Self-FI Mode When SFI of IW4 = 1, the pP071 059 is set to the self-FI mode. In this mode, the ISR bit corresponding to the interrupt is set and reset during the third INTAK pulse. Therefore, the CPU does not have to issue an FI command when the interrupt routine ends. In this mode, however, the ISR does not store the routine in service. Unless interrupts are disabled by the interrupt routine, newly generated interrupt requests are generated without priority limitation by the ISR. This can cause a stack overflow when frequent interrupt requests occur, or when the interrupt is level triggered. Self-FI Rotation When the specific rotation FI command is issued, the pP071059 resets the ISR bit designated by bits IL2-ILo of the PFCW and rotates the interrupt priorities so that the interrupt just reset becomes the lowest priority. This change in priority levels is different from the normal nesting mode, therefore, it is the user's responsibility to manage nesting. Specific Rotation Command 07 PFCW = Rotation of interrupt priorities can be added to the self-FI mode. In this case, the corresponding interrupt is set to the lowest priority level when a bit is reset in the ISR at the end of the INTAK sequence. Self-FI Rotation Set: 06 Os 04 03 02 01 00 I 1 I 1 I 0 I 0 I 0 IIL211L1 IILo I When the specific rotation command is issued, the pP071 059 sets the interrupt priority specified by I L2-1Lo to the lowest priority. In this case also, the user must manage nesting. Triggering Mode 07 PFCW = 06 Os 04 03 02 01 00 I 1 I 0 I 0 0 0 X X X Bit 03 of the first initialization word, IW1, is LEV (Ieveltrigger mode bit). LEV sets the trigger mode of the INTP inputs. The level-trigger mode is set when LEV = 1. The risi ng-edge-triggered mode is set when LEV = O. Self-FI Rotation Reset: Edge-Trigger Mode 06 07 PFCW= I o I o Os I o I 04 03 02 01 00 o I 0 X X X 04 03 O2 01 00 0 0 X X X Normal Rotation FI Command 07 PFCW= 06 0 Os In the edge-trigger mode, an interrupt is detected by the rising edge of the signal on an INTP input. Although an IRR bit goes high when INTP is high, the IRR bit is not latched until the CPU returns an INTAK pulse. Therefore, the INTP input should be maintained high until INTAK is received. This filters out noise spikes on the INT lines. To send the next interrupt request, temporarily lower the INTP input, then raise it. 23 nil a. NEe pPD71059 Level-Trigger Mode In the. level-trigger mode, an I RR bit is set by the I NTP input being at a high level. As in the edge-trigger mode, the INTP must be maintained high until the INTAK is received. Interrupts are requested as long as the INTP input remains high. Care should be taken so as not to cause a stack overflow in the CPU. See figure 17. Note: The JlPD71059 operates as if the INTP7 interrupt had occurred if the INTAK pulse is sent to theJlPD71 059 by the CPU when the JlPD71 059 INT output level is low. Bit 7 of ISA is not set. Accordingly, if it is expected that this will occur, the INTP7 interrupt should be reserved for servicing incomplete interrupts. The FI should not be issued for incomplete interrupts. See figure 18. Figure 17. When the CPU performs a read operation with Ao = 0 in the polling mode, polling data as shown in figure 19 is read instead of ISR or IRR. The pPD71059 then ends the polling mode. Figure 19. Polling Data 03 D. 0, MCW=LI_1_NT~__o__~1__o~l__o__~I__o~__PL~.~_P_L,~_PL~o~ 83-00163SA The INT bit has the same meaning as the INT pin. When it is set to 1, it means that the pPD71059 has accepted an INTP input. The PL2-PLO (permitted level) bits show which INTP input requested an interrupt when INT = 1. INTP Input If INT in the polling data is 1, thepPD71059 sets the ISR bit corresponding to the interrupt level shown by bits PL2-PLO of the polling data and considers that interrupt as being executed. The CPU then processes the interrupt accordingly, based on the polling data read. An FI command should be issued when this processing ends. RESTG 49-000156A Figure 18. Incomplete Interrupt Request INTP-.-/ INT--1 \I-_____~ :i :I\....._----First INTAK Pulse 'N~K-------~I~I~~~--INT Ssmpllng by CPU _ I I _ 49-000157A Polling Operation When polling, the CPU should disable its INT input. Next, it issues a polling command to the pPD71059 using MCW with POL = 1. This command sets the pPD71059 in polling mode until the CPU reads one of the pPD71059's registers. 24 Note: When a read is performed with AO = 1 after the polling command is sent to the JlPD71 059, the IMA will be read instead of polling data. However, when the polling command is sent, the JlPD71 059 operates in the same manner when Ao = 0 as it does when Ao = 1. This means that although Ao was set to 1, the JlPD71 059 will send the contents of the IMA, but it will also set an ISA bit just as it would if AO had been set to zero. This may disturb the nesting. Therefore, performing a read operation with Ao = 1 immediately after sending the polling command should be avoided. NEe NEe Electronics Inc. Description The pPD71071 is a high-speed, high-performance direct memory access (DMA) controller that provides high-speed data transfers between peripheral devices and memory. A programmable bus width allows bidirectional data transfer in both 8- and 16-bit systems. In addition, the pPD71071 uses CMOS technology to reduce power consumption. The pPD71 071 can perform a variety of transfer functions including byte/word, memory-to-memory, and transfers between memory and I/O. The pPD71071 also utilizes single, demand, and block mode transfers; release and bus hold modes; and normal and compressed timing. Features o Four independent DMA channels o 16M-byte addressing o 64K-byte/word transfer count o 8- or 16-bit programmable data bus width o Enable/disable of individual DMA requests o o o o o o o o o o o o o o o Software DMA requests Enable/disable of autoinitialize Address increment/decrement Fixed/rotational DMA channel priority Terminal count output signal Forced transfer termination input Cascade capability Programmable DMA request and acknowledge signal polarities High-performance data transfer bandwidth - 5.33 Mbyte/s at 8 MHz - 6.67 Mbyte/s at 10MHz pPD70108/70116-compatible CMOS technology Low-power standby mode Single power supply, 5 V ±10% Industrial temperature range, -40 to +85°C 10-MHz operation 50012-2 (NECEL-302) pPD71071 DMA Controller Ordering Information Part Number Package pPD71071C-10 48-pin plastic DIP L-10 52-pin PLCC Pin Configurations 48-Pin Plastic DIP elK HlDRQ RESET HlDAK END/TC READY DMAAK3 cs DMAAK2 MWR DMAAKl MRD DMAAKO IOWR DMARQ3 lORD DMARQl AEN UBE DMARQO GND ASTB Ao D1S/ A 2J Voo D14/A22 Al D13/A21 A2 D12/A20 AJ A4 010/A1S As Dg/A17 As Ds/A1S A7 D7/A1S Do/As Os/A14 Dl/Ag Ds/A1J D2/Al0 D4/A12 _o__ _ _---r- DJ/All 83-001876A NEe pPD71071 Pin Configurations (cont) Pin Identification 52-Pin Plastic Leaded Chip Carrier (PLCC) Symbol Function A23- AS/ D15- DO Bidirectional address/data bus IC . Internally connected; leave open Ar A4 Not connected Bidirectional address bus DMAAKO 46 IOWR A3- AO DMAR03 45 lORD 44 UBE Vnn Power supply DMAR02 DMAR01 43 AEN ASTB Address strobe output DMAROO 42 ASTB AEN Address enable output GND 41 Ao UBE Upper byte enable input/ output D15/A23 40 Voo D14/A22 39 A1 lORD I/O read input/ output D13/A21 38 A2 10WR I/O write input/output D12/A20 37 A3 D11/A19 36 A4 MRD Memory read output D10/A18 35 NC 34 A5 NC ~ N N N ~ N ~ N ~ N ~ N ~ N m N ~ N Q ~ ~ ~ N ~ M ~ ~~~;!~~~::~..r:.(~ ~~~~~~ g~lj~8cr ~~~"O BSQQ 83-004260A Pin Functions ClK [Clock] ClK controls the internal operation and data transfer speed of the JlPD71 071. RESET [Reset] RESET initializes the controller's internal registers and leaves the controller in the idle cycle (CPU controls the bus). Active high. END/TC [End/Terminal Count] This is a bidirectional pin. The END input is used to terminate the current DMA transfer. TC indicates the designates!....£ycles of the DMA count transfer have finished. END/TC is open drain and requires an external pull-up resistor. Active low. DMAAK3-DMAAKO [DMA Acknowledge] DMAAK3-DMAAKO indicates to peripheral devices that DMA service has been granted. DMAAK3-DMAAKO respond respectively to DMA channels 3-0 and the polarities are user programmable. 2 Address bus output NC MWR Memory write output CS Chip select input READY Ready input HlDAK Hold acknowledge input HlDRO Hold request output ClK Clock input RESET Reset input ENDITC End DMAtransfer input/terminal count output DMAAK3DMAAKO DMA acknowledge output DMAR03DMAROO DMA request input GND Ground DMARQ3-DMARQO [DMA Request] DMARQ3-DMARQO accept DMA service requests from peripheral devices. DMARQ3-:DMARQO respond respectively to DMA channels 3-0 and the polarities are user programmable. DMARQ must remain asserted until DMAAK is asserted. GND [Ground] GND connects to the power supply ground terminal. A23-AS/D1S-Do [Address/Data Bus] A23-AS/D1S-DO function as a 16-bit, multiplexed address/ data bus when the JlPD71 071 is in the 16-bit data mode. In the 8-bit data mode, A23-A16 (pins 13-20) become address bits only and A1s-As/DrDo (pins 21-28) remain an 8-bit multiplexed address/data bus. A23-AS/D1S-Do are three-state. NEe pPD71071 A7-A4, A3-AO [Address Bus] CS [Chip Select] ArA4, A3-AO function as the lower eight bits of the address bus. ArA4 output memory addresses during the DMA cycle and become high impedance in the idle cycle. A3-AO function as the lowerfour bits of the address bus. In the idle cycle, A3-AO become address inputs to select internal registers for the CPU to read or write. In the DMA cycle, A3-AO output memory addresses. During the idle cycle, CS selects the j1PD71071 as an I/O device. Active low. READY [Ready] VDD connects to the +S-V power supply. During a DMA operation, READY indicates that a data transfer for one cycle has been completed and may be terminated. To meet the requirements of low-speed I/O devices or memory, READY may be negated to insert wait states to extend the bus cycle until READY is again asserted. ASTB [Address Strobe] HLDAK [Hold Acknowledge] ASTS latches address A23-A8 (16-bit mode)/ A15-A8 (8bit mode) from the address/data bus into an external address latch at the falling edge of ASTS during a DMA cycle. Active high. When active, HLDAK indicates that the CPU has granted the j1PD71 071 the use of the system bus. Active high. Voo [Power Supply] HLDRQ [Hold Request] AEN [Address Enable] AEN enables the output of an external latch that holds DMA addresses. AEN becomes high during the DMA cycle. UBE [Upper Byte Enable] HLDRQ outputs a bus hold request to the CPU. Active high. Block Diagram Description The j1PD71 071 has the following functional units. USE indicates the upper byte of the data bus is valid during 16-bit mode. In the idle cycle during data transfer, the j1PD71 071 acknowledges data on 015-08 when USE is asserted. During a DMA cycle, USE goes low to signify the presence of valid data on 015-08. USE has no meaning in 8-bit mode and becomes high impedance in the idle cycle and high level in the DMA cycle. Three-state, active low. • • • • • • • lORD [1/0 Read] The bus control unit consists of the address and data buffers, and bus control logic. The bus control unit generates and receives signals that control addresses and data on the internal address and data buses. In the idle cycle, lORD inputs a read signal from the CPU. In the DMA cycle, lORD outputs a read signal to an I/O device. Three-state, active low. 10WR [1/0 Write] In the idle cycle, 10WR inputs a write signal from the CPU. In the DMA cycle, 10WR outputs a write signal to an I/O device. Three-state, active low. MRD [Memory Read] Sus control unit DMA control unit Address registers Address incrementer/decrementer Count registers Count decrementer Control registers Bus Control Unit DMA Control Unit The DMA control unit contains the priority and timing control logic. The priority control logic determines the priority level of DMA requests and arbitrates the use of the bus in accordance with this priority level. The DMA control unit also provides internal timing and controls DMA operations. During the DMA cycle, MRD outputs a read signal to memory. MRD is high impedance during the idle cycle. Three-state, active low. MWR [Memory Write] During the DMA cycle, MWR outputs a write signal to memory. MWR is high impedance during the idle cycle. Three-state, active low. 3 NEe pPD71071 Block Diagram ~ < ~ ·· Bus Control Unit II Address Bus Buffer · Data Bus Buffer cs ~ Internal Address Bus (24) I Address Registers ClK RESET READY Bus Control logic ASTB Address Incrementerl Decrementer (24) I I D (24x4) Base (24x4) MRD,MWR A II 1\ ~ DMARQ3 DMARQO A < Internal Data Bus (16) ~y \j DMA Control Unit l Count Registers Priority Control logic DMAAK3 ( DMAAKO 't I I Base (16x4) Current (16x4) HlDAK Timing Control logic I I I I I "\ I vi I I I Channel Device Control Status Mode Control Temporary (5) (10) (8) (7x4) (16) Request (4) Mask (4) I I I I I I I ~J " HlDRQ I I -~} AEN UBE Control Registers Current Count Decrementer (16) Terminal Count END/TC 49·0005188 Address Registers Each of the four DMA channels has one 24-bit base address register and one 24-bit current address register. The base address register holds a value determined by the CPU and transfers this value to the current address register during autoinitialization (address and count are automatically initialized). The channel's current address register is incremented/decremented foreach transfer and alwQyscontains the address of the data to be transferred next. generates a terminal count when the count register is decremented to FFFFH. Note: The number of DMA transfer cycles is actually the value of the current count register + 1. Therefore, when programming the count register, specify the number of DMA transfers minus one, Count Decrementer The count decrementer decrements the contents of the current count register by one when each DMA transfer cycle ends. Address Incrementer/Decrementer The address incrementer/decrementer updates the contents of the current address register whenever a DMA transfer completes. Count Registers Each of the four DMA channels has one i6-bit base count register and one i6-bit current count register. The base count register holds a value written by the CPU and transfers the value to' the current count register during autoinitialization. A channel's current count register is decremented for each transfer and 4 Control Registers The pPD7i 071 contains the following control registers. • • • • • • • Channel Device Status Mode Temporary Request Mask These registers control bus mode, pin active levels, DMA operation mode, mask bits, and other pPD71 071 operating functions. NEe pPD71071 Absolute Maximum Ratings DC Characteristics -0.5 to +7.0 V Power supply voltage, Voo Input voltage, VI -0.5 to Voo + 0.3 V Output voltage, Vo -0.5 to Voo + 0.3 V -40 to +85°C Operating temperature, TOPT Storage temperature, TSTG limits Parameter Symbol Min Input high voltage VIH -65 to +150°C Comment: Exposing the device to stresses above those listed in Absolute Maximum Ratings could cause permanent damage. The device is not meant to be operated under conditions outside the limits described in the operational sections of this specification. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Capacitance TA = 25°C Limits Parameter TA = -40 to +85°C, Voo = 5 V ±10% Symbol Typ Max Unit Output capacitance Co 4 8 pF Input capacitance CI 8 15 pF I/O capacitance CIO 10 18 pF Test Conditions fc =1.0 MHz unmeasured pins returned to 0 V Typ Test Conditions Max Unit 3.3 Voo+ 0.3 V ClK input pin 2.2 Voo+ 0.3 V Other inputs 0.8 V Input low voltage VIL -0.5 Output high voltage VOH 0.7 Voo Output low voltage VOL Input leakage current V IOH = -400 IJA 0.4 V IOL = 2.5 mA; 4.5 mA (TC) III ±10 IJA oV~ VI ~ Voo Output leakage current ILO ±10 IJA oV~Vo ~ Voo Supply current (dynamic) 1001 15 30 mA Supply current (stable) 1002 10 IJA Supply current (static) 1002 10 IJA Inputs stable outputs open DJ 5 NEe pPD71071 AC Characteristics TA = -40 to +85°C, Voo = 5 V ±10% Parameter Symbol Min Max Unit tCYK 100 ns tKKH 39 ns tKKL 49 Test Conditions DMA Mode Clock cycle Clock pulse width high Clock pulse width low ns tKR 10 ns 1.5 V -3.0V Clock fall time tKF 10 ns 3.0V -1.5V Input rise time tlR 20 ns Input fall time tlF 12 ns Output rise time tOR 20 ns Output fall time tOF 12 DMARQ setup time to ClK high tSOQ 20 HlDRQ high delay from ClK low tOHQH 5 HlDRQ low delay from ClK low tOHQL 5 HlDRQ low level period tHQHQL 2tCYK - 50 Clock rise time ns ns S1, SO, S3, SW, S4w 70 ns S1. S4w 70 ns S1. SO, S4w ns S4w HlDAK high setup time to ClK low tSHA 20 ns SO,S4,S4w AEN high delay from ClK low tOAEH 5 70 ns S1, S2 AEN low delay time from ClK low tOAEL 5 70 ns S1, S4w ASTB high delay time from ClK low tOSTH 5 70 ns S1 ASTB low delay time from ClK high tOSTL 70 ns S1 ASTB high level period tSTSTH ADR/UBE/RD/WR active delay from ClK low (Note 1) tOA ADR/UBE/RD/WR float time from ClK low tFA ADR setup time to ASTB low tSAST tKKL - 40 ns ADR hold time to ASTB low tHSTA tKKH - 20 ns 6 ns tKKL -15 5 80 ns S1, S2 70 ns S1, S4w NEe pPD71071 AC Characteristics (cont) Parameter Symbol Min Max Unit Test Conditions ns S1, S2 DMA Mode (cont) ADR/UBE off delay time from ClK low 70 tOAF RD low delay time from ADR float tOAR Input data delay time from MRD low tOMRIO -10 ns 2tCYK - 80 Input data hold time from MRD high tHMRID Output data delay time from ClK low toaD 10 Output data hold time from ClK high tHaD 10 80 ns S12 ns S14 ns S22 ns S24 Output data hold time from MWR high tHMWOO RD low delay time from ClK high tOKHR RD low level period tRRL 1 2tCYK - 30 ns Normal timing tRRL2 tCYK + tKKH - 30 ns Compressed timing ns S4 ns tKKL - 35 ns RD high delay time from ClK low tORH 10 ADR delay time from RD high tORA tCYK - 30 70 S2 compressed timing ns WR low delay time from ClK low tOWL1 5 50 ns S3 normal write WR low delay time from ClK low tOWL2 5 50 ns S2 extended write, normal timing WR low delay time from ClK high tOWL3 5 50 ns S2 extended write, compressed timing tWWL1 tCYK - 30 ns Normal write tWWL2 2tCYK - 30 ns Extended write, normal timing ns Extended write, compressed timing WR low level period tWWL3 tCYK + tKKH - 30 WR high delay from ClK low tOWH 5 50 ns S4 RD low delay time from ClK low tOKLR 5 50 ns S2 normal timing RD, WR low delay from DMAAK active tOOARW 0 ns S1, S2 RD high delay time from WR high tOWHRH 5 ns DMAAK delay time from ClK high tOKHOA 5 70 ns DMAAK delay time from ClK low tOKLOA 10 90 ns S1 cascade mode DMAAK inactive delay time from ClK high tOOAl1 5 ns S4 BI S11/0 memory timing 7 NEe pPD71071 AC Characteristics (cont) Parameter Symbol Min tOOAI2 5 Max Unit Test Conditions tKKl + 70 ns S4 cascade mode, HlDAK low HlDAK low in S4 4tKKl + 70 ns S4 cascade mode, HlDAK low except in S4 DMA Mode (cont) DMAAK inactive delay time from tOOAI3 DMAAK active level period tOAOA TC low delay time from ClK high tnTcl TC off delay time from ClK high tOTCF TC high delay time from ClK high tOTCH TC low level period tTCTCl tCYK -15 ns END low setup time to ClK high tSED 20 ns END low level period tEoEOL 50 ns READY setup time to ClK high tSRY 20 ns S3, SW READY hold time from ClK high tHRY 10 ns S3, SW 5 tKKH ns Cascade mode 70 ns S3 30 ns S4 ns oto 2.2 V (Note 2) + tCYK -10 S2 Programming Mode and RESET tlWIWL 80 ns CS low setup time to IOWR high IOWR low level period tSCSIW 80 ns CS hold time from IOWR high tHIWCS 0 ns ADR/UBE setup time to IOWR high tSAIW 80 ns ADR/UBE hold time from IOWR high tHIWA 0 ns Input data setup time to IOWR high tSlDlW 80 ns Input data hold time from IOWR high tHIWID 0 ns lORD low level period tlRIRl 120 ns ADR/CS setup time to lORD low tSAIR 20 ns ADR/CS hold time from lORD high tHIRA 0 Output data delay time from lORD low tDiROO 10 Output data float time from lORD high tFIROO RESET high level period tRESET 2tCYK ns VOO setup time to RESET low tsvoo 500 ns IOWRIIORD wait time from RESET low tSYIWR 2tCYK ns tRVIWR 160 ns IOWRIIORD recovery time Notes: (1) RD/WR refers to i'O'R5 or MRD and IOWR or MWR, respectively. (2) For END/TC, output load capacitance = 75 pF maximum. To meet the tDTCH parameter use a 2.2-kO pull-up resistor with a load capacitance of 75 pF. For other than END/TC, output load capacitance = 100 pF maximum. 8 ns 100 ns 80 ns RESET low to first read/write NEe pPD71071 Input/Output Edge Timing Ti m i ng Waveforms Timing Measurement Points 2.4 V J 2 . 2 v___ T~st 1ttiF _____ 2.2 tnput vC 0.8 V- - Pomts - - 0.8 V 0.4 V 83-003764A Output OF 1[t r r 49·000786A Clock Timing elK 49·000784A 9 ::::: -.L o ClK OMARQ (Active High) Ji.J~~jif\00~J\00~JN f\~r\~ I"OQ~L d. - 1-'''0' - CD til ... CD' ~ S' CQ tOAEH- ASTB 1= C :;t HlOAK AEN CD QI ~ -------- I--tSHA 3 ~ 0 {",o, HlORQ I - tOSTL I-- tOAEL - ++---+----+--+--+--+--+---+-+-ol ,,1-..;..1 I ~--- __________________~V I ~--~--~~~~~--~~~--------­ _ _ _ _ _ _--rV '::l-A ... 3' 3: ;' 0 ... CD ..3 0 '1::: ." D .... --0 .... --- -.. en n 0 :::I tSASTf--:..... tOAI- ~ tHSTA Ir,.-A23-As --------------------------------~ I~----+-----~~---+--+-~~----~-+--+--------------I'- r--(A1S-AS107-00 if 8·bit data base) I-!OA A7-AO (A23-A 16. A7-Ao if 8·bit data base) - I-- tFA ~-~~--~--~-+--~ c-t~AF V+--~----+_----+__+--~ iJiiE OMAAK (Active Low) ' ' 'r \- ""'y ':1\ -r"QA - H'''' + ____________+-'1-----<-- ""'--u \ -".U-~----Ir-----_ tOOARWI-"ItOAR-+\ READ - WRiTE - I-tOKLR tOWL1-! - I - tORH tOOARW- I- -tORH f-. tOKHR f-. tOW~3 1 I--tOWHRH -tORA-:- I-- t H I-tOWH OWH'RH \l-tOWL~~-+jr1"---- tOWL:~ - ~ tWWL1 I-tWWL2 Normal Timing tOWH 1["________ .... tWWL1 -twWL3 Compressed Timing 83-0037S1C ~ ~ NEe pPD71071 Timing Waveforms (conI) Memory-to-Memory Transfer Timing elK AEN ASTB ADRJDB - - - - . . . . . ( ] IFA ~~~----.....(] __ ~ ~+- _______ ~+-_-J MRi5-------'" 1 eW~L1 IOWH MWR-----J/~-------------------~\~-_-_-_~_~~ 'H.WO:__________ IOWL2 fi IWWL2 83-003752C Ready Timing READY 83-0037538 11 NEe pPD71071 Timing Waveforms (cont) Programming Mode and RESET Timing VDD tSCSIW I ---' tSVDD tlWIWl RESET I tRESET tSYIWR tSAIW 1--""'::':'';:'';':'''--11-+1 tHIWA \ iOWA or iORi5 ADR/UBE tRVIWR tSIDW DB CS IOWR ADR lORD DB----------------~ 83-0037546 ENDITC Timing ClK TC --------------------------~----------~ SED -lt ~----~·\~'Sih~7~·~-------------------------83-0037558 1? NEe pPD71071 Timing Waveforms (cont) Bus Wait Timing ClK HlDAK t-----tHQHOL---+j HlDRQ tOAEL AEN DB/ADR - - - - - - - - - - - - - - - - - - " " ' " RD/WR - - - - - - - - - - - - - - - - - - - " 83-003756B Cascade Timing so S1 S2 S3 S4 S4 S4 SI ClK DMARQ------~----------------------~----~~ (Active High) tDHOL HlDRQ HlDAK tODAI2 tDKLDA 1_------tDDAI3------+! DMAAK (Active High) _ _ _ _ _.1 ~-----------tDADA----------~ 83-003757B NEe J,iPD71 071 Functional Description DMA Operation The pPD71071 functions in three cycles: idle, DMA, and standby. In an idle or standby cycle, the CPU uses the bus, while in a DMA cycle, the pPD71071 uses it. Idle Cycle. In an idle cycle, there are no DMA cycles active, but there may be one or more active DMA requests; however, the CPU has not released the bus. The pPD71 071 will sample the four DMARQ input pins at every clock. If one or more inputs are active, the corresponding DMA request bits (RQ) are set in the status register and the pPD71071 sends a bus hold request to the CPU. The pPD71071 continues to sample DMA requests until it obtains the bus. Table 1 shows the relationship of the data bus width, Ao, UBE, and the internal registers. Table 1. Data Bus Width Bus Width AO 8 bits x 16 bits UBE Internal Read/Write Registers X D7-DO - - 8-bit internal register 1 D7-DO - - 8-bit internal register --------.------------- o --_._.--------------------------------------_ D1S-Ds - - 8-bit internal register .. -_ .. _-------._------._. D1S-Do +---'>- 16-bit internal register Figure 1. DMA Operation Flow After the CPU returns a HLDAK signal and the pPD71071 obtains the bus, the pPD71 071 stops DMA sampling and selects the DMA channel with the highest priority from the valid DMA request signals. Programming of the pPD71 071 is done when the pPD71 071 is in the idle cycle or the standby mode. Idle Cycle DMA Cycle. In a DMA cycle, thepPD71071 controls the bus and performs DMA transfer operations based on programmed information. Figure 1 outlines the sequentialflow of a DMA operation. • •••• (3) Standby Mode. The pPD71071 can also be used in standby mode. It is in standby mode and consumes the static supply current (IDD2) when the clock is turned off and no I/O read or write operations are being performed. All internal registers will retain their contents. • •••• (4) ThepPD71071 can be programmed (using IOWR) and read (using lORD) with the clock off. The pPD71071 only uses the clock for the DMA data transfer cycles. The clock may be turned off without altering the internal registers when the pPD71071 is in the idle cycle. If the clock is turned off during a DMA transfer, the pPD71071 will not operate correctly. When the clock is off, the DMARQ inputs will not be recognized. The DMARQ inputs could be externally logically ORed and cause an interrupt to the CPU. The CPU could then turn on the clock, thus activating the pPD71 071. If the previously programmed mode of operation is still valid, the pPD71 071 does not have to be reprogrammed. Data Bus Width I n order to allow an easy interface with an 8- or 16-bit CPU, the data bus width of the pPD71071 is user programmable for 8 or 16 bits. A 16-bit data bus allows 16-bit memory-to-memory DMA transfers and also provides a one-I/O bus cycle access to the 16-bit internal registers. ••••• (5) DMA Cycle • •••• (6) ••••• (7) } Idle Cycle ~----r---"'" 49-0005208 NEe pPD71071 Terminal Count The JlPD71 071 ends DMA service when it generates a terminal count (TC) or when the END input becomes active. A terminal count is produced when a borrow is generated by the current count register and a low-level pulse is output to the TC pin. Figure 2 shows that the current count register is tested after each DMA operation. If autoinitialize is not set when DMA service ends, the mask register bit applicable to the channel where service ended is set, and the DMARQ input of that channel is masked. DMA Transfer Type The type of transfer the JlPD71 071 performs depends on the following conditions. • • • • Memory-to-memory transfer enable Direction of memory-to-I/O transfer (each channel) Transfer mode (each channel) Bus mode Memory-to-Memory Transfer Enable. The JlPD71071 can perform memory-to-I/O transfers (one transfer cycle in one bus cycle) and memory-to-memory transfers (one transfer in two bus cycles). To select memory-to-memory transfer, set bit 0 of the device control register to 1. The DMA channels used in memory-to-memory transfers are fixed, with chan nel 0 as the source channel and channel 1 as the destination channel. Channels 2 and 3 cannot be used in memoryto-memory transfers. The contents of the count registers and word/byte transfer modes of channels 0 and 1 should be the same when performing memoryto-memory transfer. Figure 2. Generation of Terminal Count (TC) For memory-to-memory byte transfer in 16-bit data bus mode, a read data from upper data bus is to be written to upper data bus, while a read data from lower data bus is to be written to lower data bus. Therefore, start addresses for source and destination must be the even-even or odd-odd. For word transfer, only eveneven addresses are to be set forsource and destination. (See Byte/Word Transfer paragraphs below.) When DMARQO (channel 0) becomes active, the transfer is initiated. During memory-to-memory bus cycles in the 16-bit mode, data read from the DMAC's upper (lower) data bus is written to the upper (lower) data bus of the destination device. Thus, for word transfers, only even source and destination addresses should be used. The DMA request input pin or a software DMA request to channel 0 may initiate memory-to-memory transfers. The JlPD71 071 performs the following operations until a channel 1 terminal count or END input is present: • During the first bus cycle, the memory data pointed to by the current address register of channel 0 is read into the temporary register of the JlPD71071 and the address and count of channel 0 are updated. • During the second bus cycle, the temporary register data is written to the memory location shown by the current address register of channel 1, and the address and count of channel 1 are updated. Note: If DMARQ1 (channel 1) becomes active, the t.tPD71 071 will perform memory-to-I/O transfer even though memory-tomemory transfer is selected. Since this may cause erroneous memory-to-memory transfers; mask out channel 1 (DMARQ1) by setting bit 1 of the mask register to 1 before starting memory-to-memory transfers. During memory-to-memory transfers, the addresses on the source side (channel 0) can be fixed by setting bit 1 of the device control register to 1. I n this manner, a Figure 3. Memory-to-Memory Transfer in 16-Bit Data Bus Mode 83-003758A 15 NEe pPD71071 range of memory can be initialized with the same value since the contents of the source address never change. During memory-to-memory transfer, the DMAAK signal and channel O's terminal count (TC) pulse are not output. (See figure 3.) Direction of Memory-to-I/O Transfers. All DMA transfers use memory as a reference pOint. Therefore, a DMA read reads a memory location and writes to an 1/0 port. A DMA write reads an 1/0 port and writes the data to a memory location. In memory-to-I/O transfer, use the mode control register to set one of the transfer directions in table 2 for each channel and activate the appropriate control signals. Table 2. Bus Modes Bus Release Mode Right to Use Bus Service Channel n n n r-- CPU - - - , fLPD71071 W CHO W W W CH1 CH2 CH3 Bus Hold Mode Activated Signals lID (DMA read) 10WR, MRD memory (DMA write) lORD, MWR Memory - Figure 4. Transfer Direction Transfer Direction 110 - Figure 4 shows that in bus release mode, only one channel can receive service after obtaining the bus. When DMA service ends (end of transfer conditions depend on thetransfer mode), the channel returns the bus to the CPU (regardless of the state of other DMA requests) and the pPD71071 enters the idle cycle. When thepPD71071 regains use of the bus, a new DMA operation begins. Right to Use Bus ~ Service Channel CHO: CH I :CH2; CH3 49·000522A Verify (Outputs addresses only. Does not perform a transfer.) Transfer Modes. In memory-to-I/O transfer, the mode control register selects the single, demand, or block mode of DMA transfer for each channel. The conditions for the termination of each transfer characterize each transfer mode. Memory-to-memory transfers have no relationship to single, demand, or block mode. Memory-tomemory transfers are a separate and distinct type of transfer'mode. Table 3 shows the various transfer modes and termination conditions. Table 3. Transfer Termination Transfer Mode End of Transfer Conditions Single After each bytelword Demand END input Generation of terminal count When DMA request of the channel in service becomes inactive When DMA request of a channel in higher priority becomes active (bus hold mode) Block END input Generation of terminal count Memory-tomemory END input Generation of terminal count In bus hold mode, several channels can receive service without releasing the bus after obtaining it. If there is another valid DMA request when a channel's DMA service is finished, the new DMA service can begin after the previous service without returning the bus to the CPU. End of transfer conditions depend on the transfer mode. A channel cannot terminate (end count) atransfer mode and immediately start on its next set of transfers. There must be anotherDMA channel service interleaved or the pPD71 071 will put in an idle cycle. The following shows an example of the possible sequences for Channel 2. CHAN2 or, CHAN2 - CHANn (n idle - = 0,1,3) - CHAN2 CHAN2 The operation of single, demand, and block mode transfers depends on whether the pPD71 071 is in bus release or bus hold mode. In bus release mode, only one type of bus mode (single, demand, or block) is used each time the pPD71071 has the bus. In bus hold mode, multiple types of transfers are possible. Channel o might operate in the demand mode, and channel 1, which could get the bus immediately after channel 0, could operate in block mode. Single Mode Transfer Bus Modes. The device control register selects either the bus release or bus hold mode. The bus mode determines when thepPD71 071 returns the system bus to the CPU. The pPD71071 can be in either the release or hold modes for the single, demand, or block mode transfers. Therefore, there are six possible mode combinations. 16 In bus release mode, when a channel completes the transfer of a single byte or word, the pPD71 071 enters the idle cycle regardless of the state of the DMA request inputs. In this manner, other devices will be able to access the bus on alternate bus cycles. NEe In bus hold mode, when a channel completes the transfer of a single byte or word, the jJPD71071 terminates the channel's service even if it is still asserting a DMA request signal. The jJPD71071 will then service the highest priority channel requesting the bus. If there are no requests from any other channel, thejJPD71 071 releases the bus and enters the idle cycle. Demand Mode Transfer In bus release mode, the currently active channel continues its data transfer as long as the DMA request of that channel is active, even though other DMA channels are issuing higher priority requests. When the DMA request of the serviced channel becomes inactive, the jJPD71 071 releases the bus and enters the idle state, even if the DMA request lines of other channels are active. In bus hold mode, when the active channel completes a single transfer, the jJPD71071 checks DMA request lines (other request lines when END or TC, all request lines including the last serviced channel when there is no END or TC). If there are active requests, the jJPD71071 starts servicing the highest priority channel requesting service. Ifthere is no request, the jJPD71 071 releases the bus and enters the idle state. pPD71071 Table 4. Address and Count Registers . Register Byte Transfer Word Transfer Address ±1 ±2 Count -1 -1 During word transfers, two bytes starting at an even address are handled as one word. If word transfer is selected and the initial value of the set address is odd, thejJPD71071 will always decrement that address by 1, thus making the address even for the data transfer. For this reason, it is best to select even addresses when transferring words, to avoid destroying data. Ao and USE control byte and word transfers. Table 5 shows the relationship between the data bus width, Ao and USE signals, and data bus status. Table 5. Data Bus Status Data Bus Width Ao UBE Data Bus Status 8 bits X 1 (1) D7-DO valid byte 16 bits 0 1 ---- - 0 D7-DO valid byte ------ ------------- D15-Da valid byte D15-DO valid word Note: (1) Always 1 for an 8-bit bus. Block Mode Transfer Compressed Timing In bus release mode, the current channel continues data transfer until a terminal count or the external END signal becomes active. During this time, the jJPD71 071 ignores all other DMA requests. After completion of the block transfer, the jJPD71 071 releases the bus and enters the idle cycle even if DMA requests from other channels are active. In transfers between I/O and memory, a DMA transfer cycle is normally executed in four clocks. However, when the device control register selects compressed timing, one DMA cycle can be executed in a three-clock bus cycle. Compressed timing may be used in the release or hold modes when doing block transfers between I/O and memory. In the demand mode, only use compressed timing in the bus release mode. Compressed timing mode increases data transfer rates by 33%. In bus hold mode, the current channel transfers data until a terminal count or the external END signal becomes active. When the service is complete, the jJPD71071 checks all DMA requests without releasing the bus. If there is an active request, the jJPD71 071 immediately begins servicing the request. The jJPD71071 releases the bus after it honors all DMA requests or a higher priority bus master requests the bus. Figure 5 shows the operation flow for the six possible transfer and bus mode operations in DMA transfer. Byte/Word Transfer If the initialize command selects a 16-bit data bus width, the mode control register can specify DMA transfer in byte or word units for each channel. Table 4 shows the update of the address and count registers during byte/word transfer. The jJPD71071 is able to omit one clock period during compressed timing by not updating the upper 16 bits of the latched address. In block mode and demand bus release mode, addresses are output sequentially and the upper 16 bits of addresses latched in external latches need not be updated except after a carry or borrow from A7 to A8. For this reason, during compressed timing, the 81 state (output of upper 16 bits of an address for external latching) is omitted in the bus cycles except during the first bus cycle when the upper 16 bits of an address are changed. Figure 6 shows one word waveforms for normal and compressed timing. 17 NEe J,lPD71,071 Figure 5. Transf~r and Bus Modes Operations Bus Mode Bus Release Transfer Mode Single Demand Block 18 Bus Hold NEe Figure 6. pPD71071 Normal and Compressed Timing Waveforms h When the mode control register is set to autoinitialize a channel, the IlPD71071 automatically initializes the address and count registers when END is input or a terminal count is generated. The contents of the base address and base count registers are transferred to the current address and current count registers, respectively. The applicable bit of the mask register is unaffected. The applicable bit of the mask register is set for channels not programmed for autoinitialize. - 1'-11 The autoinitialize function is useful for the following types of transfers. 51 52 5354 51 52 53 54 51 52 53 54 51 52 Normal TIming A5TB DB (Upper 16 bits of Address) A7- A O - DB (Upper 16 bits of Address) A7- A O h ..... - r- h It- h I-- rr- f~ I-Ir- '"'""" ~ rrfr)-"'I'- ~ I'- ~ ~I-- ~ ~ Ir- - ~ 51 52 5354 5253 54 52 53 54 5253 54 52 Compressed TIming A5TB Autoinitialize - Ir-I\ 49·000524A Software DMA Requests The IlPD71071 can accept software DMA requests in addition to DMA requests from the four DMARQ pins. Setting the appropriate bit in the request register generates a software DMA request. The mask register does not mask software DMA requests. Software DMA requests operate differently depending on which bus or transfer mode is used. Bus Mode. When bus release mode is set, the highest priority channel among software DMA requests and OMARQ pins is serviced, and all bits of the request register are cleared when the service is over. Therefore, there is a chance that other software DMA requests will be cancelled. When bus hold mode is set, only the corresponding bit of the request register is cleared after a DMA service is over. Therefore, all software DMA requests will be serviced in the sequence of their priority level. Software OMA requests for cascade channels (see Cascade Connection) must be performed in bus hold mode. When a cascade channel is serviced, the master IlPD71071 operational mode is changed to bus release mode temporarily and all bits of the request register are cleared when the cascade channel service is over. To avoid this, it is necessary to mask any cascade channels before issuing a software DMA request. After confirming that all DMA software services are complete and all bits of the request register are cleared, the cascade channel masks can be cleared. Transfer Mode. When single or demand mode is set, the applicable request bits are cleared and software OMA service ends with the transfer of one byte/word. When block mode or memory-to-memory modes are set, service continues until END is input or a terminal count is generated. Applicable request bits are cleared when service ends. Repetitive Input/Output· of Memory Area. Figure 7 shows an example of DMA transfer between a CRT controller and memory. After setting the value in the base and current registers, autoinitialize allows repetitive DMA transfer between the CRT controller and the video memory area without CPU involvement. Continuous Transfer of Several Memory Areas. The CPU can indirectly write to the address or count registers by writing to the base registers. New values can be written to the base registers. In the autoinitialize mode, the value in the base register will be transferred to the address/count registers when termination is reached in the address/count registers. Because of ~ this, the autoinitialize function can perform continuous ~ transfer of several contiguous or noncontiguous memory areas during single or demand bus release modes in the following manner. During the transfer of data in area 1 (the first area being transferred), the CPU can write address and count information about area 2 (the second area to be transferred). Generation of a terminal count for area 1 results in the transfer of information of area 2 to the address and count registers. This will cause area 2 to be transferred. Figure 8 illustrates this procedure. Channel Priority Each of the IlPD71 071 's four channels has its own priority. When there are DMA requests from several channels simultaneously, the channel with the highest priority will be serviced. The device control register selects one of two channel priority methods: fixed and rotational priority. In fixed priority, the priority (starting with the highest) is channel 0, 1,2, and 3, respectively. I n rotational priority, priority order is rotated so that the channel that has just been given service receives the lowest priority and the next highest channel number is given the highest priority. This method prevents exclusive servicing of some channel(s). Figure 9 shows the two priority order methods. 1Q NEe JlPD71071 Figure 7. Autoinitialize Application 1 Memory CRT :~~~::SS_{~"~~77TrTr.r.n~77~IIL--------------------~\ CRTC flP071 071 Base Count Set Values OMA Controller r-----~ OMAAK .----1 OMARQ flP071 071 49-0005258 Figure 8. Autoinitialize Application 2 1/0 Memory CPU I Write Area 1 Information Base Current Registers I Areal Transfer Auto- initialize Generated Write Area 2 Information in Base Register • Area 2 Transfer I 49-0005268 Figure 9. Priority Order Fixed Priority Highest Rotational Priority Highest Highest CHl Service £ u Lowest _ 49-0005278 NEe pPD71071 Cascade Connection Bus Wait Operation The pPD71 071 can be cascaded to expand the system DMA channel capacity. To connect a pPD71071 for cascading (figure 10), perform the following operations. In systems using a pPD70208/70216 (V40/V50) as the CPU, the refresh control unit in the CPU changes the HLDAK signal to inactive (even during a DMA cycle) and uses the bus. Here, the pPD71 071 automatically performs a bus wait operation. This system has a bus master (V40/V50) whose priority level is higher than that of the pPD71071. (1) Connect pins HLDRQ and HLDAK of the secondstage (slave) pPD71071 to pins OMARQ and DMAAK of any chan nel of the fi rst-stage (master) pPD71071. (2) To select the cascade mode of a particular channel of a master pPD71 071, set bits 7 and 6 of that channel's mode control register to 11. When a channel is set to the cascade mode in a master pPD71071, DMARQ, DMAAK, HLDRQ, HLDAK, and RESET are the only valid signals in the master pPD71 071. The other signals are disabled. The master cascade channel only intermediates hold request/hold acknowledge between the slave and CPU. The master pPD71071 always operates in the bus release mode when a cascade channel is in service (even when the bus hold mode is set). Other DMA requests are ignored while a cascade channel is in service. When the slave pPD71071 ends DMA service and moves into an idle cycle, the master also moves to an idle cycle and releases the bus. At this time, all bits of the master's request register are cleared. The master operates its non-cascaded channels normally. Figure 10. The pPD71 071 executes the bus wait operation when the HLDAK signal becomes inactive in an operating mode where transfer is executed continuously in block mode, during demand bus release mode, or during memory-to-memory transfer. When HLDAK becomes inactive during service in other operating modes, the operation returns to the idle cycle and transfers control of the bus to the higher bus master. Figure 11 shows that when the HLDAK signal becomes inactive during a continuous transfer, the pPD71 071 is set up in an S4w state (bus wait). Operation moves to the idle cycle if DMARQ is inactive in the demand mode. The HLDRQ signal is made inactive for a period of about two clocks and the bus is released. The S4w state is repeated until the HLDAK signal again becomes active and the interrupted service is immediately _ _ restarted. ~ Cascade Connection Example HLDAK HLDAK HLDRQ HLDRQ _DMA1 - DMA2 _DMA3 Cascaded Channel CPU (,"AAX DMARQ HLDAK ~ HLDRQ - - -- fJ.PD71071 (Master) DMA4 DMA5 DMA6 DMA7 fJ.PD71 071 (Slave) 49·0005288 21 NEe pPD71071 Figure 11. Bus Wait Operation Bus Master CPU OMARQ HLOAK flP071 071 .I Higher Priority Bus Master ",P071071 CPU --1 --1 \""'__-11 HLORQ 49·QO0529A Programming the pPD71071 Initialize To prepare a channel for DMA transfer, you must select the following characteristics. Use the initialize command as a software initialize to the pPD71 071 or to set the width of the data bus. When usi ng a 16-bit CPU, set the data bus width to 16 bits first. Figure 12 shows the initialize command format. • • • • • Starting address for the transfer Number of byte/word transfers DMA operating modes Data bus widths Active levels of the DMARQ and DMAAK signals When reading from or writing to a pPD71 071 internal register, address lines A3-AO select the register: lORD or IOWR select the data transfer direction, and CS enables the transfer. Table 6 shows the register and command configurations. Table 6. Register Configuration Bit O. When the RES bit is set, the internal state of the pPD71071 is initialized and will be the same as when a hardware reset is used (except for data bus width selection). A software reset leaves bit 168 intact whereas a hardware reset selects the 8-bit data bus. After initialization, the registers are as in table 8 and the RES bit is cleared automatically. Table 8. Register Initialization Register Initialization Operation Initialize Clears bit 0 only No change Register Bit size Channel 5 Address Base address 24 (4) Count No change Current address 24 (4) Channel Selects channel 0, current and base Base count 16 (4) Mode control Clears all bits 16 (4) Device control Clears all bits 7 (4) Status Clears bits 3-0 only Device control 10 Request Clears all bits Status 8 Mask Sets all bits (masks all channels) Request 4 Temporary Clears all bits Mask 4 Temporary 16 Current count Mode control Note: When using a 16-bit CPU and selecting a 16-bit data bus, the word IN/OUT instruction can be used to read/write information two bytes at a time. However, commands in table 7 suffixed with 8 must be issued with the byte IN/OUT instruction. 22 Bit 1. The 168 bit determines the data bus width. When using the pPD71071 in a 16-bit system, set this bit immediately after a hardware reset since a hardware reset always initializes it to the 8-bit data bus mode. NEe Table 7. pPD71071 Command Configuration Address OH R/W Command Name Format MSB W(B) Initialize - I - - R(B) Channel Register Read - I - - W(B) Channel Register Write - - - LSB I - I - BASE SEL3 - I 16B I RES I SEL2 SEL11 SELO I SE~CH I 1H 2H R/W 3H R/W Count Register Read/Write - C7 C6 C5 C15 C14 C13 I A7 I A15 I - BAS C4 C3 C2 C1 I CO I C12 C11 C10 C9 I I I C8 I AO I 4H R/W 5H R/W 6H R/W(B) 8H R/W 9H R/W OAH R/W(B) Mode Control Reg. Read/Write I OBH R(B) Status Register Read I RQ3 OCH R Temporary Reg. (lower) Read I R Temporary Reg. (higher) Read I T15 T14 OEH R/W(B) Request Reg. Read/Write I - - - I - I SRQ31 SRQ21 SRQ1 I SRQO OFH R/W(B) Mask Reg. Read/Write I - - - I - I ODH Address Register Read/Write Device Control Reg. Read/Write A6 A5 A4 A3 A2 A14 A13 A12 A11 A10 I A1 A18 I A171 A9 A8 I I I A23 I AKL A22 A21 A20 A19 RQL EXW ROT CMP I DDMAI AHLD I MTM I - - - I TMODE T7 - - RQ1 T6 T5 I RQO I I T13 I T4 I ml - TDIR ADIR I AUTI I RQ2 I Te3 A16 I WEV IBHLD I I - I WID I I TC2 I TC1 I TCO I I T1 I TO I T11 I T10 I T9 I T8 I T3 I M3 I T2 M2 I M1 I MO I I 49-tlOO603B Figure 12. Initialize Command Format OH I - I -I - 1 - 1 - 1 - 1 16B LRES L OUT (Byte only) Software Reset '--------- 16-bil data bus 0 1 No operation Reset 0 8-bit data bus 1 16-bit data bus 49-000604B Channel Register This command reads and writes the channel register that selects one offour DMA channels for programming the address, count, and mode control registers. Figure 13 shows the channel reg ister read/write format. Channel Register Read SEL3-SELO. These mutually exclusive bits show which of the four channels is currently selected for programming. Base = 1. Only the base registers may be read or written to. Channel Register Write SELCH. This bit selects the channel to be programmed. BASE. Base = O. The current register may be read. During a write, the base and current registers will be written to simultaneously. Base = 1. Only the base registers may be read or written to. BASE. Base = O. The current register may be read. During a write, the base and current registers will be written to simultaneously. 23 NEe pPD71071 Figure 13. Channel Register Format Channel Register Read 1H I - J- I - I BASE I SEL3 I SEL.2 I SEL1 I SELO f IN [Byte only] I Selected Channel 0001 Channel 0 0010 Channel 1 0100 Channel 2 1000 Channel 3 0 Select Current (read), select both Base and Current (write) 1 Select Base (read/write) Base Only Channel Register Write 1H I -1 - I - I - 1 - IBASEI OUT (Byte only) SELCH 'L. Selected Channel' Base Only 00 Channel 0 01 Channel 1 10 Channel 2 11 Channel 3 0 Select Current (read), select both Base and Current (write) 1 Select Base (read/write) 49·0006058 Count Register Read/Write When the 16-bit bus mode is selected, the IN/OUT instruction can directly transfer 16-bit data. The channel register selects one of the count registers. When bit 2 of the channel register write is cleared, a write to the count register updates both the base and current count registers with the new data. If bit 2 of the channel register write is set, a write to the count register only affects the base count register. The base count registers hold the initial count value until a new count is specified. If autoinitialize is enabled, this value is transferred to the current count register when an END or TCis generated. For each DMA transfer, the current count register Is decremented by one. Figure 14 shows the count register read/write format. Address Register Read/Write When a 16-bit data bus width is selected, the IN/OUT instruction can directly transfer the lower two bytes (4H and 5H) of the register. You m;ust use the byte IN/OUT instruction with the upper byte (6H) of the register. The channel register selects one of the address registers. When bit2 of·thechannel register is cleared, a write to the address register updates both the base and current add ress reg isters with the new data. If bit 2 of the channel register is set, a write to the address register only affects the base address register. 24 The base register holds the starting address value until a new setting is made and this value is transferred to the current address register during autoinitialization. For each DMAtransfer, the durrent address register is updated ±2 during word transfer and ±1 during byte transfer. Figure 15 shows the address register read/ write format. Device Control Register Read/Write The device control command reads from and writes to the device control register. When using a 16-bit data bus, use the word IN/OUT instruction to read and write 16-bit data. Figure 16 shows the device control register read/write format. NEe Figure 14. pPD71071 Count Register Read/Write Format Figure 15. Address Register Read/Write Format 2H I C7 C6 Cs C4 C3 C2 Cl Co Iiniout 4H I A7 A6 As A4 A3 A2 Al Ao Iiniout 3H I CIS C14 C13 C12 Cll Cl0 Cg Cs Iiniout 5H I AIS A14 A13 A12 All Al0 Ag As Iiniout I A22 A21 A20 A19 AIS A17 A16 83-001951A 6H A23 I ;~y~eU~nIYJ 83-001952A Figure 16. Device Control Register Read/Write Format BH I AKL I RQL I EXW I ROT I CMP IDDMAI AHLD I MTM L IN/OUT Memory-toMemory O 1 Disable Fixed 0 1 Disable for CHO Enable for CHO Disable DMA Operation [2J 0 1 Enable Compressed Timing [3J 0 1 Rotational Priority 0 1 Extended Writing [4J DMARQ Active Level 0 1 0 1 DMAAK Active Level 0 Active Low 1 Active High 0 1 Bus Release '------ Address [IJ 9H Enable ( Disable Normal Compressed Fixed Rotational Normal Extended Active High Active Low 1-1-1-1-1-1 - I WEVlBHLDJ IN/OUT L Bus Mode ' - - - - - Wait Enable During Verify [5] 0 Bus Hold Disable 1 Enable Note: [IJ This bit Is only used when MTM = I, [memory-to-memory translersJ_ [2J Disables HLDRQ to thl! CPU to prevent Incorrect DMA operation while the pPD71071's registers are being Initialized or modified. [3] When I, causes the pPD71071 to use compressed timing In the demand bus release mode or In the block mode. [4] When EXW Is O,the write signal becomes active [normal wrlteJ during S3 and SW. When l,the write signal becomes active during S2, S3, and SW. See figures 27-29. [5J This bit enables or disables the walt state generated by the READY Signal during a verify transler. 49-000606C NEe pPD71071 Mode Control Register Read/Write Mask Register Read/Write This command reads from and writes to the mode control register to specify the operating mode for each channel. The channel register selects the mode control register to be programmed. This command must be issued by the byte IN/OUT instruction. Figure 17 shows the mode control register read/write format. This command reads from and writes to the mask register to mask or unmask external DMA requests for the corresponding four DMA channels (DMARQ3DMARQO). This command may be issued by the byte IN/OUT instruction. Figure 21 shows the mask register read/write format. Status Register Read DMA Transfer Modes This command reads the status register for the individual DMA channels. The register has DMA request states and terminal count or END information. This command must be issued by the byte IN instruction. Figure 18 shows the status register read format. Figures 22-27 show state transition diagrams for the different modes of DMA transfer. Temporary Register Read Transfer Timing When a 16-bit data bus is selected, the IN instruction will read 16-bit data with this command. The last data transferred in memory-to-memory transfer is stored in the temporary register. Figure 19 shows the temporary register read format. Request Register Read/Write This command reads from and writes to the request register to generate DMA requests by software for the four corresponding DMA channels. This command may be issued by the byte IN/OUT instruction. Figure 20 shows the reguest register read/write format. Figure 17. Figure 23 shows the state of a master pPD71071 when an input from a slave pPD71071 (cascaded pPD71 071) is using the system bus. Figures 28-30 show pPD71071 timing waveforms. Examples of System Configuration Figures 31-32 show system configuration examples using the 8- bitpPD701 08 CPU and the 16-bitpPD70116 CPU. ThepPD71082 externally latches addresses and data. Mode Control Register Read/Write Format OAH I TMODE I ADIA I AUTI I TDIA L~ I - I W/B L Word/byte Transfer [1] Transfer Direction [2] AutoInitialize [3] Address Direction [4] Transfer Mode [5] 0 1 00 01 10 11 0 Byte Word Verify I/O-to·memory Memory.to-I/O Not allowed 1 0 1 00 Disable Enable Increment Decrement Demand 01 10 11 Single Block Cascade Note: [1] This bit selects byte or word transfer for DMA transfers. This bit Is used only In 16·blt data bus mode. [2] These bits select the DMA transfer direction between memory and I/O. These bits are meaningless during memory-to-memory transfer. [3] Channel 0 and 1 must have the same AUT I bit value when performing memory-to-memory transfer. [4] This bit decides the update direction of the Current Address Register. When ADIA Is 0, the register Increments by 1 for a byte transfer and by 2 for a word transfer. When ADIR Is 1, the register decrements by 1 for a byte transfer and by 2 for a word transfer. [5] These bits select the transfer mode during DMA transfer between memory and I/O and are meaningless during memory-to-memory transfer. 49-0006088 26 NEe Figure 18. pPD71071 Status Register Read Format OBH I R03 I R02 ROl I ROo I TC3 I TC2 I I TCl TCO I (Byte only) IN Terminal Count OMA Request [1] 0 Not ended (for each read) 1 END or terminal count No OMA request active 0 1 External OMA request present Note: [1) Bits R03-ROO will be set if an external hardware OMA request is pending even if its request bit is masked. Software·generated OMA requests, hardware reset, and software reset will not affect these bits. 49·000607B Figure 19. Temporary Register Read Format OCH I T7 T6 Ts T4 T3 T2 Tl To lin OOH I T1S T14 T13 T12 Tl1 Tl0 Tg Ta lin 83-001953A Figure 20. Request Register Read/Write Format Note: [1] In memory-to-memory applications, only bit SROO will be cleared at terminal count or when an EN 0 input is present. 83-0018878 Figure 21. Mask Register Read/Write Format 6 OFH I - I - I - I - I 3 M3 2 I M2 I 1 0 Ml L MO I IN/OUT 11.--__-11 OMARO I Mask [1] (Byte only) I 0 1 Not masked J I 1 I Masked J Note: [1] In memory-to-memory applications, only bits MO and Ml will be set at lerminal count or when an EN 0 input is present. 49-0006098 ')7 NEe pPD71071 Figure 22. Idle Cycle SI: DMA request idle c.ycle SO: HLDAK walt state Sl: Address latch state S2: Read signal output state S3: Write signal output state S4: Read/Write signal recovery state SW: READY walt state S4w: Bus walt state 1 : Memory-I/O Transfer 2: Memory-ta-Memory Transfer 3 : OMARa and HLDAK Inputs present N 49·0005318 28 NEe Figure 23. pPD71071 DMA Cycle, Cascade Mode Figure 24. DMA Cycle, Single Mode 49-000532A 49-000533C ')0 pPD71071 Figure 25. NEe DMA Cycle,Demand Mode SI Note: [1J Carry or borrow to upper two bytes of address? 49-000534C NEe Figure 26. pPD71071 DMA Cycle, Block Mode N N N Nole: [1J Carry or borrow 10 upper Iwo byles of address? 49-000535C ttlEC pPD71071 Figure 27. DMA Cycle, Memory-fo-Memory Transfer 511-514: Channel 0 Operation 521-524: Channel 1 Operation y ~ o o 83-001674C NEe Figure 28. ,pPD71071 Memory-IIO Transfer, Normal Timing 51 elK 51 50 50 51 52 54 53 51 52 53 51 54 51 J1lJl JlJl Jl Jl ~ Jl JlLn ~ JlL1l IrF \ OMARQ HlORQ HlOAK L I--- - W I '\ AEN A5TB n 1\ r-\ r-~ L-J IL.....-J A7-AO OC OC OMAAK LW I r-\ , [2J '--- L \ II \ LV \ --l.. 'Hmlnput 1,--' [2J '--- ~ V--' L f-..j 'T<::output Note: [IJ When an B-bit data bus is selected, OW08 are not used. Therefore, A23-A16 are not multiplexed address/data signals and will have the same liming as A7-AO' [2J The broken lines of the write signal are lor extended write liming; 49-000537C NEe pPD71071 Figure 29. Memory-IIO Transfer, Compressed Timing 51 elK 51 50 so 52 51 53 52 54 HLOAK 54 51 u- \ - U L I--I II 1\ AEN A5TB 51 Jl IJl W' ~ W' ~ lJl W"' J' UlW' ~ OMARQ HLORQ 53 III Ir--I'\ 1\...--1-' OC IX OMAAK I \.. W II Ir-t\ \ [2[ '--- L V ~L~ n. \ 1,11\ \.~J .L1,11\ ~ENl)lnput to- L H l''fCOutput Note: (1) When an 8-bit data bus is selected, 0 15 -08 are not used_ Therefore, A23-A16 are not multiplexed address/data signals and will have the same liming as A7-AO_ 12) The broken lines of the write signal are for extended write tlmlng_ 49-000538C 34 NEe Figure 30. pPD71071 Memory-to-Memory Transfer 5tate SO 511 512 513 514 521 522 523 524 51 Note: [1) When an 8-blt data bus is selected, 015-08 are not used. Therefore, A23-A16 are not multiplexed address/data signals and will have the same timing as A7-Ao. [2) The broken lines of the MWR signal are for extended write timing. 49·0005396 Figure 31. END/TC Input/Output 5tate 51 52 53 54 elK TC (Output) END (Input) 83-003760A 35 NEe pPD71071 Figure 32. System Configuration with I1PD70108 !,P071082 x 3 A19- A16 ~ A19- A 16 ) 01 DO ") 01 DO U v A1S-As A1S-AS !,P070l0S A A07-AOO ASTB HLOAK Kr- " ~ I--- A7-AO 01. DO STB OE , /,>. L~ Address Bus A19-AO A19-AS 07- 0 0 HLORQ :) ~ HLORQ HLOAK "- n V· I "- 0~ Data Bus 07- 0 0 A7-AO A7-AO 07- 0 0 A A1S-AS/07- 0 0 I~ !,P071071 A19-A16 "" A23- A 16 -V !,P0710S2 > L "v AEN ASTB I 36 .... v A1S-AS 01 DO STB OE J 83-001673C NEe Figure 33. pPD71071 System Configuration with pPD70116 pP071082 > x3 UBE, A19-A16 ~ UBE, A19-A16 v J'.. A pP070116 A07-AOO " <; - A1S-AS ~Ol A01S-AOsl< DO ~ ~Ol - HLOAK - HLORQ A7-AO DO STB ASTB f - - J DO 01 ./>. OE t... A 11 ~ 01S- 0 0 01S-00 J'.. /";:.V HLOAK HLORQ A7-AO 01S- DO ~ 07- 0 0 I~ ,,~ 01S-0S pP071071 pP071082 x2 A1S-AS =>01 A23- A 1s10 1S- DS UBE AEN ASTB I Data Bus 01S- 0 0 A7-AS V' A A1S-Asl 0 7-00 Address Bus UBE, A19-AO A19-AS, UBE ~Ly7 v> ~ 1<" V' A19-AO, UBE v A19-A16 01 DO STB OE t ...... t... ) DO I 83-001672C 37 pPD71071 38 NEe NEe pPD71082, 71083 8-Bit Latches NEG Electronics Inc. Description Pin Configurations p.PD71082 and p.PD71083 are CMOS 8-bit transparent latches with three-state output buffers. They are used as bus buffers or bus multiplexers in microprocessor systems. Their high-drive capability makes them suitable for data latch, buffer, or I/O port applications. 20-Pin Plastic DIP 010 Voo 011 000/000 012 001/001 Features 013 002/002 014 o CMOS technology 015 003/003 004/004 o 8-bit parallel data register 017 016 OE o Three-state output buffer Vss 005/005 006/006 007/007 STB o High drive capability output buffer (IOL = 12 rnA) o p.PD8085A, 8048, 8086, 8088, p.PD70108/116, and p.PD70208/216 system compatible 83-000225A 2O-Pin Plastic SOP o p.PD71082 - non-inverted output; p.PD71083 - inverted output 010 Voo o Single +5 V ± 10% power supply 011 000/000 o Transparent operation 012 001/001 013 o Industrial temperature range: -40 to +85°C 014 015 002/002 003/003 004/004 Ordering Information 016 005/005 017 006/006 Part Number Package Output ,uPD71082C 20-pin plastic DIP Non-inverted ,uPD71082G 20-pin plastic SOP ,uPD71083C 20-pin plastic DIP ,uPD71083G 20-pin plastic SOP OE 007/007 STB Vss 83-004227A Inverted Pin Identification Symbol Function Data input, bits 0-7 Data output, bits 0-7; non-inverted (,uPD71082) or inverted (,uPD71083) STS Strobe input Output enable input Voo Vss 50150 +5 V power supply Ground NEe pPP71082, 71083 latch. Data is latched on the falling edge of STS. When STS is low, the 000-007/000-007 outputs do not change. PIN FUNCTIONS DIQ-DI7 (Data Input) 010-017 are data input lines to the 8-bit data latch. 'Data on 01 lines passes through the latch while STS is high. The data is latched to 00/00 with the falling edge of STS. DOo-D07/i5oo-D~ (Data Output) 000-007/000-007 are the three-state data output lines from the a-bit data latch. When OE is high, these lines go into the high-impedance state. When OE is low, data from the latch is output, either non-inverted (p.P0710a2) or inverted (p.P071083). STB (Strobe) OE (Output Enable) OE input is the output enable signal for the three-state 00/00 lines. When OE is high, 00/00 lines are high impedanc$. When OE is low, data from the a-bit latch is output to 000-007/000-007. See table 1. Tabl. 1. I..IItch Operation STB OE 000-00.,1000-00., 8-Blt Oata Latch Low Low Latched data from 8·blt data latch Is enabled 01 line data has been latched with failing edge of STB (hIgh to low) High STS is the input strobe signal for the 8-bit latch. When STS is high, data on the 01 lines passes through the 8-bit High High Impedance Low Data on 010-017 01 passed through to High High Impedance oollm Block Diagram pP071083 pP071082 OE O - - - - - Q '>-----, STB STB ,---------I 1 010 0--+~ I >----'---0 000 1 1 1 010 0--+---1 1 Oh~ 4001 f------------- J 012~ ~002 012 0 13 ()------i 1----0 01 3 003 0---4 ~ ,-----------, 0 15 ()-----1 L ____________ 01 6 0---4r - 017 0-------1 L 004 ~ 't----O 003 1",,- 014 ~ ,---v 004 ,-------------1 ~ 005 015 G-------j ~ 006 01 r----o 007 ____________ J 002 L-------------"l I 1---0 1------------ 1 I -j - - - - - - ',- - - - , i--o o---i I-- - - - - - - - - - - -'-l L-------------1 01 4 L-o 001 011 G-------j 1-------------.J ,------------, 1 1 1- - - - - - - - -----..j L ____ - - - - - - - - - - 1 60-:_ 0 17 ()------i L - - - - - - - - - r l--o _____________ J 005 006 007 83-0002266 2 NEe pPD71082, 71083 Capacitance FUNCTIONAL DESCRIPTION The #,PD71082 and #,PD71083 are 8-bit data latches strobed by the STS signal. They have high-drive capability output buffers controlled by the OE signal. Data on the 01 lines is latched by the trailing edge of STS (high to low). When STS is high, data passes through the latch. When OE is high, DO lines are high impedance. When OE is low, the contents of the latches are output on 000007. The DO lines are isolated from OE switching noise. ELECTRICAL SPECI FICATIONS Absolute Maximum Ratings TA - 25°C; Vss - OV -0.5 to +7.0 V Power supply voltage, Voo Input voltage, VI -1.0 to Voo + 1 V Output voltage, Vo -0.5 to Voo + 0.5 V Power diSSipation, POMAX, DIP SOOmW Power diSSipation, POMAX, SO 200mW Operating temperature, Topt -40 to +85°C Storage temperature, Tstg Exposing the device to stresses above those listed In the absolute maximum ratings could cause permanent damage. Exposure to absolute maximum ratings for extended periods may affect device reliability. DC Characteristics TA .. -40 to +85°C; Voo - 5V :1:10% Parameter Symbol Min Input voltage, high VIH 2.2 Input voltage, low VIL Output voltage, high VOH Output voltage, low VOL Max Units Conditions V VOL = 0.45 V VOH Voo -0.8V = 0.8 V VOL = 0.45 V VOH = Voo -0.8V V 10H = -4mA TA - 25°C; Voo - +5 V Parameter Cln V 1.0 p.A VI = Voo, VSS -10 10 p.A DE = 100 80 p.A VI loodyn 20 rnA fin = 10MHz C 200pF 10FF Power supply current (static) Power supply current (dynamic) f - 1 MHz Max Units tOIO 5 40 ns STe to output delay toSTBO 10 60 ns Data float time from 'OE high tFCTO 5 30 ns Data output delay from 'OE low toCTO 10 40 ns Input to STe setup time tSISTB 0 ns Input to STe hold time tHSTBI 25 ns STe high pulse width tPWSTB 20 ns Signal rise time lLH 20 ns 0.8 to 2.0V Signal fall time tHL 12 ns 2.0 to 0.8V Symbol Conditions Loading circuit (a) Loading circuit (b) Loading circuit (a) II Loading Circuits for AC Testing [a] VOL, VOH Outputs [b] Three-State Output 2.87V ~'''O 10L = 12mA -1.0 Leakage current, high impedance Conditions pF Min Parameter Input to output delay Loading Conditions: IOl Input current Units 12 AC CharacteristiCS r200PF 0.45 Max TA - -40 to +85°C; Voo - 5 V :1:10% Out Voo -0.8 Min Symbol Input capacitance 2.87V Out fJ 6750 r200 pF = 12 mA, IOH = -4 mA, Cl = 200 pF 83-000228A Voo = Voo, VSS = 3 NEe pPD71082, 71083 Timing waveforms 01 tSISTB tHSTBI STB tPWSTB tOIO tOSTBO 00/00 --------(1 83-0042166 Timing IIeasurement Point. Input 2.4 V 0.4 V 2.2 V 0.8 V Measurement Points Output 2.2 V 2.2 V 0.8 V 0.8 V Measurement Points 2.2 V 0.8 V 83-0042116 4 NEe II PD71 084 Clock Pulse Generator/Driver NEC Electronics Inc. Description Pin Configurations The p,PD71084 is a clock pulse generator/driver for microprocessors including the V20® and V30® and their peripherals using NEe's high-speed CMOS technology. 18-Pin Plastic DIP Features o CMOS technology CKSYN PRCLK REN1 RDY1 READY o Clock pulse generator/driver for p,PD70108/70116 or other CMOS or NMOS CPUs and their peripherals o Frequency source can be crystal or external clock input VDD X1 X2 RDYSYN EXFS FIX asc CLK Vss RESIN RESET 83-001580A o Reset signal with Schmitt-trigger circuit for CPU or peripherals 2O-Pin Plastic SOP o Bus ready signal with two-bus system synchronization o Clock synchronization with other p,PD71084s o Single +5 V ±10% power supply o Industrial temperature range: -40 to + 85°C Ordering Information Part Number elK Out, Max Package ~PD710S4C-S SMHZ 1S-pin plastic DIP C-10 10 MHz G-S SMHz Vss VDO X1 NC X2 RDYSYN EXFS FIX asc RESIN RESET 83-0041S3A 20-pin plastic SOP V20 and V30 are registered trademarks of NEC Corporation. 50190 CKSYN PRCLK NC REN1 RDY1 READY RDY2 REN2 CLK NEe pPD71084 Pin Identification ClK (Processor Clock) Symbol Function CKSYN Clock synchronization input PRClK Peripheral clock output REN1 Bus ready enable input 1 RDY1 Bus ready input 1 READY Ready output RDY2 Bus ready input 2 REN2 Bus ready enable input 2 ClK Processor clock output Vss Ground potential RESET Reset output RESIN Reset input asc Oscillator output FIX External frequency source/crystal select EXFS External frequency source input Ready synchronization select input X2 X1 VDD NC Crystal input Crystal input . +5 V power supply No connection ClK output supplies the CPU and its local bus peripherals. ClK is a 33% duty cycle clock, one-third the frequency of the frequency source. The ClK output is +0.4 V higher than the other outputs. PRClK (Peripheral Clock) PRClK output supplies a 50% duty cycle clock at onehalf the ClK frequency to drive peripheral devices. OSC (Oscillator) OSC outputs a Signal at the same frequency as the crystal input. When EXFS is selected, the OSC output is powered down, and its output will be high. CKSYN (Clock Synchronization) CKSYN input synchronizes one p.PD71084 to other p.PD71084s. A high level at CKSYN resets the internal counter, and a low level enables it to count. RESIN (Reset) This Schmitt-trigger input generates the RESET output. It is used as a power-on reset. PIN FUNCTIONS RESET (Reset) X1, X2 (Crystal) This output is a reset signal for the CPU. Reset timing is provided by the RESIN input to a Schmitt-trigger input gate and a flip-flop which will synchronize the reset timing to the falling edge of ClK. Power-on reset can be provided by a simple RC circuit on the RESIN input. When the FIX input is low, a crystal connected to X1 and X2 will be the frequency source to generate clocks for a CPU and its peripherals. The crystal frequency should be three times the frequency of ClK. EXFS (External Frequency) EXFS is the external frequency input in the external TTL frequency source mode (FiX high). A TTL-level clock signal three times the frequency of the ClK output should be used for the source. FiX (Frequency/Crystal Select) FIX input selects whether an external TTL-level input or an external crystal input is the frequency source of the ClK output. When FIX is low, ClK is gene~ated from the crystal connected to X1 and X2. When FIX is high, ClK is generated from an external TTL-level frequency input on the EXFS pin. At the same time, the internal oscillator circuit will stop and the OSC output will be high. 2 RDY1, RDY2 (Bus Ready) A peripheral device drives the RDY1 or RDY2 inputs to signal that the data on the system bus has been received or is ready to be sent. REN1 and REN2 enable the RDY1 and RDY2 signals. REN1, REN2 (Address Enable) REN1 and REN2 inputs qualify their respective RDY inputs. RDYSYN (Ready Synchronization Select) RDYSYN input selects the mode of READY signal synchronization. A low-level signal makes the synchronization a two-step process. Two-step synchronization is used when RDY1 or RDY2 are not synchronized to the microprocessor clock and therefore cannot be guaranteed to meet the READY setup time. A high-level signal makes synchronization a one-step process. One-step NEe synchronization is used when RDY1 and RDY2 are syn~ chronized to the processor clock. See Block Diagram. pPD71084 ity. The values of C1 and C2 (C1 = C2) can be calculated from the load capacitance (C0 specified by the crystal manufacturer. READY (Ready) The READY output signal to the processor is synchronized by the ROY inputs to the processor ClK. READY is cleared after RDY goes low and the guaranteed hold time of the processor has been met. CL = C1 xC2 + C S C1 + C2 Cs is any stray capacitance in parallel with the crystal, such as the p.PD71084 input capacitance 01 Figure 1. Crystal Configuration Circuit CRYSTAL The oscillator circuit of the p.PD71084 works with a parallel-resonant, fundamental mode, "AT-cut" crystal connected to pins X1 and X2. Figure 1 shows the recommended circuit configuration. Capacitors C1 and C2 are required for frequency stabil- .1 C1 ~ ~C2 T X1 ~PD71084 X2 83VL·7023A ",PD71084 Block Diagram X1 X2 FIX OSC PRClK EXFS CKSYN REN1 ClK RDY1 REN2 READY RDY2 RDYSYN RESIN RESET 83-0015838 3 NEe IIPD71084 DC Characteristics = 5 V :t 10% ELECTRICAL SPECIFICATIONS TA = -40 to +85°C; V OD Absolute Maximum Ratings Parameter TA = 25°C; Vss = OV Power supply voltage, Voo Min VIH 2.2 Input voltage, low VIL Output voltage, high VOH -0.5 to + 7.0 V Input voltage, VI -1.0 V to VDD Output voltage, Vo -0.5 V toVDD + + 1.0 V 0.5 V Operating temperature, TOPT Storage temperature, TSTG Symbol Input voltage, high -65 to V V 2.6 + 150°C 0.8 500mW Output voltage, low VOL Power dissipation, Po (SOP) 200mW Input leakage current liN RESIN hysteresis RESIN input V V Voo - 0.4 ClK output, IOH = -4mA V IOH = -4mA 0.45 V IOL =4mA -1.0 1.0 p.A -400 1.0 p.A RDYSYN input Voo -0.8 Power dissipation, Po (DIP) Exposure to Absolute Maximum Ratings for extended periods may affect device reliability; exceeding the ratings could cause permanent damage. Max Unit Conditions V 0.25 Power supply current (static) 100 200 p.A Power supply current (dynamic) IDDdyn 30 mA fin = 24 MHz Capacitance TA = 25°C; Voo = +5V 4 Parameter Symbol Input capacitance Cln Min Max Unit Conditions 12 pF f = 1 MHz NEe pPD71084 AC Characteristics = -40 to +85°C; VDD 5 V ± 10% TA Parameter Symbol EXFS high tEHEL Min Max Unit Conditions 16 ns At2.2V Parameter Symbol Max Unit ClKto RESET delay tCLlL 40 ns ClK to PRClK t delay tCLPH 22 ns 22 ns Min Conditions EXFS low tELEH 16 ns At 0.8V EXFS period tELEL 40 ns 35 ns ClKto PRClK .!.delay tCLPL tRWCL, tRWCH -5 22 ns 0 ns OSC ClKt delay tOLCH RDY1, 2 hold to tCLR1X ClK.!. 2 35 ns tRSYVCL 50 ns OSC ClK.!. delay tOLCL RDYSYN setup to ClK.!. 20 ns 0.8 to 2.0V 0 ns Signal rise time (except ClK) ~H RDYSYN hold to tCLRSYX ClK 12 ns 2.0 to 0.8 V tA1RW 15 ns Signal fall time (except ClK) tHL REN1, 2 setup to RDY1, 2 REN1,2 hold to tCLA1X ClK.!. 0 ns CKSYN setup to tYHEH EXFS 20, ns XTAl frequency RDY1, 2 setup to ClK.!. 12 CKSYN hold to tEHYL EXFS CKSYN width 25 MHz (1) Test points are specified in accordance with V-Series CMOS peripherals. (2) Test points are specified in accordance with the 20 ns Timing Waveforms 2tELEL ns 65 ns RESI N hold to ClK tCLl1H 20 ns ClK cycle period tCLCL 125 ns ClK high tCHCL 41 ns 3V, fosc 24 MHz (Note 1) ns 1.5V, fosc s 24 MHz (Note 2) 2/3 (tCLCU -15 ClK rise and fall time tCLH, tCHL PRClKhigh tPHPL tCLCL - 20 ns (Note 3) PRClKlow tpLPH tCLCL - 20 ns (Note 3) 10 Test Points 0.8 V RESIN: Input high level Input low level 3.00 V 0.45 V 2V 2. 0.8 V Measurement point Measurement point X= 2.6 V 0.8 V 83-004046A AC Test Output (Except CLK) ==>{2.2V 0.8 V Test Points 2V 2. 0.8 V X= 83-004047A CLKOutput ns 1.5 to 3.5 V, 3.5 to 1.5V READY inactive tRYLCL to ClK! 8 ns READY active to ClK t 8 ns tRYHCH = ns 1.5V, fosc = 24 MHz (Note 1) 68 v ==>{ 2.2 v 0.45 V ns 1.5V, fosc s 24 MHz (Note 2) 1/3 (tCLCU +2 tCLCH D AC Test Input (Except RESIN) 2.6 ClKlow ~PD8284. (3) tpHPL + tpLPH total must meet a minimum of 250 ns. RESIN setup to tl 1HCL ClK tYHYL Notes: 83YL-7024A 5 NEe pPD71084 eLK, RESET Signals ClK PRClK ---I-.I-o----tPHPL----+--+l CKSYN ~~-----~--------~ ~r---t RESET Note: (1 J VtN to 0.8 V or 2.2 V to VIN (2J 1.5 V to 3.0 V or 3.0 V to 1.5 V 83-000'988 6 NEe pPD71084 READY Pin (RDSYN = High) ClK RDY1, RDY2 _ _ _ _ _ _ _ _ _- . 1 REN1,REN2 ------~ RDYSYN _ _ _ _ _ _ _ _ _.1 --------~l'~-----------READY---------------83-0001999 READY Pin (RDSYN = Low) ClK RDY1, RDY2 - - - - - - - - - - REN1, REN2 - - - - - - - " " " " RDYSYN -------------~ READY _______________,""c, I~I- - - - - - - - - - 93·70259 7 NEe pPD71084 Test Circuit for CLK to READY (EXFS Oscillation Mode) Test Circuit for CLK High or Low Time (Crystal Oscillation Mode) Vee .----_-~ X1 ClK ClK FIX REN1 '---+----1 X2 71084 . -........--,---1 EXFS FIX READY CKSYN 71084 83-004173A 1 - - - - - - 1 R DY2 Test Circuit for CLK to READY REN2 (Crystal Oscillation Mode) CKSYN 83-004176A Vee ClK REN1 Loading Circuits ,....---+---1 X1 Load 2 Load 1 ' - - -.......---1 X2 I READY 71084 ~---tRDY2 F/i( OSC REN2 83-004174A Test Circuit for CLK High or Low Time (EXFS Oscillation Mode) Vee ClK 71084 r - - - - t EXFS CKSYN 83-004175A 8 FLPFl CL = 100 71084 Output except ClK 1C'~30PF 83-004177A CKSYN FIX 71084 NEe pPD71086, 71087 8·Bit Bus Buffer/Drivers NEG Electronics Inc. Description Pin Configurations p.PD71086 and p.PD71087 are 8-bit, bidirectional bus buffer/drivers with three-state outputs. The system bus outputs are noninverted (p.PD71086) or inverted (p.PD71087). These devices are used to expand CPU bus drive capability. The input/output lines are isolated from OE and BUFR/W switching noise. 20-Pin Plastic DIP and SOP voo SBo/SBo SB1/SB 1 SB2/SB 2 Features SB3/SB 3 o CMOS technology SB4/SB4 SBs/SBs SBs/SBs o Bidirectional 8-bit parallel bus buffer SB7/SB7 BUFRtW o Three-state output o High system bus-drive capability (IOL = 12 mA) o Compatible with p.PD70108/116, p.PD70208/216, and other CMOS or NMOS designs 83SL·6912A Pin Identification Symbol o p.PD71086: noninverted system bus output Function CPU local I/O data bus, bits 7-0 p.PD71087: inverted system bus output System I/O data bus, bits 7-0; noninverted (,uPD71086) or inverted (,uPD71087) o Single +5 V ±10% power supply o Industrial temperature range: -40 to +85°C Output enable input BUFR/W Ordering Information Buffer read/write input Part Number Package Output Voo +5 V power supply ,uPD71086C 20-pin plastic DIP (300 mil) Noninverted Vss Ground G ,uPD71087C G 50152 20-pin plastic SOP 20-pin plastic DIP (300 mil) 20-pin plastic SOP Inverted NEe pPD71086, 71087 PIN FUNCTIONS OE (Output Enable) LB7-LBo (Local Data Bus) OE input controls the output buffers. When OE is high, all output buffers go to the high-impedance state. When OE is low, data is output from the buffers specified by the BUFR/W signal. LBrLBo are three-state inputs/outputs that connect to the CPU local data bus. They move data between the CPU and memory, I/O, or other peripherals. Data read/ write mode is controlled by the BUFR/W signal input. SB7-SBO/SB7-SBo (System Data Bus) SB 7 -SBoISB 7 -SB o are three-state inputs/outputs that connect to the system bus, along with the memory, I/O, or other peripherals. The p,PD71086 causes no signal inversion, the p,PD71087 inverts the signal. Input/output condition is determined by BUFR/W status. See table 1. BUFR/W (Buffer Read/Write) The data read/write mode is controlled by the BUFR/W signal input. When BUFR/Wis, high, LB lines are inputs and SB lines are outputs. When BUFR/W is low, SB lines are inputs and LB lines are outputs. See table 1. Table 1. Data Read/Write Mode OE BUFR/W LB Pins 5B/SB Pins Mode Low Low Output Input System bus to local bus Low High Input Output Local bus to system bus High Don't care High-Z High-Z p.PD71086, 71087 Block Diagram "PD71086 "PD71087 6E 0--....-------, 6E 0--....------, BUFR/W o--_--~+-~ r-------' LBO o-----+-~ I ~---+---o SBo LBO I ~-----------...j LB1 o-------J ~ L ___________ J I LB2 ~ SB, LB, ~SB2 ~ o-------l ~ LB6 LB7 ~ SB4 ~SBs 1---------------1 o----J ~ SB7 L __________ -1 ~ SB, I LB3 o--------j LB4 ~-------------l o-------l LB s 1------------1 I I Q--------j r-----<> SBs I-----------...j SB3 L-----------~ ~ SB6 o-----i 0-------1 LB2 t-----------~ LBs I t- - - - - - - - - - - - I ~ 1-------0 SB2 ~-----------...j L B4 I I I o-----l ....----+---0 SBo I I 1------------, ~-------------1 LB3 o----J.---. t--------o t--------o S B3 SB4 ~------------I LB6~ ~SB6 ,-----------1 LB7 0----1 ~ SB7 L __________ -.J 83-0011418 2 NEe pPD71086, 71087 ELECTRICAL SPECIFICATIONS Absolute Maximum Ratings TA = 25°C; Vss AC Characteristics = -40 to 85°C; Voo = 5 V ±10% = OV TA Power supply voltage, Voo -0.5 to +7.0 V Input voltage, VI -1.0 to Voo + Output voltage, Vo -0.5 to Voo + 0.5 V Power dissipation, Po DIP SOP 1.0 V 500mW 200mW Operating temperature, TOPT Storage temperature, TSTG -65 to +150°C Exposure to Absolute Maximum Ratings for extended periods may affect device reliability; exceeding the ratings could cause permanent damage. Capacitance Parameter Symbol Min Max Units Conditions Input to output delay tOIO 5 40 ns Load (1), (1') and (2), (2') BUFR/W hold time from OE tHCTRW 5 ns BUFR/W setup time to OE tSRWCT 10 ns Data float time from DE tFCTO 5 30 ns Load (3) and (3') --------------~------------------ Data output delay from OE tOCTO 10 40 ns Signal rise time tR 20 ns 0.8 to 2.0V Signal fall time tF 12 ns 2.0 to 0.8V TA = 25°C; Voo = +5 V Parameter Symbol Min Max Units 24 pF Input capacitance Conditions fc = 1 MHz Loading Circuit for AC Test LB to SB/SB 2.87 V DC Characteristics TA [2J [1J [3J = -45 to +85°C; voo = 5 V ±10% Parameter Symbol Min Max Units Conditions Input voltage high VIH Input voltage low VIL Output voltage high VOH Output voltage low VOL Output voltage low VOL 2.2 V 0.8 Voo -0.8 V V 10H V = -4mA 0.45 V IlL -1.0 1.0 p.A = 4mA SB, 10L = 12mA VI = Voo, Vss Leakage current, high impedance 10FF -10 10 p.A OE Power supply current (static) 100 80 p.A VI = Voo, VSS loodyn 40 mA fin = 2 MHz Input leakage current Power supply current (dynamic) 0.45 0"' LB, 10L 1"'" 206 n Out Out 306 n 0------.----, 675 n SB/SB to LB = Voo 2.05 V [1'J [2'J [3'J 4130 Out Out 1'"'" 1008 n Out roo"' 876 n 1100PF -=83-001137A 3 NEe pPD71086, 71087 AC Test Voltages X 2AV ---"""90,...O,..,..Yo..... OAV 10% Test Point 1.5 V * 't;;;....._ _ _ _ _ _ _ _ _---J =r.VO_H-_O.1 '-_ _ _ _..:=:J v_ _ _ ~ VOZ +0.1 V VOL +0.1 V VOZ -O.1 V 83YL·7002B Timing Waveforms BUFRIw tHCTRW Input Output ----------....(1 83ML·615OB 4 NEe pPD71088 System Bus Controller NEG Electronics Inc. Description 20-Pin Plastic SOP The p.PD710SS is a CMOS system bus controller for a p.PD7010S (V20@) or p.PD70116 (V30@) microprocessor system. It controls the memory or I/O system bus. lOB BSO BS1 BS2 BUFR/W Features o CMOS technology DBEN AEN CEN iiii'fAi( AMWR MWR o Command outputs for system bus control Vss o Control outputs for I/O peripheral bus control ICE/PBEN ASTB MRD o Bus controller for microcomputer system expansion Voo ClK lORD AIOWR 10WR 83-004058A o High drive capability for command and control outputs (IOl = 12 mA) Pin Identification o Three-state outputs for command outputs o Advanced I/O and memory write command outputs o p.PD7010S, p.PD70116 compatible Symbol Function lOB Input/output bus mode input ClK Clock input o +5-volt ± 10% single power supply BS1 Bus status input 1 o 20-pin plastic DIP (300 mil) or SOP package BUFR/W Buffer read/write output o Industrial temperature range: -40 to +S5°C ASTB Address strobe output Address enable input Ordering Information Memory read output Part Number Clock (MHz) Package Type ,uPD710aac-a a 20-pin plastic DIP C-10 10 G-a a 20-pin plastic SOP Advanced memory write output Memory write command output Vss Advanced I/O write command output Pin Configurations I/O read command output Interrupt acknowledge output 20-Pin Plastic DIP CE N Command enable input DBEN Data buffer enable output ICE/PBEN Interrupt cascade enable/Peripheral data bus enable output OBEN BS2 Bus status input 2 CEN BSO Bus status input 0 Voo Power supply Voo BSO BS2 ICE/PBEN iNTAK lORD AIOWR 10WR 83-004181 A V20 and V30 are registered trademarks of NEC Corporation. 50151 Ground I/O write command output NEe II PD71088 PIN FUNCTIONS 10WR (I/O Write Command) BSO-BS2 (BuS Status Inputs '0, 1, 2) The 10WR output is the signal to write data to an I/O device. 10WR is three-state, active low. The BSO-BS2 inputs are connected to the encoded .cPU status outputs. The I'PD71088 decodes these status outputs into command and 'control outputs for timing control. See table 1 f~r an explanation of. these inputs. ClK (Clock) AEN (Address Enable) The AEN input controls the command output buffers. When lOB is low, a low-level AEN causes the command buffers to output command output signals. A high-level AEN makes'all command lines go to high impedance. When lOB is high, the I'PD71088 is in I/O bus mode, and the command lines are not affected by AEN . CEN (Command Enable) The CEN input controls DBEN, PBEN and all command outputs. When CEN is high, all these outputs are active. When CEN is low, they are inactive. lOB (I/O Bus Mode) When the lOB· input is high, the bus control mode is I/O bus mode. When lOB is low, the bus control mode is system bus mode. Rea~ The INTAK output acknowledges interrupt requests. Requesting devices output an interrupt vector address in response to INTAK. INTAK is three-state, activ~ low. ASTB (Address Strobe) The ASTB output control signal. latches the address outputs from the CPU into an external address latch, such as a I'PD71082 or I'PD71083. Address data should be strobed with the trailing edge (high to low) of ASTB. DBEN (Data Buffer Enable) The DBEN output activates a data bus buffer/driver such as a I'PD71086 or I'PD71087 to input or output data between the CPU local bus and the memory or I/O system bus. . BUFR/W (Buffer Read/Write) The BUFR/W output controls the direction in which data moves' through a transceiver between the CpU and the memory or I/O peripherals. When BUFR/W is high, data is transferred from the CPU local bus to the memory or I/O system bus. When BUFR/W is low, data is transferred from the memory or I/O system bus to the CP.U local bus. Command) The MRD output is the signa:! to read data from a memory device. MRD is three-state, active low. MWR (Memory Write Command) The MWR output is the Signal to write data to a memory device. MWR is three-state, active low. AMWR (AdvanCed Memory Write Command) This command output is the same as MWR, except that it is generated one state (clock cycle) earlier than MWR. lORD (I/O Read Command) The lORD output is the signal to read data from an I/O device. lORD is three-state, active low. 2 This,command output is the same as 10WR~ exceptthat it is generated one state (clock cycle) earlier than 10WR. INTAK (Interrupt Acknowledge) The ClK input is connected to the same Clock output that drives the CPU ciock, usually the ClK output of a I'PD71084 or a I'PD71011. It is the internal system clock of the I'PD71088. MRD (Memory AIOWR (Advanced I/O Write Command) ICE/PBEN (Interrupt Cascade Enable/Peripheral Data Bus Enable) The meaning of this output signal depends on lOB. If lOB is low (system bus" mode), it is the ICE output. ICE controls the cascade address transfer from a master priority interrupt controller to slave priority interrupt controllers. The slave reads the add ress from the master when ICE goes high. , When lOB is high, it becomes PBEN. PBEN controls the I/O bus the same way that DBEN controls the system bus. In this case, however, the output is active low. NEe pPD71088 Block Diagram MRD ~{ Input MWR BS2 AMWR Command Process Status Decoder BS1 Command Output lORD IOWR BSO AIOWR INTAK ~-{ Signal Input ClK }e,_, BUFR/W AEN DBEN Control Process CEN Output ICE/PBEN ASTB lOB 49-0003668 Absolute Maximum Ratings Capacitance TA = 25°C; Vss = OV TA = 25°C; Voo = +5 V Power supply voltage, VOO -0.5 to +7.0 V Input voltage, VI -1.0 to Voo + 1.0 V Output voltage, Vo -0.5 to Voo + 0.5 V Operating temperature, TOPT Parameter Symbol Min Input capacitance Max Units 12 pF Conditions f = 1 MHz -40 to +85°C Storage temperature, TSTG -65 to +150°C Power dissipation, Po (DIP) 500mW Power dissipation, PD (SO) 200mW Exposure to Absolute Maximum Ratings for extended periods may affect device reliability; exceeding the ratings could cause permanent damage. DC Characteristics TA -40°C to +85°C; Voo = 5 V ±10% Parameter Symbol Min Input voltage, high VIH 2.2 Input voltage, low VIL Output voltage, high VOH Output voltage, low VOL Input current leakage Max Unit 0.8.- VOD -0.8 0.45 V V Controls: IOH -8 mA @ 10 MHz, -4 mA @ 8 MHz V Commands: IOL = 24 mA @ 10 MHz, 12 mA @ 8 MHz Controls: IOL = 8 mA@ 10 MHz, 4 mA@8 MHz IlL -1.0 1.0 p.A Leakage current at high impedance IOFF -10 10 p.A Power supply current (static) 100 80 p.A loodyn 20 mA Power supply current (dynamic) Conditions V = fin = 10 MHz 3 NEe pPD71088 AC Characteristics TA =-40 to +85°C; voo = 5 V ±10% I'PD71 088 Max I'PD71088C-10 Parameter Symbol Min ClK cycle period tcVCK 125 ClK pulse width, high tpWCKH 40 41 ns ClK pulse width, low tPWCKL 60 49 ns Setup time for bus status active to CLK l' tSBSV 40 35 ns Hold time for bus status inactive from CLK ~ tHBSV 10 10 ns Setup time for bus status inactive to CLK .j. tSBSIV 35 35 ns Hold time for bus status inactive from ClK i tHBSIV 10 10 ns Command active delay from ClK ~ toCML 10 40 10 35 Command inactive delay from ClK ~ toCMH 10 ·40 10 35 ns Command output on delay from AE N .j. toAECM 40 ns Command active output delay from AE N .j. toAECML 200 ns 20 ns tOCML ns 20 ns 40 100 295 tFAECM 50 Command active delay from CE N l' toCECM tOCML ASTB active delay from CLK ~ toCKSTH 30 ASTB active delay from BS2, 1, 0 toBSST DBEN, PBEN active delay from ClK ~ DBEN, PBEN inactive delay from ClK i Max 100 Command disable delay from AE N i ASTB inactive delay from ClK i Min 115 Units ns 20 ns toCKSTL 7 25 7 25 ns toCTV 10 50 10 35 ns toCT 10 50 10 35 ns 25 DBEN, PBEN active delay from AEN ~ to AECT 30 30 ns DBEN, PBEN active delay toCECT 30 30 ns BUFR/W i delay from CLK i tOCKWR 40 40 ns BUFRIW ~ delay from ClK i toCKRo 60 40 ns ICE active delay from ClK ~ toCKIC 30 30 ns ICE active delay from BS2, 1,0 toBSIC 25 20 ns ICE inactive delay from CLK ~ tolCL Input rise time tRI Output rise time 40 ns 20 20 ns tRO 20 20 ns Input fall time tFI 12 12 ns Output fall time tFO 12 12 ns 4 10 50 10 Conditions ns IOL = 4 mA IOH = -4 mA CL = 100 pF 0.8Vto 2.0V 2.0 Vto 0.8 V NEe #,PD71088 Timing Waveforms General ClK BSO, BS1, BS2 tOCML_ tOCML- ASTB BUFIi/W +------Write Mode--------t----<~I DBEN tOCTV tOCK1)C. tOBSIC ------. ICE Note: The rising edges of ASTB and ICE are determined by the last event: ClKI or bus status going active. 83-0040568 5 NEe pPD71088 Timing Waveforms (cent) DBEN, PBEN, and Command Output lOB / _---J }~ \t}r- CEN ~. tOAECT DBEN tOCECT- - I~ ;'- . -tOCECM_ _I tOAECML _I tOCECM - - tFAECM - - - -T \ ~ 83-0040576 AC Test Input 2.4 V 0.45 V }"- ~, +- Command Outputs -- -'r- tOCECT- Output Test Loads =x Voo 2.2 V Test Points 2.2 V ) C ... 0;,;;.8..;V_ _ _ _ _ _ _ _ _ _ _... O.;,;;8..... V. 4700 83-004055A AC Test Output =x 2.2 V _0~.8~V~ -::- 820 0 2.2V)C _ _ _ _Test _ _Points _ _ _ _ _ _ _... I 200 pF Voo 0;,;;.8~V 1.2 kO 83-004D47A -::- 1 kO r100 pF Notes: [1] For co~d outputs MRD. lORD. MWR, IOWR, INTAK, AMWR, and AIOWR. [2] For other outputs. 83-004182A 6 NEe pPD71088 FUNCTIONAL DESCRIPTION Table 1. Command Logic ~PD71088 Command Logic The PD71088 decodes the CPU bus status outputs into command outputs. The bus status outputs (BSO-BS2) and their decoded commands are shown in table 1. Bus Control Mode The CEN, lOB, and AEN signals control the bus controller mode as shown in table 2. BS2 BS1 BSO CPU Status Command Output Low Low Low Interrupt acknowled ge INTAK Low Low High I/O read mode lORD Low High Low I/O write mode IOWR,AIOWR Low High High Halt mode None High Low Low Instruction fetch mode MRD High Low High Memory read mode MRD High High Low Memory write mode MWR,AMWR High High High No bus cycle mode None Table 2. Bus Control Mode Control Input Control Output Command Output Memory I/O CEN lOB AEN MRD, MWR, AMWR IOWR, AIOWR, lORD, INTAK ICE/PBEN ASTB, BUFRrw, DBEN H H H High impedance Outputs enabled (NC) PBEN (NC) Outputs enabled (NC) ICE (NC) Outputs enabled (NC) (110 bus mode) H L (Command disable mode) L Outputs enabled L (System bus mode) H High impedance High impedance L Outpus enabled Outputs enabled x x H H Note: x = Don't care, NC = No change, H PBEN =H Outputs enabled (DBE N = L:ASTB, BUFR/W are NC) = High, L = Low 7 II fJPD71088 NEe NEe pPD71641 Cache Memory Controller NEG Electronics Inc. Description Features The pPD71641 is an LSI cache controller chip offering advanced features, unequaled flexibility, and built-in reliability to system designers. The pPD71641 makes it practical and economical to use sophisticated caches in microprocessor-based systems. o General-purpose interface supports highperformance microprocessors The implementation of pPD71641 is transparent to the application program. The pPD71641 is configurable from direct-mapped to 4-way set-associative mapping. The pPD71641 allows up to 128K bytes of cache memory. Cache updating is made efficient with sub-block partition and burst mode features. The pPD71641 can be easily used with many generalpurpose, high-performance 32-bit or 16-bit microprocessors. Its architecture is suitable for multiprocessors and multi master environments. Cache data consistency is ensured by bus monitoring and dual comparator techniques. The pPD71641 uses a write-through strategy to update main memory, which guarantees the best cache consistency in a multiprocessor and multimaster system. External data storage is flexible in size and organization. The pPD71641 will work with any word width. The pPD71641 is unique in offering features to implement a highly reliable cache memory subsystem. The pPD71641 provides built-in reliability checks, such as address tag parity check, multiple hit detection, and self-diagnosis for directory faults. Upon detection of an erroneous condition, the pPD71641 can either be disabled, or continue to operate in a functionally degraded mode. o Transparent to application programs o Flexible placement algorithm: direct 2-, 4-way setassociative o Large tag memory configuration: - 1024 sets x 1 way x 2 sub-blocks -512 sets x 2 ways x 2 sub-blocks - 256 sets x 4 ways x 2 sub-blocks o Programmable sub-block size up to 64 bytes o Bus replacement cycle variable from 1 to 16 words o Supports large cache memory up to 128K bytes o Supports up to 4G bytes of main memory o LRU replacement algorithm o Write-through strategy o Data consistency check by bus monitoring o External PURGE input to flush tag store o Increased reliability through internal error detection - Parity check on tag store -Incorrect match check - Multiple hit check - LRU output check o Unique level degradation feature to maximize cache system up time o 16- and 20-MHz operation o 132-pin PGA package Ordering Information Part Number pPD71641R 50135-1 Max Clockout Frequency Package 25 MHz 132-pin Ceramic PGA NEe JlPD71641 Pin Configuration 132-Pln Ceramic PGA PNML KJ HGFE DCBA o 0 0,0 0 0 '0 0 0 0 0 0 0 0 14 00000000000000 13 00000000000000 12 o 00 11 0 0 0, 000 o 00 10 o 00 9. 9 000 o 00 8 8 000 pPD71641 o 00 7 7 000 o 00 6 6 000 o 00 5 5 000 e 0 00 4 4 000 3 o 0 0 000 0 00 0 0 0 0 0 3 200000Qoooooooo 2 10000000000000.1 14 13 12 11 10 P N M L K J H G FED C BA Pin Symbol MAg K14 MAs l1 MA25 03 MAa l2 MA28 012 GNO l3 MAa1 013 As l12 Aao 014 Ag l13 A27 E1 MA12 l14 A24 E2 MA10 M1 MA26 E3 MA7 M2 MAao E12 A7 M3 GNO E13 A 10 M4 BOY E14 A12 M5 OPAR MA14 M6 GNO e Orientation Pin F2 MA13 M7 VOO Index Mark F3 MA11 M8 GNO F12 A11 M9 msg F13 A13 M10 10 F14 GNO M11 VDO G1 MA16 M12 GND G2 MA15 M13 'Az3 G3 GNO M14 A25 G12 A14 N1 MA29 G13 A15 N2 VDO G14 A16 N3 ~ H1 MA17 N4 BYPf H2 MA18 " N5 PURGE H3 MA19 N6 FAULT H12 A18 N7 OlK H13 Voo N8 CR3 83-004660A Pin Identification Pin Identification Pin Symbol Pin Symbol A1 lffim B9 10 A2 01 A3 mR lV\S Pin B10 Symbol RBOY A5 R02 B11 'OW2O A6 RAO B12 CR21 A7 RA2 B13 A8 RA3 B14 A10 A11 A12 A13 VOO k 10 01 MAs l3Ef!fR 02 M~ AT/BY 03 Voo m:IDY 04 GNO CR20 05 02 Aa 06 B1 Mk 07 VOO B2 GNO 08 GNO B3 Do 09 B4 03 010 B5 R01 011 B6 R03 012 B7 RA1 013 ~ B8 10 014 As A14 2 ~1 01 F1 • A9 . Symbol 02 Bottom Vie';'; A4 Pin ROO BRO ~ CW21 GNO H14 A17 N9 ~ J1 MA20 N10 "CW3 J2 MA21 N11 10 J3 MA23 N12 AHIT J12 A22 N13 GND J13 ~o N14 A28 J14 A19 P1 RJW K1 MA22 P2 OM) K2 MA24 P3 RESET K3 MA27 P4 FATAL K12 A26 P5 OlAMP K13 A23 P6 'CRO NEe pPD71641 Pin Identification (coot) Pin Symbol Pin Symbol P7 CR1 00 'CWO "CW2 P11 SYPO P12 Ie P13 tROY Aa1 P8 P9 P10 P14 PIN FUNCTIONS CPU Interface A3-A31 (Address Bus). CPU address outputs are connected to these inputs. Depending on cache organization, from. 8 to 10 of the low address bits are used to select a set of tags. These inputs are latched internally once a p.PD71641 cycle begins. is asserted, the p.PD71641 will treat the cycle as noncacheable, and assert BYPO. The cache memory is not accessed. DPAR (Data Parity). This active-high input signals that an error has occurred in the cache data store. When these errors are received, the p.PD71641 will disable the current level and enter a functionally degraded mode. That is, if a parity error occurs in bank 3 of a 4-way set-associative cache memory, level 3 will be disabled. AHIT (Asynchronous Cache Hit). This active-high asynchonous output is. asserted when the current address inputs (Aa-A31)' produce a tag match, indicating that the data being accessed is mapped into the cache data store. BCY (Bus Cycle Start). This active-low input is sampled on the rising edge of ClK It indicates that a CPU cycle is ready to be submitted to the p.PD71641. When BCY is detected, the p.PD71641 will begin its cycle. CRDY (CPU Ready). This active-low output can be used to sign~1 the CPU that the bus cycle can be ended. CRDY is asserted when the. cycle is a cache hit, when the requested data is available at the end of a cache update cycle, when a CMD access is completed, or when a bypass cycle has completed (actually controlled by external logic via the SRDY input). CS (Chip Select). This active-low input is sampled on the rising edge of ClKlf this pin is not asserted, then the cache will not operate. This input is used to separate cacheable (e.g., memory access) and non-cacheable (e.g., I/O) CPU bus cycles. If this input is not asserted, BCY is ignored, but CMD operations can still take place and the bus monitor function continues to operate. MISS (Cache Miss). This active-low output is asserted when the p.PD71641 has detected a cache miss on a CPU read cycle. It remains asserted throughout the cache update operation. MISS is distinct from AHIT because it is synchronous to the ClK, while AHIT is not. MISS is also asserted when an internal error. forces a cache update, or if a cache bypass cycle is aborted by BERR. ~ R/W (Read/Wrlte). This input is used to separate CPU read cycles from CPU write cycles, since the p.PD71641 handles each type of cycle differently. If this input is low when BCY is sampled, a cache write operation will begin. If RiW is high, read operation will begin. This input is also used during CMD accesses. BYPO (Bypass Out). This active-low output indicates to external hardware that the current CPU bus cycle will bypass the cache memory. Either the address is not cacheable, or the cycle is a memory write. In the case of a memory write, the data will be written in parallel to the cache memory. External logic must complete the bus cycle. This output is asserted whenever the BYPI input is ~sserted at the start of a cycle, during all cache writethrough cycles, and whenever the p.PD71641 is unable to complete a cycle due to an internal error condition. CMD (Command Mode). This active-low input is sampled on the rising edge of ClK It should be asserted when the CPU needs to access one of the p.PD71641's internal registers. Inputs RAO-RA3 select which internal register will be used. CMD overrides the BCY and CS inputs. CLAMP (Clamp Address Input). This active-high input prevents any problems due to a floating level on any p.PD71641 inputs. In the event it becomes necessary to float the inputs to the p.PD71641 (e.g., during,DMA), this input should be asserted. If this input is used, external pullup resistors will not be required. BYPI (Bypass In). This active-low input is sampled on the rising edge of ClK If this input is asserted when BCY FAULT (Fault). This active-high output indicates that the p.PD71641 is operating in a functionally degraded mode, that is, some portion of the tag store has been disabied due to an internal or external error. FATAL (Fatal Fault). This active-high output in conjuction with FAULT indicates the status of the p.PD71641. If an unrecoverable internal error occurs, and the p.PD71641 removes itself from the system, this output will remain asserted. RAO-RA3 (Replacement Address). These inputs select the internal register for a CMD access. They also supply the starting offset for a fetch bypass operation. During 3 11:61 NEe IIPD71641 normal replacement operations, the replace cycle begins at an offset of O. If fetch bypass is enabled, the first bus cycle of the replacement will be to the address determined by these inputs, so that the data requested by the CPU will be available as soon as possible. 00-03 (Data Bus). These bidirectional pins form the 4-bit data bus used to access the p.PD71641 internal registers. This bus is also used to output tag store contents during a cache directory dump operation. CRO-CR3 (4-Way Cache Read Strobes). When a 4-way set-associative cache organization is selected, these four active-low outputs select which of the four banks of cache data storage will supply the data on a CPU read cycle. They are also asserted during a cache memory dump operation. CR20-CR21 (2-Way Cache Read' Strobes).When a 2way set-associative cache organization is selected, these two active-low outputs select which of the two banks of cache data storage will supply the data on a CPU read cycle. ' They are also asserted during a cache memory dump operation. These outputs are also used for directmapped caches. CR20 and CR21 must be logically ORed with external logiC to produce a single read strobe for the one bank of RAM. CWO-CW3 (4-Way Cache Write Strobes). When a 4way set-associative cache organization is sele,cted, these four active-low outputs select which bank of the cache data store will be written during a CPU write cycle. CW20-CW21 (2-Way Cache Write Strobes). When a 2-way .set-associative cache organization is selected, these two active-low outputs select which bank of the cache data store will be written during a CPU write cycle. These outputs are also used for direct-mapped caches. CW20 and CW21 must be logically ORed with external logic to produce a single write strobe for the one bank of RAM. Bus Monitor Interface MAS (Bus Monitor Address Strobe). This active-low input is sampled on the riSing edge of ClK. When it is sampled low, the p.PD71641 will begin a cache invalidate cycle on the address presented on inputs MAs-MAs1. Each' check-and-invalidate operation takes two clocks. MA3-MA31 (Bus Monitor Address). These inputs. are sampled when MAS is sampled low. The system bus address lines should be logically connected to these inputs. 4 A write cycle to global memory could change a memory location that has been cached. If this happens, the data in the local cache is no .longer consistent with global memory. To ensure cache data consistency, the p.PD71641 provides bus monitoring. When an address is presented on these MA inputs, the p.PD71641 will perform a tag search on that address. If a high is detected, the indicated sub-block will be invalidated. This tag search operation is completely independent from the CPU address tag search, since the p.PD71641 tag store is fully dual-ported with two sets of comparators. MAa-MAa1 become outputs during cache' dump operations, supplying the upper address bits for the dump. System Bus Interface RREQ (Replacement Request). This active-low output is asserted when the p.PD71641 wants to use the global bus for· a cache data replacement cycle or for a cache directory or data dump operation. RACK (Replacement Acknowledge). This active-low input is asserted by the system bus interface when access to the shared memory for a replacement or a dump cycle has been granted. Once begun, replacement or dump cycles can be suspended by desserting this input. The p.PD71641 will interrupt the miss cycle, thereby releasing the global bus to a higher priority bus master, and will resume the interrupted operation when RACK is asserted again. Bus monitoring is disabled while the replacement or dump cycle is suspended. RAE (Replacement Address Enable). This active-low output indicates that the p.PD71641 has begun a cache data replacement cycle to service a cache read miss. This output should be used to control the multiplexing between the RC outputs and CPU address. Also, any other logic that changes during a replacement cycle should use the RAE signal. RCO-RC3 (Replacement Count). Sub-blocks can be up to 16 words in length. During a replacement cycle, the RC outputs provide the offset address in the sub-block. Depending on the size of the sub-block, not all these pins will be used. RBCY (Replacement Bus Cycle Start).This active-low output signals the start of a replacement bus cycle or a dump cycle. SRDY (System Ready). This active-low input is asserted by the system bus interface or shared memory control logic when the bus operation that the p.PD71641 requested has been completed. The p.PD71641 will pass this signal through to the CPU via its CRDY output. NEe BRC (Burst Replacement Cycle). This active-high input determines on a cycle-by-cycle basis if the replacement cycle is to use a burst data transfer. BERR (Bus Error). This active-low input signals a system bus error. If the current cycle is a replacement operation, RT/BY can be used to either abort the cycle or try it again. If the current cycle is a cache bypass (such as a CPU data write cycle), the ~PD71641 will assert its MISS output to let the CPU know that the operation did not complete. RT/BY (Retry/Bypass). When BERR has been detected, the p.PD71641 uses the state of this input pin to decide whether to abort the cycle (RT/BY = 0) or to retry the cycle (RT/BY = 1). This input is also used to implement external write buffering, or a "posted write" system write performance. Normally, during a CPU data write cycle, boththe CPU and the p.PD71641 are suspended waiting for the write cycle to end. However, if the RT/BY input is high, the p.PD71641 will not wait for SRDY. It will immediately end its internal cycle and go into the Ti state, allowing the p.PD71641 to begin processing the next CPU bus cycle if one is available. External logic can finish the write cycle. pPD71641 Other Signals RESET (Reset). This active-high input will reset the All tag stores will be invalidated, all preset commands will be cleared, and all status bits will be cleared. The cache will be disabled until enabled by the software command. RESET must be asserted for at least 10 clock pulses. ~PD71641. PURGE (Purge). This active-high input will purge all the tag stores when it is asserted. An identical softwaregenerated PU RG E operation is also available. PU RGE may be used to invalidate the cache tag store in the event the bus monitoring function is unable to keep up with external bus activity. The PURGE input must be asserted until the purge operation is complete. This takes a maximum of 5 clocks, so PURGE must be asserted for at least 5 clocks. CLK (Clock). This is the p.PD71641 clock and should be sychronized to the CPU clock. IC. Internally connected; leave disconnected. VDD. Supply pins for +5 V power supply. GND. Supply pins for power ground. Block Diagram elK RESET A 31-A3 DPAR FAULT FATAL L---------o L-_ _ _ _ _ _ _ _ _ _ _ _ _ ~ PURGE ~S BCY AHIT CADY 5 NEe JlPD71641 Figure 1. lIemery Size Expansion ' Cache Access Address A 83YL·6162B Figure 2. TypICllI System Configuration Main Memory 83YL·6163B 6 fttIEC INTERNAL BLOCK FUNCTIONS Dual-Port Address Tag Memory Dual-port address tag memory is dual-port memory that decodes the index field input Independently from the CPU side and monitor side and outputs the contents of the memory (block entry) as address tag. When a mis-hit occurs during CPU access, a new block address is registered. IIPD71641 CPU Interface Controller The CPU interface controller generates a normal/notnormal response (data acknowledge, bus error, fatal error, etc.). Replace Sequencer The replace sequencer regenerates the replace timing and replace count value when a mis-hit occurs. Valid Bit Memory Bus Interface Control Block Valid bit memory is a group of flags that indicate whether each block entry Is valid or Invalid. These flags are set each time the replacement of a sub-block Is completed, and reset upon a monitor hit. The bus Interface control block generates the read/write strobe signal to the external cache data memory. Comparators Two comparators are provided. One is for the CPU side and the other Is for the monitor side. The comparator on" the CPU side is used to check if the address tag registered In the directory coincides with the address used to access the system bus. Table 1 describes each of the bus states. Figure 3 Is a state diagram for the bus interface. Ts6/. 1. Sua Int.rlse. SIs'. Bu. State o..crlptlon TI Idle state. waiting for BeY and ~ to be asserted. T2 First state of any cacheable CPU cycle or 10 cycle to "PD71641 registers. T2 Is the dispatch state that decides what the "PD71641 will do. If there Is a cache hit or a 2-clock cycle request, T21s also the last active state. If there Is a miss, Tm Is entered. If this Is a cache write cycle, Tb Is entered. Tc Is entered If It Is a "PD71641 command cycle. Tc Command Mode state. If this Is a I'PD71641 command cycle, the Tc Is entered following T2, then repeated before returning to the Idle state. Tm Miss state. Entered If there Is cache read miss. The . . system bus Is requested, and the RTistate Is entered. If RACK Is already asserted, the AT state sequence Is entered. RTI Replacement Transfer Idle state. walts for the system bus to be granted via RACK, then transitions to AT1. Rn First Replacement Transfer state. While RACK Is on, proceeds directly to RT2. RT2 Second replacement transfer state. walts for SRl5Y to be asserted, Indicating the system bus memory Is ready to begin the transfer, the goes to RT3. RT3 Third RT state. The read data Is written to the cache data store, and If the sub-block transfer Is complete or the transfer Is aborted, the RTw state Is entered. If not complete, and burst transfers are not requested, a return Is made to RT1 to begin another single-word transfer. If In burst mode, RT41s enered to get the rest of the sub-block. If a retry Is requested, RTr Is entered. RT4 Fourth RT state. Used only for burst transfers, which take two clocks each. Until replacement Is complete, the state machine ping-pongs between RT4 and RT5. The data Is written at RT5. RT5 Last RT state. Accepts data from burst transfers. If the transfer Is over, RTw Is entered. On a retry request, RTr Is entered. Parity Generator The parity generator generates the parity for the address tag associated with CPU accessing, and compares it with the address parity registered in the directory. This compare operation Is performed simultaneously with the CPU address comparison. When a mis-hit occurs, the generated parity is registered together with the new address. Status Register The status register indicates reduction data related to parity errors or mUlti-hit errors. In addition, it also indicates whether or not the "PD71641 is in the fatal state. LRU and LRU Memory LRU and LRU memory manage the CPU block accessing order and perform LRU calculations based on valid bit, error status, number of associative units, etc. Main Sequencer The m~ sequencer decodes the bus cycle signals (BCY, CS, R/W, BYPI, CMD, etc.) generated by the CPU, and generates the timing for the basic cache memory operation cycle. The main sequencer determines whether the accessing is a cache memory access, a cache memory bypass access, or a cache command access. The main sequencer enters the standby state when the replace sequencer is in operation. 7 ~ NEe JlPD71641 Tabl. 1. Bus In'erface St.,.. Diagnosis Sequencer· (conI) Bus State Description RTr m retry state. nansltlons directly to Rn, which begins the cycle again. RTw RT recovery state. During this state, If the replacement was successful, the "PD71641 tag store Is updated. and the data thatthe CPU requested Is made avallable.lfthe cycle was aborted, the bypass state Is entered. Tb Bypass state. The bypass cycle was started by T2 soTb walts for the system memory to respond with SRDY, then returns to TI. Tf Fatal error state. If during Tm an unrecoverable error occurs. Tf Is entered to record the error. then a bypass cycle Is entered by going to Tb. The dlagnosis sequencer consists of the direetory trace sequencer and the internal diagnosis sequencer. The directory trace sequencer performs cache selfdiagnostics and dump processing. The internal diagno.sis sequencer sequentially generates the memory diagnostics data for the issuance of internal diagnostics commands. and the collects the data. Flgur.3. SIM Sta'. DIagram Always Not Burst Mode' Replacement Not Completed SRDY# Asserted Fatal Internal Error Replacement Completed + (BERR# Asserted, RT/BY# = 0) SRDY# Asserted Replacement Bus Error Abort Replacement Completed (BERR# Asserted; RT/BY# = 0) Replacement Completed Repeat Once 83YL-6288B 8 NEe pPD71641 ELECTRICAL SPECI FICATIONS AC Characteristics (cont) Parameter Symbol Absolute Maximum Ratings ClK low-level width ~KL ClK rise time tRK ClKfall time tFK TA = 25°C -0.5 to + 7.0 V Supply voltage,Voo Input voltage Min Max Unit 3 ns 1.7 to 3.0 V 3 ns 3.0 to 1.7V Other than ClK, VI1 -0.5 to Voo +0.3 V ClKVI2 -0.5 to Voo +1.0 V Number of reset clock tCYKRS 10 RESET setup time (vs. ClK.!.) tSRSK 7 ns RESET retention time (vs. ClK .!.) tHKRS 8 ns Number of purge clock tCYKPG 3 tCYK PURGE setup time (vs. ClK.!.) tSPGK 7 ns PURGE retention time (vs. ClK .!.) tHKPG 8 ns Address setup time (vs. ClK 1) tSAK 5 ns Address retention time (vs. ClK 1) tHKA 15 ns ~setuptime (VS. ClK 1) tSBCK 7 ns ~ retention time tHKBC 8 ns tSCSK 7 ns tHKCS 8 ns tSCMK 7 ns CMD retention time (vs. ClK 1) tHKCM 8 ns lWPi setup time tSBIK 7 ns tHKBI 8 ns tSRWK 7 ns tHKRW 8 ns CLAMP setup time (vs. ClK 1) tSCPK 25 ns CLAMP retention time (vs. ClK 1) tHKCP 0 ns RT/BY setup time (vs. ClK.!.) tSRTK 7 ns Output voltage, Vo -0.5 to Voo +0.3 V -10to +70°C -SO to + 15O"C Storage temperature range, TSTG Exposure to Absolute Maximum Ratings for extended periods may affect device reliability; exceeding the ratings could cause permanent damage. Capacitance TA = +25°C; Voo = GND = 0 V Parameter Symbol Min Max Unit Condition f = 1 MHz; unmeasured pins returned to OV Input capacitance CI 15 pF Output capacitance Co 15 pF Input/output capacitance CIO 15 pF DC Characteristics TA = -10 to +70°C; Voo Parameter = +5.0V::I:10% Max Symbol Min Input voltage, high VIH1 2.2 V1H2 4.0 Unit Condition Voo + 0.3 Voo + 0.3 V ClK Other than ClK CS' retention time (vs. ClK 1) VIL1 -0.5 0.8 VIL2 -0.5 0.6 V ClK Output voltage, high VOH 2.4 V 10H Output voltage, low VOL 0.45 V Input leakage current III ::1:10 p.A Output leakage current ILO Operating current 100 CS' setup time = -10 to CL = 100 pF (vs. ClK 1) = -400 p.A 'CMi5 setup time (vs. ClK 1) 10L = 3.2mA (vs. ClK 1) ::1:10 1WPi retention time p.A (vs. ClK 1) 250 mA fiN = 20 MHz RJW setup time (VS. ClK 1) RJW retention time AC Characteristics TA = 100 pF (vs. ClK1) Other than ClK V tCYK CL CPU Input V Input voltage, low = 1.7V VIL 2 Reset, Purge Operating temperature range, TOPT Condition ns 20 (vs. ClK 1) +70°C; Voo = +5 V ::1:5% Parameter Symbol Min Max Unit Condition Clock Clock frequency tCYK 50 ClK high-level width ~KH 20 125 ns ns VIH2 = 3.0V 9 NEe pPD71641 Replace/Bypass Timing Specifications AC Characteristics (cont) Parameter Symbol Min Max Unit Condition tHKRT 8 ns OPAR setup time (vs. ClKJ.) tSOPK 7 OPAR retention time (vs. ClK .1.) tHKDP 8 RT/BY retention time (vs. ClK J.) = 100 pF BRC setup time (ClKJ.) ns ns CL CPU-Side Output Timing Specifications Parameter Symbol Max Unit Add valid - AHIT delay tOAAH 50 ns ClK .1. - 'OFIDV valid delay tOKCRY 25 ns ClK J. - ~ valid delay tOKMS 25 ns tOKBO 25 ns tOKCRL 25 ns tOKCRH 25 ns tOKCW 25 ns ClK t - ~ - CR21 J. delay tOKCR2L 25 ClK J. - ~ - 'Ci121 t delay tOKCR2H 25 ClK t ClK t ClK J. ClK J. - BYJ50 valid delay CRO - 'OR3 J. delay CRO - 'OR3 t delay 'CWO - mv3 valid delay 'CW2O- 'OW21 delay Condition = 25pF CL = 100pF CL 8 ns ClKt-lmEO valid delay tOKRRQ mR setup time (ClK.1.) tSRKK 7 ns mRholdtlme (ClKJ.) tHKRK 8 ns AAE valid 25 tOKRC 25 ns ClK t - RC float delay tFKRC ns SRD'Y setup time tSSRYK 7 ns ns (ClKJ.) SRI5Y hold time tHKSRY 8 ns tSBEK 7 ns tHKBE 8 ns tOKFL 25 ns §Ei1R setup time ns CL RAO-RA3 hold time (ClK 1) tHKRA 10 ns 00-03 setup time (ClK 1) tSOK 15 ns 8 ns ns ns 00-03 float delay tFKD MA hold time (ClK J.) tHKMA 8 ns MA setup time (ClK J.) tSMAK 15 ns MAS' hold time (ClK.1.) tHKMS 10 ns MAS' setup time (ClK J.) tSMSK 10 ns ns (ClKJ.) ~holdtlme (ClKJ.) Symbol Min Max Unit Conditions 10 = 100 pF (ClKJ.) Command Access/Bus Monitor Timing Specifications RAO-RA3 set·up time (ClK 1) tSRAK ClK J. delay Conditions CL ns ClK t - RC valid delay ClK t - FAULT valid delay 10 tHKBR ns ns 25 BRC hold time (ClKJ.) 25 ns tOKD tSBRK ns tOKRB 25 tHKD Unit ClK t - 'FfBOY valid delay 25 00-03 hold time (ClK 1) Max 7 ns tOKFT 00-03 valid delay Min 25 tOKCW2 Parameter Symbol tOKRAE ClK t - FATAL valid delay ClK J. - Parameter = 100 pF DUMP Timing Specifications Parameter Symbol ClK J. - M~·MAa1 delay tOKMA ClK J. - MAa·~A31 floating tFKMA Min Max Unit 25 ns ns Conditions CL = 100 pF NEe pPD71641 Timing Waveforms Resel/PU'1Ie Timing AC Test IlIIOutput (except CLK) 2.4 V 0.45V --y. 2.2 V 2.2 V V- ~...;0.;.;..8....;.V_ _ _ _ _ _..;.;0.~8~VA- elK 83YL-6151A AC Test IlIIOutput (CLK) 4.0 V --y. 3.0 V 3.0 V V- RESET 0.6 V ~_1_.7_V_ _ _ _ _ _....;.1.....;.7__ V A83YL-6152A Clock Timing elK elK PURGE 83YL-6154A 83YL-6153A 11 pPD71641 CPUlnpuf T1 T2 DPAR :C ~_ _ _ _ _ _ _ 83YL-6155B 12 ttiEC IIPD71 641 CPU Output T1 T2 ClK A31-A3 ~ tDAAH I I ~~~ __~_______ AHIT ~--------~~-------- '----- _t:DKCRYh~1 CRDY MISS =x _lbK+?-~1'----=x I I tDKCRl ___b_ FATAL =x y tDKFT __ _]tDKFL FAULT ----------- 83VL-6156A 13 NEe pPD71641 Command Access Timing TC T2 TC TI ClK RA3- RAO D3-DO 83YL·6159B Bus Monitor Timing ClK 'MA31 - MA3 83YL-616OA 14 NEe pPD71641 ReplBee Timing Tm RT1 RT1 ClK BRC tOKRRC \4----+1 tOKRAE t+---~ tOKRB 14-------.1 tOKRC RC3-RCO --------------------------------------------------~ 83YL-6157B Dump Timing Bypsss Timing RT2 RT3 RT1 RT2 RT1 Tc Ti 1\1 IDKMAF~:.. ClK \ MA31-MA3~ 15 pPD71641 16 1tIEC NEe Development Tools 6-1 NEe Development Tools Section 6 Development Tools CC7011S V-Series C Compiler Sa DDK-70320 Evaluation Board for V25 Microcomputer Sb DDK-70330 Evaluation Board for V35 Microcomputer Sc IE-70136 In-Circuit Emulator for p.PD70136 (V33) Microprocessor Sd IE-70136-PC In-Circuit Emulator for p.PD70136 (V33) Microprocessor Se IE-70208, IE-70216 In-Circuit Emulators for p.PD70208 (V40) and p.PD70216 (V50) Microprocessors Sf IE-70320 In-Circuit Emulator for p.PD70320/70322 (V25) Microcomputers S9 IE-70330 In-Circuit Emulator for p.PD70330/70332 (V35) Microcomputers 6h RA70116 Relocatable Assembler Package for V20-V50 Microprocessors 6i RA70136 Relocatable Assembler Package for V33 Microprocessor 6j RA70320, Relocatable Assembler Package for V25N35 Microcomputers Sk V25N35 MINI-IE Plus In-Circuit Emulator V40N50 MINI-IE In-Circuit Emulator 6-2 61 6m NEe CC70116 V-Series C Compi ler NEC Electronics Inc. Description The CC70116 C Compiler package converts standard C source code into relocatable object modules for the NEC V20® (~PD70108), V30® ~PD70116), V40™ ~PD70208), and V50™ ~PD70216) microprocessors and the V25™ ~PD70320) and V35 ™ ~PD70330) single-chip microcomputers. These modules are compatible with those produced by the RA70116 V20-V50 Relocatable Assembler package and the RA70320 V25N35 Relocatable Assembler package and may be linked with other modules using the appropriate linker provided with the assembler package. o Runs under a variety of operating systems -MS .. DOS -VAXNMS® - VAX/UNIXTM 4.2 BSD or Ultrix® Ordering Information Part Number Description CC70116-D52 MS-DOS, 5" double-density floppy diskette CC70116-WT1 VAX/VMS, 9-track 1600BPI magnetic tape CC70116-VXT1 VAX/UNIX 4.2 BSD or Ultrix, 9-track 1600BPI magnetic tape Features Extensions to Standard C o Standard Kernighan and Ritchie C - Defined in UNIX System III Enumeration data type: Similarto the enumerated type in Pascal, this allows the definition of a limited set of [mnemonic] values for a variable, thus preventing assignment of invalid values to the variable. o Supports small and large memory models o NEC enhancements - Enumeration data type support - Assignment of all members by a structure name - Ability to use identical names in identifiers of different types in different structures - Addition of a void type to declare functions with no return val ue - Addition of char as a data type for which unsigned can be specified - Ability to initialize structures with bit fields o CC70116 library conforms to UNIX System III specifications - MS-DOS® and CP/M-86® dependent functions included o C macros for sorting and converting ASCII code characters o User-selectable object code optimizer Assignment of all members by a structure name: Allows assignment of all the members of a structure from another structure of the same type simply by using the names of the structures. Ability to use identical names for identifiers of different types in different structures: Allows the same member name in two different structures to have a different name in each. Addition of a void type: Prevents the use of functions ~ which return no value in expressions where a return ~ value is required. Addition of char as a data type for which unsigned can be specified: Allows the full 8 bits of the char data type to be used as a value, rather than only the low-order 7 bits. Ability to initialize structures with bit fields: Allows structure with bit-field members to be initialized via the C construct. Compiler Options V20 and V30 are registered trademarks of NEC Corporation. V25, V35, V40 and V50 are trademarks of NEC Corporation. UNIX is a trademark of AT&T. CP/M-86 is a registered trademark of Digital Research Corporation. MS-DOS is a registered trademark of Microsoft Corporation. VAX, VMS, and Ultrix are registered trademarks of Digital Equipment Corporation. 50222 The CC70116 C Compiler supports the following options during compilation. A B Generates assembly language listing C Specifies drive for compiler phases Leaves comments in C source image file (used with P) D Defines a name NEe CC70116 E H NS o P T U X Outputs C source image to a standard output device after only compiler control line processing Generates an object module for the interrupt handling section of RX116 (realtime operating system) Specifies drive for include files Suppresses symbol table information in object module Selects optimization Outputs C source image to a file after only compiler control line processing Limits· compiler phases to be input from drive selected by B option Nullifies the initial definition of the name defined by 0 option Generates object code for the large model Memory Models The CC70116 supports the small and .large memory models. With the small model, a total of 128K bytes of memory can be accessed: 64K bytes for data and 64K bytes for code.· With the large model, up to 1M byte of memory can be accessed for code and data. In addition, data constants can be permanently encoded into the ROM space. Programs using the small memory model are more efficient in terms of space utilization and execution speed and are recommended when your program can fit into one data and one code segment. CC70116 Library Functions The CC70116 C Compiler library conforms to the UNIX System III library specifications. Some library routines are operating system dependent and may only be used to create programs that run under MS-DOS or CP/M-86; other functions do not call the operating system, and may be used in any program. In the list below, the asterisk (*) means user system, MS-DOS, or CP/M-86 dependent. abort* abs access* atoi atol close* creat* exit* fclose 2 fread freopen fscanf fseek ftell fwrite getchar gets getw MSDOS1* MSDOS2* MSDOS3* open* perror .printf putchar puts putw srand sscanf strcat strchr strcmp strcpy strlen strncat strncmp fdopen fflush fgetc fgets fopen fprintf fputc fputs lseek* mktemp mpm1* mpm2* mpm3* mpm4* mpm5* mpm6* qsort rand read* rewind sbrk* scanf setbuf sprintf strncpy swab ungetc unlink* write* C Macros Included with the C compiler are C macros for sorting and converting ASC II code characters. These macros are listed below. _to lower _toupper feof ferror fileno getc getchar salnum isalpha isascii iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit putc putchar toascii Start-Up Modules Six small and large start-up modules are included in the CC70116 C Compiler package to initialize programs generated by the compiler: modules for embedded systems; modules for executing programs under the MSDOS operating system; modules for executing programs under the CP/M-86 operating system. Operating Environment The CC70116 package can be supplied to run under a variety of operating systems. One version is available for an MS-DOS system with one or more disk drives and at least 128K bytes of system memory. Other versions are available to run on a Digital Equipment Corporation VAX computer with UNIX 4.2 BSD or Ultrix or VMS (Version 4.1 or later) operating systems. To produce executable programs, a linker (LK70116 or LK70320) and a hexadecimal object code converter (OC70116 or OC70320) program are required and the librarian (LB70116 or LB70320) program is useful. These programs are available separately from NEC Electronics Inc. as part of the RA70116 V20-V50Relocatable Assembler package or the RA70320 V25N35 Relocatable Assembler package. The linker produces an absolute load module containing both symbol and source code line number information and the absolute object code. This module may be loaded directly into the appropriate NEC in-circuit emulator for execution with full symbolic debug capabilities. NEe CC70116 The hexadecimal object code converter produces an extended hexadecimal format object code file that may be loaded into a PROM programmer. Documentation For further information on source program format, compiler operation, and actual program examples, the following documentation is furnished with the CC70116 compiler package. Additional copies may be obtained from NEC Electronics Inc. • CC70116, V-Series C Compiler Operation Manual (MS-DOS) • CC70116, V-Series C Compiler Operation Manual (VMS) • CC70116, V-Series C Compiler Operation Manual (UNIX) License Agreement CC70116 is sold under terms of a license agreement that must be completed and returned to NEC Electronics before the C compiler is shipped. A copy of this license agreement may be obtained from any NEC Electronics Sales Office. Software updates are provided to registered users. 3 CC70116 4 NEe NEe DDK·70320 Evaluation Board for V25 Microcomputer NEG Electronics Inc. Ordering Information Description The DDK-70320 is an evaluation board for NEC's ~PD70320 (V25 TM) 16-bit, single-chip microcomputer. The DDK-70320 gives you maximum flexibility when evaluating and designing with the ~PD70320. It features a ~PD70320 with 32K bytes of EPROM, 32K bytes of RAM, two RS-232C communication ports, and a powerful monitor program. The DDK-70320 is on an IBM PC compatible card and includes a prototyping area for building your application-specific hardware. Part Number Description DDK-70320 ~PD70320 Evaluation Board V25 and V35 are trademarks of NEC Corporation. PCJ)(T and PC AT are registered trademarks of International Business Machines Corporation. DDK-70320 Evaluation Board A copy of RA70320, the V25N35™ Family Relocatable Assembler package for use on an IBM PC, PCf)(T®, PC AT®, or compatible host computer, is shipped with each DDK-70320 to allow you to develop code for evaluation purposes. Also included with the DDK-70320 is an emulator controller program for the IBM PC, a variety of V-Series software utilities, a small demonstration program, and a complete set of documentation. This total package provides you with a fast, efficient means for evaluating the capabilities of the ~PD70320 for your application. Features o ~PD70320 (V25) Evaluation Board with power supply o On-board memory - 32K-byte EPROM (user expandable to 64K bytes) - 32K-byte RAM (user expandable to 64K bytes) o Powerful on-board debug monitor - Real-time and single-step operation - Display/change memory and internal registers - Display/change special-function registers - Line assembler and disassembler - Multiple software breakpoints -Input/output from I/O ports - User program downioad capability o Two RS-232C serial interfaces - One for a terminal or host computer - One for auser application o Prototyping area for user circuitry o IBM PC card form factor o RA 70320 V25N35 Relocatable Assembler package o Host control software for IBM PC, PC/XT, PC AT, or compatibles o V-Series software uti lities and demonstration programs 50228 Hardware The DDK-70320 (figure 1) features 64K bytes of on-board memory: 32K bytes of EPROM and 32K bytes of RAM. The EPROM area, which is dedicated to a powerful monitor program, can be expanded up 64K bytes. The RAM area can also be expanded to 64K bytes and ~ contains the interrupt vector space, the monitor work area, and a user area for program downloading. 1:6:1 A ~PD71051 serial communications controller is connected through an RS-232C driver/receiver to a DB25 pin connector. The monitor uses this serial interface to communicate with an external terminal or host computer. A second RS-232C channel is connected to serial port 0 of the V25 for user applications. A RESET switch returns the DDK-70320 to the power-up state with or without losing the contents of the external RAM. An NMI switch returns control to the monitor from a user program while saving the user's state. An ac/dc converter supplies power to the DDK-70320 in the stand-alone mode. The DDK-70320 can also receive its power directly from the IBM PC bus. ODK-70320 Software The DDK-70320 has 10 address breakpoints, which are set in the GO command line. The monitor sets a breakpoint by substituting a BRK 3 instruction (opcode CCH) for an instruction in the user's program. The DDK-70320 comes with a powerful interactive monitor to facilitate software design using the p.PD70320. A user program can be downloaded into user' RAM and executed, in real-time with or without breakpoints, or it can be executed one instruction at a time. During single-stepping{ the registers, program counter, and the next instruction to be executed are displayed. Figure 1. DDK-703~O Additional commands are available to display, fill~ change,or move memory; display or change the generalpurpose' and special-funbtion registers; input from or output to an 1/0 port; disassemble memory; assemble a line of source code; and display the command list. Table 1 lists all of the DDK-70320 monitor commands. Block Diagram ! r--Address/Control Bus EPROM I ) Buffers "I ----- V25 System Bus r--;, Data Bus ' " " Buffers " 1 V25 l' ... "I -1 SRAM UART I I .A ... ") Expansion Connector '---83YL·6696B Table 1. DDK-70320 Command Us, RA70320 Relocatable Assembler Command Description Package' A A(ssemble) a line of source ,code D D(ump) memory The RA70320 Relocatable Assembler package converts symbolic source code for NEC's V25N35 family of microcomputers into executable absolute address object code. A copy of RA70320 is included with the DDK-70320 for use on an IBM PC; PC/XT, PC AT, or compatibles. With this software, you can easily write evaluation programs for the p.PD70320., E E(nter) memory F F(ill) memory G G(o) with optional breakpoints H H,(elp) menu I(nput) a byte from an I/O port L L(oad) a HEX file onto the DDK-70320 M M(ove) a block of memory o O(utput) a byte to an I/O port R R(egister) display/alter R[reg] S S(pecial) function register display/alter T T(race) execution U(nassemble) a block of rr\emory ? H(elp) menu Emulator Controller Program Absolute address object files produced by the RA70320 Relocatable Assembler package can be downloaded to the DDK-70320 using the NEC Emulator Con,troller program supplied with the ODK-70320. This controller program allows you to download files from your IBM PC or compatible to the DDK-70320board.'The program provides the following additional capabilities. • Complete DDK-70320 control from host 'console • On-line help facilities • Host system directory and file display • Storage of debug session on disk' 2 ~EC DDK·70320 Documentation For further information, refer to the DDK-70320 User's Manual supplied with the evaluation board. Additional copies may be obtained from NEC Electronics Inc. License Agreement RA 70320 is provided under the terms of a license agreement included with the DDK-70320 board. The accompanying card must be completed and returned to NEC Electronics Inc. to register the license. Software updates are provided to registered users. 3 DDK·70320 4 NEe NEe DDK·70330 Evaluation Board for V3S Microcomputer NEG Electronics Inc. Description The DDK-70330 is an evaluation board for NEC's ~PD70330 (V35™) 16-bit, single-chip microcomputer. The DDK-70330 gives you the maximum flexibility when evaluating and designing with the ~PD70330. It features a ~PD70330 with 128K bytes of EPROM, 128K bytes of RAM, two RS-232C communication ports, and a powerful monitor prog'ram. The DDK-70330 board includes a prototyping area for building your application specific hardware. A copy of RA70320, the V25 ™N35 ™ Family Relocatable Assembler package for use on an IBM PC, PCIXT@, PC AT@, or compatible host C?omputer, is shipped with each DDK-70330 to allow you to develop code for evaluation purposes. Also included with the DDK-70330 is an emulator controller program for the IBM PC, a variety of V-Series software utilities, a small demonstration program, and a complete set of documentation. This total package provides you with a fast, efficient means for eval uating the capabilities of the ~PD70330 for your application. Features o ~PD70330 (V35) Evaluation Board with power supply o On-board memory - 128K-byte EPROM -128K-byte RAM (user expandable to 512K bytes) o Powerful on-board debug monitor - Real-time and single-step operation - Display/change memory and internal registers - Display/change special-function registers - Line assembler and disassembler - Multiple software breakpoints - Input/output from I/O ports - User program download capability o Two RS-232C serial interfaces - One for a terminal or host computer - One for a user application o Prototyping area for user circuitry o RA 70320 V25N35 Relocatable Assembler package V25 and V35 are trademarks of NEC Corporation. PC/XT and PC AT are registered trademarks of International Business Machines CorporatIon. 50221 o Host control software for IBM PC, PCIXT, PC AT, or compatibles o V-Series software utilities and demonstration programs Ordering Information Part Number Description DDK·70330 ~PD70330 Evaluation Board Hardware The DDK-70330 (figure 1) features 256K bytes of onboard memory: 128K bytes of EPROM and 128K bytes of RAM. The EPROM area includes a powerful monitor program and a user area. The RAM area can be expanded to 512K bytes by replacing the 64K x 4 dynamic RAMS with 256K x 4 dynamic RAMS. This RAM space contains the interrupt vectors, the monitor work area, and a user area for program downloading. A ~PD72001 multiprotocal serial communications controller is connected through an RS-232C driver/receiver to a DB25 pin connector. The monitor uses this serial interface to communicate with an external terminal or host computer. A second RS-232C channel is available for connection to the second channel oft he ~PD72001 or one of the serial ports of the ~PD70330 for user applications. DMA interface circuitry between the ~PD72001 and the V35 is provided to allow the you to evaluate the ~ DMA capabilities of both devices. I:i:I A RESET switch returns the DDK-70330 to the power-up state with or without lOSing the contents of the external RAM. An NMI switch returns control to the monitor from a user program while saving the user's state. An ac/dc converter supplies power to the DDK-70330. NEe DDK·70330 Figure 1. DDK-70330 Block Diagram I Expansion PO-P2 I Serial Ports I I I RS-232C I Serial VO Options I I I Controls V35 CPU I I Control Logic DMALoglc Options I I High-Byte Data 1 DMAByte Data Xaver ~ Serial VO I Low-Byte Data Address Address Demux I I .t=; ~ " " - - 64K or 256K DRAM .t::::::j ~ .- J-,..-- r--- - I Expansion I 128K EPROM --83SL-6683B 2 NEe DDK·70330 Software RA70320 Relocatable Assembler Package The DDK-70330 comes with a powerful interactive monitor to facilitate software design using the p.PD70330. A user program can be downloaded into user RAM and executed in real-time with or without breakpoints, or it can be executed one instruction at a time. During single-stepping, the registers, program counter, and the next instruction to be executed are displayed. The RA 70320 Relocatable Assembler package converts symbolic source code for NEC's V25N35 family of microcomputers into executable absolute address object code. A copy of RA70320 is included with the DDK-70330 for use on an IBM PC, PC/XT, PC AT, or compatibles. With this software, you can easily write evaluation programs for the p.PD70330. The DDK-70330 has 10 address breakpoints, which are set in the GO command line. The monitor sets a breakpoint by substituting a BRK 3 instruction (opcode CCH) for an instruction in the user's program. Additional commands are available to display, fill, change, or move memory; display or change the generalpurpose and special-function registers; input from or output to an I/O port; disassemble memory; assemble a line of source code; and display the command list. Table 1 lists all of the DDK-70330 monitor commands. Table 1. DDK-70330 Command Us, Command Description A A(ssemble) a line of source code D D(ump) memory E E(nter) memory F F(ill) memory G G(o) with optional breakpoints H H(elp) menu I (nput) a byte from an I/O port L L(oad) a HEX file onto the DDK-70330 M M (ove) a block of memory 0 O(utput) a byte to an I/O port R R(egister) display/alter R[reg] S S(pecial) function register display/alter T T(race) execution U U(nassemble) a block of memory ? H(elp) menu Emulator Controller Program Absolute address object files produced by the RA70320 Relocatable Assembler package can be downloaded to the DDK-70330 using the NEC Emulator Controller program supplied with the DDK-70330. This controller program allows you to download files from your IBM PC or compatible to the DDK-70330 board. The program provides the following additional capabilities. • • • • Complete DDK-70330 control from host console On-line help facilities Host system directory and file display Storage of debug session on disk Documentation For further information, refer to the DDK-70330 User's Manual supplied with the evaluation board. Additional copies may be obtained from NEC Electronics Inc. License Agreement RA 70320 is provided under the terms of a license agreement included with the DDK-70330 board. The accompanying card must be completed and returned to NEC Electronics Inc. to register the license. Software updates are provided to registered users. 3 II • DDK·70330 4 ~EC NEe NEC Electronics Inc. Description The IE-70136 is a portable, stand-alone, in-circuit emulator that provides hardware emulation and softwa:re debug capabilities for the ItP070136 (V33 TM) 16-bit microprocessor. Real-time and single-step emulation-coupled with software performance analysis, sophisticated memory mapping, symbolic debugging, macrofile command facilities, user-programmable breakpoints and trace qualifiers-create a powerful development environment. Command entry is simplified by eight dynamically reprogrammed function keys, called softkeys, that visually prompt a user with the next level of commands. User programs can be uploaded/downloaded from a variety of host systems by a serial link or they can be loaded directly from an MS-OOS® disk. Features o Portable, stand-alone, in-circuit emulator - 9.5-inch amber CRT display - Two 5-inch, 640K-byte floppy-disk drives - ASCII keyboard with eight function keys - EPROM programmer: 2732, 2764, 27128, 27256, 27512 - Supports NEC's V20®, V30®, V25 TM, V35 TM, V40 ™, V50 TM, V53 ™ , and V60 ™ microprocessors o Precise real-time and single-step emulation - Selectable internal clock: 8 MHz or 16 MHz - Up to 16-MHz external TTL clock o Emulation memory bus size selection o 256K bytes of memory for prototype memory emulation; mappable into 16M-byte address space in 4K-byte units o Automatic break with disconnected target I/O access o Six user-programmable hardware breakpoints - Real-time break on address, data, CPU status, or external input - Selectable as execution or nonexecution o 256 user-programmable software breakpoints V20 and V30 are registered trademarks of NEC Corporation. V25, V33, V35, V40, V50, V53, and V60 are trademarks of NEC Corporation. MS-DOS is a registered trademark of Microsoft Corporation. 50224 IE-70136 In-Ci rcuit Emulator for pPD70136 (V33) Microprocessor o Trace buffer: disassemble, frame, and code trace display - 8192 frames by 64 bits - Programmable enable/disable points o Performance modes avai lable for software performance evaluation: time interval, module activity, and count modes o Full symbolic debug capabilities o Symbolic line assembler and disassembler o Macrofile command capability o Dual window display in emulation mode o Softkey and menu-driven user input o System commands are available while in emulation mode Ordering Information Part Number Description IE-70136-A016 In-circuit emulator for p.PD70136 (V33) EP-70136L-A 68-pin PLCC/PGA emulation probe/socket EP-70136GJ-A 74-pin plastic QFP emulation probe HARDWARE DESCRIPTION The IE-70136 (figure 1) consists of a system chassis with a detachable ASCII keyboard and an emulation pod unit. The chassis houses a 9.5-inch amber CRT, two 5-1/4 inch, 640K-byte floppy-disk drives, an EPROM programmer, a card cage, a power supply, and three control boards. T, he boards are main CPU, expansion system . . , memory, and emulation pod interface. ~ The main CPU board contains a supervising CPU, 512K bytes of system memory, and the peripheral interfaces. The expansion system memory board provides an additional 512K bytes of system memory. The em41ation pod interface contains the clock selection logic, emulation bus sizing switch, and enabling of the ROY and 8S8/8S16 signals from the target to emulator memory. The emulation pod contains the V33 EVACHIP, external event input, trigger out, and target interface. This' unit connects to the target system by the EP70136L-A emulation probe forthe 68-pin PLCC/PGA For the 74-pin plastic QFP, an EP-70136GJ-A probe adapter is also needed. NEC IE-70136 The IE-70136 supports the following external interfaces: two RS-232C serial ports, one Centronics parallel printer port, and one RG B video output. The emulator can be converted to support NEC's V20, V25, V30, V35, V40, V50, V53, and V60 CMOS microprocessors by exchanging the appropriate control boards and the emulation pod unit. Figure 1. IE-70136 System Configuration The target NMI and INT signals may be enabled or disabled by the Configure command. Emulation The IE-70136 executes #,PD70136 user programs in real time in three different modes: break, trace, and performance. In break emulation mode, 'the program is run in real time or in single-step mode until a breakpoint is encountered. In trace emulation mode, the program is executed in real time while filling the trace buffer with bus information. In performance emulation mode, the emulator. can: Memory and I/O Mapping Capabilities The IE-70136 contains 256K bytes of zero wait-state emulation memory; 252K bytes are available for emulating target RAM (read/write) or ROM (read only) and the remaining 4K bytes are reserved for use by the system monitor. The complete 16M-byte memory space of the #,PD70136 must be mapped into one of the following categories. Target ROM RAM Locked Memory resident in target system (read/ write) External ROM emulation memory (read only) External RAM emulation memory (read/ write) Access inhibited memory (remaining unmapped addresses) All memory mapping is executed in 4K-byte blocks using the Configure and Mapping softkey commands. If an address mapped as "Iocked" is accessed or a write i.s attempted to ROM, a break in the emulation will occur. The I/O space of the #,PD70136 is always mapped to the target. If the probe is not connected to a target system, a break will occur in emulation when any target I/O is accessed. 2 (1) Measure the execution time between enable and disable points (2) Measure the accumulated execution time in three areas of memory and then display the ratio of time spent within each area in both absolute and relative terms (3) Count the number of times a particular trigger point is satisfied between enable and disable points. Once emulation is stopped in either break or trace mode, the trace automatically displays one screen of data, ending on the laslinstruction executed. In performance mode, time is shown in a table and in a bar graph. At this point, it is possible to display the contents of memory, the general-purpose and special registers, the symbol tables, directories, and other information. All can be displayed individually or in split screen with the trace display. The windows may be scrolled independently. Break Capabilities The IE-70136 has six hardware breakpoints. Five can be set to occur in· response to a real-ti me event with the BCond command. The remaining one is reserved for setting a real-time address (execution only) breakpoint with the GO command. You can use the BCond command to set breakpoints to occur on an address, a data value, or a CPU state. Hardware breakpoints can be either an execution or nonexecution type. An execution break occurs when an instruction is clocked into the execution unit of the V33. A nonexecution break occurs when the bus condition is satisfied regardless of the status of the instruction queue. An enable and disable point can also be specified to indicate when detection of hardware break and trace is to start and stop. If not specified, trace and break detection is enabled when the GO command is exe- t-IEC cuted. The external channel can also be used to create a breakpoint. Either the rising or falling edge can be selected. ' Up to 256 software breakpoints can be set plus an additional one in the GO command. To set a software breakpoint, the emulator replaces an instruction in the user's program with a BRK 0 instruction. A break will occur when this instruction is executed, and the user's program will be restored. This capability is not available for program code executing out of ROM. A Check command is provided to verify that the breakpoint can actually be set. Trace Capabilities The trace buffer is 8192 frames by 64 bits wide and sampling is done on every machine cycle. The buffer is filled in round-robin fashion. The emulator traces the external address and data buses, the CPU and queue status, and control signals. The IE-70136 has five trace trigger pOints. When the trigger condition is true, a positive logic pulse is output on the TRIGGER OUT pin of the emulator pod. Separate ENABLE and DISABLE points can be set to restrict tracing pr trigger detection to a particular section of program code. If not used, tracing and trigger detection will be enabled when the GO command is issued. An address point can be set with the GO command to record the trace after, about, or before the condition is true. The external input can also be used as a trigger point. Either a positive or negative edge can be specified. The trace data may be displayed in one of three modes: disassembly, frame, or code. In disassembly mode, fetch and execution cycles are displayed separately, and bus cycles are rearranged so that a fetch cycle and its associated execution cycle are displayed next to each other. In frame mode, the CPU bus cycle conditions are displayed as traced. In code mode, only the executed fetch cycles are displayed. In disassembly and code modes, the fetch cycle is displayed bright, the execution cycle is dim, and a trigger point is indicated by reverse video. IE·70136 Run-Time Interval Mode. Execution time from the enable point to the disable point is repeatedly measured, and the mean value, the maximum value, the minimum value, and the distributed values are stored. The measured distribution values, from a maximum of six time intervals, can be displayed graphically. Module Activity. The accumulated execution time for three areas of code (from enable to disable points) can be measured. The ratio of time spent in each one compared to the total measured time (ABS) and the ratio of time spent in each one compared to the time spent in all three areas (REL) can be displayed. If the overall processing speed does not satisfy the desired speed, the portion of the code taking more time can be determined and improved. This mode can be very effective for increasing total throughput. Count Mode. The number of times a trigger point is satisfied within an area of code (from enable to disable points) can be counted. Up to four trigger points can be set and the ratio of the number of times each trigger point is satisfied to the total number of all triggers is displayed. Address Specification An address can be specified as either a 24-bit absolute address (beginning with a ;) or as a segment:offset address. Segment:offset addresses can be either physical, addressing only the base 1M byte, or logical. Logical addresses are converted to 24-bit physical addresses by the emulator according to the address extension table (EXPAND TABLE) specified by the SEText command. There are two types of expand tables. One uses the MMU (Memory Management Unit) in the CPU. However, conversion is done only during a break if the XA flag is set. . . , Otherwise, no conversion is performed. A user-defined expand table is independent of the MMU. This table is defined by loading the extended linker locator output file (EL70136), by definition in the program stage, or by copying the contents of the MMU. With the user-defined table,:conversion is performed regardless of the status of the XA flag. 1:6:.1 SOFTWARE DESCRIPTION If the user-defined expand table is selected, conversion back to logical address is performed according to this table when displaying trace results in disassembly mode. Software Performance Analysis System Software Using the IE-70136, software performance can be evaluated in real-time in anyone of three different modes: run-time interval mode, module activity mode, and count mode. Improvements in software performance can be statistically measured. The IE-70136 is controlled by the MIOS/U proprietary operating system. Command input is simplified by eight function keys, providing a choice of up to 24 softkeys within any menu level. The dynamically reprogrammed softkeys visually prompt with the next valid set of com- 3 NEe IE·70136 mands. The softkeys are at the bottom of the display screen and correspond to the eight function keys on the keyboard. To select a command, press a softkey. The softkeys are automatically relabeled with the next set of commands. All system functions can be used in emulator mode. The IE-70136 system software uses an overlay method so that a necessary program is loaded when a command is input and then executed. File handling, communications, and PROM writing can be performed during emulation, reducing development time. Table 1 shows some of the utility programs provided with the emulator. that runs in the emulator itself and is supplied as part of the IE-70136 package. The Multiple File Handler allows the emulator to read MS-DOS disks, among others. Symbolic Debug and Line Assembly! Disassembly The IE-70136 supports complete symbolic debugging of programs produced by NEC's RA70136 Relocatable Assembler Package and various third-party software packages, including those from Intel and Microsoft. The symbols can be used as address and data constants in break, trace, and emulation control commands and are displayed during disassembly. A symbolic line assembler is also available to make modifications to existing programs or to enter code from the keyboard. Table 1. IE-70136 Utility Programs Utility Function SPECIFICATIONS EMUV35 IE-70136 emulator software KERMIT Communication program for file transfer Table 2 gives the electrical, environmental, and physical specifications of the equipment. FI LESEFW File management for system disks EDITOR Full screen editor FORMAT PROM Floppy-disk formatter Built-in EPROM programmer control program TERMINAL Terminal utility program for file transfer between emulator and another intelligent device SYMBOL Symbol table converter; converts non-SROC symbol formats to SROC format o BJCONV Object fi Ie converter: converts object files to and from the Motorola SROC format TIMESET Internal battery backed-up clock and calendar setting DE FINE Soft key definition MDEVICE Disk format specification Connecting to Host Systems Host systems may be connected to the IE-70136 using the RS-232C connectors at the rear of the machine. Parameters such as baud rates, character length, parity, and number of stop bits are software programmable to suit the system being attached. The KERMIT communications program is supplied with the emulator and can be used for uploading and downloading files. NEC currently provides KERMIT for the VAX® under VMS® and UNIXTM 4.2BSD or Ultrix™, the IBM PC, IBM PC/XT®, IBM PC/AT®, or compatibles under PC-DOS® or MS-DOS. Files may also be transferred to the emulator via the RS-232C ports using the TERMINAL utility. The emulator acts as a terminal for data transfer. Another means of loading files into the IE-70136 is available with the Multiple File Handler utility, a program 4 Table 2. IE-70136 Specifications AC power Temperature 90 to 132 V, 50/60 Hz, 400 W maximum Operating: +5 to +40°C Storage: -20 to +50°C Relative humidity (noncondensing) Weight Operating: 20 to 80% Storage: 10 to 90% Main chassis: 40 pounds Pod and cables: 4-3/4 pounds Dimensions (L x W x H) 19.7 x 16.7 x 8.7 inches DOCUMENTATION The following manuals are supplied with the in-circuit emulator. Additional copies may be obtained from NEC Electronics Inc. • IE-70136 In-Circuit Emulator User's Manual • IE-70XXX-A Hardware User's Manual • IE-70XXX-A Software Utilities User's Manual VAX and VMS are registered trademarks of Digital Equipment Corporation. Ultrix is a trademark of Digital Equipment Corporation. UNIX is a trademark of AT&T. PC/XT, PC AT, and PC-DOS are registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft Corporation. t\'EC IE-70136-PC In-Ci rcuit Emulator for pPD70136 (V33) Microprocessor Description o User-programmable software breakpoints - 100 logical/physical address breakpoints maximum - Forced break possible NEG Electronics Inc. The IE-70136-PC is a low-cost in-circuit emulator that provides hardware emulation and software debug capabilities for the NEC ILPD70136 (V33™) 16-bit microprocessor. It is designed to be used with an IBM PC, PC/XT®, PC AT®, or compatible machine under PC-DOS® or MS-DOS®. o Memory display/fill/move capability in byte or word format - Access to normal or extended memory - Disassembler Features o Macro/batch processing capabilities o Interfaces to host PC via a parallel interface - PC interface card and cable included o Direct access to PC-DOS and MS-DOS system commands o Real-time and single-step emulation -16-MHz internal clock - 2- to 16-MHz external clock - 65,535 instructions can be stepped in single command o LED displays for CPU status: RUN, NOREADY, HOLD, HALT o Load/Save programs using Extended CO F F, NEC LN K, Intel Extended HEX, and Motorola SROC formats DOne 64K-byte block of emulation memory o Four user-programmable breakpoints - Real-time break on address during instruction fetch, data memory read/write, or I/O read/write V33 is a trademark of NEC Corporation. IBM PC, PC/XT, PC AT, and PC-DOS are registered'trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft Corporation. Figure 1. IE-70136-PC System Configuration 50225 Ordering Information Part Number Description IE-70136-PC In-circuit emulator for EP-70136L-PC 68-pin PLCC/PGA emulation probe/socket ~PD70136/70332 IE· 70i36·PC 2 NEe NEC Electronics Inc. IE·70208, IE-70216 In-Circuit Emulators for pPD70208 (V40) and pPD70216 (V50) Microprocessors Description The IE-70208 and.IE-70216 are portable, stand-alone, in-circuit emulators providing both hardware emulation and software debug capabilities for the NEC p.PD70208 (V40TM) and p.PD70216 (V50™) 16-bit microprocessors. Real-time and single-step emulation in both native and 8080 emulation modes-coupled with sophisticated memory mapping, user-programmable breakpoints and trace qualifiers, symbolic debug, and macrofile command facilities-create a powerful development environment. Command entry is simplified by eight dynamically reprogrammed function keys, called softkeys, that visually prompt the user with the next level of commands. User programs can be uploaded/downloaded from a variety of host systems by a serial link or loaded directly from an MS-DOS® disk. Features o Portable, stand-alone, in-circuit emulator - 9.5-inch amber CRT display - Two 5-inch, 640K-byte floppy-disk drives - ASCII keyboard with eight function keys - EPROM programmer: 2732, 2764, 27128, 27256, 27512 - Supports NEC's V20®, V25 TM, V30®, V33 ™, V35 ™, V53 ™, and V60 ™ microprocessors o Precise real-time and single-step emulation - Programmable internal clock: 2 to 10 MHz in 1-kHz steps - External clock: 2 to 10 MHz o Memory and I/O space mappable in 1K-byte blocks o 256K bytes of memory for prototype memory emulation; expandable to 768K bytes o Eight user-programmable hardware breakpoints - Real-time break on address, data, CPU status, or external probes - Break on pass count and register, memory, or I/O values - Selectable as execution or code fetch break o 16 user-programmable software breakpoints V20 and V30 are registered trademarks of NEC Corporation V25. V33. V40. V50, V53. and V60 are trademarks of NEC Corporation 50227 o Trace buffer: machine cycle, mnemonic, and jump trace display -1024 frames by 64 bits - Programmable trigger point and trace qualifiers o Eight optional probes for tracing target system signals o Full symbolic debug capabilities o Symbolic line assembler and disassembler o Macrofile command capability o Dual window display in emulation mode o Softkey and menu driven user input Ordering Information Part Number Package IE-70208-A010 In-circuit emulator for ~PD70208 (with V40 pod) IE-70216-A010 In-circuit emulator for #,PD70216 (with V50 pod) IE-70000-2958 68-pin PLCC package emulation probe IE-70000 -2959 68-pin PGA package emulation probe IE-70208-2010 Optional pod unit for ~PD70208 emulation IE-70216-2010 Optional pod unit for ",PD70216 emulation IE-70000-2954 Optional external logic probe. IE-70000-2957 Optional 512K-byte expansion emulation memory HARDWARE DESCRIPTION The IE-70208/216 (figure 1) consists of a system chassis with a detachable ASCII keyboard and an emulation pod unit. The chassis houses a 9.5-inch amber CRT, two 5-1/4 inch 640K-byte floppy disk drives, an EPROM programmer, card cage, power supply, and three control boards. The boards are main CPU, emulation control, and traceemulation memory. The main CPU board contains the supervising CPU, 512K bytes of system memory, and the peripheral interfaces. The emulation control board controls the memory mapping, event detection, and the break and emulation CPU status circuitry. The trace-emulation board contains a trace buffer and 256K bytes of external emulation memory. The optional IE-70000-2957, a 512K-byte expanSion emulation memory board, may be installed to increase the external emulation memory to 768K bytes. ftI a:.I NEe IE-70208, ·1 E"70216 The external emulation pod unit houses the emulation CPU, high-speed buffers, and clock selection logic. The emulation pod unit can be connected to the target system with one oftwo emulation probes: IE-70000-29S8 supports the 68-pin PLCC package and the IE-7000029S9 supports the 68-pin PGA package. These probes are ordered separately. Memory and I/O Mapping Capabilities The IE-70208/216 contains 256K bytes (expandable to 768K bytes) of emulation RAM (0 wait states) for emulating external RAM or ROM. The complete 1M-byte memory space of the #tPD70208/70216 must be mapped into one of the following categorie~ of memory: The IE-70208/216 supports the following external interfaces: two RS-232C serial ports, one Centronics parallel printer port, an RG B video output, and eight optional external logic probes. These probes (IE-70000-29S4) can be used for tracing and/or breaking on signals from the target system. Target Ease of migration within the V-Series family 91. emulators is provided in the system design. To alternate between V40 and VSO emulation simply requires changing the emulation pod unit. The emulator can also be converted to support the V20, V2S, V30, V33, V3S, VS3, and· V60 CMOS microprocessors by exchanging the appropriate control boards and the emulation pod unit. Locked Figure 1. IE-70208/216 System Configuration ROM RAM Memory resident in target system (read/write) External ROM emulation memory (read only) External RAM emulation memory (read/write) Access inhibited memory (remaining unmapped addresses) All memory mapping is done in 1K-byte blocks using the Configure and Memory softkey commands. If an address mapped as "Iocked" is accessed, a break in the emulation will occur. The complete 64K-byte I/O space ofthe #tPD70208/70216 must be mapped in 1K-byte blocks to the emulation memory, the target system, or as "Iocked" memory. Emulation The IE-70208/216 executes #tPD70208 and #tPD70216 user programs in real~time in four different modes: break, trace, count, and time. 2 (1) In break emulation mode, the user's program is executed in real-time or in single-step until a breakpoint is encountered. (2) In trace emulation mode, the user's program is executed until the trace buffer is filled. (3) During the count emulation mode, the emulator counts the number of times a particular trigger point is reached within a given set of conditions. (4) In time emulation mode, the emulator measures execution time between the specified enable and disable points. The measurable time range is from 0 to 72 minutes (in microseconds). NEe Once emulation is stopped in either break ortrace mode, the trace automatically displays one screen of data, ending on the last instruction executed. In count or time mode, the current count or elapsed time is displayed. At this point, it is possible to display the contents of memory, the general-purpose and· special registers, the symbol tables, directories, and other information. All can be displayed individually or by split screen with the trace display. The windows may be scrolled independently. Prior to the start of emulation, the user can specify whether an external or internal clock will be used for ~mulation, whether the internal or external ready sigDal IS used, and whether the NMI signal from the target system should be enabled or disabled. If the internal clock is used, it can be set from 2 to 10 MHz in 1-kHz steps. Break Capabilities The IE-70208/216 has eight hardware breakpoints. Seven can be set to occur on a real-time event or a nonreal-time condition. The remaining one is reserved for setting a real-time address breakpoint in the GO command. A real-time breakpoint can be set to occur on an address, a data value, a CPU state, or the external probe status. A non-real-time breakpoint can be set to occur after satisfying an address/condition setting a certain number of times (maximum 4096). Conditions pertaining to the general-purpose registers, memory locations, I/O locations or the external probes can be defined. For non-real-time breakpoints, the user program is executed in real time until it reaches the address, then emulation pauses while the conditions are checked. If the conditions are not satisfied, emulation will continue in this manner until they are met. To distinguish between the condition occurring at an op-code fetch or at the execution of an instruction, each breakpoint can be tagged with either a nonexecution or execution flag. IE· 70208, IE· 70216 Trace Capabilities The trace buffer is 1024 frames by 64 bits wide and sampling is done on every machine cycle. The buffer is filled in a round-robin fashion. The emulator traces the external address and data buses, the CPU and queue status, and the eight external logic probes. The IE-70208/216 has eight trace specification points. One of these is reserved for setting a trigger point in the GO command. The other seven can be specified as trace trigger,enable, disable, qualify, or check points. Check points are used to display register, memory, or I/O contents each time a certain event or address occurs. The trace buffer can be split into a maximum of 64 partitions to allow tracing of particular segments of the user program (Le., subroutines). The trace data may be displayed in one of three modes: machine, disassembly, or jump. In machine display mode, all bus activity is displayed in machine code. In disassembly mode, all instructions are disassembled. In jump mode, only instructions that alter program flow are displayed. SOFTWARE DESCRIPTION System Software The IE-70208/216 is controlled by the MIOS/U proprietary operating system. Command input is simplified by eight function keys (providing a choice of up to 24 softkeys within any menu level). The dynamically reprogrammed soft keys visually prompt with the next valid set of commands. The softkeys are at the bottom of the display screen and correspond to one of the eight function keys on the keyboard. To select a command, press a softkey. The softkeys are automatically relabeled with the next set of commands. Table 1 lists the utility programs provided with the emulator. Up to 16 software breakpoints can be set plus an additional one in the GO command. To set a software breakpoint, the emulator replaces an instruction in the user's program with a BRK 0 instruction. A break will occur when this instruction is executed, and the user's program will be restored. This capability is not available for program code executing out of ROM. 3 ftt UI NEe IE-70208,IE·70216 Table 1. IE-7020B/216 Utility Programs Utilities Function EMUV4050 IE-70208/216 emulator software KERMIT Communication program for file transfer FILESEFN File management for system disks EDITOR Full screen editor FORMAT Floppy-disk formatter PROM Built-In EPROM programmer control program TERMINAL Terminal utility program for file transfer between emulator and another intelligent device SYMBOL Symbol table converter; converts non-SROC symbol formats to SROC format. OBJCONV Object file converter; converts object files to and from the Motorola SROC format. TIMESET Internal battery backed-up clock and calendar setting Symbolic Debug and Line Assembly/ Disassembly The IE-70208/216 supports complete symbolic debugging of programs produced by NEC's RA70116 Relocatable Assembler Package and various other third-party software packages, including those from Intel and Microsoft. The symbols can be used as address and data constants in break, trace, and emulation control commands and are displayed during disassembly. A symbolic line assembler is also available to make modifications to existing programs or to enter code from the keyboard. SPEC IFICATIONS Table 2 gives the electrical, environmental, and physical specifications of the equipment. DEFINE Softkey definition Table 2. IE-7020B/216 Specifications MDEVICE Disk format specification AC power 90 to 132 V, 50/60 Hz, 400 W maximum Temperature Operating: +5 to +40°C Connecting to Host Systems Host systems may be connected to the IE-70208/216 via the RS-232C connectors at the rear of the machine. Parameters such as baud rates, character length, parity, and number of stop bits are software programmable to suit the system being attached. The KERMIT communications program supplied with the emulator can be used for uploading and downloading files. Currently, NEC provides KERMIT for the VAX® under VMS® and UNIXTM 4.2 BSD or Ultrix™, and the IBM PC, PC/XT®, PC AT®, or compatibles under PC-DOSTM or MS-DOS®. Files may also be transferred to the emulator via the RS-232C ports by using the TERMINAL utility. The emulator acts as a terminal for data transfer: Another means of loading files into the IE-70208/216 is available with the Multiple File Handler utility, a program that runs in the emulator itself and is supplied as part of the IE-70208/216 package. The Multiple File Handler allows the emulator to read MS-DOS disks, among others. VAX and VMS are registered trademarks of Digital Equipment Corporation. Ultrix is a trademark of Digital Equipment Corporation. UNIX is a trademark of AT&T. PCIXT, PC AT, and PC-DOS are registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft Corporation. 4 Storage: -20 to +50°C Relative humidity (noncondensing) Weight Operating: 20 to 80% Storage: 10 to 90% Main chassis: 40 pounds Pod and cables: 4-3/4 pounds, Dimensions (L x W x H) 19.7 x 16.7 x 8.7 inches DOCUMENTATION The following manuals are supplied with the in-circuit emulator. Additional copies may be obtained from NEC Electronics Inc. • IE-70208/216 In-Circuit Emulator User's Manual • IE-70XXX-A Hardware User's Manual • IE-70XXX-A Software Utilities User's Manual ~EC NEC Electronics Inc. IE-70320 In-Ci rcuit Emulator for pPD70320/70322 (V2S) Microcomputers Description o 16 user-programmable software breakpoints The IE-70320 is a portable, stand-alone, in-circuit emulator that provides hardware emulation and software debug capabilities for the NEC jtPD70320/70322 0125 TM) 16-bit, single-chip microcomputers. o Trace buffer: machine cycle, mnemonic, and jump trace display - 2047 frames by 108 bits - Programmable trigger point and trace qualifiers Real-time and single-step emulation, coupled with sophisticated memory mapping, symbolic debugging, macrofile command facilities, and user-programmable breakpoints and trace qualifiers create a powerful development environment. o Eight optional probes for tracing of target systems signals Command entry is simplified by eight dynamically reprogrammed function keys, called softkeys, that visually prompt a user with the next level of commands. User programs can be uploaded/downloaded from a variety of host systems by a serial link or they can be loaded directly from an MS-DOS® disk. Features o Portable stand-alone in-circuit emulator: - 9.5-inch amber CRT display - Two 5-inch, 640K-byte floppy-disk drives - ASCII keyboard with eight function keys - EPROM programmer: 2732, 2764, 27128, 27256, 27512 - Can be converted to support NEC's V20®, V30®, V33 TM, V35 TM, V40 TM, V50 TM, V53 ™ , and V60 ™ microprocessors o Precise real-time and single-step emulation - Programmable internal clock: 1 to 16 MHz in 1- kHz steps - Up'to 16 MHz external TTL clock o Memory and I/O space mappable in 4K-byte blocks o 32K bytes of memory for-internal ROM emulation o 124K bytes of memory for prototype memory emulation; expandable to 636K bytes o Eight user-programmable hardware breakpOints - Real~time break on address, data, CPU status, or external probes - Break on pass count and register, memory, or I/O values - Selectable as execution or nonexecution V20 and V30 are registered trademarks of NEC Corporation. V25, V33, V35, V40, V50, V53, and V60 are trademarks of NEC Corporation. MS-DOS is a registered trademark of Microsoft Corporation. 50229 o Full symbolic debug capabilities o Symbolic line assembler and disassembler o Macrofile command capability o Dual window display in emulation mode o Soft key and menu-driven user input Ordering Information Part Number Package IE-70320 -AOOS In-circuit emulator for MPD70320/70322 IE-7032'b-RTOS MPD79011 RTOS System Software for IE-70320 EP-70320L MPD70320/70322 84-pln PLCC emulation probe IE-70000 -2957 Optional 512K-byte expansion emulation memory IE-70000 -2954 Optional external logic probes EP-70320GJ Optional 94-pln plastic QFP package probe adapter for use with EP-70320L Hardware The IE-70320 (figure 1) consists of a system chassis with a detachable ASCII keyboard and an emulation pod unit. The chassis houses a 9.5-inch amber CRT, two 5-1/4 inch 640K-byte floppy-disk drives, an· EPROM programmer, card cage, power supply, and five control boards. The boards are main CPU, expansion system memory, emulation control I and II, and trace emulation memory. The main CPU board contains a supervising CPU, 512K bytes of system memory, and the peripheral interfaces. The expansion system memory board provides an additional 512K bytes of system memory. The two emulation control boards control memory mapping, event detection, and the break and emulation CPU status circuitry. The trace emulation board contains a trace buffer and 124K bytes of external emulation memory. The optionaIIE-70000-2957, a 512K-byte expansion emulation memory board, may be installed to increase the external emulation memory to 636K bytes. ~ ~ NEe IE·70320 The emulation pod unit houses the I!-PD70329 EVACHIP used to emulate the I!-PD70320 or I!-PD70322, the internal ROM emulation memory, the high-speed buffers, and the clock selection logic. This unit can be connected to the target system by the EP-70320L, an emulation probe for the 84-pin PLCC. For the 94-pin plastic QFP package, an EP-70320GJ probe adapter is also needed. INTROM ROM RAM Target Internal I!-PD70322 ROM emulation memory (0, 8, 16, or 32K bytes selectable) External ROM emulation memory (read only) External RAM emulation memory (read/write) Memory resident in target system (read/write) Access inhibited memory (remaining unmapped addresses) The IE-70320 supports the following external interfaces: two RS-232C serial ports, one Centronics parallel printer port, and one RG B video output. Locked An optional external logic probe unit (lE-70000-2954) is also available . The eight probes contained in the unit allow signals on the target system to be used in the break and trace functions. All memory mapping except INtrom is executed in 4K.. byte blocks using the CONFIGure and MEMory softkey commands. If an address that has been mapped as "locked" is accessed, a break in emulation will occur. The emulator can be converted to support NEC's V20, V30, V33, V35, V40, V50, V53, or V60 CMOS microprocessors by exchanging the appropriate control boards and the emulation pod unit. . The complete 64K-byte input/output space of the I!-PD70320 or I!-PD70322 must be mapped in 4K-byte blocks eitherto the RAM emulation memory, to the target system, or as "locked" memory. Figure 1. IE-70320 System Configuration Emulation The IE-70320 executes I!-PD70320 and I!-PD70322 user programs in real time in four different modes: break, trace, count, and time. (1) In break emulation mode, the program is runin real or in single step until a breakpoint is encountered. ti~e Memory and I/O Mapping Capabilities The IE-70320 contains two kinds of emulation memory: 32K bytes of high-speed RAM that can be accessed in one clock cycle per byte for emulating the internal ROM of the I-l-PD70322, and 124K bytes (expandable to 636K bytes) of two-cycle RAM (0 wait states) for emulating external RAM or ROM. The complete 1M-byte memory space of the I!-PD70320/ I!-PD70322 must be mapped into one of the following categories: 2 (2) In trace emulation mode, the program is executed until the trace buffer is filled. (3) In count emulation mode, the emulator counts the number of times a particular trigger pOint is reached within a given set of conditions. (4) In time emulation mode, the emulator times execution between the specified enable and disable points. The measurable time range is from 0 to 72 minutes (in microseconds). Once emulation is stopped in either break or trace mode, the trace automatically displays one screen of data, ending on the last instruction executed. In count or time mode, the current count or elapsed time is displayed. At this point, it is possible to display the. contents of memory, the general-purpose and special registers, the symbol tables, directories, and other infqrmation. All can be displayed individually or by split screen with the trace display. The windows may be scrolled independently. NEe Prior to the start of emulation, the user can specify the internal ROM size (if any), whether an external or internal clock will be used for emulation, and whether the NMI, READY, and HOLD signals from the target system should be enabled or disabled. If the internal clock is used, it can be set from 1 to 16 MHz in 1-kHz steps. Break Capabilities The IE-70320 has eight hardware breakpoints. Seven can be set to occur on a real-time event or a non-real-time condition. The remaining one is reserved for setting a real-time address breakpoint in the GO command. A real-time breakpoint can be set to occur on an address, a data value, a CPU state and an external probe status. A non-real-time breakpoint can be set to occur after an address/condition setting has been satisfied for a certain number of times (maximum 4096). Conditions pertaining to the general-purpose registers, memory locations, input/output locations, or external probes can be defined. For non-real-time breakpoints, the user program is executed in real time until it reaches the break address. Emulation stops while the conditions are checked. If the conditions are not satisfied, emulation will continue in this manner until they are met. IE·70320 dress occurs. The trace buffer can be split into a maximum of 128 partitions to allow tracing of particular segments of the user program (i.e., subroutines). The trace data may be displayed in one of three modes: machine, disassembly, or jump. In machine display mode, all bus activity is displayed in machine code. In disassembly mode, all instructions are disassembled. In jump mode, only instructions that alter program flow are displayed. IE-70320 -RTOS System Software The optionaIIE-70320-RTOS system software allows the IE-70320 to be used for hardware emulation and software debugging for the ~PD79011, a V25 16-bit, singlechip microcomputer with an on-board real-time operating system (RTOS). When using the IE-70320-RTOS system software, the RTOS object code is loaded into the 16K bytes of internal ROM emulation memory wheneverthe IE-70320 is powered uporthe CAncel command is executed. In addition, the IE-70320-RTOS system software adds the following commands to the IE-70320. Mem/reg SYstime Sets system time of the RTOS. Display TStat Displays system time, task status, number of unused memory blocks, segment val ue of all messages queued in the TC B, start address of the initialization routine, and interrupt return address in the TC B for a specified task. Displays status of specified mailbox. To distinguish b~tween an address condition occurring at any memory read/write access or the execution of an instruction, each breakpoint can be tagged with either a nonexecution or execution flag. Up to 16 software breakpoints can be set plus an additional one in the GO command. To set a software breakpoint, the emulator replaces an instruction in the user's program with a BRK 0 instruction. A break will occur when this instruction is executed, and the user's program will be restored. This capability is not available for program code executing out of ROM. Display MAil box Display SEmaph 4 Trace Capabilities The trace buffer is 2047 frames by 108 bits wide and sampling is done on every machine cycle. The buffer is filled in a round-robin fashion. The emulator traces the external address and data buses, the internal ROM address and data buses, the CPU and queue status, the DMMKO/DMMK1 pins, and the eight external logic probes. Display TMap Displays number of tasks waiting for specified semaphore and remaining number of free resources. Displays a list of all tasks currently being managed by RTOS and their state. The IE-70320 has eight trace specification points. One of these is reserved for setting a trigger point in the GO command. The other seven can be specified as trace trigger, enable, disable, qualify, or check points. Check points are used to display the register, memory, or input/output contents each time a certain event or ad- 3 NEe IE·70320 System Software The IE-70320 is controlled by the MIOS/U proprietary operating system. Command input is simplified by eight function keys (providing a choice of up to 24 softkeys within any menu level). The dynamically reprogrammed softkeys visually prompt the user with the next valid set of commands. The softkeys are at the bottom of the display and correspond to the eight function keys. To select a command, the desired softkey is entered, and the softkeys are automatically relabeled with the next set of commands. Table 1 shows some of the utility programs provided with the emulator. Table 1. IE-70320 Utility Programs Utility Function EMUV25 IE-70320 emulator software KERMIT Communication program for file transfer FILESEFW File management for system di sks EDITOR Full !lcreen editor FORMAT Floppy-disk formatter PROM Built-In EPROM programmer control program TERMINAL Terminal utility program for file transfer between emulator and another intelligent device SYMBOL Symbol Table Converter: converts non-SROC symbol formats to SROC format. OBJCONV Object File Converter: converts object files to and from the Motorola SROC format. TIMESET Internal battery backed-up clock and calendar setting DEFINE Softkey definition MDEVICE Disk format specification Connecting to Host Systems Host systems may be connected to the IE-70320 by the RS-232C connectors at the rear of the machine. Parameters such as baud rates, character length, parity, and number of stop bits are software programmable to suit the system being attached. The KERMIT communications program is supplied with the emulator and can be used for uploading and downloading files. NEC currently provides KERMIT for the VAX.® under VMS® and UNIXTM 4.2 BSD or Ultrix®, the IBM PC, PC/XT®, IBM PC AT®, or compatibles under PC-DOS® or MS-DOS. VAX, VMS, and Ultrix are registered trademarks of Digital Equipment Corporation. UNIX is a trademark of AT&T Bell Laboratories PCJ)(T, PC AT, and PC-DOS are registered trademarks of International Business Machines Corporation. 4 Files may also be transferred to the emulator via the RS-232C ports by using the TERMINAL utility. The emulator acts as a terminal for data transfer. Another means of loading files into the IE-70320 is available with the Multiple File Handler utility, a program that runs in the emulator itself and which is also supplied as part of the IE-70320 package. The Multiple File Handier allows the emulator to read MS-DOS disks, among others. Symbolic Debug and Line Assembly/ Disassembly The IE-70320 supports complete symbolic debugging of programs produced by NEC's RA70320 Relocatable Assembler package and various other third-party software packages, including those of Intel and Microsoft. The symbols can be used as address and data constants in break, trace, and emulation control commands and are displayed during disassembly. A symbolic line assembler is also available to make modifications to existing progr~ms or to enter code from the keyboard. Specifications Table 2 gives the electrical, environmental, and physical specifications of the equipment. Table 2. IE-70320 Specifications Ac power Temperature 90 to 132 V, 50/60 Hz, 400 W maximum Operating: +5 to +40°C Storage: -20 to +50°C Relative humidity (noncondensing) .. Operating: 20 to 80% Weight Main chassis: 40 pounds Storage: 10 to 90% Pod and cables: 4-3/4 pounds Dimensions (L x W x H) 19.7 x 16.7 x 8.7 inches Documentation The following manuals are supplied with the in-circuit emulator.. Additional copies may be obtained from NEC Electronics Inc. • • • • IE-70320 In-Circuit Emulator User's Manual IE-70XXX-A Hardware User's Manual IE-70XXX-A Software Utilities User's Manual IE-70320-RTOS I-t-PD79011 RTOS System Software User's Manual NEe NEe Electronics Inc. IE-70330 In-Ci rcuit Emulator for pPD70330/70332 (V3S) Microcomputers Description o 16 user-programmable software breakpoints The IE-70330 is a portable, stand-alone, in-circuit emulator that provides hardware emulation and software debug capabilities for the /tPD70330/70332 (V35 TM) 16bit, single-chip microcomputers. o Trace buffer: machine cycle, mnemonic, and jump trace display - 2047 frames by 108 bits - Programmable trigger point and trace qualifiers Real-time and single-step emulation, coupled with sophisticated memory mapping, symbolic debugging, macrofile command facilities, and user-programmable breakpoints and trace qualifiers, create a powerful development environment. Command entry is simplified by eight dynamically reprogrammed function keys, called softkeys, that visually prompt a user with the next level of commands. User programs can be uploaded/downloaded from a variety of host systems by a serial link, or they can be loaded directly from an MS-DOS® disk. Features o Portable, stand-alone, in-circuit emulator - 9.5-inch amber CRT display - Two 5-inch, 640K-byte floppy-disk drives - ASCII keyboard with eight function keys - EPROM programmer: 2732, 2764, 27128, 27256, 27512 - Supports NEC's V20®, V30®, V33 ™ , V25 ™ , V40 ™ , V50 TM, V53 ™, and V60 ™ microprocessors o Precise real-time and single-step emulation - Programmable internal clock: 1 to 16 MHz in 1-kHz steps - Up to 16-MHz external TTL clock o Memory and I/O space mappable in 4K-byte blocks o 32K bytes of memory for internal ROM emulation o 124K bytes of memory for prototype memory emulation; expandable to 636K bytes o Eight user-programmable hardware breakpoints - Real-time break on address, data, CPU status, or external probes - Break on pass count and register, memory, or I/O values - Selectable as execution or nonexecution V20 and V30 are registered trademarks of NEC Corporation. V25, V33, V3S, V40, V50, V53, and V60 are trademarks of NEC Corporation. MS-DOS is a registered trademark of Microsoft Corporation. !I022O o Eight optional probes for tracing target system signals o Full symbolic debug capabilities o Symbolic line assembler and disassembler o Macrofile command capability o Dual window display in emulation mode o Soft key and menu-driven user input Ordering Information Part Number Description IE-70330 -AQ08 In-circuit emulator for ~PD70330/70332 (V35) IE-70330-RTOS ~PD79021 RTOS system software for IE-70330-A008 EP-70320L ~PD70320/70322 IE-70000 -2957 Optional 512K-byte expansion emulation memory IE-70000 -2954 Optional external logic probes EP-70320GJ Optional 94-pin plastic QFP package probe adapter for use with EP-70320L 84-pln PLCC emulation probe Hardware The IE-70330 (figure 1) consists of a system chassis with a detachable ASCII keyboard and an emulation pod unit. ~ The chassis houses a 9.5-inch amber CRT, two 5-1/4 inch 640K-byte floppy-disk drives, an EPROM programmer, card cage, power supply, and five control boards. The boards are main CPU, expansion system memory, emulation controll.and II, and trace emulation memory. I:11III The main CPU board contains a supervising CPU, 512K bytes of system memory, and the peripheral interfaces. The expansion system memory board provides an additional 512K bytes of system memory. NEe IE·70330 The two emulation control boards control memory mapping, event detection, and the break and emulation CPU status circuitry. The trace emulation board contains a trace buffer and 124K bytes of external emulation memory. The optionaIIE-70000-2957, a 512K-byte expansion emulator memory board, may be installed to increase the external emulator memory to 636K bytes. The emulation pod unit houses the p.PD70339 EVACHIP used to emulate the p.PD70330 or p.PD70332, the internal ROM emulation memory, the high-speed buffers, and the clock selection logic. This unit can be connected to the target system by the EP-70320L, an emulation probe for the 84-pin PLCC. For the 94-pin plastic QFP, an EP70320GJ probe adapter is also needed. The IE-70330 supports the following external interfaces: two RS-232C serial ports, one Centronics parallel printer port, and one RG B video output. An optional external logic probe unit (IE-70000-2954) is also available. The eight probes contained in the unit allow signals on the target system to be used in the break and trace functions. The emulator can be converted to support NEC's V20, V25, V30, V33, V40, V50, V53, and V60 CMOS microprocessors by exchanging the appropriate control boards and the emulation pod unit. Figure 1. IE-70330 System Configuration Memory and I/O Mapping Capabilities The IE-70330 contains two kinds of emulation memory: 32K bytes of high-speed RAM that can be accessed in one clock cycle per byte for emulating the internal ROM of the p.PD70332, and 124K bytes (expandable to 636K bytes) of two-cycle RAM (0 wait states) for emulating external RAM or ROM. 2 The complete 1M-byte memory space of the p.PD70330/ 70332 must be mapped into one of the following categories: INTROM Internal p.PD70332 ROM emulation memory (0, 8, 16, 32K bytes selectable) ROM External ROM emulation memory (read only) External RAM emulation memory (read/write) Memory resident in target system (read/write) RAM Target Locked Access inhibited memory (remaining unmapped addresses) All memory mapping except INTROM is executed in 4K-byte blocks using the Configure and Memory softkey commands. If an address that has been mapped as "Iocked" is accessed, a break in emulation will occur. The complete 64K-byte input/output space of the p.PD70330 or p.PD70332 must be mapped in 4K-byte blocks either to the RAM emulation memory, to the target system, or as "locked" memory. Emulation The IE-70330 executes p.PD70330 and p.PD70332 user programs in real time in four different modes: break, trace, count, and time. (1) In break emulation mode, the program is run in real time or in single step until a breakpoint is encountered. (2) In trace emulation mode, the program is executed until the trace buffer is filled. (3) In count emulation mode, the emulator counts the number of times a particular trigger point is reached within a given set of conditions. (4) In time emulation mode, the emulator times execution between the specified enable and disable points. The measurable time range is from 0 to 72 minutes (in microseconds). Once emulation is stopped in either break or trace mode, the trace automatically displays one screen of data, ending on the last instruction executed. In count or time mode, the current count or elapsed time is displayed. At this pOint, it is possible to display the contents of memory, the general-purpose and special registers, the symbol tables, directories, and other information. All can be displayed individually or by split screen with the trace display. The windows may be scrolled independently. NEe Prior to the start of emulation, the user can specify the internal ROM size (if any), whether an external or internal clock will be used for emulation, and whether the NMI, READY, and HOLD signals from the target system should be enabled or disabled. If the internal clock is used, it can be set from 1 to 16 MHz in 1-KHz steps. Break Capabilities The IE-70330 has eight hardware breakpoints. Seven can be set to occur on a real-time event or a non-real-time condition. The remaining one is reserved for setting a real-time address breakpoint in the GO command. A real-time breakpoint can be set to occur on an address, a data val ue, a CPU state, or an external probe status. A non-real-time breakpoint can be set to occur after an address/condition setting has been satisfied for a certain number of times (maximum 4096). Conditions pertaining to the general-purpose registers, memory locations, input/output locations, or external probes can be defined. For non-real-time breakpoints, the user program is executed in real time until it reaches the break address. Emulation stops while the conditions are checked. If the conditions are not satisfied, emulation will continue in this manner until they are met. To distinguish between an address condition occurring at any memory read/write access or the execution of an instruction, each breakpoint can be tagged with either a nonexecution or execution flag. Up to 16. software breakpoints can be set plus an additional one in the GO command. To set a software breakpoint, the emulator replaces an instruction in the user's program with a BRK 0 instruction. A break will occur when this instruction is executed, and the user's program will be restored. This capability is not available for program code executing out of ROM. Trace Capabilities The trace buffer is 2047 frames by 108 bits wide and sampling is done on every machine cycle. The buffer is filled in a round-robin fashion. The emulator traces the external address and data buses, the internal ROM address and data buses, the CPU and queue status, the DMAAKO/1 pins, and the eight external logic probes. IE·70330 The IE-70330 has eight trace specification points. One of these is reserved for setting a trigger point in the GO command. The other seven can be specified as trace trigger, enable, disable, qualify, or check points. Check points are used to display the register, memory, or input/output contents each time a certain event or address occurs. The trace buffer can be split into a maximum of 128 partitions to allow tracing of particular segments of the user program (i.e., subroutines). The trace data may be displayed in one of three modes: machine, disassembly, or jump. In machine display mode, all bus activity is displayed in machine code. In disassembly mode, all instructions are disassembled. In jump mode, only instructions that alter program flow are displayed. System Software The IE-70330 is controlled by the MIOS/U proprietary operating system. Command input is simplified by eight function keys (providing a choice of up to 24 softkeys within any menu level). The dynamically reprogrammed softkeys visually prompt the user with the next valid set of commands. The softkeys are at the bottom of the display screen and correspond to the eight function keys on the keyboard. To select a command, the desired softkey is entered, and the. softkeys are automatically relabeled with the next set of commands. Table 1 lists some of the utility programs provided with the emulator. IE-70330-RTOS System Software The optionaIIE-70330-RTOS system software allows the IE-70330 to be used for hardware emulation and software debugging for the p.PD79021, a V35 16-bit single- ~ chip microcomputer with an on-board real-time operating system (RTOS). The RTOS object code is loaded into the 16K bytes of internal ROM emulation memory whenever the IE-70330 is powered uporthe CAncel command is executed. l:.1li In addition, the IE-70330-RTOS system software adds the commands in table 2 to the IE-70330. 3 NEe IE-70330 Files may also be transferred to the emulator via the RS-232C ports by using the TERMINAL utility. The emulator acts as a terminal for data transfer. Table 1. IE-70330 Utility Programs Utility Function EMUV35 IE-70330 emulator software KERMIT Communication program for file transfer FILESE~ File management for system disks EDITOR Full screen editor FORMAT Floppy-disk formatter PROM Built-in EPROM programmer control program TERMINAL Terminal utility program for file transfer between emulator and another intelligent device SYMBOL Symbol table converter; converts non-SROC symbol formats to SROC format OBJCONV Object file converter; converts object files to and from the Motorola SROC format TIMESET Internal battery backed-up clock and calendar setting DEFINE Softkey definition MDEVICE Disk format specification Table 2. IE-70330-RTOS Commands Another means of loading files into the IE-70330 is available with the Multiple File Handler utility, a program that runs in the emulator itself and is supplied as part of the IE-70330 package. The Multiple ,File Handler allows the emulator to read MS-DOS disks, among others. Symbolic Debug and Line Assembly! Disassembly The IE-70330 supports complete symbolic debugging of programs produced by NEC's RA70320 RelocatableAssembler package and various other third-party software packages, incl uding those of Intel and Microsoft. The symbols can be used as address and data constants in break, trace, and emulation control commands and are displayed during disassembly. A symbolic line assembler is also available to make modifications to existing programs or to enter ~ode from the keyboard. Command Description Specifications Mem/reg SYstime Sets RTOS system time. Display TStat Displays system time, task status, number of unused memory blocks, segment value of all messages queued in the TCB, start address of initialization routine, and interrupt return address in the TCB for a specified task. Table 3 gives the electrical,environmental, and physical specifications of the equipment. mailbo~. Display MAilbox Displays status of specified Display SEmaph Displays number of tasks waiting for specified semaphore and remaining number of free resources. Display TMap Displays a list of all tasks currently being managed by RTOS and their current state. Table 3. IE-70330 Specifications Ac power Temperature 90 tQ 132 V, 50/60 Hz, 400 W maximum Operating: +5 to +40°C Storage:-20 to +50°C Relative humidity (noncondensing) Operating: 20 to 80% Storage: 10 to 90% Weight Main chassis: 40 pounds Dimensions (L x W x H) 19.7 x 16.7 x 8.7 inches Pod and cables: 4-3/4 pounds . Connecting to Host Systems Host systems may be connected to the IE-70330 through RS-232C connectors at the rear of the machine. Parameters such as baud rates, character length, parity, and number of stop bits are software programmable to suit the system being attached. The KERMIT communications program is supplied with the emulator and can be used for uploading and downloading files. NEC currently provides KERMIT for the VAX® under VMS® and UNIXTM 4.2BSD or Ultrix®, the IBM PC, PC/XT®, IBM PC AT®, or compatibles under PC-DOS® or MS-DOS. VAX, VMS, and Ultrix are registered trademarks of Digital Equipment Corporation. UNIX is a trademark of AT&T Bell Laboratories. PC/XT, PC AT, and PC-DOS are registered trademarks of International Business Machines Corporation. 4 Documentation The following manuals are supplied with the in-circuit emulator. Additional copies may be obtained from NEC Electronics Inc. • • • • IE-70330 In-Circuit Emulator User's Manual IE-70XXX-A Hardware User's Manual IE-70XXX-A Software Utilities User's Manual IE-70330-RTOS, Il-PD79021 RTOS System Software User's Manual NEe NEG Electronics Inc. RA70116 Relocatable Assembler Package for V20 -V50 Microprocessors Description Ordering Information The RA70116 Relocatable Assembler package converts symbolic source code for the ~PD70108 (V20®) , jA-PD70116 (V30®) , ~PD70208 (V40™), and jA-PD70216 (V50™) microprocessors into executable absolute address object code. The package consists offour separate programs: an assembler (RA70116), a linker (LK70116), a hexadecimal format object code converter (OC70116), and a librarian (LB70116). Part Number Package RA70116-D52 MS-DOS, 5-1/4" double-density floppy-diskette RA70116-WT1 VAX/VMS, 9-track 1600-BPI magnetic tape RA70116-VXT1 VAX/UNIX 4.2BSD or Ultrix, 9-track 1600-BPI magnetic tape RA70116 translates a symbolic source module into a relocatable object module. This symbolic source module can contain both V20-V50 microprocessor instructions and Intel 8087 Floating-Point Arithmetic Coprocessor instructions. The assembler verifies that each instruction assembled is valid and produces a listing file and a relocatable object module. LK70116 combines relocatable object modules and absolute load modules and converts them into an absolute load module. OC70116 converts an absolute object module or an absolute load module to an expanded hexadecimal (7-bit ASCII) object file. LB 70116 allows commonly used relocatable object modules to be stored in one and linked into multiple programs, greatly increasing programming efficiency. When the input of the linker contains a library file, the linker first extracts only those modules required to resolve external references from the file and relocates and links them. file Features o Absolute address object code output SOFTWARE DESCRIPTION Program Syntax An RA70116 source module consists of a series of code, data, or stack segments. Each segment consists of statements composed of up to four fields: symbol, mnemonic, operand, and comment. The symbol field may contain a label whose value is the instruction or data address, or a name that represents an instruction address, data address, or constant. The mnemonic field may contain an instruction or assembler directive. The operand field contains the data or expression for the specified instruction or directive. Explanations of statements may be inserted in the comment field. Character constants are translated into 7-bit ASCII codes. Numeric constants may be specified as binary, octal, decimal, or hexadecimal. Arithmetic expressions may include the operators +, -, *, I, MOD, OR, AND, NOT, XOR, EO, NE, LT, LE, GT, GE, SHR, SHL, LOW, HIGH, PTR, SHORT, THIS, SEG, OFFSET, SMSIZE, GRSIZE, SMOFFSET, GROFFSET, TYPE, LENGTH, SIZE, MASK, WIDTH, (), [ ], period (.), colon (:), < >. o Macro and code macro capability Macro and Code Macro Capability o User-selectable and directable output files RA70116 allows the definition of macrocode sequences with parameters, LOCAL symbols, and special repeated code sequences. The macrocode sequence is different from a subroutine call. That is, the invocation of a macro in the source code results in the direct replacement of a macro call with the defined code sequence. o Extensive error reporting o Powerful Librarian o Runs under the following operating systems: - MS-DOS® - VAXNMS® and VAX/UNIX® 4.2BSD or Ultrix® V20 and V30 are registered trademarks of NEC Corporation. V40 and V50 are trademarks of NEC Corporation. MS-DOS is a registered trademark of Microsoft Corporation. VAX., VMS, and Ultrix are registered trademarks of Digital Equipment Corporation. UNIX is a trademark of AT&T Bell Laboratories. 50223 RA70116 also allows the definition of code macros to give the user the capability of defining a new instruction (mnemonic). Although an instruction definition could also be defined using the ordinary macro facility, code macros specify the allowable operand types for the new instructions whereasordinary macros cannot. m • NEe RA70116 Assembler Directives Assembler directives give instructions to the assembler but are not translated into machine code during assembly. Basic assembler directives include those for storage definition and allocation (DB, Ow, DO, DBS, DWS, DDS, STRUC/ENDS, RECORD); symbol control (EQU, LABEL, PURGE); and location counter control (ORG, EVEN, ALIGN). Figure 1. Relocatable Assembler Functional Diagram Program control directives include those for segment definition and control (SEGMENT/ENDS, PROC/END P, ASSUME, GROUP, END); linkage (NAME, PUBLIC, EXTRN); and PARITY. The relocation types for SEGMENT/ENDS directives are specified in the operand column and include BYTE, WORD, PARA, PAGE, and INPAGE. The combination types of PUBLIC, COMMON, AT, STACK, and MEMORY, which are also specified in the operand column, define the means of linking segments and groups of the same name. Assembler Controls Two types of assembler controls are available for the RA70116. • Basic controls (specified in the assembler command line) - File specification - Output file selection '- Output file destination - Listing format controls - Debug information output selection - Symbol case selection - Macro processing selection • General controls (speCified in the source program) - Inclusion of other source files - Page eject - Generation/suppression of listing - Generation/suppression of macro listings - Listing titles A list file may contain the complete assembly listing, or it may contain only lines with errors and a symbol or cross-reference table. The symbol table lists all defined symbols in alphabetical order and also shows their types, attributes, and the values initially assigned to them. The cross-reference table contains all defined symbols as well as the numbers of all statements referring to them. The object file contains the relocatable object module. The format of this module is an NEC proprietary relocatable object module format. Figure 1 is a functional diagram of the assembler. 2 83YL-6471A Linker The LK70116 linker combines relocatable object modules and absolute load modules and produces one absolute load module. See figure 2. The controls for LK70116 may be specified in either the command line or in a parameter file. In addition to being able to specify the module name and the starting address and order for code/data/stack segments, you can also protect areas of memory from being .assigned. Furthermore, you can instruct the program to create a list file containing a link map, a local symbol table, or a pUQlic symbol table. The absolute load module contains symbol information for the symbolic debugger and absolute object code. NEe Figure 2. RA70116 Unker Functional Diagram Figure 3. Hexadecimal Object Code Converter Functional Diagram Library Module File System , Console System Console - Temporary Work Files * Absolute addresses with no external references. 83YL·6473A Librarian 83YL·6472A Hexadecimal Object Code Converter The OC70116 object code converter translates an absolute load module file into an expanded hexadecimal format (7-bit ASCII) file that may be downloaded to a PROM programmer. Addresses may be specified as being output in the order in which they were input or in ascending order. Figure 3 is a functional diagram of the hexadecimal object code converter. The LB70116 librarian creates and maintains files containing relocatable object modules. The program reduces the number of files that need to be linked together by allowing several modules to be kept in a single file. It also provides an easy way to link frequently used. modules into programs. Modules may be added to, deleted from, or replaced within a library file. Operating Environment The RA70116 package can be supplied to run under several different operating systems. One version is for an MS-DOS system with one or more disk drives and at least 512K bytes of system memory. Other versions run on a Digital Equipment Corporation VAX computer with UNIX 4.2 BSD or Ultrix, or VMS (Version 4.1 or later) operating systems. 3 II • NEe RA70116 Downloading Files Into the Emulator DOCUMENTATION Absolute load modules produced by the RA70116 package for the V40 and V50 can be debugged using the NEC IE-70208 (V40) or IE-70216 (V50) stand-alone in-circuit emulator. Communication between these emulators and the host system is through an RS-232C serial line using the KERMIT communication protocol developed at Columbia University. With the appropriate version of the KERMIT Communication Program running on both the emulator and host system, absol ute load modules or hexadecimal object code files may be transferred between machines. For further information on source program formats, assembler operation, and actual program examples, refer to the following manuals supplied with the RA70116. Additional copies may be obtained from NEC Electronics Inc. A version of the KERMIT Communication Program is supplied with the IE-70208 and IE-70216. Versions of KERMIT run on the IBM PC, PC/XT®, PC AT®, or compatibles under MS-DOS, and the DEC VAX under VMS, UNIX 4.2BSD or Ultrix. An appropriate version is provided with each relocatable assembler package at no extra charge. Versions of KERMIT for other host systems are available directly from Columbia University. A second means of loading files into the emulator is also available in the Multiple File Handler, a utility program that runs in the emulator and is supplied with the IE-70208 and IE-70216. The Multiple File Handler allows the emulator to read MS-DOS formatted disks, among others. . PC/XT, PC AT, and PC-DOS are registered trademarks of International Business Machines Corporation. 4 • RA70116 V20-V50 Relocatable Language Manual • .RA70116 V20-V50 Relocatable Operation Manual (MS-DOS) • RA70116 V20-V50 Relocatable Operation Manual (UNIX) • RA 70116 V20-V50 Relocatable Operation Manual (VMS) Assembler Package Assembler Package Assembler Package Assembler Package LICENSE AGREEMENT RA70116 is sold under terms of a license agreement included with purchased copies of the assembler. The accompanying card must be completed and returned to NEC Electronics Inc. to register the license. Software updates are provided to registered users. NEe RA7.013~ Relocatable Assembler Package for V33 Microprocessor NEe Electronics Inc. Description The RA70136 Relocatable Assembler package converts symbolic source code for the #-,PD70136 (V33 TN) microprocessor into executable absolute address object code. The package. consists of five separate programs: an assembler (RA 70136), a linker (LK70136), an extended mode locater (EL70136), a hexadecimal format object code converter (OC70136), and a librarian (LB70136). RA70136 translates a symbolic source module into a relocatable object module. This symbolic source module can contain both V33 microprocessor instructions and NEC #-,PD71291 Advanced Floating-Point Processor (AFPP) instructions. The assembler verifies that each instruction assembled is valid and produces a listing file and a relocatable object module. LK70136 combines relocatable object modules and absolute load modules and converts them into an absolute load module. If V33 normal addressing mode is being used, OC70136 is used to convert an absolute object module or an absolute load module to an expanded hexadecimal (7-bit ASCII) object file. If V33 extended addressing mode is being used, the EL70136 converts load modules produced by LK70136 to an extended load module file in extended COFF format. LB70136 allows commonly used relocatable object modules to be· stored in. one file and linked into multiple programs, greatly increasing programming efficiency. When the input of the linker contains a library file, the linker first extracts only those modules required to resolve external references from the file and relocates and links them. Features Cl Cl Cl Cl Absolute address object code output - In extended hexadecimal format for normal addressing mode -In extended COFF format for extended add ressing mode Macro and code macro capability User-selectable and directable output files Extensive error reporting V33 Is a trademark of NEC Corporation. MS·DOS Is a registered trademark of Microsoft Corporation. VAX, VMS, and Ultrlx are registered trademarks of Digital Equipment Corporation. UNIX Is a trademark of AT&T. Cl Cl Powerful Librarian Runs under the following operating systems -MS-DOS® - VAXNMS® and VAX/UNIXTM 4.2BSD or Ultrix™ Ordering Information Part Number Description RA70136·D52 MS·DOS, 5-1/4" double-density floppy diskette RA70136·WT1 VAX/VMS, 9·track 1600·BPI magnetic tape RA70136·VXT1 VA:XIUNIX 4.2 BSC or Ultrlx, 9·track 1600·BPI magnetic tape SOFTWARE DESCRIPTION Program Syntax An RA70136 source module consists of a series of code, data, or stack segments. Each segment consists of statements composed of up to four fields: symbol, mnemonic, operand, ~nd comment. The symbol field may contain a label, whose val ue Is the instruction or data address, or a name that r~presents an instruction address, data address, or constant. The mnemonic field may contain an instruction or assembler directive. The operand field contains the data or expression for the specified instruction or directive. explanations for statements maybe inserted in the comment field. Character constants are translated into 7-bit ASCII codes. Numeric constants may be specified as binary, octal, decimal, or hexadecimal.. Arithmetic expressions may include the operators +, -, ., I, MOD, OR, AND, NOT, XOR, EO, NE, LT, LE, GT, GE, SHR, SHL, LOW, HIGH, PTR, SHORT, THIS, SEG, OFFSET, SMSIZE, GRSIZE, SMOFFSET, GROFFSET, TYPE, LENGTH, SIZE, MASK, WIDTH, (), []i period (.), colon (:), < >. Macro and Code Macro Capability RA70136 allows the definition of macrocode sequences with parameters, LOCAL symbols, and special repeated code sequences. The macrocode sequence is different from a subroutine call. That is, the invocation of a macro in the source code results in the direct replacement of a macro call with the defined code sequence. RA70136 also allows the definition of code macros to give the user the capability of defining anew instruction (mnemonic). Although an instruction definition could m • NEe RA70136 also be defined using the ordinary macro facility, code macros specify the allowable operand types for the new instructions whereas ordinary macros cannot. Assembler Directives Assembler directives give instructions to the assembler but are not translated into machine code during assembly. Basic assembler directives include those for storage definition and allocation (DB, DO, DO, OS, Dl, DBS, r:J.NS, DDS, DOS, DSS, DlS, STRUC/ENDS, RECORD); symbol control (EaU, LABEL, PURGE); and location counter control (ORG, EVEN, ALIGN). The object file contains the relocatable object module. The format of this module is an NEC proprietary relocatable object module format. Figure 1 is a functional diagram of the assembler. Figure 1. Relocstable Assembler Functional Dillgram r:m. Program control directives Include those for. segment definition and control (SEGMENT/ENDS, PROC/ENDP, ASSUME, GROUP, END); linkage (NAME, PUBLIC, EXTRN); and PARITY. The relocation types for SEGMENT/ENDS directives are specified in the operand column and include BYTE, WORD, PARA, PAGE, and INPAGE. The combination types of PUBLIC, COMMON, AT, STACK, and MEMORY, whIch are also specified in the operand column, define the means of linking segments and groups of the same name. Assembler Controls Two types of assembler controls are available for the RA70136. • Basic controls (specified in the assembler .command line) - File specification - Output file selection - Output file destination - Listing format controls - Debug information output selection - Symbol case selection '- Macroprocessing selection • General controls (specified in the source program) -Inclusion of other source files - Page eject - Generation/siJppressionof listing - Generation/suppression of macro listings - Listing titles A list file may contain the complete assembly listing, or it may contain only lines with errors and a symbol or cross-reference table. The symbol table lists all defined symbols in alphabetical order and also shows their type~, attributes, and the values initially ass,igned to them. The cross-reference table contains all defined symbols as well as the numbers of all statements referring to them. ' 2 Source Module File Include File System Console 83VL-6474A Linker The lK70136 linker combines relocatable object modules and absolute load modules and produces one absolute load module. See figure 2. The controls for lK70136 may be specified in eitherthe.command line or In a parameter file. In addition to being ,able to specify the module name and the starting address and order for code/data/stack segments, you can also protect areas of memory. from being assigned. Furthermore, you can instruct the program to create a list file containing a 1i1J~ map, a local symbol table, or a public symbol table.' The absolute load module contains symbol information for the symbolic debugger and absolute object code. NEe RA70136 Figure 3. HeXJIdecimalObject Code Converter FunctlolllllDi.,am Figure 2. Unker FunctlonalDlllIJram Object Module File * System Console - Absolute Load Module File Temporary Work Files * Absolute addresses with no external references. 83YL·6476A Extended Mode Locater 83YL·6475A Hexadecimal Object Code Converter The OC70136 object code converter translates an absolute load module file into an expanded hexadecimal format (7-bit ASC II) file that may be downloaded to a PROM programmer. This program is used with the V33 in normal addressing mode (1 M-byte address space). Addresses may be specified as being output in the order in which they were input or in ascending order. Figure 3 is a functional diagram of the hexadecimal object code converter. The EL70136 extended mode locater converts multiple load modules produced by LK70136 Into one extended load module file in extended COFF format (figure 4). This program is used with the V33 in extended address mode (16M-byte address space). Starting addresses for each load module are specified in the Locate Information file. The name of this file along with the name of the extended load module file and any locater options are included in the command line when EL70136 is invoked. EL70136 can be instructed to create a locate map file and to include debugging information in the extended load module file. To support debugging with the IE70136, EL70136 also sets initial values for the IE-70136 . . . PGR tables in the extended load module file. ~ To simplify the task of using the extended addressing mode of the V33, NEC Electronics provides three subroutines with the RA70136 package. (1) V33_MAP. Maps the #,PD70136 Page Registers (PGRs) (2) V33-BRK. Branches from the normal address mode to the interrupt routine starting address in the extended address mode. (3) V33_RET. Branches from the extended address mode to the interrupt routine starting address in the normal address mode. 3 ttiEC RA70136 Figure 4. Extended Locater Functional Dlllllram Load Module File 1 Ultrix. An appropriate version is provided with each relocatable assembler package at no extra charge. Versions of KERMIT for other host systems are available directly from Columbia University. A second means of loading files into the emulator is also available in the Multiple File Handler, a utility program that runs in the emulator and is supplied with the IE-70136. The Multiple File Handler allows the emulator to read MS-DOS formatted disks, among others. EL70136 Extended Mode Locater DOCUMENTATION 83VL-64nA Librarian The LB70136 librarian creates and maintains files containing relocatable object modules. The program reduces the number of files that need to be linked together by allowing several modules to be kept in a single file. It also provides an easy way to link frequently used modules into programs. Modules may be added to, deleted from, or replaced witl1in a library file. Operating Environment The RA70136 package can be supplied to run .under many different operating systems. One version is for an MS-DOS system with one or more disk drives and at least 512K bytes of system memory. Other versions run on a DEC VAX computer with UNIX 4.28S0 or Ultrix, or VMS (Version 4.1 or later) operating systems. Downloading Files Into the Emulator Absolute load modules and extended load modules produced by the RA70136 package for the V33 can be debugged by using the NEC IE-70136 stand-alone incircuit emulator. Communication between the IE-70136 and the host system is through an RS-232C serial line using the KERMIT communication protocol developed at Columbia University. With the appropriate version of the KERMIT Communication Program running on both the emulator and host system, absolute load modules, extended load modules, or hexadecimal object code files may be transferred between machines. A version of the KERMIT Communication Program is supplied with the IE-70136.. Versions of KERMIT run on the IBM PC, PC/XT®, PC AT®, or compatibles under MS-DOS, and the DEC VAX under VMS, UNIX 4.28SD or 4 For further information on source program formats, assembler operation, and actual program examples, refer to the following manuals supplied with the RA70136. Additional copies may be obtained from NEC Electronics Inc. RA70136 V33 Relocatable Assembler Package Language Manual RA70136 V33 Relocatable Assembler Package Operation Manual. LICENSE AGREEMENT RA70136 is sold under terms of a license agreement included with. purchased copies of the assembler. The accompanying card must be completed and returned to NEC Electronics Inc. to register the license. Software updates are provided to registered users. PC/XT and PC AT are registered trademarks of International Business Machines Corporation. . NEe NEC Electronics Inc. Description The RA 70320 Relocatable Assembler package converts symbolic source code for the V25 ™N35 ™ family of microprocessors into executable absolute address object code. The package consists of four programs: RA70320 assembler, LK70320 linker, OC70320 hexadecimal object code converter, and LB70320 librarian. The RA70320 assembler translates a symbolic source module into a relocatable object module. The LK70320 linker combines relocatable object modules and absolute load modules and converts them into one absolute load module. The OC70320 converts an absolute object module or absolute load module to an expanded hexadecimal (7-bit ASCII) object file. The LB70320 librarian allows commonly used relocatable object modules to be stored in one file and linked into multiple programs, greatly increasing programming efficiency. When the input of the linker contains a library file, the linker first extracts only those modules required to resolve external references from the file and then relocates and links these modules. RA70320 Relocatable Assembler Package for V25N35 Microcomputers Ordering Information Part Number Description RA70320-D52 MS-DOS; 5-1/4" double-density floppy diskette WT1 VAX/VMS; 9-track 1600 BPI magnetic tape VXT1 VAX/UNIX 4.2B5D or Ultrix; 9-track 1600 BPI magnetic tape Assembler The RA70320 assembler program translates a symbolic source module into a relocatable object module by first verifying that each instruction assembled is valid for the' target microprocessor and then producing a list file and a relocatable object module (figure 1). Figure 1. Relocatable Assembler Functional Diagram Source Module File I Features o Absolute address object code output o Macro and code macro capability o User-selectable and directable' output files o Extensive error reporting o Powerful librarian o Multisystem compatibility -MS-DOS® -VAX®NMS® - VAX/UNIXTM 4.2BSDor Ultrix® Include File System Console 1 RA70320 Relocatable Assembler ~ I--'- j J Object Module File Assembler List File Temporary Work Files 83-004615A V25 and V35 are trademarks of NECCorporation. MS-DOS is a registered trademark of Microsoft Corporation. VAX., VMS, and Ultrix are registered trademarks of Digital Equipment Corp. UNIX is a trademark of AT&T. 50230 NEe RA70320 Program Syntax An RA70320 source module consists of a series of code, data, or stack segments. Each segment contains lines composed of up to four fields: symbol, mnemonic, operand, and comment. The symbol field may contain either a label-whose value is an instruction or data address-or a name that represents an instruction address, data address, or constant. The mnemonic field may contain an instruction or assembler directive. The operand field contains the data or expression for the specified instruction or directive. Explanations forthe statements may be inserted into the comment field. Character constants are translated into 7-bit ASCII codes. Numeric constants may be specified as binary, octal, decimal, or hexadecimal. Arithmetic expressions may include the operators +, -, *, /, MOD, OR, AND, NOT, XOR, EO, NE, LT, LE, .GT, GE, SHR, SHL, LOW, HIGH, PTR, SHORT, THIS, SEG, OFFSET, SMSIZE, GRSIZE, SMOFFSET, GROFFSET, TYPE, LENGTH, SIZE, MASK, WIDTH, (), [], period (.), colon (:), and < >. Macro and Code Macro Capability RA70320 allows the definition of macro code sequences with parameters, LOCAL symbols, and special repeated code sequences. The macro code sequence is different from a subroutine call in that the invocatiqn of a macro in the source code results in the direct replacement of a macro call with the defined code sequence. RA70320 also allows the definition of code macros to give the user the capability of defining a new instruction (mnemonic). Although an instruction definition could also be defined using the ordinary macro facility, code macros specify the allowable operand types for the new instructions whereas ordinary macros cannot. Directives Assembler directives give instructions to the program but are not translated into machine code during assembly. Basic directives include those for storage definition and allocation (DB, Ow, DO, DO, DT, DBS, DWS, DDS, DOS, DTS, STRUC/ENDS, RECORD); symbol control (EOU, LABEL, PURGE); and program counter control (ORG, EVEN, ALIGN). Program control directives include those for segment definition and control (SEGMENT/ENDS, PROC/ENDP, ASSUME, GROUP, END); special function registers and internal RAM (SETIDB, ASGNSFR); linkage (NAME, PUBLIC, EXTRN); and PARITY. 2 The relocation types for SEGMENT/ENDS directives are specified in the operand column and include BYTE, WORD, PARA, PAGE, and INPAGE. The combination types of PUBLIC, COMMON, AT, STACK, and MEMORY, which are also specified in the operand column, define the means of linking segments and groups of the same name. Controls There are two types of assembler controls for the RA70320: • Basic (specified in the assembler command line) - File specification - Output file selection - Output file destination - Listing format controls - Debug information output selection - Symbol case selection - Macro processing selection • General (specified in the source program) -Inclusion of other source files - Page eject - Generation/suppression of listing - Listing titles A list file may contain the complete assembly listing or it may contain only lines with errors and a symbol or cross-reference table. The symbol table lists all defined symbols in alphabetical order and also shows their types, attributes, and the values initially assigned to them. The cross-reference table contains all defined symbols, as well as the numbers of all statements referring to them. The object file contains the relocatable object module. The format of this module conforms to NEC's proprietary relocatable object module format. Linker The LK70320 linker combines relocatable object modules and absolute load modules and produces one absolute load module (figure 2). The controls for the linker may be specified in either the command line or ina parameter file. In addition to being able to specify the date, the module name, the starting address and the order for code/data/stack segments, it is also possible to protect areas of memory from being assigned. Furthermore, it is possible to instruct the program to create a list file containing a link map, a local symbol table, or a public symbol table. The absolute load module contains symbol information for the symbolic debugger and the absolute object code. NEe Hexadecimal Object Code Converter The OC70320 object code converter (figure 3) translates an absolute load module file into an expanded hexadecimal (7-bit ASC II) file that may be downloaded to a PROM programmer. Addresses may be specified as being output in the order in which they were input or in ascending order. RA70320 IE-70320 and IE-70330 packages. The Multiple File Handier allows the emulator to read MS-DOS formatted disks, among others. Figure 2. Unker Functlona'DI.am Library Module File Librarian The LB70320 librarian creates and maintains files containing relocatable object modules. The program reduces the number of files that need to be linked together by allowing several modules to be kept in a single file, and also provides an easy way to link frequently used modules into programs. Modules may be added, deleted, or replaced within a library file. Absolute Load Module File 1 .... l Object Module File 1 J Operating Environment The RA70320 package has been designed to run under a variety of operating systems. One version is available to run on an MS-DOS system with one or more disk drives and at least 512K of system memory. Other versions are available to run on a Digital Equipment Corporation VAX computer under the UNIX 4.2BSD, Ultrix, and the VMS (Version 4.1 or later) operating systems. Absolute Load Module File n .... Object Module File n I 1 System Console Temporary Work File. LK70320 Linker j j Absolute Load Module File Linker List File Downloading Files Into the Emulator Absolute load modules produced by the RA70320 Relocatable Assembler package can be debugged by using the NEC IE-70320 (V25) or IE-70330 (V35) stand-alone in-circuit emulator. Communication between these emulators and the host system is handled through an RS232C serial line that uses the KERMIT communications protocol developed at Columbia University. With the appropriate version of KERMIT running on both the emulator and host system, absolute load modules or hexadecimal object code files may be transferred between machines. A version of the KERMIT Communication Program is supplied with each NEC emulator. NEC supplies versions of KERMIT to run on the IBM PC, PC/XPM, PC ApM, or compatibles under MS-DOS operating systems, and the Digital Equipment VAX under VMS, UNIX 4.2BSD, or Ultrix. An appropriate version is provided with each relocatable assembler package at no extra charge. Versions of KERMIT for other host systems are available directly from Columbia University A second means of loading files into the emulator is also available in the Multiple File Handler, a utility program that runs in the emulator and is supplied as part of the 83-004616A Figure 3. HeXlldeclmalObject Code Converter Functionsl Diagram Absolute Load Module File Object Module File I System Console ~ OR ~ J OC70320 Hexadecimal Format Object Converter J Hexadecimal Object Code File * Absolute addresses with no external references 83-004617A PC/XT and PC AT are trademarks of International Business Machines Corp. 3 RA70320 Documentation. For further information on source program formats, assembler operation, and actual program examples, refer to the following manuals $upplied with the RA70320. Additional copies may be obtained from NEC Electronics Inc. • RA70320 V25N35 Relocatable Assembler Package Language Manual • RA 70320 V25N35 Relocatable Assembler Package Operation Manual. License Agreement RA 70320 is sold under terms of a license agreement included with purchased copies of the assembler. The accompanying card'musfbe completed and returned to NEC Electronics Inc. to register the license. Software updates are provided to registered users. 4 NEe NEe V25!V35 MINI-IE Plus In-Ci rcuit Emulator NEG Electronics Inc. Description The V25 MINI-IE Plus and V35 MINI-IE Plus are low-cost In-Circuit Emulators for'· the JlPD70320 (V25™), JlPD70325 (V25 Plus), JlPD70330 (V35™), and JlPD70335 (V35 Plus) microcomputers from NEC Electronics. Low cost is achieved by using an IBM PCJ)(T®, PC AT®, IBM PS/2™, or compatible machine. The control software for the MINI-IE Plus is AdVICE (Advance V-Series In~Circuit Emulator), which acts as both a monitor and debugger. Debugging with breakpoint and non-real-time tr,acing of executing programs are accomplished in software using a V25N35 microcomputer located on the MINI-IE Plus board. An optional real-time trace (RTT) board is avai lable for those who need this additional tool. o Optional real-time trace (RTl) board - 8K frames by 48-bit trace buffer·· - Two hardware breakpoints with don't care features - Eight external data inputs - Hardware trigger output - Qualifier controlled recording -32-bit timer with 250~ns resolution o Executes NEC .LNK absolute files and Microsoft .COM and .EXE files - Files can be downloaded to and uploaded from the MINI-IE Plus - Supports real-time and single-step emulation - User programmable public symbol buffer size o Emulates JlPD70325/70335 at up to 10 MHz o Controlled by powerful AdVICE monitor and . debugging program -Symbolic full screen debugger - Displays six window areas with second-level break setup window - Updates display information as program singlesteps - On-line assembler - Programmable trace and symbol buffer sizes -On-line help menus - Keyboard macros speed up repetitive operations - User definable commands - Resident operation with hot key activation - Message exchange capabilities between PC and emulator o Jumper selectable internal or external (target) clock. o Sample batch file contains demonstration program o Parallel interface with host PC; interface card and cable included Ordering Information The AdVICE software is designed to provide a very user~friendly operating-debugging interface using a custom multiwindow display. User code developed with standard PC software development tools can be directly loaded (.EXE and .MAP files) into the MINI-IEPluS. The AdVICE control program can even be left in PC memory as a background TSR while code modification is performed.. Features o Emulates JlPD70320/70330 at up to 8 MHz. o Connects to target system via flexible PLCC socket adapter - Emulation memory may be mapped to MINI-IE Plus or target system - Supports two 64K-byte mappable user emulation RAM areas o Software break and trace capabilities - Up to eight conditional breakpoints plus 'one in command line -Additional breakpoints can be given in the command line - Various actions can be programmed to take place on a break - Error checking of break entry conditions 150231-1 Part Number Description EB-V25MI NI-IE-P pPD70320/70325 MINI-IE Plus package EB-V35MINI-IE-P pPD70330/70335 MINI-IE Plus package EB-V25/35-RTT V25/V35 MINI-IE Plus real-time trace option IBM PC/XT, IBM PC AT, and IBM PS/2 are registered trademarks of International Business Machines Corporation. V25 and V35 are trademarks of NEC Corporation. NEe V25N35 MINI·IE Plus HARDWARE The V25N35 MINI-IE Plus package consists of five components. e e e e e V25N35 MINI-IE Plus box with target adapter Modified printer adapter card Interface cable Dc power plug AdVICE software and user's manual The MINI-IE Plus contains two 64K-byte blocks of static RAM that is allocated by software to any 64K-byte boundary within the 1M-byte address range of the V25/35. ROM simulation is performed by write protecting this memory. An additional64K bytes of RAM and a 12S-byte I/O block are used by the internal monitor and can be relocated by command to ~void conflicts with external addressing needs. Typical memory mapping allocates one block at the beginning of the addressspace (OOOOOH) and the other at address OFOOOOH. This may represent the final hardware configuration. The upper block would contain program code and be write protected. Any writes to this area would stop the program execution and allow the user to analyze the program. This feature allows debug when the program tries to write to ROM. Execution of the reset procedure is done by activating the target's RESET pin. Emulator hardware/software will not be reset by this action. An optional real-time trace (RTl) board can be plugged on top of the emulator card to provide a 4S-bit by SK deep trace buffer. Eight external logic pins can be monitored along with the V25N35 bus sigl1als. Command control of the EA pin of the V25N35 allows use of ROM-bas;ed devices~ After initialization, EA is forced low to access external memory, but can be forced high by command or may be controlled by the target hardware. The NMI signal is normally used by the MINI-IE Plus to stop program execution using interrupt vector 02. Use of the target NMI signal in an application is possible by assigning an unused interrupt vector in place of the normal vector. Any high-to-Iow transitions of the target NMI signal will cause the emulator to execute this new vector. The interface card is a modified printer adapter card that allows fast bidirectional communications between the host PC and the MINI-IE Plus. This card is not needed with an IBM PS/2. The interface cable connects the MINI-IE Plus to the interface card onPC/XT/AT or compatible or to the printer port of an IBM PS/2. Power for the MINI-IE Plus is supplied via the interface card. With PS/2, the dc power" plug and a user-supplied external + 5-volt power supply power the MINI-IE Plus. The flexible target adapter allows direct connection to a PLCC socket of the target hardware. The cable is approximately 16 cm long and protrudes from the front of the MINI-IE Plus box. See figure 1. Figure 1. MINI-IE Plus Front Panel Power • Connector for External Probes Connector for Target PLCC Adapter Clock Selection 83-6759A 2 NEe V251'l35 MINI-IE Plus SOFTWARE Emulation The control software (AV35N .EXE or AVRTT35N .EXE) uses the PC screen to display program and memory data. All information is updated after every command, and it keeps the user informed of the current state of the emulation. The screen is divided into seven areas. These areas display the current contents of the registers and bottom of stack, the command line, two memory dump areas with an additional ASCII dump display, the disassembler, and function key assignments. See figure 2. User programs loaded into emulator RAM can be executed in real-time or in single-step mode. Single-step mode executes only one instruction, and procedure step executes an entire subroutine or software interrupt routine. Real-time execution is command activated and terminates when a breakpoint is encountered or the user terminates execution from the keyboard. Program execution is also stopped when an exception interrupt or an interrupt with an unitialized vector occurs. Help and other setup screens, such as breakpoint menus, overlay some of the windows described above. Executing a new command will restore the display to the original screen. Figure 3 .shows the AdVICE screen with a help window and the command line prompts. Message exchange between the PC and an executing application program is provided. See figure 4. An interrupt function similar to the DOS INT21 allows communication to the application program without a keyboard or display attached to the target system. AdVICE controls all the monitor and debug functions of the V25N35 MINI-IE Plus including upload and download of programs, breaking, tracing, program execution, disassembly, line assembly, and register/memory display and manipulation. The cursor can be moved anywhere within the window displays for immediate change of the memory areas, registers, flags, and breakpoi nts. Figure 2. AdVICE Main Screen AW noo 0000 CW 3BA8 OW 0000 Bioi 0m IX IY BP SP 0000 0000 0000 OOFE PC OOOF Stack +0 +2 HS 0040 +4 FS 0040 Resident +6 PS F800 DS noo ES 0000 SS 0040 1 ) 1 RESET: 0000 B8FFFF 0003 8E08 0005 C6060FOOF7 OOOA B800F7 0000 8E08 OOOF C606020FFF 0014 C606E10FB2 0019 C706E80F5555 2 FS:OOOO FS:0010 FS 0020 FS 0030 FS 0040 1 Step FfFF 423E 23C3 A352 0 CC 47 FF FF 22 1 OF 40 FF FF 44 2 42 FE FF FF CE MOV MOV MOV MOV MOV MOV MOV MOV 3 6C FB FF FF AE 5 2F 2A FF FF A2 C7 4 04 5E FF FF OS 0000 OS 0008 OS 0010 OS 0018 OS 0020 OS 0028 OS 0030 OS 0038 OS 0040 OS:0048 AW,FFFF OS,AW [OOOFj,F7 AW,F700 OS,AW PMCO,FF RFM,B2 WTC,5555 6 7 EE A2 AC FF FF 67 53 FO FF FO 8 1F OC FF FF B2 2ProcStep 3Retrieve 4Help ON 9 00 99 FF FF 09 A 76 FO 3F FF EF B FE E7 FF FF F7 C 98 6F FO FF 0 o a a 0 0 a 1 FF FF FF FF 00 00 00 00 FF FF 2 FF FF FF FF 00 00 00 00 FF FF 3 FF FF FF FF 00 00 00 00 FF FF 4 FF FF FF FF 00 00 00 00 FF FF FF FF FF FF 02 00 00 00 FF FF E 84 7F 6B 81 FF FF 7F FF 11 05 7F 5BRK Menu 6 DOS PSW F002 IntM:l V25 RB 7 V OIR IE S Z AC P CY F FO FB FF FF 73 7 up ~. B1 \0/ £6 GM.r"'~S 1 "Of«6f-g3 8 dn a 0 a 5 6 7 FF FF FF FF FF FF FF FF FF FE' FF FF 00 00 00 81 00 00 00 00 00 00 00 00 FF FF FF FF FF Ff .. v·Y= .0 1 "coki.ll 7 1 I·n::::.s 9 Ie 10 ri 83-6760A 3 NEe Figure 3. AdVICE Screen With He*, Menu.andCommand Une Prompts AW BW CW DW F700 0000 3UA8 0000 D IC~D IX IY BP SP or 0000 PS F800 0000 DS F7'OO 0000 ES 0000 OOFE SS 0040 DEF or DIR >D FFB8- 00E7 8BOF .00E9 2EFFl5 OOEe EBC6 VECTOR_TABLE: OOEE 56 OOEF 029802FO OOF3 0450 00F5 03B40328 00F9 024805 o ~ 1 Stack +0 +2 +4 liS 0040 FS 0040 Resident +6 PC OOOF MOV CALL BR PUSH ADD ADD ADD· ADD BW,IY .PS: [IY] V40--,CLI IX BL, [F002+BW+IX] AL,50 IX, [2803+IX] eL, [B\HIX+05] FFFF 423E 23C3 A352 1 OS:OOOO OS:0008 08:0010 OS:0018 D8:0020 OS:0028 ~'S: 0030 ;OS: 0038 OS:0040 OS:0048 PSW F002 IntM:l V25 RB 7 V DIR IE S Z AC P CY 0 O. a a a a 0 0 0 FF FF FF FF 02 00 00 00 FF FF 1 FF FF FF FF 00 00 00 00 FF FF 2 FF FF FF FF 00 00 00 00 FF FF 3 FF FF FF FF 00 00 00 00 FF FF 4 FF FF FF FF 00 00 00 00 FF FF 5 FF FF FF FF 00 81 00 00 FF FF 6 "7 FF FF FF Ff 00 00 00 00 FF FF FF FF FF FF 00 00 00 00 FF FF (/~ ON I OFF) addr Display - code at the specified address. With '0 1<' or 'Ctrl-Enter' the address of the current instruction will b~ used~ If a memoiy location is accessed by the actual instruction its value is shown on the screen. Use to optional /M parameter to control the display of this memory data. Standard segment PS: ________________________________ W'ith PgUp/PgDn text can be paged ______________ Step 2ProcStep 3Retrieve 4l1elp OFF SBRK Menu 6 DOS 7 up 8 dn ~ 9 Ie 10 ri 8U761 A Figure 4. Executing Program ""ith MeSSllge Exchange AW F700 Bioi 0000 CW 00B2 DW 0000 2 ,> 1<1<1< IX IY BP SP or 0000 0000 0000 OlFE GC PS 0065 OS F700 ES 0000 S8 0040 E X E C U T I N G stack +0 +2 +4 liS 0060 FS 0040 Resident +6 PC 0000 I< 1< 1< Analyze Emulator Messages < from emulator =123 OS:[IX]= /W ES:32B4 CY=l For more details refer to the user's manual. BR# Break AOR 1 HAIN20 2 MAIN60 3 4 - 5 6 7 8 Address EV1 TIMER EV2 0 QUA 0 Condition ........................................................................ .............. ........................................................ .. SWTIH >= 0100 ........................ " .................. ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ Type Oir Oat OaM AddrH ExO ExM 0 FFFFF 00 H R 0 0 0 R FFFFF H 0 00 0 X 0 000 X 0 IView Trace 3Read Setup 4 Help OFF 5 CMO line Count Occur 1 1 1 1 1 1 0 0 0 0 0 'Action trace ON TR OFF A ON br 0 0 0 0 0 P2 P2M Action 0 00 RT ON TI ON 0 00 RTT Mode: C 7Save Setup 9Clear BRIOClear" OCC 8H763A Figure 6. Soft Trace Buffer Oi$play T R A C E B U F F E R 0 I S P LAY Buffer Offset 0 1<1<1< Begin of TRACE buffer 1<1< HAIN20: AW=FFOO IX=0004 0027 CALL INIT_TIMER BW=OOOO IY=0074 >8tarted by BRI V OIR IE 8 Z AC P CY CW=00B2 BP=OOOO 0 0 0 0 1 0 1 0 OW=1388 SP=OIFE INIT_TIMER: AW=FFOO IX=0004 003E MOV ES:TMCO,CO BW=OOOO IY=OO74 V OIR IE S Z AC P CY CW=00B2 BP=OOOO 0 0 0 0 1 0 1 0 OW=1388 8P=01FC AW=FFOO IX=0004 0044 MOV ES:MOO,0140 BW=OOOO IY=0074 V OIR IE S Z AC P CY CW=00B2 BP=OOOO 0 0 0 0 1 0 1 0 OW=1388 SP=OlFC 004B HOV AW=FFOO IX=0004 ES:TMICO,07 BW=OOOO IY=0074 V OIR IE S P CY CW=00B2 BP=OOOO Z AC 0 0 0 0 1 0 1 0 DW=1388 SP=01FC 0051 RET AW=FFOO IX=0004 BW=OOOO IY=0074 VOIR IE S Z AC P CY CW=00B2 BP=OOOO 0 0 0 0 1 0 1 0 DW=1388 8P=01FC Use cursor keys to scroll data up and down PS=0065 8tack+0 E80] OS=0060 +2 340C ES=FFOO +4 0012 +6 5400 S8=0040 PS=0065 Stack+O 002A +2 E80] OS=0060 +4 140C ES=FFOO +6 5400 8S=0040 PS=0065 Stack+O 002A OS=0060 ' +2 E803 +4 340C ES=FFOO +6 5400 SS=0040 PS=0065 Stack+O 002A +2 E803 OS=0060 +4 340C ES=FFOO +5 5400 SS=0040 PS=0065 'Stack+O 002A +2 E803 OS=0060 +4 340C ES=FFOO +6 5400 SS=0040 F1 or '---1' to return 83-6764A 6 NEe V25N35 MINI·IE Plus Figure 7. Real-Time Trace Buffer Display Addr 00B02 Ctl M R R e a 1 - T i m e Data External P2 fA ff=l1111111 ff T r a c e D a t a Record : 1 of 2271 astart: FA B82103 vdgroupqJ: DI AW,0321 B8 FF-=l1111111 FF MOV 00B03 M R 21 FF=11111111 FF 00B04 M R 03 fF=11111111 ff 00B05 M R MOV nW,0321 00B06 M R BB ff= 11111111 fF BB2103 FF=11111111 fF 00B07 M R 21 03 fF=11111111 fF 00B08 M R CW,03BO MOV 00B09 M R 89 Ff=l1l11111 FF B98003 BO Ff=11111111 FF OOBOA M R OOBOB M R 03 FF=11111111 FF MOV CW,0212 OOBOC M R B9 FF=11111111 FF 891202 12 fF=1111l111 fF OOBOD M R OOBOE M R 02 FF=l1l1l111 FF FC FF= 11111111 FF FC CLR1 DIR OOBOF M R MOV DS,BW 8E FF=11111111 FF 8EDB 00B10 M R DB FF=1l111111 FF OOB11 M R MOV DW,FFFF BA FF=l111l111 FF BAFFFF 00B12 M R OOB13 M R FF FF=lll11111 FF FF FF=11111111 FF OOB14 M R MOV ES,DW 8E FF=l1l11l11 FF 8EC2 00B15 M R C2 FF=11111111 FF 00B16 M R lShow MK1 2Show MK2 3Set MKl 4Set MK2 Ctl-PgDn/Up:+/- 100 Ctl-End/Home:+/-10OO 8J.e7e&A V25 PLUS AND V35 PLUS EMULATION The V25 MINI-IE Plus oan emulate both the standard V25 and the V25 Plus. This is accomplished by simply switching the V25 in the emulator with the V25 Plus chip. The emulator can be upgraded to support the V25 Plus at 10 MHz, either by changing the 16-MHz crystal in the emulator with a 20-MHz crystal or by· using an external 20-MHz frequency source. (Do not use an external crystal as a frequency source because the crystal may not oscillate due to probe cable effects.) In addition to changing the emulator CPU, 10-MHz operation requires replacement of memory devices in the emulator. The V25 MINI-IE Plus requires 70-ns access time (or faster) and 32K-byte by a-bit static memory chips when run at zero wait states and 10 MHz. The V35 MINI-IE Plus can emulate the V35 in the same manner as described above. Note that 10-MHz operation also requires the faster SRAMS. The V25 MINI-IE Plus cannot be used to emulate either the V35 or V35 Plus devices; the V35 MINI-IE Plus cannot be used to emulate either the V25 or V25 Plus devices. The control program of the V25 MINI-IE Plus and V35 MINI-IE Plus will automatically sense the CPU in the emulator upon power-up and adjust the internal Special Function Registers to support the installed CPU. 7 EI V25N35 MINI·IE Plus 8 NEe NEe V40N50 MINI-IE In-Circuit Emulator NEC Electronics Inc. Description o Emulates JJPD70208/70216 at 8 MHz o Controlled by powerful AFD-Sym monitor and debugging program - Symbolic full-screen debugger - Uses function keys as well as direct command entry - Displays six window areas with second-level break setup window - Updates disp1ay information as program single steps - On-line assembler -Evaluates and displays arithmetic expressions - Displays color on color systems - Programmable trace and symbol buffer sizes -On-line help menus - Macro command capability o Parallel interface with host PC; interface card and cable included o Sample batch file contains demonstration program The V40 MINI-IE and VSO MINI-IE are low-cost in-circuit emulators for the JJPD70208 (V40TM) and JJPD70216 (VSOTM) microcomputers. The MINI-IE is designed to be used with an IBM PCIXT®, PC AT®, IBM PS/2., or compatible machine. The control software for the MINI-IE is AFD-Sym (Advanced Full-Screen Debug with Symbols), which acts as both a monitor and debugger. Debugging with breakpoints and non-real-time tracing of executing programs are accomplished in software using a V40NSO microprocessor located on theMINI-IE board. Features o Connects to target system via PGA or PLCC probe o MINI-IE hardware - 64K bytes of static RAM starting at address 0000:0 - MINI-IE reserved PROM at address F800:0 through FFFF:F - MINI-IE memory may be disabled to use target memories - 32 bytes of MINI-IE I/O starting at address 8000:0 Ordering Information Part Number Description EB-V40MINI-IE pPD70208 (V40) PC-based MINI-IE with adapter EB-V50MINI-IE pPD70216 (V50) PC-based. MINI-IE with adapter ADAPT68PGA68PLCC Adapter for 68-pin PLCC socket (shipped with MINI-IE) HARDWARE o Software break and trace capabilities - Up to eight conditional breakpoints in break definition mode - Additional breakpoints can be given in the command line - Various actions can be programmed to take place on a break - Error checking of break entry conditions The MINI-IE (figure 1) consists of a parallel interface board providing bidirectional data communication and a JJPD70208 or JJPD70216 emulation board (or MINI-IE board). The parallel board fits into a free slot in the PC and is hardwired for address 0278H within the PC I/O space. o Executes NEC .LNK absolute files and Microsoft .COM and .EXE files - Files can be downloaded to and uploaded from the MINI-IE - Supports real-time and single-step emulation - User-programmable public symbol buffer size The MINI-IE board consists of aJJPD70208 or JJPD70216, 32K bytes of EPROM, 64K bytes of static RAM, decoding logic, and a parallel interface. It can receive power from the PC, the target system, or an external supply. The MINI-IE board connects to the parallel board in the PC by a 2S-line cable. IBM PC/XT, IBM PC AT, and IBM PS/2 are registered trademarks of International Business Machines Corporation. Hercules is a registered trademark of Hercules Computer Technology Inc. V40 and V50 are trademarks of NEC Corporation. 60232-1 The MINI-IE can be connected directly into a 68-pin PGA socket on the target system or into a 68-pin PLCC socket on the target system through· adapter ADAPT68P~68- PLCC. In this. configuration, the MINI-IE RAM and EPROM can be disabled via jumpers so that target memory is accessed, or a combination of MINI-IE and target memories can be used. ~ ~ NEe V40/y50 MINI·IE Figure 1. V40/V50 MINI-IE Board (Component Side) INI .. T nnnn, III a =- .17 .14.13 .15 s s ....... o ..• a ~ V4~ II HIG~At1 LOVRAM YOO I/OPAL 6b~OD JD~~ tJul:JtJ~~ 1 IlNE! :. o '" :. "II • ~ i7ilt 71155 HEHPAL .8;!-6766A Figure 2. AFD-Sym Main Screen A'i'l 0207 SW 0000 CW 0089 DW FFFD !'r---G Gm IX IY BP SP or OCOO 018.4 0000 OlFE GC PS DS ES SS 0221 0220 0000 0200 PC 0000 Stack +0 +2 +4 +6 HS 0220 FS 01BB >G > 2 E X E C U T I N G *** : A\oj',0220 682002 MOV 8ED3 MOV DS, A~~ 90 NOP FA DI 33CO AW,AW XOR 8Eeo MOV ·ES,AW 90 NOP Analyze 1<*1< ~lAIN 0000 0003 0005 0006 0007 0009 OOOB 8 9' A 00 00 00 CO 8E CO O~ 00 33 BA FA FF 01 EE BA 2 HS HS HS HS HS 0013 0023 0033 0043 3 00 8E AB FC EE 1 Step 2ProcStep 3Retrieve 4Help ON 0003 4 00 D8 8C FF BA 5 00 90 C8 BO FO .6 00 FA AB 00 FF 7 00 33 E8 EE BO B 00 90 CO BO FD C 00 FC FB 60 FF D 00 BF 40 EE B8 E 00 80 90 BA 02 FFFF 340C 0012 0000 PSW F002 0 OC 00 B8 CO B8 08 FC BA FF 01 F 00 01 EB F9 00 2 02 00 BA 50 13 5BRK Menu 6 1 20 65 CC BO BO V40 V DIR IE S Z AC 0 0 0 o· 0 0 1 DS:OOOO DS:0008 DS:0010 DS:0018 DS:0020 DS:0028 DS:0030 DS:0038 DS :.0040 Ds:0048 0 B8 B8 FC FF EE IntM:1 1 34 00 20 8E 65 00 CC FA BO EE 7 up 2 12 00 02 ,CO 00 33 BA FF 50 BA 3 00 00 8E 90 AB CO FC BO EE FD 4 00 00 D8 FC 8C FB FF 60 BA FF P CY 0 0 5 00 00 90 BF C8 40 BO EE FO B8 . 6 7 00.00 00 00 FA: 33 ~O 01 AB E'8 90 EB 00 EE BA F9 FF BO 02 00 ........ , ;tti03LAL £l1~<;:"e. Y.a ~,,3 ~ I W0i~i'; I 8 dn , " " , !~~ i~'\~! E '2' , , , E tll, 9 Ie 10 r1 83-6767A 2 NEe SOFTWARE The control software, AFD-Sym, provides six windows on the main screen display (figure 2). • p.PD70208/70216 registers and flags and the top four words of the stack • Command entry line • Offset addresses, opcodes, and disassembly of eight lines of the program load area • 80-byte memory dump area • Second 80-byte memory dump area • ASCII equivalent of the second 80M-byte memory area AFD-Sym controls all the monitor and debug functions of the MINI-IE including uploading and downloading programs, program execution with or without breakpoints, recording of trace history, dlsassembly, in-line code assembly, and register/memory display and manipulation. The cursor may be moved anywhere within the window displays for immediate change of the memory areas, registers, flags, and breakpoints. AFD-Sym software running on a PC requires 75K to 147K bytes of system memory depending on the options required. It may be copied to a hard disk or run directly from the floppy diskette. Emulation RAM area starting at address 0000:0 is partly used by the AFD-Sym monitor and the interrupt vectors. The lowest available user memory is indicated by the segment registers after reset and depends on the trace buffer size allocated. The AFD-Sym code in EPROM is located at F800:0 and the following 32K bytes are reserved for this purpose. Emulation User programs loaded into emulator RAM or EPROM can be executed in real-time or in single-step mode. Singlestep mode executes only one instruction; procedure step executes an entire subroutine or software interrupt routine. It is possible to Single-step a hardware interrupt handler when the associated interrupt mode is selected. Real-time execution is command activated and terminates when a breakpoint is encountered or the user terminates execution from the keyboard. Program execution is also stopped when an exception interrupt or an interrupt with an uninitialized vector occurs. V40N50 MINI·IE Programs generated using NEC's RA 70320 Relocatable Assembler package allow symbols to be loaded directly with the program code. Programs produced with development tools that generate .EXE or .COM files can be loaded into the MINI-IE, but symbols must be loaded separately. Several symbol files can be loaded into the internal symbol table. The buffer used for symbol storage is allocated in the PC and can be varied in size from 1K to 64K bytes. Symbols can be added, deleted, and renamed interactively. Break Capabilities Two types of breakpoints are available. Immediate breakpoints are entered directly with the execution command and stop execution when the instruction at the specified location is to be executed. The second type of breakpoint is specified in a separate breakpoint menu. The breakpoint entry menu (figure 3) is a. second-level menu and can be entered by F 5 key of the PC keyboard. The menu contains six fields: breakpoint number, breakpoint conditions, a count, number of occurrences, and action to be taken. Up to eight address breakpoints can be defined in the menu. They can be tagged with conditions and a count value (up to 65,535) for the number of times the breakpoint is satisfied. Up to eight conditions may be entered for each breakpoint, including satisfying other breakpoints and comparisons of register and memory contents (direct or indirect addressing modes) with those of other registers, memory locations, and immediate values. JI!!!III!!II!I The action field defines an operation or operations to be ~ done when a breakpoint occurs. Such actions include trace on/off, analyze on/off, restart the breakpoint, browse through a file, turn on/off the snap feature, and jump to a different section of code. To set up the analyze mode, an address field in the breakpoint menu is left empty but conditions are placed in the condition field. Then, on enabling the analyze mode, the program is run in single-step mode while the conditions are checked. In the snap mode, the instruction and the register values are put in the trace buffer when conditions for a breakpoint are met. Actions are performed when the occurrence counter is equal to a specified count. This occurrence counter is incremented only when all specified conditions are true. When emulation is to resume after a breakpoint, an option can be used in the GO command that will not reset the occur field and the trace mode. 3 NEe V40N50 "MINI·IE Trace' Capabil ities CONNECTION TO IBM PC The MINI-IE trace is handled in software by the' AFDSym. When, trace is active, the current register pontents and the top four words of the stack are saved to the traoe buffer, along with the instruction that is to be executed in single-step mode.' Program execution is .not in real time when trace or analyze modes are enabled. Interrupt routines are, however, executed in real time and 'are' not recorded in the trace buffer (unless the user selects interrupt step mode of the MINI-IE). The V40 or V50 MINI-IE. can be ,used with IBM PC/XT/AT or full compatibles, and on IBM PS/2. A monochrome, CGA, Hercules@ color graphics or EGA adapter and corresponding monitor is·'required. With IBM PC/XT/AT, at least one expansion slot must be available for use with the parallel interface adapter included with the MINI-IE. The trace buffer resides in the emulation mel110ry and its size can be set from 1K to 64K bytes by the user. The default size of 4Kbytes allows 100 records to be stored: Trace data, which can be displayed from the main SQreen or from the menu screen, can be shown with register contents or instructions only. See figure 4. Records can be print~d or saved to a file. If symbols are lOaded, they will be shown in the trace records. , At least one printer port address should' also be, available. IBM PS/2 models will use the system printer port and will require a user-provided +5-volt dc power supply to power the MINI-IE. A minimum of 75K bytes of free memory is, needed to run AFD-Sym. A hard disk is not required but is recommended. The parallel board of the MINI-IE is hardwired for address 0278H of the PC I/O space. A provision on the parallel board allows you to change the I/O address to a different value, and a command line switch tells AFD-Sym where the parallel board is located. With the MINI-IE board conne~ted to the parallel board via the 25-line cable,. running the AFD-Sym program initiates communications with the MINI-IE and/or the target system. ' Figure 3. BreakpointEntry,Menu AW BW CW OW 02AO 0000 0089 FFFO IX IY BP SP 0000 0184 0000 01FE PS OS ES SS 0221 0220 0000 0200 PC OOIE Stack +0 +2 +4 +6 HS 0~20 FS 01BB FFFF 340C 0012 0001 PSW,F216 IntH:I V OIR IE S o 0 1 0 Z AC P CY 0 1 1 V40 0 Defines the address of a breakpoint. With as the first character the breakpoint is inactive. A breakpoint with an empty address field will be checked on ~very break if count>O and an action is specified for this breakpoint. With 'Alt'+n (n=1..8) the address of the actual instruction will be stored to the corresponding breakpoint. ~tandard,segment PS: , Condition Count Occur 3 SWTIM >= 0100 ............... ~ . ; ... . 1 1 1 4 - . . ,. . . . . . . . . . . . . . . . . ,. . . . . . . . ." . .- .'. . . BR# Break ADR . 1 MAIN20 2 MAIN60 .5 - 6 - -: ~ 7 - 8 - . •••••••••••••••••••••••••••••••• IView TraCe 3Read Setup 4 Help OFF . 5 CHD line !II . ••• o o o o o 1 1 1 o Action trace ON TR OFF A,ON br o o ' o o 7-Save Setup 9Clea'r BRIOClear OCC 83-6768A 4 NEe Figure 4. V40N50 MINI·IE Trace Buffer Display T R A C E B U F F E R 0 I S P LAY Buffer Offset 0 1< 1< -A Begin of TRACE buffer I< 1< MAIN20: .~W=0221 IX=OOOO 0017 CALL INITV40 BW=OOOO IY=0184 >Started by BR1 V OIR IE S Z AC P CY CW=0089 BP=OOOO 0 0 0 0 1 0 1 0 DW=FFFD SP=OlFE INITV40: AW=0221 IX=OOOO 0022 MOV DW,FFFC BW=OOOO IY=0184 V OIR IE S Z AC P CY CW=0089 l3P=OOOO 0 0 0 0 1 0 1 0 DW=FFFD SP=OlFC 0025 MOV AL,OO IX=OOOO AW=0221 BW=OOOO IY=0184 V OIR IE S Z AC P CY CW=0089 BP=OOOO 0 0 0 0 1 0 1 0 DW=FFFC SP=OlFC 0027 OUT DW,AL AW=0200 IX=OOOO BW=OOOO IY=0184 V DIR IE S Z AC P CY CW=0089 BP=OOOO 0 0 0 0 1 0 1 0 DW=FFFC SP=OlFC DW,FFFA AW=0200 IX=OOOO 0028 MOV BW=OOOO IY=0184 V OIR IE S Z AC P CY CW=0089 BP=OOOO 0 0 0 0 1 0 1 0 DW=FFFC SP=OlFC Use cursor keys to scroll data up and down F1 or PS=0221 OS=0220 ES=OOOO SS=0200 PS=0221 OS=0220 ES=OOOO SS=0200 PS=0221 OS=0220 ES=OOOO SS=0200 PS=0221 DS=0220 ES=OOOO SS=0200 PS=0221 DS=0220 ES=OOOO SS=0200 '~' Stack+O ... 2 ... 4 +6 Stack+O +2 +4 +6 Stack+O +2 +4 ... 6 Stack+O +2 +4 +6 Stack+O +2 fFFf 340C 0012 0000 001.\ fFFF 340C 0000 001.~ FFFF 340C 0000 00lA FFFF 340C 0000 001A ffFF +4 J40C ... 6 0000 to return US1aOA 5 V40N50· MINI·IE 6 NEe NEe Package Drawings 7-1 II NEe Package Drawings Section 7 Package Drawings Package/Device Cross-Reference 7-3 18-Pin Plastic DIP 7-5 20-Pin Plastic DIP (300 mil) 7-5 20-Pin Plastic SOP (300 mil) 7-6 24-Pin Plastic DIP (600 mil) 7-6 28-Pin Plastic DIP (600 mil) 7-7 28-Pin PLCC 7-8 40-Pin Plastic DIP (600 mil) 7-8 44-Pin Plastic QFP (P44G-80-22) 7-9 44-Pin Plastic QFP (P44G 6-80-364) 7-9 44-Pin PLCC 7-10 48-Pin Plastic DIP 7-11 52-Pin Plastic QFP 7-12 52-Pin PLCC 7-13 68-Pin PLCC 7-14 68-Pin Ceramic PGA 7-15 74-Pin Plastic QFP 7-16 80-Pin Plastic QFP 7-17 84-Pin PLCC 7-18 84-Pin Ceramic LCC 7-19 94-Pin Plastic QFP 7-20 120-Pin Plastic QFP 7-21 132-Pin Ceramic PGA 7-22 7-2 NEe P~ckage Drawings Package/Device Cross-Reference Package Device, "PO Package Device, "PO lS-Pin Plastic DIP 7l0llC-S 7l011C-l0 44-Pin Plastic QFP (P44G B-SO-3B4); 2.70 mm thick 71037GB-l0 7l0S4C-S 710S4C-10 20-Pin Plastic DIP (300 mil) 71054GB-S 71054GB-10 710S2C 710S3C 71055GB-S 71055GB-10 710S6C 710S7C 710SSC-S 710SSC-10 20-Pin Plastic SOP (300 mil) 71059GB-S 71059GB-10 44-Pin PLCC 71011G-S 7010SL-S 7010SL-10 710S2G 710S3G 70116L-S 70116L-10 710S4G-S 710S6G 71037LM-10 710S7G 710SSG-S 24-Pin Plastic DIP (600 mil) 71054C-S 71054C-10 2S-Pin Plastic DIP (600 mil) 71051C-S 71051 C-10 71059C-S 71059C-10 2S-Pin PLCC 71051 L-S 71051 L-10 71055L-S 71055L-10 4S-Pin Pla$tic DIP 71071 C-10 52-Pin Plastic QFP 7010SGC-S 7010SGC-10 70116GC-S 70116GC-10 52-Pin PLCC 71071 L-10 6S-Pin PLCC 70136L-12 70136L-16 7020SL-S 7020SL-10 71054L-S 71054L-10 70216L-S 70216L-10 71059L-S 71059L-10 40-Pin Plastic DIP (600 mil) 7010SC-S 7010SC-10 6S-Pin Ceramic PGA 70136Fl-12 70136R-16 70216R-S 70216R-10 71037CZ-10 71055C-S 71055C-10 74-Pin Plastic ·QFP 70136GJ-12 70136GJ-16 71054G-S 71055G-S SO-Pin Plastic QFP 7020SGF-8 7020SGF-10 71059G-S IB 7020SR-S 7020SR-10 70116C-S 70116C-10 44-Pin Plastic QFP (P44G-80-22); 1.45 mm thick 7l051GB-S 71051 GB-l0 70216GF-S 70216GF-10 7-3 NEe Package Drawings Package/Device Cross-Reference (cont) Package Device, "PD 84-Pin PLCC 70320L 70320L-8 70322L-xxx 70322L-8-xxx 70325L-8 70325L-10 70327L-8-xxx 70330L-8 70332L-8-xxx 70335L-8 70335L-10 70337L-8-xxx 79011L-8 79021L-8 84-Pin Ceramic LCC 70P322KE-8 94-Pin Plastic QFP 70320GJ 70320GJ-8 70322GJ-xxx 7022GJ-8-xxx 70325GJ-8 70325GJ-10 70327GJ-8-xxx 70330GJ-8 70332GJ-8 -xxx 70335GJ-8 70335GJ-10 70337GJ-8-xxx 79011GJ-8 79021GJ-8 120-Pin Plastic QFP 70236GD-10 70236GD-12 70236GD-16 132-Pin Ceramic PGA 70236R-10 70236R-12 70236R-16 71641R 7-4 NEe Package Drawings 18-Pin Plastic DIP Inches Item Millimeters A B C 22.86 max 1.27 max .900 max 2.54 (TP) .100 (TP) D 0.50 ±0.10 .020 F 1.2 min .047 min G 3.5 ±0.3 .138 ±.012 H 0.51 min .020 min 4.31 max .170 max K* .050 max ~:gg~ 5.08 max .200 max 7.62 (TP) .300 (TP) ~ : : : ~ : : : ;.1 A .252 6.4 ~g:6g ~ :gg~ M 0.25 N 0.25 .010 P 1.0 min .039 min .010 * Item K to center of leads when formed parallel. 49NR·506B P18C·l OO·300A. C (4/89) 20-Pin Plastic DIP (300 mil) Item Millimeters Inches A 25.40 max 1.000 max B 1.27 max .050 max C 2.54 (TP) .100 (TP) D 0.50 ±0.10 .020 F 1.1 min .043 min G 3.5 ±0.3 .138±.012 H 0.51 min .020 min 4.31 max .170 max K* ~ :gg~ 5.08 max .200 max 7.62 (TP) .300 (TP) L 6.4 M 0.25 N 0.25 .010 P 0.9 min .035 min 20 11 F::: 0-: : : : ;.1 A .252 ~g:6g .010 ~:gg~ * Item K to center of leads when formed parallel. P20C·l 00-300A. C 49NR·624B (11/89) 7-5 NEe Package Drawings 20-Pin Plastic SOP (300 mil) Item Millimeters A B C 13.00 max 0.78 max .512 max 1.27 (TP) .050 (TP) Inches .031 max ~&6~ ~:gg~ 0 0.40 E F 0.1 ±0.1 .004 ±.004 1.8 max .071 max G 1.55 .061 H I 7.7 ±0.3 .303 ± .012 K 5.6 .220 1.1 .043 ~g:6~ 11 R A .008 ~:gg~ 0.6 ±0.2 .024 ~:gg~ 0.12 .005 0.20 M .016 20 6~!i~ [TI I$l M @i P20GM·SO·300B. c 49NR·S94B (9189) 24-Pin Plastic DIP (600 mil) hem Millimeters Inches A B C 33.02 max 2.54 max 1.300 max .100 max 2.54 (TP) .100 (TP) 0 0.50 ±0.10 .020 F 1.2 min .047 min G 3.5 ±0.3 .138 ±.012 H I 0.51 min .020 min 4.31 max .170 max K* ~:gg: 5.72 max .226 max 15.24 (TP) .600 (TP) L 13.2 M 0.2S N 0.25 13 24 .520 ~g:6~ .010 ~:gg~ 12 .010 J A * Item K to center of leads when formed parallel. IT] L [TI I$l P24C-1oo·600 7-6 N @i 49NR·S92B (9/89) ttiEC Package Drawings 2B-Pin Plastic DIP (600 mil) Item Millimeters Inches A 38.10 max 2.54 max 1.500 max .100 max 2.54 (TP) .100 (TP) D 0.50 ±0.10 .020 F 1.2 min .047 min G 3.6 ±0.3 .142 ± .012 H 0.51 min .020 min 4.31 max .170 max B C K* :::gg~ 5.72 max .226 max 15.24 (TP) .600 (TP) L 13.2 M 0.25 N 0.25 .520 ::g:6~ .010 :::gg~ 1 .010 ~ 14 .1 A * Item K to center of leads when formed parallel. 0 L M 0-15° [£J f$l P2SC-100·600A1 N @I 49NR·514B (5/89) II 7-7 t\'EC Package Drawings 28-PinPLCC Item A B C MlIIlmeters 12.45 ±0.2 11.50 Inches .490 ±.008 .453 0 11.50 12.45 ±0.2 .453 E 1.94 ±0.15 .076 F 0.6 .024 G 4.4 ±0.2 . .490 ±.008 ~:gg~ 173 + .00ll -.008 ~:gg~ H 2.8 ±0.2 .110 .035 min .134 .050 (TP) K 0.9 min 3.4 1.27 (TP) M 0.40 ±0.10 .016 N 0.12 .005 P 10.42 ±0.20 .410 Q 0.15 .006 T 0.8 rad U 0.20 ~:gg: ~:gg~ .031 rad ~g:~~ 28 .008 ~ :gg~ G ~~-~~~~~~~u , r I lf~T 1.0~ @I.I N P P28L·50Al 49NR·52SB (5/89) 4O-Pin Plllstlc DIP (600 mil) . Item Millimeters Inches A B C 53.34 max 2.100 max 2.54 max 2.54 (TP) .100 max .100 (TP) 0 0.50 ±0.10 .020 F 1.2mln .047 min G 3.6 ±D.3 .142 ±.012 H 0.51 min .020 min 4.31 max .170 max J 5.72 max .226 max K* 15.24 (!P) .600 (TP) L 13.2 .520 M 0.25 N 0.25 ~:6~ .010 ~:gg: ~:gg~ .010 • Item K to center of leads when formed parallel P4OC·I00-600A 7-8 83.o·6140B (1/90) NEe Package Drawings 44-Pin Plastic QFP (p44G-80-22); 1.45 mm thick Item Millimeters A 13.6 ±0.4 .535 ~:g~~ B 10.0 ±0.2 .394 ~ :ggg c 10.0 ±0.2 .394 ~ :gg~ D 13.6 ±0.4 .535 ~:g~~ F G 1.0 1.0 .039 .039 H 0.35 ~g:~g .014 .006 .031 (TP) K 1.8 ±0.2 .071 ~ :ggg .039 ~ :gg~ .006 ~:gg~ L 1.0 ±0.2 0.15 N 0.15 ~g:6~ C D I$l I @I OJ Enlarged detail of lead end .006 ~:gg~ P 1.45 ±0.1 .057 Q 0.0 ±0.1 1.65 max .000 ±.004 .065 max S B ~:gg~ 0.15 0.8 (TP) M A Inches Q P44G-SO·22 49NR·636B (11/89) 44-Pin Plastic QFP (P44GB-BO-3B4); 2.70 mm thick Item Millimeters A 13.6 ±0.4 .535 ~:g~~ B 10.0 ±0.2 .394 ~ :gg~ C 10.0 ±0.2 .394 ~ :ggg D 13.6 ±0.4 .535 ~:g~~ F G 1.0 1.0 .039 .039 H 0.35 ±0.10 .014 0.15 0.8 (TP) .006 .031 (TP) 1.8 ±0.2 .071 ~:ggg 0.8 ±0.2 .031 ~:gg~ .006 ~:gg~ K P44GB--60·3B4·1 ~g:6~ Inches C D II ~:gg~ M 0.15 N P 0.15 .006 Q 2.7 0.1 ±0.1 R S 0.1 ±0.1 3.0 max .106 .004 ±.004 .004 ±.004 .119 max I$l I @I OJ Enlarged detail of lead end K AUlliDwlDJlD[D~ ---.l ~~~l M ~ a R 49NR·556B (1/90) 7-9 NEe Package Drawings 44-PinPLCC Item A B C 0 Millimeters 17.5 ±C.2 .689 ±.008 16.58 .653 16.58 .653 17.5 ±C.2 .689 ±.008 E 1.94 ±C.15 .076 ±.006 F 0.6 .024 4.4 ±C.2 .173 ±.008 2.8 ±C.2 .110 ±.008 G H 0.9 min .035 min 3.4 .134 K M 1.27 (!P} .050 (TP) 0.40 ±C.10 .016 ±.004 N 0.12 .005 P 15.50 ±O.20 .610 ±.008 a 0.15 .006 T 0.8 radius .031 radius U 0.20 ~:6~ F: Inches .008 44 1 0 C Jll F ~:gg: G T ....-----P------.I P44L·50A1·1 7-10 3190 83VL·58048 NEe Package Drawings 48-Pin Plastic DIP Item Millimeters Inches A 63.50 max 15.24 [TP) 2.500 max K 13.8 5.72 max 4.31 max 3.6±O.3 2.54 max 2.54 [TP) 1.1 min 0.51 min 0.50±O.10 .543 .225 max .170 max .142 ±.012 .100 max .100 [TP) .043 min .020 min .02O±.004 L 0.25 M 0.25 B C 0 E F G H J j ~:6~ .600 [TP) .010 ~:gg~ 25 A .010 [[J c ---t~ 0-15' P4SC·l00-600A ~138B(6/89) II 7-11 Package' Drawings: 52-Pin Plastic QFP Item MIllimeters Inches A 17.6 ±0.4 .693 ±.016 B 14.0 ±0.2 .551 c 14.0 ±0.2 :gg: .551 ~ :gg: D G 17.6 ±0.4 1.0 1.0 .693 ±.016 .039 .039 H 0.40 ±0.10 .016 0.20 1.0 (TP) .OOS 1.S ±0.2 .071 ~:ggg O.S ±0.2 .031 ~ .006 ~:gg~ F K M 0.15 N P 0.15 Q R S ~g:J~ 2.7 0.1' ±0.1 0.1 ±0.1 3.0 max ~ C 0 ~:gg~ .039· (TP) :gg: .006 .106 .004 ±.004 .004 ±.004 .119 max 'K . Enlarged detail of lead end ~c+ ~ Q P52GC·100-386 7-12 R 49NR-493B (5189) NEe Package Drawings 52-PinPLCC Item A B C 0 E F G H M""meters 20.1iO.2 .791 ±.008 19.12 19.12 20.1 iO.2 .753 .753 .791 ±.008 1.94 iO.15 0.6 .076 ±.006 .024 4.4 iO.2 .173 ±.008 2.8 iO.2 .110 ±.008 0.9 min 3.4 .035 min .134 M 1.27 (IPl 0.40 iO.10 .050 (TPl .016 ±.004 N P 0.12 18.04 iO.20 .005 Q T 0.15 0.8 radius U 0.20 J K ~~1~ F: Inches 52 0 C .710 ±.008 .006 .031 radius .008 ~.~~~ F G H T I+-------P-------+j P52L·50A1 83YL·5805B II 7-13 NEe Package Drawings 68-PinPLCC A B Item MillImeters A D 25.2±O2 24.20 24.20 25.2±O.2 .992±.00S .953 .953 .992±.00S E 1.94±O.15 .076 ~:gg~ B C F 0.6 .024 G 4.4±O.2 .173~:gg~ H 2.S±O.2 .110~:gg~ K Ii- Inches 0.9 min .035 min 3.4 .134 1.27 (IPI .050 (IPI M 0.40 ±O.10 .016~:gg~ N 0.12 .005 P 23.12±O.20 .910 ~:gg~ Q T 0.15 O.S radius .006 .031 radius U 0.2O~:~~ .00s~:gg: DDDDDDDD 68 D C F T ....---....:.:..:...----P--------_ P68L-5OAH (2/90) 83YL·5561B N'EC Package Drawings 68-Pin Ceramic PGA Item Millimeters Inches A 27.94 ± 0.4 D 27.94 ±0.4 E F 1.27 .050 2.54 (TP) .100 (TP) G 2.8 ±0.3 H 0.5 min .019 min 2.70 .106 4.57 max .180 max K 1.2 ±0.2 dia L 0.46 ± 0.05 dia M 0.5 [£J f$l .020 @I M Top View IE A ~ I Bottom View 0 0 0 0 0 0 0 @ 0 0 0 0 0 0 @ 0 10 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 11 0 8 0 7 0 0 6 0 0 5 0 0 4 0 0 3 @ 0 0 0 0 0 0 0 @ 0 2 0 0 0 0 0 0 0 0 0 H G F E D C B K A 49NR·528B ($/89) 7-15 II ttlEC Package Drawings 74-Pin Plastic QFP Item Millimeters A 23.2 ±0.4 .913 B 20.0 ±0.2 .787 :: :gg~ c 20.0 ±0.2 .787 :::gg~ D 23.2 ±0.4 .913 :::g~~ 2.0 1.0 2.0 1.0 .079 .039 .079 .039 H 0.40 ±0.10 .016 I 0.20 .008 J K 1.0 (TP) 1.6 ±0.2 .039 (TP) .063 ± .002 L 0.8 ±0.2 .031 :: :gg~ M 0.15 N P 0.15 3.7 0.1 ±0.1 0.1 ±0.1 4.0 max F1 F2 G1 G2 Q R S ::g:6~ A Inches B :::g~~ F2 C D :::gg~ F1 .006 :: :gg~ .006 .146 .004 ± .004 .004 ± .004 .158 max Enlarged detail of lead end ~ Q S74G.J·100-5BJ-1 7-16 R 49NR-347B (2190) NEC Package Drawings SO-Pin Plastic QFP Item A B 3>.0:102 Inche. .929±016 +.00:1 .7fIl -.QC8 C 14.0:102 .551 0 F 17.6:10.4 10 G OB .6OO±016 .039 .031 +004 .014 -00) H MIllimeters 23.6:10.4 0.35:10.10 Q15 +.00:1 -roJ K 1B:I02 .006 .031 erp) +.00:1 .071 -.000 L 0.8:102 .Q31 M Q15 N P Q15 OB(TP) Q R S +0.10 -0.05 2.7 0.1:10.1 0.1:10.1 3.0 max c 0 +.00:1 -.000 006+004 . -002 .006 .1 4 • 4 4 ./ I" c 0 ) ) ) ) ) ) 4 ) ) ~ > ..,.. ~ I~ ~ ---- "4 "4 X84KW-5OA 4 4 > j y ---~ ,-"-' U B • - r • ~ 838 L·5401 B (3/90) 7-19 NE~ Package ,Drawings 94-Pin Plastic QFP A Item MIllimeters Inches A 23.2 ±O.4 .913 +.017 -.016 B 20.0 ±O.2 .787 +.009 -.008 C 20.0 ±O.2 .787 +.009 -.008 0 23.2 ±O.4 .913 +.017 -.016 F, F2 G, G2 1.6 0.8 .063 .031 .063 .031 '.6 0.8 H 0.35 ±O.10 .014 +.004 -.005 K 0.15 0.8 (TP) 1.6 ±O.2 .006 .031 (TP) .063 ±.008 0.8 ±O.2 .031 +.009 -.008 0.15~:ci~ .006 +.004 -.003 0.15 3.7 0.1 ±O.l 0.1 ±O.l 4.0 max .006 .146 .004 ±.004 .004 ±.004 .158 max M N a R S C 0 Detail of lead end P R S94GJ·80·5BG·l 7-20 Q S (2190) 83YL·5810B NEe Package Drawings 120-Pin Plastic OFP Item Millimeters Inches A 32.0 ±0.4 1.260 ±.016 1.102 ~ :gg~ B 28.0 ±0.2 c 28.0 ±0.2 1.102~:gg~ 0 32.0 ±0.4 2.4 2.4 1.260 ± .016 .094 .094 F G ~:gg~ H 0.35 ±0.10 .014 J 0.15 0.8 (TP) .006 .031 (TP) K 2.0 ±0.2 .079 ~ :gg~ L 0.8 ±0.2 .031 ~:gg~ ~g:6~ M 0.15 N P 0.15 3.7 0.1 ±0.1 0.1 ±0.1 4.0 max Q R S + .004 .006 -.003 .006 .146 .004 ± .004 .004 ±.004 .157 max Enlarged detail of lead end fEDt t Q P120GD·BO·5BB tR K o N ~+ 49NR·653B (12/89) • 7-21 Package Drawings 132-Pin Ceramic PGA P N M L K J H G FED C B A © 0 0 0 0 0 0 0 0 0 0 0 0 © o 0 0 0 0 0 0 0 0 0 0 0 0 0 13 o 0 0 0 0 0 0 0 0 0 0 0 0 0 12 000 o 0 0 11 000 o 0 0 10 000 0 0 9 0 0 8 0 0 7 000 o o o o 0 0 6 000 o 0 0 : 000 000 \. j 000 °N°~~~ o 0 0 0 0 000 0 o 0 0 0 0 000 0 o 0 0 0 © 0 0 0 0 0 o 0 0 © 0 0 0 14 S 2 1 ~torpin J !J i G X132R-l00A 7-22 I ~ Ii u u u u u uu u u u 0 -H-LK W ~- _ .• -H- RIB M@I E Item Millimeters Inches A 3S.S6 ±O.4 1.400~:g~~ D 3S.S6 ±O.4 1.400~:g~~ E 1.27 .OSO F 2.S4 (TP) .100 (TP) G 2.8±O.3 .110~:g~~ H O.Smln .019 min .114 I 2.9 J 4.57 max .180 max K s1.2±O.2 S.047~:gg~ L s0.46 ±O.OS S.018~:gg~ M O.S .020 6189 83YL·5817B NEe pPD70236 (V53) 16-Bit Microprocessor: High-Speed, High-Integration, CMOS NEC Electronics Inc. Addendu m 1 (April 1991) Scope Changes This addendum to the J,lPD70236 (V53) data sheet, document no. 50159-1, revises the AC Characteristics table to include data for operation with CPU clock frequencies of 10, 12.5, and 16 MHz. Pages 14 and 15. Replace with the AC Characteristics table in this addendum. AC Characteristics = -10 to + 70°C; Voo = 5 V TA ±10%; CL of output terminals = 100 pF max; tCYK = CPU clock period; n = number of wait states· Maximum CPU Clock Frequency 10 MHz Parameter Symbol 12.5 MHz 16 MHz Min Max Min Max 80 500 Min Max Unit tCYK 100 500 tKKH 0.5tCYK - 12 0.5tCYK-10 0.5tCYK-7 62.5 500 ns tKKL 0.5tCYK -12 0.5tCYK-10 0.5tCYK-7 Clocks (figure 1) CLKOUT period CLKOUT high-level width CLKOUT low-level width CLKOUT rise time (1.0-3.5 V) tKR CLKOUT fall time (3.5-1.0 V) tKF 12 10 12 250 10 40 250 31.25 ns ns 7 ns 7 ns 250 ns X1 input period tcyx 50 X1 input high-level width txKH 20 15 13 ns X1 input low-level width txKL 20 15 13 ns X1 input rise time txKR 7 5 5 ns X1 input fall time txKF 7 5 5 ns X1 to CLKOUT delay tOXK 10 35 10 35 10 35 ns PCLKOUT period tCYPK 4tcyx 1000 4tcyx 1000 4tcyx 1000 ns PCLKOUT high-level width tpKH 2tcyx - 12 2tcyx -10 2tcyx -7· PCLKOUT low-level width tpKL 2tCYX -12 2tCYX -10 2tCyx-7 PCLKOUT rise time (1.0-3.5 V) tpKR 12 10 7 ns PCLKOUTfall time (3.5-1.0 V) tpKF 12 10 7 ns ns ns ns Input signal rise time tlR t 15 15 12 Input signal fall time tlF t 10 10 10 ns Output signal rise time tOR t 15 15 12 ns Output signal fall time tOF t 10 10 10 ns Reset (figure 2) RESET setup to CLKOUT ! tSRSTK 30 30 30 RESET hold from CLKOUT ! tHKRST 15 15 15 ns RESET low-level width tWRSTL 6 6 6 tCYK RESOUT delay from CLKOUT! tOKRO 0 t This parameter is not shown on the timing waveforms. 50159-1Al 40 0 40 0 . ns 40 ns NEe pPD79236 (V53), Acjdendum 1 (April 1991) . .. AC Characteristics (cont) Maximum CPU Clock Frequency 12.5 MHz 10 MHz Parameter Min Symbol Max Min 16 MHz Max Min Max Unit Read, Write (figures 3-12,16,18-19, 22,28-31) Address/status setup time before assertion of MRD, lORD ~ tOARL t Data hold time from MRD, lORD t tHRO Address/status setup time before assertion of MWR, tOAWL t t 0.5tCYK -15 0.5tCYK- 15 0.5tCYK-15 ns 0 0 0 ns 0.5tCYK -15 0.5tCYK- 15 0.5tCYK-15 ns IOWR~ MWR, IOWR low-level width twWL t (n+1)tCYK,...10 (n+1)tCYK-10 (n+ 1)tCYK -10 ns 0.5tCYK -15 0.5tcYK -15 0.5tCYK -15 ns Address/status hold time from MWRt tHMWHA BCYST delay from CLKOUT ~ tOKBC 5 BCYST low-level width tBCBCL tCYK-10 BCYST high-level width tBCBCH Address delay from CLKOUT ~ tOKA Control 2 delay from CLKOUT (Control 2 = MWR, IOWR in DMA cycles) t 45 (n+ 1)tCYK - 10 5 45 5 tCYK-10 tCYK-10 (n+ 1)tCYK - 10 (n+ 1)tCYK -10 40 ns ns ns 5 45 tOKCT2 5 45 tOKST 5 45 5 45 tFK 0 40 0 35 DSTB ~ delay from CLKOUT ~ tOKOS 5 45 5 45 5 DSTB low-level width tOSOSL (n+ 1)tCYK - 10 (n+ 1)tCYK - 10 (n+ 1)tCYK -10 DSTB high-level width tOSOSH 0.5tCYK-10 0.5tCYK- 10 0.5tCYK- 10 CLKOUT to IOWR delay tOKIW 0 45 0 45 0 40 ns CLKOUT to lORD delay tOKIR 0 45 0 45 0 40 ns CLKOUT to MRD delay tOKMR 0 45 0 45 0 40 ns CLKOUT to MWR delay tOKMW 0 45 0 45 0 40 ns 45 5 45 5 40 ns Status delay from CLKOUT ~ Data float delay from CLKOUT CLKOUT t to DSTB t t 5 45 5 40 ns 5 45 5 40 ns 5 40 ns 0 30 ns 40 ns ns ns tOKOSH 5 Address/status output delay to DSTB ~ tOAOSL 0.5tCYK-15 0.5tCYK-15 0.5tCYK-15 ns Address/status hold time from DSTB t tHOSHA 0.5tCYK - 15 0.5tCYK-15 0.5tCYK - 15 ns tOOSHO 0.5tCYK-15 0.5tCYK- 15 0.5tCYK-15 ns Data output delay from address/ status output tOAO 0.5tCYK -15 0.5tCYK- 15 0.5tCYK - 15 ns Data output delay from CLKOUT t tOKO 5 Data output delay from DSTB t ~ 45 5 45 5 40 ns tSOK 10 10 10 ns tHKO 7 7 7 ns Data hold time from DSTB high tHOSO 0 0 0 ns Data hold time from change point of address or status tHASO 0 0 0 ns Data setup time to CLKOUT Data hold time from CLKOUT 2 ~ NEe IIPD70236 (V53), Addendum 1 (April 1991) AC Characteristics (cont) Maximum CPU Clock Frequency 12.5 MHz 10 MHz Parameter Min tHRWO 0 0 0 ns tSRYK 10 10 7 ns tHKRY 20 20 15 ns 8S8/8S16 setup time to CLKOUT t tSBSK 10 10 7 ns 8S8/BS16 hold time from CLKOUT t tHKBS 15 15 10 ns HLDRQ setup time to CLKOUT t tSHQK 10 10 7 ns HLDRQ hold time from CLKOUT t tHKHQ 20 20 15 ns t to tOKHA 5 tOFHA 0.5tCYK-15 0.5tCYK - 15 0.5tCYK-15 ns Data hold time from RIW t READY setup time to CLKOUT t READY hold time from CLKOUT t Max Min 16 MHz Symbol Max Min Max Unit Bus Sizing (figures 13, 14) Bus Hold (figure 17) CLKOUT HLDAK delay Output tristate to HLDAK delay 45 5 45 5 40 ns Input Setup and Hold (figure 15) NMI, INTPO-INTP7, CPBUSY setup time to CLKOUT ~ tSIK 15 15 10 ns NMI, INTPO-INTP7, CPBUSY hold·time from CLKOUT ~ tHKT 15 15 10 ns ns Timer/Counter Unit, TCU (figure 20) TCTLO-TCTL2 setup time to CLKOUT + tSGK 50 50 50 TCTLO-TCTL2 hold time from CLKOUT + tHKG 100 100 100 TCTLO-TCTL2Iow-level width tGGl 50 50 50 taGH 50 50 50 TCTLO-TCTL2 high-level width 100 , ns ns ns 100 TOUTO-TOUT2 output delay from CLKOUT ~ tOKTO TCLK period tCYTK TCLK rise time tTKR 15 15 15 TCLK fall time tTKF 15 15 15 TCLK low-level width tTKTKl 45 100 100 100 100 ns ns ns ns 45 45 ns TCLK high-level width tTKTKH 30 30 30 ns TCTLO-TCTL2 setup time to TCLK t tSGTK 50 50 50 ns TCTLO-TCTL2 hold time from TCLK t tHKTG 100 100 100 ns TOUTO-TOUT2 output delay from TCLK ~ tOTKTO 100 100 100 ns TOUTO-TOUT2 output delay from TCTLO-TCTL2 ~ tOGTO 100 100 100 ns 3 &lEe pPD70236 (V53),I'AddendUm 1 (A.,rU 199:1) AC Characteristics (cont) Maximum CPU Clock Frequency 10 MHz Parameter Symbol Min 12.5 MHz 'Max Min 16 MHz Max Min Max Unit Serial Contro/Unit, SCU (figure 21) RxD setup time to SCU internal clock + tSRX ns RxD hold time to SCU internal clock f tHRX ns TOUn t to TxD delay 500 tOTX 500 500 ns Direct Memory Access, DMA (figures 23-26) CLKOUT +to MRD, lORD delay t tOKRH 0 45 0 45 0 40 ns CLKOUT +to MRD, lORD delay + tOKRL 0 45 0 45 0 40 ns CLKOUT t to DMAAKO-DMAAK3 d.elay tOKHOA 0 45 0 45 0 40 ns lORD, IOWR +delay from DMAAKO -DMAAK3 + tOOARW 0.5tCYK -15 0.5tCYK -15 0.5tCYK - 15 ns tORHOAH 0.5tCYK -,5 0.5tCYK ~ 15 .o.5tCYK - 15 ns tOKCT1 0 45 0 45 0 40: ns tOWHRH 5 45 5 45 5 40 ns tOKTCL 0 45 0 45 0 40 ns tOKTCF 0 45 0 45 0 '40, " , ns 45 0 45 0 40 ns DfVlAAKO-DMAAK3 IORD.f t delay from CLKOUT to control 1, delay, . (Control 1 = BUFEN, INTAK, REFRQ) lORD t delay to IOWR t TC OIJ~put delay from GLKOUT t TC off output delay from CLKOUTt T~ pullup delay from CLKOUT t tOKTCH 0 tTCTCL tCYK - 20 tCYK- 20 tCYK - 15 tSEOK 35 35 35 ns END low-level width tEOEOL 100 100 100 ns IORD,MRD low-level width TC low-level width END·setup time to CLKOUT t ns tRR 2tCYK- 45 2tCYK- 45 2tCYK- 40 ns IOWR, MWR low-level width (expanded write) tWW1 2tCYK- 45 2tCYK- 45 2tCYK - 40 ns IOWR, MWR low-level width (normal write) tWW2 2tCYK- 45 2tCYK - 45 2tCYK- 40 ns DMARQO-DMARQ3 setup time to CLKOUTt tSOQK 20 20 15 ns CLKOUT +to DMAAKO-DMAAK3 delay tOKLOA 0 45 0 45 0 40 ns Interrupt Control Unit, ICU (figure 27) INTPO-INTP7 low-level width tlPIPL 100 100 100 ns NEe Notes: NEe NEe Notes: FIELD SALES OFFICES EASTERN REGION EASTERN REGION [cont] EASTERN REGION [cont] CENTRAL REGION [cont] WESTERN REGION [cont] 901 Lake Destiny Drive Suite 321 Maitland, FL 32751 TEL: 407-875-1145 FAX: 407-875-0962 2525 Meridian Parkway Suite 320 Durham, NC 27713 TEL: 919-544-4132 FAX: 919-544-4109 1105 Schrock Road Suite 515 Columbus, OH 43229 TEL: 614-436-1778 FAX: 614-436-1769 The Centre at Stirling and Palm 9900 Stirling Road Suite 206 Cooper City, FL 33024 TEL: 305-436-8114 FAX: 305-436-8116 200 Perinton Hills Office Park Fairport, NY 14450 TEL: 716-425-4590 FAX: 716-425-4594 One Windsor Plaza 7535 Windsor Drive Suite Bl0l Allentown, PA 18195 TEL: 215-391-9094 FAX: 215-391-9107 Encino Office Park Two 6345 Balboa Blvd. Suite 240 Encino, CA 91316 TEL: 818-342-3112 FAX: 818-342-0842 6625 The Corners Parkway Suite 210 Norcross, GA 30092 TEL: 404-447-4409 FAX: 404-447-8228 One Natick Executive Park Natick, MA 01760 TEL: 508-650-4100 FAX: 508-655-1605 300 Westage Business Center Suite 200 Fishkill, NY 12524 TEL: 914-897-2101 FAX: 914-897-2215 8 Old Sod Farm Road Melville, NY 11747 TEL: 516-753-7526 FAX: 516-753-7137 CENTRAL REGION 1500 West Shure Drive Suite 250 Arlington Heights, IL 60004 TEL: 708-577-9090 FAX: 708-577-2147 201 E. Big Beaver Road Suite 350 Troy, M I 48084 TEL: 313-680-0506 FAX: 313-680-1015 1550 East 79th Street Suite 805 Bloomington, MN 55425 TEL: 612-854-4443 FAX: 612-854-1346 30050 Chagrin Blvd. Suite 120 Pepper Pike, OH 44124 TEL: 216-831-0067 FAX: 216-831-0758 16475 Dallas Parkway Suite 380 Dallas, TX 75248 TEL: 214-931-0641 FAX: 214-931-1182 12777 Jones Road Suite 196 Houston, TX 77070 TEL: 713-955-2191 FAX: 713-955-2198 129 Woodland Trail Leander, TX 78641 TEL: 512-259-4947 FAX: 512-259-2556 WESTERN REGION One Embassy Centre 9020 S.w. Washington Square Road Suite 400 Tigard, OR 97223 TEL: 503-671-0177 FAX: 503-643-5911 200 E. Sand pointe Bldg. 8 Suite 150 Santa Ana, CA 92707 TEL: 714-546-0501 FAX: 714-432-8793 14001 East Iliff Avenue Suite 411 Aurora, CO 80014 TEL: 303-755-6353 FAX: 303-755-6728 NORTHERN CALIFORNIA REGION 401 Ellis Street PO. Box 7241 Mountain View, CA 94039 TEL: 415-965-6200 FAX: 415-965-6683 NEe NEe Electronics Inc. CORPORATE HEADOUARTERS 401 Ellis Street P.O. Box 7241 Mountain View. CA 94039 TEL 415-960-6000 TLX 3715792 ~~ . For literature, call toll-free 7 a.m. to 6 p.m. Pacific time: 1-800-632-3531 DOC NO. 50054-1 @1991 NEC Electronics Inc.lPrinted in U.S.A.

  • Source Exif Data:
    File Type                       : PDF
    File Type Extension             : pdf
    MIME Type                       : application/pdf
    PDF Version                     : 1.3
    Linearized                      : No
    XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
    Create Date                     : 2012:12:04 12:48:55-08:00
    Modify Date                     : 2012:12:04 15:19:21-08:00
    Metadata Date                   : 2012:12:04 15:19:21-08:00
    Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
    Format                          : application/pdf
    Document ID                     : uuid:cdfa1f66-1e2b-4e46-be28-573abdafd1b9
    Instance ID                     : uuid:ad9a2a84-20d7-4e36-80df-af4a8df37d4a
    Page Layout                     : SinglePage
    Page Mode                       : UseNone
    Page Count                      : 1107
    
    EXIF Metadata provided by EXIF.tools

    Navigation menu