Learning by Using OpenGL (first part)

Source: Internet
Author: User

 

[Disclaimer: All Rights Reserved. You are welcome to reprint it. Do not use it for commercial purposes. Contact Email: feixiaoxing @ 163.com]

 

Since I joined Suzhou, my blog writing frequency has been significantly reduced. This is not because you have nothing to say, but because there are too many things to learn and master. I used to work in a communication company in China, mainly working in operating systems, drivers and protocols. However, when we came to the current chip company, we found that we still need to know more about the underlying layer. For me, the more underlying and detailed the content, the more I am interested in it. However, it takes a long process to understand the application. As for how long it takes, it depends on your individual efforts and talent.

 

As early as in my previous blog, I mentioned that the current division of labor in the chip industry is very meticulous. Chip design companies are currently dominant in the entire chip industry chain. The chip is generally divided into two aspects: front-end design and back-end design. The former is mainly the design of chip functions, while the latter is more focused on the implementation and optimization of the physical layer. For example, the design chip is like a circuit schematic, while the back-end implementation is similar to the PCB wiring. Currently, I am more interested in the front-end design.

 

We all know that there are many open source software on the Internet. From the operating system, compiler, database, Web server, and so on, all kinds of software have their open source versions, the functionality and stability are another thing. However, we are not quite clear about the open-source version of chip design. Currently, the well-known open source IP address is opencore. You can download many IP core resources from the opencores.org website. Common IP core, such as openproteus, UART, gpio, 8051, and so on, can be found above. If you are interested, you can download it. I forgot to mention that the front-end design of the chip is mostly completed by advanced EDA tools. All the designers need to do is to use the hardware description language to meet users' needs. Commonly used hardware languages include OpenGL and VHDL. simulation tools are generally Modelsim and Synopsys.

 

If you do not need to put your own IP Core on FPGA for verification, you do not need to use the Quartus or ise tools. Because it is more than enough for designers to use Modelsim for simulation, at least for me. Of course, the hardware description language is a little different from our traditional software programming language. For hardware engineers, these languages are only used to describe circuits and improve work efficiency. Essentially, all languages exist to generate basic door circuits.

 

I am a newcomer to hardware, but I am very interested in hardware. For example, I have always been fascinated by CPU. Previously, I know that the CPU content is actually fixed. It needs to perform operations such as addition, subtraction, multiplication, division, shift, logic, jump, and call, it also requires advanced performance such as interrupt, MMU, cache, out-of-order, prediction, and multi-core, but I still don't know exactly how these functions are implemented. Is there any open resource that can satisfy our curiosity like open source code? The above open-source CPU is such an open-source CPU. At present, there are still a lot of resources in the open world on the Internet. Some domestic friends are studying and researching, and many foreign people have also done a lot of work in terms of transplantation and application. Among them, the most exciting thing is that the compilation tools, Linux systems, and complete SOC code that support openrisc can be downloaded online. You can stand on the shoulders of your predecessors to find out the details and enjoy the mysteries and magic. However, compared with open-source software, there are fewer people engaged in opencore, so people interested in this direction need to be patient and persistent.

For friends who have C language basics, it is not difficult to learn the basic syntax of OpenGL. The key is how to use and understand it flexibly. This is the key. In terms of software, you can use Modelsim to learn and practice. In theory, you can refer to Mr. Xia Yuwen's "Design and Synthesis of OpenGL". This is the foundation. When you have the ability, you can look at the book on CPU design, such as "compatible with arm9-soft-core processor design. Of course, learning is a process. If you feel that you have not learned the digital circuit well when you are in college, you have to go back and fill in the content of the Logical Circuit with the timing circuit. The Foundation is very important. You need to constantly explore and summarize it so that you can learn the later opencore code.

 

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.