当前位置:首页 > 工业技术
片上系统设计思想与源代码分析
片上系统设计思想与源代码分析

片上系统设计思想与源代码分析PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:陈曦编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121069512
  • 页数:469 页
图书介绍:片上系统是一个完整的系统,包括多个子模块,许多子模块是SoC必备模块。整个SoC的设计和这些子模块的设计已经逐渐形成了明确的设计思想和方法。本书将片上系统最常见的模块组织起来构成完整的SoC(DemoSoC),并以DemoSoC为例,讲述片上系统的设计思想和最新的设计方法学。在最后几章,对DemoSoC进行了完善的FPGA验证。
上一篇:计算机应用基础下一篇:产品设计
《片上系统设计思想与源代码分析》目录

第1章 片上系统概述 1

1.1片上系统的基础知识 1

1.1.1集成电路技术的发展 1

1.1.2片上系统基本概念 1

1.1.3集成电路设计方法的发展与进步 2

1.1.4片上系统设计中的基本问题 3

1.2片上系统DemoSoC 3

1.2.1嵌入式控制器简介 3

1.2.2片上系统DemoSoC的架构 4

1.2.3片上系统DemoSoC的存储器映射 6

1.2.4总线优先级 7

1.2.5片上系统的代码更新与调试 8

1.3本章小结 8

第2章 开源嵌入式处理器 9

2.1开源嵌入式处理器介绍 9

2.1.1 OpenRISC 1000构架的主要特点 9

2.1.2寻址模式 10

2.1.3 bit位和byte字节次序 11

2.1.4寄存器集 11

2.1.5指令集及指令格式 14

2.1.6例外模型 23

2.1.7内存管理 27

2.1.8高速缓存模型和高速缓存一致性 29

2.1.9调试单元 32

2.1.10执行计数单元 32

2.1.11电源管理 32

2.1.12可编程中断控制器 33

2.1.13 Tick定时器 33

2.2 OR1200 34

2.2.1 OR 1200的基本特点 34

2.2.2 CPU/DSP核心 35

2.2.3数据和指令高速缓存 37

2.2.4数据与指令MMU 39

2.2.5可编程的中断控制器 41

2.2.6 Tick定时器 41

2.2.7电源管理支持 42

2.2.8调试单元 42

2.2.9时钟与复位 43

2.2.10 WISHBONE接口 43

2.3 OR 1200核心寄存器 43

2.4 OR1200的端口 44

2.5 OR1200核心硬件配置 47

2.6本章小结 48

第3章 片上总线 49

3.1片上总线技术综述 49

3.2 WISHBONE片上总线的基本特点 50

3.3接口信号定义 51

3.4 WISHBONE支持的互联类型 53

3.5 WISHBONE总线周期 54

3.5.1通用操作 54

3.5.2单次读/写周期 56

3.5.3块读周期 57

3.5.4块写周期 58

3.5.5 RMW操作 60

3.5.6数据组织 61

3.6 WISHBONE寄存反馈总线周期 61

3.6.1周期的同步与异步结束方式比较 61

3.6.2 WISHBONE寄存反馈周期结束方式 63

3.6.3突发结束 63

3.6.4地址不变突发 64

3.6.5地址增加突发 65

3.7 WISHBONE规范对IP文档的要求 67

3.8 WISHBONE从设备接口示例 67

3.8.1一个8比特从设备 67

3.8.2一个32比特RTL级随机数生成器从设备 68

3.9 WISHBONE对RAM/ROM的支持 70

3.9.1 WISHBONE与RAM和ROM的互联 70

3.9.2 WISHBONE兼容的RAM和Flash仿真模型 71

3.10 WISHBONE点到点连接示例 72

3.11 WISHBONE共享总线连接示例 73

3.12地址译码 75

3.13仲裁器的设计 76

3.14本章小结 77

第4章 NandFlash控制器 78

4.1闪存技术概述 78

4.2 NandFlash器件原理 80

4.2.1 NandFlash存储单元组织 80

4.2.2 NandFlash坏块与坏块管理 81

4.3 NandFlash器件的操作 82

4.3.1页读操作 82

4.3.2读ID操作 82

4.3.3页写操作 83

4.3.4块擦除操作 83

4.4 NandFlash控制器的设计 84

4.4.1 NandFlash控制器的方框图 84

4.4.2 NandFlash控制器的前向纠错原理 85

4.5 NandFlash控制器源代码分析 86

4.5.1输入输出信号 86

4.5.2寄存器定义 86

4.5.3源代码分析 87

4.6 NandFlash控制器的验证 92

4.6.1读ID 92

4.6.2块擦除 93

4.6.3写操作 94

4.6.4读操作 95

4.7本章小结 97

第5章 SDRAM控制器 98

