1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Semiconductor Engineering for Chip Design

  1. Jul 13, 2015 #1
    I am finishing my degree in Mathematics and will be enrolling into a Mathematical Physics program. My goal is to work with Semiconductors.

    Is this possible to find software that chip design engineers use? I would like to design my own chips with software to build a basic understanding that would assist with my book materials. Thank you.
  2. jcsd
  3. Jul 13, 2015 #2
    You can always use MATLAB and the appropriate MathWorks toolboxes. I have found that MATLAB applications engineers are always extremely helpful.

    If you are thinking of FPGAs, you can use VHDL or Verilog. I used VHDL in Altera's Quartus II environment.

    To do EMC / EMI evaluation of a board, you might be able to use Agilent ADS (now Keysight ADS I think) and/or FEKO (for full-wave EM simulation).

    There are a number of PCB layout and design tools - none of which I have any familiarity or experience with.
  4. Jul 13, 2015 #3
    Eagle PCB is a great tool to build PCBs and familiarize yourself with going from a circuit schematic to a real board layout. You can find excellent tutorials on youtube that go over the basics.
  5. Jul 14, 2015 #4
    Thank you guys for the response. I never actually seen anything on designing chips with Eagle. Are there any good tutorials that can get be started? I've used Altera for basic PCB design but never for designing chips.
  6. Jul 15, 2015 #5


    User Avatar
    Science Advisor
    Gold Member

    I think you have to be more specific about what you mean by "chips". There is a huge difference between designing digital chips with lots (millions or more) transistors, and designing analog chips such as amplifiers. The former is (mainly) done using programming languages such as the abovementioned VHDL which is then semi-automatically (at least in the ideal word) converted into a chip layout. Analog designs are much more hands-on and EE oriented; there are usually fewer circuit elements involved and it is actually possible for someone to place individual transistors etc.
    Analog engineering is -as far as I am aware- largely a separate profession.
    That said, as is always the case with modern technology you will find that chips that actually go into production will have been designed by large teams of people; you need a LOT of different skills for chip design.

    Finally, the software involved is usually VERY expensive (although there is free software that allows you to try Verilog or VHDL). I have no personal experience if such software, but at one of the universities where I used to work the actual chip designs (small scale DSP with some analog in/out, fabricated at a foundry) was mainly done in Cadence.
  7. Jul 15, 2015 #6


    User Avatar
    Gold Member

    By chip design are you talking about circuit design at a board level, or actual chip design on a semiconductor level, which are two different fields.
  8. Jul 15, 2015 #7
    chip design at the semiconductor level.
  9. Jul 15, 2015 #8
    My apologies for the confusion. Suppose I want to build a mobile processor, are there any software (I understand that it may not be cheap) where I can do this?
  10. Jul 15, 2015 #9
    Thank you for giving a general idea of where I would need to go. Now that I understand that it is a team effort. Should I learn the basics of verilog?
  11. Jul 17, 2015 #10


    User Avatar
    Science Advisor

    Since you're interested in designing a mobile processor, yes you should learn more than the basics of Verilog, you're going to have to know it pretty well. Also, be aware that writing functional code in Verilog (this is called front end design) is less than half the story. Turning that code into an implementation (called backend implementation or physical design) is a big job in itself so keep in mind you'll need to learn synthesis, place-and-route, verification, and timing analysis techniques. There are free tools for some of that (e.g. Icarus http://iverilog.icarus.com/) but they are very old-fashioned in that what you learned will not be terribly applicable to industry.

    Since you're just learning, I highly, highly, highly recommend you implement your processor in an FPGA and don't worry about the ASIC part unless you really want to build (it will be extremely expensive). FPGA dev tools are good and orders-of-magnitude cheaper than ASIC tools (since the implementation space is more constrained in an FPGA). I also recommend starting with a GPL'd or public domain processor core (see, for example, opencores.org) Lattice Semi has a pretty good freeware core available but I forget the name (I haven't used it).

    The key to success in IC design is to take baby steps and don't bite off more than you can chew at one time.

    If you want to do analog design, start with LTspice http://www.linear.com/designtools/software/#LTspice and get started with advice and models from this truly outstanding free book: http://www.designinganalogchips.com/

    Don't worry yet about design tools for analog IC design. Eventually you will probably want to use something free like LASI (http://lasihomesite.com/) or Magic (http://opencircuitdesign.com/magic/index.html).

    If you're ambitious to really design a chip you could try something like this open-source flow from Open Circuit Design http://opencircuitdesign.com/

    Good luck!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook