您当前的位置:五五电子网电子知识电工技术电工技术基于FPGA的SOC设计与实现 正文
基于FPGA的SOC设计与实现

基于FPGA的SOC设计与实现

点击数:7252 次   录入时间:03-04 11:59:53   整理:http://www.55dianzi.com   电工技术
在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)驱动和顶层端口包括:16MHz系统时钟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所示。

  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>显示上述存储单元擦除后的内容。

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

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

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

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

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

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

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

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

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

4结束语

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

上一页  [1] [2] 


本文关键字:暂无联系方式电工技术电工技术 - 电工技术