Live data from Hacker News

Can a Computer Science Student Be Taught to Design Hardware?

semiengineering.com

1–10 of 122 posts

Re: Can a Computer Science Student Be Taught to Design Hardware?

#2
The subheading to this article seems a little extreme: "To fill the talent gap, CS majors could be taught to design hardware, and the EE curriculum could be adapted or even shortened."

The article is more in the area of chip design and verification than PCB hardware, so I kinda understand where it's coming from.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#5
As a computer engineer I usually copy reference schematics and board layouts from datasheets the vendors offers. 95% of my hardware problems can be solved with it.

Learning KiCad took me a few evenings with YT videos (greetings to Phil!).

Soldering needs much more exercise. Soldering QFN with a stencil, paste and oven (or only pre-heater) can only be learned by failing many times.

Having a huge stock of good components (sorted nicely with PartsDB!) lowers the barrier for starting projects dramatically.

But as always: the better your gear gets - the more fun it becomes.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#6
Obviously. Hardware designers absolutely love to think that hardware design is totally different to software design and only they have the skills, but in reality it's barely diffetent. Stuff runs in parallel. You occasionally have to know about really hardware things like timing and metastability. But the venn diagram of hardware/software design skills is pretty much two identical circles.

The reason for the "talent shortage" (aka "talent more expensive than we'd like") is really just because hardware design is a niche field that most people a) don't need to do, b) can't access because almost all the tools are proprietary and c) can't afford, outside of tiny FPGAs.

If Intel or AMD ever release a CPU range that comes with an eFPGA as standard that's fully documented with free tooling then you'll suddenly see a lot more talent appear as if by magic.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#7
post #6

Obviously. Hardware designers absolutely love to think that hardware design is totally different to software design and only they have the skills, but in reality it's barely diffetent. Stuff runs in parallel. You occasionally have to know about really hardware things like timing and metastability. But the venn diagram of hardware/software design skills is pretty much two identical circles. The reason for the "talent…

> is really just because hardware design is a niche field

Which doesn't pay as well as jobs in software do, unfortunately.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#8
post #6

Obviously. Hardware designers absolutely love to think that hardware design is totally different to software design and only they have the skills, but in reality it's barely diffetent. Stuff runs in parallel. You occasionally have to know about really hardware things like timing and metastability. But the venn diagram of hardware/software design skills is pretty much two identical circles. The reason for the "talent…

In fact I'll go further - in my experience people with a software background make much better hardware designers than people with an EE background because they are aware of modern software best practices. Many hardware designers are happy to hack whatever together with duck tape and glue. As a result most of the hardware industry is decades behind the software industry in many ways, e.g. still relying on hacky Perl and TCL scripts to cobble things together.

The notable exceptions are:

* Formal verification, which is very widely used in hardware and barely used in software (not software's fault really - there are good reasons for it).

* What the software guys now call "deterministic system testing", which is just called "testing" in the hardware world because that's how it has always been done.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#9
post #7
post #6

Obviously. Hardware designers absolutely love to think that hardware design is totally different to software design and only they have the skills, but in reality it's barely diffetent. Stuff runs in parallel. You occasionally have to know about really hardware things like timing and metastability. But the venn diagram of hardware/software design skills is pretty much two identical circles. The reason for the "talent…

> is really just because hardware design is a niche field Which doesn't pay as well as jobs in software do, unfortunately.

Really? In my experience in the UK it pays ~20% better. We're talking about silicon hardware design. Not PCBs.

Re: Can a Computer Science Student Be Taught to Design Hardware?

#10
post #6

Obviously. Hardware designers absolutely love to think that hardware design is totally different to software design and only they have the skills, but in reality it's barely diffetent. Stuff runs in parallel. You occasionally have to know about really hardware things like timing and metastability. But the venn diagram of hardware/software design skills is pretty much two identical circles. The reason for the "talent…

> The reason for the "talent shortage" (aka "talent more expensive than we'd like") is really just because hardware design is a niche field that most people a) don't need to do, b) can't access because almost all the tools are proprietary and c) can't afford, outside of tiny FPGAs.

Mostly B. Even if you work in company that does both you'll rarely get a chance to touch the hardware as a software developer because all the EDA tools are seat-licensed, making it an expensive gamble to let someone who doesn't have domain experience take a crack at it. If you work at a verilog shop you can sneak in verilator, but the digital designers tend to push back in favor of vendor tools.

Post reply on HN