当前位置:首页 > 工业技术
可编程逻辑器件及EDA技术  数字系统设计与SOPC技术
可编程逻辑器件及EDA技术  数字系统设计与SOPC技术

可编程逻辑器件及EDA技术 数字系统设计与SOPC技术PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:李景华,杜玉远主编
  • 出 版 社:沈阳:东北大学出版社
  • 出版年份:2014
  • ISBN:9787551707084
  • 页数:496 页
图书介绍:本书内容包括:编程逻辑器件基础、数字系统设计、VHDL、典型数字系统设计方法及其实例;同时总结SOPC技术实践的经验和体会的基础上,阐述了SOPC技术的应用器件结构与工作原理、SOPC的硬件设计和软件设计及其IP核应用技术等内容。特别详细讲解了Quartus Ⅱ 7.0的使用方法,Nios Ⅱ系统的软件、硬件设计过程和设计实例;在本书的最后一章还系统地介绍了Altium公司推出的一体化EDA设计工具Altium Designer V6.5,并且以翔实的例子介绍了基于NanoBoard?NB1开发板的EDA设计实现方法。本书可作为高等院校电子信息工程、计算机应用、通信工程、微电子、自动控制类专业的本科生和研究生学习数字系统设计课的教材,也可以作为电子系统设计工程师的技术参考书。
《可编程逻辑器件及EDA技术 数字系统设计与SOPC技术》目录

第1章 可编程器件和EDA技术概述 1

1.1 EDA技术的主要特征 1

1.2 EDA技术的设计方法 3

1.3 可编程逻辑器件简介 4

1.3.1 从ASIC到FPGA/CPLD 4

1.3.2 CPLD器件 7

1.3.3 FPGA器件 13

1.4 可编程逻辑器件设计 28

1.4.1 可编程逻辑器件的设计流程 28

1.4.2 Xilinx公司的ISE开发工具概述 29

1.4.3 Altera公司的Quartus Ⅱ开发工具概述 31

1.5 可编程逻辑器件选型 31

1.5.1 CPLD选择的方法 31

1.5.2 FPGA选择的方法 33

1.6 IP核简介 34

1.7 EDA技术的发展趋势 36

1.7.1 可编程逻辑器件的发展趋势 36

1.7.2 EAD软件开发工具的发展趋势 36

1.7.3 设计输入方式的发展趋势 37

第2章 VHDL硬件描述语言 39

2.1 HDL简介 39

2.1.1 代表性的HDL语言 39

2.1.2 VHDL程序结构 40

2.1.3 程序包 40

2.1.4 库 44

2.1.5 实体和结构体 45

2.1.6 配置 49

2.2 VHDL基本要素 50

2.2.1 标识符 50

2.2.2 数据对象 51

2.2.3 数据类型 53

2.2.4 用户自定义的数据类型 55

2.2.5 数据类型的转换 56

2.2.6 操作符 57

2.2.7 函数类属性 60

2.3 VHDL的主要语句及应用 64

2.3.1 进程 64

2.3.2 过程及其函数 65

2.3.3 顺序描述语句 68

2.3.4 信号赋值语句 73

2.3.5 COMPONENT语句和COMPONENT INSTANT语句 75

2.3.6 GENERIC语句和GENERATE语句 76

第3章 典型VHDL设计实例 79

3.1 组合逻辑电路设计 79

3.1.1 逻辑门电路设计 79

3.1.2 常用编码器设计 81

3.1.3 常用译码器设计 85

3.1.4 数据选择器设计 87

3.1.5 数据分配器设计 89

3.1.6 数值比较器设计 91

3.1.7 算术运算单元电路设计 93

3.2 时序逻辑电路设计 95

3.2.1 常用触发器设计 96

3.2.2 常用数码寄存器设计 98

3.2.3 常用计数器设计 102

3.3 有限状态机设计 105

3.3.1 有限状态机的建模 106

3.3.2 状态编码 109

3.3.3 Mealy型状态机设计 111

3.3.4 Moore型状态机设计 115

