前 言
SOPC(System On Programmable Chip)即可编程的片上系统,或者说是基于大规模FPGA的单片系统。SOPC的设计技术是现代计算机辅助设计技术、EDA技术和大规模集成电路技术高度发展的产物。SOPC技术的目标就是试图将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速器系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现,使得所设计的电路系统在其规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。SOPC技术是一门全新的综合性电子设计技术,涉及面广,本书只是将其最基础、最接近实际应用中的一小部分呈现给读者。
SOPC在电子设计技术上给出了一种以人的基本能力为依据的软硬件综合解决方案。
由于同时涉及底层的硬件系统设计和相应的软件设计,在系统优化方面有了前所未有的自由度。SOPC技术使开发者更能动地在软硬件系统的综合与构建两个方面有了充分发挥自己创造性和想象力的巨大空间,从而使得从多角度、多因素和多结构层面上大幅度优化自己的设计成为可能。事实上,诸如单片机、DSP或ARM系统等基于传统开发技术的设计流程而言,不存在严格意义上的硬件设计,而只有软件设计。这是因为,一旦方案确定,硬件系统的核心器件是现成的,功能是确定的,结构是固定的,指令系统是不可更改的,从而导致硬件组织方案和连接方案是限定的,用户只能被动地遵循和适应,这时的硬件“设计”只能流于拼装和连接。系统构成后的惟一任务是依据既定的指令系统来编程,除了系统功能和算法可以通过软件改变外,系统的性能和指标已无从改变,设计者的创新能力、想象力和优化设计能力的发挥空间已被选定的硬件性能所界定。没有了创造,更谈不上超越了,进而导致了系统的综合性能基本取决于器件原有的性能和指标。换言之,传统技术是以既定的硬件及其性能而非以人的能力为主轴的技术。这样不难明白,在这个以硬件决定“创造”的世界里,为什么在优秀的8031单片机出现以后,仍然层出不穷地涌现出其他各种功能和性能的单片机;而同样是DSP处理器,C5X系列与C6X系列器件则把开发者带到完全不同的技术领域和功能范畴。显然,硬件的可设计性和用户目标的适应性在系统性能指标上占有更大的份额,而SOPC技术的优势正在于是设计者本身而非器件设计商去更有效地占据这一份额。
SOPC在应用理论和知识构成上,达到了一种有机融合。
基于SOPC的结构特点,SOPC系统的开发对于设计者的知识范围有了更高的要求。除了必须了解基本的EDA软件、硬件描述语言和FPGA器件相关知识外,还必须熟悉计算机组成与接口、汇编语言和C语言、DSP算法、数字通信、嵌入式系统开发、嵌入式操作系统、片上系统构建与测试等知识。这样,SOPC技术的普及必将有力地推动电子信息及工程类各学科分支与相应的课程类别间的融合。这种融合在SOPC技术中已不是简单的合并与算术相加,而是有机的融汇和充满设计者创新意识的升华。例如可以利用Matlab/DSP Builder/Quartus II完成纯硬件的DSP算法模型及实现,进而构成嵌入式系统外围接口的协处理模块,再进一步构成软件程序中的精简指令,从而实现完全自主的、真正意义上的硬件设计和系统优化。
与现有的诸多电子系统设计理念和解决方案相比,SOPC技术更具代表性、主流性、规范性与普遍性。
SOPC从设计层次上讲,分硬件设计和软件设计;从设计流程上讲,是典型的自顶向下的流程;从设计手段上讲,相比于传统技术,更广和更深入地利用了计算机,而计算机技术无疑是当今的主流技术。在这一平台上,学科知识的融合,设计手段的融合,测试技术的融合,使SOPC设计者最大限度地在优化系统的性能上得以发挥自己的聪明才智,不再如传统技术中那样,把大量的时间花费在无谓的软硬件构建细节上,从而使人们常说的“动手能力”成了计算机应用能力的组成部分,而非仅为诸如“焊接”、“钻孔”和“连线”等操作行为的代名词了。
从未来的电子系统设计技术走势上看,SOPC技术更具发展性和前瞻性。
“From Concept to System in minutes”显然是现代电子技术追求的方向和境界。在那里,人们可以远离“十年磨一剑”的经验、变化无端的硬件结构、空耗时光而难得要领的排错,潜心于已把握的知识、智慧与灵感,把电路模型、系统模型、功能模型、行为模型及数学模型直接通过计算机在短时间内形成高效实用的电子线路系统,这不能不说是一种大胆的设想。然而,在SOPC领域,这种设想已得到了部分的实现。
SOPC与EDA技术一样,不能简单归属于哪一个学科分支。广义地讲,它是一种理念、一种思想方法、一种境界、一种趋势。
作为EDA技术教学实验课程的后续课程,本教材尽管在知识结构上作了一定的衔接安排,但仍假设读者已有了VHDL和FPGA器件、DSP算法,以及计算机组成与接口方面的基础知识。本书试图为EDA技术的学习与实践者在进一步学习基本设计理论与技术的过程中提供更广阔的实践空间,与此同时,进一步熟悉现代电子系统设计的分析方法和技术 特点。
SOPC技术无疑为现有的EDA课程与实验同工程实践相结合,打开了一条崭新的通 道,而在理论知识、硬件结构和实现技术的融合上对促进学生创新能力的培养上起到了画龙点睛的功效。
SOPC技术是发展的,内容是变化的,涉及面也在不断扩充。本书不可能以概代全,以点代面,完整全面地介绍SOPC技术,只期望给读者提供一点新素材,一点新启示和一点新方法,在系统开发技术的学习和实践中多一条可选择的道路。
本书的撰写得到了ALTERA公司大学计划部的主要负责人Bob Xu先生的大力支持,在此表示衷心的谢意!
与作者联系的电子邮箱是:span88@mail.hz.zj.cn。
作 者
2004年6月