《可编程ASIC集成数字系统》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:孟宪元编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1998
  • ISBN:7505341758
  • 页数:412 页
图书介绍:本书从系统级设计和集成的角度介绍可编程专用集成电路(ASIC)器件的结构和可编程资源,用FPGA和CPLD进行数字系统设计综合的特点;选择了Xilinx的典型器件结构作详尽介绍的基础上,从系统级设计的要求介绍了VHDL和XABEL两种硬件描述语言;以设计实例为基础介绍了Xilinx开发软件的操作使用和系统集成的设计实现,为读者掌握先进的电子系统集成化设计技术提供了方便。电子系统的设计进入一个全新的时代,以前从市场上购买集成电路(IC)产品的在印制板上集成系统,今后可以从网络上选购知识产权(IP)产品在单个芯版上集成系统。本书为从事电子系统设计的工程技术人员掌握最新设计技术提供实用的参考书,也可作为大专院校电子类学科的教学参考书。

绪 论 1

一、可编程器件对电子系统设计的影响 1

二、系统集成芯片的设计要求 2

三、设计方法的发展趋势 3

第一章 可编程ASIC器件 5

1.1 CPLD 5

1.1.1 CPLD结构 5

1.1.2 典型CPLD器件 7

1.2 FPGA 10

1.2.1 FPGA的结构 10

1.2.2 SRAM-查找表类型 15

1.2.3 反熔丝多路开关类型 18

1.3.1 计算逻辑阵列的结构 20

1.3 计算逻辑阵列 20

1.3.2 第一代可配置计算阵列 21

1.3.3 第二代的可配置计算阵列—XC6200系列 21

1.4 可编程ASIC的基本资源 23

1.4.1 功能单元 23

1.4.2 输入-输出焊盘 25

1.4.3 布线资源 27

1.4.4 片内RAM 30

1.5 边界扫描技术 33

1.6 可编程ASIC的编程元件 36

1.6.1 熔丝型开关 36

1.6.2 反熔丝开关 37

1.6.3 浮栅编程技术 39

1.6.4 静态存储器(SRAM) 43

2.1 数字系统的综合 47

2.1.1 抽象的级别 47

第二章 可编程ASIC的设计 47

2.1.2 综合的定义 49

2.1.3 系统级综合 50

2.1.4 寄存器转移级综合 51

2.1.5 逻辑级综合 54

2.2 可编程ASIC的逻辑综合 57

2.2.1 逻辑综合概述 57

2.2.2 两级逻辑最小化 59

2.2.3 基于查找表结构的多级逻辑优化 63

2.2.4 立方体归并(cube-paching) 72

2.2.5 工艺映射 73

2.2.6 基于MUX结构的多级逻辑优化 74

2.3 状态机设计 78

2.3.1 二进制编码 78

2.3.2 一个有效编码 79

2.4.1 布局 81

2.4 FPGA的布局和布线 81

2.4.2 布线 85

2.4.3 布通率和布线资源 90

2.4.4 网线延时 91

2.5 Xilinx的设计流程 94

2.5.1 设计输入 94

2.5.2 设计实现 95

2.5.3 设计验证 96

2.5.4 Xilinx FPGA详细的设计流程 97

2.5.5 Xilinx CPLD详细设计流程 98

第三章 CPLD-XC9500系列 99

3.1 结构描述 99

3.1.1 功能块(FB) 99

3.1.2 宏单元 99

3.1.4 FastCONNECT开关矩阵 102

3.1.5 I/O块(IOB) 102

3.1.3 乘积项分配器 102

3.1.6 持续性 106

3.1.7 设计保密性 106

3.1.8 低功率模式 106

3.1.9 加电特性 106

3.2 XC9500时序模型 108

3.2.1 时序模型 108

3.2.2 基本时序模型的参数 109

3.3 系统内编程 112

3.3.1 JTAG边界扫描接口 112

3.3.2 边界扫描系统中利用系统内编程 115

3.4 引腿锁定能力 121

3.4.2 XC9500布线资源 121

3.4.3 数据通道的估算 121

3.4.5 出腿预分配 122

3.4.4 控制通道估算 122

3.5 设计优化 123

3.5.1 优化密度 123

3.5.2 优化时序 124

3.5.3 优化原理图设计 124

3.5.4 优化ABEL设计 124

3.5.5 优化VHDL设计 126

4.1 概述 127

第四章 FPGA—XC4000系列 127

4.2 结构 128

4.2.1 基本积木块 128

4.2.2 可配置逻辑功能块(CLB) 128

4.2.3 输入/输出功能块(IOB) 143

4.2.4 三态缓冲器 149

4.2.5 沿边宽译码器 151

4.2.6 片内振荡器 151

4.3.2 CLB布线连接 152

4.3 可编程互连 152

4.3.1 互连概述 152

4.3.3 I/O布线 159

4.3.4 全局网线和缓冲器 160

4.4 功率分布 165

4.5 边界扫描电路 166

4.5.1 XC4000/XC5000边界扫描特性概述 166

4.5.2 与IEEE标准的偏差 166

4.5.3 边界扫描硬件描述 167

4.5.4 利用边界扫描电路 171

4.6 配 置 175

4.6.1 专用引腿 175

4.6.2 配置模式 175

4.6.3 设置CCLK频率 178

4.6.4 数据流格式 178

4.6.5 配置和读回的CRC校验 179

4.6.6 配置顺序 180

4.6.7 配置时序 186

