论文部分内容阅读
摘要:针对本科阶段SoC系统教学的不足,研发了SoC系统平台并成功应用于EDA技术教学中。通过积极探索EDA技术课程教学,加强实践环节指导,提升学生对SoC系统的理解,初步建立起软硬件协同设计的思想。
关键词:EDA;SoC;教学特色
作者简介:侯宁(1982-),男,河南镇平人,河南城建学院电气与信息工程学院,讲师;赵张飞(1984-),男,安徽滁州人,河南城建学院电气与信息工程学院,助教。(河南 平顶山 467000)
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)08-0088-02
集成电路工艺的不断进步,使得整个嵌入式系统可以集成到单颗芯片中,称为系统芯片(System-on-a-chip,SoC)。SoC是在专用ASIC的基础上发展起来的,其不再是功能单一的单元电路,而是一种面向某种应用的嵌入式系统。[1,2]与由分立器件构成的板级系统相比,SoC在成本、体积、速度、集成度、功能多样性等方面均具有极大优势,是各种自动化设备、汽车电子、家电、消费类电子领域的核心部件。
由于我国在集成电路设计领域起步较晚,虽然历经十余年的奋起直追,但与国外的差距反而有逐步拉大的趋势。2012年,国内芯片进口总量2197.17亿个,总额约1650亿美元,已经超过石油进口总额的1200亿美元。SoC芯片的进口量更是在芯片进口总量中占有极大比重,因此,培养合格的集成电路设计人才是高校面临的一项极其迫切的任务。
一、EDA技术教学面临的挑战
SoC系统设计包含硬件设计和嵌入式软件设计两个方面,需要微机原理、数字电路设计、模拟/射频电路设计、嵌入式软件等多学科的知识与技能。同时,由于SoC系统需要软硬件协同实现系统功能,因此设计者必须在定义SoC功能规范时,确定SoC系统的软硬件划分。随后,按照软件工程方法学设计嵌入式软件,按照VLSI集成电路设计方法学设计硬件。在设计过程中也需要结合软硬件协同设计的思想,加快SoC系统的设计进度。[3,4]
现阶段,我国高校中电子类及通讯类专业均开设有导论性质的SoC系统课程,但是理论性太强,学生缺乏对SoC系统的直观认识并且出现重嵌入式软件,轻体系结构及硬件设计的问题。学生对系统总线、知识产权核(intellectual Property,IP)、软硬件划分、软硬件协同设计等概念不甚了解。
EDA技术是通讯工程、电子信息工程、电子科学与技术及相关专业的一门专业基础课,也是唯一一门讲述现代数字电路设计方法及流程的课程。[5]当前EDA技术实验面临内容单一,实验项目常以验证型实验为主,学生的设计难以突破实验箱的限制。[6]此外,在该课程教学之前,学生通过微机原理、单片机原理等课程的学习,已经对嵌入式系统的体系结构、指令集等概念建立起整体认识,但是由于面对的仍然是8051、8259等分立器件,学生还没有建立系统的概念,特别是软硬件协同设计的思想。因此,EDA技术教学中,在学生掌握了基本组合电路、时序电路设计方法后,利用一个真实的SoC系统平台进行实践教学,可以使学生进一步理解SoC系统,通过SoC系统实验使学生初步建立起软硬件协同设计思想。
二、SoC系统平台介绍
为了满足EDA设计课程教学中SoC系统实验的需要,笔者开发了一款嵌入式SoC系统平台,如图1所示。
嵌入式SoC系统平台包括一款兼容ARM指令集[7]的处理核。AHB总线挂接内部存储器,默认从设备,中断控制器。处理核通过APB总线桥访问常用的慢速外设,包括通用IO、定时器、SPI接口、I2C接口以及UART接口。
嵌入式SoC系统平台结构简单,参数化设计,外设丰富,除了满足SoC系统实验要求外,还可以做为EDA课程设计的基础平台开展一些开放性实验。
笔者开设的SoC系统实验课没有采用Altera公司的SOPC实验环境。[8,9]笔者认为对于初步接触SoC系统的学生而言,该平台涉及的自动化工具过多,容易将学生学习的注意力转移到工具的使用上,而忽略了对SoC系统本身的学习。
三、SoC系统实验介绍
已经开设的SoC系统实验包括系统总线实验、通用总线接口(General Purpose Input Output,GPIO)设计实验和开放性实验三部分。通过这部分内容的学习,要求学生掌握系统总线、IP核的概念,初步建立软硬件协同设计思想并理解软硬件资源开销。
1.系统总线实验
微机原理和单片机课程通常以8051作为授课对象。8051的外部总线是一种板级三态总线,要求地址和数据总线复用,完全不同于强调流水操作的现代系统总线。AMBA总线是ARM公司定义的一種系统总线规范,用于ARM处理核与外设IP间的数据通讯,是一种典型的现代系统总线。①由于ARM处理核超高的市场占有率,AMBA总线标准应用广泛。
AMBA总线规范内容较多,实验仅涉及AHB-LITE总线和APB总线的基本操作。
图2所示为一个典型的AHB-LITE总线系统,实验要求学生自己定义各个外设的总线地址区间,设计出总线的译码器模块和多路选择器模块。
APB总线桥连接AHB总线与APB总线,这部分内容作为开放实验的一部分,供学有余力的同学学习。实验中仅要求学生掌握APB总线的基本读写时序。
通过系统总线实验,使学生理解现代系统总线的设计思路,理解板级总线与片内系统总线的区别。
2.GPIO设计实验
GPIO是SoC系统最基本的外设IP,可以用作各类总线扩展接口,还可以提供额外的控制监视功能。本实验要求学生需要依据设计规范,设计出一款基于APB总线接口的GPIO外设IP,特别要求GPIO支持硬件“读—改—写”操作。通过该实验使学生理解IP核的设计重点,重点建立软硬件划分的设计思想,理解软硬件资源开销。 图3所示为实验技术规范定义的GPIO框图,主要包括数据模块和中断模块。GPIO规范要求设计具有如下特征:软件配置输入或者输出;支持硬件“读-改-写”功能;可配置作为中断源;可配置支持上升沿和下降沿中断。
在实际教学中,要求学生必须完成GPIO的数据模块的设计。中断模块的设计可作为开放性实验。在实验中,要求学生用软件实现“读—改—写”操作,与硬件的“读—改—写”操作比较,深刻理解嵌入式系统设计中的软硬件开销问题,对SoC系统的软硬件划分思想有初步的认识。
3.开放性实验
SoC系统的内容丰富,由于EDA技术学时有限,笔者将一些课程教学无法涉及的内容放在EDA课程设计的开放性实验环节。学生可以在利用SoC系统平台开发外设IP,丰富平台功能。
开放性实验提供的可选实验包括:PWM电机控制实验,要求学生根据规范要求设计PWM IP并控制电机运转;UART通用串口实验,要求学生根据规范设计UART IP并与PC 调试助手通讯;SPI FLASH编程实验,要求学生根据规范设计SPI IP并完成SPI FLASH编程;I2C接口液晶控制实验,要求学生根据规范设计I2C IP并控制液晶模块;RTC实验,要求学生根据规范设计RTC IP并编程支持实时时钟;未来开放性实验还将提供SD Card IP,USB IP,Ethernet IP等实验。
集成电路设计技术发展迅猛,SoC系统平台的扩展和丰富需要教师不断学习,以确保学生在校期间能接触到最先进的集成电路设计知识,快速适应未来工作。
四、 结束语
针对当前本科教育阶段SoC系统教学中重理论,轻实践,重软件,轻硬件设计的问题,笔者利用自己研发的SoC系统实验平台,积极探索EDA技术课程教学,加强实践环节指导,提升学生对SoC系统的理解,使学生初步建立起软硬件协同设计的思想。利用EDA课程设计的开放性实验环节,指导学有余力的学生独立设计一些简单的外设IP,培养学生兴趣,进一步增强学生就业竞争力。
注释:
①参见www.arm.com的内容。
参考文献:
[1]郭炜, 郭筝,谢憬.SoC设计方法与实現[M].电子工业出版社,
2007.
[2][美]罗文.复杂SoC设计[M]. 吴武臣, 侯立刚,译.机械工业出版社,2006.
[3]赵川,徐涛,孙晓光.高性能处理系统的软硬件协同设计研究[J].计算机工程与科学,2009,31(1):20-23.
[4]于海,姚启桂,虞跃,等.基于SoPC的状态监测装置的嵌入式软硬件协同设计[J].现代电子技术,2012,(22):1-4.
[5]周莉莉,周淑阁.EDA课程教学方法的研究与实践[J].实验室科学,2008,(5):55-57.
[6]翟文正,管功湖.将EDA 技术引入计算机组成与结构实验教学的研究[J].实验室研究与探索,2008,(12):12-14.
[7]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.
[8]潘松,黄继业,曾毓.SOPC技术使用教程[M].北京:清华大学出版社,2005.
[9]薛小刚,葛毅敏.Xilinx ISE 9.X FPGA/ CPLD 设计指南[M].北京:人民邮电出版社,2008.
(责任编辑:王意琴)
关键词:EDA;SoC;教学特色
作者简介:侯宁(1982-),男,河南镇平人,河南城建学院电气与信息工程学院,讲师;赵张飞(1984-),男,安徽滁州人,河南城建学院电气与信息工程学院,助教。(河南 平顶山 467000)
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)08-0088-02
集成电路工艺的不断进步,使得整个嵌入式系统可以集成到单颗芯片中,称为系统芯片(System-on-a-chip,SoC)。SoC是在专用ASIC的基础上发展起来的,其不再是功能单一的单元电路,而是一种面向某种应用的嵌入式系统。[1,2]与由分立器件构成的板级系统相比,SoC在成本、体积、速度、集成度、功能多样性等方面均具有极大优势,是各种自动化设备、汽车电子、家电、消费类电子领域的核心部件。
由于我国在集成电路设计领域起步较晚,虽然历经十余年的奋起直追,但与国外的差距反而有逐步拉大的趋势。2012年,国内芯片进口总量2197.17亿个,总额约1650亿美元,已经超过石油进口总额的1200亿美元。SoC芯片的进口量更是在芯片进口总量中占有极大比重,因此,培养合格的集成电路设计人才是高校面临的一项极其迫切的任务。
一、EDA技术教学面临的挑战
SoC系统设计包含硬件设计和嵌入式软件设计两个方面,需要微机原理、数字电路设计、模拟/射频电路设计、嵌入式软件等多学科的知识与技能。同时,由于SoC系统需要软硬件协同实现系统功能,因此设计者必须在定义SoC功能规范时,确定SoC系统的软硬件划分。随后,按照软件工程方法学设计嵌入式软件,按照VLSI集成电路设计方法学设计硬件。在设计过程中也需要结合软硬件协同设计的思想,加快SoC系统的设计进度。[3,4]
现阶段,我国高校中电子类及通讯类专业均开设有导论性质的SoC系统课程,但是理论性太强,学生缺乏对SoC系统的直观认识并且出现重嵌入式软件,轻体系结构及硬件设计的问题。学生对系统总线、知识产权核(intellectual Property,IP)、软硬件划分、软硬件协同设计等概念不甚了解。
EDA技术是通讯工程、电子信息工程、电子科学与技术及相关专业的一门专业基础课,也是唯一一门讲述现代数字电路设计方法及流程的课程。[5]当前EDA技术实验面临内容单一,实验项目常以验证型实验为主,学生的设计难以突破实验箱的限制。[6]此外,在该课程教学之前,学生通过微机原理、单片机原理等课程的学习,已经对嵌入式系统的体系结构、指令集等概念建立起整体认识,但是由于面对的仍然是8051、8259等分立器件,学生还没有建立系统的概念,特别是软硬件协同设计的思想。因此,EDA技术教学中,在学生掌握了基本组合电路、时序电路设计方法后,利用一个真实的SoC系统平台进行实践教学,可以使学生进一步理解SoC系统,通过SoC系统实验使学生初步建立起软硬件协同设计思想。
二、SoC系统平台介绍
为了满足EDA设计课程教学中SoC系统实验的需要,笔者开发了一款嵌入式SoC系统平台,如图1所示。
嵌入式SoC系统平台包括一款兼容ARM指令集[7]的处理核。AHB总线挂接内部存储器,默认从设备,中断控制器。处理核通过APB总线桥访问常用的慢速外设,包括通用IO、定时器、SPI接口、I2C接口以及UART接口。
嵌入式SoC系统平台结构简单,参数化设计,外设丰富,除了满足SoC系统实验要求外,还可以做为EDA课程设计的基础平台开展一些开放性实验。
笔者开设的SoC系统实验课没有采用Altera公司的SOPC实验环境。[8,9]笔者认为对于初步接触SoC系统的学生而言,该平台涉及的自动化工具过多,容易将学生学习的注意力转移到工具的使用上,而忽略了对SoC系统本身的学习。
三、SoC系统实验介绍
已经开设的SoC系统实验包括系统总线实验、通用总线接口(General Purpose Input Output,GPIO)设计实验和开放性实验三部分。通过这部分内容的学习,要求学生掌握系统总线、IP核的概念,初步建立软硬件协同设计思想并理解软硬件资源开销。
1.系统总线实验
微机原理和单片机课程通常以8051作为授课对象。8051的外部总线是一种板级三态总线,要求地址和数据总线复用,完全不同于强调流水操作的现代系统总线。AMBA总线是ARM公司定义的一種系统总线规范,用于ARM处理核与外设IP间的数据通讯,是一种典型的现代系统总线。①由于ARM处理核超高的市场占有率,AMBA总线标准应用广泛。
AMBA总线规范内容较多,实验仅涉及AHB-LITE总线和APB总线的基本操作。
图2所示为一个典型的AHB-LITE总线系统,实验要求学生自己定义各个外设的总线地址区间,设计出总线的译码器模块和多路选择器模块。
APB总线桥连接AHB总线与APB总线,这部分内容作为开放实验的一部分,供学有余力的同学学习。实验中仅要求学生掌握APB总线的基本读写时序。
通过系统总线实验,使学生理解现代系统总线的设计思路,理解板级总线与片内系统总线的区别。
2.GPIO设计实验
GPIO是SoC系统最基本的外设IP,可以用作各类总线扩展接口,还可以提供额外的控制监视功能。本实验要求学生需要依据设计规范,设计出一款基于APB总线接口的GPIO外设IP,特别要求GPIO支持硬件“读—改—写”操作。通过该实验使学生理解IP核的设计重点,重点建立软硬件划分的设计思想,理解软硬件资源开销。 图3所示为实验技术规范定义的GPIO框图,主要包括数据模块和中断模块。GPIO规范要求设计具有如下特征:软件配置输入或者输出;支持硬件“读-改-写”功能;可配置作为中断源;可配置支持上升沿和下降沿中断。
在实际教学中,要求学生必须完成GPIO的数据模块的设计。中断模块的设计可作为开放性实验。在实验中,要求学生用软件实现“读—改—写”操作,与硬件的“读—改—写”操作比较,深刻理解嵌入式系统设计中的软硬件开销问题,对SoC系统的软硬件划分思想有初步的认识。
3.开放性实验
SoC系统的内容丰富,由于EDA技术学时有限,笔者将一些课程教学无法涉及的内容放在EDA课程设计的开放性实验环节。学生可以在利用SoC系统平台开发外设IP,丰富平台功能。
开放性实验提供的可选实验包括:PWM电机控制实验,要求学生根据规范要求设计PWM IP并控制电机运转;UART通用串口实验,要求学生根据规范设计UART IP并与PC 调试助手通讯;SPI FLASH编程实验,要求学生根据规范设计SPI IP并完成SPI FLASH编程;I2C接口液晶控制实验,要求学生根据规范设计I2C IP并控制液晶模块;RTC实验,要求学生根据规范设计RTC IP并编程支持实时时钟;未来开放性实验还将提供SD Card IP,USB IP,Ethernet IP等实验。
集成电路设计技术发展迅猛,SoC系统平台的扩展和丰富需要教师不断学习,以确保学生在校期间能接触到最先进的集成电路设计知识,快速适应未来工作。
四、 结束语
针对当前本科教育阶段SoC系统教学中重理论,轻实践,重软件,轻硬件设计的问题,笔者利用自己研发的SoC系统实验平台,积极探索EDA技术课程教学,加强实践环节指导,提升学生对SoC系统的理解,使学生初步建立起软硬件协同设计的思想。利用EDA课程设计的开放性实验环节,指导学有余力的学生独立设计一些简单的外设IP,培养学生兴趣,进一步增强学生就业竞争力。
注释:
①参见www.arm.com的内容。
参考文献:
[1]郭炜, 郭筝,谢憬.SoC设计方法与实現[M].电子工业出版社,
2007.
[2][美]罗文.复杂SoC设计[M]. 吴武臣, 侯立刚,译.机械工业出版社,2006.
[3]赵川,徐涛,孙晓光.高性能处理系统的软硬件协同设计研究[J].计算机工程与科学,2009,31(1):20-23.
[4]于海,姚启桂,虞跃,等.基于SoPC的状态监测装置的嵌入式软硬件协同设计[J].现代电子技术,2012,(22):1-4.
[5]周莉莉,周淑阁.EDA课程教学方法的研究与实践[J].实验室科学,2008,(5):55-57.
[6]翟文正,管功湖.将EDA 技术引入计算机组成与结构实验教学的研究[J].实验室研究与探索,2008,(12):12-14.
[7]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.
[8]潘松,黄继业,曾毓.SOPC技术使用教程[M].北京:清华大学出版社,2005.
[9]薛小刚,葛毅敏.Xilinx ISE 9.X FPGA/ CPLD 设计指南[M].北京:人民邮电出版社,2008.
(责任编辑:王意琴)