SoC原型验证技术的研究

[09-12 17:52:44]   来源:http://www.88dzw.com  单片机学习   阅读:8903

文章摘要:RC1000的可编程时钟可以提供400kHz~100MHz的时钟频率。它的输出时钟从“OUT”端口输出,经由连接总线驱动RC200,实现RC1000和RC200的时钟同步。2 Lena图像处理SoC原型原型验证,如图3所示。主机处理器代表SoC处理器的原型;RC1000实现图像扭曲算法,是专用图像处理模块;RC200是显示驱动模块及显示装置。Lena图像数据以静态库文件的方式嵌入程序源代码。主机程序启动后,首先对原型子系统进行配置,然后用DMA方式把图像数据送入RC1000的存储器中。数据传输结束后,主机用控制端口通知RC1000进行处理。RC1000对Lena图像进行扭曲处理,处理完一帧后,

SoC原型验证技术的研究,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
RC1000的可编程时钟可以提供400kHz~100MHz的时钟频率。它的输出时钟从“OUT”端口输出,经由连接总线驱动RC200,实现RC1000和RC200的时钟同步。

2 Lena图像处理SoC原型原型验证,如图3所示。主机处理器代表SoC处理器的原型;RC1000实现图像扭曲算法,是专用图像处理模块;RC200是显示驱动模块及显示装置。

Lena图像数据以静态库文件的方式嵌入程序源代码。主机程序启动后,首先对原型子系统进行配置,然后用DMA方式把图像数据送入RC1000的存储器中。数据传输结束后,主机用控制端口通知RC1000进行处理。RC1000对Lena图像进行扭曲处理,处理完一帧后,用状态端品通知主机取回结果,并在主机显示器上显示。主机拿到结果后,通知RC1000继续处理。如此反复。也就是说,主机以DMA方式传输一帧静态图像,然后再以DMA方式逐帧取回处理结果,在主机显示器上得到扭曲变幻的动态图像。

在RC1000对每帧图像的处理过程中,是以像素为单位把图像数据传递给RC200的。像素数据的传送使用三条信号线,分别是Data、Write和RC200Rdy。Data是16位的数据总线,用来发送像素数据。Write是RC1000发送数据的标志信号线。RC200Rdy表明RC200是否准备好接收像素数据Data。像素数据的发送协议与握手协议类似。在RC1000处理像素的过程中,Write为0,像素处理完成后,如果RC200Rdy为1,则开始发送数据Data,同时把Write置为1通知RC200接收数据;如果RC200Rdy为0,RC1000就进入等待状态,直至RC200Rdy跳变为1。在RC200接收、处理数据的过程中,RC200Rdy被置为0。

RC200接收到的数据是16位的,但它只支持24位或者30位的显示数据。因此,对16位的像素数据应加以处理,把它扩展到24位。动态图像的显示借助Frame Bufferdb实现,这是Celoxica的视频显示核。它用两个存储器排作为视频缓冲器,交替接收数据和驱动显示。

4 实验结果及系统原型的性能分析

Lena图像处理及其试验表明:SCSD能够有效、快速地实现SoC的原型验证和IP的仿真难证。但用于SoC原型验证,尚有不足之处。首先,它只支持设计的可配置逻辑实现,不支持诊断能力的实现;其次,它只能在单个FPGA上实现设计,不能把Handel-C设计划分在多个FPGA上实现。而这两点对于原型验证来说却非常重要。

诊断就是在原型运行过程中如何实现重要信号的收集和分析。诊断涉及到监测点的指定及其实现,以及监测点数据的处理分析。在Verilog中指定监测点相对简单,因为有现在的工具-Synplicity的Idenfify。在Handel-C中还没有现成办法指定监测点。其指定和实现机制需要进一步的研究。可行的办法就是,行用DK把Handel-C描述的验证环境或设计编译成Verilog描述,然后再在Identify中指定监测点。实现就是在硬件上获得并表现这些监测点的信号,如把这些信号直接或者经过某种处理后输出到逻辑分析仪或PC主机。但这需要圆形硬件的支持。

大规模块设计需要多个FPGA实现。因此对于原型验证,需要把设计划分到多个FPGA上实现。比较快捷的方法是:先用DK把Handel-C设计编译为Verilog描述,然后用Synplicity的设计划分工具Certify划分,最后用Xilinx公司的布局布线工具生成配置数据。也可以进一步研究如何划分Handel-C设计。改进的SoC/IP原型验证流程及所用的软件工具如图4所示。

为了支持原型验证的诊断能力、实现大规模SoC设计的原型验证,设计了一款全新的原型电路板,其功能示意图如图5所示。电路板使用三个FPGA,采用环形互连结构。原型FPGA之间的互连便于设计在两者之间划分。而接口FPGA与两者之间的连接则用于对设计内部接点实现监督,对配置数据进行下载。接口FPGA外接六排存储器(32位SRAM),因此每周期最多可以并行监督192个内部信号。运行过程中,监测点的信号值直接存入SRAM。主机以DMA方式读取SRAM中的信号值,从而实现软件读取原型硬件运行过程中的数据,开发工程师可以像在模拟环境中一样观察分析自己感兴趣的信号。这就部分解决了长久以来困扰硬件仿真或原型的问题(诊断能力很差)。如果监测点的信号数据量很大,无法通过PCI总线实时传送到PC主机或分析困难时,可在接口FPGA中进行处理,数据处理之后再传送过去。但有时用逻辑分析仪分析信号更适合也更方便,因此电路板上还设计了一个逻辑分析仪与接口FPA连接的插槽。该原型电路板支持两种扩展方式:电路板扩展和插件扩展。电路板扩展就是在系统的PCI总线中加入更多原型电路板,以骓更大模块的电路。此时,电路板之间可采用速度可高至射频的高速连接总线,PCI总线只是用来实现控制和诊断。扩展插槽中可以插入不同的小尺寸外设以及数模/模数电路板,以扩展原型系统的原型能力。Rocket I/O接口支持射频模块的接入。

SCSD可以加快SoC原型验证的描述和实现,但无法实现诊断和设计的划分。本文在数次试验的基础上,提出了改进的原型实现流程,并重新设计原型电路板。然而,这只是为SoC原型验证系统的开发找到了一个很好的方向,并作了一些基础性的研究工作。要实现它,还有很多工作要做。




上一页  [1] [2] [3] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《SoC原型验证技术的研究》相关文章

分类导航
最新更新
热门排行