上期内容:列表排序其实不难
这篇文章帮你解决以下几个问题:
在Tcl中所有数据类型都可以看作是字符串。字符串本身是由一个或多个字符组成;列表可以看作是由一个或多个相对独立的字符串构成,因此,两者之间在一定条件下是可以转换的。
split命令可以将字符串按照指定规则进行分割,并将分割后的各个字符串构成列表返回。该命令接收两个参数,第一个参数是字符串变量,第二个参数是分割字符。看一个例子。在这个例子中变量birthday其内容由“/”隔开。Split命令将其按照“/”分割成独立的三部分。这样返回值就可以按照列表方式进行处理。
再看一个例子,芯片型号为xc7k410tffg900-2,如果需要获取其速度等级(最后一个字符2),一种可行的方式如下图所示。
join命令可以看作是split命令的逆操作。它把列表元素串接成一个字符串,元素之间用指定的分隔符号隔开。该命令接收两个参数,第一个参数是列表,第二个参数是分割字符。看一个例子。
再看一个例子。这个例子巧妙地利用了join命令计算几个数据的和。这样无论有多少个数据,都可以方便地描述,避免出现长串的“数据+数据”的形式。
在Vivado中,join命令也非常有用。例如,Vivado中很多Tcl命令返回的结果是一个列表,这在Tcl Console中查看很不方便,因为所有列表元素都在一行。一种可行的方案是在每个元素之间插入换行符,这样每个元素单独占用一行,从而增强了可视性,如下图所示。
警惕设计中的DONT_TOUCH
老生常谈的复位,你真的用对了吗
如何优化高扇出net?
常用的跟Pblock相关的Tcl命令
比较器如何用DSP48实现
HLS案例分析:数组求和(2)
HLS案例分析:数组求和(1)
关于Pblock的8个必知问题
一次创建多个Pblock
Pblock可以这么画
在Vivado HLS中使用Tcl
Vivado 2019.1新特性(5):更新的report_qor_suggestions
Vivado 2019.1新特性(4):VHDL 2008 Generic
2019年上半年文章汇总
Tcl知识库(更新至2019.1)
Vivado HLS知识库(更新至2019.1)
Vivado知识库(更新至2019.1)
文 | Lauren 图 | Lauren
Copyright @ Lauren的FPGA
转载事宜请私信 | 获得授权后方可转载