0
\$\begingroup\$

I am new to electronics and am trying to wrap my head around the various tools used for producing various digital components.

My understanding of HDL languages like VHDL and Verilog is that they describe the behavior of chips/ICs and are ultimately used to fabricate FPGAs and ASICs.

My understanding of tools like Eagle CAD is that they are used for designing circuits like PCBs, motherboards, etc. So, say I am using a breadboard to design a circuit. Once I am satisfied with the way the breadboard is wired, I would then use Eagle CAD to model a PCB using the same wiring as my breadboard prototype, and Eagle CAD produces a file. I then hand that file to a PCB manufacturer, and they produce a nice, sleek PCB for me.

My first concern is this: are my assertions above correct? Is my understanding of these tools spot on, and if not, can someone please rectify or clarify anything for me?

Assuming I'm more or less correct:

What tools are used to design entire systems? Say I have a device that has:

  • An custom ASIC chip/processor
  • Flash memory chips
  • EEPROM memory
  • Peripherals (LEDs, servos, etc.)
  • All of these connected via "motherboard"/PCB

I'd imagine HDL tools would be used to design the ASIC, and something like Eagle CAD would be used to produce the motherboard/PCB connecting everything, but what about the memory chips and peripherals? And are there any tools that design all of the above?

I ask because, ultimately, the entire system has to be integrated into a single PCB. That means a single manufacturer/assembler is ultimately responsible for putting all the parts together. So what I'm really getting at is: what types of files/specs are handed to a manufacturer to produce/assemble an entire system like the one above?

\$\endgroup\$
1
\$\begingroup\$

are my assertions above correct?

Everything you have written above that line is correct.

This is a multipart question. At the very top system level, you will find surprisingly heavy use of Word and Visio to produce a series of block diagrams. The different specialisations will then be handed off to different teams using individual tools.

Designing a whole new product out of new parts in one go with no prototypes is a risky endeavour. Generally you'd do it in stages: sort the custom ASIC out before finalising the motherboards.

RAM is highly structured and I think the tools for this may be proprietary things that just emit GDSII. Individual RAM cells can be simulated in SPICE.

The final question depends slightly on what you're making, but last time I did it I sent:

  • a PCB stackup: set of Gerber files with list of drill holes and thickness/finish (ENIG, soldermask colour, etc)
  • a placement list (autogenerated from the PCB software, used for pick-and-place)
  • a Bill of Materials (BOM) which is a spreadsheet of parts by part designator
  • a test plan for checking the PCBs (Word document with pictures)
  • software binaries to be preloaded into the microcontroller (Microchip BIN format)
  • assembly diagrams for how to put the PCB in the case, fit buttons etc.

Injection moulded casework was designed in Solidworks and commissioned seperately. If you need things which can't be reflow soldered that involves extra explaining.

\$\endgroup\$
  • \$\begingroup\$ Awesome, thanks @pjc50! What type of company would handle the full system assembly (what are they called)? \$\endgroup\$ – DirtyMikeAndTheBoys May 13 '15 at 16:28
  • \$\begingroup\$ Typically a PCB manufacturer will also provide assembly services (at a cost). You need to provide them with a lot of information and arrange for parts to be delivered to them. Some PCB houses can work with you end-to-end from board fabrication, component stuffing, and even basic electrical (not functional) testing. Also, if you do an ASIC prudence dictates you do a dedicated ASIC testboard before you design it into your system. \$\endgroup\$ – crgrace May 13 '15 at 16:37
  • \$\begingroup\$ Also, you would typically use models of the memory chips etc in your testing of your ASIC and FPGA firmware designs. If you know the application environment for an ASIC you are best to do your simulations in that environment to make sure you captured all the requirements. \$\endgroup\$ – crgrace May 13 '15 at 16:39
  • \$\begingroup\$ Lastly, if you're integrating RAM IP onto an ASIC the IP vendor will provide you will functional and timing Verilog models so you can do top-level ASIC simulation. Typically the GDSII of the RAM (the physical layout) is inserted by the foundry after tapeout but that varies depending on how much you pay the vendor (the more money you give them, the more access to their IP they give you, generally) \$\endgroup\$ – crgrace May 13 '15 at 16:41
  • \$\begingroup\$ A company that can build a complete system is usually just called a CM or contract manufacturer. Big names are places like Foxconn, Sanmina, Jabil, etc. These companies typically have different shops to do PWB manufacturing, PCB assembly, sheet metal forming (to make enclosures), wire harness assembly, and final assembly and test. As far as I know, none of them does any IC manufacturing or packaging (although the big ones can probably all do chip-on-board assembly). \$\endgroup\$ – The Photon May 13 '15 at 16:42
0
\$\begingroup\$

What you really want is a suite of tools that are integrated (from the same vendor) that allow you to go from design capture (schematic and/or hardware description language) all the way through to PCB design and perhaps automatic routing of the PCB, to output of files which can then be delivered to a PCB manufacturer.

I would try to look for a vendor that produces the complete suite of tools that are integrated together. I think the EasyPC software from Number One systems might do this. This used to be low cost. There's another package called Protel, that used to be primarily based on PCB layout, but it might have an integrated schematic capture package in now.

VHDL/Verilog hardwared description languages are for digital logic functions (VHDL has a behavioural aspects to its language which means it can model other things too).

In a perfect world (and expensive world), you'd be able to do is say, schematic capture your circuit design (having proved it on a breadboard first perhaps), and have models in the schematic capture package for all the different digital logic chips. Those models could just be a circuit symbol (outline and pins on the chip), and a physical model (physical dimensions, pin pitch etc) to enable the PCB software to make use of it for component placement and automatic routing of the PCB.

If your circuit design is entirely digital, then a really good package can capture schematically the entire circuit (which will just be chips) and there will be simulation models of the chips (even possibly simulating the VHDL code you have written for the chip you want to design) and you can simulate the whole digital system before you construct anything. Tweak the VHDL for the individual chips you're designing, re-simulate and prove the behaviour of everything is right. And then go through to PCB design, layout and route of the entire system But we're probably talking big money here.

After layout you've then got real values of capacitance of the PCB tracks to deal which may affect the performance of the circuit design.

There's a very well known design package called "Orcad", which used to be a pretty good schematic capture tool (I used it for designing a Xilinx digital logic FPGA years ago - it integrated into the Xilinx FPGA place and route software) but it's generic enough to use for circuit diagrams of mixed analogue and digital components and I think they extended it to include PCB layout. I should imagine it's all integrated (after all, enough years have now passed for them to have done that!) But the full integrated solution is probably expensive.

Don't even think about Word or Viso for doing this. You need to capture everything at schematic capture level in a single tool and have that passed to the PCB software automatically without having to re-capture a second design just for the PCB software.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.