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

  • 购买积分:15 如何计算积分?
  • 作  者:李景华,杜玉远主编
  • 出 版 社:沈阳:东北大学出版社
  • 出版年份:2008
  • ISBN:9787811025293
  • 页数:496 页
图书介绍:本书内容具体包括:可编程逻辑器件及EDA技术概述,VHDL硬件描述语言,典型VHDL设计实例,典型数字系统的设计,Quartus Ⅱ 7.0开发系统,SOPC系统简介,Nios Ⅱ嵌入式处理器及总线接口, Nios Ⅱ系统嵌入式外设, Nios Ⅱ系统设计,一体化EDA开发工具。

第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

l.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公司的Pow erpC硬核处理器 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 System 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 Designer 6.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