Renesas | Emulation Pod for M16C/80 Group MCUs M30803T-RPD-E | Differences between M16C/80 and M32C/83

APPLICATION NOTE
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
1.
Abstract
This issue is the reference matelials ot function differences between M16C/80 and M32C/83.
2.
Introduction
The explanation of this issue is applied to the following condition:
Applicable MCU: M16C/80, M32C/83 Group
3.
Contents
3.1 Function Differences
Table 3.1.1 and table 3.1.2 show the Function Differences.
Table 3.1.1 Function Differences (1) (Note1)
Item
Basic Instructions
Shortest
Execution Time
Supply Voltage
M16C/80
Instruction
106 instructions
M32C/83
108 instructions (Add SHANC, SHLNC instructions)
50ns(f(XIN)=20MHz)
31.3ns(f(BCLK)=32MHz)
4.2V to 5.5V(f(XIN)=20MHz)
2.7V to 5.5V(f(XIN)=10MHz)
Clock Generating Circuit
XIN, XCIN
4.2V to 5.5V (f(BCLK)=32MHz, through VDC)
3.0V to 5.5V (f(BCLK)=20MHz, through VDC)
3.0V to 3.6V (f(BCLK)=20MHz, not through VDC)
XIN, XCIN, PLL, On-chip oscillator
Main clock, sub clock drive
capability select function
Peripheral Function clock
Have
None
f1, f8, f32, fC32
f1, f8, fC32, f2n (n=0 ot 15. No division when n=0)
None
Have
45mA(5V, f(XIN)=20MHz)
41mA (VCC=5V, f(BCLK)=32MHz)
38mA (VCC=5V, f(BCLK)=30MHz)
26mA (VCC=3.3V, f(BCLK)=20MHz)
470µA (VCC=5V, f(XCIN)=32kHz, in wait mode)
Oscillation Stop Detect
Function
Power Consumption
340µA (VCC=3.3V, f(XCIN)=32kHz, through VDC in wait mode
5.0µA (VCC=3.3V, f(XCIN)=32kHz, not through VDC in wait mode)
0.4µA (VCC=5V, in stop mode)
0.4µA (VCC=3.3V, in stop mode)
Access to SFR
1 wait fixed
Variable (1 to 2 waits)
Protect
Can be set for PM0, PM1, CM0, CM1, MCD,
PD9, PS3 register
DMA Request Factors
Falling
edge ________
or both edges of input signals to
________
the INT0 to INT3 pin
Timer A0 to timer A4 interrupt requests
Timer B0 to timer B5 interrupt requests
UART0 to UART4 transmit and receive
interrupt requests
A/D conversion interrupt request
Software trigger
None
Can be set for PM0, PM1, CM0, CM1, MCD, PD9,
PS3, CM2, PLC0, PLC1, INVC0, INVC1, PLV, VDC0
register
The next interrupt is added to M16C/80.
A/D1 conversion interrupt request
Intelligent I/O interrupt request
CAN interrupt request
DMAII Function
Timer A, Timer B
Count Source
Selectable: f1, f8, f32, fC32
Have
Selectable: f1, f8, fC32, f2n(n=0 to 15,.No division when
n=0)
Note 1: About the details and the characteristics, refer to hardware manual.
REJ05B0400-0102/Rev.1.02
April 2005
Page 1 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
Table 3.1.2 Function Differences (2) (Note1)
Item
Three-Phase Motor Control Timer
M16C/80
M32C/83
Have
Selectable
Fixed
Selectable
Selectable: f1, f8, f32, fC32
Selectable: f1, f8, fC32, f2n (n=0 to 15. No division
when n=0)
(Clock synchronous serial I/O, Clock asynchronous
2
TM
TM
serial I/O, I C bus (Note 2), IEBus (Note 3), GCI
bus, SIM interface) × 5
Dead Time
Three-Phase Motor Control Timer
Dead Time Trigger
Three-Phase Motor Control Timer
Count Source
Serial I/O
Serial
I/O
________ _______
CTS /RTS Separate
Function
Serial I/O
Transfer Clock Output
from Multiple Pins
Serial I/O
TxD, RxD I/O Polarity
Switching Function
Serial I/O
Sleep Function
Serial I/O
Count Source
Serial I/O
Overrun error occur timing
(Clock synchronous serial I/O,
Clock
asynchronous serial I/O) × 2
(Clock synchronous serial I/O,
Clock
2
TM
asynchronous serial I/O , I C bus (Note 2),
TM
IEBus (Note 3), SIM interface) × 3
Can be used in UART0
None
Can be used in UART1
None
Can be used in UART2 to UART4
Can be used in UART0 to UART4
Can be used in UART0, UART1
None
Selectable: f1, f8, f32
f1, f8, f2n(n=0 to 15. No division when n=0)
This error occurs when the next data is ready
before contents of UiRB register (i=0 to 4) are
read out
This error occurs if the serial I/O started receiving the
next data before reading the UiRB register (i=0 to 4)
and received the 7th bit of the next data (Clock
synchronous serial I/O).
This error occurs if the serial I/O started receiving the
next data before reading the UiRB register and
received the bit one before the last stop bit of the next
data (Clock asynchronous serial I/O).
Assert low when receive buffer is read
Serial
I/O
_______
RTS Timing
Serial I/O
2
I C Mode
Serial I/O
2
I C mode
SDA delay
CAN Module
Start condition, stop condition:
Not auto-generation
SDA digital delay count source: 1/f(XIN)
Start condition, stop condition: Auto-generation
None
1 channel
Intelligent I/O
None
4 group
A/D Converter
1 circuit, 10 channels
2 circuits, 34 channels
A/D Converter
Maximum
Operating
Frequency
A/D Converter
Operating Clock
10MHz
16MHz (VCC=5.0V)
Selectable: fAD, fAD/2, fAD/4
Selectable: fAD, fAD/2, fAD/3, fAD/4
Assert low when reception is completed
SDA digital delay count source: BRG
Note 1: About the details and the characteristics, refer to hardware manual.
Note 2: I2C bus is a trademark of Koninklijke Philips Electronics N. V.
Note 3: IEBus is a trademark of NEC Electronics Corporation.
REJ05B0400-0102/Rev.1.02
April 2005
Page 2 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
3.2 Pin function Differences
Table 3.2.1 and table 3.2.2 show the Pin Function Differences.
Table 3.2.1 Pin Function Differences (1/2)
M16C/80
P92/TB2IN/TxD3/SDA3/SRxD3
M32C/83
P92/TB2IN/TxD3/SDA3/SRxD3/IEOUT/ISTxD2/OUTC20
Remarks
Add IEOUT/ISTxD2/OUTC20
P91/TB1IN/RxD3/SCL3/STxD3
P91/TB1IN/RxD3/SCL3/STxD3/ISRxD2/IEIN
Add ISRxD2/IEIN
P143
P143/INPC17/OUTC17
Add INPC17/OUTC17
P142
P142/INPC16/OUTC16
Add INPC16/OUTC16
P141
P141/OUTC15
Add OUTC15
P140
P140/OUTC14
Add OUTC14
P87/XCIN
P87/XCIN/VCONT
Add VCONT
P83/INT1
P83/INT1/CANIN
Add CANIN
P82/INT0
P82/INT0/OUTC32/CANOUT/ISRxD3
Add OUTC32/CANOUT/ISRxD3
P81/TA4IN/U
P81/TA4IN/U/OUTC30/ISTxD3
Add OUTC30/ISTxD3
P80/TA4OUT/U
P80/TA4OUT/U/INPC02/ISRxD0/BE0IN
Add INPC02/ISRxD0/BE0IN
P77/TA3IN
P77/TA3IN/INPC01/OUTC01/ISCLK0/CANIN
Add INPC01/OUTC01/ISCLK0/CANIN
P76/TA3OUT
P76/TA3OUT/INPC00/OUTC00/ISTxD0/BE0OUT/CANOUT
Add
INPC00/OUTC00/ISTxD0/BE0OUT/CANOUT
P75/TA2IN/W
P75/TA2IN/W/INPC12/OUTC12/ISRxD1/BE1IN
Add INPC12/OUTC12/ISRxD1/BE1IN
P74/TA2OUT/W
P74/TA2OUT/W/INPC11/OUTC11/ISCLK1
Add INPC11/OUTC11/ISCLK1
P73/V/CTS2/RTS2/TA1IN
P73/V/CTS2/RTS2/SS2/TA1IN/OUTC10/ISTxD1/BE1OUT
Add OUTC10/ISTxD1/BE1OUT/SS2
P71/RxD2/SCL2/TA1OUT/TB5IN
P71/RxD2/SCL2/TA1OUT/TB5IN/STxD2/OUTPC22/ISRxD2
Add STxD2/OUTPC22/ISRxD2/IEIN
/IEIN
P70/TxD2/SDA2/TA0OUT
P70/TxD2/SDA2/TA0OUT/SRxD2/OUTC20/ISTxD2/IEOUT
Add SRxD2/OUTC20/ISTxD2/IEOUT
P67/TxD1
P67/TxD1/SDA1/SRxD1
Add SDA1/SRxD1
P66/RxD1
P66/RxD1/SCL1/STxD1
Add SCL1/STxD1
P64/CTS1/RTS1/CTS0/CLKS1
P64/CTS1/RTS1/SS1/OUTC21/ISCLK2
Add SS1/OUTC21/ISCLK2
P63/TxD0
P63/TxD0/SDA0/SRxD0
Add SDA0/SRxD0
P62/RxD0
P62/RxD0/SCL0/STxD0
Add SCL0/STxD0
Delete CTS0/CLKS1
P60/CTS0/RTS0
P60/CTS0/RTS0/SS0
Add SS0
P137
P137/OUTC27
Add OUTC27
P136
P136/OUTC21/ISCLK2
Add OUTC21/ISCLK2
P135
P135/OUTC22/ISRxD2/IEIN
Add OUTC22/ISRxD2/IEIN
P134
P134/OUTC20/ISTxD2/IEOUT
Add OUTC20/ISTxD2/IEOUT
P133
P133/OUTC23
Add OUTC23
P132
P132/OUTC26
Add OUTC26
P131
P131/OUTC25
Add OUTC25
P130
P130/OUTC24
Add OUTC24
P127
P127/OUTC37
Add OUTC37
P126
P126/OUTC36
Add OUTC36
P125
P125/OUTC35
Add OUTC35
P124
P124/OUTC34
Add OUTC34
P123
P123/OUTC33
Add OUTC33
P122
P122/OUTC32/ISRxD3
Add OUTC32/ISRxD3
P121
P121/OUTC31/ISCLK3
Add OUTC31/ISCLK3
P120
P120/OUTC30/ISTxD3
Add OUTC30/ISTxD3
REJ05B0400-0102/Rev.1.02
April 2005
Page 3 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
Table 3.2.2 Pin Function Differences (2/2)
M16C/80
M32C/83
Remarks
P27/A7(/D7)
P27/A7(/D7)/AN27
Add AN27
P26/A6(/D6)
P26/A6(/D6)/AN26
Add AN26
P25/A5(/D5)
P25/A5(/D5)/AN25
Add AN25
P24/A4(/D4)
P24/A4(/D4)/AN24
Add AN24
P23/A3(/D3)
P23/A3(/D3)/AN23
Add AN23
P22/A2(/D2)
P22/A2(/D2)/AN22
Add AN22
P21/A1(/D1)
P21/A1(/D1)/AN21
Add AN21
P20/A0(/D0)
P20/A0(/D0)/AN20
Add AN20
P07/D7
P07/AN07/D7
Add AN07
P06/D6
P06/AN06/D6
Add AN06
P05/D5
P05/AN05/D5
Add AN05
P04/D4
P04/AN04/D4
Add AN04
P113
P113/OUTC13
Add OUTC13
P112
P112/OUTC12/INPC12/ISRxD1/BE1IN
Add OUTC12/INPC12/ISRxD1/BE1IN
P111
P111/OUTC11/INPC11/ISCLK1
Add OUTC11/INPC11/ISCLK1
P110
P110/OUTC10/ISTxD1/BE1OUT
Add OUTC10/ISTxD1/BE1OUT
P03/D3
P03/AN03/D3
Add AN03
P02/D2
P02/AN02/D2
Add AN02
P01/D1
P01/AN01/D1
Add AN01
P00/D0
P00/AN00/D0
Add AN00
P157
P157/AN157/INPC07
Add AN157/INPC07
P156
P156/AN156/INPC06
Add AN156/INPC06
P155
P155/AN155/INPC05/OUTC05
Add AN155/INPC05/OUTC05
P154
P154/AN154/INPC04/OUTC04
Add AN154/INPC04/OUTC04
P153
P153/AN153/INPC03
Add AN153/INPC03
P152
P152/AN152/INPC02/ISRxD0/BE0IN
Add AN152/INPC02/ISRxD0/BE0IN
P151
P151/AN151/INPC01/OUTC01/ISCLK0
Add AN151/INPC01/OUTC01/ISCLK0
P150
P150/AN150/INPC00/OUTC00/ISTxD0/BE0OUT
Add AN150/INPC00/OUTC00/ISTxD0/BE0OUT
REJ05B0400-0102/Rev.1.02
April 2005
Page 4 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
3.3 SFR Differences
Table 3.3.1 and table 3.2.3 show the SFR Differences.
Table 3.3.1 SFR Differences (1/3)
M16C/80
M32C/83
Remarks
PM1
PM1
Add bit 3. Change set value of reserved bit.
CM0
CM0
Change function
CM1
CM1
Add bit 7. Change function.
PRCR
PRCR
Add bit 3. Change function.
-
CM2
-
PLV
-
VDC0
-
VDC1
BCN3IC
BCN0IC/BCN3IC
Shard with BCN0IC register
ADIC
AD0IC
Change register name
-
AD1IC
BCN4IC
BCN1IC/BCN4IC
Shard with BCN1IC register
RLVL
RLVL
Add bit 5
-
Intelligent I/O, CAN related
interrupt control register
-
Intelligent I/O
interrupt request register
-
Intelligent I/O
interrupt enable register
-
Intelligent I/O, related register
-
IPS
-
AD1 related register
-
CAN related register
-
U4SMR4
U4SMR2
U4SMR2
Change function
U4SMR
U4SMR
Add bit 7
U4C0
U4C0
Change function
U4C1
U4C1
Change function
INVC1
INVC1
Add bits 5, 6
IFSR
IFSR
Add bits 6, 7
-
U3SMR4
U3SMR2
U3SMR2
Change function
U3SMR
U3SMR
Add bit 7
U3C1
U3C1
Change function
-
U2SMR4
U2SMR3
U2SMR3
Add bits 0 to 4
U2SMR2
U2SMR2
Change function
U2SMR
U2SMR
Add bit 7
U2C1
U2C1
Change function
-
TB2SC
-
TCSPR
REJ05B0400-0102/Rev.1.02
April 2005
Page 5 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
Table 3.3.2 SFR Differences (2/3)
M16C/80
M32C/83
-
U0SMR4
-
U0SMR3
-
U0SMR2
Remarks
-
U0SMR1
-
U0SMR
U0MR
U0MR
Address change from 0360h to 0368h. Change function.
U0BRG
U0BRG
Address change from 0361h to 0369h.
U0TB
U0TB
Address change from 0363h-0362h to 036Bh-036Ah.
U0C0
U0C0
Address change from 0364h to 036Ch
U0C1
U0C1
Address change from 0365h to 036Dh. Add bits 4 to 7.
U0RB
U0RB
Address change from 0367h-0366h to 036Bh-036Ah
-
U1SMR3
-
U1SMR2
-
U1SMR
U1MR
U1MR
Address change from 0368h to 02E8h. Change function.
U1BRG
U1BRG
Address change from 0369h to 02E9h.
U1TB
U1TB
Address change from 036Bh-036Ah to 02EBh-02EAh
U1C0
U1C0
Address change from 036Ch to 02ECh
U1C1
U1C1
Address change from 036Dh to 02EDh. Add bits 4 to 7.
U1RB
U1RB
Address change from 036Fh-036Eh to 02EFh-02EEh
UCON
-
FMR1
-
FMR0
FMR0
Address change from 0377h to 0057h
-
PLC0
-
PLC1
DM0SL
DM0SL
Change function
DM1SL
DM1SL
Change function
DM2SL
DM2SL
Change function
DM3SL
DM3SL
Change function
AD0
AD00
Change register name
AD1
AD01
Change register name
AD2
AD02
Change register name
AD3
AD03
Change register name
AD4
AD04
Change register name
AD5
AD05
Change register name
AD6
AD06
Change register name
AD7
AD07
Change register name
ADCON2
AD0CON2
Change register name. Add bits 4 to 7.
ADCON0
AD0CON0
Change register name. Change function.
ADCON1
AD0CON1
Change register name. Change function.
REJ05B0400-0102/Rev.1.02
April 2005
Page 6 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
Table 3.3.3 SFR Differences (3/3)
M16C/80
M32C/83
-
PS8
-
PS9
Remarks
PSC
PSC
Add bits 1 to 4, 6. Change function.
PS0
PS0
Add bits 2, 6. Change function.
PS1
PS1
Add bit 7. Change function.
PSL0
PSL0
Add bits 1, 6. Change function.
PSL1
PSL1
Add bits 1, 5, 6. Change function.
PS2
PS2
Add bit 2. Change function.
PS3
PS3
Change function
PSL2
PSL2
Add bits 1, 2.
PSL3
PSL3
Add bit 2
-
PS5
-
PS6
-
PS7
REJ05B0400-0102/Rev.1.02
April 2005
Page 7 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
3.4 Interrupt Vector Differences
Table 3.4.1 shows the Fixed Vector Table Differences. Table 3.4.2 shows the Relocatable Vector Table
Differences.
Table 3.4.1 Fixed Vector Table Differences
M16C/80 Interrupt Factor
Watchdog Timer
M32C/83 Interrupt Factor
Watchdog Timer
Remarks
Add Watchdog Timer
Oscillation Stop Detection
Table 3.4.2 Relocatable Vector Table Differences
M16C/80 Interrupt Factor
M32C/83 Interrupt Factor
Software Interrupt Number
-
A/D1
7
UART0 transmission
UART0 transmission, NACK
17
UART0 reception
UART0 reception, ACK
18
UART1 transmission
UART1 transmission, NACK
19
UART1 reception
UART1 reception, ACK
20
Bus Conflict Detect, Start Condition Detect,
Bus Conflict Detect, Start Condition Detect,
39
Stop Condition Detect (UART2)
Stop Condition Detect, Fault Error (UART2)
Bus Conflict Detect, Start Condition Detect,
Bus Conflict Detect, Start Condition Detect,
Stop Condition Detect, Fault Error (UART3)
Stop Condition Detect, Fault Error (UART3
40
or UART0)
Bus Conflict Detect, Start Condition Detect,
Bus Conflict Detect, Start Condition Detect,
Stop Condition Detect, Fault Error (UART4)
Stop Condition Detect, Fault Error (UART4
41
or UART1)
-
Intelligent I/O Interrupt 0
44
-
Intelligent I/O Interrupt 1
45
-
Intelligent I/O Interrupt 2
46
-
Intelligent I/O Interrupt 3
47
-
Intelligent I/O Interrupt 4
48
-
Intelligent I/O Interrupt 5
49
-
Intelligent I/O Interrupt 6
50
-
Intelligent I/O Interrupt 7
51
-
Intelligent I/O Interrupt 8
52
-
Intelligent I/O Interrupt 9, CAN0
53
-
Intelligent I/O Interrupt 10, CAN1
54
-
Intelligent I/O Interrupt 11, CAN2
57
REJ05B0400-0102/Rev.1.02
April 2005
Page 8 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
3.5 Support Tool Differences
Table 3.5.1 shows the support tool differences.
Table 3.5.1 Support Tool Differences
Tool information
M16C/80 Tool Product
M32C/83 Tool Product
M32C/83 Tool Product
(Max.20MHz)
(Max.30MHz)
C Compiler
M3T-NC308WA
M3T-NC308WA
M3T-NC308WA
Real-time OS
M3T-MR308
M3T-MR308
M3T-MR308
Simulator Debugger
M3T-PD308SIM
M3T-PD308SIM
M3T-PD308SIM
Emulator Debugger
M3T-PD308
M3T-PD3083
M3T-PD308F
Emulator
PC4701U
PC4701U
PC7501
Emulation Pod,
M30803T-RPD-E
M30830T-RPD-E
M30830T-EPB
Emulation Probe
REJ05B0400-0102/Rev.1.02
April 2005
Page 9 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
4.
Reference
Renesas Technology Corporation Home Page
http://www.renesas.com/
E-mail Support
E-mail: csc@renesas.com
Hardware Manual
M32C/83 Group Hardware Manual
(Use the latest version on the home page: http://www.renesas.com)
User’s Manual
M16C/80 Group User’s Manual
(Use the latest version on the home page: http://www.renesas.com)
REJ05B0400-0102/Rev.1.02
April 2005
Page 10 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
REVISION HISTORY
Rev.
Date
1.01
1.02
2005.01.12
2005.04.15
REJ05B0400-0102/Rev.1.02
Page
2
Description
Summary
First edition issued
Add A/D converter maximum operating frequency
April 2005
Page 11 of 12
M16C/80, M32C/83 Group
Differences between M16C/80 and M32C/83
Keep safety first in your circuit designs!
Keep safety first in your circuit designs!
Notes regarding these materials
1. Renesas Technology Corporation puts the maximum effort into making semiconductor products
better and more reliable, but there is always the possibility that trouble may occur with them. Trouble
with semiconductors may lead to personal injury, fire or property damage.
Remember to give due consideration to safety when making your circuit designs, with appropriate
measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of nonflammable material or
(iii) prevention against any malfunction or mishap.
Notes regarding these materials
1. These materials are intended as a reference to assist our customers in the selection of the Renesas
Technology Corporation product best suited to the customer's application; they do not convey any
license under any intellectual property rights, or any other rights, belonging to Renesas Technology
Corporation or a third party.
2. Renesas Technology Corporation assumes no responsibility for any damage, or infringement of any
third-party's rights, originating in the use of any product data, diagrams, charts, programs,
algorithms, or circuit application examples contained in these materials.
3. All information contained in these materials, including product data, diagrams, charts, programs and
algorithms represents information on products at the time of publication of these materials, and are
subject to change by Renesas Technology Corporation without notice due to product improvements
or other reasons. It is therefore recommended that customers contact Renesas Technology
Corporation or an authorized Renesas Technology Corporation product distributor for the latest
product information before purchasing a product listed herein.
The information described here may contain technical inaccuracies or typographical errors.
Renesas Technology Corporation assumes no responsibility for any damage, liability, or other loss
rising from these inaccuracies or errors.
Please also pay attention to information published by Renesas Technology Corporation by various
means, including the Renesas Technology Corporation Semiconductor home page
(http://www.renesas.com).
4. When using any or all of the information contained in these materials, including product data,
diagrams, charts, programs, and algorithms, please be sure to evaluate all information as a total
system before making a final decision on the applicability of the information and products. Renesas
Technology Corporation assumes no responsibility for any damage, liability or other loss resulting
from the information contained herein.
5. Renesas Technology Corporation semiconductors are not designed or manufactured for use in a
device or system that is used under circumstances in which human life is potentially at stake.
Please contact Renesas Technology Corporation or an authorized Renesas Technology Corporation
product distributor when considering the use of a product contained herein for any specific
purposes, such as apparatus or systems for transportation, vehicular, medical, aerospace, nuclear,
or undersea repeater use.
6. The prior written approval of Renesas Technology Corporation is necessary to reprint or reproduce
in whole or in part these materials.
7. If these products or technologies are subject to the Japanese export control restrictions, they must
be exported under a license from the Japanese government and cannot be imported into a country
other than the approved destination.
Any diversion or reexport contrary to the export control laws and regulations of Japan and/or the
country of destination is prohibited.
8. Please contact Renesas Technology Corporation for further details on these materials or the
products contained therein.
REJ05B0400-0102/Rev.1.02
April 2005
Page 12 of 12
Download PDF