在ic领域中,常用的脚本语言包括tcl、perl、shell和python等。其中,tcl(全称为tool command language,意为“工具命令语言”)因其语法简洁、易于上手的特点,在fpga开发中日益受到重视。
Tcl/Tk由John K. Ousterhout于1988年开始开发,后续由加州大学伯克利分校的一名教授继续推进。目前,Tcl在众多EDA工具(如Design Compiler、Quartus、Synplify、ModelSim、FineSim、Vivado等)中扮演着重要角色,这也是其在FPGA设计中备受关注的主要原因。
Tcl使得FPGA开发更加完美。在国内市场上,Xilinx和Intel占据了很大份额,其对应的EDA工具分别为Quartus II和Vivado(旧版本为ISE)。以下以Vivado为例,简要说明Tcl在开发过程中的应用。
Xilinx的设计套件Vivado相较于其前代产品ISE,在运行速度、算法优化和功能整合等方面有了显著提升。引入约束语言XDC和脚本语言Tcl,使得开发过程更加完善。
以下从几个方面说明Tcl在Vivado中的应用:
非工程模式(Non-Project Mode):传统的FPGA开发通常通过GUI界面进行“按钮”式操作,而Vivado在引入Tcl解释器后,可以通过非工程模式进行操作,一个Tcl脚本即可自动化建立工程,并对工程进行分析。
提高编译效率:Vivado较晚推出,因此对多线程的支持较为友好。默认情况下,Vivado在Windows上的综合阶段使用2个线程(Windows/Linux操作系统均为2个线程),实现阶段Windows默认也是2个线程(Linux操作系统的默认线程数为8)。我们可以通过
获取当前的线程数:
yershop开源网店系统是一款基于tp5.1优化版的商城系统,具有建站便捷、扩展丰富、二次开发灵活,以及支持云服务的特点,适合企业及个人快速构建个性化网上商店.系统分为开源版和商业版

同时可以通过
设定期望的线程数:

使用Tcl定位目标:Vivado实现完成后,可以对出问题的路径进行分析,同时对网表中的目标进行查找、定位和遍历。常见的命令包括:
get_ports
get_cells
get_nets
get_pins









