一个简单直接的方法
将前面所述的步骤组合在一起,就产生了图2中所示的设计流程。你可以先定义减负器(对于明显需要减负器的任务),或在配置好流水线之后再定义减负器(如果现有的代码使用了太多的处理器)。
软件工程师所能控制的是一些在他们看来自然和简单的参数,这里使用自然的软件语言(ANSI C)来表达这些参数。对硬件进行实体化的所有细节都由TejaCC程序来处理,它会为Xilinx嵌入式开发系统(EDK)创建一个项目。剩下的编译/综合/布局/布线和产生比特流以及镜像代码的工作全都由EDK来完成。
在这种方式下,电路板可以由硬件工程师设计,但通过使用FPGA,硬件工程师能够将最终的实现中硬件配置的关键部分,留给软件设计者去完成。这一方法还支持在设计即将完成时对电路板进行改动(例如,由于性能原因要对存储器的类型和容量进行改动)。由于Teja工具能创建FPGA的硬件定义,其中包括存储器控制器和其他外设,因此设计人员可以轻松地调节电路板。最终的结果是,由于硬件实现可以适应软件的变化,因此软件设计者不再需要花费大量的时间来围绕一个固定的硬件设置编写程序。
通过利用灵活的Virtex - 4 FPGA和MicroBlaze核,Teja FP环境和基本结构使得所有这一切都变成了可能。有了这一强大的工具,你就能够将开发周期缩短几周甚至几个月。
Teja还提供了一些高级应用程序,这些应用程序能用来启动一个项目,并减少所需的工作量。将一个灵活省时的设计方法和一个事先定义好的应用程序结合起来使用,网络设备的制造者就能更快地完成他们的设计。