Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!portal!cup.portal.com!Radagast From: Radagast@cup.portal.com (sullivan - segall) Newsgroups: comp.sys.amiga Subject: Re: Logic Simulator -- Need Parts Info Message-ID: <34408@cup.portal.com> Date: 30 Sep 90 22:16:51 GMT References: <10804@hacgate.UUCP> Distribution: na Organization: The Portal System (TM) Lines: 61 >> >>I don't have that data book, but if it's not too difficult, I might try to >>support some 74xx parts (no promises!). How many *useful* ones are there? >>Could someone please supply me with a basic parts list (please include the >>part number, pins names, truth table/schematic)? >> >The 74xxx series of parts is probably the most prevalent series of >integrated circuit logic functions available and the number of devices >is _quite_ large (specially if you include the 74xx, 74LSxx, 74Sxx, >74Fxx, 74HCxx, 74HCTxx, 74ACxx, 74ACTxx, 74HCTLSxx, etc families). >Look in any of the TTL or CMOS logic family data books. The types of things you will need to support for *generic* logic (including the 74xx series) are: Propagation delays: Transition time Low to High Transition time High to Low Transition time Input(n) to Output(m) States: High, Low, Hi-Z, Open-Collector Output Clocks: Positive edge trigger Negative edge trigger High state Low state Timing: .5 ns (or less) to 1 second (or more) Crystal Oscillators Multiple nano-second delays Also, some circuits will not have a steady state representation. Either include warnings for these circuits, or simulate them down to the event level (ie: Make transitions happen when they *should* and *in order*. I have source code in Turbo-C (my own) that implements some of these features. To avoid infinite loops I just evaluate the circuit for several milliseconds while continuing to accept user input. If there isn't a steady state solution after that much time, the uncertain gates are left in their last configuration. To solve the problem for real, I would have had to maintain lists of events and their relative timing. Then I could step from event to event creating new events when the state of an output changes from a previous event or from user input. -Sullivan_-_Segall (a.k.a. Radagast) _______________________________________________________________ /V\ E-Credibility: (n -- ME) The unguaranteed likelyhood that ' the electronic mail you are reading is genuine rather than someone's made up crap. _______________________________________________________________ Mail to: ...sun!portal!cup.portal.com!radagast or radagast@cup.portal.com