EDA for simulation/design up to GHz? - Page 1
Forum section: electronics / general

author: sdim
author_rank: Contributor
timestamp: September 09, 2013, 06:57:19 am
content: Hi.I am learning high speed digital system design and I want to design some boards.Do you think that the commercial applications worth the extra money or I should prefer free software?Can you recommend me an EDA that have high speed simulation capabilities? I'm overwhelmed by the many available choices.What software do the large electronic manufacturers that design mobile phones , PC mainboards and peripherals, tablets, etc. use?

author: marshallh
author_rank: Unknown
timestamp: September 09, 2013, 07:40:19 am
content: Pros use Orcad/Allegro(layout), Mentor pads/expedition, AltiumTypical SI packages might be Agilent ADS, Hyperlynx.Prepare to spend tens of thousands and much more

author: lgbeno
author_rank: Frequent Contributor
timestamp: September 09, 2013, 09:32:13 am
content: Quote from: marshallh on September 09, 2013, 07:40:19 amA few extra SI packages are Cadence SigExplorer, SI Soft and Ansys HSPICE. All are very $$.I would say that there are many schools of thought on what exactly is "required". If you don't have the money to spend, then IMO you could drudge through with a free tool and judiciously follow routing guidelines and manually triple check your layouts. If you start pushing the limits to where this gets out of hand, a more sophisticated tool becomes needed.If this is for your job, definitely make sure that your management knows that it would be better to invest in a tool since the stakes are too high. For a self funded hobby, completely different situation...

author: sdim
author_rank: Contributor
timestamp: September 09, 2013, 09:10:57 pm
content: I'm self employed. There is no management.I was a hobbyist but I'm trying to do electronics engineering and programming my primary job. I love programming, I started learning programming for hobby 20 years ago (Turbo Pascal Qbasic, VB, C) but I want to do it my primary job.I have studied mechanical & aeronautical engineering and I'm PhD candidate on information systems department (i use VB.NET, ASP.NET, MS SQL).I also work as a mechanical engineer for living and I'm co-owner of a construction company (with a few partners).However, due to the economic crisis here (I live in Greece) the construction sector is shrinked by 90% the last few years so I have to extend my field of work.Since I always loved programming (I'm also VAT registered programmer/developer, I've done some programming business) I decided to develop an UAV. I use the knowledge from my studies and my programming skills. I cannot afford to hire some engineers so I have to do everything by myself (I wish I had another option).I have created a prototype and almost everything is ready. The chasis, the engines, the flight controller are ready.I implemented the flight controller on a custom made protoboard with many tiny cables all over and an ARM core MCU (it took me 4 months to learn the ARM architecture and make the firmware). It works with a few I2C errors from time to time. I think I'm very lucky that it works if you consider the I2C clock performance (1div = 1V, not 100mV as displayed on the oscilloscope. I forgot to change the oscilloscope setting from x1. It should top at 3.3V but it does not due to high resistance or capacitance).I need a simulation software so I can design a PCB of reasonable quality for the flight controller. I will use it later for many other projects I have in mind.I can pay a few $$$ for good software. As a self employed engineer I have to pay more than $7000 every year for insurance (minimum allowed by the law for engineers with 5+ years of experience, it includes health care, pension, etc) and more than $1000 to the government just because I'm self employed (plus 23% VAT + 1~4% tax on sale price, plus 26%~40% on net profit). I pay so many taxes ( you will never believe how many taxes I have to pay here in Greece. If you take into account that a worker salary starts from less than $800/month, the taxes are extraordinary ) that the cost of the software is just a small factor of my expenses.Since I will invest plenty of my personal time to learn the simulation software, I need to choose some "future proof" solution that I could use to simulate crosstalk, termination, transmission lines, busses, etc.

author: free_electron
author_rank: Super Contributor
timestamp: September 09, 2013, 09:38:53 pm
content: CST studio , Hyperlinx, Aplac , Agilent ADS.but. i'd start getting a good design tool : Altium.

