FPGA quick start experience (part2)

FPGA Introduction Learning Network Lecture: "Berner" 7-Step FPGA Quick Start Learning Method

Part III: The most lazy programming

The most important part of the development of programmable chips is the programming of the chip. Programming seems to be a very complicated problem, but when we play "interspersed", we can only find the most lazy shortcuts, and many programming chip manufacturers provide programming development platforms. For FPGA/CPLD chips, XILINX has ISE 11 platform, Altera also has similar platforms, single-chip chips, such as MSP430 and AVR, etc. Many of these platforms using IAR platform are now mature, perfect, and very convenient to use. Many of the steps they operate are similar:

1. Create a project and select the chip. The platform will set the corresponding parameters according to the chip you selected.

2. Select the corresponding development language, MCU can choose C language, FPGA/CPLD can choose Verlog HDL language.

3. Programming, the content of programming is as simple as possible. FPGA/CPLD students without programming basis can choose XILINX's ISE platform. This platform will create the simplest environment for programmers, and the simplified program system will follow. Automatically do some internal adjustments during the operation. Of course, there are many ways in which the FPGA development platform can be used to input design content. Language programming is just one of the methods.

The content of programming should be simple. If it is FPGA/CPLD programming, you can only do two assignment statements, such as C=A; D=B; etc. If it is a single-chip programming, write two inputs directly with IN and OUT instructions. The output statement is fine.

4. Compile, because the command has only two lines, the compilation is generally easy to pass.

The above four steps are similar to the microcontroller and FPGA/CPLD. The following 5 and 6 steps are unique to FPGA/CPLD.

5. Specify the pin and set which pin A, B, C, and D correspond to each pin during programming.

6. Synthesize, compile the code to form the final target code on the specified pins and specific chips.

7. Download and download the final code to the chip via the download line.

In the above steps, the system can be automatically completed after compiling and synthesizing operations. Can the download be successful, mainly depends on whether the self-made development board power supply and JTAG wiring are correct, and also look at the connection and setting of the download line on the computer end. This learning link seems to be programming, not just learning programming, but also other content to learn and understand, including: the application of the development platform, the design of the development environment, the understanding of the design means (programming is only one), Chip operation, compile synthesis issues, download and verify, and more.

These many links are not necessarily started in the introductory stage, but it is necessary to inform the students of the key knowledge points subtly. The content of programming, the simpler the better, the more conducive to understanding and verification. Another point to emphasize is that you should have a clear understanding of the characteristics and differences between logic circuits and sequential circuits. This is important for future development studies.

FPGA Introduction Learning Network Lecture: "Berner" 7-Step FPGA Quick Start Learning Method - Part 4: Verifying the Getting Started Results

After the download is completed, you can check whether the "Crash" development board works normally according to the design. The test is very simple. Just connect the corresponding input terminal to the power supply or ground, and then check the potential of the output terminal. If someone has concerns about connecting the power or ground wire directly to the input pin, you can connect a resistor of about 1K in series, so that even if the student mistakes the power or ground to other pins, it will not cause the chip pin. damage. Because the content of the programming is very simple, it will be easy to verify. This self-developed development board with the simplest function can be used as the "trophy" for the student's "plug-in" quick start and the best entry certificate.

In the introductory learning phase, students can get two benefits:

1. Understand the process, and then focus on each step in the future.

2. Building confidence, there will be no more fear of learning, and no longer worry about the priorities of the study arrangement. In order to enhance the effect, the trainees can change the programming content of the third step several times and verify the students through the fourth step. Based on this development board, various external signals or display components such as buttons, light-emitting diodes, liquid crystal digital screens, etc. are gradually added, and of course, the concepts of logic circuits and sequential circuits can also be used. Start learning step by step.

The above four steps are applicable to both the development of FPGA development and the learning of single-chip microcomputers, which can lay the foundation for the students' self-study or training. Including the basic knowledge and psychological self-confidence, the next part can let the participants understand the potential and development space of FPGA.

(Part 2: Outlook)

FPGA Introduction Learning Network Lecture: "Berner" 7-Step FPGA Quick Start Learning Method - Part 5: FPGA and Implementation Skills

The system-on-chip implemented with FPGA technology has the following features:

1. The structure is more compact, and an FPGA chip can realize all the functions of a desktop board plus a CPU.

2. More convenient to expand, FPGA has a unique interface performance advantages and pin number advantage, especially in the high-speed interface, far ahead, and whether it is a single-chip or desktop, in terms of interface and real-time signal processing are far from enough.

3. You can run the open software system platform LINUX. The advantages of free of charge do not need to be said. The system built by FPGA can have broad space for development in mobile terminals, information processing, communication and intelligent control.

Learning or applying FPGA technology is a real challenge for many people. Cross-professional, cross-platform, how to effectively learn how to implement quickly, need to have a clear idea. First of all, in the system architecture, the design should be centered on the storage components, not the CPU.

At this point, the system consisting of FPGAs is different from traditional desktops. The target of the desktop is to run the program. It naturally chooses the system with CPU as the core FPGA to process external information. The role of the CPU is to manage or process information auxiliaryly.

In response to these characteristics, it is possible to design with storage as the center, and use BUFFER and FRAME to organize and process data. This kind of thinking will help the learner to actually build his own system in the future. In addition, you should take full advantage of the many unique advantages of FPGAs. If you are familiar with the bus, you know that the actual direct bus is more efficient and easier to manage than the time-multiplexed bus.

FPGA's rich routing resources make it easy to set up multiple sets of dedicated buses