5.1 SDRAM器件介绍 98

5.1.1 SDRAM存储单元的工作原理 98

5.1.2 SDRAM的结构 99

5.1.3内存条 100

5.1.4 SDRAM的预充电 100

5.1.5 SDRAM的刷新 100

5.1.6 SDRAM的模式设置寄存器 101

5.1.7 SDRAM的输入输出信号 102

5.1.8 SDRAM的基本读写操作 102

5.1.9 SDRAM的初始化 103

5.2 SDRAM控制器功能描述 103

5.3 SDRAM控制器源代码分析 103

5.3.1 SDRAM控制器源代码列表 103

5.3.2 SDRAM初始化和WISHBONE从设备接口 103

5.3.3 SDRAM操作主状态机 108

5.3.4 SDRAM控制器顶层模块 110

5.4 SDRAM控制器的验证 111

5.5 SDRAM控制器未来改进 111

5.6本章小结 111

第6章 IIS音频控制器 112

6.1音频复制技术 112

6.1.1单声道 112

6.1.2立体声 112

6.1.3四声道环绕 112

6.1.4 5.1声道 113

6.1.5定位音效 113

6.1.6环境音效 113

6.2音频系统构成 113

6.3数字音频接口 114

6.3.1 AC97 114

6.3.2 S/PDIF 115

6.3.3 IIS 116

6.4音频编解码芯片 117

6.5 IIS接口控制器设计与源代码分析 119

6.5.1 IIS控制器框图 119

6.5.2功能描述 119

6.5.3接口信号 120

6.5.4典型速率 120

6.5.5 IIS总线接口寄存器 120

6.5.6设计文件列表 123

6.5.7源代码分析 123

6.6应用示例 129

6.7本章小结 129

第7章 LCD控制器 130

7.1 LCD技术介绍 130

7.1.1单色液晶显示器的原理 130

7.1.2彩色LCD显示器的工作原理 131

7.1.3 LCD分类 131

7.2 RGB接口LCD 132

7.2.1 RGB接口LCD屏幕刷新 132

7.2.2 RGB接口LCD背光 133

7.2.3 RGB接口LCD初始化 134

7.3 RGB接口LCD控制器 134

7.3.1 RGB接口LCD控制器框图 134

7.3.2寄存器定义 135

7.3.3 RGB接口LCD控制器设计文件列表 135

7.3.4 RGB接口LCD控制器WISHBONE从设备接口 136

7.3.5 RGB接口LCD控制器WISHBONE主设备接口 137

7.3.6 LCD控制接口 138

7.3.7 LCD初始化接口 139

7.3.8 LCD控制器像素缓存FIFO 142

7.3.9 LCD控制器顶层模块 143

7.3.10 RGB接口LCD控制器的FPGA验证 143

7.3.11 RGB接口LCD控制器的改进 143

7.4 MCU接口LCD控制器 144

7.4.1 MCU接口LCD控制器介绍 144

7.4.2 MCU接口LCD控制器源代码分析 147

7.4.3 MCU接口LCD控制器的验证 150

7.5本章小结 150

第8章 DMA控制器与总线桥 151

8.1 DMA和总线桥概述 151

8.2 DMA和总线桥的设计原理 152

8.2.1基本操作 152

8.2.2硬件握手 152

8.2.3链表描述符 153

8.2.4循环缓冲(Circular buffers) 154

8.2.5 FIFO模式 154

8.2.6总线桥模式 154

8.2.7强制下一描述符 154

8.2.8重启DMA操作 155

8.3寄存器定义 155

8.3.1 DMA和总线桥寄存器概述 155

8.3.2主配置和状态寄存器 156

8.3.3中断掩码寄存器 156

8.3.4中断源寄存器 156

8.3.5通道控制和状态寄存器 156

8.3.6通道传输尺寸寄存器 157

8.3.7通道地址寄存器 158

8.3.8通道地址掩码寄存器 158

8.3.9链表描述符指针寄存器 158

8.3.10软件指针寄存器 158

8.4 DMA和总线桥源代码分析 159

8.4.1 DMA和总线桥源代码组织 159

8.4.2 DMA和总线桥顶层设计 159

8.4.3 DMA通道选择模块 160

8.4.4 DMA和总线桥的寄存器 167

8.4.5 DMA引擎 174

8.4.6 WISHBONE接口顶层设计 179

8.4.7 WISHBONE从设备接口 179

8.4.8 WISHBONE主设备接口 180

8.4.9在DemoSoC中使用的DMA和总线桥 181

8.5 DMA和总线桥的验证 181

8.5.1接口0到接口0的DMA,硬件握手模式 181

8.5.2接口1到接口0的DMA,非硬件握手模式 182

8.6本章小结 183

第9章 USB控制器 184

