Author Topic: Hardware design  (Read 16632 times)

0 Members and 1 Guest are viewing this topic.

Offline CujoTopic starter

  • Contributor
  • Posts: 43
  • Country: au
Hardware design
« on: April 28, 2017, 03:52:41 am »
Which one designs the architecture of CPU or GPU and other hardware/integrated circuit,computer engineer or electrical engineer or electronics engineer?
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #1 on: April 28, 2017, 04:19:54 am »
A team of people does. There is nothing a single person can do for a modern GPU or CPU.

Architecture is probably mostly done by CS/EE, coding by whoever feels like coding.
Alex
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #2 on: April 28, 2017, 04:39:14 am »
Plenty of people have written 32 bit CPU cores and there are various simple GPUs, VGA adapters and so on out there.
So did I,  but it is hardly "modern". You don't need to be EE or CS to play with FPGAs.

Look at the OpenRisc core or the LEON core or the SI-FIVE architecture (and some of its HDL implementations).
There are many others... AMBER etc.  Some are basically single person efforts.
None of the thing here are a single person effort. And projects like this are in a constant state of "almost done". SiFive is obviously closest, but it is far cry from anything really modern, as far as implementations go.

Alex
 

Offline Brumby

  • Supporter
  • ****
  • Posts: 12297
  • Country: au
Re: Hardware design
« Reply #3 on: April 28, 2017, 04:57:06 am »
To have a chance of answering the original question properly, IMO you need to start off with these two questions:

1. Where are your thoughts placed on a time line?  Today?  Over the next year?  Over the last 5 years?
2. Where are your thoughts placed on the complexity scale?  Are we talking about an audio amplifier, a CPU or an advanced ASIC for the next generation of smartphone?

It's much like asking us over the phone "Who built the structure I'm standing next to?".  Without some reference points, we don't know whether you are talking about an adobe hut or the Burj Khalifa.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #4 on: April 28, 2017, 05:31:59 am »
Thanks but your are going though the software point of view i mean physical hardware design of motherboards to microscopic chips
Again, too wide of a target. I will tell you who designs computers, if you tell me who designs cars.

I know you need to still know programming like C but i what to design computer hardware
CPUs and other ICs are described in a hardware description language (VHDL or Verilog mostly). Boards are designed in EDAs. Mechanical parts are designed in CADs.

All of those things are done by different people. Which part you want to do specifically? For a broad knowledge on the subject, all of this is close to EE than CS. But EE alone won't get you a job doing most of this.

Also, I don't see anyone in this thread mentioning programming at all.
« Last Edit: April 28, 2017, 05:36:01 am by ataradov »
Alex
 

Offline Brumby

  • Supporter
  • ****
  • Posts: 12297
  • Country: au
Re: Hardware design
« Reply #5 on: April 28, 2017, 05:49:43 am »
All of those things are done by different people.

This is a statement that can be applied to more and more situations in today's world - and it will only become more so in future years.

As products become more complex and sophisticated, designers have had to become more specialised - which means you will end up with several "specialists" involved in an overall product design.

Take the mobile phone for example.  We started out with the "brick" which one person had a chance of designing - but now we have smart phones with so many features, it's not funny.  To get the best product, you are going to have someone who can design a camera system and another for the RF section.  The camera designer won't have any idea on how to do an RF design to the level of sophistication required and neither will the RF designer be able to throw together a whiz-bang camera.