FPGA's rich hardware resources (such as tens of thousands of hardware multipliers) can provide favorable conditions for designing some fast hardware processing modules. These hardware modules should be designed to have data storage units (Buffer or Frame) directly connected. CPU is an indispensable part of intelligent system. It is different from traditional computer. In a system composed of FPGA technology, the biggest advantage of CPU is as the role of intelligent manager, man-machine interface, processing strategy, resource allocation. In other respects, it plays an important role, and in the actual processing of information, some hardware or special modules may be in parallel with the software processing modules that rely on the CPU, and even the hardware modules can be more popular.

From the outset, it's important not to stick to the traditional CPU-centric computer architecture. There is also a kind of information, which is a large-flow real-time data stream, and the traditional computer is almost completely out of date.

Such data objects are treated as real-time "streams" in FPGA systems. These "streaming data" often contain a lot of digitized application information (such as video and audio), which are being used in the production line. Processed products are transferred, controlled, processed and stored in an FPGA system. Only after being stored, the CPU and the traditional software modules process them as data, and these traditional processing methods are often not the most efficient. Some people know that a lot of content on the Internet is also transmitted in the form of information flow, which will take up a lot of computer processing power.

As an example, transmitting video over a network is often compressed to reduce the amount of data transferred and the amount of processing. Many FPGA-based systems require not only no compression, but also "oversampling" as far as the bandwidth of the transmission link is solved by FPGA technology. With the current FPGA chip, the speed of a single interface can reach 28Gbps, and the FPGA itself has more pins and more channels.

Designing high-bandwidth transmission devices and systems in the future will become a hot topic in the FPGA industry. In addition to the above specific advantages, FPGA technology is not inferior in the functions that can be realized in traditional computers. The FPGA is able to run an open platform LINUX system with a CPU that can execute "reduced instructions". I believe that in the future, the software on the Linux platform will be more abundant than the WINDOWS platform.

WINDOWS is difficult to handle.

To give another example: to design a switch matrix that can handle 10 channels of real-time signal input and 10 channels of output. In the traditional computer, it can't handle it, but for FPGA, it is a piece of cake. The system composed of FPGA not only has advantages in application coverage, but also has obvious advantages in overall system cost. I have contacted an FPGA product that can be used as a WINDOW terminal, and the hardware cost is only about 100 yuan.

The scalability of the function and the cost advantage will make FPGA products continually erode, covering the traditional computer product field and information product field. Now many cameras and digital camera core processing chips have already used FPGA.

This section is cumbersome, and the focus is on a recommendation: build an FPGA system based on the data processing flow!

FPGA Introduction Learning Network Lecture: "Berner" 7-Step FPGA Quick Start Learning Method

Part VI: Development of professional products

FPGA combined with professional signal processing chip can develop many professional products, such as broadcast TV, communication, data transmission and many other fields, which are all used by FPGA. The key to developing products with FPGAs and professional chips is in the interface, which includes several aspects:

1. Hardware signal interface

2. Data interface

3. Information data format interface

Using FPGAs to develop professional products, you can do three levels of work:

1. Handling professional signals with professional interface chips

2. Replacing the capabilities of professional chips with the processing power of FPGAs

3. Design professional interface IP

The development of professional products requires a solid foundation in FPGA development, as well as corresponding knowledge in the field of application. This is difficult, but for those who have previously been involved in related fields, or early attention to FPGAs in related fields. Developers are a rare opportunity. Compared with consumer goods, the design requirements for professional products will be higher, but the number of competitors may be less. Professional product development is a huge, potential FPGA application market.

FPGA Introduction Learning Network Lecture: "Berner" 7-Step FPGA Quick Start Learning Method

Part 7: Personal Struggle - Development of Specific IP

In the development of FPGAs, a module called IP is commonly used. With the gradual expansion of the FPGA development market, there will be more and more demand for various IPs, such as video compression, MPEG II, H. IP such as .264 has been widely used. An excellent development engineer can develop some distinctive IP based on his own strengths.

The development of IP modules does not require a too harsh development environment, does not require too much market resources, and is more suitable for personal struggles, especially for young people who are good at accepting new things, can give full play to the advantages of acumen and explosiveness. Whether it is personal struggle, cooperation with small groups, until the masters of multinational corporations, everyone's development conditions are the same, the starting point is the same, who can win, only to see creativity.

A developer can have such an opportunity, and Bill Gates and Jobs did not.

In the above seven parts, the first four parts are pursuing “Run fast, win”, and the last three parts are “high standing and far away”. These learning methods are different, but they are aimed at the characteristics of contemporary young people. Tailored. At the same time, it is also to mourn the numerous victims outside the door of the microcontroller field and save those who are struggling. I’m more impressed by the young people who have paid attention to this post. Maybe after a few years, you will remember:

There was a post that told you to learn FPGA development very quickly. For those who have been able to develop microcontrollers, but always worry about the design of peripheral circuits, it takes two days. In just two days, you can make your MCU even more powerful (using CPLD), and you will immediately put it on FPGA. .

4G OBDII Vehicle GPS Trackers

ALL Kinds of 4G NB Vehicle GPS Tracker, there must be one which should meet your expectation.

ES840 is a 4G (Cat.M1&NB) OBDII GPS Tracker for vehicle. Car GPS Tracker supports CAN Bus and all kinds of Line. The OBDII Tracker can automatically detect Ignition On/Off status via reading RPM information. ES840 has three modes to locate by GPS+Bluetooth+LBS. If you are looking for Can Communication, Wireless Obd2 Tracker,4G Obd2 Tracker,Obd2 4G GPS Tracker and 4G Obd2 Tracker Manufacturers and Suppliers in China, this is it.

Certificates: FCC, Verizon, Sprint

ES440 the OBDII with WIFI


OBD2 vehicle gps trackers,OBDII vehicle GPS trackers,4G OBD2 GPS trackers,4G OBDII GPS trackers

eSky wireless Inc , https://www.eskygpsiot.com

Posted on