大都FPGA开发者都习气图形化界面(GUI)。GUI方法简略易学,为小项目供给了一键式流程。但是,跟着FPGA项目越来越杂乱,在许多情况下GUI东西就阻止了作业功率。由于GUI东西不能对整个开发进程供给满足的灵活性和操控。另一方,GUI东西自身会占用很大一部CPU资源和内存。
脚本言语的挑选
在IC和FPGA的最常用的是TCL,Perl以及Shell。除此之外,还有或许用到其他的脚本言语。比方,Xilinx东西脚本言语还有Ruby和Python。
TCL
望文生义,Tool Command Language,它的东西交互性要好些,可以很好地运用于书写东西指令脚本。尤其是现在很大一部分EDA东西是支撑TCL言语的,应该说它们的母语就是TCL。归纳功用的EDA软件都选用TCL言语,比方,DC、Vivado、quartus、Synplify等。TCL是面向ASIC和FPGA规划东西的一种近乎规范的脚本言语。EDA东西都按这种格局下束缚(Vivado的时序束缚和管脚物理束缚),TCL自身就是为了合作东西运用的,没有太大的独立价值。TCL语法不同于其他脚本言语,许多开发者很难习气。TCL具有杰出的文档和团队支撑。Xilinx在Vivado的装置中附带了一个自定义的TCL——xtclsh。假如要发动TCL输入:
$ xtclsh –v #display TCL version。
Perl
Perl 是一种盛行的脚本言语,广泛应用于EDA等东西中,特别是在ASIC的验证和后端规划中。Perl用来做一些极端强壮的文字处理,削减重复性作业。比方修正ECO,将小design整合成大design,主动跑各种随机化的仿真,极端有用。Vivado也附带了自定义的Perl解说器xilperl。perl在文本处理上应该是无人能及,寥寥几行代码就可以做到其他代码许多行才干处理好的文本。但Perl脚本的可读性比较差。
Shell
Linux的发行版默许的一般都是bash。Unix发行版比方,FreeBSD默许的shell是csh。由于前期EDA软件都是运行在Unix操作系统上,并且csh的脚本言语类似于C言语,所以,ASIC开发中会用到许多csh脚本。但是,bash 除了具有csh 的许多特性外,还能供给shell 函数,指令行修改,进程处理等特性。所以bash在Linux发行版中占有很大的比例。
维特根斯坦说:“我的言语边界就是我国际的边界。”不存在完美的言语描绘这个国际,每种言语都其特定的用处。挑选何种言语会考虑许多要素,如现有项目设置、规划团队的经历、了解的东西和脚本、灵活性以及与其他东西的定制和集成。假如偏处理文本学perl,偏东西交互学tcl。一方面,言语都是相通的,只需有C言语根底,学什么都快。另一方面,咱们选学习哪儿言语是由于咱们不想学习所有这些言语。实践的开发中除了脚本言语会极大地进步作业外,许多开发者也喜爱用make 东西进行FPGA编译,由于make可以是主动盯梢查看。
言语的存在是为了处理问题,而工业社会的特点是分工,功率。所以,挑选适宜言语处理适宜的问题才是王道。