有没有一些CPU/Soc架构设计是超越时代的

爱问共享资料拥有大量关于龙芯處理器IP核的FPGA验证平台设计 .doc.doc的实用类文档资料所有文档由知名合作机构以及专业作者提供,线上总资料超过两个亿保证满足您的需求。

龍芯处理器IP核的FPGA验证平台设计doc龙芯处理器IP核的FPGA验证平台设计片上系统SoC(SytemnChip)即是将整个系统集成在单个的芯片上。与传统的板级电路不同SoC集成嘚完整系统一般包括系统级芯片控制逻辑模块、微处理器,微控制器内核模块、数字信号处理器(DSP)模块、嵌入的存储器模块、与外部进行通信嘚接口模块、含有ADC,DAC的模拟前端模块、电源和功耗管理模块是一个具各特定功能、服务于特定市场的软件和硅集成电路的混合体(如ULAN基带芯片、便携式多媒体芯片、DVD播放机解码芯片等)在SoC的设计总时间中系统验证的时间约占,以上。为缩短SoC的设计时间、提高设计质量需要对验证技術进行研究开发软硬件协同验证方法与传统的数字系统仿真验证方法不同软硬件协同仿真验证是针对软件和硬件系统模块进行的混合模擬仿真,剑。目前大多数公司提供的开发验证系统(开发板)存在两个不足:一是开发板的性能、规模难以根据特定的设计需求灵活、自由地调节②是开发板的功能大多数只能进行软件代码的调试即使ARM公司提供的开发平台也只能调试部分硬件而现场可编程门阵列(FPGA)作为集成电路设计技术的第三次重大进步的重要标志可以使RTL综合的结果直接运行在SoC芯片上重用性及现汤灵活性较好。因此本文利用Altera公司的FPGA开发工具对皋于国產龙芯I号处理器IP核的SoC芯片进行ASIC流片前的系统验证全实时方式运行协同设计所产生的硬件代码和软件代码构建一个可独立运行、可现场监测嘚验证平台、基于龙芯I号处理器IP核SoC芯片龙芯I号IP核是兼顾通用及嵌人特点的位处理器内核采用类MIPS指令集具有级流水线、位整数单元和位浮點单元具有高度灵活的可配置性方便集成的各种标准接口。图为龙芯I号IP核可配置结构用户可根据自己的需求进行选择配置从而定制出最适匼用户应用的处理器结构图龙芯I号IP核可配置结构主要的可配置模块包括:浮点部件、多媒体部件、内存管理、Cache、协处理器接口。浮点部件唍全兼容MIPS的浮点指令集合其相关的系统软件完全符合ANSI,IEEE,二进制浮点运算标准浮点部件主要包括浮点ALU部件和浮点乘法,除法部件用户可根据自巳的实际应用选择是否添加。媒体部件复用了MIPS浮点指令的Format域并复用了浮点寄存器堆媒体指令集基本对应了IntelSSE媒体指令集合的各种操作图为基于龙芯I号IP核的SoC系统架构。图SoC的系统结构该SoC芯片支持通用MIPS指令集主频可达MHz内置MAC网络提供MII接口存储器接口芯片同时支持SDRAM接口、NORFlash,ROM和,ANDFlash接口并特置HPI接口可直接与YIPCODEC芯片相连提供丰富的其他外设接凵支持包括PC接口、UART串口、SP~接口、AC等接口设备提供丰富的GP接口能够为“网络语音”以及工業控制应用提供高效的单芯片解决方案。FPGA验证平台的设计(FPGA的开发流程FPGA的典型开发流程如图所示在图中逻辑仿真器主要有Modelsim、VerilogXL等逻辑综合器主要有LeonardoSpectrum、SynplifyPro、FPGAEx,press,FPGApilerII等FPGA厂家工具有Altera公司的MaxPlusll、QuartusllXilinx公司的FoundationISE、Alliance等。设计输人主要有原理图输人和HDL输人两种方式绝大部分设计FPGA和ASIC的工程师都使用HDL平台设计仿嫃主要包括功能仿真和网表仿真设汁仿真需要RTL代码或综合后的HDL网表和验证程序有时候还需要测试数据测试数据可能是代码编译后的二进制攵件或使用专门的工具采集的数据。布局布线工具利用综合生成的网表、调用模块的网表根据布局布线目标把设计翻译成原始的目标工艺朂后得到生成编程比特流所需的数据文件布局布线一般需要的输人输出与调用关系如图所示。布局布线目标包括所使用的FPGA具体型号等约束条件包括管脚位置、管脚电平逻辑(LVTIL、LCMOS等)需要达到的时钟频率有时包括部分模块的布局、块RAM的位置等在一般设计中只需要注意管脚位置囷需要达到的时钟频率逻辑端口与FPGA管脚的对应取决于PCB板的设计。图FPGA的典型开发流程图布局布线的输入输出与调用关系(验证平台的系统设计夲验证平台FPGA采用Altera公司的CycloneEPC该器件采用了TSMC领先的nm低电介工艺技术生产支持个可编程锁相环(PLL)提供灵活的时钟管理和频率合成能力包含了个×bit乘法器可以完成基本的DSP处理高速外接存储器接口支持SRAM、DRAM,DDR、DDR以及QDRIISItAM支持差分和单端I,标准包括接收速率Mbis和发送速率Mb,s的LVDS、mlnlLVDS、LVPECL、差分HSTL和差分SSTL及处理器、ASSP和ASIC接口的位MHzPCI和PCI,X高达MHz工作频率真正的双端口工作(个读和个写个读或个写)与MHzPalX标准兼容用户最多可用引脚个高达MHz性能的分层时钟网络多达个全局时鍾线快速串行配置时间小于ms支持(V、V或(V多种电压可用于视频、图像处理(如MPEG编码和译码、视频滤波)和无线基础设各中基于龙芯I号IP核的SoC的验证岼台结构如图所示。图中外围电路的主要功能是验证SoC中各个接口IP模块能否与龙芯I号IP核、外部接口单元、硬件驱动软件和实时操作系统协调高效地工作由于接口(如USB接口、UART,IrDA接口、SPI和LCD接口等)电路结构比较简单且很多资料都有介绍在设计时除了注意通用的设计规则和印匍电路板(PCB)布局布线外没有特别的要求。同时为了便于分析各个被验证的IP模块在任意时刻的状态将CycloneEPC的大多数I,引脚都引出到PCB上以方便SoC开发人员使用逻辑分析仪进行信号实时采集和分析也可让信号发生器产生一些特定信号以供系统调试使用该开发系统在设计PCB时还特别注意了电磁干扰的屏蔽問题。(SoC到FPGA的系统移植使用Altera公司的FPGA开发工具Quartusll将SoC向CycloneΠEPC(FPGA)移植的步骤如下()对SoC进行修改以适合FPGA的开发环境修改子模块配置、RAM、FIFO等添加PLL对所需要的时鍾进行适当的分,倍频或提高时钟信号的质量。()使用Quartusll内置综合工具或专用综合工具(如常见的Synplify(pro)单独建Project对RTL进行综合生成网表时钟工作频率较高嘚要写综合约束条件。()指定每一个输人输出信号对应的FPGA管脚和输人输出逻辑类型()编译生成的网表以生成sof文件包括优化、适配、sof文件生成等分步骤。()进行静态时序分析检查是否满足预定的时钟频率要求若不能满足则重新进行第()步如果多次进行步骤()仍不能满足时序要求则需偠根据关键路径对RTL代码进行修改。关键路径是指延迟最大的路径该路径的延迟限制了时钟的最大工作频率该SoC芯片的最大工作频率在MHz以上與选用的FPGACycloneEPC的总线时钟速度相当。、Vx、Clock、网络接口、中断控制器等微内核BA总线IP核的Verilog代码通过Synplify综合利用Altera公司的QUARTUS软件作布局布线烧人CycloneEPC再用同样嘚方式将新开发的EMIIP核的Verilog代码烧入该FPGA将其中的SDRAM控制器作为验证示例选取其中最简单的访问方式来验证该平台能否使用。上电后首先要对所有內存区(bank)预充电经个自刷新周期后需要设置访问模式即编程模式寄存器以上三个过程要求如下:()预充电命令的发出要求:在时钟周期的上升沿處CS、RAS、A控制器、LCD控制器和AC控制器等)之间的协同工作时烧入的代码较多占用的FPGA资源也较多再加上需要实时运行例如播放PM实时解码过程中时钟臸少要求MHz需要工作的IP核有总线、DMA控制器、INT中断控制器、AC控制器等因此在这种情况下最好使用MultiPointSynthesis的综合流程和Timingdriv,en的综合与优化策略并使用Logic一lock约束技术和人工干预布局布线以达到预期目的。使用该平台对所开发的SoC的各个模块进行了验证并在lOMHz,MHz条件下与代码前(后)仿真结果和SoC实测结果进行叻比较发现该FPGA验证平台在多模块、高速情况下性能有所下降如图所示需进一步提高综合和布局布线技术图各模块实验验证结果比较本文設计了基于国产龙芯I号处理器IP核的SoC的FPGA验证平台介绍了怎样利用该平台进行软硬件协同设计、SoC系统移植、IP核验证和运行实时操作系统。在电壓设计、模块选用甚至处理器核的选用方面都考虑了升级扩展技术可为其他SoC的验证所借鉴验证结果表明基于龙芯I号IP核的SoC可成功运行Linux嵌入式程序及VxWorks。

  从功能上看一般的内部结構可分为:控制单元、逻辑运算单元、存储单元三大部分。其中控制单元完成数据处理整个过程中的调配工作逻辑单元则完成各个指令鉯便得到程序最终想要的结果,存储单元就负责存储原始数据以及运算结果浑然一体的配合使得拥有了强大的功能,可以完成包括浮点、多媒体等指令在内的众多复杂运算

控制单元:控制单元是整个的指挥控制中心,由指令寄存器IR(Instrucon Register)、指令译码器ID(Instrucon Controller)等对协调整个電脑有序工作极为重要。它根据用户预先编好的程序依次从存储器中取出各条指令,放在指令寄存器IR中通过指令译码(分析)确定应該进行什么操作,然后通过操作控制器OC按确定的时序,向相应的部件发出微操作控制信号操作控制器OC中主要包括节拍脉冲发生器、控淛矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

运算单元:是运算器的核心可以执行算术运算(包括加减乘数等基本运算忣其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言运算器接受控制单元的命令而进行动作,即运算單元所进行的全部操作都是由控制单元发出的控制信号来指挥的所以它是执行部件。

存储单元:包括片内缓存和寄存器组是中暂时存放数据的地方,里面保存着那些等待处理的数据或已经处理过的数据,访问寄存器所用的时间要比访问内存的时间短采用寄存器,可鉯减少访问内存的次数从而提高了的工作速度。但因为受到芯片面积和集成度所限寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器专用寄存器的作用是固定的,分别寄存相应的数据而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器嘚数目因微处理器而异


1、取指令:的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:

操作码就是汇编语訁里的movadd,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方是在内存里还是在的内部寄存器里。

2、指令译码:指令寄存器中嘚指令经过译码决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。

3、 执行指令分两个阶段“取操作数”和“进行运算”。

4、 修改指令计数器决定下一条指令的地址。

公司将自己的所生产的设计卖给其他公司而其他公司就根据该洎己添加上所需要的各种外设控制器,这就是SoC.

比如:三星公司的S3C2440就属于SOC它集成了、内存管理单元(MMU)、NAND Flash控制器、LCD控制器等部件,而是基於ARM公司的IP设计的

我要回帖

更多关于 什么是CPU 的文章

 

随机推荐