首页 > 新闻中心 > > 正文

利用SOPC Builder解决嵌入式处理器外设设计挑战

更新时间: 2006-02-18 12:58:12来源: 粤嵌教育浏览量:2434

  新产品开发成本的不断提高要求用新方法来采用标准产品以满足确切的产品需求。本文介绍的SOPC Builder工具充分利用当今CPLD及FPGA的密度、特性及性能来扩展标准处理器的外设,通过实现新型交换网互连,该工具为提高系统性能以及增加系统其他功能创造了机会。

  随着新产品开发成本的不断提高,新型嵌入式处理器开发将主要瞄准各种通用解决方案或特定大批量应用。要采用通用解决方案,处理器很可能需要有80%的外设,而特定大批量应用则可能需要采用的外设。为能在有些略微不同的应用中采用这些方案,很可能需要有额外的外设。这两种解决方案都不会用独特的定制外设来区分这些产品。FPGA及FPGA开发工具目前都能提供多种途径来用这些标准产品迅速、并以很少(或完全不用)硬件描述语言(HDL)设计来满足外设要求。

  今天的低成本FPGA及CPLD,如Altera公司的Cyclone及MAX II系列芯片等,都能提供满足各种外设所需的性能、密度及多输入/输出(I/O)标准。利用Altera公司的SOPC(可编程系统级芯片)Builder工具,系统设计工程师无需编写HDL即能定义并集成外设子系统,并能以传统的系统级芯片(SOC)设计方法在很短的时间内做到这一点。

  嵌入式处理器接口

  今天的嵌入式处理器一般都配备有简单或复杂的接口。复杂接口包括PCI、PCI-X、PCI-Express、RapidIO及Hypertransport等,对于简单的外设扩展而言,这些接口内核增加了不必要的复杂性。简单接口包括由地址、数据及控制信号所组成的外部存储器接口等,这类接口适合简单外设扩展,并且几乎不增加复杂度,这类接口适用于绝大多数标准产品。在与外设接口时所遇到的挑战是如何处理各类接口标准、不同数据通道宽度,以及由外设所引起的每个传输总线周期数变化等。而SOPC Builder工具可有效解决以上问题。

  包含在Quartus II开发工具中的SOPC Builder工具提供了一种基于表格的录入系统,该系统可以列出定义系统的处理器及外设。系统组件库中所列出的每一个SOPC Builder组件,都提供一个以一些表格来描述该组件的文件,以及另一个用来描述接口信号及数据传输要求的文件。根据这些信息,SOPC Builder生成一个包含所有译码逻辑、仲裁逻辑、中断控制、等待状态控制以及用于连接处理器与外设的数据通道匹配逻辑的交换网(switch fabric)。SOPC Builder库组件可以是非常简单的模块子系统。对于定制外设,SOPC Builder提供一个重要的向导来导入上述设计文件,并将其映射到SOPC Builder组件中。

  Avalon规范

  SOPC Builder并不强制要求所有外设类型都满足同样的总线标准,而是根据Avalon规范来创建一个交换网,并针对特定系统中所采用的外设进行优化。Avalon规范可从Altera网站上免费下载,是专为适应SOPC环境中的外设开发而设计的。该规范为外设设计工程师提供了一个用来描述Avalon主器件(如微处理器等)和从器件(存储器、UART及定时器等)内基于地址的读/写端口的基础。该规范将传输描述为发生在外设与交换网之间的互连,此互连策略可以使任何Avalon主器件与任何Avalon从器件动态连接。

  SOPC Builder工具可实现这种交换网互连策略。在实施该策略的过程中,生成适当逻辑以连接各种器件的任务从设计工程师转移到了开发工具。因此,该方法使得设计工程师能将精力集中在优化外设及其应用上,并能大大减少解决集成问题的时间。

  外部存储器接口与Avalon接口

  通过处理器上的各种外部存储器接口,Avalon接口所具有的灵活性使其非常适合于将标准处理器与FPGA内、或经过FPGA的外设相连,Avalon接口还支持高有效或低有效控制信号逻辑电平,支持地址和数据通道高达128位的主器件。在FPGA内部,读/写数据通道是分离的非三态高性能数据通道。

  对于大多数处理器接口而言,只需通过将处理器信号类型与Avalon对等信号类型匹配,外部存储器接口即可以简单连线形式与FPGA及Avalon交换网连接。接口上所要求的逻辑仅为用来将处理器的双向数据总线转换为Avalon所采用的单独读/写数据通道的控制逻辑,并且可以少至一个逻辑单元。FPGA I/O元件很容易支持高达133MHz的数据速率,高于绝大多数处理器外部存储器接口的数据速率。

  对于FPGA逻辑而言,由SOPC Builder生成的Avalon交换网可以的逻辑电平来提供的译码逻辑。FPGA逻辑的性能取决于FPGA的系列、外设器件类型以及与Avalon交换网相连的外设数量,今天的FPGA高性能很容易实现外设子系统。

  可变等待时间I/O接口

  Intel PXA2xx芯片上的可变等待时间接口(VLIO)可直接映射到Avalon信号类型(图1)。VLIO允许与FPGA相连的外设采用像SRAM存取允许外设通过使用RDY信号来插入等待周期一样的方式工作。RDY信号的产生可由SOPC Builder及Avalon交换网来自动处理,而控制信号nPWE和nOE则可直接映射到Avalon write_n及read_n信号类型上。同样,地址(MA[25:0])映射到地址([n:2])上。nOE也与CS(片选)信号一起用来使写处理中的读操作能控制方向数据(MD[31:0]) 映射到Avalon读/写数据通道上。如果需要支持寻址单个字节,则可将DQM[3:0]信号映射到支持Avalon字节的信号上。图2显示接口的简单Verilog描述,其中不包括端口及信号声明。

  对于工程师的定制外设,硬件设计团队可以独立于所选处理器来设计这些专用器件。SOPC Builder通过其“接口至用户逻辑向导”完全支持用户自定义组件,该向导导入用户的设计文件来读取端口列表。用户只需将模块信号名映射到对等的Avalon信号类型上。完成映射后,设计工程师即可选择时序页(timing page)来定义时钟数或任何设置、读/写处理所需保持时间的数值。通过这些信息,SOPC Builder可创建一个适当的交换网来使任何主外设与该定制外设交换数据。将该组件发布到组件库中,不需要对外设进行任何改动,该组件就可以在同一系统或其他新系统中再次使用。

  简化多主处理器设计

  SOPC Builder方法也使得通过增加软件内核处理器(如Nios II处理器等)来卸载主处理器,或通过增加DMA控制器来在FPGA内移动数据变得更加简单。SOPC Builder为设计工程师提供一张显示系统内所有处理器、外设以及哪些处理器访问哪些外设的表格。外设共享控制简单得只需轻按按钮。当需要进行调整时,设计工程师只需重新访问该表格,进行相应的改变,然后再按一下按钮,即可生成一个新的解决方案。

  嵌入式应用软件

  集成完组件后,即可进行软件开发。许多SOPC Builder组件都含有用来训练外设的软件驱动器及采样应用程序。SOPC Builder将这些软件复制到目录中以便使用。SOPC Builder还为提供有存储器映射及寄存器声明的系统中的每一个处理器生成一个标准的C头文件。SOPC Builder每生成一个系统,这些文件都被更新一次,并能自动地将参数以及每个新硬件映像声明递交给软件开发团队,通过保持软硬件的一致性来加速系统开发。

免费预约试听课