龙芯处理器IP核的FPGA验证平台设计

最新更新时间:2013-06-16来源: 互联网关键字:龙芯  处理器  IP核  FPGA验证 手机看文章 扫描二维码
随时随地手机看文章

本文利用Altera公司的FPGA开发工具对皋于国产龙芯I号处理器IP核的SoC芯片进行ASIC流片前的系统验证,全实时方式运行协同设计所产生的硬件代码和软件代码,构建一个可独立运行、可现场监测的验证平台。

  1、基于龙芯I号处理器IP核SoC芯片

龙芯I号CPU IP核是兼顾通用及嵌人CPU特点的32位处理器内核,采用类MIPS Ⅲ指令集,具有7级流水线、32位整数单元和64位浮点单元;具有高度灵活的可配置性,方便集成的各种标准接口。图1为龙芯I号CPU IP核可配置结构,用户可根据自己的需求进行选择配置,从而定制出最适合用户应用的处理器结构。


图1龙芯I号CPU IP核可配置结构


主要的可配置模块包括:浮点部件、多媒体部件、内存管理、Cache、协处理器接口。浮点部件完全兼容MIPS的浮点指令集合,其相关的系统软件完全符合ANSI/IEEE 754-1985二进制浮点运算标准。浮点部件主要包括浮点ALU部件和浮点乘法/除法部件,用户可根据自己的实际应用选择是否添加。媒体部件复用了MIPS浮点指令的Format域,并复用了浮点寄存器堆,媒体指令集基本对应了Intel SSE媒体指令集合的各种操作。图2为基于龙芯I号CPU IP核的SoC系统架构。


图2 SoC的系统结构

该SoC芯片支持通用MIPS32指令集,主频可达266 MHz;内置MAC网络,提供MII接口;存储器接口,芯片同时支持SDRAM接口、NOR Flash/ROM和\AND Flash接口,并特置HPI接口可直接与Y0IP CODEC芯片相连;提供丰富的其他外设接凵支持,包括PC接口、UART串口、SP!接口、AC97等接口设备。提供丰富的GP10接口,能够为“网络+语音”以及工业控制应用提供高效的单芯片解决方案。

  2 FPGA验证平台的设计

2.1 FPGA的开发流程

FPGA的典型开发流程如图3所示。在图3中,逻辑仿真器主要有Modelsim、Verilog_XL等,逻辑综合器主要有LeonardoSpectrum、Synplify Pro、FPGA Ex~press/FPGA CompilerII等,FPGA厂家工具有Altera公司的Max+Plusll、Quartusll,Xilinx公司的Foundation ISE、Alliance等。设计输人主要有原理图输人和HDL输人两种方式,绝大部分设计,FPGA和ASIC的工程师都使用HDL平台。设计仿真主要包括功能仿真和网表仿真,设汁仿真需要RTL代码或综合后的HDL网表和验证程序,有时候还需要测试数据,测试数据可能是代码编译后的二进制文件或使用专门的工具采集的数据。布局布线工具利用综合生成的网表、调用模块的网表,根据布局布线目标,把设计翻译成原始的目标工艺,最后得到生成编程比特流所需的数据文件。布局布线一般需要的输人输出与调用关系如图4所示。布局布线目标包括所使用的FPGA具体型号等,约束条件包括管脚位置、管脚电平逻辑(LVTIL、LCMOS等)需要达到的时钟频率,有时包括部分模块的布局、块RAM的位置等。在一般设计中,只需要注意管脚位置和需要达到的时钟频率,逻辑端口与FPGA管脚的对应取决于PCB板的设计。

图3 FPGA的典型开发流程


图4布局布线的输入输出与调用关系

2.2验证平台的系统设计

本验证平台FPGA采用Altera公司的Cyclone ⅡEP2C70,该器件采用了TSMC领先的90 nm低电介工艺技术生产⒊支持4个可编程锁相环(PLL),提供灵活的时钟管理和频率合成能力;包含了150个18×18 bit乘法器,可以完成基本的DSP处理;高速外接存储器接口支持SRAM、DRAM\DDR、DDR2以及QDRII SItAM;支持差分和单端I/0标准,包括接收速率805 Mbis和发送速率640 Mb/s的LVDS、mlnl LVDS、LVPECL、 差分HSTL和差分SSTL及处理器、ASSP和ASIC接口的64位66 MHzPCI和PCI-X;高达260 MHz工作频率,真正的双端口工作(1个读和1个写,2个读或2个写);与133 MHz Pal_X1.0标准兼容;用户最多可用引脚622个;高达402.5 MHz性能的分层时钟网络,多达16个全局时钟线,快速串行配置时间小于100 ms;支持3.3 V、2,5 V或1.8 V多种电压,可用于视频、图像处理(如MPEG4编码和译码、视频滤波)和无线基础设各中。基于龙芯I号CPU IP核的SoC的验证平台结构如图5所示。


