书籍详情
可编程ASIC 设计及应用
作者:李广军 孟宪元
出版社:电子科技大学出版社
出版时间:2000-10-01
ISBN:9787810655255
定价:¥40.00
购买这本书可以去
内容简介
本书从系统级设计和系统集成芯片(SOC)设计技术的角度介绍可编程专用集成电路(ASIC)器件的结构和可编程资源,用FPGA和CPLD进行数字系统设计综合的特点;在详尽介绍Xilinx典型器件结构的基础上,按系统设计的要求介绍了VHDL硬件描述语言的基本语言现象、仿真与综合技术、面向仿真和综合的VHDL程序设计技术:以设计实例为基础介绍了Xilinx开发软件系统的操作使用和系统集成的设计实现,为读者掌握先进的电子系统集成化设计技术提供了方便。全书列举了大量VHDL实验设计示例,其中大部分经VHDL综合器编译通过。本书可作为大专院校电子类学科的教学参考书与实验指导书,也可作为电子系统设计工程技术人员掌握最新设计技术的实用参考书。
作者简介
暂缺《可编程ASIC 设计及应用》作者简介
目录
绪论
第一章 可编程ASIC器件
1.1 PLD器件
1.1.1 PROM结构
1.1.2 FPLA结构
1.1.3 PAL和GAL结构
1.2 CPLD
1.2.1 CPLD结构
1.2.2 典型CPLD器件
1.3 FPGA
1.3.1 FPGA的结构
1.3.2 SRAM查找表类型
1.3.3 反熔丝多路开关类型
1.4 可编程ASIC的基本资源
1.4.1 功能单元
1.4.2 输入输出接口
1.4.3 布线资源
1.4.4 片内RAM
1.4.5 系统级芯片的特点
1.4.6 系统级芯片的发展趋势
1.5 边界扫描技术
1.6 可编程ASIC的编程元件
1.6.1 熔丝型开关
1.6.2 反熔丝开关
1.6.3 浮栅编程技术
1.6.4 静态存储器(SRAM)
1.7 CPLD和FPGA的比较和选用
1.7.1 结构比较
1.7.2 逻辑块之间的互连结构不同
1.7.3 性能的选用
第二章 硬件设计描述语言VHDL
2.1 概述
2.1.1 VHDL的主要优点
2.1.2 采用VHDL设计综合的过程
2.2 VHDL程序基本结构
2.2.1 VHDL语言设计的基本单元
2.2.2 结构体的子结构描述
2.2.3 包集合、库及配置
2.3 VHDL语言的数据类型
2.3.1 VHDL语言的对象及其分类
2.3.2 VHDL语言的数据类型
2.4 VHDL语言的运算操作符
2.4.1 逻辑运算符(6种)
2.4.2 算术运算符
2.4.3 关系运算符
2.4.4 并置运算符
2.5 VHDL最基本的描述方法
2.5.1 顺序描述语句
2.5.2 并行(并发)描述语句(Concurrent Statements)
2.5.3 其他语句和有关规定的说明
2.6 预定义属性(ATTRIBUTE)描述
2.6.1 数值类型性
2.6.2 函数类属性
2.6.3 信号类属性
2.7 VHDL语言结构体的描述风格
2.7.1 结构体的行为描述方式
2.7.2 结构体的数据流描述方式
2.7.3 结构体的结构描述方式
第三章 可编程ASIC的设计
3.1 数字系统综合概述
3.1.1 抽象的级别
3.1.2 综合的定义
3.1.3 系统级综合
3.1.4 寄存器转移级综合
3.1.5 逻辑级综合
3.2 综合技术基础
3.2.1 基本符号
3.2.2 图形
3.2.3 组合最优化(Combinatorial Optimization)
3.2.4 布尔代数及应用
3.2.5 布尔网络
3.2.6 可处理和不可处理问题
3.3 可编程ASIC的逻辑综合
3.3.1 逻辑综合概述
3.3.2 两级逻辑最小化
3.3.3 基于查找表结构的多级逻辑优化
3.3.4 立方体归并(cube-paching)
3.3.5 工艺映射
3.3.6 基于MUX结构的多级逻辑优化
3.4 状态机设计
3.4.1 二进制编码
3.4.2 一个有效的编码
3.5 FPGA的布局和布线
3.5.1 布局
3.5.2 布线
3.5.3 布通率和布线资源
3.5.4 网线延时
3.6 Xilinx的设计流程
3.6.1 设计输入
3.6.2 设计实现
3.6.3 设计验证
3.6.4 Xlinx FPGA详细的设计流程
3.6.5 Xilinx CPLD详细设计流程
第四章 CPLD-XC9500系列
4.1 结构描述
4.1.1 功能块(FB)
4.1.2 宏单元
4.1.3 乘积项分配器
4.1.4 FastCONNECT开关矩阵
4.1.5 I/O块(IOB)
4.1.6 持续性
4.1.7 设计保密性
4.1.8 低功率模式
4.1.9 加电特性
4.2 XC9500时序模型
4.2.1 时序模型
4.2.2 基本时序模型的参数
4.3 系统内编程
4.3.1 JTAG边界扫描接口
4.3.2 产生边界扫描链
4.3.3 ISP编程
4.3.4 系统级设计问题
4.4 引腿锁定能力
4.4.1 出腿预分配
4.4.2 XC9500布线资源
4.4.3 数据通道的估算
4.4.4 控制通道估算
4.4.5 出腿预分配
4.5 设计优化
4.5.1 优化密度
4.5.2 优化时序
4.5.3 优化原理图设计
4.5.4 优化ABEL设计
4.5.5 优化VHDL设计
第五章 可编程门阵列
5.1 概述
5.2 XC4000E/Spartan系列结构
5.2.1 基本积木块
5.2.2 可配置逻辑功能块(CLB)
5.2.3 输入输出功能块(IOB)
5.2.4 三态缓冲器
5.2.5 沿边宽译码器
5.2.6 片内振荡器
5.2.7 可编程互连
5.2.8 功率分布
5.3 Virtex/SpartanⅡ系列结构
5.3.1 特点
5.3.2 结构描述
5.4 边界扫描电路
5.4.1 XC4000/XC5000边界扫描特性概述
5.4.2 与IEEE标准的偏差
5.4.3 边界扫描硬件描述
5.4.4 利用边界扫描电路
5.4.5 Virtex的边界扫描
5.5 配置
5.5.1 专用引腿
5.5.2 配置模式
5.5.3 设置CCLK频率
5.5.4 数据流格式
5.5.5 配置和读回的CRC校验
5.5.6 配置顺序
5.5.7 配置时序
5.5.8 可编程配置RAM
第六章 面向仿真和综合的VHDL设计描述
6.1 面向仿真的VHDL设计描述
6.2 面向综合的VHDL设计描述
6.2.1 逻辑综合
6.2.2 面向综合的VHDL设计描述的特点
6.3 组合逻辑电路设计
6.3.1 用并行语句中的布尔方程来描述组合逻辑
6.3.2 用顺序语句描述组合逻辑
6.3.3 利用进程描述组合逻辑
6.3.4 其他组合逻辑设计举例
6.4 时序电路设计
6.4.1 时序电路VHDL程序的一般形式
6.4.2 时钟信号的特征及特殊问题
6.4.3 时序电路设计举例
6.5 有限状态机的设计
6.5.1 在FPGA中设计有限状态机
6.5.2 有限状态机的描述
6.5.3 状态机综合例子
6.6 同步设计
6.6.1 保证系统的时钟信号不产生相位偏移
6.6.2 准稳态的产生和消除
6.6.3 毛刺的产生和消除
6.6.4 利用预定标技术来提高计数器性能
6.6.5 所设计电路的工作速度和性能估计
6.6.6 设计中要注意的一些问题
6.7 在约束条件下的设计综合
6.7.1 物理布局和实现的约束
6.7.2 通用时序约束
6.7.3 周期和偏移约束
6.7.4 专门时序约束
6.7.5 约束优先级
6.7.6 约束推荐
6.7.7 映射约束
6.7.8 其他约束
6.8 面向CPLD/FPGA的逻辑综合及优化设计
6.8.1 设计实现与逻辑综合的区分
6.8.2 约束条件
6.8.3 面向CPLD器件的实现
6.8.4 面向FPGA器件的实现
6.8.5 优化设计
6.9 系统级综合
6.9.1 VHDL软件包
6.9.2 VHDL函数
6.9.3 VHDL过程
第七章 设计实现
7.1 基于原理图设计方法
7.1.1 启动原理图编辑器
7.1.2 产生基于原理图的宏单元
7.1.3 创建CNT60原理图
7.1.4 创建一个LogiBLOX模块
7.1.5 创建状态机模块
7.1.6 创建一个基于HDL模块
7.1.7 规定器件输入输出
7.1.8 分配引腿位置
7.1.9 使用4K内部振荡器
7.1.10 使用全局缓冲器
7.1.11 硬件校验——启动和读回(可选择)
7.1.12 完成原理图
7.2 基于硬件描述语言的设计方法
7.2.1 启动项目管理器
7.2.2 设计描述
7.2.3 项目管理器
7.2.4 创建一个基于HDL的模块
7.2.5 综合设计
7.2.6 Express Constraints Editor(仅对应Foundation Express)
7.2.7 使用Express Constraints Editor(仅对应Foundation Express)
7.2.8 观察综合结果(仅对应Foundation Express)
7.3 功能仿真
7.3.1 启动逻辑仿真器(Logic Simulator)
7.3.2 指定激励源
7.3.3 运行仿真
7.3.4 保存仿真结果
7.4 设计实现
7.4.1 启动设计实现
7.4.2 其他实现工具
7.5 时序仿真
7.5.1 启动时序仿真
7.5.2 用稿本文件激励
7.6 硬件验证
7.7 乘法器设计例子
第八章 Xilinx FPGA/CPLD实验系统与VHDL设计实验
8.1 Xilinx FPGA/CPLD实验系统简介
8.1.1 XS40实验板原理
8.1.2 XS40扩展板原理
8.1.3 实验系统的调试
8.2 VHDL数字逻辑电路设计试验
8.2.1 实验一:3-8译码器
8.2.2 实验二:双向计数器
8.2.3 实验三:8位序列检测器
8.2.4 实验四:8X3位的RAM结构的FIFO
8.2.5 实验五:LED和DIP开关的接口设计
8.2.6 实验六:VGA接口设计
8.2.7 实验七:PS/2键盘接口设计
8.2.8 实验八:8位并行加法器设计
8.2.9 实验九:8位乘法器
8.2.10 实验十:正负脉宽数控调制信号发生器设计
8.2.11 实验十一:模可变16位加法计数器
8.2.12 实验十二:“梁祝”乐曲演奏电路设计
8.2.13 实验十三:数字频率计设计
8.2.14 实验十四:秒表设计
8.2.15 实验十五:A/D采样控制器设计
8.2.16 实验十六:D/A接口电路与波形发生器设计
8.2.17 实验十七:单片机与FPGA/CPLD接口逻辑设计
附录一:清华大学ASIC实验板原理图
附录二:清华大学ASIC实验板PCB图
参考文献
第一章 可编程ASIC器件
1.1 PLD器件
1.1.1 PROM结构
1.1.2 FPLA结构
1.1.3 PAL和GAL结构
1.2 CPLD
1.2.1 CPLD结构
1.2.2 典型CPLD器件
1.3 FPGA
1.3.1 FPGA的结构
1.3.2 SRAM查找表类型
1.3.3 反熔丝多路开关类型
1.4 可编程ASIC的基本资源
1.4.1 功能单元
1.4.2 输入输出接口
1.4.3 布线资源
1.4.4 片内RAM
1.4.5 系统级芯片的特点
1.4.6 系统级芯片的发展趋势
1.5 边界扫描技术
1.6 可编程ASIC的编程元件
1.6.1 熔丝型开关
1.6.2 反熔丝开关
1.6.3 浮栅编程技术
1.6.4 静态存储器(SRAM)
1.7 CPLD和FPGA的比较和选用
1.7.1 结构比较
1.7.2 逻辑块之间的互连结构不同
1.7.3 性能的选用
第二章 硬件设计描述语言VHDL
2.1 概述
2.1.1 VHDL的主要优点
2.1.2 采用VHDL设计综合的过程
2.2 VHDL程序基本结构
2.2.1 VHDL语言设计的基本单元
2.2.2 结构体的子结构描述
2.2.3 包集合、库及配置
2.3 VHDL语言的数据类型
2.3.1 VHDL语言的对象及其分类
2.3.2 VHDL语言的数据类型
2.4 VHDL语言的运算操作符
2.4.1 逻辑运算符(6种)
2.4.2 算术运算符
2.4.3 关系运算符
2.4.4 并置运算符
2.5 VHDL最基本的描述方法
2.5.1 顺序描述语句
2.5.2 并行(并发)描述语句(Concurrent Statements)
2.5.3 其他语句和有关规定的说明
2.6 预定义属性(ATTRIBUTE)描述
2.6.1 数值类型性
2.6.2 函数类属性
2.6.3 信号类属性
2.7 VHDL语言结构体的描述风格
2.7.1 结构体的行为描述方式
2.7.2 结构体的数据流描述方式
2.7.3 结构体的结构描述方式
第三章 可编程ASIC的设计
3.1 数字系统综合概述
3.1.1 抽象的级别
3.1.2 综合的定义
3.1.3 系统级综合
3.1.4 寄存器转移级综合
3.1.5 逻辑级综合
3.2 综合技术基础
3.2.1 基本符号
3.2.2 图形
3.2.3 组合最优化(Combinatorial Optimization)
3.2.4 布尔代数及应用
3.2.5 布尔网络
3.2.6 可处理和不可处理问题
3.3 可编程ASIC的逻辑综合
3.3.1 逻辑综合概述
3.3.2 两级逻辑最小化
3.3.3 基于查找表结构的多级逻辑优化
3.3.4 立方体归并(cube-paching)
3.3.5 工艺映射
3.3.6 基于MUX结构的多级逻辑优化
3.4 状态机设计
3.4.1 二进制编码
3.4.2 一个有效的编码
3.5 FPGA的布局和布线
3.5.1 布局
3.5.2 布线
3.5.3 布通率和布线资源
3.5.4 网线延时
3.6 Xilinx的设计流程
3.6.1 设计输入
3.6.2 设计实现
3.6.3 设计验证
3.6.4 Xlinx FPGA详细的设计流程
3.6.5 Xilinx CPLD详细设计流程
第四章 CPLD-XC9500系列
4.1 结构描述
4.1.1 功能块(FB)
4.1.2 宏单元
4.1.3 乘积项分配器
4.1.4 FastCONNECT开关矩阵
4.1.5 I/O块(IOB)
4.1.6 持续性
4.1.7 设计保密性
4.1.8 低功率模式
4.1.9 加电特性
4.2 XC9500时序模型
4.2.1 时序模型
4.2.2 基本时序模型的参数
4.3 系统内编程
4.3.1 JTAG边界扫描接口
4.3.2 产生边界扫描链
4.3.3 ISP编程
4.3.4 系统级设计问题
4.4 引腿锁定能力
4.4.1 出腿预分配
4.4.2 XC9500布线资源
4.4.3 数据通道的估算
4.4.4 控制通道估算
4.4.5 出腿预分配
4.5 设计优化
4.5.1 优化密度
4.5.2 优化时序
4.5.3 优化原理图设计
4.5.4 优化ABEL设计
4.5.5 优化VHDL设计
第五章 可编程门阵列
5.1 概述
5.2 XC4000E/Spartan系列结构
5.2.1 基本积木块
5.2.2 可配置逻辑功能块(CLB)
5.2.3 输入输出功能块(IOB)
5.2.4 三态缓冲器
5.2.5 沿边宽译码器
5.2.6 片内振荡器
5.2.7 可编程互连
5.2.8 功率分布
5.3 Virtex/SpartanⅡ系列结构
5.3.1 特点
5.3.2 结构描述
5.4 边界扫描电路
5.4.1 XC4000/XC5000边界扫描特性概述
5.4.2 与IEEE标准的偏差
5.4.3 边界扫描硬件描述
5.4.4 利用边界扫描电路
5.4.5 Virtex的边界扫描
5.5 配置
5.5.1 专用引腿
5.5.2 配置模式
5.5.3 设置CCLK频率
5.5.4 数据流格式
5.5.5 配置和读回的CRC校验
5.5.6 配置顺序
5.5.7 配置时序
5.5.8 可编程配置RAM
第六章 面向仿真和综合的VHDL设计描述
6.1 面向仿真的VHDL设计描述
6.2 面向综合的VHDL设计描述
6.2.1 逻辑综合
6.2.2 面向综合的VHDL设计描述的特点
6.3 组合逻辑电路设计
6.3.1 用并行语句中的布尔方程来描述组合逻辑
6.3.2 用顺序语句描述组合逻辑
6.3.3 利用进程描述组合逻辑
6.3.4 其他组合逻辑设计举例
6.4 时序电路设计
6.4.1 时序电路VHDL程序的一般形式
6.4.2 时钟信号的特征及特殊问题
6.4.3 时序电路设计举例
6.5 有限状态机的设计
6.5.1 在FPGA中设计有限状态机
6.5.2 有限状态机的描述
6.5.3 状态机综合例子
6.6 同步设计
6.6.1 保证系统的时钟信号不产生相位偏移
6.6.2 准稳态的产生和消除
6.6.3 毛刺的产生和消除
6.6.4 利用预定标技术来提高计数器性能
6.6.5 所设计电路的工作速度和性能估计
6.6.6 设计中要注意的一些问题
6.7 在约束条件下的设计综合
6.7.1 物理布局和实现的约束
6.7.2 通用时序约束
6.7.3 周期和偏移约束
6.7.4 专门时序约束
6.7.5 约束优先级
6.7.6 约束推荐
6.7.7 映射约束
6.7.8 其他约束
6.8 面向CPLD/FPGA的逻辑综合及优化设计
6.8.1 设计实现与逻辑综合的区分
6.8.2 约束条件
6.8.3 面向CPLD器件的实现
6.8.4 面向FPGA器件的实现
6.8.5 优化设计
6.9 系统级综合
6.9.1 VHDL软件包
6.9.2 VHDL函数
6.9.3 VHDL过程
第七章 设计实现
7.1 基于原理图设计方法
7.1.1 启动原理图编辑器
7.1.2 产生基于原理图的宏单元
7.1.3 创建CNT60原理图
7.1.4 创建一个LogiBLOX模块
7.1.5 创建状态机模块
7.1.6 创建一个基于HDL模块
7.1.7 规定器件输入输出
7.1.8 分配引腿位置
7.1.9 使用4K内部振荡器
7.1.10 使用全局缓冲器
7.1.11 硬件校验——启动和读回(可选择)
7.1.12 完成原理图
7.2 基于硬件描述语言的设计方法
7.2.1 启动项目管理器
7.2.2 设计描述
7.2.3 项目管理器
7.2.4 创建一个基于HDL的模块
7.2.5 综合设计
7.2.6 Express Constraints Editor(仅对应Foundation Express)
7.2.7 使用Express Constraints Editor(仅对应Foundation Express)
7.2.8 观察综合结果(仅对应Foundation Express)
7.3 功能仿真
7.3.1 启动逻辑仿真器(Logic Simulator)
7.3.2 指定激励源
7.3.3 运行仿真
7.3.4 保存仿真结果
7.4 设计实现
7.4.1 启动设计实现
7.4.2 其他实现工具
7.5 时序仿真
7.5.1 启动时序仿真
7.5.2 用稿本文件激励
7.6 硬件验证
7.7 乘法器设计例子
第八章 Xilinx FPGA/CPLD实验系统与VHDL设计实验
8.1 Xilinx FPGA/CPLD实验系统简介
8.1.1 XS40实验板原理
8.1.2 XS40扩展板原理
8.1.3 实验系统的调试
8.2 VHDL数字逻辑电路设计试验
8.2.1 实验一:3-8译码器
8.2.2 实验二:双向计数器
8.2.3 实验三:8位序列检测器
8.2.4 实验四:8X3位的RAM结构的FIFO
8.2.5 实验五:LED和DIP开关的接口设计
8.2.6 实验六:VGA接口设计
8.2.7 实验七:PS/2键盘接口设计
8.2.8 实验八:8位并行加法器设计
8.2.9 实验九:8位乘法器
8.2.10 实验十:正负脉宽数控调制信号发生器设计
8.2.11 实验十一:模可变16位加法计数器
8.2.12 实验十二:“梁祝”乐曲演奏电路设计
8.2.13 实验十三:数字频率计设计
8.2.14 实验十四:秒表设计
8.2.15 实验十五:A/D采样控制器设计
8.2.16 实验十六:D/A接口电路与波形发生器设计
8.2.17 实验十七:单片机与FPGA/CPLD接口逻辑设计
附录一:清华大学ASIC实验板原理图
附录二:清华大学ASIC实验板PCB图
参考文献
猜您喜欢