DC综合与Tcl语法结构概述

作者:ic_learner,

来源: http://www.cnblogs.com/IClearner/

1、逻辑综合的概述

synthesis = translation + logic optimization + gate mapping .

DC工作流程主要分为这三步

Translation : 翻译,主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现。

Logic optimization :逻辑优化, 就是把统一用门级描述的电路进行优化,就是把路径调整一下,门给改一下等等。

Gate mapping :门级映射,把优化了的统一门级描述,DC用别的厂商的工艺库把电路给映射出来,得到一个.ddc文件。这个.ddc文件可以包含许多丰富的信息,比如映射的门电路信息与网表、.v格式的网表、延时信息(sdf)、工作约束(sdc)等信息。(.ddc不能用文本编辑器打开)。.ddc这个包含的网表文件是实际意义的网表文件,而.v这个形式的网表问价是用来做后仿真的文件。

延时信息的得出:线负载模型、拓扑结构模型(现在)。

2、DC的启动方式

启动DC的方式有三种:

·GUI:DC的图形化界面格式。用图形化界面跑一下DC。(大规模设计不可能用这种方式)。

启动方式是:$design_vision

我们可以通过 man design_vision或者design_vision -help来查看DC的启动选项:

DC综合与Tcl语法结构概述

例如,可以使用$ design_vision -topographical_mode启动design compiler,意思是:-topographical是启动DC的拓扑模式,-topo是简写。关于什么是拓扑模式,为什么要启动拓扑模式,后面会有相关的叙述。

此外,还有下面的启动方式:

·dc_shell: DC以命令行的格式启动:$dc_shell

我们可以通过 man dc_shell或者dc_shell -help来查看DC的启动选项,不过我们可以发现,这些选项是一致的,是告诉我们如何启动DC,启动DC的时候可以加载哪些选项。

·Batch mode:批处理模式,也就是,前面那两种方式只是把DC启动起来,还没有真正地工作(即编译工程),前面两个方式需要通过source命令把脚本写进去以后,DC读取才真正工作。而这种批处理模式是,在启动的同时,告诉DC执行哪些脚本,例如:

$dc_shell -topo -f run.tcl | tee -i run.log

意思是:使用拓扑模式启动DC,启动的同时执行run.tcl脚本文件,并且把启动过程中显示在终端的信息记录到run.log中。| tee -i就是写进信息的管道命令,讲dc_shell -topo -f run.tcl 执行后显示的信息(输出结果),流入到run.log文件中。这样子是为了在DC启动失败的时候,通过查看启动信息,进而排除错误。

本教程这三种方式在后面都有流程介绍,本教程以命令行和批处理为主,其中dc_shell主要用来介绍DC的相关命令,此外命令行和批处理模式是现在设计的主要操作方式。

3、DC-Tcl语言的基本结构

下面介绍常见的tcl语言语法,这些语法在进行编写tcl脚本的时候比较常见。

Tcl的语法比较简单,依葫芦画瓢就可以知道写的是什么了。

我们在dc_shell的环境下,介绍tcl的一些简单语法(即启动DC,在dc_shell里面运行tcl文件):

DC综合与Tcl语法结构概述

通过编写example.tcl中的内容,来记录一下tcl的语法:

·设置变量

example.tcl的内容为:

DC综合与Tcl语法结构概述

意思是:设置name这个变量,这个变量的值为ICer;

设置num这个变量,这个值为 0;

echo是打印的意思,$表示引用,分别是打印name中的值,打印num中的值.

Ideogram Ideogram

Ideogram是一个全新的文本转图像AI绘画生成平台,擅长于生成带有文本的图像,如LOGO上的字母、数字等。

Ideogram 512 查看详情 Ideogram

我们可以检查一下是否有语法错误,使用dcprocheck命令:

DC综合与Tcl语法结构概述

运行一下,打印出了name和num这两个变量的值:

DC综合与Tcl语法结构概述

·if-else语句:

DC综合与Tcl语法结构概述

与C语言、Verilog语言不一样,这里的条件是用大括号{}来进行包括的,然后要执行的内容也是通过{}来表示的。特别注意,{}的使用都有空格间隔开

检查没有错误,进行执行:

·switch 结构

DC综合与Tcl语法结构概述

puts也是显示/打印的命令,执行后的结果如下:

DC综合与Tcl语法结构概述

还可以添加默认的选项:

DC综合与Tcl语法结构概述

执行后,显示:

DC综合与Tcl语法结构概述

·while循环

DC综合与Tcl语法结构概述

执行的结果如下:

DC综合与Tcl语法结构概述

·for循环

DC综合与Tcl语法结构概述

运行的结果如下所示:

DC综合与Tcl语法结构概述

for循环的格式跟C语言一样,也有三个选项,初始条件,停止循环条件,变量递增选项。

Continue跟C语言一样,不执行本次循环。

·数组(列表)与数组(列表)的遍历

DC综合与Tcl语法结构概述

首先,39行那里创建了一个名字为names的数组(列表),数组(列表)的内容有5项。

Foreach则是逐个遍历,查看数组的内容。首先把names这个列表的内容一次放进num_list这个变量里面,然后一次查看

附注:foreach_incollection对物集(collection)遍历。关于物集这个概念在后面会有说到,这里先提及一下,有一个初步印象。

执行结果如下:

DC综合与Tcl语法结构概述

·子程序的定义和调用:

DC综合与Tcl语法结构概述

调用要在dc_shell中调用:

DC综合与Tcl语法结构概述

·最后是文件的处理:文件的读写

写:

DC综合与Tcl语法结构概述

执行的结果如下所示:

DC综合与Tcl语法结构概述

Data.txt里面就有hello tcl

读:

DC综合与Tcl语法结构概述

注意gets的用法,执行后的结果如下:

DC综合与Tcl语法结构概述

Tcl的基本语法结构差不多就是这样了,Tcl的使用需要结合Tcl自带的一些命令,比如说自己的函数、错误处理、正则表达式等,此外还要结合DC的命令,总之就是具体问题具体分析。

以上就是DC综合与Tcl语法结构概述的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/776073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月26日 07:35:38
下一篇 2025年11月26日 07:40:48

相关推荐

  • ONDO的RWA代币化激增:上涨40%,引发关注

    ondo finance 正在搭乘现实世界资产(rwa)代币化的热潮,借助关键的合作伙伴关系和监管层面的积极信号,其代币价格实现了40%的强劲上涨。那么,它是否有望成为2025年加密收益的最佳标的? 加密圈的朋友们,准备好了吗?ONDO Finance 正在现实世界资产代币化领域掀起一股热潮,其原生…

    2025年12月8日
    000
  • 币安最新官方网址分享 快速访问币安交易所

    币安作为全球领先的数字货币交易平台,常因监管或网络原因导致官网地址变更。为确保账户安全与交易顺利,新用户应通过最新官方渠道访问币安平台。 为什么币安官网会变化? 部分国家或地区对加密货币平台限制访问,用户可能出现官网打不开或提示安全风险的问题。 币安会根据各地区合规要求启用备用域名,但其主站始终保持…

    2025年12月8日
    000
  • 狗狗币最新行情数据app 狗狗币价格走势图表在线分析

    是否希望随时随地进行便捷、安全的数字资产交易?我们深知每一位投资者对信息时效性和交易效率的追求。现在,告别繁琐的查询与操作,一款集实时行情、历史数据分析与极速交易于一体的强大app,将彻底改变您的数字货币体验,助您轻松驾驭数字资产的未来。 本文为您提供的是官方App的正版下载链接,确保您获得最纯净、…

    2025年12月8日 好文分享
    000
  • 柴犬、ETF 和资产管理公司:为什么狗狗币能获得优势

    尽管柴犬币(shiba inu,简称shib)广受投资者欢迎,但在推动交易所交易基金(etf)方面却面临困难,主要原因在于缺乏传统金融机构的支持。相比之下,狗狗币(dogecoin)甚至一些市值更低的模因币已经获得etf申请的进展,那么,shib为何迟迟未能获得青睐? 作为市值高且社区活跃的模因币,…

    2025年12月8日
    000
  • 为什么销毁代币对模因币meme如此重要

    代币销毁是模因币项目提升价值和建立社区信心的核心策略。1. 通过将代币发送至无法访问的地址永久移除流通量,制造通货紧缩效应,提升代币稀缺性和潜在价值。2. 销毁机制传递项目方长期承诺信号,增强市场信任。3. 与社区活动挂钩,激励用户参与和长期持有。4. SHIB销毁超40%供应量是经典案例,直接推动…

    2025年12月8日
    000
  • 小Lin说发布的《一口气了解稳定币》视频讲了些啥

    小Lin说视频破圈标志着加密内容首次以专业中立姿态进入大众视野。视频指出美元稳定币商业价值主要沉淀在分发环节,仅2024年Circle支付给Coinbase的渠道分销费用就达9亿美元;合规性成为行业分水岭,Circle的合规实践成功打入美国主流金融市场;监管机构将稳定币严格限定在支付领域,对其衍生金…

    2025年12月8日
    000
  • 比特币价格屡创新高,背后的推动因素有哪些?

    比特币价格飙升源于机构入场、流动性泛滥、技术突破及认知变革。1.传统金融机构接纳比特币,将其定义为“数字黄金”;2.全球央行放水促使资金转向抗通胀资产;3.减半事件与技术进步强化稀缺性与实用性;4.其去中心化特性回应了对传统金融体系的不信任;5.长期价值支撑来自数字稀缺性、全球流动性与机构化配置。 …

    2025年12月8日
    000
  • 比特币价格创新高后,回调风险是否加大?

    比特币在2024年高位回调风险显著上升,原因包括历史周期调整必然性、技术指标超买、资金流动分化及宏观环境不确定性。1.历史周期显示突破前高后常有大幅回调,当前未实现利润和交易所净流入达临界值;2.RSI指标超买持续时间创纪录,杠杆堆积和期权对冲不足加剧风险;3.机构资金流入放缓与散户热情背离,稳定币…

    2025年12月8日
    000
  • 比特币周期已破!未来的12个月有望达到20万?

    比特币(btc)正在飙升。前两天创下122,000美元的历史新高: ‍ 图片:比特币价格,来源:TradingView 如果你还在问自己“我们在比特币周期的哪个阶段”,我有消息要告诉你: 比特币的四年周期已被打破 自比特币诞生以来,它一直遵循一个可靠的四年节奏。 这种预编程的事件——自动将比特币新供…

    2025年12月8日 好文分享
    000
  • 币安APP闪退怎么办?5招解决并优化交易体验

    币安APP闪退可通过五大方法解决。1.重启手机和APP;2.更新至最新版;3.清除缓存;4.检查并确保网络稳定;5.卸载后重新安装官方版本。此外,保持设备性能、关注官方公告及通过正规渠道下载APP可有效预防闪退,保障交易顺畅。 当币安APP突然闪退,你的心是否也跟着一沉?这只是个开始,别急,我们来帮…

    2025年12月8日
    000
  • 为什么这么多用户都在币安交易 全球每10笔现货交易有4笔在币安

    币安成为全球用户首选交易平台的原因在于其市场深度、衍生品流动性及资金储备优势。1.现货市场份额达42%,半年交易量近2万亿美元,确保高效低滑点交易;2.比特币永续合约交易量4.1万亿美元,市场份额38%,带来更小点差、更低强平风险及更快订单执行;3.稳定币储备达316.7亿美元,占全球前十交易所近6…

    2025年12月8日
    000
  • 为什么别人买币能赚钱而我却总在亏?

    不少刚入圈的新手都有一个疑问:为什么身边人炒币好像都在赚钱,轮到自己就总是亏?其实,大多数亏钱的原因都不是“运气差”,而是踩了币圈常见的认知和操作陷阱。 信息滞后,看见暴涨才冲进去 很多人是在看到某币暴涨后才入场,这种“追涨买高点”的行为,容易成为接盘侠。赚钱的人往往早已布局,而你看到的新闻、K线暴…

    2025年12月8日
    000
  • 币圈行情涨跌是不是只看BTC就够了 币圈免费观看行情网址推荐

    很多刚入圈的新手常听到一句话:“比特币涨,全市场就涨;比特币跌,全市场就跌。”这句话虽然在一定程度上反映了btc的市场主导地位,但并不能代表你只看btc行情就能完全掌握整个币圈的趋势。 因此,新手应综合观察BTC、ETH及主流赛道币种的行情变化,而不是只盯着一个币种。 以下是几个无需注册即可查看实时…

    2025年12月8日
    000
  • 为什么币圈总有人亏光?新手如何避坑?

    刚进入币圈的新手常抱有一夜暴富的幻想,但现实中,多数人第一年都在亏钱,甚至有人爆仓清零。不是币圈太险恶,而是认知不到位。想避坑,先了解亏损常见原因。 新手亏损的三大原因 一、盲目跟风:看到热点就All in,没有风控意识,涨了沾沾自喜,跌了直接深套。 二、跟风“抄作业”:在抖音、小红书上看到某博主喊…

    2025年12月8日
    000
  • BONK币是什么?Pump.fun为何推动BONK币价格飙升?BONK币价格展望

    目录 BONK 是什么?它为何颠覆 Pump.funPump.fun 的 TGE 如何推动 Bonk 价格和 Letsbonk 增长Bonk 价格催化剂:ETF 热点、技术突破和创纪录的交易量Bonk 价格展望及投资要点结论:为什么 BONK 和 Letsbonk 领先于 Post-Pump.fun…

    2025年12月8日
    000
  • Grok 是什么?如何运作?如何使用Grok AI 实时识别加密货币信号

    以下是你提供内容的伪原创版本,已确保不改变文章大意,同时保留了原始图片位置,未添加任何解释或说明: 目录 什么是Grok? 为什么情绪在加密货币中如此重要? 案例:马斯克推文后PEPE 币的价格暴涨(2024 年3 月) Grok 如何检测加密货币交易信号 代币提及激增 2.情绪分析 交易者如何利用…

    2025年12月8日 好文分享
    000
  • 为什么比特币是一场“信仰游戏”?

    比特币的价值核心在于社会共识与集体信念,1.其价值完全来自市场预期,人们因相信未来有人愿支付更高价而认可其价值;2.总量固定2100万枚的设计强化稀缺性叙事,推动“数字黄金”信仰;3.去中心化机制依赖全球社区对同一规则的认同,形成技术信用体系;4.被视为传统金融替代的“避风港”,但其稳定性持续接受考…

    2025年12月8日
    000
  • 什么是Caldera(ERA币)?Caldera代币经济与空投获取指南

    目录 Caldera 是什么?ERA 代币有多少种?代币分配代币解锁时间表ERA 有何用途Caldera Rollups 与以太坊Caldera 背后的技术团队与起源重要新闻与事件Caldera(ERA)是一项好的投资吗? 在区块链可扩展性的竞争格局中,一个新项目正吸引着市场的全部关注,这不仅是因为…

    2025年12月8日 好文分享
    000
  • 牛市为什么亏损 币圈大涨行情亏损是为啥

    市场火热但账户缩水的根源在于错误的交易心理和策略,解决方法包括以下三个要点:一、冷静面对亏损,果断止损是关键,接受亏损的正常性,避免恐慌或死扛;二、摒弃预测执念,计划需灵活调整,根据市场动态及时改变策略而非固守旧计划;三、坚持复盘纠错,实现认知迭代,通过总结失败经验提升判断力和应对能力。 市场一片火…

    2025年12月8日
    000
  • 什么是“币价锚定”? USDT为什么不波动?

    本文将带您了解稳定币USDT价格为何始终锚定在1美元左右。通过分析其储备资产、套利机制和市场信任,我们将揭示USDT稳定背后的逻辑。同时也提醒用户注意其潜在风险。在使用USDT等稳定币时,选择安全可靠的交易平台至关重要。 什么是币价锚定? 币价锚定是一种将加密货币的价格与某种稳定资产(通常是法定货币…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信