93
ICE Emulator for the 80186 and 80196 1 ©1989-2017 Lauterbach GmbH ICE Emulator for the 80186 and 80196 TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... ICE In-Circuit Emulator ................................................................................................................. ICE Target Guides ...................................................................................................................... ICE Emulator for the 80186 and 80196 .................................................................................. 1 WArning ................................................................................................................................ 6 Quick Start ............................................................................................................................ 7 Troubleshooting ................................................................................................................... 11 Hang-Up 11 Dual-Port Errors 12 FAQ ........................................................................................................................................ 13 Configuration ........................................................................................................................ 14 DIP-Switch Setting of 8086/8088/V20/V30 14 DIP-Switch Setting of 80186(EA)/80188(EA)/80C186(XL)/80C188(XL) 15 DIP-Switch Setting of 80186EB/80188EB/80186EC/80188EC, V40/V50 16 DIP-Switch Setting of 186EM/ES/ER/ED/188EM/ES/ER 17 DIP-Switch Setting of 186CC/CH/CU 18 Basics .................................................................................................................................... 19 Emulation Modes 19 Dual-Port Access 21 SYStem.Clock Clock generation 21 General SYStem Settings and Restrictions ....................................................................... 22 General Restrictions 22 SYStem.Option BreakWin Break window 23 SYStem.Option ONCE On-circuit emulation 23 SYStem.Option RamWait Wait states 23 SYStem.Option REFresh Trace refresh cycles 24 SYStem.Option REL Relocation register 24 SYStem.Option SPLIT Access control on splitted memory 24 SYStem.Option TestClock Clock fail detection 24 SYStem.Option V33 3.3 V power fail detection 25 Continue with CPU specific Special Settings and Restrictions 25 Special Settings 8086/8088/V20/V30 ................................................................................... 26

ICE Emulator for the 80186 and 80196 - · PDF fileICE Emulator for the 80186 and 80196 3 ©1989-2017 Lauterbach GmbH Reset Input (not 8086/8088/V20/V30) 42 Reset Input (8086/8088/V20/V30)

  • Upload
    lydien

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

ICE Emulator for the 80186 and 80196

TRACE32 Online Help

TRACE32 Directory

TRACE32 Index

TRACE32 Documents ......................................................................................................................

ICE In-Circuit Emulator .................................................................................................................

ICE Target Guides ......................................................................................................................

ICE Emulator for the 80186 and 80196 .................................................................................. 1

WArning ................................................................................................................................ 6

Quick Start ............................................................................................................................ 7

Troubleshooting ................................................................................................................... 11

Hang-Up 11

Dual-Port Errors 12

FAQ ........................................................................................................................................ 13

Configuration ........................................................................................................................ 14

DIP-Switch Setting of 8086/8088/V20/V30 14

DIP-Switch Setting of 80186(EA)/80188(EA)/80C186(XL)/80C188(XL) 15

DIP-Switch Setting of 80186EB/80188EB/80186EC/80188EC, V40/V50 16

DIP-Switch Setting of 186EM/ES/ER/ED/188EM/ES/ER 17

DIP-Switch Setting of 186CC/CH/CU 18

Basics .................................................................................................................................... 19

Emulation Modes 19

Dual-Port Access 21

SYStem.Clock Clock generation 21

General SYStem Settings and Restrictions ....................................................................... 22

General Restrictions 22

SYStem.Option BreakWin Break window 23

SYStem.Option ONCE On-circuit emulation 23

SYStem.Option RamWait Wait states 23

SYStem.Option REFresh Trace refresh cycles 24

SYStem.Option REL Relocation register 24

SYStem.Option SPLIT Access control on splitted memory 24

SYStem.Option TestClock Clock fail detection 24

SYStem.Option V33 3.3 V power fail detection 25

Continue with CPU specific Special Settings and Restrictions 25

Special Settings 8086/8088/V20/V30 ................................................................................... 26

ICE Emulator for the 80186 and 80196 1 ©1989-2017 Lauterbach GmbH

SYStem.Option FPU Floating-point unit 26

SYStem.Option MAX MIN/MAX mode 27

Special Settings 80186/80188 .............................................................................................. 28

SYStem.Option FPU Floating-point unit 28

SYStem.Option MAX MIN/MAX mode 28

Special Settings C186(XL)/C188(XL)/EA and Restrictions ............................................... 29

Restrictions 80C186(XL)/80C188(XL)/80C186EA/80C188EA 29

SYStem.Option Enhanced Enhanced mode 29

SYStem.Option FPU Floating-point unit 29

Special Settings 80186EB/80188EB/80186EC/80188EC .................................................... 30

SYStem.Option FPU Floating-point unit 30

Special Settings 186EM, 188EM and Restrictions ............................................................. 31

Restrictions 186EM, 188EM 31

SYStem.CPU CPU type 31

SYStem.Line ADDR Shared address pins 32

SYStem.Line SRDY SRDY pin 32

Special Settings 186ES, 188ES, 186ED and Restrictions ................................................. 33

Restrictions 186ES, 188ES, 186ED 33

SYStem.CPU CPU type 33

SYStem.Line ADDR Shared address pins 34

SYStem.Line SRDY SRDY pin 34

Mapping 34

MAP.BUS8 Bus width mapping 35

Special Settings 186ER/188ER and Restrictions .............................................................. 36

Restrictions 186ER/188ER 36

SYStem.CPU CPU type 36

SYStem.Line ADDR Shared address pins 36

SYStem.Line SRDY SRDY pin 37

SYStem.Option CLKSEL Clock select 37

SYStem.Option IMDIS Internal memory disable 37

SYStem.Option SREN Show read enable 37

Special Settings 186CC/CU/CH and Restrictions .............................................................. 38

Restrictions 186CC/CU/CH 38

SYStem.Line SRDY SRDY pin 38

SYStem.Line ARDY ARDY pin 39

SYStem.Option CLKSEL Clock select 39

Special Settings V40/V50 and Restrictions ........................................................................ 40

Restrictions V40/V50 40

Exception Control ................................................................................................................ 41

Reset 42

ICE Emulator for the 80186 and 80196 2 ©1989-2017 Lauterbach GmbH

Reset Input (not 8086/8088/V20/V30) 42

Reset Input (8086/8088/V20/V30) 43

NMI 43

HOLD 44

DMA Modes 44

SYStem.Line HOLD Enable HOLD line (emulation stopped) 44

Interrupt and Timer Control 45

Interrupt Stimulation 47

INT0 48

Trap Trigger 50

Refresh Operation ................................................................................................................ 51

FPU ........................................................................................................................................ 51

I/O Connector for Coprocessor (8086/8087) 52

Memory Classes ................................................................................................................... 53

Segmentation ........................................................................................................................ 55

Banked Target Systems ....................................................................................................... 56

Memory and I/O Access Routines 58

Monitor Extensions .............................................................................................................. 59

State Analyzer ....................................................................................................................... 60

Keywords for the Trigger Unit 60

General Keywords for the Trigger Unit 60

8086/8088/V20/V30MAX Keywords for the Trigger Unit 61

8086/8088/V20/V30MIN Keywords for the Trigger Unit 62

80(C)186(XL)/80(C)188(XL)/EA/EB/EC/EM/ES/ER Keywords for the Trigger Unit 62

V40/V50 Keywords for the Trigger Unit 64

Keywords for the Display 65

General Keywords 65

8086/8088/V20/V30MAX Keywords 65

8086/8088/V20/V30MIN Keywords 65

80(C)186(XL)/80(C)188(XL)/EA/EB/EC/EM/ES/ER/ED/CC Keywords 65

V40/V50MIN Keywords 66

Dequeueing 66

Port Analyzer ........................................................................................................................ 67

Keywords for the Port Analyzer (8086/8088/V20/V30) 67

Keywords for the Port Analyzer (80(C)186(XL)/80(C)188(XL)/EA) 68

Keywords for the Port Analyzer (80186EB/80188EB) 69

Keywords for the Port Analyzer (80186EC/80188EC) 70

Keywords for the Port Analyzer (18xEM/18xES/18xER/186ED) 71

Keywords for the Port Analyzer (V40/V50) 73

Input Connector for free Channels (8086/8088/80186/80188) 74

Input Connector for free Channels (80186EB/80188EB) 74

ICE Emulator for the 80186 and 80196 3 ©1989-2017 Lauterbach GmbH

Input Connector for free Channels (18xEM/18xES/18xER/186ED/CC) 75

Compilers .............................................................................................................................. 76

3rd Party Tool Integrations .................................................................................................. 77

Realtime Operation Systems ............................................................................................... 78

Emulation Frequency ........................................................................................................... 79

Emulation Modules .............................................................................................................. 80

Module Overview 80

Order Information 81

Operating Voltage ................................................................................................................ 83

Physical Dimensions ........................................................................................................... 84

Adapter .................................................................................................................................. 93

ICE Emulator for the 80186 and 80196 4 ©1989-2017 Lauterbach GmbH

ICE Emulator for the 80186 and 80196

Version 06-Nov-2017

For general informations about the In-Circuit Debugger refer to the “ICE User’s Guide” (ice_user.pdf). All general commands are described in “IDE Reference Guide” (ide_ref.pdf) and “General Commands and Functions”.

P:0040:07A0 \\MCC\MCC\_sieve+29 ........... MIX AI

E::w.d.laddr/line code label mnemonic comment

