SOPC嵌入式系统基础教程

出版时间:2006-11  出版社:北京航空航天大学出版社  作者:周立功  页数:353  字数:521000  
Tag标签:无  

前言

  微电子技术的发展历史是一个不断创新的过程,这种创新包括理论创新、技术创新和应用创新。每一种创新都能开拓出一个新的领域,带来新的市场,产生重大的影响。  在集成电路(IC)发展初期,电路设计主要是器件的物理版图设计。后来出现了集成电路单元库(Cell?Lib),使得集成电路设计从器件级进入逻辑级,极大地推动了IC产业的发展。随着IC设计与工艺水平的提高,原先由许多IC组成的电子系统可以集成到一个芯片上,构成片上系统(System on aChip,SOC)。SOC的设计思想有别于普通IC:SOC从整个系统的角度出发,把处理机制、模型算法、芯片结构直至器件的设计紧密结合起来,在单个(或少数几个)芯片上实现整个系统的功能。SOC的设计以IP核为基础,以分层次的硬件描述语言为系统功能和结构的主要描述手段,并需要借助EAD工具。研究表明,与IC组成的系统相比,由于SOC设计能够综合考虑整个系统的各种情况,因而可以在同样的工艺条件下,实现更高性能的系统指标。  SOPC(System On Programmable Chip,可编程的片上系统),是Altera公司提出来的一种灵活、高效的SOC解决方案,是一种新的软硬件协同设计的系统设计技术。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。  SOPC是PLD和ASIC技术融合的结果。目前0.13 μm的ASIC产品制造价格仍然相当昂贵,而集成了硬核或软核CPU、DSP、存储器、I/O设备和可编程逻辑的SOPC芯片,在应用灵活性和价格上有相当大的优势,所以有人认为SOPC代表了半导体产业未来的发展方向。本书为《SOPC嵌入式开发系列教程》的理论教材,而事实上,本书的内容并非纯理论的,也包含很多实践部分。以作者的经验,SOPC技术只有通过大量的实战与实践才能很好并快速地掌握,因此本书的内容编排力求实用、深入浅出。本书内容编排如下:  第1章以简短的篇幅介绍了SOPC技术及Altera公司系列产品中可用于SOPC的FPGA,重点介绍了32位Nios Ⅱ软核处理器。  第2章首先详细介绍了SOPC开发的基本流程,然后非常详细地描述了一个简单SOPC系统的设计过程,包括使用Quartus Ⅱ、SOPC Builder定制Nios Ⅱ系统以及利用Nios Ⅱ IDE进行应用程序开发。本章力求通过实例让读者以最快的方式了解SOPC开发以及各软件的使用,从而激起读者对SOPC的兴趣。  第3章详述了Nios Ⅱ处理器的体系结构,以便让读者了解Nios Ⅱ处理器的工作细节。虽然在软件开发过程中我们多数情况下只使用C语言,无须关心体系结构的细节。但熟悉体系结构对开发出高效、健壮的程序是非常有好处的。  第4章介绍了Nios Ⅱ处理器常用外围设备的特点、配置以及软件编程,供读者在使用这些外设定制Nios Ⅱ系统时查阅。  第5章对较难掌握的FPGA配置、Flash(包括EPCS)编程、目标板Flash编程设计的创建以及Nios Ⅱ系统用户程序引导等内容进行了详细阐述。  第6章首先简单介绍Nios Ⅱ IDE开发环境的使用;然后重点介绍了硬件抽象层(HAL)系统库,包括HAL下的应用程序开发以及开发HAL下的设备驱动两部分内容;最后讲述了MicroC/OS-Ⅱ实时操作系统及其应用程序开发实例。本章还简单介绍了最新的Nios Ⅱ C语言至硬件加速编译器。  第7章详细介绍了Avalon接口规范,着重从Avalon外设的角度论述Avalon接口。如果用户只使用已经定制好的外设来创建自己的系统,就无须了解有关Avalon的相关知识。但对于需要自己设计外设的用户来说,就需要掌握诸如传输类型、信号时序等全面的Avalon接口知识,第7章的内容就显得尤为重要。  第8章讲述有关SOPC的深入设计,以帮助读者掌握如何定制用户逻辑外设和用户指令。定制用户逻辑外设和定制用户指令是使用Nios Ⅱ嵌入式软核处理器的SOPC系统的重要特性,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求。  第9章首先简单地回顾了程序语言发展的历史,并从中总结了汇编程序的重要性;随后概要地介绍了Nios Ⅱ的指令集;最后重点介绍了Nios Ⅱ汇编程序的设计方法以及混合语言程序开发。  附录1介绍了广州致远电子有限公司的SmartSOPC多功能教学实验开发平台,本书的许多内容都在该开发平台上通过验证。  附录2首先简单介绍了逻辑分析仪的基础知识;重点比较了逻辑分析仪与示波器的区别,以此得出逻辑分析仪在数字电路设计中的重要作用。最后向读者简单介绍了广州致远电子有限公司的LA系列高性能逻辑分析仪。  在阅读本书的过程中,请读者注意以下几点:  本书的部分内容是基于Altera公司的6.0版本的英文手册,Altera公司会不断更新和修改各参考手册的内容,如遇到不符,请读者以最新的手册为准。  本书列出了作者们在验证内容过程中遇到很多问题的解决方法和注意事项,书中特别用 表示出来。  本书对一些术语在不同场合下并没有严格进行统一,事实上Altera公司的英文手册也是如此。不统一的术语主要是外设、元件、IP Core。在SOPC Builder中通常使用元件(component)或IP Core来描述硬件模块,而在软件编程中通常把在SOPC Builder中称之为元件或IP Core的硬件模块描述为外设或设备。  由于中文资料缺乏,一些内容是在Altera英文文档及软件帮助内容的基础上翻译的,在翻译过程中一些表达可能不恰当,为此在括号内给出了相应的英文表达,以便于读者更好地理解。最后建议读者在学习本书的过程中要进行实际的动手操作,“纸上得来终觉浅,绝知此事要躬行”。再好的讲述也比不上亲身的体验,如果不亲自动手,可能永远都不知道什么是困难。在实验的过程中,推荐使用本书的配套实验教程《Nios Ⅱ SOPC嵌入式系统实验教程(一)》以及Smart SOPC多功能教学实验平台。本书适合于高等院校电子工程、计算机、微电子、通信、自动控制等专业以及对此类专业感兴趣的高年级本科生和研究生。作者相信本书的读者只要认真、勤奋地学习好书中的内容,并勇于实践,就能较快地进入SOPC技术世界。  参与本书编写工作的主要人员有周书武、刘英斌、张晶、芮文彬、杜佳、许惠泉、余文亮等,本书由周立功负责规划、内容编排、定稿与修改。感谢北京航空航天大学出版社的大力支持,使本书得以快速出版。  由于作者水平有限,书中的内容难免有疏忽、不恰当甚至错误的地方,恳请各位老师及同行指正,并请您将阅读中发现的错误或建议发送到以使本书不断完善。

