Recently, because of the project partnership, met the CEO of a software company, and his communication process, talk about a topic, that is now IC (Integrated circuit) Company hardware engineer and software engineer's ratio, he gives some big companies (such as Q, B etc chip fabless giants) number is 1:3, Thus concludes: The cost of software engineers is too large, IC companies should switch ideas, the software business outsourcing, reduce costs.
On this issue, I have no clear answer, whether it should be outsourced or not outsourced.
From a few angles to analyze:
1. Core technology: IC company's software engineers often need to participate in the chip design process, although the SOC design for these IC giants are now more transparent, but related to key core technology, I believe that all IC companies are reluctant to let an outsourced software company involved.
2. Engineer Professional Technical angle: IC Company's product variety, Cpu/core, CONNECTIVITY, audio, video, simulation, outsourcing software companies can only from the software level to look at the problem, but to involve each aspect of the more in-depth problems, not only know software, do not know the underlying system Engineers are competent.
3. Professional perspective at the software level: currently in the Mobile internet era, IOS, Android occupy the mainstream, Windows recently also in the free upgrade to promote win 10. are OS, but they are all programming models, for the underlying software engineer, the Windows driver architecture is migrating from WDM to WDF, and Linux is constantly being updated.
Similarly, whether it is Windows or Linux, it contains the framework of a variety of devices, such as the PCTV aspect, Windows is Avstream/bda, Linux for V4L/DVB, graphic aspects, the evolution of Windows from GDI to WDDM update, Linux drm/kms, and some devices need to synthesize all aspects of knowledge, for example, graphic in addition to graphic also need HDMI, DisplayPort, USB audio needs USB, audio, Linux Alsa and so on.
Believe there are other factors, leading IC company software outsourcing process is not smooth.
But this is not to say that outsourcing is not without the market, from the perspective of Market segmentation, IC Company's software Outsourcing services, often its pertinence, can only focus on one piece of business.
A recent project has been a process in which:
This project requires the transmission of video data
The first stage: As long as the video data changes, the full frame of the data sent, the problem is that in the high-speed link, it is possible, but in the low-speed link, will appear, not watching the video, but looking at the picture changes
The second stage: for the first stage of the low-speed link on the problem, only send data changes in the area of the data, the receiver after receiving the data of the changing area, and then combine it with the previous frame, all of the update area after the combination, on the one hand broadcast, on the other hand, the combination of good results, Need to be the front frame for the next data update
The third stage: The second phase of the receiver's change area with the front frame, and for the new regional changes to prepare the pre-frame, are processed by the CPU, the response speed is not ideal, changed to be processed by DMA
Stage four: Even if the use of DMA, or because the video data is too large, resulting in the frame rate will vary with the resolution, and the different areas of change, so, consider the change area with the front frame, and prepare the two work of the front frame, omit the work of the pre-frame, which leads to only one piece of memory, But the advantage is that it saves time and increases the frame rate
Fifth stage: Even if the preparation of the pre-frame work omitted, only use a piece of memory, the effect is not ideal, when considering the overlay function of hardware, although the hardware has the overlay function, but the effect is not ideal, so the stage of work can only be considered a tentative
Sixth stage: The problem is handled separately, high-speed link, the use of full frame, the receiver has omitted the change area and the former frame combined CPU/DMA processing time, the picture smooth, at the same time, also due to CPU/DMA load reduction, audio data also have time to deal with, The problem of audio data loss and noise is solved, and at low speed link, the method of pumping row is adopted to compensate the low speed link.
Seventh stage: Software compression and decompression
Eighth stage: hardware compression and decompression
IC company hardware engineer design, flow chip chip is not directly to the customer use, must have reference design, in this time is money of the times, customers want, you give the turnkey program does not need to change the energy production directly, the earlier mass production, the earlier to seize the market, a step to win, Step by step wins.
The importance of IC company software engineers is embodied in this era.
36th: The importance of IC company software engineer