书籍详情
Vivado/Tcl零基础入门与案例实战
作者:高亚军
出版社:电子工业出版社
出版时间:2021-06-01
ISBN:9787121412516
定价:¥79.00
购买这本书可以去
内容简介
本书既是一本有关Tcl语言编程的书籍,又是一本对在Vivado中应用Tcl的实践经验总结的书籍。全书分为两部分:部分为基础部分,以Tcl基础知识为主,包括第1~9章,重在理论;第二部分为应用部分,以Tcl在Vivado中的应用为主,包括第10~14章,重在实践。同时,本书给出了354个Tcl脚本的代码示例,结合49个表格、171张图片帮助读者深入理解知识点。无论Tcl初学者,还是已掌握Tcl精髓的工程师,只要想将Tcl得心应手地应用于Vivado设计与开发,都会从本书中受益。本书可供电子工程领域内的本科高年级学生和研究生参考,也可供FPGA工程师和自学者参考。
作者简介
高亚军,电路与系统专业硕士,FPGA技术分享者,设计优化、时序收敛专家,Vivado工具使用专家,Xilinx资深战略应用工程师。多年来使用Xilinx FPGA实现数字信号处理算法,对Xilinx FPGA器件架构、开发工具Vivado/Vitis HLS/System Generator有着深厚的理论基础和实战经验。主要著作:2011年出版图书《基于FPGA的数字信号处理》2012年发布网络视频课程:Vivado入门与提高2015年出版图书《基于FPGA的数字信号处理(第2版)》2016年出版图书《Vivado从此开始》2016年发布网络视频课程:跟Xilinx SAE学HLS2020年出版图书《Vivado从此开始(进阶篇)》自2018年创建FPGA技术分享公众号:TeacherGaoFPGAHub后,每周更新两篇原创文章,累计发表原创文章280余篇,获得大量粉丝的认可和赞誉。
目录
第1部分 基 础 部 分
第1章 Tcl基础知识 2
1.1 什么是Tcl 2
1.2 Tcl脚本的构成 3
1.3 变量赋值 4
1.4 变量置换 6
1.5 命令置换 10
1.6 反斜线置换 11
1.7 深入理解Tcl中的置换 12
1.8 双引号与花括号 13
1.9 注释与续行 15
1.10 本章小结 18
第2章 表达式 19
2.1 表达式的构成要素 19
2.2 算术操作符 20
2.3 关系操作符 21
2.4 逻辑操作符 22
2.5 按位操作符 23
2.6 选择操作符 24
2.7 数学函数 25
2.8 字符串操作 28
2.9 本章小结 29
第3章 字符串 30
3.1 字符串的表示 30
3.2 字符串的类型 31
3.3 字符串的长度与索引 32
3.4 字符的获取 33
3.5 字符串的添加 34
3.6 字符的删除 34
3.7 字符的替换 35
3.8 字符串的比较 36
3.9 字符串的简单搜索 37
3.10 字符串的匹配 38
3.11 格式化输出 40
3.12 与字符串相关的其他命令 44
3.13 本章小结 45
第4章 列表 47
4.1 创建列表 47
4.2 列表长度与列表索引 49
4.3 获取列表元素 52
4.4 添加列表元素 54
4.5 删除列表元素 56
4.6 替换列表元素 57
4.7 搜索列表元素 58
4.8 对列表元素排序 61
4.9 字符串和列表之间的转换 62
4.10 in和ni操作符 63
4.11 foreach命令 65
4.12 本章小结 68
第5章 数组 69
5.1 创建数组 69
5.2 获取数组中的元素 70
5.3 删除数组中的元素 72
5.4 数组与列表之间的转换 73
5.5 二维数组 74
5.6 本章小结 75
第6章 流程控制 76
6.1 if命令 76
6.2 switch命令 79
6.3 while命令 83
6.4 for命令 85
6.5 source命令 87
6.6 本章小结 88
第7章 过程 89
7.1 过程的构成 89
7.2 过程的参数名列表 90
7.3 过程的返回值 93
7.4 局部变量与全局变量 96
7.5 模拟引用 98
7.6 数组用作参数或返回值 99
7.7 upvar命令 102
7.8 本章小结 106
第8章 命名空间 107
8.1 创建命名空间 107
8.2 创建命名空间变量 111
8.3 命名空间变量的作用域 112
8.4 访问命名空间变量 114
8.5 从命名空间导入和导出命令 116
8.6 创建集合命令 118
8.7 本章小结 119
第9章 访问文件 120
9.1 操纵文件名和目录名 120
9.2 当前工作目录和目录内容 121
9.3 处理磁盘上的文件 123
9.4 获取文件信息 125
9.5 读文件 127
9.6 写文件 129
9.7 处理CSV文件 130
9.8 本章小结 134
第2部分 应用部分
第10章 Vivado设计流程管理 138
10.1 Vivado对Tcl的支持 138
10.2 理解Vivado的设计流程 141
10.3 理解Vivado的两种工作模式 146
10.4 Project模式 147
10.5 Non-Project模式 154
10.6 扫描策略 164
10.7 本章小结 169
第11章 Vivado设计资源管理 170
11.1 管理资源要素 170
11.2 管理HDL代码文件 171
11.3 管理约束文件 176
11.4 管理IP文件 179
11.5 本章小结 183
第12章 Vivado设计分析 184
12.1 FPGA芯片架构中的对象 184
12.2 网表中的对象 192
12.3 时钟分析 204
12.4 时序分析 206
12.5 质量分析 212
12.6 资源利用率分析 221
12.7 逻辑级数分析 222
12.8 复杂度与拥塞分析 224
12.9 扇出分析 226
12.10 UFDM分析 229
12.11 跨时钟域路径分析 230
12.12 约束分析 232
12.13 本章小结 235
第13章 Vivado设计复用 236
13.1 增量编译 236
13.2 复用关键寄存器位置信息 240
13.3 复用Block的位置信息 242
13.4 复用关键路径的布局布线信息 245
13.5 本章小结 248
第14章 其他 249
14.1 模块化综合技术 249
14.2 反复执行物理优化 251
14.3 合理使用过约束 253
14.4 使用IOB寄存器 255
14.5 编辑网表 256
14.6 修改初始值 258
14.7 本章小结 260
第1章 Tcl基础知识 2
1.1 什么是Tcl 2
1.2 Tcl脚本的构成 3
1.3 变量赋值 4
1.4 变量置换 6
1.5 命令置换 10
1.6 反斜线置换 11
1.7 深入理解Tcl中的置换 12
1.8 双引号与花括号 13
1.9 注释与续行 15
1.10 本章小结 18
第2章 表达式 19
2.1 表达式的构成要素 19
2.2 算术操作符 20
2.3 关系操作符 21
2.4 逻辑操作符 22
2.5 按位操作符 23
2.6 选择操作符 24
2.7 数学函数 25
2.8 字符串操作 28
2.9 本章小结 29
第3章 字符串 30
3.1 字符串的表示 30
3.2 字符串的类型 31
3.3 字符串的长度与索引 32
3.4 字符的获取 33
3.5 字符串的添加 34
3.6 字符的删除 34
3.7 字符的替换 35
3.8 字符串的比较 36
3.9 字符串的简单搜索 37
3.10 字符串的匹配 38
3.11 格式化输出 40
3.12 与字符串相关的其他命令 44
3.13 本章小结 45
第4章 列表 47
4.1 创建列表 47
4.2 列表长度与列表索引 49
4.3 获取列表元素 52
4.4 添加列表元素 54
4.5 删除列表元素 56
4.6 替换列表元素 57
4.7 搜索列表元素 58
4.8 对列表元素排序 61
4.9 字符串和列表之间的转换 62
4.10 in和ni操作符 63
4.11 foreach命令 65
4.12 本章小结 68
第5章 数组 69
5.1 创建数组 69
5.2 获取数组中的元素 70
5.3 删除数组中的元素 72
5.4 数组与列表之间的转换 73
5.5 二维数组 74
5.6 本章小结 75
第6章 流程控制 76
6.1 if命令 76
6.2 switch命令 79
6.3 while命令 83
6.4 for命令 85
6.5 source命令 87
6.6 本章小结 88
第7章 过程 89
7.1 过程的构成 89
7.2 过程的参数名列表 90
7.3 过程的返回值 93
7.4 局部变量与全局变量 96
7.5 模拟引用 98
7.6 数组用作参数或返回值 99
7.7 upvar命令 102
7.8 本章小结 106
第8章 命名空间 107
8.1 创建命名空间 107
8.2 创建命名空间变量 111
8.3 命名空间变量的作用域 112
8.4 访问命名空间变量 114
8.5 从命名空间导入和导出命令 116
8.6 创建集合命令 118
8.7 本章小结 119
第9章 访问文件 120
9.1 操纵文件名和目录名 120
9.2 当前工作目录和目录内容 121
9.3 处理磁盘上的文件 123
9.4 获取文件信息 125
9.5 读文件 127
9.6 写文件 129
9.7 处理CSV文件 130
9.8 本章小结 134
第2部分 应用部分
第10章 Vivado设计流程管理 138
10.1 Vivado对Tcl的支持 138
10.2 理解Vivado的设计流程 141
10.3 理解Vivado的两种工作模式 146
10.4 Project模式 147
10.5 Non-Project模式 154
10.6 扫描策略 164
10.7 本章小结 169
第11章 Vivado设计资源管理 170
11.1 管理资源要素 170
11.2 管理HDL代码文件 171
11.3 管理约束文件 176
11.4 管理IP文件 179
11.5 本章小结 183
第12章 Vivado设计分析 184
12.1 FPGA芯片架构中的对象 184
12.2 网表中的对象 192
12.3 时钟分析 204
12.4 时序分析 206
12.5 质量分析 212
12.6 资源利用率分析 221
12.7 逻辑级数分析 222
12.8 复杂度与拥塞分析 224
12.9 扇出分析 226
12.10 UFDM分析 229
12.11 跨时钟域路径分析 230
12.12 约束分析 232
12.13 本章小结 235
第13章 Vivado设计复用 236
13.1 增量编译 236
13.2 复用关键寄存器位置信息 240
13.3 复用Block的位置信息 242
13.4 复用关键路径的布局布线信息 245
13.5 本章小结 248
第14章 其他 249
14.1 模块化综合技术 249
14.2 反复执行物理优化 251
14.3 合理使用过约束 253
14.4 使用IOB寄存器 255
14.5 编辑网表 256
14.6 修改初始值 258
14.7 本章小结 260
猜您喜欢