硬线RTL设计的芯片有许多吸引人的特点,如芯片面积小、功耗低并且吞吐量高。然而,RTL设计方法由手工设计,芯片的门数非常大。这种设计方法设计困难、验证困难且速度慢,并且对于复杂的设计问题扩展性能很差。现在可以采用可配置处理器来代替这种复杂的RTL设计方法。
何为可配置处理器?
一个完整的可配置处理器工具集包括一个预先定义好的处理器核和一个设计工具环境,这个设计工具环境允许设计人员对基本处理器核进行大幅度修改以满足特殊应用的需求。典型的配置形式包括添加、删除和更新存储器、外部总线宽度、总线握手协议以及公共的处理器外设部件。
作为可配置处理器的一个重要子集,可扩展处理器可以让系统设计人员能够为处理器增加指令,原先的处理器体系结构设计人员从来没有考虑过或者想象过这些指令。添加高度量身定做的指令能够非常适合特殊的应用,使得可配置处理器在性能上可以同RTL设计方法相匹敌,同时得到预先经过验证的IP(知识产权)的优势。可配置处理器能够以RTL代码的方式交付用户,RTL代码可以综合成现场可编程门阵列FPGA或者片上系统SOC。最好的可配置处理器还可以产生与硬件匹配的软件开发工具,软件开发工具反映了通过设计人员定义的体系结构扩展而增加的硬件指令。
一个可配置处理器能够实现与那些RTL功能紧密匹配的数据通路操作。等价的数据通路采用基本处理器定点整数流水线的方式实现,再加上执行部件和其它由芯片体系结构设计师添加的与特殊应用目标相关的功能。
例如,Tensilica的指令扩展语言TIE(一种简化的Verilog版本)就是一个设计工具,它允许系统开发人员针对不同的应用去扩展Tensilica的Xtensa 32位处理器体系结构。TIE语言以指令语义和编码的方式对数据通路功能的高级描述进行优化。与RTL相比,采用TIE语言进行描述既简单又精练,因为它略去了所有的时序逻辑描述,包括状态机描述、流水线寄存器描述以及初始化序列。这些复杂的东西实际上是由固件进行开发的。
用TIE语言描述的处理器新指令和寄存器都可以被固件程序员通过相同的编译器和汇编器所看到,且以处理器基本指令集和寄存器集作为目标。处理器数据通路中的所有操作时序均由固件进行控制,这通过处理器现有的取指令、译码和执行机制来完成的。状态机固件通常是由C或者C++这样的高级语言写成的,因为定制微处理器体系结构可以为系统提供高性能。
文章评论(0条评论)
登录后参与讨论