APP下载

基于FPGA的SOC技术在微机原理中的应用

2017-03-09李海玲

微型电脑应用 2017年12期
关键词:微机器件原理

李海玲

(西安航空学院 计算机学院, 西安 710077)

基于FPGA的SOC技术在微机原理中的应用

李海玲

(西安航空学院 计算机学院, 西安 710077)

随着FPGA技术和SOC技术的发展,已经能够设计出性能价格比很高的片上系统,而且成为当今的重要发展方向。因此,计算机科学与技术专业很多课程将面临重大改革与挑战,尤其是实践环节。以微机原理课程为例,介绍如何将传统教学内容融入FPGA和SOC技术,实现现代技术方法在原理课程中的应用,从而在更广阔的视野和更大的深度上提升课程的学习效果及对先进技术的应用能力。

FPGA; SOC; EDA; 微机原理; 应用

0 引言

随着大规模集成电路技术的飞速发展,专用集成电路ASIC(Application Specific Integrated Circuit)的设计与实现已不再必须依靠专门的厂商了[1]。人们可以直接将自己的设计实现于手头的FPGA中,高效率地完成产品开发。尤其是SOC技术的出现,设计出性能价格比很高的片上系统已经实现,而且成为当今的重要发展方向。这对于计算机科学与技术专业很多课程来说,将面临重大的改革与挑战,尤其是在实践环节。本文以微机原理课程为例,介绍如何将传统教学内容融入FPGA和SOC技术,使传统的微机原理知识在一个全新的平台上与大量的新知识新方法新技术新工具完成有机整合,实现现代技术方法在原理课程中的应用。

1 FPGA简介