图5 SoC的FPGA验证平台结构

图5中,外围电路的主要功能是验证SoC中各个接口IP模块能否与龙芯I号IP核、外部接口单元、硬件驱动软件和实时操作系统协调高效地工作。由于接口(如USB接口、UART/IrDA接口、SPI和LCD接口等)电路结构比较简单,且很多资料都有介绍,在设计时,除了注意通用的设计规则和印匍电路板(PCB)布局布线外,没有特别的要求。同时,为了便于分析各个被验证的IP模块在任意时刻的状态,将Cyclone Ⅱ EP2C70的大多数I/0引脚都引出到PCB上,以方便SoC开发人员使用逻辑分析仪进行信号实时采集和分析,也可让信号发生器产生一些特定信号以供系统调试使用。该开发系统在设计PCB时还特别注意了电磁干扰的屏蔽问题。

2.3 SoC到FPGA的系统移植

使用Altera公司的FPGA开发工具Quartusll,将SoC向Cyclone Π EP2C70(FPGA)移植的步骤如下
(1)对SoC进行修改,以适合FPGA的开发环境。修改子模块配置、RAM、FIFO等,添加PLL对所需要的时钟进行适当的分/倍频,或提高时钟信号的质量。
(2)使用Quartusll内置综合工具或专用综合工具(如常见的Synplify._pro)单独建Project,对RTL进行综合,生成网表。时钟工作频率较高的,要写综合约束条件。
(3)指定每一个输人输出信号对应的FPGA管脚和输人输出逻辑类型。
(4)编译生成的网表以生成sof文件,包括优化、适配、sof文件生成等分步骤。
(5)进行静态时序分析,检查是否满足预定的时钟频率要求,若不能满足,则重新进行第(2)步。如果多次进行步骤(2)仍不能满足时序要求,则需要根据关键路径对RTL代码进行修改。

关键路径是指延迟最大的路径,该路径的延迟限制了时钟的最大工作频率。该SoC芯片的最大工作频率在266 MHz以上,与选用的FPGA Cyclone Ⅱ EP2C70的总线时钟速度相当。

  3、 VxWorks实时操作系统

本文所设计的SoC硬件平台上,最终将运行Vx-Works操作系统,作为此次嵌入式SoC硬件平台设计的软件需求和最终的验证目标。VxWorks是一个具有可伸缩、可裁减、高可靠性,同时适用于所有流行CPU平台的实时操作系统㈣。可伸缩性指VxWorks提供了超过1 800个应用编程接口(API)供用户自行选择使用;可裁减性指用户可以根据自己的应用需要对VxWorks进行配置,产生具有不同功能集的操作系统映像;可靠性指VxWorks可以提供非常安全的操作系统平台。VxWorks的基本构成组件包括BSP(Board Support Package)、微内核Wind、网络系统、文件系统及I/0系统。本文测试更关注于BSP、Wind以及I/O组件。BSP中包括硬件环境中CPU的初始化及系统各项硬件资源的安装和配置,如RAM、Clock、网络接口、中断控制器等。微内核Wind是Win ̄dRiver公司自行开发的一种嵌人式操作系统内核,该内核具有标准的嵌人式实时操作系统的基本特征。
4、验证平台的检验


将已经成熟的AMBA总线IP核的Verilog代码通过Synplify综合,利用Altera公司的QUARTUS Ⅱ软件作布局布线,烧人Cyclone Ⅱ EP2C70,再用同样的方式将新开发的EMI IP核的Verilog代码烧入该FPGA,将其中的SDRAM控制器作为验证示例,选取其中最简单的访问方式来验证该平台能否使用。上电后,首先要对所有内存区(bank)预充电,经8个自刷新周期后需要设置访问模式,即编程模式寄存器。以上三个过程要求如下:
(1)预充电命令的发出要求:在时钟周期的上升沿处,CS、RAS、WE为低,CAS为高。
(2)自刷新命令的发出要求:在时钟周期的上升沿处,CS、RAS、CAS 禾口CKE保持低,WE为高。
(3)模式寄存器的激活:在时钟的上升沿处,RAS、CAS、CS和WE为低。

当要验证各个IP模块(包括[NT中断控制器、DMA控制器、LCD控制器和AC97控制器等)之间的协同工作时,烧入的代码较多,占用的FPGA资源也较多,再加上需要实时运行,例如播放PM3实时解码过程中,时钟至少要求60 MHz,需要工作的IP核有总线、DMA控制器、INT中断控制器、AC97控制器等,因此在这种情况下,最好使用Multi PointSynthesis的综合流程和Timing driv-en的综合与优化策略,并使用Logic一lock约束技术和人工干预布局布线,以达到预期目的。使用该平台对所开发的SoC的各个模块进行了验证,并在lO MHz~70 MHz条件下与代码前(后)仿真结果和SoC实测结果进行了比较,发现该FPGA验证平台在多模块、高速情况下,性能有所下降,如图6所示,需进一步提高综合和布局布线技术。


图6各模块实验验证结果比较

本文设计了基于国产龙芯I号处理器IP核的SoC的FPGA验证平台,介绍了怎样利用该平台进行软硬件协同设计、SoC系统移植、IP核验证和运行实时操作系统。在电压设计、模块选用甚至处理器核的选用方面都考虑了升级扩展技术,可为其他SoC的验证所借鉴。验证结果表明,基于龙芯I号CPU IP核的SoC可成功运行Linux嵌入式程序及VxWorks。

关键字:龙芯  处理器  IP核  FPGA验证 编辑:神话 引用地址:龙芯处理器IP核的FPGA验证平台设计

上一篇:亚微米CMOS电路中VDD-VSSESD保护结构设计
下一篇:单片机设计:简易的自行车里程表

推荐阅读最新更新时间:2023-10-12 20:46

Zurich Instruments为量子计算机研发量子处理器控制系统
在2018年10月,Zurich Instruments 瑞士苏黎世仪器与欧洲的9个合作单位联合发布了超级量子计算项目OpenSuperQ 正式启动的消息,项目的目标是研发具有100个量子比特的量子计算机。 这个项目由欧盟Horizon 2020 资助,是欧盟在量子技术领域的重大计划的一部分。在这个项目中,Zurich Instruments承担的主要任务是研发量子处理器控制系统,用来执行量子算法和量子比特的读取。Zurich Instruments 的CEO和创始人之一,Sadik Hafizovic说,”我们非常高兴能够为量子计算机的中枢部分的研发做出贡献。Zurich Instruments的全体同仁满怀期待,将把量子应
[测试测量]
Zurich Instruments为量子计算机研发量子<font color='red'>处理器</font>控制系统
Exynos芯片性能表现翻车 高通包揽三星Galaxy S23处理器订单
7月11日消息,分析师郭明錤透露,三星Galaxy S23系列全部使用高通芯片,放弃自家的Exynos。以往三星Galaxy S系列旗舰一部分使用高通芯片,一部分使用Exynos芯片。比如Galaxy S22系列国行版使用高通骁龙8,欧版使用Exynos 2200。 对此,科技媒体Android Police指出,欧洲用户会因三星Galaxy S23放弃Exynos芯片而欢呼,因为这会避免S22系列上尴尬情况重演。 三星Galaxy S22系列欧版使用Exynos 2200 此前有网友反映Exynos 2200版本的Galaxy S22系列出现了卡顿、GPS失灵等Bug,而骁龙8版本的Galaxy S22系列没有这
[手机便携]
Exynos芯片性能表现翻车 高通包揽三星Galaxy S23<font color='red'>处理器</font>订单
单片机微处理器的接口形式
  一个完整的计算机系统,除了微处理器、存贮器之外,还必须具备各种输入输出设备及接口。各种指令、原始数据和信息通过输入设备送入计算机,而计算机则将计算的结果及各种控制信号通过输出设备输出。常用的输入设备有键盘、扫描仪、模数转换器等。输出设备有显示器、打印机、数模转换器等。计算机的另一类外围设备为外部存贮器,包括存储器电路、各种磁盘及磁带机。   外围设备的种类繁多,其信息有数字量(如扫描仪获得的信息)、模拟量(如通过传感器由非电量转换成电压、电流)、开关量(如开关的闭合状态信息、输出控制)。为使外围设备的各类信息与计算机交换,必须通过接口电路。   接口电路将微处理器送出的外围设备地址信息进行译码,以判断选择的是那一个外围设
[单片机]
雷达和硅麦结合音频处理器实现最优语音识别
英飞凌科技股份公司携手XMOS有限公司推出全新的语音识别构件。该构件将英飞凌的雷达和硅麦克风传感器与XMOS 的音频处理器相结合,通过音频波束成形和雷达目标位置检测进行远场语音识别。这些器件融合在一起能够实现最优语音识别,并能实现语音控制设备的完美执行。目标应用主要包括智能家居、智能电视和机顶盒、安全无钥匙进入系统和其他声控消费电子设备。 XMOS音频处理器分析来自英飞凌数字麦克风阵列的信号数据,调整每个麦克风的角度和距离数据,以雷达数据确定的角度形成声束。 当前MEMS 麦克风的性能会限制系统的有效性:在多人语音时,声源的真实性和位置不能被准确识别,而且无法与无生命体噪音分离。英飞凌带有天线的60 GHz 2Tx/4Rx雷达
[安防电子]
高通推出第5代处理器自主架构「Falkor」 锁定服务器
电子网消息,继Kryo架构之后,高通很快地宣布推出第5代自主架构设计「Falkor (注)」,预期同样导入10nm制程,并且兼容ARMv8指令集,主要将锁定服务器等级应用。 注:具体名称可能与1984年电影《大魔域 (The Never Ending Story)》中的幸运龙Falkor有关。 高通稍早宣布推出第5代自主架构设计「Falkor」,预期同样采用三星提供10nm制程技术打造,将用于锁定服务器等级处理器,最高可对应24核架构设计,以双路运作最高可对应48核心数量,并且支持ARMv8指令集、L3高速缓存与6信道DDR4内存,同时支持最高32组PCIe 3.0连接,封装尺寸仅为55x55mm。 在此之前,高通已经宣布推出首
[半导体设计/制造]
中国产经新闻报:龙芯掉入“陷阱”
  非核心技术的“短板”无疑是龙芯产业化的“陷阱”   本报记者 佟文立报道   “胡伟武说他已经回所里了。”位于 中关村 ( 5.57 , 0.02 , 0.36% ) 的一家系统软件开发商的负责人在与记者的交谈过程中透露了这样一则信息。   与当年曾经动辙引起轰动的国产CPU项目的进展状况相比,龙芯已经从国内公众视野中消失了近两年,而国家计划采购百万台龙梦笔记本电脑以支持龙芯产业化的消息自2009年公布后也没有了下文。   2010年初,胡伟武带领技术骨干团队离开事业编制的中科院计算所,进入北京龙芯中科技术服务中心有限公司任总经理,希望克服研究所体制不适宜产业化经营的弊病。该公司成立的另一个背景则是,北
[嵌入式]
三星低端新机曝光 采用64位处理器
三星64位处理器低端新机曝光   此次在图形测试软件GFXBench数据库中出现的三星SM-G5308W似乎是一款面向低端市场的机型,在主要的硬件配置上并未有什么突出的地方,装载的5.0英寸触控屏,所支持的分辨率也仅为qHD(960×540像素)规格,配有1GB的内存容量和8GB的存储空间,内置有800万像素摄像头,支持自动聚焦和1080p全高清视频录制等功能。  新浪手机讯 7月11日上午消息,近日,一款代号为三星SM-G5308S新机在图形测试软件GFXBench的数据库里。比较特别的是,它配备Adreno 306 GPU,也就意味着,它搭载的其实是64位的高通骁龙410四核处理器。   不过,由于该机所配处理器
[手机便携]
ARM/DSP双核系统的通信接口设计
引 言   嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的8位和16位单片机;而近年来32位处理器以其高性能、低价格,得到了广泛的应用。近年来,又出现了另一类数据密集处理型芯片DSP。DSP由于其特殊的结构、专门的硬件乘法器和特殊的指令,使其能快速地实现各种数字信号处理及满足各种高实时性要求。随着现代嵌入式系统的复杂度越来越高,操作系统已成为嵌入式系统不可缺少的部分。免费的嵌入式操作系统,如Linux等,随着自身不断的改善,得到了飞速的发展。Linux是一个免费的、强大的、可信赖的、具有可伸缩性与扩充性的操作系统。Linux实现了许多现代化操作系统的理论,并且支持完整的硬件驱动程序、网络通
[嵌入式]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved