基于单片机软核的SOPC系统设计与实现
发布时间:2008/5/27 0:00:00 访问次数:474
    
    随着微电子工艺技术和ic设计技术的不断提高,整个系统都可集成在一个芯片上,而且系统芯片的复杂性越来越高。为了提高效率,复用以前的设计模块已经成为系统世馘 (soc)设计的必上之路。soc的实现基本上有两种方法,一种是用asic芯片实现,另一种是fpga或pld芯片实现。后一种实现也称为sopc实现。sopc技术是美国altera公司于2000年最早提出的,即用大规模可编程器件实现soc的功能。它为soc的实现提供了一种简单易行而又成本低廉的手段,极大地促进了soc的发展。本文设计就是采用sopc技术,在一块fpga芯片上,实现一个水文测报通信系统。该系统是专门为国家防汛指挥系统项目而开发的实时多任务的前置通信控制机,用于实现水文数据的传输、处理和存储。
    国家防汛指挥系统工程启动之后,对水文测报网络中的通信控制机性能提出了更加苛刻的要求:更多、更快速的通信端口;更大的存储容量;更高的可靠性;更强的实时性;更强的可操作性;更便捷的应用程序开发平台。为了实现这些要求,以前曾采有传统的单片机系统完成这项工作,但这些方法存 几大缺陷:(1)系统占用面积比较大;(2)管脚的数量比较多,因而电路板问题引导发故障较多;(3)电路板信号传送之间存在干扰,系统运行速度难以达到要求。针对这些问题,本文采用soc设计方式,进行软硬件协同设计,把整个可复用的内核如8051ip核、usb ip核、uart ip核等集成在一块fpga芯片上,用wishbone总线构成一个完整的片上通信系统。实验结果证明:该系统所占用的面积缩小为原来的四分之一,管脚数量减少了三分之一,系统运行的速度也提高了。usb ip核的速度可以达到60mhz,完全满足设计要求。
    1 系统实现方案
    1.1 系统结构说明
    本设计采用altera-p.htm" target="_blank" title="altera货源和pdf资料">altera公司的开发平台,即在一块altera-p.htm" target="_blank" title="altera货源和pdf资料">altera公司的cyclone系列fpga芯片上构建sopc系统。芯片内部ip核的结构示意图如图1所示。
    
    
    图中,系统核心8051 ip核采用的是第三方的图件,遵守gpl协议的公开源代码,指令体系与标准的8051兼容,全同步设计,并且通过修改包含了测试器接口;源代码由vhdl语言写成,拥有良好的注释及可扩展性。其它ip核如uart ip核、i2c ip核、usb ip核等都是自行设计的;图中总线采用的是wishbone片上总线。
    1.2 系统功能的实现
    系统的主要功能是数据传输。从图1所示的结构图可见,内部数据传输采用的是总线结构,所有的设备都是通过总线进行数据传送的,因此设计的核心是总线数据传输。本文设计采用的是silicore公司的wishbone片上总线标准。片上总线(on-chip bus,ocb)是实现soc中ip核连接最常见的技术手段,它以总线方式实现ip核之间的数据通信。与板上总线不同,片上总线不用驱动底板上的信号和连接器,使用更简单,速度更快。wishbone是一种主/从结构的总线,所有的ip核挂接在wishbone总线上,其规范是一种片上系统ip核互连体系结构。本系统选取8051 ip核为主,其它ip核为从,主/从ip核通过握手信号使数据在wishbone总线上进行交换。
    下面详细说明wishbone总线功能的实现。wishbone主设备核(8051 ip)与wishbone从设备核(usb ip核、uart ip核、i2c ic核等)端口信号连接图如图2所示;主设备核读取从设备核数据的时序示决图如图3所示。写操作时序与之类似。
    
    
    
    
    wishbone连线示意图中只画出一个主设备核和一个从设备核,实现情况可挂接多个主设备和从设备。本文采用了一主多从的结构,即一个主设备核(8051 ip核)控制总线,与多个从设备核(uart ip核、usb ip核等)进行数据传输。wishbone总线连接线可分为:同步信号线clk-i;设备地址线adr;主ip核到从ip核的数据输出线dat_o,从ip核到主ip核的数据输入线dat_i;控制线sel、stb、cyc、ack;附加线tagn(用户可以自行定义,本文定义了定信号线we)。
    wishbone的数据传输由主设备控制,采用握手信号stb-o和ack-i控制传输过程,如图4所示。
    
    传输过程的握手信号 hspace=0 src="http:
    
    随着微电子工艺技术和ic设计技术的不断提高,整个系统都可集成在一个芯片上,而且系统芯片的复杂性越来越高。为了提高效率,复用以前的设计模块已经成为系统世馘 (soc)设计的必上之路。soc的实现基本上有两种方法,一种是用asic芯片实现,另一种是fpga或pld芯片实现。后一种实现也称为sopc实现。sopc技术是美国altera公司于2000年最早提出的,即用大规模可编程器件实现soc的功能。它为soc的实现提供了一种简单易行而又成本低廉的手段,极大地促进了soc的发展。本文设计就是采用sopc技术,在一块fpga芯片上,实现一个水文测报通信系统。该系统是专门为国家防汛指挥系统项目而开发的实时多任务的前置通信控制机,用于实现水文数据的传输、处理和存储。
    国家防汛指挥系统工程启动之后,对水文测报网络中的通信控制机性能提出了更加苛刻的要求:更多、更快速的通信端口;更大的存储容量;更高的可靠性;更强的实时性;更强的可操作性;更便捷的应用程序开发平台。为了实现这些要求,以前曾采有传统的单片机系统完成这项工作,但这些方法存 几大缺陷:(1)系统占用面积比较大;(2)管脚的数量比较多,因而电路板问题引导发故障较多;(3)电路板信号传送之间存在干扰,系统运行速度难以达到要求。针对这些问题,本文采用soc设计方式,进行软硬件协同设计,把整个可复用的内核如8051ip核、usb ip核、uart ip核等集成在一块fpga芯片上,用wishbone总线构成一个完整的片上通信系统。实验结果证明:该系统所占用的面积缩小为原来的四分之一,管脚数量减少了三分之一,系统运行的速度也提高了。usb ip核的速度可以达到60mhz,完全满足设计要求。
    1 系统实现方案
    1.1 系统结构说明
    本设计采用altera-p.htm" target="_blank" title="altera货源和pdf资料">altera公司的开发平台,即在一块altera-p.htm" target="_blank" title="altera货源和pdf资料">altera公司的cyclone系列fpga芯片上构建sopc系统。芯片内部ip核的结构示意图如图1所示。
    
    
    图中,系统核心8051 ip核采用的是第三方的图件,遵守gpl协议的公开源代码,指令体系与标准的8051兼容,全同步设计,并且通过修改包含了测试器接口;源代码由vhdl语言写成,拥有良好的注释及可扩展性。其它ip核如uart ip核、i2c ip核、usb ip核等都是自行设计的;图中总线采用的是wishbone片上总线。
    1.2 系统功能的实现
    系统的主要功能是数据传输。从图1所示的结构图可见,内部数据传输采用的是总线结构,所有的设备都是通过总线进行数据传送的,因此设计的核心是总线数据传输。本文设计采用的是silicore公司的wishbone片上总线标准。片上总线(on-chip bus,ocb)是实现soc中ip核连接最常见的技术手段,它以总线方式实现ip核之间的数据通信。与板上总线不同,片上总线不用驱动底板上的信号和连接器,使用更简单,速度更快。wishbone是一种主/从结构的总线,所有的ip核挂接在wishbone总线上,其规范是一种片上系统ip核互连体系结构。本系统选取8051 ip核为主,其它ip核为从,主/从ip核通过握手信号使数据在wishbone总线上进行交换。
    下面详细说明wishbone总线功能的实现。wishbone主设备核(8051 ip)与wishbone从设备核(usb ip核、uart ip核、i2c ic核等)端口信号连接图如图2所示;主设备核读取从设备核数据的时序示决图如图3所示。写操作时序与之类似。
    
    
    
    
    wishbone连线示意图中只画出一个主设备核和一个从设备核,实现情况可挂接多个主设备和从设备。本文采用了一主多从的结构,即一个主设备核(8051 ip核)控制总线,与多个从设备核(uart ip核、usb ip核等)进行数据传输。wishbone总线连接线可分为:同步信号线clk-i;设备地址线adr;主ip核到从ip核的数据输出线dat_o,从ip核到主ip核的数据输入线dat_i;控制线sel、stb、cyc、ack;附加线tagn(用户可以自行定义,本文定义了定信号线we)。
    wishbone的数据传输由主设备控制,采用握手信号stb-o和ack-i控制传输过程,如图4所示。
    
    传输过程的握手信号 hspace=0 src="http:
上一篇:硬件描述语言HDL的现状与发展