author: AlfBaz
author_rank: Super Contributor
timestamp: September 09, 2013, 11:48:34 pm
content: I've only ever used Altium in conjunction with hyperlynx and it's not a bad workflowDepending on the version of altium you get the built in hyperlynx export function may need to be substituted with an altium script that's available for free somewhere on the net. Older versions of the altium hyperlynx export wont export polygon pours where as the script does. This is no longer necessary in newer versions of altium.Altium also doesn't export the PCB stackup very well wiether, but that's ok since the level of detail in hyperlynx for the stackup is much greater so you 're going to have to go in there and adjust settings anyway.The other thing altium falls down on during the export is via/pad stack ups. On a multi layer board you may go in and get rid of pads for a via on layers that you don't come out on but they always seem to end up as mini stubs in hyperlyx and according to the simulations, itdoesmake a difference!Hyperlynx itself is a very powerful field solving simulatorYou can do extensive batch testing on groups of nets, you can adjust your pcb stack up to see the effects on track impedance and coupling. You can scrutinize a single net with extensive waveform analysis. If you have the Power Integrity option you can visualize voltage drop and current density in your power distribution nework, the list goes on and on.It's fairly expensive though, around 4k will get you the base version and around 15k will give you the works

author: ElectroIrradiator
author_rank: Frequent Contributor
timestamp: September 10, 2013, 08:46:03 am
content: Are there actually any free/hobby cost level field solvers out there, to be used for evaluating GHz level PCB layouts?I haven't been able to find any, and am speculating it may be due to a very low interest level for this kind of thing for kitchen desktop use...

author: free_electron
author_rank: Super Contributor
timestamp: September 10, 2013, 12:21:11 pm
content: It's not the low interest.... It's the complexity of such a program

author: AlfBaz
author_rank: Super Contributor
timestamp: September 10, 2013, 12:58:11 pm
content: This program can at least give you an idea of your limits, which you can then use to create design rules. It's free and better than nothinghttp://saturnpcb.com/pcb_toolkit.htm

author: lgbeno
author_rank: Frequent Contributor
timestamp: September 10, 2013, 01:00:15 pm
content: Sounds like a great project and I admire your dedication.Honestly, SI simulation software isn't really going to solve the issue that you mentioned. At least not directly. I2C uses an open drain type signaling structure so that sck waveform that you attached is an artifact of having either too much capacitance or not having a strong enough pull up or one located it the wrong spot. Cables and connectors also play a huge role in this and getting models for that kind of stuff if SI software is difficult.Make you pull ups a smaller resistance and you'll see a better slew on sck. In general a device like NXP P82B715 will crush effects like that.

author: ElectroIrradiator
author_rank: Frequent Contributor
timestamp: September 10, 2013, 03:18:47 pm
content: Quote from: free_electron on September 10, 2013, 12:21:11 pmWell, yes, both actually. If this was something many advanced hobbyists wanted, then I'd expect people to have ganged up by now and started pecking away at the problem.Quote from: AlfBaz on September 10, 2013, 12:58:11 pmThanks, I had already found that program. I suspect it will have to do then.

author: marshallh
author_rank: Unknown
timestamp: September 10, 2013, 05:03:28 pm
content: If you're interested I can give you a list of books I've read that will shed light on how to design so you don't need to simulate in the first place.You can get pretty far just following best practices and understanding SI concepts (which are really just a small part of RF theory).

author: ml-eng
author_rank: Contributor
timestamp: September 10, 2013, 05:22:17 pm
content: @sdimThis is your first electronics project? Have you ever used I2C before?You honestly don´t need SI Simuation for that kind of projects.Make a professional PCB that is according to EMC/Safety standards and regulations in Europe.With that you can show potential customers what you have to offer and what your skills are.

author: sdim
author_rank: Contributor
timestamp: September 10, 2013, 07:52:21 pm
content: I have used I2C before. I design the bus by the specs.When I saw the chainsaw waveform on the SDC (see my previous post attachment) I could not believe that the circuit was working.I've made a few other electronic projects with Eagle and I got a small lot manufactured by a PCB manufacturing company a few months ago. Everything worked fine but the USB (luckily, the USB was planned as an optional extra feature so there was no big deal).I tried to find out why it did not work and then I realized that when I changed the PCB thickness to increase the board structural strength I forgot to change the trace width to match the design impedance.If I had a simulator I would have noticed the problem before I send it to the PCB factory.Then I realized that I should learn more about high speed digital design. I read some books, including the "magic" handbook, and I realized that although the theory is simple and I can understand the context of the book, it is almost impossible to design a reliable high speed circuit PCB by hand. There are so many parameters to calculate for each trace that it would take years to do by hand for every trace on the board.So I decided to stop using Eagle and start using a more advanced software.My next project will possibly have a GSM GPRS modem, so I guess I will test my high speed design skills with that.@lgbenoThanks for the tip (NXP P82B715 ).By the way, I double checked the pull ups and at last I found that there was a problem with a voltage regulator. I used another module, however I cannot fix the I2C problem. When I use a 10K pull-up resistor the line goes high almost all the time. When I use a 2.2K pull-up resistor the line goes low. Go figure. I will leave it as it is for the time and when I complete all the firmware features I will redesign the PCB.

author: free_electron
author_rank: Super Contributor
timestamp: September 10, 2013, 09:11:31 pm
content: usb does not require 'hi-speed' design skills. it's not until you start fidgeting with ddr3 , sata , pci-x and other wizardry that this stuff comes into play.

author: lgbeno
author_rank: Frequent Contributor
timestamp: September 11, 2013, 06:14:56 am
content: Np, happy to help.That's troubling results with the pull ups, something must have went wrong with your test. In the example scope trace that you attached earlier, was that with 10k? I would expect 2.2k to then be better. 10/2.2 times better in fact.Back to the SI conversation, to address your problem description in the case of the USB impedance changing when you altered your stack up, there no silver bullet to prevent that, and SI tool is certainly not going to help there. You would need a pcb tool where you can set constraints. The only one that I've used is Cadence Constraint Manager and it is very expensive. I don't know anything about Altium but seems like it is top notch so I assume it has something like this.Basically it is a spreadsheet where you input things like the stack up, target impedance, length, length matching. Number of vias, and on and on. It's not a SI tool it's a contest rainy manager... Then it generates DRC's when you break your constraints in the layout.Still all of that said, I2C and even the GSM modem stuff. Probably not complex enough to necessitate a tool like that. Altium might be a solid investment for other reasons though.

author: sdim
author_rank: Contributor
timestamp: September 12, 2013, 09:28:53 am
content: I know, I will test the board pin to pin to find out what is wrong.It's true that I do not need special software for I2C or slow USB, but later when I start using USB 3 (250MHz) and GSM (900Mhz to 2.1GHz) I will need it.I prefer to start working with good software now (slow speed) so I will be ready for the next step (high speed projects) .Altium offers an evaluation version.I'll try it and I hope it will do the job.Thanks!

author: nctnico
author_rank: Super Contributor
timestamp: September 12, 2013, 08:50:08 pm
content: Quote from: ElectroIrradiator on September 10, 2013, 08:46:03 amI always use Sonnet Lite (which is free) for simulating microstrip and RF boards. It takes some time to get the hang of it (defining the layers and drawing the metal layers) but in the end it works like a charm.Quote from: free_electron on September 10, 2013, 09:11:31 pmUSB2.0 has speeds over 400Mbit so it does require impedance matched traces.

author: DavidDLC
author_rank: Frequent Contributor
timestamp: September 12, 2013, 09:04:25 pm
content: Quote from: nctnico on September 12, 2013, 08:50:08 pmYes USB requires impedance control usually 90 Ohms, one method is to have the signals layer sandwiched between two ground layers and you need to have control over the trace witdth and trace separation. Usually a good PCB vendor will give you the values for width and separation.

author: ElectroIrradiator
author_rank: Frequent Contributor
timestamp: September 13, 2013, 01:32:06 pm
content: Quote from: nctnico on September 12, 2013, 08:50:08 pmThat program looks quite promising, appreciate the reference.