9.1 USB基础 184

9.1.1 USB物理层基础 184

9.1.2包定义 185

9.1.3传输类型 186

9.1.4传输事务 186

9.1.5接口与端点 187

9.2 USB主机和设备端控制器IP设计原理 187

9.2.1主要特点 187

9.2.2应用环境 189

9.2.3寄存器定义 190

9.2.4时钟和IO端口 198

9.2.5 RTL源代码结构 199

9.3 USB主机和设备端控制器LP的验证 199

9.3.1 USB设备枚举过程的验证 199

9.3.2 USB设备枚举固件 201

9.3.3 USB设备驱动程序 203

9.4本章小结 207

第10章 PCI主设备桥 208

10.1概述 208

10.1.1 PCI概述 208

10.1.2 PCI主设备桥概述 209

10.1.3所设计的PCI主设备桥的特点 209

10.2 PCI管脚 210

10.3 PCI Host总体设计 210

10.3.1 WISHBONE从设备单元 211

10.3.2时钟域 211

10.3.3地址空间映像及地址翻译 212

10.4寄存器定义 213

10.4.1寄存器列表与描述 213

10.4.2 PCI配置空间寄存器 214

10.4.3 PCI映像控制和状态寄存器 216

10.4.4 WISHBONE控制和状态寄存器 217

10.4.5差错报告寄存器 218

10.4.6配置周期生成寄存器 219

10.4.7中断状态与控制寄存器 219

10.5 PCI主设备桥初始化 220

10.6管脚和信号定义 220

10.6.1 PCI接口 220

10.6.2 WISHBONE系统接口 221

10.6.3 WISHBONE从设备接口 221

10.6.4 WISHBONE主设备接口 221

10.7 PCI Host相关操作 222

10.7.1生成配置周期 222

10.7.2 WISHBONE到PCI的写周期 223

10.7.3 WISHBONE到PCI的读周期 224

10.8读取RTL8139的Vendor ID和Device ID 226

10.8.1 RTL8139简介 226

10.8.2读取配置寄存器的简要步骤 226

10.8.3相关代码 226

10.9本章小结 228

第11章 PS/2接口 229

11.1 PS/2接口电气特性 229

11.2 PS/2接口协议 229

11.2.1概述 229

11.2.2设备到主机的通信过程 231

11.2.3主机到设备的通信过程 231

11.3 PS/2鼠标原理 232

11.4键盘原理 234

11.5 PS/2控制器设计和源代码分析 236

11.5.1 PS/2控制器框图 236

11.5.2 PS/2控制器寄存器定义 236

11.5.3 PS/2控制器源代码文件列表 238

11.5.4 PS/2时钟去抖模块 239

11.5.5发送模块 239

11.5.6接收模块 241

11.5.7寄存器和控制模块 243

11.5.8发送和接收FIFO模块 245

11.6 PS/2接口控制器的验证 245

11.7本章小结 247

第12章 SPI接口 248

12.1 SPI简介 248

12.2 SPI控制器设计 249

12.2.1功能概述 249

12.2.2内部架构 249

12.2.3 SPI操作 250

12.2.4 SPI寄存器定义 251

12.2.5 SPI引脚定义 254

12.3 SPI控制器源代码分析 254

12.4本章小结 257

第13章 UART控制器 258

13.1串口原理 258

13.1.1串口标准 258

13.1.2串口电气特性 258

13.1.3串口逻辑特性 259

13.1.4串口线 260

13.2 UART控制器设计原理 260

13.2.1 UART16550 260

13.2.2发送和接收模块 261

13.2.3波特率自动探测 261

13.2.4 UART控制器支持DMA 262

13.3 UART接口控制器源代码分析 262

13.3.1结构框图 262

13.3.2设计文件列表 262

13.3.3寄存器定义 263

13.3.4发送模块 264

13.3.5接收模块 265

13.3.6 WISHBONE接口模块 266

13.3.7发送和接收FIFO 267

13.3.8 顶层模块 267

13.4本章小结 268

第14章 IIC接口 269

14.1 IIC简介 269

14.2 IIC控制器设计 272

14.2.1功能概要 272

14.2.2内部架构 272

14.2.3 IIC操作 273

14.2.4 IIC寄存器定义 274

14.2.5 IIC引脚定义 277

14.3 IIC控制器源代码分析 279

14.4通过IIC接口读写DS3231的计时寄存器 282

14.4.1 DS3231简介 282

14.4.2 DS3231寄存器定义 282

14.4.3读写操作和相关代码分析 283

14.5本章小结 287

第15章 定时器、看门狗和PWM 288

15.1定时器 288

15.2看门狗 288

15.3脉冲宽度调制 289

15.4 PWM/定时器/计时器模块设计原理和源代码分析 289

