scripting language in the development of FPGA

Source: Internet
Author: User
Tags perl interpreter processing text vivado

Most FPGA developers are accustomed to graphical interfaces (GUIs). The GUI approach is easy to learn and provides a one-click process for small projects. However, as FPGA projects become more complex, in many cases GUI tools hinder productivity. Because GUI tools do not provide sufficient flexibility and control over the entire development process. On the other side, the GUI tool itself consumes a large amount of CPU resources and memory.

choice of scripting language

The most commonly used in ICS and FPGAs are the Tcl,perl and the shell. In addition, other scripting languages may be used. For example, the Xilinx tool scripting language also has Ruby and Python.

TCL

As the name implies, Tool command Language, its tools interactivity is better, can be well used in writing tool command script. In particular, a large part of EDA tools are supported in TCL language, it should be said that their native language is TCL. Comprehensive functions of EDA software are used in Tcl language, for example, DC, Vivado, Quartus, synplify and so on. Tcl is a near-standard scripting language for ASIC and FPGA design tools. EDA tools are constrained in this format (Vivado's timing constraints and pin physical constraints), and TCL itself is designed to work with tools without much independent value. Tcl syntax differs from other scripting languages and is difficult for many developers to get used to. Tcl has good documentation and team support. Xilinx comes with a custom tcl--xtclsh in the Vivado installation. If you want to start TCL input:

$ xtclsh–v #display TCL version.

Perl

Perl is a popular scripting language that is widely used in tools such as EDA, especially in the authentication and backend design of Asics. Perl is used to do some extremely powerful word processing, reducing duplication of effort. For example, it is extremely useful to modify eco to integrate small design into a large design and to automatically run various randomized simulations. Vivado also comes with the custom Perl interpreter Xilperl. Perl should be no one in the text processing, a few lines of code can do other code a lot of lines to deal with good text. But Perl scripts are less readable.

Shell

The Linux distribution is typically bash by default. UNIX distributions For example, the default shell for FreeBSD is csh. Since early EDA software runs on Unix operating systems, and CSH's scripting language is similar to the C language, many CSH scripts are used in ASIC development. However, in addition to having many features of CSH, Bash provides features such as shell functions, command-line editing, and process processing. So bash has a huge share of Linux distributions.

Wittgenstein said: "My language line is the boundary of my world." "There is no perfect language to describe the world, each language has its particular purpose. The choice of language takes into account many factors, such as existing project settings, experience with the design team, familiar tools and scripts, flexibility, and customization and integration with other tools. If the partial processing text learns Perl, the biased tool interacts with TCL. On the one hand, the language is interlinked, as long as there is a C language Foundation, learn anything fast. On the other hand, we choose which language to study because we don't want to learn all these languages. In fact, in addition to scripting language will greatly improve the work, many developers also like to use the Make tool for FPGA compilation, because make can be automatic tracking check.

The existence of language is to solve the problem, and the characteristic of Industrial society is division of labor and efficiency. So, choosing the right language to solve the right problem is the kingly way.

Reference documents:

[1] What are the uses of scripting languages such as Perl in IC design? https://www.zhihu.com/question/29692226.

[2] Evgeni Stavinov. Use the Xilinx tools in command-line mode. FPGA Master Design Combat Canon 100. Electronic industry Press. 2013,10.

scripting language in the development of FPGA

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.