The level of expertise required for timely product development is just too high for any one person (or even 2 or 3 if you are talking about things like smart phones).
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #6 on: April 28, 2017, 05:52:29 am »
Well mechanical engineers design the engine.[I will tell you who designs computers, if you tell me who designs cars.
So EEs design electrical circuit for the boards. MEs and layout engineers make actual board happen. But in many cases your mechanical design is set by the industry standards, so again, a lot of other people worked hard, so you don't have to.

Well i just what to design integrated circuits many  for Intel,nvidia,gigabyte and all sorts of computer circuitry company     
Gigabyte does not make ICs. Designing boards and designing ICs are two completely different areas. They don't intersect, and people that can do one, rarely can do the other (on a truly professional level, of course).
« Last Edit: April 28, 2017, 05:54:29 am by ataradov »
Alex
 

Offline Brumby

  • Supporter
  • ****
  • Posts: 12297
  • Country: au
Re: Hardware design
« Reply #7 on: April 28, 2017, 05:53:36 am »
Well mechanical engineers design the engine.[I will tell you who designs computers, if you tell me who designs cars.
]

Well i just what to design integrated circuits many  for Intel,nvidia,gigabyte and all sorts of computer circuitry company   

You have just listed a span of expertise is rather broader than you might think.

I leave it to those with greater authority than I to comment further.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #8 on: April 28, 2017, 05:57:44 am »
And in addition to all that, if you want to design processors, you will have to know how programming works. Modern processors are heavily optimized for specific compiler behavior, and the other way around too.

By designing in a vacuum , you risk inventing something, that may be super efficient, if you manually code stuff in assembly, but falls apart when you try to make a C compiler for it. All sorts of VLIW architectures are a great example of that.
Alex
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #9 on: April 28, 2017, 06:03:56 am »
Just say if i had an masters degree in theses professions computer engineer,electrical engineer,electronics engineer 
If you specialize in IC design, then sure, why not?

Depending on what level you start, you may get away with only BS and grow within the company. Straight out of the university it will be tough anyway.
Alex
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #10 on: April 28, 2017, 06:09:26 am »
computer engineer or electrical engineer or electronics engineer?
Those are not courses, those are fields of engineering. The closest field would be EE. You want to take IC design courses. Basically anything that involves VHDL and/or Verilog, and possibly IC manufacturing processes.

But there is no reason to wait for the university. FPGA boards are really cheap nowdays, and tools are free. Just get one and try doing something, and you will quickly figure out if this is something you really want to do.
« Last Edit: April 28, 2017, 06:11:16 am by ataradov »
Alex
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Hardware design
« Reply #11 on: April 28, 2017, 09:13:19 am »
Thanks that's what i wanted to do but which coarse should i take. computer engineer or electrical engineer or electronics engineer?
Definitely do an Electronics Engineering course, but in Australia it is called an Electrical Engineering degree. You just specialize in electronics subjects. Even if you want to specialize on digital design, you will definitely want to do courses on analog design and semiconductor theory. Perhaps topics such as filter design.

But as suggested above, your life will be much easier if you already have a head start in FPGA's and VHDL.

I have just started learning this stuff in just the last few weeks. I think this $18 board is the perfect learning board:

http://www.ebay.com.au/itm/ALTERA-FPGA-CycloneII-EP2C5T144-Learning-Board-Mini-System-Development-Board-New-/132061037323

and you need an Altera Blaster clone to do the programming

http://www.ebay.com.au/itm/Altera-Mini-Usb-Blaster-Cable-For-CPLD-FPGA-NIOS-JTAG-Altera-Programmer-AU-NEW-/302296141045

and also you need the free Altera Quartus 13.0.1 (the last version to support this chip). A cheap logic analyser and perhaps an oscilloscope would be great - particularly to help your learning.

This board is great because it is cheap, it has a great form factor to build into projects and because it doesn't have lots of rubbish attached - like buttons, LCD screens, peripheral chips, etc. That suits me perfectly.

Even though it is an old device, it is a very powerful FPGA and easily good enough to learn about FPGA's and VHDL.

I thought I would be using the graphical window to get started but I only use that for the top level. I was surprised to find that I think the VHDL is fabulous for implementing the guts of the logic.

Richard
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #12 on: April 28, 2017, 03:45:55 pm »
And I would recommend Altera DE0 board by Terasic. It is more expensive at $119, but it includes a programmer, and a lot of peripherals, which are handy when learning. It was designed for educational market, so you have lots of example projects available all over the place.
Alex
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: Hardware design
« Reply #13 on: April 28, 2017, 04:26:25 pm »
Something like the Altera DE0 board you mentioned probably works for most people. For me, I like to learn by building something I want to make, and so I like a board that is cheap, has almost all the pins available, has all the pins accessible to a scope or logic analyser, and can be permanently built into a project.

If I was doing a course, I am sure I would be using one of the feature rich development boards and I would probably be bored.

Not disagreeing with you at all. Just saying there are different options for different people.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #14 on: April 29, 2017, 06:53:55 am »
This is the the stuff i wanna design.
Nobody does this manually, so you will be writing stuff in HDL, but yes, it is possible.

"Design" is a loaded term in this case. Do you want to create architectures, or actual implementations? Those two do not intersect in most cases, and they require totally different skill sets.
« Last Edit: April 29, 2017, 06:56:18 am by ataradov »
Alex
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37730
  • Country: au
    • EEVblog
Re: Hardware design
« Reply #15 on: April 29, 2017, 06:57:15 am »
Just say if i had an masters degree in theses professions computer engineer,electrical engineer,electronics engineer would i get an job designing integrated circuits in this list https://en.wikipedia.org/wiki/List_of_integrated_circuit_manufacturers

Not likely unless your masters degree was in IC design or some aspect of it.
Most basic degrees do not ouch on IC design at all, unless you had a specific elective available for that (and many schools don't).
For Australia, you'd probably want to go to UNSW if you wanted to get into IC design.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37730
  • Country: au
    • EEVblog
Re: Hardware design
« Reply #16 on: April 29, 2017, 06:58:58 am »
I know electronic engineering is an sub filed of electrical engineering but computer engineering has IC architecture in the course.But electronic engineering you still do some architecture.   

Depends entirely upon the school.
No two engineering degrees are the same, nor are the electives available.
 
The following users thanked this post: Cujo

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37730
  • Country: au
    • EEVblog
Re: Hardware design
« Reply #17 on: April 29, 2017, 07:01:09 am »
Well i just what to design integrated circuits many  for Intel,nvidia,gigabyte and all sorts of computer circuitry company   

You basically won't be. Even if you got a job there you'll almost certainly only be in one narrow spectrum of the design.
e.g. A graduate might be just writing test benches year in year out.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8637
  • Country: gb
Re: Hardware design
« Reply #18 on: April 29, 2017, 12:23:40 pm »
This is the the stuff i wanna design.  http://www.visual6502.org/JSSim/index.html
Think through how many different kinds of expertise come together to make a successful chip design. Many of the ones which were important when the 6502 was designed don't even exist today. Those tasks have been automated, and more will be automated over your career. What interests you? Architecting at a high level is probably a skill which will last. Detailed analogue design, which is important even in predominantly digital devices, requires a depth of understanding and creativity that will probably stop it being completely automated for quite a while. The nuts and bolts of the digital implementation work has mostly succumbed to automation already, so the first level up the stack where there are roles to play for designers is writing VHDL or verilog code. Anything below that is the domain of the chemists and physicists developing process technology, which his largely isolated from IC design work.
 
The following users thanked this post: Cujo

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #19 on: April 29, 2017, 05:25:50 pm »
architecture designing the ALU in CPU'S or designing 7400 chips

One more time, you need to clarify what do you mean by "design". Different interpretations  will lead to a two very different career  paths.

All 7400 chips are designed by now, there is nothing else to do.

And no one designs just ALU anymore, people design entire systems.

If you want to design CPU cores, then you need to look at ARM and likes, not the companies on the list. At those companies you will be looking at integrating parts, and designing peripherals, like Timer/Counters, or USARTs.

And as Dave mentioned, this would be after years of working experience. Before that you will be writing endless test benches.

A better (but less glorious) path is to be an expert in certain area, and be familiar with hardware design to be able to design specialized peripherals. More and more companies want to differentiate their product by putting unique peripherals, like motor control, or capacitive touch control. Knowing about things and being able to formulate what you would want from such a peripheral is a winning ticket.
« Last Edit: April 29, 2017, 05:29:33 pm by ataradov »
Alex
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #20 on: April 30, 2017, 05:23:41 am »
What do you mean by to different path ways ?
Figuring out how things should be architected to perform the function, and figuring out out how to implement already architected things into gates, are two very different things.

If you want to design new CPU architectures, then you won't be making things on the die, you will be figuring out necessary instruction sets, register sets, pipelines, etc. This has noting to do with the actual IC design. Your output here is a document for an implementer.

If you want to implement thing on the die, you will likely have noting to do with the architecture. You will be given a document produced by a previous team, and you will have to implement it as stated. There is very little high level creativity in that.

And in a modern world, those things are performed by different companies. At least for MCUs. Simpler logic devices get designed and implemented in-house.

All that is assuming that you can actually find a job doing any this, they are quite rare. There is basically zero demand for new cores. ARM takes the cake, and your best bet is to get a job designing peripherals.

Or get a job at ARM, I guess :)
« Last Edit: April 30, 2017, 05:26:16 am by ataradov »
Alex
 

Offline julian1

  • Frequent Contributor
  • **
  • Posts: 731
  • Country: au
Re: Hardware design
« Reply #21 on: April 30, 2017, 01:09:32 pm »
Quote
Thanks i got it now but one more question what would this come under: http://www.buthowdoitknow.com/but_how_do_it_know_cpu_model.html
its an cpu simulation

This is a high-level symbolic view of a cpu. Here is what a cpu looks like when written in a "hardware description" language,

https://github.com/cliffordwolf/picorv32/blob/master/picorv32.v

In this case it's for the risc-v cpu, and the language is Verilog. It would be possible to take the code and 'synthesize' it into logic that can be placed on a chip.

Languages for describing hardware - like Verilog, are quite different to software languages - like javascript, python or c++. They are more low-level and everything happens in parallel.

For example, this is what the instruction decoding looks like, https://github.com/cliffordwolf/picorv32/blob/master/picorv32.v#L678

You might recognize some of the branch instructions - eg beq - branch if equal. Also add, sub, or, and instructions are below that.

This guy talks a bit about how logic can be written in verilog,

https://youtu.be/vVYOV9MP5BA?t=34s
 
The following users thanked this post: Cujo

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11236
  • Country: us
    • Personal site
Re: Hardware design
« Reply #22 on: April 30, 2017, 05:58:36 pm »
Thanks i got it now but one more question what would this come under
This would be having fun and playing games. This has noting to do with actual paying jobs.

That PicoRV32 is a good example of what you actually will be creating as part of an IC design job.
« Last Edit: April 30, 2017, 06:04:33 pm by ataradov »
Alex
 
The following users thanked this post: Cujo

Offline ar__systems

  • Frequent Contributor
  • **
  • Posts: 516
  • Country: ca
Re: Hardware design
« Reply #23 on: May 06, 2017, 01:31:16 pm »
Sure if you want to create and verify and target for implementation on a modern ~20nm IC process a CPU that could compete with ARM-A or Intel-i7 or the latest NVIDIA / AMD GPUs then you will be spending millions of dollars and several person-years of team development time. 

You are off by 3 orders of magnitude. i7 level project is over 1000 person*years of work. (Former intel employee here)
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8637
  • Country: gb
Re: Hardware design
« Reply #24 on: May 06, 2017, 01:43:57 pm »
Sure if you want to create and verify and target for implementation on a modern ~20nm IC process a CPU that could compete with ARM-A or Intel-i7 or the latest NVIDIA / AMD GPUs then you will be spending millions of dollars and several person-years of team development time. 

You are off by 3 orders of magnitude. i7 level project is over 1000 person*years of work. (Former intel employee here)
A few million dollars and several person years is even on the low side for the simple integration of well proven modules into an ARM SoC.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8637
  • Country: gb
Re: Hardware design
« Reply #25 on: May 11, 2017, 11:02:32 am »
Would the be pipelining design or integrated circuit design in this CPU?



I doubt this is a CPU, but the look of it means it was almost certainly a synthesised layout, with very little human involvement. When you say "pipelining" are you referring the the design pipeline, or a pipelined architecture processor? As we don't even know if there are processors in the device its hard to say anything about the architecture. However, almost all modern processors use some form of pipelining, even if its something as simple as overlapping accesses to slow flash memory. If you are referring to the design pipeline, then what aspect of this are you interested in?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf