Circuit Simulation: Where is it going? - Page 1
Forum section: electronics / general

author: louarnold
author_rank: Contributor
timestamp: May 18, 2021, 07:04:29 pm
content: Re: Digital Circuit Simulator software for different design paradigms. Comments please, and recommendations for suitable software.I'm looking for a digital circuit simulator that will help me find and fix race conditions. The digital circuits are discrete (eg 7400 series, etc) and may have complex components such as micro-controllers that react to events. The software has to be good, with specific operating parameters for the devices (voltage and timing). Timing parameters must have low and high values and the simulation software must run through those ranges. There must of course be the standard conveniences for the user - save, resume, etc.On the other hand, I may opt to replace much of the digital circuits with micro-controllers that simply communicate with each other and thereby eliminate the timing problems that come with upgrading digital components. Are simulators good enough to handle this type of design?

author: ataradov
author_rank: Super Contributor
timestamp: May 18, 2021, 08:02:20 pm
content: Impossible. Even if you find some simulation software, you will never find exact timing models for your specific ICs. And MCUs especially.The best simulation software for this kind of analysis exists for FPGAs, but FPGAs blocks and fabric are extensively characterized.The behaviour of the same exact circuit from the same exact components, but assembled on a breadboard instead of a PCB, may be radically different.

author: rdtsc
author_rank: Newbie
timestamp: May 19, 2021, 12:59:40 am
content: You could try to simulate the non-mcu components separately, using software like Logisim-Evolution:https://www.eevblog.com/forum/eda/logisim-evolution/Note I have not tried this software. Unsure if it can do timing analysis pass/fail (and that's dependent on PCB routing anyways.)Speaking of PCB routing, the newer versions of KiCAD have a "tune length" feature, where the length (delay) of one or more physical traces can be seen and matched to others. I'm assuming the big commercial packages all have similar or better.Finally, a good logic analyzer can be a lifesaver.So where is it going? I think,ever-more-specialized... notever-more-integrated. And it has to, because there is too much data to integrate evensomethings. There have been attempts, such as Labcenter Proteus (PIC/Atmel/AVR etc and Spice simulation) but what if you had to use a dsPIC33CK64MC105? (Unsupported.)

author: louarnold
author_rank: Contributor
timestamp: May 19, 2021, 09:32:21 am
content: OK. Thanks for your input. I have to think about this some more; the choice between multiple MCUs vs cascading digital circuits.Re: The timing constraints for ICs: The situation has arisen that some older digital ICs have become obsolete or hard to get. Replacement ICs have different timing constraints - clock vs data, etc. Typically, newer ICs have favorable timing changes; i.e. less chance for timing errors. Rather than using "select on test' for ICs on production boards, I want to make sure how far those constraints can range before timing errors arise. Having simulators that can scan through a range of timing constraints would be very useful. In essence, one uses a variable timing model. As these timings change asynchronously over the circuit, different interactions can be exposed. After all, ICs have variations from chip to chip.For simulators to trap the timing errors, they would have to be told what signals to sense that are in error and grab the conditions that create them. I assume that no simulator currently has this capability, am I correct?Re. Using multiple MCUs vs one MPU: I assume I can eliminate much of the digital circuitry that may be required around a single MPU by using several MCUs that are, in a sense, "closer" to the component that connects to the outside world - ex: a register that sets the direction of a radio beam.Re. Separate non-mcu simulation: Yes, of course, but circuits driven by MCUs are very convenient, so that one need not generate sequences of input and their variations. After all, the code in the MCU that drives the outputs already exists in production boards.Keep in mind that these designs must perform without error in real-time, such as landing an airplane.Again, comments are welcome.Thanks.Lou.LOL. Wow, for those designing simulators, that's a list of requirements.

author: louarnold
author_rank: Contributor
timestamp: May 19, 2021, 09:38:28 am
content: I saw the Logisim-Evolution software. Looks like fun, but needs a bit more "oumpf".And, yes, a logic analyzer would help, but there is no more hardware to attach it too. Hard tools are too expensive and components to small to "grab". Those times are over. The lab is your desktop. Money goes to multi-desk software tools. We need to catch problems before we "go to press", so to speak. Consider the technical schools that can't afford these. Are you experiencing a shortage of qualified technicians?Best wishes.Lou.

author: nctnico
author_rank: Super Contributor
timestamp: May 19, 2021, 11:34:30 am
content: In my experience it greatly depends on how wel a circuit has been designed. A long time ago an 8051 based board was acting up. Turned out the designer didn't include the logic (which is there in all examples) to disable the memory during a state in which was undefined on the 8051's external bus. The old memory wasn't fast enough to react on it but new (replacement) memory did. I strongly doubt these sort of situations can be caught using a simulation because they are so device specific. All in all I'd start with a thourough design review to see if the design is truly synchronous (as in setup & hold times are met by design) or not.

author: louarnold
author_rank: Contributor
timestamp: May 20, 2021, 10:29:52 pm
content: @nctnicoGood point! But finding good designers is rather hard, now moreso than 20 years ago when these systems were first prototyped. I saw the Z80 assembly software that ran the system. Alot of NOPs for timing. I shuddered when they asked me to find newer ICs. I am a software engineer, after all. I'll push for a redesign with several an MPU and several MCU's. That sounds like its the most flexible.

author: louarnold
author_rank: Contributor
timestamp: May 20, 2021, 10:34:16 pm
content: OK, folks. You've been very helpful I have alot to think about. Being a software engineer, I like the MPU + MCU solution when its time to redesign. The hardware people will likely override me.Stay safe! But above all, stay happy.Lou

author: ataradov
author_rank: Super Contributor
timestamp: May 20, 2021, 10:48:22 pm
content: Going from 8051/Z80 to MPU + MCU without any other information does sound like an overkill. I would override too until further evidence is provided that it is really necessary.

author: nctnico
author_rank: Super Contributor
timestamp: May 20, 2021, 11:24:59 pm
content: Quote from: louarnold on May 20, 2021, 10:34:16 pmIt is likely that a single microcontroller may be able to replace the entire board resulting in a lower production cost and lower chances of failure due to less parts. At some point getting near obsolete devices is going to be expensive as well as software maintenance.