FPGA(Field Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物[2]。它是作为专用集成电路ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

现场可编程门阵列(FPGA)是可编程器件,允许无限次的编程,结合成熟的数字系统设计软件(如Quartus II)和标准化的硬件描述语言(如Verilog和VHDL),完成几乎所有的数字电路的设计,并且能当场在FPGA中实现其硬件电路。

目前全球知名的FPGA生产厂商有Altera、Xilinx、Actel、Lattice和Atmel。其中Altera作为世界老牌可编程逻辑器件的厂家,是可编程逻辑器件的发明者,开发软件是MAX+PLUS II和Quartus II。Xilinx是FPGA的发明者,拥有世界一半以上的市场,提供90%的高端65nmFPGA产品,开发软件为ISE。Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺,主要用于军用和宇航。Lattice提供业界最广范围的FPGA、PLD及其相关软件,包括现场可编程系统芯片(FPSC)、复杂的可编程逻辑器件(CPLD)、可编程混合信号产品(ispPAC?)和可编程数字互连器件(ispGDX?),最终用户主要是通讯、计算机、工业、汽车、医药、军事及消费品市场的原始设备生产商。Atmel在系统级集成方面所拥有的世界级专业知识和丰富的经验使其产品可以在现有模块的基础上进行开发,保证最小的开发延期和风险。凭借业界最广泛的知识产权(IP)组合,Atmel是提供电子系统完整的系统解决方案的厂商。Atmel集成电路主要集中在消费、工业、安全、通信、计算和汽车市场。

2 SOC技术

2.1 SOC概述

SOC(System on Chip)被我国专业研究的学者译为片上系统,是指以嵌入式系统为核心,集软、硬件于一体,并追求产品系统最大包容的集成芯片[3]。SOC又可以译为“系统集成芯片”,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容;SOC也可以译为“系统芯片集成”,意指它是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程[4]。

SOC使传统电子系统全面进入了现代电子系统,作为电子系统追求的目标就是最大限度地简化电路设计,并获得整体产品系统的可靠性、精度、稳定性等品质指标。SOC将电路系统设计的可靠性、低功耗等都解决在IC设计之中,把过去许多需要系统设计解决的问题集中在IC设计中解决。

2.2 IP核

IP核,在集成电路的可重用设计方法学中,全称知识产权核(Intellectual Property Core),是指某一方提供的、形式为逻辑单元、芯片设计的可重用模块。IP核通常已经通过了设计验证,设计人员以IP核为基础进行设计,可以缩短设计所需的周期。IP核不仅指数字IP核,同时还包括模拟IP核。IP核分为软核(Soft Core)、硬核(Hard Core)、固核(Firm Core)[5]。

软核是用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。软IP通常是以硬件描述语言HDL源文件的形式出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发硬软件环境比较昂贵。软IP的设计周期短,设计投入少。由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。其主要缺点是在一定程度上使后续工序无法适应整体设计,从而需要一定程度的软IP修正,在性能上也不可能获得全面的优化。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。

硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩模版图和全套工艺文件,是可以拿来就用的全套技术。这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级(RTL)文件,因而更易于实现IP保护。

固核是软核和硬核的折衷。除了完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给用户。

大多数应用于FPGA的IP核均为软核,软核有助于用户调节参数并增强可复用性。软核通常以加密形式提供,这样实际的RTL对用户是不可见的,但布局和布线灵活。

在SOC技术中IP核是关键,CICC 1997年会议文集的“单元建库”分册已有IP的报导[6],1998年CICC的文集关于IP的报道就增加到3个分册,1999年美国ICE(IC Engineering)编辑的“ASIC Status 99”讨论IP的篇幅占到了1/3。在“ASIC Status 99”中对IP有这样的描述:“Yesterday’s chips are today’s reusable IP blocks and can be combined with other functions like Video, Audio,Analog,and I/O,to formulate what we now know as system on chip(SOC) ”[7],该描述清楚地说明IP核对于SOC技术发展的重要性,IP核是SOC技术的支撑。

2.3 SOC设计方法

传统芯片的设计都是专注于某个特定功能模块的设计,比如:CPU、存储器、I/O接口等,即使是这样的一些芯片在以往的设计中已经是很复杂的问题了,需要很多高级设计人员花费大量的时间和精力,然而SOC要完成的功能通常包括了多个传统芯片功能的功能,甚至还要复杂。因此片上系统SOC一般采用基于核的设计,软件部分采用构建重用,硬件部分采用IP核重用,即将一个系统按照功能划分为若干个模块,然后直接利用设计好的IP核搭建成一个具有特定功能的芯片。SOC的设计重用使系统设计者可以更多地考虑系统结构,而不必深陷于模块实现,从而达到降低系统设计复杂性的目的[8]。

利用电路设计自动化(EDA)工具和硬件描述语言(HDL)以及标准单元库中的智能模块(IP)核,根据产品的特定要求设计出性能价格比很高的片上系统,是目前国际上使用的最新设计方法[9]。现代电子设计技术可以将所开发产品中的几乎所有功能模块集成在一个芯片中,从而缩小了体积,降低了功耗和成本,并提高了系统的可靠性和整机设计效率。

3 SOC技术在微机原理中的应用

微机原理课程在计算机、通信、电子工程、工业自动化、机械制造等多个专业具有十分重要的地位,对于本课程的教学长期以8086/8088微机系统及其接口作为学习的基本内容,包括微处理器结构、指令系统、汇编语言程序设计、存储器系统、总线技术、并行接口技术、定时/计数器接口技术、中断技术、串行接口技术、DMA技术、模拟接口技术和其他实用的接口技术。而这些传统内容都有相应的IP软核支持,比如8088IP、8255IP、8254IP、16550IP、8237IP、8259IP等。

在系统设计中,可以利用Quartus II开发平台,调用各种器件模块,包括IP软核、各种功能基本逻辑元件、74LS系列的小规模逻辑模块,逻辑规模较大的参数可以设置功能模块(如嵌入式的RAM、ROM、锁相环、各类计数器等),然后将它们按电路要求连接起来构成一个完整的系统,通过综合和仿真测试,没有问题后将此系统的目标文件下载于指定的FPGA,即可进行对应此SOC系统的硬件测试,硬件系统的测试同时也包含对此系统中的CPU的软件运行测试,直至完成设计。

整个软硬件构建和测试过程便捷其透明,任何一个器件、一个细节、一个信号、一根引线的内在行为都可以在Qu-artus II提供的各种功能强大的自动化测试工具中全方位地展示出来,包括展示CPU上任何一个引脚上的信号时序、数据总线上任何一个时刻流动的数据或指令,甚至任何一组指令的流水线执行情况等。

这样即将微机原理课程中的传统内容与EDA技术、FPGA开发技术和SOC片上系统技术有机地融合起来,全方位强化和拓展这一传统教学领域中的知识,使其在一个全新的平台上与大量新知识新方法新技术新工具有机整合,从而在微机的基本原理方面、接口技术方面、完整系统构建方面以及现代技术的应用方面有更好的理解和掌握[10]。

4 总结

随着EDA技术和SOC技术的发展,计算机科学与技术专业很多课程都能采用新技术新方法进行学习。由于8086/8088系统的HDL描述完整透明,可以在单片FPGA上重构8086/8088系统,使教学内容更易于与SOC技术整合,从而提高教学成效,开拓实用领域。本文以微机原理课程为例,在教学与实践中做到与新技术的有机融合,特别是使用IP软核完成设计和实验,在整个过程中不但可以更完整、更高效深入地学习和掌握相关环节的原理和知识,更重要的是,通过理论和实践的良好结合,能学习并掌握现代SOC数字系统设计的先进技术。

[1] 孟李林.FPGA和ASIC设计特点及应用探讨[J].半导体技术,2006(7):526-529.

[2] 杨海钢,孙嘉斌,王慰. FPGA器件设计技术发展综述[J]. 电子与信息学报,2010,32(3):714-727.

[3] 何立民. 以SoC为中心的多学科融合与渗透[J].单片机及嵌入式系统设计,2001(5):5-6+11.

[4] 吉利久.SoC的技术支持及嵌入式系统设计[J]. 单片机及嵌入式系统设计,2001(10):5-11.

[5] 赖祥宇.SOC技术及国内发展现状[J].世界电子元器件,2002(8):40-41.

[6] JOE PUMO.Core-based chip design[C]∥Session 6,IEEE CICC 97,1997,87-111.

[7] MEAF BUTY. Intellectual properties issues[C]∥ICE,ASIC Status 99,1999,4-8.

[8] 马国俊. SoC技术及设计方法研究[J].自动化与仪器仪表,2012,159(1):6-8.

[9] 马占卿,陈同忠.SoC技术及其形成基础[J].信阳师范学院学报(自然科学版),2002(3):367-369.

[10] 潘松,潘明,黄继业. 微机原理与接口技术—基本原理、实用技术和基于FPGA的SOC技术[M].北京:清华大学出版社,2015:41-44.

TheApplicationofSOCTechnologyinMicrocomputerPrincipleBasedonFPGA

Li Hailing

(Department of Computer Engineering, Xi’an Aeronautical University 710077, China)

With the development of FPGA and SOC technologies, the design of high performance and price ratio on a chip has been realized, and has become an important direction of development. Therefore, many courses in computer science and technology will face major reforms and challenges, especially in practice. Taking the microcomputer principle and interface technology curriculum as an example, this paper introduces how to integrate the traditional teaching contents into FPGA and SOC technologies. We realize the application of modern technology in principle course, so as to improve the learning effect and advanced technology in a broader vision and greater depth.

FPGA; SOC; EDA; Microcomputer principle; Applications

1007-757X(2017)12-0036-02

2017年度校级科研基金项目(2017KY0207);2017年校级高等教育研究项目(2017GJ1012)

李海玲(1980-),女,讲师,硕士,研究方向:基于FPGA的SOC技术的教学和研究。

TP301

A

2017.08.28)

猜你喜欢

微机器件原理
基于包络解调原理的低转速滚动轴承故障诊断
了解咳嗽祛痰原理,有效维护健康
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
平均场正倒向随机控制系统的最大值原理
TDJ微机可控顶调速系统在平顶山东站的应用
化学反应原理全解读
电力系统微机保护装置的抗干扰措施
旋涂-蒸镀工艺制备红光量子点器件
基于 OLED 显示单元的红外上转换器件研究进展
一种加载集总器件的可调三维周期结构