15.4.1时钟和复位 289

15.4.2 PWM模式 290

15.4.3定时器/计数器模式 290

15.4.4门控特性 290

15.4.5捕获特性 290

15.4.6寄存器定义 290

15.4.7输入输出信号 292

15.4.8源代码分析 292

15.5本章小结 294

第16章 GPIO接口 295

16.1 GPIO简介 295

16.2 GPIO控制器设计 295

16.2.1功能概要 295

16.2.2内部架构 296

16.2.3 GPIO操作 296

16.2.4 GPIO寄存器定义 297

16.2.5 GPIO引脚定义 300

16.3 GPIO控制器源代码分析 301

16.3.1配置参数 301

16.3.2 GPIO主设计模块 302

16.4本章小结 308

第17章 JTAG调试接口 309

17.1概述 309

17.2 JTAG模块原理 309

17.3设计文件列表 310

17.4 JTAG调试接口的顶层模块 311

17.4.1顶层模块的输入输出信号描述 311

17.4.2 TAP控制器的状态机逻辑 312

17.4.3 JTAG指令寄存器逻辑 317

17.4.4链选择逻辑 319

17.4.5 JTAG数据寄存器逻辑 320

17.4.6扫描链寄存器读写逻辑 323

17.5 Dbg_registers和Dbg_trace模块 328

17.5.1 Dbg_registers的寄存器定义 328

17.5.2 Dbg_registers模块源代码分析 331

17.5.3 Dbg_trace模块源代码分析 334

17.6 JTAG调试接口与处理器的连接 338

17.7通过并口连接JTAG 339

17.7.1并口原理 339

17.7.2 JTAG连接线 340

17.7.3计算机系统的并口驱动程序 341

17.7.4 WISHBONE扫描链操作 342

17.7.5读取IDCode 342

17.8本章小结 342

第18章 键盘扫描与键盘控制器 344

18.1键盘概述 344

18.2键盘控制器设计原理 345

18.3键盘控制器源码分析 346

18.3.1功能描述 346

18.3.2输入/输出信号 346

18.3.3键盘控制器接口寄存器 346

18.3.4设计文件列表 347

18.3.5设计源代码分析 347

18.4键盘控制器的验证 349

18.5简单键盘模块 351

18.6本章小结 351

第19章 处理器集成与TLM验证 352

19.1 SoC架构设计 352

19.2 SoC的处理器集成 353

19.2.1 SoC的处理器集成过程 353

19.2.2系统总线译码器 353

19.2.3外设总线译码器 353

19.2.4系统总线仲裁器 354

19.2.5复位和时钟模块 354

19.2.6顶层模块 355

19.3 SoC的TLM验证 362

19.3.1 SoC正在变得越来越复杂 362

19.3.2 ESL设计和验证方法学 364

19.3.3事务处理级建模——ESL的关键 365

19.3.4设计和验证语言的新发展 365

19.3.5片上系统的TLM建模 367

19.3.6符合WISHBONE标准的总线事务处理适配接口 367

19.3.7符合WISHBONE标准的总线事务处理适配器 368

19.3.8软件的事务处理级行为 370

19.3.9事务处理级处理器的顶层模块 372

19.3.10包括了SystemC事务处理级模型Verilog代码的仿真 373

19.4本章小结 374

第20章 片上系统的FPGA验证 375

20.1片上系统的FPGA验证概述 375

20.2 FPGA的开发流程 376

20.3 Altera Cyclone FPGA的架构与资源 378

20.4 DEMOSOC到Altera FPGA的移植 379

20.5片上系统的存储器系统的设计 380

20.6处理器的启动过程 382

20.7片上系统的板级验证与调试 384

20.8 OpenRISC的Windows编译环境安装 385

20.9 C代码和汇编源代码的编译 385

20.10通过JTAG下载编译后的代码 386

20.11串口操作实例 387

20.12一个音乐播放的例子 388

20.13一个显示图片的例子 389

20.14一个显示时钟的例子 392

20.15 一个USB中断处理的例子 394

20.16本章小结 396

第21章 片上系统技术发展展望 397

21.1专用集成电路增长趋缓 397

21.2 FPGA 22年改变产业观念居功至伟 398

21.3软硬件设计走向碰撞 399

21.4目前嵌入式系统项目1/2不能按时完成,1/3失败 400

21.5异步电路木乃伊归来 401

21.6片上网络 403

21.7从CPU/DSP/ASIC/FPGA到统一计算 403

21.8本章小结 403

附录A SystemC基本语法(一) 404

附录B SystemC基本语法(二) 430

附录C ModelSim下仿真Verilog/SystemVerilog和SystemC设计 455

附录D NandFlash控制器的验证 462

相关图书
作者其它书籍
返回顶部