Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!hao!oddjob!gargoyle!ihnp4!ihlpa!normt From: normt@ihlpa.ATT.COM (N. R Tiedemann) Newsgroups: comp.sys.m68k Subject: Re: DTACK* Message-ID: <5933@ihlpa.ATT.COM> Date: Mon, 19-Oct-87 14:28:40 EDT Article-I.D.: ihlpa.5933 Posted: Mon Oct 19 14:28:40 1987 Date-Received: Tue, 20-Oct-87 21:47:32 EDT References: <4215@pyr.gatech.EDU> <1613@bloom-beacon.MIT.EDU> Organization: AT&T Bell Laboratories - Naperville, Illinois Lines: 37 Summary: 68000 DTACK can stay LOW In article <1613@bloom-beacon.MIT.EDU>, wolfgang@mgm.mit.edu (Wolfgang Rupprecht) writes: > In article <4215@pyr.gatech.EDU> jkg@pyr.UUCP (Jim Greenlee) writes: > >I have a basic fundamental (probably stupid) question about DTACK*. I was > >told (by a Motorola person) that it was possible to wire DTACK* directly > >to ground and have a 68000 system run at full speed, provided the memory > >access time was fast enough. > > I had the pleasure of debugging someone elses design (always fun), > where they violated this spec. Timing spec whats that? ;-) > > What I observered via a logic analyzer is this (and I find this > fascinating!): The /DTACK somehow gates the 60000's external address > bus latches. If The /DTACK stays low, the address bus stayes 'stuck' The first question is valid, and is the correct assumtion. DTACK can be tied to ground. (I just went into the LAB and tried it!!!) We actually use DTACK slightly differently on one of our processors. We keep it low at all times, except when we have a slow device (PAL address decoding), then we raise DTACK to assert some wait states. This does completely work, and is valid from the MOTOROLA point of view. The reason that this worked for a single stepper, is exactly what it's designed to do. If you raise DTACK the processor will put the next instruction (or data access) on the bus and sit happy and content to wait forever until DTACK is asserted (i.e. lowered) If you just have a debounced switch, after one low pulse (any switch provided enough time to work) it would go on to the next cycle. At times, you must have done two or three instructions at a time, or less than one, if your data had to be fetched externally. There are definately better ways to reliably single step. But in answer to the initial question, DTACK is level sensitve and can be tied to ground to force no wait states. I have tested it in the lab, on both a 68000 and 68010. Norm Tiedemann ihnp4!ihlpa!normt AT&T Bell Labs (312) 979-3535 Naperville, IL 60566