XBI: a Java-based interface to FPGA hardware

XBI: a Java-based interface to FPGA hardware
复制标题

XBI:基于 Java 的 FPGA 硬件接口

DOI:
--
复制
发表时间:
1998
期刊:
Other Conferences
影响因子:
--
通讯作者:
Delon Levi
Delon Levi
中科院分区:
--
文献类型:
--
作者:
S. Guccione;Delon Levi

文献摘要

被引文献

相似文献

XBI(Tm),Xilinx位流接口是一组Java(Tm)类,它们向Xilinx FPGA位流提供应用程序接口(API)。该接口可以在Xilinx设计工具生成的位流上运行,也可以在从实际硬件回读的位流上运行。这为Xilinx XC4000(Tm)系列FPGA器件提供了设计、修改和动态修改电路的能力。XBI使用的编程模型是可配置逻辑块(CLB)的2D阵列。每个CLB由一行和一列引用,可以设置或探测所选CLB中的所有可配置资源。此外,可以控制与所选CLB相邻的所有路由资源。因为代码是用Java编写的,所以编译时间非常快,而且因为控制在CLB级别,比特流通常可以在一秒或更短的时间内修改或生成。该接口已用于构建完整的电路和修改现有电路。此外,Java编程语言中的面向对象支持允许实现一个可参数化的、面向对象的宏电路或核心库。最后,此API可以作为构建其他工具的基础。这包括用于执行电路布局和布线等任务的传统设计工具,以及用于执行更狭义任务的特定于应用的工具。
XBI(tm), the Xilinx Bitstream Interface is a set of Java (tm) classes which provide an Application Program Interface (API) into the Xilinx FPGA bitstream. This interface operates on either bitstreams generated by Xilinx design tools, or on bitstreams read back from actual hardware. This provides the capability of designing, modifying and dynamically modifying circuits in Xilinx XC4000 (tm) series FPGA devices. The programming model used by XBI is a 2D array of Configurable Logic Blocks (CLBs). Each CLB is referenced by a row and column, and all configurable resources in the selected CLB may be set or probed. Additionally, control of all routing resources adjacent to the selected CLB are made available. Because the code is written in Java, compilation times are very fast, and because control is at the CLB level, bitstreams can typically be modified or generated in times on the order of one second or less. This API has been used to construct complete circuits and to modify existing circuits. In addition, the object oriented support in the Java programming language has permitted a small library of parameterizable, object oriented macro circuits or Cores to be implemented. Finally, this API may be used as a base to construct other tools. This includes traditional design tools for performing tasks such as circuit placement and routing, as well as application specific tools to perform more narrowly defined tasks.