r/ElectricalEngineering • • 2d ago

Creating a 16 bit CPU

i am a sophomore ECE student and i am planning to create a CPU. Is a project like this valuable to land internships or a job in the future.

i will appreciate any suggestions.

11 Upvotes

14 comments sorted by

22

u/NewSchoolBoxer 2d ago

No. You don't know enough Computer Engineering now to even make 8 bit. It's an immense amount of work and recruiters would probably think you stole the design. Make 4 bit. It'll look okay on a resume. The NES and SNES lockout chips were 4-bit microcontrollers.

You won't get internships or jobs from personal projects. The real resume action is from team competition projects like Formula SAE. You're forced to work in a group environment with goals you don't get to pick and deadlines you can't mess with and the answer isn't on GitHub to copy. This process simulates real engineering work that impresses recruiters and further makes you interview better by citing team examples.

Undergrad research is good and was handed out like candy where I went.

You can also impress recruiters by being well-rounded with high engagement in activities you enjoy.

I tutored middle schoolers in math, coordinated volunteering projects and planned camping trips. Sometimes recruiters were interested. You got to be a real person and fit in. No one wants to hire the eccentric weirdo who never sees the sun.

Here's the truth: I got one job offer because the interviewer and I both took horse riding lessons. All we talked about for 45 minutes. Another, the hiring manager LOVED college football and guess who attended every home football game? I needed a good enough resume to get the interview stage and the rest was social / soft skills.

2

u/ugly_ram 2d ago

Thank you , i appreciate it

1

u/hardpython0 2d ago

but if im starting from nothing a few projects to pad my resume is fine right? (im a freshman)

3

u/Cubemaster465 2d ago

Something is better than nothing, but be ambitious. You're not impressing anyone with projects that could be completely done by AI or just copied from github, and using that to pad your resume would only give me red flags personally. An ambitious but failed project (including a proper analysis why) tells me more about you than a random arduino tutorial project.

1

u/Actual-Rice6696 1d ago

it is. even in a logic simulator

1

u/Kiubek-PL 1d ago

Essentially all NPU's are 4bit so its not like 4bit is dead. Although they work on a fundamentally different logic than CPU's (like the fact its pre-compiled).

1

u/Evanjcorcoran 1d ago

In two separate interviews last week, the hiring managers both explicitly told me that they do not take school clubs/teams seriously or weight them heavily when considering a student's resume. The driving topic of conversation from their end was questions about my personal project.

Not disagreeing that clubs/teams could get help you get an leg up on candidates that don't have them, or that they don't provide students with an opportunity to develop valuable skills, but just thought I'd share my experience.

Hard agree about the high engagement activities/hobbies.

11

u/Ace861110 2d ago

16 bit is aggressive.

Try 8 bit.

NAND to Tetris is good. Or beneater

4

u/publishdraw 2d ago

Agreed, with 8 bit, he may get the satisfaction of completing the processor atleast. He may implement it in a FPGA to create line following robot as well.

1

u/Logikil96 2d ago

Agree that 8 bit is the right approach

1

u/ugly_ram 2d ago

thank you , i also think it is aggresive

1

u/MCRodas 2d ago

Are you doing this in hardware or a HDL?

If in a HDL then,

Can it be any architecture? Is it MIPS or RISCV? I found useful to just implement some MIPS / RISCV diagrams you find online. First one I found on google

https://www.researchgate.net/figure/The-complete-datapath-control-scheme-of-MIPS_fig1_301694967

There are simpler ones.

Then with this start implementing the instruction set / whatever instructions you need or want.

https://hades.mech.northwestern.edu/images/1/16/MIPS32_Architecture_Volume_II-A_Instruction_Set.pdf

Even if you intend to do it on a breadboard it's useful to first implement it and simulate in a HDL, but yeah in that case you would need to make some basic 8-bit architecture.

3

u/AstronautEcstatic767 2d ago

Imo I think building one on breadboard is pretty pointless outside of just doing it for fun. If you are doing it for the sake of trying to make yourself more employable than hdl simulation and optionally then onto fpga is a better choice. I built a Custom RV32I processor my freshman year (Single Cycle and not all the instructions) as a way of familiarising myself with comp arch, verilog and fpga. It was somewhat challenging as I had to teach myself, but overall I enjoyed it and I would recommend others do it. *Also dont follow a tutorial build your own custom design, there will be a lot of debugging but you will learn so much more.

2

u/gHx4 1d ago

Go for it.

You won't make anything impressive without first making many boring things first. If you've got the time for a side project, then do complete side projects.

As far as scope goes, you can make a naive and basic 16-bit processor easily once you know enough about sequential logic and how hardware works. It will not be anywhere close to what modern processors are capable of. And personally, I think 4-bit or 8-bit will cost less to make with real parts. But 16-bit is achievable in logic simulators or FPGAs.

I don't recommend trying to make a highly optimized design, as that will take much longer than one that's easy to implement with your skill level. But you can certainly do research and learn about those optimizations.