前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tcl之$$a 80%的概率......

Tcl之$$a 80%的概率......

作者头像
Lauren的FPGA
发布2020-08-25 10:48:18
2.5K0
发布2020-08-25 10:48:18
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

上期内容:嵌套的for循环,到底对哪个执行pipeline更好

看一个典型的例子,如下图所示。变量x被赋值为10,变量a被赋值为字符x。之后,给变量b赋值$a。最终变量b的值将会是x,而不是10。

为什么b的值是$x,而不是10呢?这是因为Tcl的变量置换遵循如下两条规则:

规则1:Tcl在解析一条命令时,只从左向右解析一次,进行一轮置换,每一个字符只会被扫描一次。

规则2:每一个字符只会发生一层置换,而不会对置换后的结果再进行一次扫描置换。

根据上述规则,Tcl从左向右对命令“set b

a”进行解析,扫描所有的字符,发现

a时,执行变量置换,得到

那么如果期望$$a发生二次置换该如何操作呢?

方法1:采用[set var]的方式,如下图所示。代码第6行中括号中的set命令只跟随一个参数var,var发生变量置换,故set var等效于set a,而set a将返回变量a的值。本质上,var是[set var]的缩写版本。通过代码第10行和第12行可以看出,set后面如果只有一个参数,而这个参数又是一个已经定义的变量名,那么该命令就直接返回该变量的变量值,与

方法2:采用命令subst实现此目的,如下图所示。

AI Engine到底是什么?

ACAP不可不知的几个基本概念

HLS中循环的并行性(2)

HLS中循环的并行性(1)

HLS优化方法DATAFLOW你用了吗

HLS中如何控制流水程度

Vivado HLS学习资料有哪些

如何查看可综合C代码的中间结果

如何在C代码中插入移位寄存器

HLS IP Library?

HLS Math Library:csim ?C/RTL co-sim(2

HLS Math Library:csim ?C/RTL co-sim(1)

一些小巧的IP

IP是用DCP还是XCI?

如果使用第三方综合工具,Xilinx IP…

IP生成文件知多少

IP的约束需要处理吗?

IP为什么被Locked?

copy_ip你用过吗?

IP是XCI还是XCIX

如何降低OSERDES/CLK和CLKDIV的Clock Skew

如何获取Device DNA

谈谈设计复用

过约束到底怎么做

时序收敛之Baseline

什么情况下要用OOC综合方式

set_max_delay被覆盖怎么办

异步跨时钟域电路该怎么约束

如何复用关键路径的布局布线信息

Vivado学习资料有哪些?

异步跨时钟域电路怎么设计

ECO都有哪些应用

FPGA中的CLOCK REGION和SLR是什么含义

FPGA中的BEL, SITE, TILE是什么含义

约束文件有哪些

如何高效复用Block的位置信息?

如何复用关键寄存器的位置信息

部分可重配置都生成哪些.bit文件

VIO你用对了吗

Device视图下能看到什么

Schematic视图下能看到什么

都是pin,有什么区别

都是net,有什么区别

如何快速查找目标cell

学习笔记:深度学习与INT8

学习笔记:多层感知器

学习笔记:单层感知器的局限性

学习笔记:单层感知器基础知识

学习笔记:神经网络学习算法

学习笔记:神经网络模型

学习笔记:ReLU的各种变形函数

学习笔记:神经元模型(2)

学习笔记:神经元模型(1)

学习笔记:深度学习之“深”

学习笔记:深度学习之“学习”

学习笔记:人工智能、机器学习和深度学习

2019文章汇总

文 | Lauren 图 | Lauren

Copyright @ Lauren的FPGA

转载事宜请私信 | 获得授权后方可转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档