Field Programmable Gate Arrays (FPGAs
- 格式:pdf
- 大小:47.01 KB
- 文档页数:7
fpga的基本原理FPGA(Field Programmable Gate Array,场可编程门阵列)是一种集成电路器件,可以根据需要重新配置内部的逻辑门和连接电路,实现不同的数字电路功能。
与ASIC(Application-Specific Integrated Circuit,特定应用集成电路)相比,FPGA具有灵活性和可重构性。
FPGA的基本原理是利用可编程逻辑单元(PLU)和可编程连线资源(PWR),将逻辑门按照需要进行排列和连接,构建所需的电路功能。
PLU是FPGA的核心部件,通常由多个可配置逻辑块(CLB)组成。
每个CLB包含多个逻辑单元(LUT)和触发器,可以执行任意的布尔逻辑功能。
FPGA的配置信息存储在内部的查找表(Lookup Table,LUT)和触发器(Flip-Flop)中。
LUT是一个存储真值表的查找表,根据输入信号的组合,输出对应的结果。
触发器用于存储电路的状态信息。
通过配置LUT和触发器的内容,可以实现不同的逻辑功能和时序控制。
配置FPGA的过程称为综合和布局布线(Synthesis and Place & Route)。
综合将高级的硬件描述语言(HDL)代码转换成FPGA可识别的逻辑网表。
布局布线根据综合结果,将逻辑单元和连线资源布置在FPGA芯片上,并对连线进行布线,以保证信号的正确传输。
FPGA的优势在于其可重构性,可以根据应用需求进行灵活的硬件优化和更新。
与ASIC相比,FPGA的设计周期短,成本较低,适用于快速原型设计和小批量生产。
不过,FPGA的功耗较高,性能和密度相对较低,不适用于大规模集成的应用场景。
总而言之,FPGA利用可编程逻辑单元和可编程连线资源,实现灵活的数字电路功能。
通过综合、布局布线等步骤,将硬件描述语言代码转换为FPGA可识别的电路结构。
其可重构的特性使其成为快速原型设计和小批量生产的理想选择。
FPGA工作原理
FPGA (Field-Programmable Gate Array) 是一种可编程逻辑设备,其中包含大量的可编程逻辑门和存储单元。
它的工作原理可以简单地描述为以下几个步骤:
1. 配置:首先,FPGA芯片内部的存储单元被设置为初始状态。
这些存储单元被称为配置存储单元(Configuration Memory Units,CMUs),用于存储逻辑门和内部互连网络的配置信息。
2. 烧录:将用户设计的逻辑电路描述(通常使用硬件描述语言如VHDL或Verilog)加载到FPGA芯片上,并将其翻译成对
应的配置信息。
3. 配置电路:配置引脚(Configuration Pins)从外部载入配置
数据,然后将其传输到CMUs中的存储单元。
这些配置数据
用于设置每个逻辑门的功能和内部连线的连接方式。
4. 逻辑运算:一旦配置完成,FPGA就可以开始执行逻辑运算了。
每个逻辑门都有一个输入和一个输出,它们可以执行逻辑操作(比如与、或、非、异或等),将输入信号转换为输出信号。
5. 内部连线:FPGA芯片中的逻辑门通过内部互连网络相互连接。
该网络由大量的可编程连接通道组成,可以将逻辑门之间的信号进行路由和连接。
6. 时钟管理:FPGA芯片通常包含多个时钟输入,并提供复杂
的时钟分配和管理电路。
这些时钟管理电路用于对逻辑电路中的寄存器和时序元件进行同步和控制。
通过配置和控制这些可编程元件,FPGA可以实现各种不同的功能。
用户可以根据具体需求来设计和实现特定的逻辑电路,从而使FPGA具有灵活性和可重构性。
这也是FPGA在许多应用领域中广泛使用的原因之一。
fpga 矩阵运算Openn WPFGF"FPGA Matrix Operations: Revolutionizing High-Performance Computing"IntroductionField-Programmable Gate Arrays (FPGAs) have emerged as a game-changer in the world of high-performance computing. With their ability to parallelize complex computations, FPGAs excel at matrix operations - a fundamental task in various domains, such as image processing, machine learning, and scientific simulations. In this article, we will explore the benefits and challenges ofFPGA-based matrix operations, step-by-step, shedding light on the key concepts and techniques involved.1. Understanding FPGAsFPGAs are integrated circuits that allow users to create custom digital circuits by configuring their structure and functionality. Unlike traditional CPUs or GPUs, FPGAs offer a high degree offlexibility since their circuits can be reconfigured on-the-fly. This flexibility is what makes FPGAs a valuable tool for matrix operations, as matrices can be efficiently parallelized across the FPGA's logic gates.2. Why Matrix Operations?Matrix operations form the foundation of many computational tasks. They involve manipulating multiple matrix values, e.g., multiplication, addition, or decomposition. However, performing these operations on large matrices can be computationally demanding and time-consuming. FPGAs provide a significant advantage by enabling the parallel processing of matrix operations, resulting in significant speed-ups compared to traditional processors.3. Matrix Multiplication on FPGAMatrix multiplication is a central operation used in many scientific and engineering applications. Let's discuss a step-by-step process for implementing matrix multiplication on an FPGA:a. Matrix Partitioning: Divide the input matrices into smallersub-matrices, each fitting in the FPGA's memory. This partitioning allows efficient memory access during the computation.b. Memory Allocation: Allocate sufficient on-chip memory in the FPGA to store the input matrices. Specialized memory controllers ensure high-speed access to these on-chip memories.c. Parallel Processing: Assign each FPGA logic gate to compute a specific portion of the resulting matrix. This parallelism significantly speeds up the computation.d. Dataflow and Pipelining: Optimize the data flow within the FPGA by using pipelining techniques. This ensures efficient utilization of resources and maximizes throughput.e. Memory Coalescing: Arrange the memory accesses in a way that minimizes data transfers between the FPGA and external memory, reducing latency and improving performance.4. Challenges in FPGA Matrix OperationsWhile FPGA-based matrix operations offer great potential, they also present several challenges that need to be addressed:a. Design Complexity: FPGA design requires expertise in hardware description languages (HDLs) and low-level circuit design. Developing optimal FPGA implementations for matrix operations demands considerable knowledge and experience.b. High Energy Consumption: FPGAs can consume more power compared to CPUs or GPUs due to their inherently parallel nature. Efficient power management techniques are required to mitigate this issue and optimize energy usage.c. Memory Constraints: FPGAs have limited on-chip memory compared to off-chip memory. Memory partitioning and coalescing techniques are necessary to optimize memory utilization and minimize data transfers.d. Programming Model: Unlike CPUs and GPUs with standardized programming models such as OpenCL or CUDA, FPGAs require specialized programming languages like VHDL or Verilog. This uniqueness demands specialized FPGA programming skills.5. Future DirectionsFPGA-based matrix operations have already shown remarkable progress, but there is still room for innovation and improvement. Some future directions in this field include:a. Higher-Level Abstraction: Developing higher-level programming abstractions for FPGAs can simplify the design process and enable non-experts to leverage FPGA's power for matrix operations.b. Dynamic Reconfiguration: Exploiting FPGA's reconfigurability during runtime can enhance performance by dynamically adjusting hardware components according to the specific matrix operation requirements.c. Machine Learning Acceleration: FPGAs can significantly accelerate machine learning algorithms, which heavily rely on matrix operations. Developing specialized IP cores and frameworks for machine learning on FPGAs will be an area of focus.d. Hybrid Architectures: Combining FPGAs with other specializedprocessors, such as GPUs or ASICs, can create hybrid architectures that leverage the strengths of each technology, enabling more efficient and scalable matrix operations.ConclusionFPGA-based matrix operations have revolutionizedhigh-performance computing by parallelizing complex computations and achieving significant speed-ups. Although challenges exist, ongoing research and innovations promise to overcome these barriers and make FPGA-based matrix operations even more accessible and efficient. As the demand for computation-intensive tasks continues to grow, FPGAs will undoubtedly play an essential role in meeting these requirements and driving future advancements.。
英特尔fpga结构特点英特尔FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,具有以下结构特点:1. 可编程性:FPGA是一种可编程的硬件设备,可以通过编程来实现不同的功能。
与固定功能的集成电路不同,FPGA可以根据需要进行重新编程,使其具有不同的功能和特性。
这使得FPGA具有高度灵活性和可定制性,适用于各种应用领域。
2. 逻辑单元(Logic Elements):FPGA的核心部件是一系列逻辑单元,也称为查找表(Look-Up Table,简称LUT)。
每个逻辑单元通常包含一个LUT、一个寄存器以及其他与逻辑功能相关的电路。
逻辑单元可以执行各种逻辑运算,如与、或、非等,用于实现复杂的逻辑功能。
3. 连接资源(Interconnect Resources):FPGA中的逻辑单元通过一系列可编程的连接资源进行连接,形成所需的电路。
连接资源包括可编程的开关矩阵和可编程的连线通道,用于连接逻辑单元之间的信号传输。
这种可编程的连接结构使得FPGA可以根据需求实现不同的信号路径和连接方式。
4. 存储资源(Memory Resources):FPGA通常还包含可编程的存储资源,用于存储数据和配置信息。
存储资源可以是分布式的,分布在不同的逻辑单元中,也可以是集中的,用于存储全局数据。
存储资源的容量和类型可以根据具体的FPGA型号和应用需求而定。
5. 时钟管理(Clock Management):FPGA中通常包含时钟管理模块,用于生成、分配和管理时钟信号。
时钟信号在FPGA中用于同步各个逻辑单元的操作,确保电路的稳定性和可靠性。
时钟管理模块可以实现时钟分频、时钟延迟、时钟相位调整等功能,以满足不同的时序要求。
6. 外部接口(External Interfaces):FPGA通常还具有多种外部接口,用于与其他设备进行通信。
常见的外部接口包括通用并行接口(GPIO)、高速串行接口(如PCIe、Ethernet、USB等)、存储接口(如DDR、Flash等)等。
FPGA技术介绍FPGA(全称为Field-Programmable Gate Array,场可编程门阵列)是一种可以通过用户自定义逻辑电路来实现数字电路设计的集成电路芯片。
相比于传统的ASIC(专用集成电路)芯片,FPGA具有更高的灵活性和可编程性,能够在生产后根据需要对其功能进行修改和调整。
FPGA通常由可编程逻辑单元(PLU)、可编程寄存器、内部存储器和输入输出端口等功能组成。
可编程逻辑单元是FPGA的核心,它由一系列的逻辑门电路(AND、OR、NOT等)组成,通过内部的可编程连接来实现不同的逻辑功能。
用户可以通过编程工具将所需的逻辑功能和电路连接方式写入FPGA芯片中,从而实现特定的电路设计。
FPGA的可编程性使得它在数字电路设计和开发上具有广泛的应用。
首先,FPGA可以用来实现复杂的数字逻辑功能。
相比于传统的硬件设计方法,使用FPGA进行设计可以显著节省时间和成本,同时也提高了设计的灵活性和可重用性。
其次,FPGA可以用来验证和测试设计的正确性和性能。
在产品开发的早期阶段,使用FPGA搭建原型可以快速验证设计的可行性,并进行系统级的测试。
最后,FPGA也广泛应用于数字信号处理、通信系统、图形图像处理等领域。
FPGA具有较高的运算速度和并行处理能力,可以满足实时性要求较高的应用场景。
FPGA的编程方法包括可硬件描述语言(HDL)和图形化编程。
HDL是一种使用硬件描述语言(如VHDL、Verilog)编写电路设计的方法。
通过HDL编写的代码可以描述电路的结构和功能,并通过编译和综合工具生成对应的配置位流(bitstream),用于配置FPGA芯片。
图形化编程是一种简化的编程方法,通过可视化界面和拖拽操作来实现电路设计。
这种编程方法适合于非专业的电路设计人员,但相对于HDL编程来说功能和灵活性较弱。
除了常见的FPGA芯片外,还有一类特殊的FPGA芯片称为SoC型FPGA。
SoC(System-on-Chip)型FPGA将可编程逻辑单元与处理器核心集成在同一个芯片中,不仅可以实现可编程逻辑功能,还可以运行嵌入式软件。
fpga背景和发展历史
FPGA(Field-Programmable Gate Array)即现场可编程门阵列,是一种基于可重构硬件的集成电路。
它具有与ASIC (Application-Specific Integrated Circuit)类似的性能,但相对
于ASIC而言,FPGA可提供更高的灵活性和可重构能力。
FPGA的发展历史可追溯到20世纪80年代。
当时,早期的FPGA仅具备一些基本的逻辑门和寄存器元件,并且规模较小。
但随着技术的发展,FPGA不断增加了可用的逻辑单元、存储
单元和I/O端口等,功能也越来越强大。
1990年代,FPGA开始得到更广泛的应用。
随着FPGA制造技术的进步,FPGA器件的复杂度和密度大大提高,使得它们能
够在更广泛的应用领域发挥作用,包括通信、图像处理、数字信号处理、嵌入式系统和科学研究等。
在21世纪初,FPGA的性能和可靠性继续提高,并且逐渐成
为许多领域中的关键技术和解决方案。
FPGAs被广泛应用于
数据中心、网络设备、无线通信、军事、航天航空、医疗设备以及科学研究等领域。
随着技术的不断发展,FPGA在性能、功耗和可编程能力方面
不断刷新记录,并且逐渐与传统的ASIC相媲美。
同时,FPGA的设计工具也不断改进,使得设计者更容易开发复杂的
电路和系统。
总结起来,FPGA经过了几十年的发展,已经成为现代电子系
统设计的重要工具之一。
它具有灵活、可重构、可编程的特点,在越来越多的应用领域中发挥着重要作用。
FPGA技术介绍及展望
FPGA(Field Programmable Gate Array)是一种可编程的逻辑门阵列,可以根据用户的需要在现场编程,以实现功能的实现。
这种可编程的门阵列可以用来替代传统的ASIC,以满足众多不同的应用程序。
它的可编程特性使其有可能ELT更多的应用,如支持可变结构、可变速度、可变参数等,而无需更换具体器件。
FPGA具有多种优势,其中最重要的是速度和技术的成本效益。
FPGAs 速度比传统的ASIC更快,因为它可以在现场更改表示发挥更多的功能,而且只需要一次制造,就可以达到相同功能的使用效果,从而节省成本。
另外,FPGAs可以支持多种不同的编程语言,例如Verilog和VHDL。
这种灵活性使得它们可以在各种不同的应用程序中使用,例如数据采集、运算和等。
在设计新系统时,FPGA也可以用来替换传统的ASIC,以节约成本和时间。
FPGAs还有另一个优点,就是可重定义性。
通过FPGA,用户可以在不同的产品中调整功能,以满足不同的需求。
这种灵活性使得它们可以用来支持多种不同的硬件,例如芯片,板卡和背板等。
随着科技的发展,FPGA技术将继续得到改进,以满足日益增长的应用需求。
首先,FPGA技术将继续改进芯片结构。
fpc基本知识及流程介绍English Answer:Field Programmable Gate Arrays (FPGAs) are semiconductor devices that are designed to be configured by the user after manufacturing. This allows for flexibility in design and the ability to make changes to the device's functionality without having to redesign the entire chip. FPGAs are often used in applications where there is a need for high performance, low power consumption, and theability to reconfigure the device as needed.The FPGA design process typically involves thefollowing steps:1. Design Entry: The first step in the FPGA design process is to create a design. This can be done using a hardware description language (HDL), such as Verilog or VHDL, or by using a graphical design tool.2. Simulation: Once the design has been created, it is important to simulate the design to verify that it will function as expected. This can be done using a simulation tool, such as ModelSim or QuestaSim.3. Synthesis: The next step is to synthesize the design. This process converts the HDL code into a gate-levelnetlist.4. Place and Route: Once the design has been synthesized, it is placed and routed. This process determines the physical location of the gates and therouting of the interconnections between the gates.5. Bitstream Generation: The final step in the FPGA design process is to generate the bitstream. The bitstreamis a file that contains the configuration data for the FPGA.中文回答:现场可编程门阵列 (FPGA) 是在制造后由用户配置的半导体器件。
fpga的电平标准Field Programmable Gate Arrays (FPGAs)是一种集成电路设备,它可以根据设计人员的需求定制和重构电路功能。
在FPGA中,电平标准是指FPGA芯片内部和外部信号之间的电平差异。
电平标准是保证正确数据传输和避免电路损坏的重要因素之一。
下面是关于FPGA的电平标准的一些相关参考内容。
1. IO标准:FPGA的IO标准定义了输入和输出信号的电平和电气特性。
常见的FPGA IO标准包括LVCMOS、LVTTL、HSTL、SSTL、LVDS和PCI等。
例如,LVCMOS(Low Voltage Complementary Metal-Oxide-Semiconductor)是一种低压差分信号类型,其电平范围在0V到VCC(供电电压)之间。
2. 电平参数:在FPGA的数据手册中,通常会提供各种电平参数,以帮助设计人员理解和设置电平标准。
其中一些参数包括输入高电平(VIH)、输入低电平(VIL)、输出高电平(VOH)和输出低电平(VOL)等。
这些参数可以帮助设计人员确定IO接口的工作范围,以避免信号干扰和电气冲突。
3. 电平转换器:在FPGA的设计中,经常需要将不同电平标准的信号进行转换,以确保它们之间的正确传输。
电平转换器是用于将信号从一种电平标准转换为另一种电平标准的设备或电路。
例如,对于将LVCMOS信号转换为LVDS信号的转换器,可以使用特定的电路和芯片来实现。
4. ESD保护:静电放电(ESD)对于集成电路设备来说是一个常见的威胁,因为它可能导致电路损坏或功能故障。
设计人员需要考虑在FPGA设计中采取适当的ESD保护措施来保护电路免受ESD 的影响。
这包括使用保护电路和器件,例如ESD二极管、ESD数组和地线引脚等。
5. 信号完整性:在FPGA设计中,信号完整性是一个重要的考虑因素。
信号完整性涉及到信号的传输、反射、衰减和损耗等问题。
设计人员需要通过正确设置电平标准和选择合适的电气特性来保持信号完整性。
AbstractThis paper1 proposes a new field-programmable architec-ture that is a combination of two existing technologies: Field Programmable Gate Arrays (FPGAs) based on LookUp Tables (LUTs), and Complex Programmable Logic Devices based on PALs/PLAs. The methodology used for development of the new architecture, called Hybrid FPGA, is based on analysis of a large set of benchmark circuits, in which we determine what types of logic resources best match the needs of the circuits. The proposed Hybrid FPGA is evaluated by manually technology mapping a set of cir-cuits into the new architecture and estimating the total chip area needed for each circuit, compared to the area that would be required if only LUTs were available. Preliminary results indicate that compared to LUT-based FPGAs the Hybrid offers savings of more than a factor of two in terms of chip area.1 IntroductionOver the past several years, high capacity Field Programma-ble Devices (FPDs) have enjoyed a rapidly expanding mar-ket, and have become widely accepted for implementation of small to moderately large digital circuits. The two main types of FPDs, Field Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs) are both widely used, and each offers specific strengths. FPGAs that are programmed with SRAM technology are usually based on LookUp Tables (LUTs); their main strengths are very high total logic capacity, in the range of tens of thou-sands of equivalent logic gates, and good speed-perfor-mance of 10 to 50 MHz system clock rates. On the other hand CPLDs consist of multiple PLA-based blocks, in which the OR planes are partly fixed. Their characteristics include medium capacity, in the range of a few thousand gates, and ultra high speed-performance, sometimes in excess of 100 MHz system clock rate.In this paper, we suggest a new type of FPD that represents a marriage of FPGAs and CPLDs. The basis for this idea is that digital circuits are structured in such a way that parts of the circuit are well-suited for implementation using LUTs, while other parts can benefit more from the Product term-1. This work was funded by Hewlett Packard based (Pterm-based) structures found in CPLDs. Compari-son with an architecture that has only LUTs indicates that the Hybrid FPGA Architecture (HF A) offers significant savings in terms of the total area. Also, the HFA creates the potential to reduce the depth of the circuit implemented in the FPGA, which may provide improvements in speed-performance. This paper is organized as follows: Section 2 discusses related research on architecture of FPDs, Section 3 describes our research motivation, which is based on the analysis of BenchMark (BM) circuits, Section 4 presents the invented architecture, Section 5 gives an estimate of area gain pro-vided by the HFA, and the last section contains final remarks.2 Related WorkFPDs suffer from lower speed-performance and less logic capacity in comparison to custom-manufactured technolo-gies, such as mask-programmed gate arrays. However much recent research has been devoted to improving FPD archi-tecture. New applications continue to emerge as research in industry and academia results in more sophisticated prod-ucts with higher total logic capacity and better speed-perfor-mance. Highlights of some recent research efforts on FPGA logic blocks is presented below.The earliest research study that was reported on FPGA architecture focuses on complexity of the logic blocks [RFLC90]. The paper assumes an FPGA architecture based on LUTs, and varies the number of inputs to a LUT to mea-sure the effects on implementation of a set of benchmark cir-cuits. The basic conclusion reached is that LUTs with four or five inputs yield the best results in terms of chip area. We apply this result to our Hybrid FPGA, by using 4-input LUTs (4-LUTs). 4-LUTs are also found in commercial FPGAs, such as the Altera FLEX 8000 and Xilinx XC5000.Most research on FPDs has focused on FPGAs, and little work has been published on CPLDs. However, the study in [KE92] investigated FPDs built using PLA-based logic blocks. According to [KE92], an FPD based on PLAs with 10 inputs, 12 Pterms, and 3 outputs achieves about the same level of logic density as FPGAs based on 4-LUTs. However, we are not aware of any commercial product that is based on such PLAs. [KE92] also introduced a model for estimating the chip area needed for a PLA-based logic block, and we utilize this later in our paper when discussing chip area needed for the HFA.A recent study, called Heterogenous FPGAs [HR93], investigated FPGA architectures with logic blocks of two different sizes. The paper reports the effects on area effi-ciency of LUT-based FPGAs, but with two sizes of LUTs in the same chip. A summary of the results is that on average aHYBRID FPGA ARCHITECTURE Alireza Kaviani and Stephen Brown Department of Electrical and Computer Engineering University of Toronto, CanadaEmail: kaviani|brown@LUTs. For a LUT with K inputs, the area of the cell is pro-portional to . For a PLA-based cell, the cell area is approx-imately proportional to . Note that for K=4,,but for K < 4LUTs are more efficient than PLAs. Therefore 4-bounded nodes can be efficiently implemented using LUTs.This accounts for the majority of the nodes in circuits, but there is still a significant number of nodes with high fanin.These nodes could also be implemented using 4-LUTs, but the area required would be large. From Figure 1, we can observe that most high fanin nodes do not require a large number of Pterms. This implies that these nodes are well suited for implementation in PLAs.The concept of suitability of nodes of different sizes in either LUTs or PLAs is illustrated in Figure 2, which shows the distribution of all combinational nodes in the logic plane.Each dot in the figure represents combinational nodes of a specific size, but the number of nodes of each size is not shown. In Figure 2, the nodes that lie in the lightly shaded rectangle efficiently fit into 4-LUTs. Similarly, PLAs are more attractive for implementing the nodes that lie in the heavily shaded box. Nodes that do not lie in either of these areas could be implemented using either LUTs or PLAs, but the cost would be relatively high. If both PLAs and LUTs are available in an FPGA architecture, a boot-like area of the logic plane is naturally supported, as indicated by the bold curve in Figure 2. By covering a wider area of the logic plane we can decrease the overall cost of the implementation of most of the circuits. Therefore the new HFA contains both PLA-based blocks, which we call Programmable Array Logic Blocks (P ALBs) and 4-LUTs.4 Hybrid 4-LUT+ PALB ArchitecturePrevious research [RCLF90, KE91] has studied the effects of the size of LUTs on the area efficiency in FPGAs and concluded that 4-LUTs provide good results. In this paper,we assume that the HFA uses 4-LUTs. This section explains2K K 22K K 2=Figure 2 -Logic plane.mean and variance,, of these parameters. Each row of the table corresponds to a specific value of K and shows the statistical data excluding K-bounded nodes. Also, under the columns denoted “filtered” additional nodes are excluded,according to the following assumptions: 1) all single-input Pterms in a node are merged into one multi-input Pterm. This is based on our observation that in the sum of products form of high fanin nodes there are many Pterms with only one input. As will be explained in the next subsection, these sin-gle-input Pterms can be merged into one, with almost no extra cost for the PALB architecture, 2) Nodes that are single Pterms (i.e. ANDs, ORs) are excluded. There are many com-binational nodes with only one Pterm. Since these nodes are decomposable, LUTs are as good as a PALB for their imple-mentation, so they should be excluded from the data that affect the PALB architecture.Table 1 serves as a guide for designing the P ALB architec-ture. Since we are using 4-LUTs it is reasonable to base the PALB on the K = 4row of the table, but for reasons dis-cussed earlier, it is more appropriate to use the filtered col-umns. Thus the PALB should be designed to suit theFigure 4 -Node size distribution (excluding 4-bounded. nodes).No. of Nodes x 103Inputs 0.000.200.400.600.801.001.201.40Pterms/125102050µσ,()parameters shown in the shaded boxes. We decided that 5 for the number of Pterms and 1.6 for the ratio of the number of inputs to the number of Pterms are the closest practical val-ues to the averages shown in the shaded cells. In the next subsection we introduce an appropriate P ALB architecture using these calculated values.4.2 PALB ArchitectureFigure 5 shows the PALB that we developed for use in the HFA. It has 16 inputs, 10 Pterms and 3 outputs. On average,2 combinational nodes with 5 Pterms in each can be imple-mented in a PALB. There is one extra output to accommo-date the implementation of small nodes. There are 2 flip-flops and one of them can accept asynchronous clock as well as the global clock. Real gates can be used to imple-ment the NAND/AND/OR plane of the PALB as opposed to wired gates. This allows us to have many PALBs in one chip without concern for static power consumption. There-fore we designed the PALB in a NAND-NAND fashion.The meaning of the schematic in Figure 5 should be readily apparent, except for the connection shown for the inputs of the second NAND plane. Five Pterms are shown hardwired to produce the lowest of the three outputs (drawn as “•”).Also, another 5 Pterms can be programmably connected to this output as well (drawn as “x ”). This architecture repre-sents a combination of a classic fixed versus programmable OR-plane and is designed to be optimized for five Pterms and yet be configurable for up to 10 Pterms. Similar com-ments apply to the other PALB outputs.A typical combinational node and different forms of its implementation are depicted in Figure 6. It is easy to see that all variants a), b)and c) are functionally equivalent. Figure 6c shows how Pterms with single inputs can be merged into one. Note that the extra NAND gate shown and inverters at its inputs are already available in our P ALB, with no addi-tional cost. In this example the number of Pterms is reduced from 5 to 3 with the cost of one extra inverter. The shaded XORs in Figure 5 serve as programmable inverters for the purpose of merging single-input Pterms into one multi-vari-able Pterm. This feature of the PALB is motivated by the fil-tered columns in Table 1, and its effects on the distribution of node sizes is shown in Figure 7, which provides the distri-bution of the number of Pterms after merging. The Ptermtechnology independent optimization, the BMs were tech-nology mapped manually to the new architecture. The result-ing number of PALBs and 4-LUTs for each circuit are shown in the table. The total chip area in the HFA is estimated in the column labeled “HFA (area)”, in terms of equivalent 4-LUT count assuming each PALB takes area equal to four 4-LUTs.This assumption is supported by the previous research reported in [KE92] and [KE91], which provides estimates for area of both PLA-based cells and LUTs. According to the area models in these papers, if the area of an SRAM cell is about 100µm 2, which is reasonable assuming a 0.5 micron technology, then the area of a PLA-based cell with 16 inputs,10 Pterms, and 3 outputs is about the same as the area for four 4-LUTs (the four 4-LUTs are considered as one “block”with local interconnect). It is also important to mention that total chip area in an FPD is strongly influenced by the rout-ing resources. We assume that a PALB requires about the same amount of routing area as four 4-LUTs, since both of these logic resources have 16 inputs and the number of out-puts (3,4) is similar.The area gain is calculated as the ratio of the area in the 4-LUT based architecture to the area of the HFA for the same circuit. Overall gain can be obtained either by taking the average of the gains for individual BMs, or by calculating the gain of the meta circuit that consists of all 10 BMs.Although the gain is strongly affected by the type of the cir-cuit, for the BMs in Table 2 the gain increases with the size of the circuit on average. Therefore we conjecture that higher gains will be obtained for larger circuits, but this is difficult to verify without automatic CAD tools for mapping of large circuits.Note that the results in Table 2 imply various mixtures of LUTs and PALBs. Our assumption is that enough resources of each type would be available in a real chip. The mixtureFigure 8 -Average no. of Pterms.filtered normalPterms K 3.004.005.006.007.008.009.000.001.002.003.004.005.006.00tional benefits that are worth mentioning. These benefits have not been evaluated yet, but we believe that the invented architecture has the potential to be exploited toward them. Commercial FPDs are considerably slower than mask programmable gate arrays, mostly due to delays associated with programmable switches. Therefore it is desirable to reduce the depth of the critical path in the cir-cuits when implemented in FPDs. Allowing high fanin nodes in the circuit reduces the depth and thus may increase overall speed-performance. Also, this decreases the total number of nodes in the circuit, which may simplify the tasks of placement and routing. The PALBs in the HFA pro-vide these advantages by efficiently realizing high fanin nodes.The next major step in this research is to implement an appropriate technology mapper for the new architecture. Also, the depth reduction mentioned above should be inves-tigated. Although we believe that the HFA will not compli-cate routing issues, and determination of an appropriate balance for the number of PALBs versus 4-LUTs is not dif-ficult, in-depth investigations of these issues are also part of our future plans. As a final comment, it is likely that the HFA can be enhanced in several ways, and we intend to continue improving upon our suggested architecture. AcknowledgmentsWe are grateful to Hewlett Packard for funding our research, and would like to extend special thanks to Kenneth Rush for initiating contact with our group. We would also like to thank Michael D. Hutton for providing us with optimized MCNC benchmark circuits.References[CD94]J. Cong and Y. Ding, “FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimi-zation in Lookup-Table Based FPGA Designs,”IEEE trans. on CAD of integrated circuits and sys-tems, January 1994.[FS94] A.H. Farrahi and M. Sarrafzadeh, “Complexity of the Lookup-Table Minimization Problem forFPGA Technology Mapping,” IEEE trans. on com-puter-aided design of integrated circuits and sys-tems, Nov. 1994.[HR93]J. He and J. Rose, “Advantages of Heterogeneous Logic Block Architectures for FPGAs,” Proceed-ings of 1993 Custom Integrated Circuits Confer-ence, San Diego, May 1993 pp. 7.4.1 - 7.4.5 [KE91]J. L. Kouloheris and A. El Gamal, “FPGA Perfor-mance vs. Cell Granularity,” Proceedings of the1991 Custom Integrated Circuits Conference. [KE92]J. L. Kouloheris and A. El Gamal, “PLA-based FPGA Area vs. Cell Granularity,” Proceedings ofthe 1992 Custom Integrated Circuits Conference. [RFLC90]J. Rose, R.J. Francis, D. Lewis, and P. Chow,“Architecture of Field-Programmable Gate Arrays:The Effect of Logic Block Functionality on AreaEfficiency,” IEEE JSSC, Vol. 25 No. 5, October1990, pp. 1217-1225.[S92] E. M. Sentovich et al., “SIS: A System for Sequen-tial Circuit Synthesis,” Electronics Research Labo-ratory, Memorandum No. UCB/ERL M92/41. [SP95] A. Stansfield and I. Page, “The Design of a New FPGA Architecture,” 5th International Workshopon Field Programmable Logic and Applications,FPL’95, University of Oxford, Aug 1995. [WRV95]S. Wilton, J. Rose, Z. Vranesic, “Architecture of Centralized Field-Configurable Memory,” 3rdACM International Symposium on Field-Program-mable Gate Arrays, FPGA ‘95, Monterey Bay, CA,Feb 1995.。