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、白浅死都不知,为何夜华父亲要他成亲前历劫30年4949
  2. 2、《你好,李焕英》翻车?想看喜剧却被煽情,网友:过年想笑不想哭4480
  3. 3、重温《金粉世家》引来网友回忆杀,是糖还是刀?162
  4. 4、刘嘉玲也是受人之托?从《阿修罗》到《狄仁杰》,演技很尴尬啊571
  5. 5、心塞!导演透露《银河护卫队3》最新消息,可是并不乐观2631
  6. 6、欢乐颂第三部开拍在即,邱莹莹和曲筱绡要换人出演3168
  7. 7、尔冬升推新导演《暴疯语》黄晓明智斗刘青云4838
  8. 8、陈伟霆新剧开播就火,古力娜扎身手了得,任达华蒋雯丽实力加盟1389
  9. 9、拿下3.17亿票房才18天,郑伊健领着古惑仔又要上映一部大片5030
  10. 10、《硬汉奶爸》上映首周票房934万成合家欢黑马3990
全部评论(0)
我也有话说
0
收藏
点赞
顶部