SOPC系统设计基础:从硬件到软件开发实战

需积分: 20 2 下载量 106 浏览量 更新于2024-07-20 收藏 6.33MB PDF 举报
"《SOPC系统设计入门教程》是由西北工业大学大学生创新中心内部编写的培训教材,由邵舒渊和卢选民编著。该教程是2004年全国大学生电子设计竞赛‘ALTERA杯’EDA/SOPC专项设计竞赛的培训教材,旨在帮助学习者理解和掌握SOPC(System On a Programmable Chip)系统的设计方法。" 在SOPC技术领域,本教程首先介绍了SOPC的基本概念,包括SOPC系统设计流程。SOPCBuilder是其中重要的设计工具,它的设计流程分为多个阶段,包括系统构建、编译和编程等步骤。SOPC系统开发不仅涉及硬件层面,还包括软件开发,因此了解SOPCBuilder的设计阶段对于整个系统开发至关重要。 教程的第二章深入探讨了SOPC系统的架构,特别是Nios CPU。Nios是一种高度可配置的嵌入式处理器,具有指令总线主端口、数据总线主端口、缓冲存储器、移位单元、乘法支持、中断支持和片上调试模块等组件。此外,Avalon总线作为Nios系统中的通信协议,也得到了详细的阐述,包括其基本概念、传输方式、三态接口以及地址对齐规则。 第三章主要讲解了硬件开发流程,从创建Quartus II工程开始,一步步指导读者如何使用SOPCBuilder来构建Nios系统模块,包括设置系统频率、添加CPU和外设、指定基地址,直至生成系统模块并进行编译和编程。这一过程涵盖了从设计到实现的完整硬件开发步骤。 软件开发部分在第四章中展开,详细描述了软件开发流程、开发环境,如GNU Pro工具和Nios OCI调试模块,以及如何配置处理器硬件属性。教程还提到了Nios SDK,其中包括inc目录、lib目录和src目录,这些都是软件开发的重要组成部分。 《SOPC系统设计入门教程》是一本全面介绍SOPC系统设计的教材,涵盖了从硬件构建到软件开发的各个环节,适合电子设计和嵌入式系统开发的学习者参考。通过学习,读者可以掌握基于ALTERA FPGA的SOPC系统设计和实现方法,包括Nios CPU的配置与使用、Avalon总线的理解以及软件开发工具的运用。
2009-04-02 上传
第一章 概述 1.1 SOPC 的概念 1.2 SOPC 系统设计流程 1.2.1 SOPC Builder 的设计流程 1.2.2 SOPC Builder 的设计阶段 1.2.3 SOPC 系统开发流程 1.3 SOPC 系统开发环境 1.4 本书中的系统配置 第二章 SOPC 系统构架 2.1 系统模块框图 2.2 Nios CPU 2.2.1 指令总线主端口 2.2.2 数据总线主端口 2.2.3 缓冲存储器 2.2.4 移位单元 2.2.5 乘法支持 2.2.6 中断支持 2.2.7 Nios 片上调试模块 2.2.8 开发环境 2.3 Avalon 总线 2.3.1 基本概念 2.3.2 Avalon 总线传输 2.3.3 Avalon 三态接口 2.3.4 地址对齐 2.4 外设IP 模块 2.4.1 通用异步串行接口(UART ) 2.4.2 可编程并行输入/输出模块(PIO ) 2.4.3 定时器 2.4.4 DMA 控制器 第三章 系统硬件开发 3.1 硬件开发流程 3.2 创建Quartus II 工程 3.3 创建Nios 系统模块 3.3.1 开始使用SOPC Builder 3.3.2 系统频率 3.3.3 添加CPU 和外设模块 3.3.4 指定基地址 3.3.5 生成系统模块 3.3.6 添加符号到BDF 中 3.4 编译设计(Compilation) 3.5 编程(Programming ) 3.5.1 配置FPGA 3.5.2 用户微控制器 3.5.3 在Nios 系统上运行软件 3.6 下载设计到 Flash 存储器 第四章 系统软件开发 4.1 软件开发流程 4.2 软件开发环境 4.3 文件系统 4.4 软件开发工具 4.4.1 GNUPro 工具 4.4.2 Nios OCI 调试模块 4.4.3 Nios OCI 调试控制台 4.4.4 Nios SDK Shell 4.5 可配置的处理器硬件属性 4.5.1 乘法器 4.5.2 数据和指令高速缓冲器 4.5.3 用户指令 4.5.4 同时执行的多主(Multi-Master)总线结构和 DMA 4.5.5 数据和指令高速缓冲器 4.5.6 外设和存储器接口 4.6 Nios SDK 4.6.1 inc 目录 4.6.2 lib 目录 4.6.3 src 目录 4.7 软件开发应用 4.7.1 开始前的准备 4.7.2 打开 Nios SDK Shell 4.7.3 编译程序 4.7.4 用insight 下载、运行和调试程序 4.7.5 用Nios OCI 调制控制台下载、运行和调试程序 4.7.6 重建(rebuild)软件 4.7.7 下载软件到 Flash 4.7.8 第三方开发和调试工具 4.8 使用.hexout 4.9 其它的开发板通信和调试方法 4.9.1 GERMS 监视器 4.9.2 Insight:GNU调试器 4.9.3 Gprof:GNU Profiler 4.10 Nios SDK Shell提示信息 4.11 在 Nios 系统中实现中断服务程序(ISR) 4.12 用户自定义指令 4.12.1 用户自定义指令的概念 4.12.2 加速效果 4.12.3 用户自定义指令应用 第五章 系统模拟与调试 5.1 软件配置 5.2 模拟设置 5.2.1 存储器初始化 5.2.2 UART 外设模拟设置 5.2.3 SOPC Builder模拟设置 5.2.4 通用系统模拟文件 5.3 ModelSim 模拟 5.4 模拟结果分析 5.4.1 通过 UART 外设同 GERMS 监控程序交互 5.4.2 执行 PIO 外设操作的 C 程序 5.5 增加/删除波形图信号 5.6 片外存储器模拟 5.6.1 使用自动产生的存储器模块 5.6.2 指定一个定制模块 5.6.3 定义存储器模块内容 5.7 调试 5.7.1 使用 SignalTap II 逻辑分析器 5.7.2 使用 SignalProbe 5.7.3 使用 Chip Editor 第六章 系统设计实例 6.1 建立硬件需求 6.2 创建一个基本的Nios 设计 6.3 GDB 调试 6.4 添加用户外设 6.5 RTL 仿真 6.6 Flash 编程 6.7 用户指令和DMA 6.8 MP3 播放器 附录 1:Nios 嵌入式处理器 32 位指令集 附录 2:Nios 嵌入式处理器开发板-APEX 20K200E 附录 3:Nios 嵌入式处理器开发板-Cyclone_1C20 附录 4:Nios 嵌入式处理器开发板-Stratix_1S10 附录 5:Nios 嵌入式处理器开发板-Stratix_1S40 参考文献