当前位置:首页 > 电源 > 数字电源
[导读]  为减少在印制电路板(PCB)设计中的面积开销,介绍一种Flash结构的现 场可编程门阵列(FPGA)器件,进而介绍采用该器件搭建基于先进精简指令集机器(ARM)的片上系统(SOC)电路

  为减少在印制电路板(PCB)设计中的面积开销,介绍一种Flash结构的现 场可编程门阵列(FPGA)器件,进而介绍采用该器件搭建基于先进精简指令集机器(ARM)的片上系统(SOC)电路的设计方法,该方法按照高级微控制器总线架构(AMBA),设计ARM7处理器微系统及其外设电路,通过用搭建的系统对片外存储器进行擦写,以及通过编写软硬件代码定制符合ARM7外围低速总线协议的用户逻辑外设,验证了系统的准确性,该系统可用于验证SOC设计系统。

  近年来,SOC技术得到了快速的发展,逐渐 成为微电子行业的主流。SOC称为系统级芯片,是一个有专用目标的集成电路,能集成数字电路、硬件专用电路、存储器、微处理器等多种异构模块,实现多个复杂的应用功能,具有速度快、集成度高、功耗低、开发周期短等优点。

  随着集成电路速度的加快和设计复杂性提高,新的技术不断被引进,国内外相继开展了SOC技术及器件的研究,其中一个显着的特点就是将SOC的可靠性和低成本与FPGA的灵活性等优势结合起来,在业界中知名的FPGA芯片公司中,如Ahera公司的Cyclone V和A1Tia V系列引,Xilinx公司的Zynp系列,Actel公司的M7A3P1000,其都内嵌了ARM微处理器,在逻辑设计、片上系统中都有广泛的应用。

  本文选用Actel公司的FPGA器件,型号为M7A3P1000,采用该器件对SOC进行设计验证。该器件采用Flash结构,相比于采用静态随机存储器(SRAM)结构的Ahera和Xilinx公司的FPGA器件,其下载的程序在掉电后不丢失,因此不需专用的配置芯片,故在PCB设计中可降低设计的复杂度,减少面积的开销。此外,该器件所具有的的 加密功能,可有效的保护知识产权。设计中,首先在该芯片中搭建基于ARM7的SOC系统,最后用两种方法验证该SOC系统的正确性:一是用该系统对片外存储器进行擦写操作;二是用该系统测试用户定制逻辑外设。

  1 系统原理

  在SOC设计中,常见的架构都是以微处理器或数字信号处理器(DSP)为中心,加上存储器,外设等,再通过片上总线把处理器和外设进行互连,本设计采用的FPGA型号为M7A3P1000芯片,因其内嵌一个基于AMBA总线架构、且完全兼容ARM7微处理器,故可以在非常低的功耗下安全、可靠地运行。上述的AMBA总线架构,是ARM公司设计的一种高性能嵌入式系统总线的标准,因其具有的高速度、低功耗等特点,故其在SOC设计中已被广泛采用,典型的基于AMBA架构的SOC核心部分如图1。

  由图1中可看出,AMBA规范中定义了两种不同类型的总线:先进的高速总线(AHB)、先进的系统总线 (ASB)和先进的外围总线(APB)。其中AHB适用于高性能和高时钟频率的系统模块,主要用于高性能和高吞吐量设备之间的连接,如片上存储器、DSP、直接存储器访问(OMA)、高速片外存储器控制器(该部件用于连接片外存储器Flash和SRAM)等设备;ASB和AHB属同一功能类型总线,只不过AHB总线是ASB总线的升级版,增强了对性能、综合及时序验证的支持;APB总线主要用于连接低速、低带宽的外围器件,如集成电路总线(IIC)接口、计数器(Timer),通用输入输出(GPIO)、通用异步收发器(UART)等。下文将以此架构,进行SOC设计。

  

 

  图1 AMBA架构的SOC核心部分

  2 系统设计

  2.1 SOC设计流程

  采用Aetel公司的Libero IDE 8.6集成开发环境,设计基于ARM7的SOC.SOC包括硬件和软件设计两部分,在硬件设计中,一般将系统经行分模块设计,之后针对各模块功能,逐个进行功能验证,待各模块功能准确后,依据总线架构,组成要设计的目标系统,最后通过软硬件协同调试,证明系统功能的完备性。其SOC设计的主要流程如图2。

  在图2显示的SOC设计流程中,若要设计一个模块或系统,首先对其进行功能/需求分析,下来针对虚线 框内的步骤, 其中步骤HDL-Editor,User-Testbeneh.ModelsimSimulator,可用于模块的设计、功能仿真,若再增加步骤Synthesis,Compile,Layout,Programming Genetation,可对所设计的模块进行实际验证,待各模块功能验证准确后,就可以依据指定的互连结构组成系统,然后结合相应的软件代码,进行系统功能调试、验证。

  

 

  图2 SOC设计的主要流程

  2.2 SoC设计搭建

  本文采用在Libero IDE 8.6集成开发环境中内嵌的Coreconsole软件8,搭建基于ARM7的SOC系统,搭建的系统如图3所示。

  

 

  图3 基于ARM7的SOC系统

  如图3所示,在Coreeonsole环境中搭建的系统,包括总线,微处理器,外围器件,以及驱动和顶层端口,其中1)CoreMP7:32/16位精简指令集架构处理器、支持32位ARM指令和16位Thumb指令、三级流水线,32位即4G寻址范围等;2)CoreMP7Bridge:桥接器,连接CoreMP7 和CoreAHB,它将CoreMP7处理器发出的信号转换成一个适合AHB总线连接的信号,且包含一组联合测试行动小组(JTAG)信号接口,JTAG接口用于下载程序和软件调试。3)CoreAHBLite:先进的高速总线,一般连接DMA、DSP、SRAM等设备。包含16个AHB从器件节点,每个从器件依次占有256MB地址空间,在本设计中,片外的Flash和SRAM分别连接在节点0和节点1上。2.1部分中用到的片外Flash就是通过外部存储器接口连接在节点0上,故其基地址是Ox00000000;4)CoreMemCtrl:外部存储器控制器,用于连接片上系统与外部寄存器,如对片外Flash、SRAM进行读写访问;5)CoreAHBtoAPB:桥接器。连接CoreAHB和CoreAPB;6)CoreAPB:先进的外围总线,一般连接UART、GPIO、IIC等外设。包含16个APB从器件节点,每个从器件依次占有16MB地址空间,地址计算公式是:物理地址=基地址+偏移地址。7)驱动和顶层端口包括:16 MHz系统时钟SYSCLK;系统低电平复位端口NSYSRESET,程序下载和调试端口JTAG,外部存储器连接端口ExtemalMomopyInterthce,串口通信接口等,图中底色为灰色的是一般的输入输出(PIO)模块,该模块的设计和验证将在3.2部分详细说明。至此,文中介绍了基于AMBA总线架构的SOC中涉及到的时钟、复位、总线、微处理器、外部存储器及外围输入输出端口,即最小系统框架,在图3中清晰地确定了SOC系统的互连结构,实现了各模块之间的通信功能。

  3 实际验证

  下面将对所搭建的SOC系统进行验证,通过对系统翻译、编译、综合、分配管脚、生成下载文件,最后将下载文件烧写到FPGA片中。为验证该系统的准确性,本设计采用两种方法对其进行测试验证,详细过程见3.1和3.2部分。

  3.1 搭建的系统对片外Flash的擦写操作

  本测试主要是在已经搭建好的SOC系统的基础上,在外部存储器控制器接口连接外部存储器Flash,通过能否对Flash进行正常的擦写操作来验证系统的准确性,测试选用的片外Flash芯片型号Numonyx公司是28F640J3D,它是64M的16位只读存储器,分配的基地址是Ox00000000,由于该芯片16位模式的访问特性,地址线0位拉低不予链接,其余地址线管脚依次连接到顶层外部寄存器控制器的地址端口。

  FS2是一款集合了大量指令和可用软件、用以调试基于ARM的SOC系统内核的工具,利用该工具对片外Flash进行配置和擦写操作,来验证系统的准确性。测试首先对片外Flash进行配置,进而对指定存储空间进行擦除操作,然后对该存储空间进行写操作,最后观察此存储空间中的数据,具体过程如图4所示。[!--empirenews.page--]

  在图4中显示的是FS2工具的用户界面,设计中用到的八条指令,分别是:1>、2>、3>……8>,其中指令1>、2>用来配置片外Flash芯片;指令3>用来选择将要擦写的存储空间,由图中可知,本设计中要进行的读写操作 的存储空间是Ox00000000-0x003FFFFF;指令4>用来对Flash指定的存储空间进行擦除操作;指令5>用来把已经准备好的二进制文件写到上述存储空间中,设计中使用的二进制文件名是QUICK.HEX;指令6>是用来显示指定存储空间中的内容,从图中可看出,写到存储空间Ox00000000-0x0000003F的内容是18、FO、9F……、12、E3;指令7>执行对上述存储空间写入的数据的擦除操作;指令8>显示上述存储单元擦除后的内容。

  

 

  图4 片外Flash的擦写演示过程

  通过对上述过程的分析可知,所搭建的SOC系统可准确实现片外Flash的擦写操作,进而说明了该系统的准确性。

  3.2 搭建的系统对外设接口的读写操作

  本测试在遵循ARM7先进外围总线APB的读写时序的前提下,定制用户逻辑外设PIO,通过该系统对PIO接口进行读写操作来进一步验证设计的准确,验证中的用到的APB总线的读写时序如图5。

  

 

  图5 APB总线的读写时序

  下面将主要遵循系统中先进的外围总线APB的读写时序,首先采用硬件描述语言和C代码,定制八位的用户逻辑外设PIO,然后将PIO的输入端口接到开关Switch0一Switch7,输出端口接到八个发光二极管Led0一Led7,通过软硬件调试,使八位开关的输入电平显示到八个发光二极管上,以此来进一步验证设计中搭建的SOC系统的准确,针对上述过程及要求,为了更直观地展示验证结果,制作了简单的实验板,当开关键在高电平时,发光二极管变亮,否则,发光二极管不亮。其中定制用户逻辑外设的主要步骤如下:

  1)规划元件的硬件功能;

  2)使用硬件描述来描述硬件逻辑;

  3)单独验证元件的硬件功能;

  4)描述寄存器的C头文件来为软件定义硬件寄存器映像;

  5)将元件集成到ARM7系统中,使用ARM7来测试寄存器的访问是否正确,并为该元件编写软件驱动;

  6)执行系统级的验证等。

  图6是在Aetel公司的调试软件Sofleonsole和实验板上的实际调试结果。

  

 

  图6 调试结果

  由图6显示的调试结果可知,八位开关Switeh0-Switeh7的输入分别是11001011和11100101,这个和八个发光二极管Led0-Led7的输出结果一致,由此进一步验证了设计的准确性。

  4 结束语

  本文通过对基于ARM7的SOC系统的设计,介绍了一种Flash结构的FPGA器件及其片上系统的设计方法,进而给出了两种验证该片上系统准确性的方法,通过实际验证,该系统不仅能准确进行片外存储器的擦写,而且可以准确进行外设接口的读写的操作,由此验证了设计的准确性。文中所搭建SOC系统,可以与符合ARM公司的AHB2.0协议的北斗基带芯片无缝连接,在北斗接收机的设计、测试中有重要的参考价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