3.4 存储器设计 119

3.4.1 只读存储器(ROM)的设计 119

3.4.2 随机存储器(RAM)的设计 121

3.4.3 顺序存取存储器的设计 123

第4章 典型数字系统的设计 125

4.1 数字系统概述 125

4.2 数码管动态显示扫描电路原理及设计 125

4.2.1 数码管动态显示扫描电路原理 125

4.2.2 采用VHDL描述的动态显示扫描电路 126

4.3 乘法器的原理及设计 131

4.3.1 乘法器工作原理 131

4.3.2 采用VHDL描述的乘法器 132

4.4 除法器的原理及设计方法 135

4.4.1 除法器的工作原理 135

4.4.2 用VHDL描述的除法器 138

4.5 简易CPU工作原理及设计方法 141

4.5.1 简易CPU的工作原理 141

4.5.2 采用VHDL描述的ALU 144

4.6 交通信号灯控制器原理及设计 148

4.6.1 交通信号灯控制器原理 148

4.6.2 交通信号灯的VHDL描述 151

4.7 数字频率计的原理及设计 156

4.7.1 数字频率计的原理 156

4.7.2 数字频率计的VHDL描述 159

4.8 数字信号发生器的原理及设计 164

4.8.1 数字信号发生器(DDS)的原理 164

4.8.2 数字信号发生器(DDS)的VHDL描述 166

第5章 QuartusⅡ7.0开发系统 173

5.1 Quartus Ⅱ7.0开发系统简介 173

5.1.1 Quartus Ⅱ7.0开发系统的特性 173

5.1.2 Quartus Ⅱ7.0开发系统的安装 174

5.1.3 QuartusⅡ7.0开发系统的软件许可配置 178

5.1.4 Quartus Ⅱ7.0开发系统的设计流程 179

5.2 设计输入 180

5.2.1 建立设计工程 181

5.2.2 原理图设计文件 184

5.2.3 VHDL设计文件 189

5.2.4 设计约束文件 190

5.3 综合与编程 192

5.3.1 综合参数控制 193

5.3.2 RTL查看器和状态机查看器 194

5.3.3 渐进式综合 196

5.3.4 多样化编程 203

5.4 设计仿真 205

5.4.1 仿真波形文件 205

5.4.2 仿真 208

5.5 SignalTap Ⅱ逻辑分析器 209

5.5.1 设置和运行SignalTapⅡ逻辑分析器 209

5.5.2 渐进式编译使用SignalTapⅡ逻辑分析器 212

5.5.3 分析SignalTap Ⅱ数据 213

5.6 设计实例 213

5.6.1 建立设计工程 213

5.6.2 建立源文件 214

5.6.3 编译设计 217

5.6.4 引脚锁定 218

5.6.5 仿真设计 221

5.6.6 编程和配置 224

第6章 SOPC系统简介 225

6.1 概述 225

6.1.1 SOC简介 225

6.1.2 SOPC技术 226

6.2 典型的SOPC系统处理器 226

6.2.1 Altera公司的Nios Ⅱ软核处理器 226

6.2.2 Xilinx公司的PowerPC硬核处理器 228

6.2.3 Xilinx公司的MicroBlaze软核处理器 229

6.2.4 Lattice公司的LatticeMico 32软核处理器 231

6.3 典型的SOPC系统开发工具 233

6.3.1 Altera公司的SOPC开发工具 233

6.3.2 Xilinx公司的SOPC开发工具 237

6.3.3 Lattice公司的SOPC开发工具 238

6.4 支持Nios Ⅱ系统的FPGA器件 240

6.4.1 Cyclone系列FPGA器件 240

6.4.2 Cyclone Ⅱ系列FPGA器件 246

6.4.3 CycloneⅢ系列FPGA器件 253

6.4.4 StratixⅡ系列FPGA器件 254

6.4.5 Stratix Ⅱ GX系列FPGA器件 261

6.5 支持MicroBlaze软核和PowerPC硬核的FPGA器件 264

