vh(vhd是什么意思)

最后更新 :2023-03-28 11:40:34

TCL练习6:通过递归方法搜索文件夹并返回指定后缀文件

写这个TCL脚本的主要目的是搜索目标文件夹及其子文件夹下的所有文件,然后记录在指定的文件中。可以指定目标文件夹名称、信息记录位置和文件后缀等3种参数。

该脚本将用于Vivado的non-project编译过程,被综合和布线脚本调用。

define.tcl中定义了目标文件夹名称、信息记录位置、文件后缀类型、器件part等信息。findAllFiles.tcl脚本根据define.tcl中的参数搜索目标文件夹,当文件后缀类型参数(ext)为.hdl时,会搜索.v、.vh、.vhd、.sv等文件的路径和名称,并记录在./Tcl/code.rd中;当文件后缀类型参数为.xdc时,会搜索.xdc文件,并记录在./Tcl/cons.rd中。设计代码放置在srcs文件夹中,约束文件放置在constraints文件夹中。如果没有分类放置也可以正确识别。

set part "xcvu3p-ffvc1517-2-e" set srcsPath "../srcs" set consPath "../Constraints" set codeRec "./code.rd" set consRec "./cons.rd" set codeExt ".hdl" set consExt ".xdc" set top "Top" set synthDir "$top.synth" set synthLog "synth.log" set synthDcp "_synth.dcp"

以下是findAllFiles.tcl的内容。

source ./define.tcl set status [catch {set codeF [open $codeRec w+]} msg] if {$status} { puts $msg } proc findFiles { dir result ext } { if {![file exists $dir] || ![file isdirectory $dir]} { return -code error "File not exists or not a directory." } # 使用以下方式获得文件名称将不包含路径,在通过if {[file isfile $f]}判断时是无法索引到该文件的,所以无法进入该条件 # set files [glob -nocomplain -directory $dir/ -tails *] set files [glob -nocomplain -directory $dir/ *] foreach f $files { if {[file isfile $f]} { # 根据ext参数匹配不同后缀的文件,记录.v .vh .vhd .sv文件 if {[string match $ext $::codeExt]} { set fExt [file extension $f] if {[expr {$fExt==".v"}] || [expr {$fExt==".vh"}] || [expr {$fExt==".vhd"}] || [expr {$fExt==".sv"}]} { # glob 返回的文件是带有路径的,除非使用-tails puts $f puts $result $f } } elseif {[string match $ext $::consExt]} { # 记录xdc文件 set fExt [file extension $f] if {[expr {$fExt==".xdc"}]} { # glob 返回的文件是带有路径的,除非使用-tails puts $f puts $result $f } } } elseif {[file isdirectory $f]} { # 递归 findFiles $f $result $ext } } } # 在tcl脚本中完成文件的写操作后一定要close文件,否则文件中不会写入任何内容。 findFiles $srcsPath $codeF $codeExt close $codeF set status [catch {set consF [open $consRec w+]} msg] if {$status} { puts $msg } findFiles $consPath $consF $consExt close $consF

以上代码经过测试可以找出并分类存储指定的文件类型,可搜索所有子文件夹。所有tcl文件放置于Tcl文件夹中,srcs和constraints放置在与Tcl同级的目录中。

————————————————

版权声明:本文为CSDN博主「小苍蝇别闹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:
https://blog.csdn.net/yinyeyy/article/details/115666182

- END -

卑弥呼(卑弥呼在日本的地位)

三国杀移动版宝珠?150史诗宝珠兑换神曹操100史诗宝珠兑换灵雎100史诗宝珠兑换鲍三娘99史...

用亮眼的黄色卫衣,展现你的青春率性_紧身_牛仔裤_

原标题:用亮眼的黄色卫衣,展现你的青春率性黄色是非常明亮的颜色,本身就有很好的效果。 将...