EDN China > 其它文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 可配置处理器:技术与应用

Steven Leibson?? Tensilica 公司?? 2003年10月12日 ?? 收藏0
不久前,一种新型处理器核心受到了极大的关注,这是一种可以为特定应用而量身定制的处理器。可配置处理器不仅比标准的嵌入式微处理器更快,而且可以做更多工作。有些可配置处理器甚至可以代替 ASIC 和系统芯片(SOC)中的手工编码 RTL
  那么什么是可配置处理器呢?它能做些什么?为什么会有人需要用这种处理器?可配置处理器如何代替 RTL 编码?本文将对这些问题一一解答。
  流行的固定指令集架构(fixed-ISA)嵌入式微处理器的架构设计起始于上世纪八十年代,例如 ARM、MIPS 和 PowerPC 处理器,它们均被设计为独立的芯片。这些架构对许多算法的执行是令人满意的,但设计者经常要提高硬件设计中的关键部分的运行速度。即使是 DSP 架构也无法满足客户定制解决方案的速度。
  用手工编码 RTL 来加速设计
  由于在标准的嵌入式微处理器(甚至带嵌入式 DSP)上,很多应用的运行速度不够快,设计团队就用 Verilog 或 VHDL 语言来手工编写部分设计的代码,以满足性能要求。但是,定制的RTL 逻辑需要很长的时间进行设计和验证。此外,RTL 块设计完成后,由于验证问题,对 RTL 块

进行修改是一件很困难的事,而为适应新的标准和产品新功能,修改又经常是必不可少的。
  图 1 详细展示了一个典型的 RTL 块的构造,其中左边是 RTL 数据路径,右边是状态机。

硬接线式 RTL = 数据路径 + 状态机

图 1. 硬接线式 RTL = 数据路径 + 状态机
  在几乎所有的 RTL 设计中,数据路径都消耗了逻辑块中的大多数逻辑门。典型的数据路径可以窄至 16 或 32 位,也可能有几百位宽。数据路径一般含有许多数据寄存器,并且经常有大量的 RAM 块,或者与其它 RTL 块共享的 RAM 接口。
  相比之下,RTL 逻辑块的有限状态机(FSM)只包含控制细节。FSM 要捕捉所有通过数据路径的定序数据的细微差别、所有的例外情况和错误情况,以及与其它块的所有握手情况等。由于它的复杂性,因而该部分包含了大部分设计与验证风险。
  近来,对 RTL 块所做的设计变动更多地倾向于影响 FSM,而不是数据路径。可配置处理器、可扩展处理器(基本上是一种新型微处理器)提供了一个降低 FSM 设计风险的途径,即用一个预设计、预验证的处理器核心和应用固件代替难于设计与验证的 FSM 块。
  什么是可配置处理器?
  一个全功能、可配置处理器工具包由一个预定义的基础处理器核心和一个设计工具环境所组成,可以为特定的应用需求对基础处理器进行重要的改变。可配置性的典型形式有:对内存、外部总线宽度、握手协议以及常用处理器外部设备进行增加、删除和修改等。可扩展处理器是可配置处理器的一个重要的超集,它也为系统设计者提供了向处理器中增加指令的能力,而原来处理器架构的设计者可能根本没有考虑过这些指令。
  可配置处理器是作为可综合 RTL 代码来交付的,它能被放置到一个 FPGA 或 SOC 设计中。最好的可配置处理器还带有定制的软件开发工具,可以反映出设计人员定义的架构扩展。
  一个可配置处理器可以完成与 RTL 功能的操作相称的数据路径操作。等效的数据路径由下列部分实现:基础处理器的整数管线、加上额外的执行单元、寄存器,以及芯片设计师为特定应用而增加的其它功能等。
  例如,Tensilica 指令扩展语言(TIE,Verilog的一种简化版)可以让开发者为特定的应用去扩展 Tensilica 的 Xtensa 32 位微处理器架构。TIE 以增加指令和寄存器的形式,对新数据路径功能的高级规范做了优化。一个 TIE 描述比 RTL 更简单也更简洁,因为它省略了所有的顺序逻辑描述,包括 FSM 描述和初始化顺序等。这些复杂的项目更容易在固件里进行开发。
  TIE 中描述的新指令和新寄存器通过编译器和汇编程序向固件程序员提供,这些编译器和汇编程序与用于基础处理器指令和寄存器集的程序完全相同。固件通过处理器现有的指令获取、译码和执行等机制,控制数据路径扩展中的操作顺序。FSM 固件通常可以使用高级语言进行编写,如 C 或 C++等。
  替代 RTL 的可配置处理器
  作为 RTL 替代品的可配置处理器一般使用与传统 RTL 块相同的数据路径结构:如深度管线、并行执行单元、针对特定任务的状态寄存器,以及连接本地与全局存储器的宽数据总线等。扩展后的处理器可以承担和典型 RTL 设计一样高的运算吞吐量,并支持与传统设计同样的数据接口。
  然而,可配置处理器数据路径的控制却与 RTL 有着很大的差异。处理器数据路径的逐个周期控制并非固化在 FSM 状态转换中,而是包含在由处理器执行的固件中(见图 2 )。控制流决策发生在分支中;装载和存储操作实现存储器参考;而计算则成为通用指令和专用指令的显示顺序。
可编程硬件功能:数据路径 + 处理器 + 软件

图 2. 可编程硬件功能:数据路


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

可配置? 处理器? RTL?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