内容概要

  本书为《SOPC嵌入式开发系列教程》的理论教材,介绍了在嵌入式系统中日益广泛应用的SOPC技术基础知识。主要以Altera公司的技术资料为基础,加之作者的实践及理解,全面、深入浅出地介绍了SOPC技术。全书分为3 部分:第1、3、4章为基础部分,主要介绍SOPC技术、Nios II处理器的体系结构、Nios II处理器的常用外设;第2、5、6章为应用部分,重点介绍SOPC 开发流程、FPGA配置、Flash编程、软件开发等;第7、8、9章为提高部分,主要介绍Avalon接口规范、SOPC深入设计、混合语言编程等。  本书可作为高等院校电子工程、计算机、微电子、通信、自动控制等相关专业SOPC嵌入式系统课程的理论教材,也可作为从事SOPC嵌入式系统应用开发工程师的参考资料。  本书有配套实验教程以及多媒体教学课件。

书籍目录

第1章 概述 1.1 SOPC及其技术 1.2 Nios Ⅱ软核处理器 1.3 Altera支持SOPC的FPGA简介第2章 SOPC开发流程及开发平台简介 2.1 SOPC开发流程 2.2 简单SOPC实例开发任务及步骤 2.3 分析系统需求 2.4 使用Quartus Ⅱ建立工程 2.5 使用SOPC Builder创建Nios Ⅱ系统 2.6 集成Nios Ⅱ系统到Quartus Ⅱ工程 2.7 设置编译选项并编译硬件系统 2.8 下载硬件设计到目标FPGA 2.9 使用Nios Ⅱ IDE建立用户程序 2.10 调试/运行程序第3章 Nios Ⅱ 体系结构 3.1 Nios Ⅱ处理器结构 3.2 Nios Ⅱ的寄存器文件 3.3 算术逻辑单元(ALU) 3.4 复位信号 3.5 Nios Ⅱ处理器运行模式 3.6 异常和中断控制器 3.7 Nios Ⅱ的异常处理 3.8 存储器及I/O结构 3.9 存储器和外设访问 3.10 Nios Ⅱ处理器性能第4章 Nios Ⅱ外围设备 4.1 并行输入/输出内核 4.2 SDRAM控制器内核 4.3 CFI控制器内核 4.4 EPCS控制器内核 4.5 定时器内核 4.6 UART内核 4.7 JTAG_UART内核 4.8 SPI内核 4.9 DMA内核 4.10 带Avalon接口的互斥内核 4.11 带Avalon接口的邮箱内核 4.12 System ID内核第5章 FPGA配置和Flash编程 5.1 FPGA配置 5.2 Cyclone及Cyclone Ⅱ FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍 5.10 用户程序引导 5.11 使用IDE Flash Programmer编程 5.12 创建目标板Flash编程设计第6章 Nios Ⅱ应用程序及其外设HAL驱动开发 6.1 Nios Ⅱ IDE简介 6.2 设置工程系统库属性和编译选项 6.3 调试/运行程序 6.4 下载程序到Flash 6.5 硬件抽象层(HAL)系统库 6.6 使用HAL开发应用程序 6.7 设备驱动概述 6.8 开发HAL下的设备驱动 6.9 μC/OSⅡ 6.10 Nios Ⅱ C语言至硬件加速编译器(C2H)简介第7章 Avalon接口规范 7.1 Avalon总线简介 7.2 术语和概念 7.3 Avalon信号 7.4 从端口传输 7.5 主端口传输 7.6 流水线传输属性 7.7 流控制属性 7.8 三态传输属性 7.9 突发传输属性 7.10 非传输相关的信号 7.11 地址对齐第8章 Nios Ⅱ系统深入设计 8.1 定制基于Avalon的用户外设 8.2 定制Nios Ⅱ用户指令第9章 Nios Ⅱ汇编程序设计及混合语言程序开发 9.1 历史回顾 9.2 Nios Ⅱ的指令集 9.3 Nios Ⅱ汇编程序设计 9.4 使用混合语言进行程序开发附录1 SmartSOPC多功能教学实验开发平台附录2 LA系列高性能逻辑分析仪参考文献