6.5.1 Spartan-3系列FPGA概述 264

6.5.2 Spartan-3系列FPGA结构特性 265

6.5.3 Spartan-3系列FPGA的IOB结构特性 266

6.5.4 Spartan-3系列FPGA的CLB结构特性 266

6.5.5 Spartan-3系列FPGA的RAM结构特性 268

6.5.6 Spartan-3系列FPGA的时钟网络特性 269

6.5.7 Spartan-3系列FPGA的布线资源特性 271

6.6 支持LatticeMico32软核处理器的FPGA器件 272

6.6.1 LatticeXP系列FPGA概述 272

6.6.2 LatticeXP系列的PFU和PFF结构特性 273

6.6.3 LatticeXP系列的布线资源结构特性 275

6.6.4 LatticeXP系列的PLL结构特性 276

6.6.5 LatticeXP系列的嵌入式RAM块结构特性 277

6.6.6 LatticeXP系列的PIC结构特性 278

第7章 NiosⅡ嵌入式处理器及总线接口 279

7.1 NiosⅡ嵌入式处理器 279

7.1.1 NiosⅡ系统概述 279

7.1.2 NiosⅡ嵌入式处理器结构 280

7.1.3 NiosⅡ嵌入式处理器ALU 281

7.1.4 NiosⅡ嵌入式处理器复位 282

7.1.5 NiosⅡ嵌入式处理器异常和中断 283

7.1.6 NiosⅡ嵌入式处理器存储器和I/O组织 283

7.1.7 NiosⅡ嵌入式处理器JTAG调试模块 287

7.2 NiosⅡ嵌入式处理器编程结构 289

7.2.1 NiosⅡ嵌入式处理器通用寄存器 289

7.2.2 NiosⅡ嵌入式处理器控制寄存器 289

7.2.3 NiosⅡ嵌入式处理器工作模式 291

7.2.4 NiosⅡ嵌入式处理器异常处理 291

7.2.5 NiosⅡ嵌入式处理器异常原因确定 293

7.2.6 NiosⅡ嵌入式处理器异常返回 293

7.2.7 NiosⅡ嵌入式处理器中断处理 294

7.2.8 NiosⅡ嵌入式处理器的存储器和外设访问 294

7.2.9 NiosⅡ嵌入式处理器的复位 295

7.2.10 NiosⅡ嵌入式处理器的指令分类 296

7.3 Avalon交换式总线 300

7.3.1 Avalon总线基本术语 301

7.3.2 Avalon总线传输 304

7.3.3 Avalon总线从传输 305

7.3.4 Avalon总线主传输 314

7.4 Avalon总线的片外设备接口 319

7.4.1 从传输的Avalon三态信号 319

7.4.2 无延迟的Avalon三态从端口读传输 321

7.4.3 带固定延迟的Avalon三态从端口读传输 321

7.4.4 Avalon三态从端口写传输 323

7.5 Avalon总线地址对齐方式 325

7.5.1 地址对齐概述 325

7.5.2 地址对齐参数选择 325

7.5.3 动态总线宽度 326

第8章 NiosⅡ系统嵌入式外设 327

8.1 PIO核 327

8.1.1 功能描述 327

8.1.2 SOPC Builder中配置PIO核 329

8.1.3 PIO核的编程模型 330

8.2 定时器核 338

8.2.1 功能描述 338

8.2.2 SOPC Builder中配置定时器 339

8.2.3 定时器核的编程模型 341

8.3 PLL核 344

8.3.1 功能描述 344

8.3.2 SOPC Builder中配置PLL核 345

8.4 性能计数器核 347

8.4.1 功能描述 347

8.4.2 SOPC Builder中配置性能计数器 348

8.4.3 性能计数器的编程模型 349

8.5 Systern ID核 350

8.5.1 功能描述 350

8.5.2 SOPC Builder中配置System ID核 351

8.5.3 System ID核的编程模型 351

8.6 SDRAM控制器核 351

8.6.1 功能描述 352

8.6.2 SOPC Builder中配置SDRAM核 353

