1.【超实用】一分钟学会如何用最小存储空间保存Vivado工程!
2.NS2软件构成
3.tclexpect{ }å¼å¸¸
4.Visual Tcl简介
5.expect的源码安装方法
6.Vivado使用误区与进阶系列(七)用Tcl定制Vivado设计实现流程
【超实用】一分钟学会如何用最小存储空间保存Vivado工程!
在FPGA调试过程中,大家常会发现Vivado工程体积庞大,动辄数百兆,甚至几个G,砸墙源码这无疑对存储空间提出了较高要求。本文提供了一种利用Vivado自带的tcl命令,将工程保存为.tcl脚本的方法,使得几百兆的工程体积缩减至几百K,极大节省了存储空间。
VIVADO工程目录中包含大量中间生成文件,导致工程大小通常在几百MB至GB之间,这对工程备份与使用Git等工具操作时显得颇为不便。不过,VIVADO提供了一系列脚本,仅需保留工程源码与一个脚本即可。需要时,通过tcl命令即可恢复VIVADO工程。ofd 源码
生成VIVADOtcl的途径有两种:
1、输入命令:在打开的vivado工程中,于tcl命令输入行输入如下命令 `write_project_tcl { ~/work/system.tcl}`,即可将工程保存为.tcl文件。这里的`~/work/`为文件保存路径,`system.tcl`为文件名,用户可根据实际需求调整。
2、使用GUI:在打开的vivado工程中,依次点击 `File` → `Write Project to Tcl`,进入`Write Project To Tcl`界面设置相关参数(主要为tcl文件保存路径和文件名),实现工程保存为.tcl文件。
恢复VIVADO工程时,操作如下:
1、获取tcl形式的VIVADO工程,此时工程内仅包含脚本与src文件夹,内含设计与仿真文件,文件体积仅几十个KB。源码上门
2、启动VIVADO,切换至tcl对应的目录。
输入命令,VIVADO将根据tcl指示恢复工程。
3、工程恢复成功。
生成Tcl工程操作如下:
1、在VIVADO.2中选择 `File` -> `Project` -> `Write TCL`。
2、配置tcl名称和路径。
3、移除不需要的文件(如SRC和tcl文件之外的文件),保存文件。
注意:
1、在Windows系统下跨盘符操作时需使用`(cd E:)`等命令。
2、确保使用与工程版本一致的wazf源码VIVADO。
NS2软件构成
NS2是一个功能丰富的软件套装,由多种组件构成,以满足复杂的仿真需求。它主要包括Tcl/Tk、OTcl、NS和Tclcl这四个关键部分。 Tcl,作为开放源码的脚本语言,是NS2的主要编程工具。它提供了一种灵活的方式,使得开发者能够编写定制的脚本,对NS2进行高效的操作和控制。 Tk则是Tcl的图形界面扩展,它为NS2的使用提供了直观的图形环境。通过Tk,用户可以在图形界面上开发和设计交互式界面,使得复杂的仿真过程更加用户友好。 OTcl是afsim源码基于Tcl/Tk的面向对象扩展,它引入了面向对象的概念,构建了自己的类层次结构。这使得NS2的编程更为结构化,提升了代码的复用性和可维护性。 NS2的核心在于其本身,它是一个用C++编写的面向对象仿真器,其设计特点是将OTcl解释器作为前端,这样既保持了C++的性能,又提供了Tcl/Tk的便利性,使得用户能够通过这两种语言无缝协作。 最后,Tclcl的作用是作为NS2与OTcl之间的桥梁,它提供了一种方式,使得NS2的对象和变量能够在Tcl和OTcl两种语言环境中自如转换,增强了语言间的交互性。 为了辅助用户更好地理解和分析仿真结果,NS2还配备了可选的Xgraphy和Nam插件,这些工具为实时观察和深入剖析仿真数据提供了强大的支持。扩展资料
NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。tclexpect{ }å¼å¸¸
æä¾çæºç ä¸çconfigureæ件æé®é¢ãå®è£ tcltclexpect{ }æ¥éæ大åå æ¯ï¼TCLæä¾çæºç ä¸çconfigureæ件æé®é¢ï¼æ§è¡./configureæ¯æ¥è¯æ³é误ï¼è¿ç§æ åµåªéè¦æ§è¡sed-i "s/relid'/relid/"configureå³å¯ã
Visual Tcl简介
Visual Tcl 是一款卓越的、无需付费的TCL语言开发工具,专为各类主要的操作系统设计。它支持广泛的平台,包括UNIX、Windows、Macintosh和AS,旨在为用户提供一个自由且性能卓越的软件开发环境。这款工具旨在优化开发者的工作流程,无论你是在哪种平台上进行应用程序的构建和调试,都能得到高效和稳定的支持。它凭借其丰富的特性,如集成的代码编辑器、调试器和强大的社区支持,使得TCL语言的开发过程变得更加直观和便捷。Visual Tcl的开放源代码特性,确保了其持续的改进和适应性,使得开发者能充分利用TCL的强大功能,创造出令人满意的高质量软件作品。
expect的源码安装方法
expect是在tcl基础上创建起来的,它提供了一些tcl所没有的命令,如果是源码安装的话首先需要安装tcl。spawn命令激活一个Unix程序来进行交互式的运行。send命令向进程发送字符串,expect 命令等待进程的某些字符串。
下载tcl源码包 wget /tcl/tcl8.4.-src.tar.gz
解压并编译安装tcl tar zxvf tcl8.4.-src.tar.gz cd tcl8.4./unix/ ./configure --prefix=/usr/tcl --enable-shared make make install 如果编译成功没报错如下图
安装完毕以后进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中,expect的安装过程还需要用 cp unix/tclUnixPort.h generic/.
下载expect源码包 wget /projects/expect/files/Expect/5./expect5..tar.gz
解压并编译安装expect tar zxvf expect5..tar.gz cd expect5. ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4./generic/ make make install
安装完成之后做一个软连接 ln -s /usr/tcl/bin/expect /usr/expect/bin/expect
加入环境变量并测试 echo 'export PATH=$PATH:/usr/expect/bin' /etc/profile
Vivado使用误区与进阶系列(七)用Tcl定制Vivado设计实现流程
FPGA 设计流程概述
FPGA 的设计流程主要从源代码到比特流文件的实现,类似 IC 设计流程,分为前端设计(源代码综合为门级网表)和后端设计(门级网表布局布线)。ISE 和 Vivado 设计流程对比显示,Vivado 统一约束格式和数据模型,支持 XDC 约束,每步输出包含网表、约束及布局布线信息的 DCP 文件,运行时间大幅缩短。
Vivado 设计实现流程
Vivado 支持工程模式和非工程模式,工程模式便于管理设计流程,非工程模式提供类似 ASIC 的流程自由度。工程模式创建文件,自动生成相关目录存储数据、输出文件和源文件。非工程模式需用户管理文件和流程,使用 Tcl 脚本实现输入输出。
非工程模式使用 Tcl 脚本进行设计实现,但同样可以在 Vivado IDE 中打开 .dcp 文件进行交互式操作。工程模式下使用简洁的 Tcl 脚本,而非工程模式需执行多条命令。正确使用模式,可实现设计流程的全定制。
利用 Tcl 进行设计定制
Vivado IDE 提供多种利用 Tcl 的方式,如 Tcl Console、钩子脚本(tcl.pre 和 tcl.post)和定制化命令,用于执行特定操作、扩展功能或优化设计流程。
物理优化和闭环设计流程
利用 Tcl 对物理优化(phys_opt_design)进行多次执行,以优化时序。闭环设计流程通过 place_design -post_place_opt 实现,基于前一次布线后的连线延迟信息进行针对性优化。
增量设计流程
在设计后期使用增量布局布线功能,利用已有布局布线数据缩短运行时间,减少对未变部分的破坏,保持时序稳定性。需确保参考的 .dcp 文件为完全时序收敛设计。
使用 Tcl 自定义 Vivado 设计实现流程,通过不同工具和方法实现流程优化、扩展和定制,满足设计需求,提升设计效率。