Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Designing a chip.

  1. Nov 13, 2011 #1
    I'm somewhat confused on the nature of computer engineering. I'd like to know if it's worth my time to learn something.

    I want to be able to design a piece of digital hardware (this would be what I would need to learn, if it's worth it.) that I can program my own purpose in C or assembly. Although I don't know what all would be entailed, is there such a service that I would be able to send in my design, and they would be able to return a chip? Or, could I construct it somehow using homebrew techniques or from smaller submodules?

    I just want to know how much I'd advance myself by learning computer engineering things. I have a compen book I bought with intent on taking the next compen class, but from skimming lightly it appears to be just programming in assembly. Is this book worth my time, or should I get another one?

    The book is: Computer Organization and Design by Patterson and Hennessy. 4rd Ed.

    Note: I have an EE background, so things like discrete circuits, analog SP, DSP, E&M, and communications I'm all familiar with.
  2. jcsd
  3. Nov 13, 2011 #2


    User Avatar
    Gold Member

    Sounds like you want to design something that already exists. They're called CPU chips and they're going to be WAY cheaper than an ASIC chip that you have designed for your specific purpose.
  4. Nov 14, 2011 #3
    I'm not sure what exact end result you're looking for, but there are plenty of programmable chips out there. They range from relatively simple-to-use microcontrollers (e.g., http://www.microchip.com/" [Broken] (field-programmable gate array), and others (that I'm forgetting at this late hour.)
    Last edited by a moderator: May 5, 2017
  5. Nov 14, 2011 #4
    phinds - Wait a second. I haven't designed a chip at all. I simply want to know if learning computer engineering stuff is beneficial to making/designing a computing device.

    What's the difference between a CPU and an ASIC chip?

    I don't have a specific purpose yet, other than to program them.

    Price isn't really my concern. Information is. I'd like to know more about how to navigate chips that are all ready made. (I'm aware they all exist, but I'm lost as to the differences between all of them).

    Pantaz - from my limited compen knowledge, programming FPGA's are not the same as programming in C. one is like firmware, and one is totally software, yes? Other than what i just said, I don't know what you're telling me.

    SO...Whether it's cost effective or not, I want to be able to design something so that I know what's going on. From what you both seem to be telling me, Studying computer engineering (which i still don't know what really is) is a waste of time?
  6. Nov 14, 2011 #5


    User Avatar
    Gold Member

    CPU chips are general-purpose. "ASIC" stands for "Application Specific Integrated Circuit" and the name alone tells you it is not general purpose. CPU chips are sold by the zillions, ASICs generally have very small runs (even down to just dozens). That's what I was referring to in regards cost.

    How this discussion leads you to the conclusion that studying computer engineering is a waste of time is WAY beyond my ability to understand.
  7. Nov 14, 2011 #6


    User Avatar

    Patterson and Hennessy is definitely a standard text in computer engineering and I highly recommend it. It get's more and more advanced as the text progresses so stick with it. This book will sink a lot of time though. I probably spent a year with it in University, along with it's follow on. If you're studying this on your own, and during off time, probably Petzold's Code is a better option.

    At the beginning level your much better off doing any architecture investigations in a simulator. You'll learn just as much about the arch without all the hassle (and cost) of actually fabricating an IC. Even actually physically making a design in HDL is kind of a waste of time in my opinion. If you want to code a part in HDL, still just stick with the simulator. One can even get pretty ok power numbers in a simulator these days.

    There are many options for simulation and which option is best really depends on what your are trying to investigate. Google is your friend.

    As for how much it will "advance" you. Again, It depends on the end goal.
  8. Nov 14, 2011 #7
    OK Thank you both! Very much!
  9. Mar 29, 2012 #8
    I know this is an old thread, but I felt I had some insightful way of elaboration on my original question....

    Mainly, it involves a video from lecture 1 of the MIT 6.002 EECS class.

    For the first 12 minutes of this lecture, the professor gives an overview of the different "abstractions" of EECS from . But around 10:30, the professor says "There are not many other places in the world, where you will be educated..[] in everything going all the way from nature, to how to build very complex analog and digital systems"

    While I'm happy with my education (almost done with my BSEE), I'd like to fill in the gaps of my education on digital electronics or "abstractions" with self-study as I'm fairly versed in analog electronics at this point theoretically-speaking.

    Digital electronics I would like to revamp on include just about everything in the digital category, but I would like to focus on digital logic all the way up to microprocessors and how to program them.

    I'm looking for perhaps a particular topic and maybe even a book recommended that's suitable for self-study.

    Thanks again.
    Last edited by a moderator: Sep 25, 2014
  10. Mar 29, 2012 #9
    I *think* what you are wanting to do is either work with a CPLD or FPGA. There are some simple differences between the two but for learning with, the CPLD is generally much cheaper (due to lower gate count) and will allow you to learn a lot of the same things. To develop with these, you'll either need to learn VHDL or the Verilog language. These are both hardware description languages that allow you to do just that... describe your hardware. Once you've described your hardware with code or schematic, you can compile and the development package will 'place and route' your logic gates. This will basically turn the FPGA or CPLD into an inneficient ASIC. Now in the manufacturing world, once the prototype is developed using this FPGA/CPLD, the ASIC is manufactured and will be much smaller and much faster.

    You may want to check out Xinlinx website. They have many FPGA and CPLD development boards and offer a free version of their development package called ISEWebPack. The webpack offers you every feature of the paid version with some of their lower end development boards since they assume at that scale you are just using it for educational purposes.
  11. Mar 29, 2012 #10
    1) Digital Integrated Circuits by Jan M. Rabaey (Author), Anantha Chandrakasan (Author), Borivoje Nikolic (Author)
    2) cmos vlsi design by weste and harris
    3) Digital Logic And Computer Design By Morris Mano

    there are also other good books. But these will do as well.
  12. Mar 30, 2012 #11
    Also read
    CMOS digital integrated circuits: analysis and design by Sung-Mo Kang, Yusuf Leblebici
  13. Mar 31, 2012 #12
    My guess is that you want to learn how to program microcontrollers/microprocessors to build more advanced systems, like building a robot, designing a automatic lighting system, etc?
  14. Apr 2, 2012 #13
    Kind of... but I'm looking for a pretty deep understanding... well beyond... "being able to successfully write a little code"

    I'm kind of in a mode of academia since I'm still in school, where I study EE for the sake of studying EE so that I can be versatile in building various projects later. I don't have a particular project in mind at this point, however. So this could mean I study a few things that I don't necessarily need to know while in practice, but gets me very acquainted with how the systems work at a deep level.

    And kudos to Kholdstare for the book suggestions!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook