首先需要了解一下脚本语言在数字IC设计中的作用,C、C++等编程语言是为了开发软件或高性能计算应用,要是开发简单的应用,脚本语言更为简单,缩短了传统的“编写-编译-链接-运行”过程。IC设计中常用的脚本有Tcl、Perl、Shell、Python等。其中,Tcl最简单。

1.Tcl脚本语言

工具控制语言(Tool Control Language, Tcl)是图形工具箱的扩展,提供各种GUI接口。Tcl只支持一种数据结构,即字符串。所有的命令、命令里的所有的参数、命令的结果、变量全部都是字符串。

Tcl在IC领域的主要作用如下:

(1)复杂的文本处理。Tcl可以把文本中的每一行变成一个列表,最简单的列表就是由包含任意个空格、制表符、换行符分隔开的任意多个元素的字符串。正则表达式是文本处理的大杀器,Tcl支持正则表达式。

给定一个正则表达式和另一个字符串,可以实现:给定字符串是否符合正则表达式的过滤逻辑(匹配),也可以通过正则表达式从字符串中获取我们想要的特定部分。应用主要包括:替换指定内容到行尾、数字替换、删除每一行行尾的指定字符、替换带有半角括号的多行和删除空行等。

原始文本如下面两行

abc aaaaa

123 abc 444

希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”

即上面的文本最终替换为:

abc efg

123 abc efg

解决:

① 在替换对话框,查找内容里输入“abc.*”,替换内容输入为“abc efg”

② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮

其中,符号的含义如下:

“.” =匹配任意字符

“*” =匹配0次或更多

(2)自动化执行flow。例如自动执行整个综合的flow,得到最后的结果和report,只要敲一次键盘即可完成。

(3)编写一些强大的EDA工具。

Tcl脚本在IC设计中的应用 https://zhuanlan.zhihu.com/p/28039778

在vivado中经常使用的tcl命令主要包括以下几个。

(1)将工程保存为.tcl文件,便于工程的备份和分发。

write_project_tcl+工程路径+tcl文件名

(2)用tcl文件生成工程。

cd+工程路径

source+tcl文件

(3)引脚分配:write_xdc

(4)保存截取的波形。

write_hw_ila_data + 路径 + [upload_hw_ila_data hw_ila_*]

(5)读取波形并运行。

read_hw_ila_data + 路径

display_hw_ila_data

2.Perl脚本

实用报表提取语言(Practical Extraction and Report Language, Perl)脚本能够高效批量化操作,降低错误率,提高效率。如批量生成verilog代码,快速生成仿真testbench,verilog代码的自动对齐,module模块的例化连接。

Perl是一种用于文本处理的脚本语言,不需要编译就可以直接运行。

Perl脚本在数字IC设计中有哪些应用? https://blog.csdn.net/icxiaoge/article/details/80259324

数字IC设计之脚本语言相关推荐

  1. 数字 IC 设计领域的书籍、工具、脚本推荐

    数字 IC 设计领域的书籍.工具.脚本推荐 版权所有,⌊新芯设计⌉\lfloor新芯设计\rceil⌊新芯设计⌉,转载文章,请注来源 文章目录 数字 IC 设计领域的书籍.工具.脚本推荐 引言

  2. linux mipi驱动分析_寒武纪社招内推数字IC设计、DSI驱动、软件架构、产品经理、芯片架构、工具链开发、深度学习、FAE工程师...

    点击上方蓝字关注我吧! 为什么内推更靠谱?内推是基于人脉关系链的推荐,其背后有一定的信用背书,靠谱的人推荐的人相对也会比较靠谱,所以企业一般职位都是从内部开始分享的,相较于自己海投简历,内推的效率和成 ...

  3. verilog hdl数字集成电路设计原理与应用_数字IC设计经典书籍推荐

    数字IC设计流程很复杂,从前端到后端,也有很多职位.在这里整理了个数字IC各个环节的经典必读书籍.市面上的书籍种类纷繁复杂,这里每种只推荐两本左右,如果需要,建议知识类的书籍还是购买正版,尊重作者,也 ...

  4. 数字IC设计工程师笔试面试经典100题

    1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来 ...

  5. 数字IC设计前端必读书籍

    数字IC设计前端推荐书籍 本文将从简单到复杂的顺序依次列出数字IC设计需要阅读的书籍. 1.数字电路基础 数字IC设计最基础的书籍了,相关书籍比较多,可以随意挑选:主要是为了弄清楚与或门电路,触发器. ...

  6. 数字IC设计工程师成长之路

    转载:http://kellen.wang/zh/the-knowledge-base-of-a-qualified-ic-design-engineer/ I. 技能清单 作为一个真正合格的数字IC ...

  7. 数字IC设计工程师的知识结构

    刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...

  8. 一个合格数字IC设计工程师的知识结构

    本文转自:http://kellen.wang/zh/the-knowledge-base-of-a-qualified-ic-design-engineer/ 刚毕业的时候,我年少轻狂,以为自己已经 ...

  9. 数字IC设计工程师的知识结构(转载学习)

    I. 技能清单 作为一个真正合格的数字IC设计工程师,你永远都需要去不断学习更加先进的知识和技术.因此,这里列出来的技能永远都不会是完整的.我尽量每年都对这个列表进行一次更新.如果你觉得这个清单不全面 ...

最新文章

  1. C#高级编程----错误和异常的总结
  2. Nginx反向代理之proxy_set_header指令
  3. root无法运行命令解决办法
  4. PNG免扣苹果IPHONE手机模型样机,让一切简单一点!
  5. springmvc5源码
  6. 内联滴灌行业调研报告 - 市场现状分析与发展前景预测
  7. ASP.net在页面所有内容生成后、输出内容前对页面内容进行操作
  8. froglt教你使用色相环配色(原创理论)
  9. java工控_用java做工控的大神进
  10. selenium3.0操作复选框
  11. Go学习笔记—定时器、打点器
  12. 海尔空调、新风系统加装wifi模块
  13. 局部线性嵌入 (Locally linear embedding-LLE)原理总结
  14. uwb室内定位应用DW1000 TWR测距
  15. python发html邮件_在python中如何制作发送HTML格式的邮件?
  16. 常见排序方法 <十种排序方法>
  17. Excel - 表格设置数字下拉数值不变不递增
  18. Android手机投屏初探
  19. 百度开放云 文档转码服务
  20. C语言学习第一天~Eclipse MinGW环境搭建

热门文章

  1. Jupyter Notebook修改默认主题字体大小 - 放大字号后眼睛再也不累了
  2. 神经网络结构包括哪些,神经网络的种类和特点
  3. 用jquery实现换肤的效果
  4. Windows开机后不显示桌面解决办法
  5. IDEA快捷键设置复制上一行(CTRL+D)
  6. c语言 10分苹果,POJ1664 放苹果 递归 C语言
  7. java类名可以是数字吗_在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。_学小易找答案...
  8. 动规之-分组背包问题
  9. 第八届高分子材料国际研讨会(PMS_D 2021)
  10. sublime text3 python找不到文件路径_如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法...