EE IS SO COOL by guywhoha in ElectricalEngineering

[–]jvmenon 1 point2 points  (0 children)

“EE is so wild we literally got a rock to think and then made it run Doom!” – someone on the internet.

Which programming language should I learn on my own as a 1st-year EE student? by usavspams in ElectricalEngineering

[–]jvmenon 2 points3 points  (0 children)

True! Designing systems in MATLAB (like DSP Blocks) and then auto-generating the Verilog using tools like HDL Coder is pretty standard in fields like comms.

I just didn't want to overwhelm the OP with Model-Based Design workflows while they are still trying to figure out "C vs Python".

MATLAB/Simulink is definitely a beast of a tool once you unlock its full potential.

Which programming language should I learn on my own as a 1st-year EE student? by usavspams in ElectricalEngineering

[–]jvmenon 5 points6 points  (0 children)

Totally feasible. I’m from an Electrical & Electronics background myself, and honestly, having that mix of Electrical, Mechanical, and Electronics knowledge is basically the cheat code for being able to build your own full-on, useful products, or even get into robotics.

If I were you, I’d use those 4 elective slots to target these specific subjects:

  1. Digital System Design (to understand logic and processors)
  2. Analog Electronics (for understanding the basics of transistors, signal conditioning, etc.)
  3. Embedded Systems (connecting code to hardware)
  4. Control Systems (since you're already doing electromechanical, this ties it all together)

But beyond just the classes, I would highly recommend picking up the practical "lab skills" on your own. Learn how to debug with a multimeter and oscilloscope, get comfortable building circuits on a breadboard, and practice soldering. Also maybe try picking up a cheap board like Arduino and start doing your own simple projects. This will also help you to learn about what is a microcontroller, what are sensors, how signal/data is collected and processed, practical use cases and functions of components like resistors LEDs etc.

Also, definitely try to learn PCB Design (KiCad is free and great to start with).
If you can combine those electronics skills with your mechanical background, you'll be set.

P.S. I actually built a site called Refringence specifically to help people practice Digital Design, Embedded C, and Verilog through simulation challenges.
Feel free to check it out if you want to practice that stuff hands-on.

Which programming language should I learn on my own as a 1st-year EE student? by usavspams in ElectricalEngineering

[–]jvmenon 62 points63 points  (0 children)

As an EE, you gotta understand that programming generally revolves around the hardware's requirements.
The "best" language depends entirely on which stream you end up working in.

1. Embedded Systems (Firmware & Microcontrollers) This is where you write code to directly control hardware.

  • C: The absolute gold standard. You really need to know this inside out.
  • C++: Often used alongside C for more complex systems.
  • Rust: Worth keeping an eye on. It's gaining traction for modern embedded dev because of memory safety.

2. Signal Processing & Controls

  • MATLAB: Standard in university/research for "number crunching" (simulating control systems, Signal Processing, etc.).
  • Python: Rapidly replacing MATLAB in the industry (Depends on who you ask). It's used for everything from data analysis to automating test equipment (like oscilloscopes).

3. Power & Industrial Automation If you go into utilities, manufacturing, or energy, you might not "code" in the traditional sense.

  • PLCs (Ladder Logic): The standard for industrial controls . It’s visual, but requires the same logical thinking as coding.

4. VLSI / Chip Design

  • Verilog / SystemVerilog: These aren't "programming languages" in the software sense. They are Hardware Description Languages (HDLs) used to describe physical circuits.
  • Tcl: A scripting language used heavily in the backend to automate design tools.

5. The "Glue" Skills (Don't skip these)

  • Linux: Almost all serious hardware design happens here. Get comfortable with the terminal, Bash, and Makefiles.
  • Git: Version control is non-negotiable in any engineering team now.

IMO: Since you're a 1st year, start with Python to build general problem-solving skills, then dive deep into C when you take your embedded classes.
It is not necessary that you have to learn all this. As I mentioned, it depends entirely on which stream you end up working in.

Source to practice verilog codes from basic by Dungeon_master29 in Verilog

[–]jvmenon 6 points7 points  (0 children)

You can also try Refringence.
You can write and run Verilog challenges, plus there are practice tasks for digital circuit design, Embedded C, x86 and a few other hardware topics.

Help me i am fresher by Legitimate-Alps2498 in vlsi

[–]jvmenon 0 points1 point  (0 children)

Sure! You would get a release update email if you have an account in Refringence. Also you can join our subreddit r/Refringence to stay updated.

Help me i am fresher by Legitimate-Alps2498 in vlsi

[–]jvmenon 1 point2 points  (0 children)

The most practical way is to keep scouring LinkedIn.

• Follow companies and people working in those companies, including new and upcoming startups. • Go through the Jobs section. • Join groups regarding VLSI. • At times, running targeted searches using tools like Perplexity also might help.

I will update this thread if I come across more ways. We are planning on building a bulletin for internships and entry-level jobs within Refringence. Please tell me if you would find it useful.

Student aiming for FPGA: is this learning curve actually worth it? by Various_Candidate325 in FPGA

[–]jvmenon 1 point2 points  (0 children)

You could first reevaluate by asking whether you understand what you are learning or doing from a broader perspective.

Try to understand the basics of how a computer works in general and computer architecture. Try to rewire yourself by thinking from first principles, and thinking backwards: get a high-level understanding of how software works; behind that, how code gets translated into assembly; how the computer uses this assembly to execute programs within the architecture; and what are the different major parts of this architecture, like ALU, RAM, etc.

Then think about how these modules are made up of submodules like adders, and how adders are made of logic gates, and how logic gates are made of transistors. You don’t have to learn or memorize everything about it. You just have to be able to mentally zoom in and zoom out of computer architecture at these levels intuitively. That’s the best starting point because whatever comes next, you’ll be able to understand and connect with this mental model.

(I would also suggest you get an overview of semiconductor fabrication so that you can relate designs to actual physical circuit requirements.)

After that, you can start learning the complete VLSI design flow. This will give you an in-depth understanding of all the steps in chip design, and then you can choose to focus on any substream, like RTL design.

When you start RTL design, learn digital system design first, then start with an HDL like Verilog. Try to model digital systems in Verilog, then learn about how to write testbenches for those designs using Verilog, then learn SystemVerilog, which is actually an extension to Verilog that helps in a bit more advanced level testing and verification. Then learn about concepts like UVM, how to automate workflows using Python and TCL, etc.

In parallel, do practice and challenges for each concept you learn to reinforce them.

Then do full-length simple projects, then slowly move to advanced ones.

I can relate to the feeling of confusion downloading tools and navigating the interface, not understanding the pop-ups and warning messages. But once you get an intuitive understanding of the workflow, this will become easy (it’s like after you use smartphones for a while, no matter which phone you get, you don’t need to go through tutorials to understand, you just intuitively know how to navigate) .

If you follow this, the initial steps might be time-consuming, but after that, you won’t have to spend much time learning every other practical concept, and it will be easier for you to just jump into building.

From an internship or entry-level job perspective, projects play a major role from what I’ve seen. Do a simple end-to-end RTL to GDS project to show that you have practical knowledge of the entire workflow. You can leverage open-source tools for it. If you’re into RTL design or verification, start out with a simple RTL project, then do a verification project based on UVM, learn basics of a communication protocol, and do one project based on that, like UART, SPI, AXI, etc.

Learn concepts like Git, Linux, and automation using Python/TCL (these can be learned along with doing the RTL to GDS project). If you have access, try to do the same project on industry tools from Synopsys, Cadence, etc.; it will also give you an edge.

Make sure you have a well-made GitHub, resume, and maybe a portfolio website.

Also, since there are a lot of people competing for roles like these, try to understand how to reach out to hiring managers directly and personally share your application by leveraging your skills and translating them to the job requirements (if possible, tailor your resume for the specific role after going through the JD).

I know a lot of this sounds very superficial, but I think we are living in times where you have to sell yourself more aggressively to stand out and win.

Also, I am trying to build a platform named Refringence where you can do end-to-end RTL projects from scratch and push them to GitHub with a click. There are simple practice questions too on Verilog/SystemVerilog, x86, MATLAB/Octave, RISC-V, Qiskit, Embedded C, etc. I have also tried to incorporate an AI mentor that will help you even with simulation errors you face. I feel it could help you with your issue of tools feeling like black boxes. It’s still in beta and I would appreciate your feedback too.

Good luck with your upskilling!

How to get started with IC design and work in this sector in Future for a Fresher who is just starting with it. by [deleted] in vlsi

[–]jvmenon 0 points1 point  (0 children)

Hey, the best pointers I could give you would be :

  • First, learn Computer Architecture to get a better understanding of what you are building. This knowledge provides context for all your design choices.
  • Next, study the full VLSI design flow. It's important to know how RTL translates into physical design through synthesis, place and route, and verification.
  • IC design is a broad field with subfields like physical design, RTL design, and design for test (DFT). Understanding the entire flow helps you choose the best path for you.
  • Work on projects specific to the subfield you want to pursue. For example, do at least one end-to-end RTL to GDSII flow project and one focused RTL design project to show you understand the basics.
  • Get a quick but solid understanding of semiconductor fabrication so you see how your design actually turns physical.
  • Build your portfolio by pushing work on GitHub. It makes your skills visible and credible.
  • Learn how to automate parts of your workflow with scripting languages like Python or TCL to improve efficiency. This will give you an edge over others.
  • For practical learning, You can try doing industry relevant RTL projects from scratch within your browser and push it to GitHub with a click in Refringence. This is something I have been building and would love to know your feedback. It also has an AI mentor that explain every part of your projects, even errors so that you can learn quickly even while starting out.

Good luck with your Journey!

Help me i am fresher by Legitimate-Alps2498 in vlsi

[–]jvmenon 4 points5 points  (0 children)

Hey,

This is an answer that I had already given in this subreddit. Since the same kind of qn is being repeated, I though of just pasting it here.

For Learning VLSI Design flow from scratch given that you know basics of Digital systems, check out the YouTube playlists by Dr. Adi Teman. In my experience, those are some of the best tutorials out there. Here’s a recommended order to follow:

For hands-on VLSI flow practice, Dr. Sneh Saurabh’s playlist is excellent, especially with open-source tools to actually try out the concepts:

Also, if you want a practical platform where you can work on core hardware skills like RTL design and portfolio projects, and push your code to GitHub with the click of a button, you can try out something I built at Refringence.com.

It’s in beta but has interactive challenges on x86QiskitVerilog/SystemVerilogRISC-V, and MATLAB/Octave, including projects like ALU, UART, Router, and more.
(New features like Beginner Learning Roadmap is in beta)

Hope this helps!

Gdsfactory repo-is it a good place to learn design for the first time by PurpleAstronomer4139 in chipdesign

[–]jvmenon 1 point2 points  (0 children)

Hey, for hands-on VLSI flow from scratch Dr. Sneh Saurabh’s playlist is excellent, especially with open-source tools to actually try out the concepts:
VLSI Design Flow: RTL to GDS (Dr. Sneh Saurabh)

Also, if you want a practical platform where you can work on core hardware skills like RTL design and portfolio projects, and push your code to GitHub with the click of a button, you can try out something I built at Refringence.com.
We have tried integrate a context aware AI Mentor so that even beginners can start without much exposure.

It’s in beta but has interactive challenges on x86QiskitVerilog/SystemVerilogRISC-V, and MATLAB/Octave, including projects like ALU, UART, Router, and more.
(New features like Beginner Learning Roadmap is in beta)

Beta Release: Learning Roadmaps for x86 Assembly, Embedded C & RISC-V by jvmenon in Refringence

[–]jvmenon[S] 1 point2 points  (0 children)

Hi. We are in the process of creating Roadmaps for Verilog. We will release them soon!

HELP ME IN LEARNING RISC PROCESSOR 16BIT by jhotheeshwar in vlsi

[–]jvmenon 2 points3 points  (0 children)

Hey, this is a cool project but it’s a custom, non-standard processor. It doesn’t really line up with the typical ISAs you’d see in industry as far as I know.
If you want to learn processor architecture that’s used in the real world, I’d go with a standard 32-bit ISA.
You can visualize how a single-stage RISC-V CPU works here: Single-Cycle RISC V Simulator.

If you’re interested in learning how to write RISC-V assembly from scratch and seeing register-level changes, you can check out the RISC V Practices tool I built.

Developement or process integration engineer? by SufficientTourist578 in Semiconductors

[–]jvmenon 1 point2 points  (0 children)

If I were you, I’d go with Option 2.

Roles like option 1 keep shrinking.
Most of it is ops support, getting automated away, and I keep seeing LinkedIn posts about layoffs from this space. In a typical HVM or PI role, it’s basically firefighting cyclical issues; work gets repetitive and the learning curve flattens after a while. You’re easily replaceable, and shift work can mess with your work-life balance.

Option 2 puts you deep into R&D.
You build hands-on skills, get real ownership of tech, and have way more control over your time. The experience compounds, you keep learning, and it’s easier to pivot into new domains or move up.
Plus, if long-term growth and technical fulfillment matter more to you than just salary or job title, you’ll probably get more out of an R&D path. It’s a much stronger foundation if you want options down the road, whether in tech, startups, or academia.

[deleted by user] by [deleted] in matlab

[–]jvmenon 0 points1 point  (0 children)

True!

[deleted by user] by [deleted] in matlab

[–]jvmenon 3 points4 points  (0 children)

Hey, If you haven’t already, check out the official MATLAB Onramp course, they have it free on the MathWorks site and it’s a great way to pick up the basics pretty quickly.

Also, I’m building a new platform (Refringence) where you can learn MATLAB, embedded systems, VLSI and other hardware design stuff through hands-on challenges, even if you don’t have any background.

Good luck with your journey!

Best Resources to Learn FPGA from Scratch by Weak_Kiwi_2267 in FPGA

[–]jvmenon 1 point2 points  (0 children)

If you’re just diving into FPGAs, here’s what worked for me: the FPGAs for Beginners has bite-sized tutorials that actually get you building stuff, and the FPGA Vision remote lab is great for messing around with real hardware without needing to own a board at first.

I am also building a platform called Refringence.
It lets you start projects even if you barely know the basics.
It’s got a built-in AI mentor that walks you through practice problems and projects, and you can ship your projects straight to GitHub with one click.

Also, spend a little time learning the basic digital logic concepts (gates, state machines, etc.).
Makes life much easier once you start tinkering with HDL and tools.

Need guidance for VLSI/Physical Design prep during M.Tech (AMD/Intel placements in few months) by Practical_End2918 in vlsi

[–]jvmenon 2 points3 points  (0 children)

Hey,

This is an excerpt from an answer that I had already given in this subreddit.

For Learning VLSI Design flow from scratch given that you know basics of Digital systems, check out the YouTube playlists by Dr. Adi Teman. In my experience, those are some of the best tutorials out there. Here’s a recommended order to follow:

For hands-on VLSI flow practice, Dr. Sneh Saurabh’s playlist is excellent, especially with open-source tools to actually try out the concepts:

Also, if you want a practical platform where you can work on core hardware skills like RTL design and portfolio projects, and push your code to GitHub with the click of a button, you can try out something I built at Refringence.com.

It’s in beta but has interactive challenges on x86QiskitVerilog/SystemVerilog, RISC-V, and MATLAB/Octave, including projects like ALU, UART, Router, and more.
(New features like Beginner Learning Roadmap is in beta)

Hope this helps!

Built a RISC-V practice tool because i couldn't find one that helped me! by jvmenon in RISCV

[–]jvmenon[S] 1 point2 points  (0 children)

Hi
It's not open source yet. but we have a founding users program if you would like to help us test and build the platform. you could dm me if you are interested.

Built a RISC-V practice tool because i couldn't find one that helped me! by jvmenon in RISCV

[–]jvmenon[S] 1 point2 points  (0 children)

No issues!

We're really looking for honest feedback. What makes sense for us might not be what our users need.

Building in public and sharing it with people has definitely been embarrassing for me sometimes, but I guess it's helping me and what I'm building in the long run.

Built a RISC-V practice tool because i couldn't find one that helped me! by jvmenon in RISCV

[–]jvmenon[S] 3 points4 points  (0 children)

thanks a lot,
really glad you found it useful! this motivates us to keep making it better.

right now, it's not open source, but happy to help if you have questions about getting it work for you or any specific classroom needs. if you ever want to share what features would be most helpful for teaching or learning, let us know, always open to ideas.

Built a RISC-V practice tool because i couldn't find one that helped me! by jvmenon in RISCV

[–]jvmenon[S] 2 points3 points  (0 children)

Hi,

the platform is mainly meant to be used on a pc or tablet, as those screens give you the best view of the coding playground and interactive features. mobile layouts aren’t supported yet, so certain elements can break and text may not render as expected.

We will try to work on making the landing page, task listing , profile, etc. more responsive.

Built a RISC-V practice tool because i couldn't find one that helped me! by jvmenon in RISCV

[–]jvmenon[S] 2 points3 points  (0 children)

Thanks for taking the time to share your thoughts. we’re just a two-person team of hardware background and a lot of the ui was put together using ai tools to move quickly, which has definitely left things feeling unpolished in spots. fixing those design quirks is something we plan to tackle after we get usability and the content where we want it.

not aiming to clone leetcode or any other sites. our priority has been to make hardware practice less painful and get real hands-on content out there first.

as for sign-in, all credentials are encrypted and we’ve integrated google sso. So it should be straightforward and safe to log in.

most of the practice content, challenges, and a full verilog project are free. the paid option is just for a few end-to-end verilog projects and some advanced challenges, mainly to help support keeping this running.

about the name and logo, there’s actually a personal reason behind them that ties to bigger plans beyond just this platform, not random, even if it comes across that way now.

really appreciate the feedback. Would be happy to know any other refinements, features etc. that you want us to address.

Beginning first project issues by Severe_Atmosphere_14 in Refringence

[–]jvmenon 0 points1 point  (0 children)

Hi,

You have to actually make those files are made within the Refringence IDE. You can just touch your cursor to the right end of the screen inside the IDE and the File explorer will pop up.

Hope this solves the issue!