8.6.3 SDRAM控制核的编程模型 355

8.6.4 SDRAM应用 355

8.7 CFI控制器核 356

8.7.1 功能描述 356

8.7.2 SOPC Builder中配置CFI控制器核 357

8.7.3 CFI控制器的编程模型 358

8.8 EPCS控制器核 359

8.8.1 功能描述 359

8.8.2 SOPC Builder中配置EPCS控制器核 360

8.8.3 EPCS控制器的编程模型 361

8.9 FIFO存储器核 362

8.9.1 功能描述 362

8.9.2 SOPC Builder中配置FIFO存储器核 364

8.9.3 FIFO存储器核的编程模型 367

8.10 SPI核 369

8.10.1 功能描述 370

8.10.2 SOPC Builder中配置SPI核 372

8.10.3 SPI核的编程模型 374

8.11 UART核 376

8.11.1 功能描述 376

8.11.2 SOPC Builder中配置UART核 378

8.11.3 UART核的编程模型 381

8.12 JTAG UART核 384

8.12.1 功能描述 385

8.12.2 SOPC Builder中配置JTAG UART核 386

8.12.3 JTAG UART核的编程模型 388

8.13 DMA核 390

8.13.1 功能描述 390

8.13.2 SOPC Builder中配置DMA核 392

8.13.3 DMA核的编程模型 393

第9章 NiosⅡ系统设计 396

9.1 NiosⅡ系统硬件设计 396

9.1.1 NiosⅡ系统硬件开发流程 396

9.1.2 NiosⅡ系统需求分析 397

9.1.3 NiosⅡ系统工程建立 397

9.1.4 NiosⅡ系统集成 399

9.1.5 NiosⅡ系统设计 409

9.1.6 NiosⅡ系统综合 411

9.1.7 NiosⅡ系统实现 412

9.2 NiosⅡ软件设计 415

9.2.1 NiosⅡ集成开发环境 415

9.2.2 NiosⅡ系统软件设计 416

9.2.3 NiosⅡ系统软件调试 418

9.3 NiosⅡ系统的引导 420

9.3.1 NiosⅡ系统的引导概述 420

9.3.2 NiosⅡ系统的引导 421

9.3.3 CFI Flash引导程序 421

9.3.4 EPCS引导程序 421

9.4 Flash编程工具 422

9.5 Altera DE2评估板 424

9.5.1 Altera DE2评估板硬件资源 424

9.5.2 Altera DE2评估板引脚的定义 426

9.5.3 Altera DE2编程方法 437

9.6 基本I/O接口设计实例 438

9.6.1 设计需求分析 438

9.6.2 硬件设计 439

9.6.3 软件设计 442

9.7 定时器应用设计实例 444

9.7.1 设计需求分析 444

9.7.2 硬件设计 444

9.7.3 软件设计 448

第10章 一体化EDA开发工具 452

10.1 Altium Designer6.X简介 452

10.2 NanoBoard-NB1性能简介 453

10.2.1 NanoBoard-NB1基本配置 453

10.2.2 NanoBoard-NB1安装 454

10.2.3 NanoBoard-NB1主要接口资源 455

10.3 PCB设计实例 459

10.3.1 建立PCB工程 459

10.3.2 原理图设计 460

10.3.3 PCB设计 464

10.4 FPGA设计实例 465

10.4.1 建立工程 465

10.4.2 建立设计原理图 466

10.4.3 导入设计约束 466

10.4.4 编译设计 473

10.4.5 在线调试 473

10.5 嵌入式系统设计实例 478

10.5.1 建立FPGA工程 478

10.5.2 建立嵌入式工程 480

10.5.3 编辑嵌入式软件 480

10.5.4 连接FPGA工程和嵌入式工程 482

10.5.5 调试嵌入式系统 482

10.6 简易计算器的设计与实现 483

10.6.1 设计需求分析 483

10.6.2 EPGA工程的设计与实现 484

10.6.3 嵌入式软件的设计与实现 485

参考文献 495

返回顶部