If you really want to engage in the chip design direction, it is recommended that you first find out what the chip design is, what the daily work is, and whether you like it.
Chip design can be roughly divided into three broad categories: digital, analog, and RF. If there is any connection between analog and RF, digital and analog basically work in completely different ways.
Since I'm in the digital direction, I can talk a little bit about the digital direction work. Digital chip design is mainly divided into several general directions: architecture modeling, front-end design, front-end verification and back-end.
Architecture modeling mainly uses C\/C or SystemC to model algorithms and architectures, which is used for amodel and fmodel of early software simulation and reference model of later verification. The basic knowledge you need to have is computer architecture, basic operating system, data structure and algorithm knowledge, as well as the domain knowledge of the chip you do, of course, this can be learned in later work, such as some protocol knowledge. If you have some chip hardware related knowledge is better, the real system architect must have a solid digital circuit hardware knowledge.
The front-end design mainly uses verilog\/vhdl language to describe the hardware. A good engineer should be well versed in the underlying principles of hardware, how code maps to hardware. The concept of Timing, etc., is basically the knowledge of microelectronics professional circuits.
Front-end verification mainly uses systemverilog\/uvm for verification work, and of course various scripts. Although this job does not require low hardware knowledge, it is actually more similar to software work. You need to understand the concept of OOP, most people are microelectronics and other related professional to do this, so many people actually do not have a good understanding of UVM and other frameworks, it is difficult to write better code. So if you look at this direction, you not only need to have a good hardware foundation, but also have a very good software literacy.
The back end, without much exposure, is basically a very solid hardware circuit foundation of various scripts, especially timing, and even device\/process knowledge (master). This direction should be the most suitable for microelectronics.
So, really want to do chip design, I guess you mean CPU, GPU this big chip, then you should want to be engaged in the digital direction. In fact, each of the four directions requires a very solid hardware circuit foundation, and some of them also require you to have very good software and system literacy.
Therefore, I suggest that you can choose the direction of microelectronics (it is best to go to the best schools, and need to attend graduate school) and self-study software courses.
But the most important question is do you really want to do chip design?