为了让程序员设计出一个完整的程序,需要编写三个组件。 TSXCUSBMBP中央处理器代码: 通常用C 编程语言编写,CPU 代码通过调用由 Maxeler 编译器公开的适当函数来控制执行并使用 DFE 作为处理单元。 内核集: 每个内核都实现了一定的功能,大致相当于一个函数抽象。它有一组输入流和一组附加的输出流。
管理器是将数据流从 CPU 连接到接收内核的组件,反之亦然。它在内核和 LMem 之间建立连接并互连内核。管理器还构建了 CPU 代码与 DFE 交互的接口。 管理器和内核是用一种称为 MaxJ 的特定领域语言编写的。这种语言是Java 编程语言的超集,具有一些更适合更轻松地创建数据流程序的扩展。 编译器将内核的描述转换为数据流图,该图由后端物理布局在 FPGA 芯片上。后端通常计算量很大,因为需要考虑许多结构约束。
地址解码器控制对特定设计的内存和 I/O 寄存器的访问。通常,可编程逻辑器件 (PLD) 用于将每个存储芯片分配给特定范围的地址。特定范围内的输入地址代码会生成片选输出,从而启用该设备。I/O 端口寄存器,设置为处理进出系统的数据传输,也通过相同的机制分配特定地址,并由 CPU 以与内存位置相同的方式访问。分配给特定外围设备的地址称为内存映射。