章节摘录

  第1章 概述  SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活、高效的SOC解决方案。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。  SOPC是PLD和ASIC技术融合的结果,可以认为SOPC代表了半导体产业未来的发展方向。  1.1 SOPC及其技术  现今,可将SOPC视为是基于FPGA解决方案的SOC。与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,也有多种途径可构成SOPC方案。  1.1.1 基于FPGA嵌入IP硬核的SOPC系统  基于FPGA嵌入IP硬核的SOPC系统是指在FPGA中预先植入处理器。目前最常用的嵌入式处理器大多是采用含有ARM32位知识产权处理器核的器件。为了达到通用性,必须为常规的嵌入式处理器集成诸多通用和专用的接口,但这样无疑会增加芯片的成本和功耗。如果将ARM或其他处理器核以硬核方式植入FPGA中,利用FPGA的可编程逻辑资源,按照系统功能需求来添加接口功能模块,既能实现目标系统功能,又能降低系统的成本和功耗。这样就使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。  1.1.2 基于FPGA嵌入IP软核的SOPC系统  将IP硬核直接植入FPGA的解决方案存在以下不足:  (1)由于此类硬核多来自第三方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高。  (2)由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式、指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式嵌入硬件加速模块(如DSP)。

图书封面

图书标签Tags

评论、评分、阅读与下载


    SOPC嵌入式系统基础教程 PDF格式下载


用户评论 (总计1条)

 
 

  •   一本对新手不错的书!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7