SOC实验报告构建基于SocLib的单核-SoC_第1页
SOC实验报告构建基于SocLib的单核-SoC_第2页
SOC实验报告构建基于SocLib的单核-SoC_第3页
SOC实验报告构建基于SocLib的单核-SoC_第4页
SOC实验报告构建基于SocLib的单核-SoC_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

构建基于SocLib的单核SoC本实验是在SoCLib仿真平台上完成的。SoCLib是一个由法国TIMALab、Lip6等研究机构与STMicroelectronics等知名企业联合开发的,用于多核SoC系统架构设计的ESL建模仿真平台。SoCLib仿真平台所包含的全部IP模型、工具以及各种文档均遵循GNULesserGeneralPublicLicense(LGPL)开源协议,可免费下载使用。本实验参考了法国TIMALab用于研究生SoC设计课程的大作业“IntegrationofaMotion-JPEGVideoDecoder——apracticalstudy”。实验总体目标:以Motion-JPEG(MJPEG)视频解码算法为应用范例,借助SoCLib建模仿真平台[1],通过ESL设计方法,使学生了解并掌握多核SoC(Multi-processorSoC,MPSoC)的系统架构设计与及软件设计方法。实验准备工作:实验环境:Ubuntu9.04注:其他Linux操作系统也可,但Windows操作系统不可使用实验平台:实验平台下载地址:libtool-1.5下载地址:/software/libtool/实验平台安装与测试:对压缩包libtool-1.5解压缩,然后安装libtool对压缩包projet_soc解压缩,得到文件夹projet_soc设置环境变量SOCLIB_DIR="projet_soc文件夹所在的路径"在主目录/home下创建一个工程目录,如/home/soclib_exp将文件夹projet/TP/TP0/HW复制到所创建的工程目录(注:该文件夹中包含了如图2所示的基于SoCLib构建的单核SoCESL高层次抽象模型,即硬件部分)将文件夹projet/TP/TP0/SW/hello_world复制到所创建的工程目录(注:该文件夹中包含了在单核SoC上需要运行的helloworld测试程序,即软件部分)打开Shell控制台,进入projet/TP文件夹,输入sourceinstall_env.sh设置系统环境变量进入/home/soclib_exp/hello_world文件夹,输入sourceinstall.shconfigurations/mips运行脚本,然后输入make对软件部分进行编译进入/home/soclib_exp/HW文件夹,输入make对硬件部分进行编译10.在HW文件夹下,输入ln-s../hello_world/APP.x11.输入./simulation.x-1,若出现如图1所示情况,则表示实验平台安装测试成功注:每次重新启动一次Shell控制台,均要重新运行一下步骤7中的脚本“install_env.sh”。 图1实验平台测试结果实验平台目录结构:本实验平台projet_soc的目录结构如图2所示。图2实验平台projet_soc目录结构实验平台projet_soc包含两个子文件夹:PLATFORM和TP。其中PLATFORM为实验平台,TP为4个实验内容。PLATFORM文件夹包含两个子文件夹:HW_PLATFORM:实验平台的硬件部分,又包含两个子文件夹,SoCLib和utils。SoCLib为本次实验所依赖的SoCLibESL建模与仿真环境。utils包括了实验所需的工具,如仿真内核Systemcass、调试工具CDB。SW_PLATFORM:实验平台的软件部分,又包含两个子文件夹,APES和Toolchains。APES包括了本次实验所使用的嵌入式操作系统DNA。Toolchains包括了实验所需的MIPS处理器交叉编译链。TP文件夹包含五个子文件夹和一个脚本文件:TP0~TP2:分别对应了实验一、二、三的相关文件和说明。vci_idct:对应实验四所需添加的idct模块的程序代码。docs:包含了实现所需的文档,如CDB文档,VCI协议文档。install_env.sh:设置各种环境变量的脚本。实验目的与内容:了解SoCLib平台工作原理。掌握如何利用SoCLib定义一个单核SoC硬件平台,如何在该SoC平台之上添加其他硬件设备。学习如何编写简单C程序以控制各种硬件设备。在所定义的单核SoC上运行串行的Motion-JPEG程序。分析MJPEG解码每部分在单核上运行所需要的时间,思考对该算法进行并行化。实验要求:了解SoCLib电子系统级仿真平台学会如何在SoCLib平台上添加新的硬件模块编写简单C程序验证所添加的模块的正确性在所构建的单核SoC上实现串行MJPEG解码应用,验证所搭建的SoC的正确性实验步骤:首先,利用实验平台所提供的一个最基本的单核SoC熟悉SoCLib的工作原理。如图4所示,该单核SoC硬件平台由一个MIPSR3000处理器,一个存储器以及一个显示终端TTY组成。这些硬件设备通过片上网络——GenericMicronetwork(GMN)进行互连。图4基本单核SoC硬件平台该基本单核SoC基于SoCLib实现的顶层文件top.cpp位于/projet_soc/TP/TP0/HW下。建议学生仔细阅读该顶层文件,了解如何通过该文件利用SoCLib所提供的各种ESL模型组件搭建SoC验证平台,如何定义声明各种设备模块以及各设备模块之间如何连接。在熟悉SoCLib工作原理和顶层文件top.cpp的组织形式后,在图5所示的单核SoC平台之上添加定时器VCI_TIMER、文件系统VCI_FDACCESS、帧缓存VCI_FRAMEBUFFER以及同步锁VCI_LOCKS等设备模块,修改后的单核SoC平台如图3所示。图5修改后的单核SoC硬件平台基于SoCLib添加各个设备模块时,应重点检查以下几个方面:设备模块与各种信号的声明是否正确?设备模块的初始化及各种参数的设置是否正确?各设备模块与互连网络及模块间信号的连接是否正确?各设备模块的内存映射(MemoryMapping)地址的设置是否正确?与互连网络连接的主设备、从设备数目设置是否正确?注意:使用SoCLib,每添加一个设备模块都会遇到上述问题,因此应该特别注意。编写简单的C程序,控制所添加的各种设备模块的功能,以验证SoC系统各设备工作的正确性。如何添加各设备模块以及如何使用请参见SoCLib主页中的相关信息:VCI_TIMER:http://www.soclib.fr/trac/dev/wiki/Component/VciMultiTimerVCI_FDACCESS:http://www.soclib.fr/trac/dev/wiki/Component/VciFdAccessVCI_FRAMEBUFFER:http://www.soclib.fr/trac/dev/wiki/Component/VciFrameBufferVCI_LOCKS:http://www.soclib.fr/trac/dev/wiki/Component/VciLocks对位于/projet_soc/TP/TP0/SW/mjpeg_seq文件夹下的MJPEG串行程序使用MIPS交叉编译器进行编译,移植到图3所示的单核SoCLib平台之上。熟悉MJEPG的算法流程,思考该算法任务的并行性,通过仿真统计各子程序所用的时间,考虑如何进行架构改进及软/硬件划分。建议利用TIMER模块,统计MJPEG串行程序每部分在MIPS3000上运行所需要的时间。文件project_soc/TP/TP0_CORRECTION是第一个实验的正确结果,可参考。下面是如何在TP0框架上添加TIMER、FDACCESS、LOCKS、FRAMEBUFFER四个模块的例子,供参考。硬件部分(Inyourworkingdirectory:/projet_soc/TP/TP0/HW)修改segmentation.h文件,添加所需要的组件的段地址和大小。修改platform_desc文件,添加四个组件修改top.cpp文件加入对应组件的头文件将四个组件加入mappingtable中添加Components声明Signals添加Net-list,实现四个组件的相关链接(二)软件部分(Inyourworkingdirectory:/projet_soc/TP/TP0/SW)1.根据对应硬件模块中的segmentation.h文件里的定义修改dispatch.c中所涉及到的模块的地址2.修改fetch.h的所用到的图片的保存路径3.修改mips文件中对应的模块地址 (三)修改完文件后的操作步骤:打开Shell控制台,进入projet/TP文件夹,输入sourceinstall_env.sh设置系统环境变量进入TP0/SW/mjpeg_seg/文件夹,输入sourceinstall.shconfigurations/mips运行脚本,然后输入make对软件部分进行编译进入/TP0/HW/件夹,输入make对硬件部分进行编译在HW文件夹下,输入ln-s../hello_world/APP.x输入./simulation.x-1,若出现如图2所示情况,则表示实验一添加模块成功注:每次重新启动一次Shell控制台,均要重新运行一下步骤7中的脚本“install_env.sh”。实验结果:大约每150ms读取一帧视频图像。如图2本次实验由于软件模块的修改出现差错,最终没有出现最终的图形。无法显示松鼠图样。实验过程遇到的问题:1、没有修改图片路径导致运行出现图片读取错误,将其改成图片的存储路径后还是报错误,最后仔细检查发现在路径中少加了/fd/。2、再次编译后导致程序运行出错,后经讨论没有将先前编译的清理导致再次编译时出现错误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论