第五章 可编程计算阵列—XC6200系列 194

5.1 概述 194

5.2 功能描述 194

5.2.1 逻辑和物理组织 194

5.2.2 单元、块和砖 194

5.2.3 布线资源 196

5.2.4 功能单元 197

5.2.5 布线开关 200

5.2.6 时钟分布 200

5.2.7 清除分布 202

5.2.8 输入/输出功能块(IOB) 202

5.2.9 I/O布线 203

5.3.2 XC6200的逻辑设计 205

5.3 XC6200的设计 205

5.3.1 XC6200的板级设计 205

5.3.3 XC6200的软件设计 207

5.4 寄存器存取 207

5.4.1 映射寄存器(Map Register) 208

5.4.2 屏蔽寄存器(Mask Register) 210

5.5 编程 210

5.5.1 并行编程接口 210

5.5.2 通配符寄存器 211

5.5.3 串行编程接口 213

5.5.4 复位和初始化 215

第六章 硬件设计描述语言 216

6.1 硬件模型 217

6.1.1 行为模型:(Behavioral Model) 217

6.1.2 时间模型(Time Model) 219

6.1.3 结构模型 220

6.2.1 结构和行为 222

6.2 VHDL基础 222

6.2.2 目标和目标类型 229

6.2.3 结构间挂接 233

6.2.4 主要的VHDL结构 235

6.2.5 并行性和时序域 245

6.2.6 库(library) 248

6.3 VHDL设计数字系统 251

6.3.1 编程组合逻辑 252

6.3.2 编程时序逻辑 261

6.3.3 编程有限状态机 267

6.3.4 VHDL的类型综合 272

6.3.5 属性 276

第七章 ABEL语言 285

7.1 概述 285

7.2.2 标识符 290

7.2 基本句法 290

7.2.1 支持ASCⅡ字符 290

7.2.3 常数 291

7.2.5 注释 294

7.2.6 数 294

7.2.7 字符串 295

7.2.8 运算符、表达式和方程 295

7.2.9 集合 299

7.2.10 幅值和幅值置换 303

7.3 基本结构 305

7.3.1 头部 305

7.3.2 说明(Declarations) 305

7.3.3 逻辑描述 308

7.3.4 测试矢量部分 310

7.3.6 其它语句 311

7.3.5 结束语句 311

7.4 状态机设计方法 312

7.4.1 状态机的例子 312

7.4.2 状态图 312

7.4.3 状态表 312

7.5 使用XABEL和CPLD 315

7.5.1 利用真值表 315

7.5.2 利用状态图 316

7.5.3 利用特性语句 319

7.5.4 设计例子 321

第八章 Xilinx可编程ASIC设计和实现 325

8.1 简 介 325

8.2 设计准备工作 325

8.2.1 安装设计项目 325

8.2.2 设计的目录及文件 325

8.2.3 启动工程项管理器(Project Manager) 326

8.2.4 拷贝设计文件 328

8.2.5 启动原理图编辑器(Schematic Editor) 328

8.2.6 输入命令 328

8.2.7 屏幕操作 328

8.2.8 使用XC9500系列器件 330

8.3 完成Calc设计 330

8.3.1 设计说明 330

8.3.2 建立ANDBLK2符号 331

8.3.3 创建ANDBLK2原理图 332

8.3.4 完成ALU原理图 336

8.3.5 对Xilinx库元素的说明 340

8.3.6 返回Calc原理图 342

8.3.7 使用XC4000E晶振 342

8.4.1 管脚定位(仅限于XC4000系列) 344

8.4 从原理图控制设计实现 344

8.4.2 控制转换速率 345

8.4.3 使用I/O触发器 346

8.4.4 储存Calc原理图 347

8.5 基于非XC4000系列器件的修改 347

8.5.1 RAM堆栈实现 347

8.5.2 删除XC4000E晶振 348

8.6 使用LogiBLOX 349

8.7 使用状态编辑器 351

8.7.1 创建状态机宏 351

8.7.2 定义状态 351

8.7.3 定义转移、条件和操作 352

8.7.4 生成并编译VHDL码 355

8.7.5 放置创建的宏 355

8.8 使用HDL编辑器和X—VHDL 356

8.8.1 创建VHDL宏 356

8.8.2 创建并编辑VHDL码 357

8.8.3 编译VHDL码 359

8.8.4 放置VHDL宏 359

8.9 完成设计输入 359

8.9.1 对特殊元件的说明 359

8.9.2 使用控制文件 361

8.10 功能仿真 362

8.10.1 启动逻辑仿真器(Logic Simulator) 362

8.10.2 选择欲测试的连线 363

8.10.3 有关总线的操作 365

8.10.4 指定激励源 366

8.10.5 储存输入波形 368

8.10.6 仿真过程 368

8.11 使用设计实现工具 370

8.12.1 时序仿真 373

8.12 其他操作 373

8.12.2 用EPIC检查布线后设计 375

8.12.3 使用Xilinx演示板检验设计 375

8.12.4 实现增量设计 376

8.13 Express设计calc 378

附录一 CALC原理图 392

附录二 CALC-VHDL文件 401

附2.1 Calc.VHD 401

附2.2 OSC4.VHD 402

附2.3 ALU.VHD 403

附2.4 SW7.VHD 404

附2.5 DEBOUNCE.VHD 405

附2.6 SEG7DEC.VHD 405

附2.7 CONTROL.VHD 406

附2.8 STACK_4K.VHD 410

参 考 书 411