{576 prime = i + i + 3;

P:0040:07A0 8BC6 mov ax,siP:0040:07A2 D1E0 shl ax,1P:0040:07A4 050300 add ax,3P:0040:07A7 8946FE mov [bp-2],ax

577 k = i + prime;P:0040:07AA 8BFE mov di,siP:0040:07AC EB05 jmp 7B3

while ( k <= SIZE ){

580 flags[ k ] = FALSE;P:0040:07AE C685D80400 mov byte ptr [di+4D8],0

Cy _ AX 5 BX 12 SP >0040 E::w.v.l %m %r %tP _ CX 5 DX 0BC -06 000B sieve()Ac _ DS 2F3 SI 2 -04 0002 (auto int) prime = 5Zr _ ES 2F3 DI 15 -02 0005 (auto int) count = 2S _ SS 2F3 SP 4562 FP >457E (register int) i = 2T _ BP 456A +02 076F (register int) k = 21

ICE Emulator for the 80186 and 80196 5 ©1989-2017 Lauterbach GmbH

WArning

NOTE: Do not connect or remove probe from target while target power is ON.

Power up: Switch on emulator first, then targetPower down: Switch off target first, then emulator

ICE Emulator for the 80186 and 80196 6 ©1989-2017 Lauterbach GmbH

Quick Start

Before debugging can be started, the emulator must be configured by hardware and software:

1. Check DIP-switch setting (chapter Configuration)

2. Create setup file (next)

Ready to run setup files for most standard compilers can be found on the software CD in the directory …/Demo/I86/Compiler. All setup files are designed to run the emulator stand alone without target hardware.

The following description should make the initial setup (to run the emulator together with the target hardware) easier. It describes a typical setup with frequently used settings. It is recommended to use the programming language PRACTICE to create a batch file, which includes all necessary setup commands. PRACTICE files (*.cmm) can be created with the PRACTICE editor pedit (Command: PEDIT <file name>) or with any other text editor.

A basic setup file includes the following parts:

1. Set system options

2. Select dualport mode (optional)

3. Set mapper (optional)

4. Select frequency (optional)

5. Activate the emulator

6. Load application file (optional)

7. Initialize registers and chipselect units (optional)

8. Set breakpoints (optional)

9. Start application

10. Stop application (optional)

ICE Emulator for the 80186 and 80196 7 ©1989-2017 Lauterbach GmbH

Now a typical example, how to setup the system:

1. Set system options

The system window controls the CPU specific setup. Please check this window very carefully and set

the appropriate options. Use the button in the main tool bar and click to the option check box (Command: HELP.PICK) to get online help in a pop up window.

2. Select dualport mode (optional)

Dualport allows access to emulation RAM, while emulation is running. This is necessary to display variables, set breakpoints or display the flag listings while the emulation is running. System.access selects how dualport access is done.

3. Set mapper (optional)

The mapper controls the memory access of the CPU. This means the use of internal or external memory, the number of wait states, the bus width etc. Address ranges must be defined by using memory classes.

Select frequency (optional)

The CPU can be clocked by internal (emulator) or external (target). If the internal clock is used, the clock is provides by the VCO of the emulator. The setting of the internal clock is done by the VCO command.

The current CPU frequency can be displayed in the counter window (Command: Count).

system.downsystem.resetsystem.option once on

system.option v33 on

; switch the system down; all system settings to default; on: if clip over adapter is used; important: ext. pull-up FLT# > 6.8K; on: if 3.3 V module is used

system.access request ; request: HOLD/HLDA line is used for; dualport; refresh: 186 Enhanced Mode only; nodelay: frequency limited; denied: dualport is disabled

map.resetmap.mode fastmap.ram ap:0x000000--0x00ffffmap.ram ap:0x0f0000--0x0fffff

map.intern ap:0x000000--0x0ffff

; reset mapper (all external); use fast mode, if possible; emulation RAM: use low 64KB; emulation RAM: use top 64KB; memory: use low 64KB internal; use top 64KB external; use top 64KB dualport

vco.clock 25. ; frequency: set to 25 MHz; (necessary if internal clock used)

?

ICE Emulator for the 80186 and 80196 8 ©1989-2017 Lauterbach GmbH

4. Activate the emulator

When the emulator is activated a monitor program is loaded into hidden emulator memory. After the load and the falling edge of RESET the monitor program is started. This program allows access to user memory (data.dump, data.list) and register and gives control to start and stop the emulation.

5. Load application file (optional)

Application can be loaded by various file formats. OMF86 file is often used to load code and symbol information. For information about the load command for your compiler see Compiler.

6. Initialize registers and chipselect units (optional)

For correct data.list and data.dump after RESET it necessary to initialize chipselect units. Stackpointer should be initialized by hand if debugging is started at RESET until it is initialized by the program. Stack is used for the emulator break system.

7. Set breakpoints (optional)

There are several ways to set breakpoints (Command: Break.Set). Breakpoints can be displayed using the Break.List command. Information regarding HLL lines (for HLL breakpoints) is loaded automatically when a HLL file is loaded.

8. Start application

Application can be started with giving a break address. For example “go main” starts the application and stops at symbol main.

system.mode emulext ; system up: emulation external; (target, ext. clock); or: system.mode aloneint; (stand alone, int. clock)

data.load.omf file.abs /nocode ; load application file (symbols; only) emulator mmu is set; automatically

register.set sp 0x1000

data.set io:0x0ffa0 %w 0x0fc3c

; initialize stack pointer to allow; debugging from begin of program; initialize UCS

breakpoint.set main /program

breakpoint.set counter /write

; set program break on function; main; set write break on variable; counter

go ; run application

ICE Emulator for the 80186 and 80196 9 ©1989-2017 Lauterbach GmbH

9. Stop application (optional)

Application can be breaked manually by using the Break command. If application executed a halt instruction the command Break.HALT should be used to terminate the application.

It is recommended to check the following chapters for all questions regarding the correct setup:

• Configuration

• General SYStem Settings and Restrictions

• Special Settings 8086/8088/V20/V30

• Special Settings 80186/80188

• Special Settings C186(XL)/C188(XL)/EA and Restrictions

• Special Settings 80186EB/80188EB/80186EC/80188EC

• Special Settings 186EM, 188EM and Restrictions

• Special Settings 186ES, 188ES, 186ED and Restrictions

• Special Settings 186ER/188ER and Restrictions

• Special Settings 186CC and Restrictions

• Special Settings V40/V50 and Restrictions

• Troubleshooting

break ; break application by hand

ICE Emulator for the 80186 and 80196 10 ©1989-2017 Lauterbach GmbH

Troubleshooting

Hang-Up

If you are not able to stop the emulation, there could be some typically reasons:

Halt The program runs to HALT state. No cycles are generated by the CPU and the trigger system can not work. Use Break.Halt to generate a NMI interrupt and stop then the emulation.

No READY Signal If TIMOUT is not specified, the CPU cycle will not be completed, when the READY signal is missing. You can verify this state by checking the CYCLE signal with the counter function. If low, the CPU is stopped in the middle of the cycle. On dual-port access an error occurs and the emulator system changes to reset state.

Clock Error The clock lines between the target and the oscillator replacement are very short. Therefore normally no problems should occur when using an external crystal. Be sure that the capacitors on the target have a value of 20 pF minimum and are connected with short routes to the CPU socket. If the clock input signal is only used by the CPU, the clock may be generated by the emulator system using the EmulInt mode.

NMI Break system will not work if NMI input is active at the same time a breakpoint or a trigger point is reached. Be sure that on emulation NMI is not used by the target system. Otherwise switch off the NMI line by eXeption.Enable NMI Off.

RESET and HOLD Reset and Hold signals from the target system stop emulation immediately. If these signals are constantly active, memory dump will be possible, but no emulation.

Analyzer Malfunction If you switch off the analyzer and the CPU has stopped operation within a cycle, an invalid display will occur. Make a SYStem.Up command to see the correct trace information.

ICE Emulator for the 80186 and 80196 11 ©1989-2017 Lauterbach GmbH

Dual-Port Errors

Dual-port errors may occur by the following conditions:

1. The length of the CPU cycle is extended by wait cycles, so that the request timeout signal is generated.

2. External DMA requests (single cycles) are too long.

To solve problems with dualport error first increase the SYStem.TimeReq value. Be sure of that the SYStem.TimeOut value is larger than the access time limit. If it is not possible to solve the problem by changing the values, you must switch to DENIED mode. In this mode no access to memory is possible while running realtime emulation. The internal dual-port access can increase the reaction time for external DMA requests. The performance reduction by the dual-port access is typically 1% with some data windows (dual-ported) on the screen and may be at max. 5% when using dynamic emulation memory.

ICE Emulator for the 80186 and 80196 12 ©1989-2017 Lauterbach GmbH

FAQ

Why is the location after break wrong ?

Most emulators use some bytes of user stack for the break system. Therefore it is necessary to have valid stack, if single step or breakpoints are used.

ICE Emulator for the 80186 and 80196 13 ©1989-2017 Lauterbach GmbH

Configuration

The configuration of different target CPU's is done by changing the probe or the CPU. The port analyzer is an optional unit, which is plugged on the ICE186 board. The software is configured automatically.

The CPU type on the probes must be jumpered. Otherwise the message Configuration Error may appear.

DIP-Switch Setting of 8086/8088/V20/V30.

To select another CPU type, it is necessary to exchange the CPU on the module!

Module 8086

++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++

CPU type 1 2 3 4

8086 OFF ON - -1234 8088 ON ON - -

V30 OFF OFF - -V20 ON OFF - -

ICE Emulator for the 80186 and 80196 14 ©1989-2017 Lauterbach GmbH

DIP-Switch Setting of 80186(EA)/80188(EA)/80C186(XL)/80C188(XL)

To select another CPU type, it is necessary to exchange the CPU on the module!

Module 80186

++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++

CPU type 1 2 3 4

80C186(XL) OFF OFF ON OFF1234 80C188(XL) ON OFF ON OFF

80186 OFF ON ON OFF80188 ON ON ON OFF80C186EA OFF OFF OFF ON80C188EA ON OFF OFF ON

Adapter 80186

CPU type 1 2 3

80C186(XL) OFF OFF ON123 80C188(XL) OFF OFF ON

80186 OFF OFF ON80188 OFF OFF ON80C186EA ON ON OFF80C188EA ON ON OFF

ICE Emulator for the 80186 and 80196 15 ©1989-2017 Lauterbach GmbH

DIP-Switch Setting of 80186EB/80188EB/80186EC/80188EC, V40/V50

To select another CPU type, it is necessary to exchange the CPU on the module!

Module 80186EB/EC,V40/V50

++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++

CPU type 1

80C186EB/EC,V50 OFF1 80C188EB/EC,V40 ON

ICE Emulator for the 80186 and 80196 16 ©1989-2017 Lauterbach GmbH

DIP-Switch Setting of 186EM/ES/ER/ED/188EM/ES/ER

To select another CPU type, it is necessary to exchange the CPU on the module and to set SYStem.CPU correctly.

NOTE: When using 186ER/188ER, one 0R jumper must be closed on bottom side of top pcb to guarantee 3.3V operation also in standalone mode. SYStem.Option V33 must be set to on.

Module 186EM/ES/ER

2CPU type 1 2

186EM(LV) OFF OFF186ES(LV) OFF OFF186ER OFF OFF188EM(LV) ON ON

1 188ES(LV) ON ON188ER ON ON

CPU type selection (old pcb)Top PCB, bottom view (old pcb)

Adapter 186EM/ES/ER/ED

Switch 1 2 3 4 7 8

DEN- function ON OFF x x x xPIO5 function OFF ON x x x x

1DT/R- function x x ON OFF x xPIO4 function x x OFF ON x x

8186EM,ES,ER,ED x x x x OFF OFF188EM,ES,ER x x x x ON ON

DEN- and DT/R- function is selectedby default

Bottom PCB, top view (old pcb) Switch 5, 6 is not usedBottom PCB, bottom view (new pcb)

ICE Emulator for the 80186 and 80196 17 ©1989-2017 Lauterbach GmbH

DIP-Switch Setting of 186CC/CH/CU

Module 186EM/ES/ER/ED

CPU type J (Jumper)

186EM(LV) open186ES(LV) open186ER 0R (closed)186ED(LV)

Top PCB, bottom view (new pcb)

J 472 332 Jumper is left of Resistor 4K7 (472)

open

Jumper selection new pcb

188ER 0R (closed)openopen

188ES(LV)188EM(LV)

Adapter 186CC

Switch SW1 1 2 3 4 5 6 7 8

DEN-/DS-functionPIO30 function

1

DT/R- functionPIO29 function

8

DEN-, DT/R-, WR-, BHE-, ALE function are

Bottom PCB, bottom view

1 8

SW1

SW2

1 0 x x x x x x 0 1 x x x x x x

x x 1 0 x x x x x x 0 1 x x x x

WR- functionPIO15 function

x x x x 1 0 x x x x x x 0 1 x x

BHE- functionPIO34 function

x x x x x x 1 0 x x x x x x 0 1

Switch SW2 1 2 3 4 5 6 7 8

ALE functionPIO33 function

1 0 x x x x x x 0 1 x x x x x x

set by default.

Setting: 1 - ON, 0 - OFF, x - don’t care

ICE Emulator for the 80186 and 80196 18 ©1989-2017 Lauterbach GmbH

Basics

Emulation Modes

The emulation head can stay in 6 modes. The modes are selected by the SYStem.Up or the SYStem.Mode command.

Format: SYStem.Mode <mode>

<mode>: ResetDownResetUpAloneIntAloneExtEmulIntEmulExt

E::w.syssystem Mode Clock TimeReq OptionDown RESet VCO 1.000ms MAX

Up Analyzer Low TimeOut REFreshMonitor Mid 50.000us RamWait

RESet ResetDown High BreakWinResetUp Line ONCE

cpu-type NoProbe Access HOLD EnhancedI80C186 AloneInt Nodelay TestClock

AloneExt REFreshEmulInt Request

BankMode EmulExt Denied OFF

INTern BankFileEXTern

ICE Emulator for the 80186 and 80196 19 ©1989-2017 Lauterbach GmbH

In active mode, the power of the target is sensed and by switching down the target the emulator changes to RESET mode. The probe is not supplied by the target. When running without target, the target voltage is simulated by an internal pull-up resistor.

The probe uses an active buffered emulation technology. Emulation is possible in a target system with hardware errors in the address or data bus. The basic module supports Intel, Siemens, AMD and NEC CPUs.

Reset Down Target is down, all drivers are in tristate mode.

Reset Up Target has power, drivers are logically in inactive state, but not tristate.

Alone Internal Probe is running with internal clock, driver inactive. This mode is used for 'standalone' operation.

Alone Exter-nal

Probe is running with external clock, driver inactive.

Emulation Internal

Probe is running with internal clock, strobes to target are generated.

Emulation External

Probe is running with external clock, strobes to target are activated.

ICE Emulator for the 80186 and 80196 20 ©1989-2017 Lauterbach GmbH

Dual-Port Access

Dualport allows access to emulation RAM, while emulation is running. This is necessary to display variables, set breakpoints or display flag listings while the emulation is running. Dualport access is only possible for emulator internal RAM.

SYStem.Clock Clock generation

Format: SYStem.Access <option>

<option>: NodelayREFreshRequestDenied

Nodelay This method is used at lower speed up to 12 MHz. The gap between the CPU cycles is used for memory access.

REFresh Only usable on 188/186 CPU in Enhanced Mode when generating refresh cycles. Uses the refresh cycles for making the dual-port access.

Request To realize the dual-port access (emulation memory) at high frequencies the HOLD-line (186) of the CPU is used. Dual-port accesses are only allowed while no external request to the bus occurs and the CPU cycle is completed. If the emulation CPU is in RESET state of the CPU the system controller will always access the emulation memory. Not usable in 8086/8088/V20/V30 Max Mode.

Denied Dualport access is not possible while the emulation is running.

Format: SYStem.Clock <option>

<option>: VCOHighMidLow

VCO Variable frequency 1 … 35 MHz.

Low, Mid, High

2.5, 5.0 or 10.0 MHz.

ICE Emulator for the 80186 and 80196 21 ©1989-2017 Lauterbach GmbH

General SYStem Settings and Restrictions

General Restrictions

Memory Setup All 186 type in-circuit emulators need memory in the stack area (SS:SP) to break correctly. If you get an invalid IP and CS value after stopping the program, the stack area may be outside the memory area. The break system needs additionally 12 bytes on the top of the stack. To set breakpoints on I/O cycles, there must be free memory for this area. Therefore reserve 64 K of memory for the I/O/ area if possible.

Register Setup The TF (Trap Flag) register trace flag must not be set to 1.

Internal I/ORelocation

The internal I/O should not be set to be memory mapped from location 0..7fff.

InterruptRestrictions

The NMI signal is used for stopping emulation. The “INT 3” instruction and the TrapFlag are used for single stepping and program breaks. Therefore the interrupt vectors 1, 2 and 3 may not be used by the target program when breakpoints are set or single stepping is done. However the vector entries should be defined, as the first locations of the code, addressed by these vectors, are fetched but not executed. If the vectors are not defined, this fetch can cause unpredictable results by reading memory or trigger by accessing wrong data areas.

Pending Interrupts When internal interrupts are pending and the emulation is started at a program breakpoint, the interrupt routine will be executed once and the program will stop at the same breakpoint again. A solution to this problem can be to execute one step to skip over the breakpoint location. An other solution is to disable or reset the timer while the emulation is stopped. This can be done by an emulation monitor extension (SYStem.MonFile).

Pending Interrupts during Single Step

When executing an assembler step and internal interrupts are pending, the emulator will step into the interrupt program. This can be changed either by preventing the interrupt, e.g. stop the timer while the emulation is stopped (see “Pending Interrupts”) or by disabling the interrupt bit in the CPU (command SETUP.IMASKASM). For HLL steps the problem can be solved in the same ways (command SETUP.IMASKHLL) or by temporarily removing the HLL breakpoint of the current line during the step (SETUP.StepInt).

ICE Emulator for the 80186 and 80196 22 ©1989-2017 Lauterbach GmbH

SYStem.Option BreakWin Break window

All program breakpoints are hardware based. The operation is done by replacing the opcode with an INT3 instruction. For not breaking on every INT3 code in the target program break sequencing is only possible during some cycles after the breakpoint cycle. In some cases it may be an advantage to switch off this feature (for example when using INT3 as software breakpoints in relocating programs).

SYStem.Option ONCE On-circuit emulation

This option selects the ONCE mode. The CPU soldered on the target system is switched off on target reset. Emulator must be in SYS.M ResetDown when target reset line is going inactive. To use this option a special clip-over adapter is needed.

SYStem.Option RamWait Wait states

One wait state for all memory cycles. Additional wait states will be generated if MAP.Wait is defined.

Pending Interrupts when startingemulation

When the emulation is started on an active breakpoint, and an interrupt is pending, the target will execute the interrupt routine and return to the same address. To prevent this behavior activate the SETUP.StepBreak and SETUP.IMASKASM commands will force a single step before starting the real-time emulation.

Accessing location 0:4

A read access to location 0:4 in single step mode, or while a hardware breakpoint is pending will cause an undefined behavior of the program.

Format: SYStem.Option BreakWin [ON | OFF]

NOTE: If the Break Window is OFF, accesses to vector table stop the emulation.

Format: SYStem.Option ONCE [ON | OFF]

Format: SYStem.Option RamWait [ON | OFF]

ICE Emulator for the 80186 and 80196 23 ©1989-2017 Lauterbach GmbH

SYStem.Option REFresh Trace refresh cycles

Normally refresh cycles are not used for trigger and trace functions. On default it is switched off.

SYStem.Option REL Relocation register

If running in Enhanced Mode, the refresh function must be stopped when emulation breaks. Set REL option must be set to the same value the user program write to the REL register.

The adjusted I/O base address can be read back with the functions IOBASE() and IOBASE.ADDRESS(). They return the offset or the complete address (offset and access mode) for the I/O area.

SYStem.Option SPLIT Access control on splitted memory

When MAP.SPLIT command is used to split program and data memory, SYStem.Option SPLIT ON forces the emulator to use dualport on data.dump p: windows (also data.list). This means dumps to program memory is only possible via dualport to emulator internal memory.

SYStem.Option TestClock Clock fail detection

Missing clock signals force emulator system to generate a Target Clock Fail error and to set emulation system to RESET. To use the Power-Down modes of the CPU the clock test logic must be blocked.

Format: SYStem.Option REFresh [ON | OFF]

Format: SYStem.Option REL <value>

Format: SYStem.Option SPLIT [ON | OFF]

Format: SYStem.Option TestClock [ON | OFF]

ICE Emulator for the 80186 and 80196 24 ©1989-2017 Lauterbach GmbH

SYStem.Option V33 3.3 V power fail detection

The emulator has logic to detect a power fail. This logic has to be adjusted for 3.3Volt CPUs (AM18xER, 186CC/CU/CH for example).

Continue with CPU specific Special Settings and Restrictions

The following Special Settings and Restrictions are subdivided by CPU type.

• Special Settings 8086/8088/V20/V30

• Special Settings 80186/80188

• Special Settings C186(XL)/C188(XL)/EA and Restrictions

• Special Settings 80186EB/80188EB/80186EC/80188EC

• Special Settings 186EM, 188EM and Restrictions

• Special Settings 186ES, 188ES, 186ED and Restrictions

• Special Settings 186ER/188ER and Restrictions

• Special Settings 186CC and Restrictions

• Special Settings V40/V50 and Restrictions

Format: SYStem.Option V33 [ON | OFF]

ICE Emulator for the 80186 and 80196 25 ©1989-2017 Lauterbach GmbH

Special Settings 8086/8088/V20/V30

SYStem.Option FPU Floating-point unit

To allow a correct emulator fpu support, 8087 must always be plugged on the pod. If 8087 coprocessor is used (on 8086 pod) in stand alone mode, this option must be switched to ON. If 8087 coprocessor is used (on 8086 pod) in external mode (together with a target), this option should be switched to OFF and some additional lines connected. SYStem.Option MAX must be switched to ON.

8087 is connected internally (on the pod) with 8086. This means if standalone mode is used and SYStem.Option FPU is ON, all necessary connections between 8086 and 8087 are routed on the emulator pod. To give user more flexibility the following 8087 signals are located on a 10-pole connector on the emulator pod:

In standalone mode CLK is connected to emulator CPU clock. In external clock mode 8087 clock must always be supplied on pin 1 of the connector! RQ/GT1- line of 8087 is always connected to the connector.

SYStem.Option FPU controls the following lines:

This means if pod is connected to a target, sys.o fpu must be switched off and the above listed signals connected via the 10-pole connector to the target.

Format: SYStem.Option FPU [ON | OFF]

SYS.O FPU ON OFF

8087 signal 8086 target socket signal

RQ/GT0- connected with RQ/GT1- open

INT connected with INTR open

BUSY connected with TEST- open

9 7 5 3 110 8 6 4 2

1 CLK 2 GND3 RQ/GT0- 4 GND5 RQ/GT1- 6 GND7 INT 8 GND9 BUSY 10 GND

ICE Emulator for the 80186 and 80196 26 ©1989-2017 Lauterbach GmbH

Summary:

10-pole connector

SYStem.Option MAX MIN/MAX mode

8086/8088/V20/V30 CPUs may run in two modes. The modes differ in the pin function of some pins. Pin MN/MX- (S/LG-) select minimum or maximum mode. This MIN/MAX selection should be done before leaving the emulator reset state.

1 CLK CLK input if external clock mode

3 RQ/GT0- RQ/GT0- I/O if SYStem.Option FPU is OFF

5 RQ/GT1- RQ/GT1- I/O of FPU (always connected)

7 INT INT output if SYStem.Option FPU is OFF

9 BUSY BUSY output if SYStem.Option FPU is OFF

Format: SYStem.Option MAX [ON | OFF]

ICE Emulator for the 80186 and 80196 27 ©1989-2017 Lauterbach GmbH

Special Settings 80186/80188

SYStem.Option FPU Floating-point unit

If 80187 coprocessor is used (on the target) this option must be switched to ON.

SYStem.Option MAX MIN/MAX mode

80186/80188 controls via the RD- line two different modes (MIN: standard, MAX: queue status). This MIN/MAX selection should be done before leaving the emulator reset state.

Format: SYStem.Option FPU [ON | OFF]

Format: SYStem.Option MAX [ON | OFF]

ICE Emulator for the 80186 and 80196 28 ©1989-2017 Lauterbach GmbH

Special Settings C186(XL)/C188(XL)/EA and Restrictions

Restrictions 80C186(XL)/80C188(XL)/80C186EA/80C188EA

SYStem.Option Enhanced Enhanced mode

If running in target systems the CPU is automatically started in Enhanced mode if the target system uses this mode. In standalone mode this feature must be stimulated by the emulator system.

SYStem.Option FPU Floating-point unit

If 80187 coprocessor is used (on the target) this option must be switched to ON.

Format: SYStem.Option Enhanced [ON | OFF]

RCU The refresh control unit of the 80C186 is disabled, when the emulation is stopped. Refresh of external dynamic memory can be made by the REFresh.StandBy command. The RCU control register should not be modified when the emulation is stopped. The value displayed in memory windows will be wrong.

Format: SYStem.Option FPU [ON | OFF]

ICE Emulator for the 80186 and 80196 29 ©1989-2017 Lauterbach GmbH

Special Settings 80186EB/80188EB/80186EC/80188EC

SYStem.Option FPU Floating-point unit

If 80187 coprocessor is used (on the target) this option must be switched to ON.

Format: SYStem.Option FPU [ON | OFF]

ICE Emulator for the 80186 and 80196 30 ©1989-2017 Lauterbach GmbH

Special Settings 186EM, 188EM and Restrictions

Restrictions 186EM, 188EM

SYStem.CPU CPU type

Select used CPU type. Use 186EM for 188EM(LV)/186EM(LV). CPU type must be set before any other system setting.

Peripheral Register Setup PIO29/S6

PIO29/S6 at the 18xEM must be programmed as S6 signal. Therefore monitor program initializes PIO DIRECTION REGISTER 1 (offset: 78h) to 0dfffh (instead of 0ffffh). It is important to initialize PIO DIRECTION REGISTER 1 with the first executed instructions after RESET.

Peripheral Register Setup CLKOUTA

CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because emulator needs this signal.

Peripheral Register Setup Chip Select Unit

LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for LCS- output. For frequencies above 28 MHz. monitor program needs at least one wait state for correct working. LMCS must be programmed to use either more than zero wait or external ARDY/SRDY.

Format: SYStem.CPU [186EM]

ICE Emulator for the 80186 and 80196 31 ©1989-2017 Lauterbach GmbH

SYStem.Line ADDR Shared address pins

18xEM have shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the configuration must be set by the SYStem.LINE ADDR command. Each set bit indicates that the address line should be used.

SYStem.Line SRDY SRDY pin

18xEM have a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function SRDY is used. If PIO6 is used, SYStem.Line SRDY must be switched off.

Format: SYStem.Line ADDR <mask>

Format: SYStem.Line SRDY [ON | OFF]

ICE Emulator for the 80186 and 80196 32 ©1989-2017 Lauterbach GmbH

Special Settings 186ES, 188ES, 186ED and Restrictions

Restrictions 186ES, 188ES, 186ED

SYStem.CPU CPU type

Select used CPU type. Use 186ES for 188ES(LV)/186ES(LV) or 186ED for 186ED(LV). CPU type must be set before any other system setting.

Peripheral Register Setup PIO29/S6

PIO29/S6 at the 18xES/186ED must be programmed as S6 signal. Therefore monitor program initializes PIO DIRECTION REGISTER 1 (offset: 78h) to 0dfffh (instead of 0ffffh). It is important to initialize PIO DIRECTION REGISTER 1 with the first executed instructions after RESET.

Peripheral Register Setup Watchdog

The watchdog timer at the 18xES/186ED is disabled from monitor program via WDTCON (offset: 0e6h).

Peripheral Register Setup CLKOUTA

CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because emulator needs this signal.

Peripheral Register Setup Chip Select Unit

LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for LCS- output. For frequencies above 28 MHz. monitor program needs at least one wait state for correct working. LMCS must be programmed to use either more than zero wait or external ARDY/SRDY.

Peripheral Register Setup Chip Select Unit and AUXCON bus width Control

The bus width of LMCS (offset: 0a2h) must be set to 16bit. This is done in AUXCON register (offset: 0f2h). The reason for this restriction is the internal running monitor program of the emulator, which must run under 16bit bus width.

Format: SYStem.CPU [186ES | 186ED]

ICE Emulator for the 80186 and 80196 33 ©1989-2017 Lauterbach GmbH

SYStem.Line ADDR Shared address pins

18xES/186ED have shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the configuration must be set by the SYStem.LINE ADDR command. Each set bit indicates that the address line should be used.

SYStem.Line SRDY SRDY pin

18xES/186ED have a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function SRDY is used. If PIO6 is used, SYStem.Line SRDY must be switched off.

Mapping

For basic function of mapper please refer to Emulator User’s Guide.

Format: SYStem.Line ADDR <mask>

Format: SYStem.Line SRDY [ON | OFF]

ICE Emulator for the 80186 and 80196 34 ©1989-2017 Lauterbach GmbH

MAP.BUS8 Bus width mapping

18x/186ED have a chip select dependent bus width control. This control is implemented in AUXCON

register (Offset: F2h). If any of the chip select units is used in 8bit mode, MAP.BUS8 must be set for the corresponding range. 16bit bus width is the default selection

The MAP.RESet command sets the bus width definition to 16 bit.

Format: MAP.BUS8 <range>

Format: MAP.NOBUS8 [<range>]

map.bus8 d:0x040000++0xffff ; MSIZ=1

map.nobus8 ; remaps all to 16 bit

NOTE: The bus width of LMCS (offset: 0a2h) must be set to 16bit. This is done in AUXCON register (offset: 0f2h). The reason for this restriction is the internal running monitor program of the emulator, which must run under 16bit bus width.

ICE Emulator for the 80186 and 80196 35 ©1989-2017 Lauterbach GmbH

Special Settings 186ER/188ER and Restrictions

Restrictions 186ER/188ER

SYStem.CPU CPU type

Select used CPU type. Use 186ER for 188ER or 186ER. CPU type must be set before any other system setting.

SYStem.Line ADDR Shared address pins

18xER has shared A17-A19/PIO7-PIO9 pins. If pins should be used as address lines, the configuration must be set by the SYStem.LINE ADDR command. Each set bit indicates that the address line should be used.

Peripheral Register Setup PIO29/S6

PIO29/S6 at the 18xER must be programmed as S6 signal. Therefore monitor program initializes PIO DIRECTION REGISTER 1 (offset: 78h) to 0dfffh (instead of 0ffffh). It is important to initialize PIO DIRECTION REGISTER 1 with the first executed instructions after RESET.

Peripheral Register Setup CLKOUTA

CLKOUTA line must not be disabled by PDCON (offset: 0f0h), because emulator needs this signal.

Peripheral Register Setup Chip Select Unit

LMCS (offset: 0a2h) controls waitstates and use of SRDY/ARDY pin for LCS- output. For frequencies above 28 MHz. monitor program needs at least one wait state for correct working. LMCS must be programmed to use either more than zero wait or external ARDY/SRDY.

Internal RAM (Onchip)

The 18xER internal RAM must not be used at base address 0 (lowest 32 KByte). All other addresses are allowed. See also SYStem.Option IMDIS and SYStem.Option SREN.

Format: SYStem.CPU [186ER]

Format: SYStem.Line ADDR <mask>

ICE Emulator for the 80186 and 80196 36 ©1989-2017 Lauterbach GmbH

SYStem.Line SRDY SRDY pin

18xER has a shared SRDY/PIO6 pin. It is necessary to switch SYStem.Line SRDY to on, if function SRDY is used. If PIO6 is used, SYStem.Line SRDY must be switched off.

SYStem.Option CLKSEL Clock select

Use this option to select clocking mode. CPU input clock is multiplied by four (default), multiplied by one or divided by two. If divide by two mode is selected, the PLL is disabled.

SYStem.Option IMDIS Internal memory disable

Use this option to disable the 18xER onchip RAM (32 kByte). When this option is switched to ON, onchip memory is always hidden, also if IMCS register bit 9 (internal RAM enable) is set. If option is switched to OFF, onchip memory is available if IMCS register bit 9 is set. Onchip memory can be used, but not at base address 0 (lowest 32 kByte). For analyzer trace to onchip memory see under SYStem.Option SREN.

SYStem.Option SREN Show read enable

Use this option to show read data on the 18xER onchip RAM accesses. Note that if a byte read is being shown, the unused byte will also be driven on the AD15-AD0 bus.

When this option is switched to ON, read data on onchip memory accesses are always visible, also if IMCS register bit 10 (show read) is reset. If option is switched to OFF, read data on onchip memory accesses are available, if IMCS register bit 10 is set. Onchip memory can be used, but not at base address 0 (lowest 32 kByte).

Format: SYStem.Line SRDY [ON | OFF]

Format: SYStem.Option CLKSEL [<*4 | *1 | /2>]

Format: SYStem.Option IMDIS [ON | OFF]

Format: SYStem.Option SREN [ON | OFF]

ICE Emulator for the 80186 and 80196 37 ©1989-2017 Lauterbach GmbH

Special Settings 186CC/CU/CH and Restrictions

Restrictions 186CC/CU/CH

SYStem.Line SRDY SRDY pin

186CC/CU/CH has a shared SRDY/PIO35 pin. It is necessary to switch SYStem.Line SRDY to ON, if function SRDY is used. If PIO35 is used, SYStem.Line SRDY must be switched OFF. In this mode a 10kOhm pull-down resistor is active. A 100kOhm pull-down resistor is always active.

Peripheral Register Setup BHE-/PIO34/ADEN-

BHE-/PIO34 must be programmed as BHE- signal. ADEN- is held low on power-on reset by the emulator. Therefore the AD bus drives both addresses and data, regardless of how software configures the DA bit setting.

Peripheral Register Setup Watchdog

The watchdog timer is disabled from monitor program via WDTCON (offset: 3e0h).

Peripheral Register Setup CLKOUTA

CLKOUTA line must not be disabled by SYSCON (offset: 3f0h), because emulator needs this signal.

Peripheral Register Setup Chip Select Unit

LMCS (offset: 3a2h) controls waitstates and use of SRDY/ARDY pin for LCS- output. For frequencies above 28 MHz. monitor program needs at least one wait state for correct working. LMCS must be programmed to use either more than zero wait or external ARDY/SRDY. If DRAM is used for LCS (LDEN=1) ARDY/SRDY pin is ignored. Therefore one internal wait should be programmed in the LMCS register.

Peripheral Register Setup Chip Select Unit and AUXCON Bus width Control

The bus width of LMCS (offset: 3a2h) must be set to 16bit. The reason for this restriction is the internal running monitor program of the emulator, which must run under 16bit bus width.

Format: SYStem.Line SRDY [ON | OFF]

ICE Emulator for the 80186 and 80196 38 ©1989-2017 Lauterbach GmbH

SYStem.Line ARDY ARDY pin

186CC/CU/CH has a shared ARDY/PIO8 pin. It is necessary to switch SYStem.Line ARDY to ON, if function ARDY is used. If PIO8 is used, SYStem.Line ARDY must be switched OFF. In this mode a 10kOhm pull-down resistor is active. A 100kOhm pull-down resistor is always active.

SYStem.Option CLKSEL Clock select

Use this option to select clocking mode. CPU Input clock is multiplied by two (default), by four or by one or used without PLL (bypass). The data sheet should be checked for the allowed frequency ranges.

Format: SYStem.Line ARDY [ON | OFF]

Format: SYStem.Option CLKSEL [<*2 | *4 | *1/BYPASS>]

ICE Emulator for the 80186 and 80196 39 ©1989-2017 Lauterbach GmbH

Special Settings V40/V50 and Restrictions

Restrictions V40/V50

Waitstates For memory accesses, not more than 7 waitstates should be used. Using more waitstates inhibits emulator to break correctly.

ICE Emulator for the 80186 and 80196 40 ©1989-2017 Lauterbach GmbH

Exception Control

The exception control system depends on the processor used. The window shown here is for the 80(C)186/XL/EA. The exception control system can only control external interrupt sources (see also General Restrictions)

Format: eXception.Enable ON

Format: eXception.Enable OFF

Format: eXception.Activate OFF

Format: eXception.Enable OFF

Enable ON Enable all exception lines.

Enable OFF Disable all exception lines.

Activate OFF Inactivate all exception lines.

Pulse OFF Disable all pulse exceptions.

E::w.xexception Activate Enable Trigger Puls Puls

OFF OFF OFF OFF OFF Single ON RESIN ON ON RESIN Width

RESet HOLD RESIN RESIN INT0 1.000us HOLD RESET HOLD PERiod NMI HOLD NMI 0.000 INT0 HLDA EINT0+ INT1 PULS EINT0- Vector INT2 VINT0+ 00 (000.) INT3 VINT0- TMRIN0 TMRIN1 DRQ0 DRQ1

ICE Emulator for the 80186 and 80196 41 ©1989-2017 Lauterbach GmbH

Reset

Reset Input (not 8086/8088/V20/V30)

Format: eXception.Enable RESIN [ON | OFF]

Format: eXception.Activate RESIN [ON | OFF]

Enable RESIN Enables the RESIN line.

Activate RESIN

Activates the RESIN line.

+1 > Trace / X.TriggerVCC

22k

RES- >X.Enable- >=1 X.Activate- & > RES- (CPU)Run- X.Puls-

Sys.Reset

ICE Emulator for the 80186 and 80196 42 ©1989-2017 Lauterbach GmbH

Reset Input (8086/8088/V20/V30)

NMI

Format: eXception.Enable RESET [ON | OFF]

Format: eXception.Activate RESET [ON | OFF]

Enable RESET Enables the RESET line.

Activate RESET

Activates the RESET line.

Format: eXception.Enable NMI [ON | OFF]

Enable NMI Enables the NMI line.

+1 > Trace / X.TriggerGND

22k

RESET >X.Enable & X.Activate >=1 > RESET (CPU)Run X.Puls

SYS.RESO

+1 > TraceGND

22k

NMI >X.Enable & X.Activate >=1 > NMI (CPU)Run X.Puls

Break

ICE Emulator for the 80186 and 80196 43 ©1989-2017 Lauterbach GmbH

HOLD

DMA Modes

External DMA circuits request the bus by the HOLD signal. If realtime emulation is stopped external and internal DMA circuits will not get access to the bus. They are requesting the bus, but no HLDA signal is generated. If external DMA should be enabled at every time, the HOLD line will always have to be enabled. Internal DMA functions are simultaneously stopped when emulation stop (Break by NMI).

While emulation is stopped, the DMA function will be interrupted for about 10 cycles if the CPU executes internal monitor functions. This may force malfunction, if the DMA needs very fast memory access response times.

SYStem.Line HOLD Enable HOLD line (emulation stopped)

This option allows DMA access without running realtime emulation. If external DMA should be enabled at every time, the HOLD line must always be enabled (SYStem.Line HOLD ON). External DMA circuits are not stopped on breakpoints.

Format: eXception.Enable HOLD [ON | OFF]

Format: eXception.Activate HOLD [ON | OFF]

Enable HOLD Enables the HOLD line.

Activate HOLD

Activates the HOLD line.

Format: System.Line HOLD [ON | OFF]

+1 > Trace / X.TriggerGND

22k

HOLD >X.Enable & X.Activate >=1 > HOLD (CPU)Run X.Puls

Dualport

ICE Emulator for the 80186 and 80196 44 ©1989-2017 Lauterbach GmbH

Interrupt and Timer Control

As interrupt signals or timer signals are bidirectional, the control is done by analog switches.

Format: Exception.Enable <option> [ON | OFF]

<option>: INTR (8086/8088/V20/V30)INT0 .. INT3 ((C)186(XL)/(C)188(XL)/80C186EA/80C188EA)INT0 .. INT4 (80186EB/80188EB)INT0 .. INT7 (80186EC/80188EC)INTP1 .. INTP7 (V40/V50)TMRIN0 ((C)186(XL)/(C)188(XL)/EA/EB/EC/EM/ES/ER/ED/CC)TMRIN1 ((C)186(XL)/(C)188(XL)/EA/EB/EC/EM/ES/ER/ED/CC)DRQ0 .. DRQ1 ((C)186(XL)/(C)188(XL)/EA/EM/ES/ER/ED/CC)DRQ0 .. DRQ3 (V40/V50/80186EC/80188EC)

+1 > Trace

Target <> S1 <> CPU

22k 22k

GND GND S1 = 50 (HC4066)

ICE Emulator for the 80186 and 80196 45 ©1989-2017 Lauterbach GmbH

DRQ0 Enables the DRQ0 line.

DRQ1 Enables the DRQ1 line.

DRQ2 Enables the DRQ2 line.

DRQ3 Enables the DRQ3 line.

INT0 Enables the INT0 line.

INT1 Enables the INT1 line.

INT2 Enables the INT2 line.

INT3 Enables the INT3 line.

INT4 Enables the INT4 line.

INT5 Enables the INT5 line.

INT6 Enables the INT6 line.

INT7 Enables the INT7 line.

INTP1 Enables the INTP1 line.

INTP2 Enables the INTP2 line.

INTP3 Enables the INTP3 line.

INTP4 Enables the INTP4 line.

INTP5 Enables the INTP5 line.

INTP6 Enables the INTP6 line.

INTP7 Enables the INTP7 line.

INTR Enables the INTR line.

TMRIN0 Enables the TMRIN0 line.

TMRIN1 Enables the TMRIN0 line.

ON Enables all exception line.

OFF Disables all exception lines.

ICE Emulator for the 80186 and 80196 46 ©1989-2017 Lauterbach GmbH

Interrupt Stimulation

Interrupt stimulation is only possible in Stand-Alone mode or if no external interrupt controller is used. The simulation circuit supports level and edge triggered interrupts with and without external vector support.

The possible interrupt line depend on the CPU used. The following description is for the 80186/XL/EA processors. The functionality is the same for other processors.

Format: Exception.Puls <option> <time> <period>

<option>: INT0EINT0+EINT0-VINT0+VINT0-

EINT0- Stimulate EINT0- line.

HOLD Stimulate HOLD line.

INT0 Stimulate INT0 line.

INTR Stimulate INTR line.

NMI Stimulate NMI line.

RESET Stimulate RESET line.

RESIN Stimulate RESIN line.

VINT0- Stimulate VINT0- line.

OFF No stimulation on any exception line.

+1 > TraceGND

22k

INTx >X.Enable INTx & >=1 > INTx (CPU)

X.Puls

ICE Emulator for the 80186 and 80196 47 ©1989-2017 Lauterbach GmbH

INT0

This is the simulation for vectored interrupts in cascaded mode. The simulation circuit sets INT0 to high until 2 interrupt acknowledge cycles are executed. The vector is supplied on the second IACK cycle. The pulse width should be at minimum 2 CPU cycles.

E::w.xException setup Trigger Puls Puls

OFF OFF SingleON RESIN Width

RESIN INT0 10.000usRESET HOLD PERiodHOLD NMI 0.000HLDA EINT0+PULS EINT0- Vector

VINT0+ 33 (051.)VINT0-

E::w.a.l ,t.0 def Analyzer listrun address cycle d.w sy

AP:000000401 fetch 00AP:000000402 fetch 04AP:000000403 fetch 00 Stimulation pulsAP:000000404 fetch 00

jmp 0000:0400AP:000000405 fetch 00AD:000000400 iack 00 1st IACK cycleAD:000000400 iack 33 2nd IACK cycle, vectorAD:0000000CC rd-mem 00AD:0000000CD rd-mem 05 vector table readAD:0000000CE rd-mem 00AD:0000000CF rd-mem 00AD:000000FF2 wr-mem 02AD:000000FF3 wr-mem F2 stack writeAD:000000FF0 wr-mem 00AD:000000FF1 wr-mem 00AD:000000FEE wr-mem 00AD:000000FEF wr-mem 04AP:000000500 fetch EA interrupt programAP:000000501 fetch 00

ICE Emulator for the 80186 and 80196 48 ©1989-2017 Lauterbach GmbH

EINT0+ The pulse generator is directly connected to the interrupt pin. A low to high pulse is generated. No interrupt vector is supplied by the simulation logic (Fully nested mode).

EINT0- The pulse generator is directly connected to the interrupt pin. A high to low pulse is generated. No interrupt vector is supplied by the simulation logic (Fully nested mode).

VINT0+ The pulse generator is directly connected to the interrupt pin. A low to high pulse is generated. All IACK cycles are supplied with the interrupt vector defined by the eXception.Vector field.

VINT0- The pulse generator is directly connected to the interrupt pin. A high to low pulse is generated. All IACK cycles are supplied with the interrupt vector defined by the eXception.Vector field.

ICE Emulator for the 80186 and 80196 49 ©1989-2017 Lauterbach GmbH

Trap Trigger

Every trap can be used as a separate trigger point. Trap trigger is detected by accessing the vector table!

Format: eXception.Trigger <vector>

<vector>: 0. … 255.

HLDA Trigger on HLDA line.

HOLD Trigger on HOLD line.

Pulse Trigger on Pulse line.

RESET Trigger on RESET line.

RESIN Trigger on RESIN line.

ON Trigger on all exception lines.

OFF No trigger on any exception lines.

x.t 2 on ; activate NMI trigger

x.t 2 off ; deactivate NMI trigger

x.t 0x0--0x0ff off ; switch off all vector triggers

x.t 0x80--0x0ff ; set vectors 128 to 255 trigger active

ICE Emulator for the 80186 and 80196 50 ©1989-2017 Lauterbach GmbH

Refresh Operation

The probe supports refresh operation in realtime emulation, but the refresh function is stopped when emulation stops and starts again on realtime emulation. The CDRAM register value must be 40H (80H C188) at minimum! When emulation is stopped, the REFresh system of the emulator has to generate valid refresh cycles for the target system. Refresh doesn't work together with the Request access mode. Use Denied or Nodelay access mode in this case.

FPU

FPU commands

Format: FPU.ON

Format: FPU.OFF

Format: FPU.RESet

Format: FPU.view

Format: FPU.Set <register> <value>

ON/OFF FPU display option is switched on or off

RESet FPU is initialized via 'finit' instruction

view Display window. The display is only updated, if the FPU is in idle state

FPU.Set Changes FPU registers

E::w.fpuIM I IE _ C0 _ CW 037F ST(0) 1.2 3FFF.999999999999DM D DE _ C1 _ SW 3000 ST(1) 3.4 4000.D99999999999ZM Z ZE _ C2 _ TW 0FFF ST(2) NAN FFFF.C00000000000OM O OE _ C3 _ TOP 6 ST(3) NAN FFFF.C00000000000UM U UE _ B _ ST(4) NAN FFFF.C00000000000PM P PE _ OPC 0106 ST(5) NAN FFFF.C00000000000PC S SF _ IP 00000B00 ST(6) NAN FFFF.C00000000000RC C ES _ OP 00010280 ST(7) NAN FFFF.C00000000000

ICE Emulator for the 80186 and 80196 51 ©1989-2017 Lauterbach GmbH

I/O Connector for Coprocessor (8086/8087)

Signals connected through 8087 on the 8086 emulator pod. For a description look under SYStem.Option FPU.

9 7 5 3 110 8 6 4 2

1 CLK 2 GND3 RQ/GT0- 4 GND5 RQ/GT1- 6 GND7 INT 8 GND9 BUSY 10 GND

ICE Emulator for the 80186 and 80196 52 ©1989-2017 Lauterbach GmbH

Memory Classes

Access Class Description

D Data

P Program

IO IO

ED Dualport Data

EP Dualport Program

EIO Dualport I/O

A Absolute

AD Absolute Data

AP Absolute Program

AC Absolute CPU

EA Absolute Dualport

EAD Absolute Dualport Data

EAP Absolute Dualport Program

EAC Absolute Dualport CPU

ICE Emulator for the 80186 and 80196 53 ©1989-2017 Lauterbach GmbH

C:, P: and D: This access types use all the same memory by default. Using System.Option SPLIT it is possible to use separate emulation memory for program and data accesses. If no segment address is used, the D: prefix will refer to DS and the P: prefix to CS register

d.s P:0--0ffff 0d.s 0--0ffff 0d.s 100 0

; fill program memory with zero; fill data memory with zero; set location ds:100 to 0

d.a 100 nopd.a 0--0fff nop

; assemble to location cs:100; fill program memory with nop; instruction

d.i AD:1000 ; read memory mapped i/o from; physically address 1000h

d.a 40:0 nop ; writes NOP to address 40:0 (400H)

IO:, AIO:, EIO:, EAIO:

The I/O addressing is always absolute. The IO-Range is 64K. Upper address bits are cut.

d.s IO:0x100 0x33 0x44 ; write 33H to port 100H and 44H to 101H

d.o 0x100 'A' ; sets port

d.i 0x100 ; read one byte from port 100H

d IO:0x100--0x103 ; displays 4 ports from 100H to 103H

d EIO:0x100--0x103 ; display state of output ports via; dualport memory

A:, EA: Absolute addressing. The address parameter specifies the physically address.

d.s A:0x12000 0x33 ; write to address 12000H in program/data; memory

d EA:0x12000 ; displays absolute address 12000H from; dualport memory

ICE Emulator for the 80186 and 80196 54 ©1989-2017 Lauterbach GmbH

Segmentation

The MMU setup is normally done by loading a program. The section-table of the object-file (segments, groups) is used to define the valid physical areas for the translation of physical addresses to logical addresses. For more detailed information see command MMU.

Segment and offset are separated by a colon. If no segment is defined, the emulator will use the CS: segment for program related commands and the DS: segment for data related commands. The D: access class will force the usage of the DS: segment and the P: access class will force usage of the CS: segment.

Segment Description

CS: Current value of CS

DS: Current value of DS

SS: Current value of SS

ES: Current value of ES

<number>: Any hex segment number

<seg_name>: Any segment name for the sYmbol.SECtion table

d.s DS:0x100 ; if DS register is 10H, the physical; address is DS*10H+addr = 200H

d.a 0x200 ; assemble to CS:200

d.s 0x100 0x0 ; set location DS:100

d SS:0x0f000 ; displays stack segment

d.l 0x0ffff:0x0 ; list code is segment 0ffff

d far_romdata:0x0 ; dump segment 'far_romdata'

ICE Emulator for the 80186 and 80196 55 ©1989-2017 Lauterbach GmbH

Banked Target Systems

Banking as described in this chapter refers to address extension of 80x86 processors, not the internal segmentation of the 80x86 family. In banked systems the upper address lines are supplied by the external bank probe. Four additional lines offer 16 different memory banks. Accessing the different pages is done by adding an extra bank component to all logical addresses and extending all physical memory addresses to 24 bit. The physical address bits A20 to A23 select the memory bank. Every command which makes a memory access first calls a special bank driver subroutine to select the temporary memory bank. On realtime emulation the bank number is traced on the upper four bits of the address bus. On a breakpoint the upper four bit of the address bus are stored to the bank number of the PP register (Program Pointer).

This command loads the bank driver. The bank driver is a special subroutine to select the actual bank. Loading a special bank driver gives a maximum of flexibility to the user. A bank address delivered by the emulator may be used to set microcontroller ports or external MMUs in the target system. The bank file consists of a code number defining the bank operation mode and a code area which consists of a subroutine to set the correct bank state. The internal bank number is placed in register AL when calling the subroutine. The reason for the call is placed in AH. It can be initialization (0), read (1), write (2), or start execution (3). Writes to internal CPU ports may be executed directly, while ports in target systems must be accessed by a special system call (see end of this chapter). The internal bank address is placed in accu A when calling the subroutine. The PP (Program Pointer) register hold the logical 24-bit PC address. The translation between logical bank and physical bank (also for the common areas and I/O space) is done by the MMU command.

On the 80x86 banking can only be done in external mode. External banked systems use a register or output pins of the CPU to generate the upper memory addresses. These lines must be feedback to the emulator with the bank probe (lines 0 to 3). Unused inputs of the bank probe must be grounded (or jumpered to ground pin).

Format: SYStem.BankFile <file>

Format: SYStem.Bank <option>

<option>: OFFEXTernal

; This example uses a common program/data area on a:0x0--0x0bffffh;a banked area from a:0x0c0000--0x0fffff with 16 banks

map.res ; reset mapper

map.mirror ap:0--0bffff ap:100000map.mirror ap:0--0bffff ap:200000...map.mirror ap:0--0bffff ap:0e00000map.mirror ap:0--0bffff ap:0f00000

; mirror for common area

ICE Emulator for the 80186 and 80196 56 ©1989-2017 Lauterbach GmbH

This example selects the bank by writing the left shifted bank to io:204:

map.mirror aio:0--ffff aio:100000map.mirror aio:0--ffff aio:200000...map.mirror aio:0--ffff aio:0e00000map.mirror aio:0--ffff aio:0f00000

; mirror I/O area (not banked)

map.ram ap:0c0000--0fffffmap.ram ap:1c0000--1fffff...map.intern

; map bank #0; map bank #1

symbol.resetsystem.bankfile banksel.bnksystem.up

; clear old symbols first; load bank file

d.load.o bank0.omf 0:0:0 /mfd.load.o bank1.omf 1:0:0 /mf /ncd.load.o bank2.omf 2:0:0 /mf /nc...d.load.o bank14.omf 0e:0:0 /mf /ncd.load.o bank15.omf 0f:0:0 /nc

org 0:3effH ; pseudo org (use inline assembler)

db 0x2 ; select external mode

bank: ; AL is bank address, AH is reason

org 0:3f00H ; destination area in system memory

shl al,1mov dx,204Hcall 0d30H

ret

; set DX to io register; subroutine to write byte to i/o; DX is address, AL is data; return

ICE Emulator for the 80186 and 80196 57 ©1989-2017 Lauterbach GmbH

Memory and I/O Access Routines

The following routines are available in the emulation control monitor to access external memory or i/o:

Addr Function Address Data Result

0d00H ReadMemByte ES:SI - AL

0d04H ReadMemWord ES:SI - AX

0d10H WriteMemByte ES:DI AL -

0d14H WriteMemWord ES:DI AX -

0d20H ReadIOByte DX - AL

0d24H ReadIOWord DX - AX

0d30H WriteIOByte DX AL -

0d34H WriteIOWord DX AX -

ICE Emulator for the 80186 and 80196 58 ©1989-2017 Lauterbach GmbH

Monitor Extensions

A monitor extension is a piece of code that’s extending the emulation control monitor. The emulation monitor is responsible for starting and stopping the target program and accessing memory and registers when the target program is stopped. This monitor is running in a hidden memory inside the ECU unit. Extensions must be made available in a binary program. This program must be loaded before activating the emulation by the following command:

The program can contain the following extensions:

For more details about the definition of the monitor extension and parameter passing see the example file './demo/i86/etc/monext.asm'.

Format: SYStem.MonFile <file>

Start Target This part is executed before the target program is started. It can enable timers in the target or reset watchdogs.

Stop Target This part is executed after the emulation in the target has stopped. It can disable timers or external watchdogs.

Read Memory User specific memory read. Allows access to special memories, e.g. serial connected EEPROMs. The access is made by the USR: memory class.

Write Memory User specific memory write. Allows write access to special memories, e.g. programming EEPROM or FLASH memories. The access is made by the USR: memory access class.

ICE Emulator for the 80186 and 80196 59 ©1989-2017 Lauterbach GmbH

State Analyzer

When the bus size of the processor is changed, an existing analyzer recording, sampled with a different bus size, will be displayed wrong.

Keywords for the Trigger Unit

General Keywords for the Trigger Unit

Input Event Meaning Analyzer Hardware

ECC8 HAC HA120 SA120

BYTE Byte transfer X X

PORT Input line from port analyzer X X

Wait0..Wait6 Waitstates 0..6 X X

WaitX Waitstates greater 6 X X

WORD Word transfer X X

ICE Emulator for the 80186 and 80196 60 ©1989-2017 Lauterbach GmbH

8086/8088/V20/V30MAX Keywords for the Trigger Unit

Input Event Meaning Analyzer Hardware

ECC8 HAC HA120 SA120

Data Data access (MRD or MWR) X X X

FETCH Program fetch cycle X X X

IE Interrupt enable bit X X

INTA INTA line X X X

INTR Interrupt request X X

IO IO cycle (IORD or IOWR) X X X

IORD IO read access cycle X X X

IOWR IO write access cycle X X X

LOCK Lock signal X X

MRD Memory read access cycle X X X

MWR Memory write access cycle X X X

Read Read access (FETCH or INTA or IORD or MRD)

X X X

STACK Stack access X X

TEST Test line X X

Write Write access (IOWR or MWR) X X X

ICE Emulator for the 80186 and 80196 61 ©1989-2017 Lauterbach GmbH

8086/8088/V20/V30MIN Keywords for the Trigger Unit

80(C)186(XL)/80(C)188(XL)/EA/EB/EC/EM/ES/ER Keywords for the Trigger Unit

Input Event Meaning Analyzer Hardware

ECC8 HAC HA120 SA120

Data Data access (MRD or MWR) X X X

FETCH Program fetch cycle X X

IE Interrupt enable bit X X

INTR Interrupt request X X

IO IO cycle (IORD or IOWR) X X X

IORD IO read access cycle X X X

IOWR IO write access cycle X X X

MRD Memory read access cycle X X X

MWR Memory write access cycle X X X

Read Read access (IORD or MRD) X X X

STACK Stack access X X

TEST Test line X X

WR Write line X X

Write Write access (IOWR or MWR) X X X

ICE Emulator for the 80186 and 80196 62 ©1989-2017 Lauterbach GmbH

Input Event Meaning Analyzer Hardware

ECC8 HAC HA120 SA120

Data Data access (MRD or MRDDMA or MWR or MWRDMA)

X X X

DMA DMA cycle (IORDDMA or IOWRDMA or MRDDMA or MWRDMA)

X X X

FETCH Program fetch cycle X X X

HALT Halt cycle X X X

IACK Interrupt acknowledge X X X

INT Interrupt request (INT0 or INT1 or INT2 or INT3)

X X

INT0..INT3 X X

IO IO cycle (IORD or IORDDMA or IOWR or IOWRDMA)

X X X

IORD IO read access cycle X X X

IORDDMA IO read access cycle by DMA X X X

IOWR IO write access cycle X X X

IOWRDMA IO write access cycle by DMA X X X

MRD Memory read access cycle X X X

MRDDMA Memory read access cycle by DMA X X X

MWR Memory write access cycle X X X

MWRDMA Memory write access cycle by DMA X X X

Read Read access (FETCH or IACK or IORD or IORDDMA or MRD or MRDDMA)

X X X

REFRESH X X

TEST Test line X X

Write Write access (IOWR or IOWRDMA or MWR or MWRDMA)

X X X

ICE Emulator for the 80186 and 80196 63 ©1989-2017 Lauterbach GmbH

V40/V50 Keywords for the Trigger Unit

For not CPU-specific keywords, see non-declarable input variables in “ICE/FIRE Analyzer Trigger Unit Programming Guide” (analyzer_prog.pdf).

Input Event Meaning Analyzer Hardware

ECC8 HAC HA120 SA120

Data Data access (MRD or MRDDMA or MWR or MWRDMA)

X X X

DMA DMA cycle (IORDDMA or IOWRDMA or MRDDMA or MWRDMA)

X X X

FETCH Program fetch cycle X X X

HALT Halt cycle X X X

IACK Interrupt acknowledge X X X

INT Interrupt request (INTP1 or INTP2 or INTP3)

X X

INTAK INTAK line X X

INTP1..INTP3 X X

IO IO cycle (IORD or IORDDMA or IOWR or IOWRDMA)

X X X

IORD IO read access cycle X X X

IORDDMA IO read access cycle by DMA X X X

IOWR IO write access cycle X X X

IOWRDMA IO write access cycle by DMA X X X

MRD Memory read access cycle X X X

MRDDMA Memory read access cycle by DMA X X X

MWR Memory write access cycle X X X

MWRDMA Memory write access cycle by DMA X X X

POLL Poll line X X

Read Read access (FETCH or IACK or IORD or IORDDMA or MRD or MRDDMA)

X X X

REFRESH X X

Write Write access (IOWR or IOWRDMA or MWR or MWRDMA)

X X X

ICE Emulator for the 80186 and 80196 64 ©1989-2017 Lauterbach GmbH

Keywords for the Display

General Keywords

8086/8088/V20/V30MAX Keywords

8086/8088/V20/V30MIN Keywords

80(C)186(XL)/80(C)188(XL)/EA/EB/EC/EM/ES/ER/ED/CC Keywords

AAddress Absolute (physical) address

Wait Number of inserted wait cycles, for more than 6 a 'X' appears.

RESET Reset cycle

QS0, QS1 Queue state lines

NMI NMI line

RQGT0, RQGT1 CPU lines

IE Interrupt enable bit

INTR Interrupt line

LOCK LOCK line

TEST TEST line

INTA INTA line

HOLD, HLDA CPU lines

IE Interrupt enable bit

INTR Interrupt line

WR WR line

TEST TEST line

DMA DMA access

RESIN RESIN line

RESET Reset cycle

TMRIN0, TMRIN1 Timer inputs

NMI NMI line

ICE Emulator for the 80186 and 80196 65 ©1989-2017 Lauterbach GmbH

V40/V50MIN Keywords

Dequeueing

The disassembled lines in the analyzer are displayed prior to the resulting data cycles. This dequeueing fails for commands which have not a constant number of data cycles. Long data sequences during REP SCAS or REP MOVS can cause missing mnemonics in the disassembly.

HOLD, HLDA CPU lines

INT0 .. INT3 Interrupt lines

TEST TEST line

RESIN RESIN line

RESET Reset cycle

TCLK,TCTL2,TOUT2 Timer lines

NMI NMI line

HOLD, HLDA CPU lines

INTP1 .. INTP3 Interrupt lines

POLL POLL line

INTAK Interrupt line

ICE Emulator for the 80186 and 80196 66 ©1989-2017 Lauterbach GmbH

Port Analyzer

Keywords for the Port Analyzer (8086/8088/V20/V30)

INTA INTA line (MIN)

ALE ALE (MIN)

HOLD HOLD (MIN)

HLDA HLDA (MIN)

RESET RESET output (MAX)

INTR Interrupt line (MAX)

NMI NMI (MAX)

QS0, QS1 Queue state (MAX)

RQGT0, RQGT1 RQGTx lines (MAX)

DEN DEN (MIN)

DTR DTR (MIN)

IOM IOM (MIN)

S0 .. S2 State lines (MAX)

RD

WR WR (MIN)

READY READY

BHE BHE

LOCK LOCK (MAX)

CRQGT0, CRQGT1 CRQGTx (MAX)

CINT CINT(MAX)

CBUSY CBUSY (MAX)

TEST TEST (MAX)

A0 .. A7 Free Trace Channels A

B0 .. B7 Free Trace Channels B

C0 .. C7 Free Trace Channels C

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 67 ©1989-2017 Lauterbach GmbH

Keywords for the Port Analyzer (80(C)186(XL)/80(C)188(XL)/EA)

RESIN RES input

RESET RESET output

TMRIN0 Timer In 0

TMRIN1 Timer In 1

NMI NMI

ALE ALE

HOLD HOLD

HLDA HLDA

DRQ0 DMA Request 0

DRQ1 DMA Request 1

TMROUT0 Timer Out 0

TMROUT1 Timer Out 1

LCS Lower Chip Select

UCS Upper Chip Select

PCS0 .. 6 Peripheral Chip Selects

MCS0 .. 3 Middle Chip Selects

INT0 .. INT3 Interrupt 0 .. 3

A0 .. A7 Free Trace Channels A

B0 .. B7 Free Trace Channels B

C0 .. C7 Free Trace Channels C

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 68 ©1989-2017 Lauterbach GmbH

Keywords for the Port Analyzer (80186EB/80188EB)

RESIN RES input

RESET RESET output

TMRIN0 Timer In 0

TMRIN1 Timer In 1

NMI NMI

ALE ALE

HOLD HOLD

HLDA HLDA

RXD0, TXD0, CTS0 Serial interface

10 .. 17 Port 1

20 .. 27 Port 2

LCS Lower Chip Select

UCS Upper Chip Select

TMROUT0 Timer Out 0

TMROUT1 Timer Out 1

TEST TEST line

NCS NCS line

ERROR ERROR line

PEREQ PEREQ line

INT0 .. INT4 Interrupt 0 .. 3

A0 .. A7 Free Trace Channels A

B0 .. B3 Free Trace Channels B

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 69 ©1989-2017 Lauterbach GmbH

Keywords for the Port Analyzer (80186EC/80188EC)

RESIN RES input

RESET RESET output

TMRIN0 Timer In 0

TMRIN1 Timer In 1

NMI NMI

ALE ALE

HOLD HOLD

HLDA HLDA

DRQ0 .. DRQ3 DMA request lines

MCS0,MCS1,MCS3 Chip selects

10 .. 17 Port 1

20 .. 27 Port 2

30 .. 35 Port 3

INTA Interrupt line

WDTOUT WDTOUT line

LCS Lower Chip Select

UCS Upper Chip Select

TMROUT0 Timer Out 0

TMROUT1 Timer Out 1

TEST TEST line

INT0 .. INT7 Interrupt 0 .. 7

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 70 ©1989-2017 Lauterbach GmbH

Keywords for the Port Analyzer (18xEM/18xES/18xER/186ED)

18xEM/ER 18xES/ED

RESET RES- input RES- input

TMRIN0 TMRIN0/PIO11 TMRIN0/PIO11

TMRIN1 TMRIN1/PIO0 TMRIN1/PIO0

NMI NMI NMI

ALE ALE ALE

HOLD HOLD HOLD

HLDA HLDA HLDA

INT0 INT0 INT0

IRQ INT3/INTA1/IRQ INT3/INTA1/IRQ

SELECT INT1/SELECT INT1/SELECT

LCS Lower Chip Select Lower Chip Select

UCS Upper Chip Select Upper Chip Select

0 TMRIN1/PIO0 TMRIN1/PIO0

1 TMROUT1/PIO1 TMROUT1/PIO1

2 PCS6/A2/PIO2 PCS6/A2/PIO2

3 PCS5/A1/PIO3 PCS5/A1/PIO3

4 DTR/PIO4 DTR/PIO4

5 DEN/PIO5 DEN/DS/PIO5

6 SRDY/PIO6 SRDY/PIO6

7 A17/PIO7 A17/PIO7

8 A18/PIO8 A18/PIO8

9 A19/PIO9 A19/PIO9

10 TMROUT0/PIO10 TMROUT0/PIO10

11 TMRIN0/PIO11 TMRIN0/PIO11

12 DRQ0/PIO12 DRQ0/INT5/PIO12

13 DRQ1/PIO13 DRQ1/INT6/PIO13

14 MCS0/PIO14 MCS0/PIO14

15 MCS1/PIO15 MCS1/PIO15

16 PCS0/PIO16 PCS0/PIO16

ICE Emulator for the 80186 and 80196 71 ©1989-2017 Lauterbach GmbH

17 PCS1/PIO17 PCS1/PIO17

18 PCS2/PIO18 PCS2/CTS1/ENRX1/PIO18

19 PCS3/PIO19 PCS3/RTS1/RTR1/PIO19

20 SCLK/PIO20 RTS0/RTR0/PIO20

21 SDATA/PIO21 CTS0/ENRX0/PIO21

22 SDEN0/PIO22 TXD0/PIO22

23 SDEN1/PIO23 RXD0/PIO23

24 MCS2/PIO24 MCS2/PIO24

25 MCS3/RFSH/PIO25 MCS3/RFSH/PIO25

26 UZI/PLLBYPS/PIO26 UZI/PLLBYPS/PIO26

27 TXD/PIO27 TXD1/PIO27

28 RXD/PIO28 RXD1/PIO28

29 S6/CLKDIV2/PIO29 S6/LOCK/CLKDIV2/PIO29

30 INT4/PIO30 INT4/PIO30

31 INT2/INTA0/PIO31 INT2/INTA0/PWD/PIO31

A0 .. A7 Free Trace Channels

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 72 ©1989-2017 Lauterbach GmbH

Keywords for the Port Analyzer (V40/V50)

RESIN RES input

TCLK,TCTL2,TOUT2 Timer lines

NMI NMI

ALE ALE

HOLD HOLD

HLDA HLDA

INTAK INTAK line

TC TC line

POLL POLL line

REFRQ REFRQ line

DRQ0 .. DRQ3 DMA Request 0 .. 3

DACK0 .. DACK3 DMA Acknowledge 0 .. 3

INTP1 .. INTP7 Interrupt 1 .. 7

A0 .. A7 Free Trace Channels A

B0 .. B7 Free Trace Channels B

C0 .. C7 Free Trace Channels C

BNK0 .. BNK7 Bank Probe Channels

ICE Emulator for the 80186 and 80196 73 ©1989-2017 Lauterbach GmbH

Input Connector for free Channels (8086/8088/80186/80188)

Input Connector for free Channels (80186EB/80188EB)

25 23 21 19 17 15 13 11 9 7 5 3 126 24 22 20 18 16 14 12 10 8 6 4 2

1 A0 17 C02 A1 18 C13 A2 19 C24 A3 20 C35 A4 21 C46 A5 22 C57 A6 23 C68 A7 24 C7

9 B0 25 GND10 B1 26 GND11 B212 B313 B414 B515 B616 B7

15 13 11 9 7 5 3 116 14 12 10 8 6 4 2

1 A0 9 B02 A1 10 B13 A2 11 B24 A3 12 B35 A4 13 GND6 A5 14 GND7 A6 15 GND8 A7 16 GND

ICE Emulator for the 80186 and 80196 74 ©1989-2017 Lauterbach GmbH

Input Connector for free Channels (18xEM/18xES/18xER/186ED/CC)

9 7 5 3 110 8 6 4 2

1 A0 9 GND2 A1 10 GND3 A24 A35 A46 A57 A68 A7

ICE Emulator for the 80186 and 80196 75 ©1989-2017 Lauterbach GmbH

Compilers

Language Compiler Company Option Comment

ASM AXLS HP Source level debugging

C BORLANDC Borland Software Corporation

EOMF-86 with Paradigm LOCATE

C ORGANON CAD-UL ElectronicServices GmbH

EOMF-86 Banking support

C IC86 Intel Corporation OMF-86C MCC86 Mentor Graphics

CorporationEOMF-86 incl. Microtec ext.

C MSC/MSVC-16BIT Microsoft Corporation EOMF-86 with Paradigm LOCATE

C MSC/MSVC Microsoft Corporation EXE/TD with Paradigm LOCATE

C ICC86 TASKING OMF-86C ICC86 TASKING IEEEC++ BORLANDC Borland Software

CorporationEXE/TD

C++ MSVC-16BIT Microsoft Corporation EXE/CVMODULA LOGITECH-M2 Terra Datentechnik MAP/REFPASCAL TEK-PASCAL Tektronix TEKPLM PL/M86 Intel Corporation OMF-86 reads src or list file

ICE Emulator for the 80186 and 80196 76 ©1989-2017 Lauterbach GmbH

3rd Party Tool Integrations

CPU Tool Company Host

WINDOWS CE PLATF. BUILDER

- Windows

CODE::BLOCKS - -C++TEST - WindowsADENEO -X-TOOLS / X32 blue river software GmbH WindowsCODEWRIGHT Borland Software

CorporationWindows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Windows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Linux

EASYCODE EASYCODE GmbH WindowsECLIPSE Eclipse Foundation, Inc WindowsCHRONVIEW Inchron GmbH WindowsLDRA TOOL SUITE LDRA Technology, Inc. WindowsUML DEBUGGER LieberLieber Software

GmbHWindows

SIMULINK The MathWorks Inc. WindowsATTOL TOOLS MicroMax Inc. WindowsVISUAL BASIC INTERFACE

Microsoft Corporation Windows

LABVIEW NATIONAL INSTRUMENTS Corporation

Windows

RAPITIME Rapita Systems Ltd. WindowsRHAPSODY IN MICROC IBM Corp. WindowsRHAPSODY IN C++ IBM Corp. WindowsDA-C RistanCASE WindowsTRACEANALYZER Symtavision GmbH WindowsTA INSPECTOR Timing Architects GmbH WindowsUNDODB Undo Software LinuxVECTORCAST UNIT TESTING

Vector Software Windows

VECTORCAST CODE COVERAGE

Vector Software Windows

ICE Emulator for the 80186 and 80196 77 ©1989-2017 Lauterbach GmbH

Realtime Operation Systems

Company Product Comment

Oracle Corporation ChorusOSMentor Graphics Corporation

Nucleus PLUS

Wind River Systems pSOS+ 2.1 to 2.5, 3.0Quadros Systems Inc. RTXC 3.2Wind River Systems VxWorks 5.x and 6.x

ICE Emulator for the 80186 and 80196 78 ©1989-2017 Lauterbach GmbH

Emulation Frequency

The emulation probe is designed for running with CPU's up to 40 MHz. However the max. speed is limited by the CPU chip used in the emulator. TRACE32 modules are delivered with the fastest CPU available. The following values of emulation frequencies refer to the 'standalone' mode (memory is mapped internal).

The maximum operation frequency of TRACE32-ICE depends on:

• The max. frequency of the CPU

• The access time of the overlay memory (15 ns or 35 ns)

• The mapper mode (Slow or Fast)

• The number of waitstates

(WO = 0 waitstates W1 = 1 waitstate)

Module CPU F-W0-15

F-W0-35

S-W0-15

S-W0-35

S-W1-15

S-W1-35

DRAM

LA-7084 UT80CRH196KDS 16.0+ 16.0+ 16.0+ 15.6 16.0+ 16.0+LA-7097 V20 16.0 14.5 14.8 13.5 16.0+ 16.0+ 16.0LA-7098 V30 16.0 14.5 14.8 13.5 16.0+ 16.0+ 16.0LA-6673 V40 16.0 13.8 14.3 12.5 16.0+ 16.0+ 16.0LA-7095 V50 16.0 13.8 14.3 12.5 16.0+ 16.0+ 16.0

NOTE: The cycle speed of the SA120 unit is limited to 150ns.

ICE Emulator for the 80186 and 80196 79 ©1989-2017 Lauterbach GmbH

Emulation Modules

Module Overview

V40 PLCC68LA-6673

V50 PLCC68LA-7095

V20 DIL40LA-7097

V30 DIL40LA-7098

UT80CRH196KDS PLCC68LA-7084

LA-6670

ICE Emulator for the 80186 and 80196 80 ©1989-2017 Lauterbach GmbH

Order Information

Order No. Code Text

LA-6670 ICE-186 ICE-186 Base ModuleLA-6671 M-80C186XL Module 80C186XLLA-7070 M-80C188XL Module 80C188XLLA-7071 M-80C186EA Module 80C186EALA-7072 M-80C188EA Module 80C188EALA-6672 M-80C186EB Module 80C186EBLA-6697 M-80C186EB-3.3V Module 80C186EB 3.3VLA-7075 M-80C188EB Module 80C188EBLA-6698 M-80C188EB-3.3V Module 80C188EB 3.3VLA-6678 M-80C186EC Module 80C186ECLA-7076 M-80C188EC Module 80C188ECLA-6696 M-80186EM Module 186EMLA-7090 M-80188EM Module 188EMLA-7091 M-80186ES Module 186ESLA-7092 M-80188ES Module 188ESLA-7093 M-80186ER Module 186ERLA-7094 M-80188ER Module 188ERLA-7099 M-80186ED Module 186EDLA-7077 M-80186CC/CU/CH Module 186CC/CU/CHET-1200 ET-80186PLCC-C PLCC to PLCC Clip Over Adapter for 80C186ET-1202 ET-80186/88PLCC-SQFP PLCC to SQFP80 Surface Mountable AdapterLA-6673 M-V40 Module V40LA-7095 M-V50 Module V50LA-6677 M-8086 Module 8086LA-7096 M-8088 Module 8088LA-7097 M-V20 Module V20LA-7989 M-V20/3.3V Module V20 3.3 VoltLA-7098 M-V30 Module V30LA-6695 M-196EN Module 196ENLA-6674 M-196KB Module 196KBLA-7080 M-196KD Module 196KDLA-7081 M-196KC Module 196KCLA-7082 M-194 Module 194LA-7083 M-198 Module 198LA-7084 M-196KDS Module 196KDS

Additional OptionsLA-7534 MON-186 ROM Monitor for 186 family on ESILA-7516 MON-196 ROM Monitor for 80C196 on ESI

ICE Emulator for the 80186 and 80196 81 ©1989-2017 Lauterbach GmbH

LA-6450 PA64 Port Analyzer

Order No. Code Text

ICE Emulator for the 80186 and 80196 82 ©1989-2017 Lauterbach GmbH

Operating Voltage

This list contains information on probes available for other voltage ranges. Probes not noted here supply an operation voltage range of 4.5 … 5.5 V.

No other voltage ranges available !

ICE Emulator for the 80186 and 80196 83 ©1989-2017 Lauterbach GmbH

Physical Dimensions

Dimension

LA-7077 M-80186CC/CU/CH

ICE Emulator for the 80186 and 80196 84 ©1989-2017 Lauterbach GmbH

LA-6671 M-80C186XLLA-7070 M-80C188XLLA-7071 M-80C186EALA-7072 M-80C188EA

Dimension

cable (350)

6680186/80188/XL/EA

37

13

9

92105

SIDE VIEW

24

74

14

TOP VIEW (all dimensions in mm)

1

PLCC 68

22

ICE Emulator for the 80186 and 80196 85 ©1989-2017 Lauterbach GmbH

LA-6672 M-80C186EBLA-6697 M-80C186EB-3.3VLA-7075 M-80C188EBLA-6698 M-80C188EB-3.3V

Dimension

cable (350)

7480186EB/80188EB

37

13

9

99112

SIDE VIEW

24

74

19

16

TOP VIEW (all dimensions in mm)

1

PLCC 84

ICE Emulator for the 80186 and 80196 86 ©1989-2017 Lauterbach GmbH

LA-6678 M-80C186ECLA-7076 M-80C188EC

Dimension

cable (350)

7980186EC/80188EC

37

13

7

105117

SIDE VIEW

Female Connectors

for77

ET-adapter

12

10

TOP VIEW (all dimensions in mm)

1

ICE Emulator for the 80186 and 80196 87 ©1989-2017 Lauterbach GmbH

LA-6696 M-80186EMLA-7090 M-80188EMLA-7091 M-80186ESLA-7092 M-80188ESLA-7093 M-80186ERLA-7094 M-80188ERLA-7099 M-80186ED

Dimension

cable (400)

78

37

13

104117

SIDE VIEW

7

A1B

A B A B78

1

BA

TOP VIEW (all dimensions in mm)

Adaption A: 100pole TQFP (square)=QF49Adaption B: 100pole PQFP (rectangular)=QF06

1922

148

ICE Emulator for the 80186 and 80196 88 ©1989-2017 Lauterbach GmbH

LA-6673 M-V40LA-7095 M-V50

Dimension

cable (350)

74V40/V50

37

13

9

100112

SIDE VIEW

74

22

14

TOP VIEW (all dimensions in mm)

1

PLCC 68

ICE Emulator for the 80186 and 80196 89 ©1989-2017 Lauterbach GmbH

LA-6677 M-8086LA-7096 M-8088LA-7097 M-V20LA-7098 M-V30

Dimension

cable (350)

748086/88/V20/V30

37

13

10 8087

99113

SIDE VIEW

target 8087

74

12

14

TOP VIEW (all dimensions in mm)

ICE Emulator for the 80186 and 80196 90 ©1989-2017 Lauterbach GmbH

LA-6695 M-196EN

Dimension

cable (400)

86

37

13

111125

SIDE VIEW

8

1

78

TOP VIEW (all dimensions in mm)

13

13

ICE Emulator for the 80186 and 80196 91 ©1989-2017 Lauterbach GmbH

LA-6674 M-196KBLA-7080 M-196KDLA-7081 M-196KCLA-7082 M-194LA-7083 M-198

Dimension

cable (350)

65

37

13

9

92105

SIDE VIEW

26

PLCC 68

1

74

PLCC 52

136

8

13

TOP VIEW (all dimensions in mm)

ICE Emulator for the 80186 and 80196 92 ©1989-2017 Lauterbach GmbH

Adapter

No adapters necessary !

ICE Emulator for the 80186 and 80196 93 ©1989-2017 Lauterbach GmbH