FPGA开发中的脚本语言有哪些?

多数FPGA开发者都习惯图形化界面(GUI)。GUI方式简单易学,为小项目提供了一键式流程。然而,随着FPGA项目越来越复杂,在很多情况下GUI工具就阻碍了工作效率。因为GUI工具不能对整个开发过程提供足够的灵活性和控制。另一方,GUI工具本身会占用很大一部CPU资源和内存。

 FPGA开发中的脚本语言有哪些?_设计制作_嵌入式技术

 脚本语言的选择

在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能够是自动跟踪检查。

语言的存在是为了解决问题,而工业社会的特点是分工,效率。所以,选择合适语言解决合适的问题才是王道。

89
145
0
75

相关资讯

  1. 1、关于腾讯的开源分布式存储系统DCache2575
  2. 2、计算机视觉市场持续增长安防企业大有可为185
  3. 3、德媒:德国紧缺人工智能人才欲到中美两国“挖墙脚”868
  4. 4、智能转型升级在即,工业大数据重构全球工业370
  5. 5、机器人伺服电机市场可观,预计有47亿市场待挖掘3184
  6. 6、碧桂园杨国强:建立完善建筑机器人政策标准体系912
  7. 7、工业互联网为制造业高质量发展“插上翅膀”2845
  8. 8、在工业机器人带动下,我国机器人减速机行业有望迎来快速发展1158
  9. 9、USBTypeC技术和方案全面解读4720
  10. 10、人工智能芯片要关注的关键问题是什么?2869
全部评论(0)
我也有话说
0
收藏
点赞
顶部