Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures

Size: px
Start display at page:

Download "Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures"

Transcription

1 Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver, BC, Canada, V6T 1Z4 Λ Abstract It has become clear that large embedded configurable memory arrays will be essential in future FPGAs. Embedded arrays provide high-density high-speed implementations of the storage parts of circuits. Unfortunately, they require the FPGA vendor to partition the device into memory and logic resources at manufacture-time. This leads to a waste of chip area for customers that do not use all of the storage provided. This chip area need not be wasted, and can in fact be used very efficiently, if the arrays are configured as large multi-output ROMs, and used to implement logic. In this paper, we investigate how the architecture of the FPGA embedded arrays affects their ability to implement logic. Specifically, we focus on architectures which contain more than one size of memory array. We show that these heterogeneous architectures result in significantly denser implementations of logic than architectures with only one size of memory array. We also show that the best heterogeneous architecture contains both bit arrays and bit arrays. 1 Introduction On-chip storage has become an essential component of high-density FPGAs. The large systems that will be implemented on these FPGAs often require storage; implementing this storage on-chip results in faster clock frequencies and lower system costs. Two implementations of onchip memory in FPGAs have emerged: fine-grained and coarse-grained. In FPGAs employing fine-grained on-chip storage, such as the Xilinx 4000 FPGAs, each lookup table can be configured as a small RAM, and these RAMs Λ This work was supported by the Natural Sciences and Engineering Research Council of Canada, and UBC s Centre for Integrated Computer Systems Research. can be combined to implement larger user memories [1]. FPGAs employing the coarse-grained approach, on the other hand, contain large embedded arrays which are used to implement the storage parts of circuits. Examples of such devices are the Altera 10K, Apex, and Stratix devices [2, 3, 4], the Xilinx Virtex and Virtex II FPGAs [5], the Actel 3200DX and SPGA parts [6, 7], and the Lattice isplsi FPGAs [8]. The coarse-grained approach results in significantly denser memory implementations, since the per-bit overhead is much smaller [9]. Unfortunately, it also requires the FPGA vendor to partition the chip into memory and logic regions when the FPGA is designed. Since circuits have widely-varying memory requirements, this averagecase partitioning may result in poor device utilizations for logic-intensive or memory-intensive circuits. In particular, if a circuit does not use all the available memory arrays to implement storage, the chip area devoted to the unused arrays is wasted. This chip area need not be wasted, however, if the unused memory arrays are used to implement logic. Configuring the arrays as ROMs results in large multi-output lookup-tables that can very efficiently implement some logic circuits. In [10], a new tool, SMAP, was presented that packs as much circuit information as possible into the available memory arrays, and maps the rest of the circuit into four-input lookup-tables. It was shown that this technique results in extremely dense logic implementations for many circuits; not only is the chip area of the unused arrays not wasted, but it is used more efficiently than if the arrays were replaced by logic blocks. Thus, even customers that do not require storage can benefit from embedded memory arrays. The effectiveness of this mapping technique, however, is very dependent on the architecture of the embedded memory arrays. If the arrays are too small, the amount of logic that can be packed into each will be small, while if the arrays are too large, much of each array will be

2 unused. Previous studies have focused on the architecture of these memory resources when implementing storage [11, 12, 13]. Since they are so effective at implementing logic, however, it is important that the design of the embedded memory arrays also consider this. In [14], the the effects of array depth, width, and flexibility of memory arrays when they are used to implement logic were explored. That paper, however, only considered homogeneous memory architectures, ie. architectures in which each memory array is identical. In this paper, we show that significant density improvements are possible if the FPGA contains a heterogeneous memory architecture, that is, an architecture with more than one size of memory array. The goals of this paper are as follows: 1. The first goal is to quantify the density improvements that are possible with a heterogeneous memory architecture (compared to a homogeneous memory architecture) when used to implement logic. 2. There are many possible heterogeneous memory architectures (different array sizes, numbers, etc.). The second goal of this paper is to find the heterogeneous memory architecture that can most efficiently implement logic. The architectural space explored in this paper is described in Section 2. Section 3 describes the experimental methodology and reviews the SMAP algorithm. Finally, Section 4 presents experimental results. 2 Embedded Array Architectures Table 1 summarizes the parameters that define the FPGA embedded memory array architecture, along with values of these parameters for several commercial devices. In this paper we are considering architectures with two different array sizes; we denote the number of bits in each type of array as B 1 and B 2. The number of each type of arrays is denoted N 1 and N 2. We assume that all arrays have the same set of allowable data widths, and denote that set by w eff. For a fixed size, a wider memory implies fewer memory words in each array. In the Altera FLEX10K for example, B =bits, and w eff = f1; 2; 4; 8g, meaning each array can be configured to be one of x1, x2, x4, or x8. 3 Methodology To compare memory array architectures, we employed an experimental methodology in which we varied the various architectural parameters, and mapped a set of 28 N M C P D B A L H J K G F Q E N M P C A F a) Original Circuit b) Final Implementation Figure 1: Example Mapping to a 8-Input, 3-Output Memory Block benchmark circuits to each architecture. Each circuit contained between 527 and LUTs. Fifteen of the circuits were sequential. The combinational circuits and 9 of the sequential circuits were obtained from the Microelectronics Corporation of North Carolina (MCNC) benchmark suite, while the remaining sequential circuits were obtained from the University of Toronto and were the result of synthesis from VHDL and Verilog. All circuits were optimized using SIS [15] and mapped to four-input lookuptables using Flowmap and Flowpack [16]. The SMAP algorithm was then used to pack as much circuit information as possible into the available memory arrays. The number of nodes that can be packed to the available arrays is used as a metric to compare memory array architectures. The results in this paper depend heavily on the SMAP algorithm, which was originally developed for architectures in which all arrays are the same size. The following subsection reviews SMAP, while the subsequent subsection shows how SMAP can be used to map logic to a heterogeneous memory architecture. 3.1 Review of SMAP This section briefly reviews SMAP; for more details, see [10]. The SMAP algorithm is based on Flowpack, a postprocessing step of Flowmap [16]. Given a seed node, the algorithm finds the maximum-volume k-feasible cut, where k is the number of address inputs to each memory array. A k-feasible cut is a set of no more than k nodes in the faninnetwork of the seed such that the the seed can be expressed entirely as a function of the k nodes; the maximum-volume k-feasible cut is the cut which contains the most nodes between the cut and the seed. The nodes that make up the cut become the memory array inputs. Figure 1(a) shows an example circuit along with the the maximum 8-feasible cut for seed node A. Given a seed node and a cut, SMAP then selects which nodes will become the memory array outputs. Any node that can be expressed as a function of the cut nodes is a potential memory array output. The selection of the outputs Q E

3 Parameter Meaning Commercial Devices Range in Altera 10K Vantis VF1 Lattice isp6192 this paper N1 Number of Type-1 Arrays N2 Number of Type-2 Arrays B1 Bits per Type-1 Array Bits per Type-2 Array w eff Allowable Data Widths f1,2,4,8g f4g f9,18g f1,2,4,8g Table 1: Architectural Parameters is an optimization problem, since different combination of outputs will lead to different numbers of nodes that can be packed into the arrays. In [10], a heuristic was presented; the outputs with the largest number of nodes in their maximum fanout-free cone (maximum cone rooted at the potential output such that no node in the cone drives a node not in the cone) are selected. As shown in [10], those nodes in the maximum fanout-free cones of the outputs can be packed into the array. All other nodes in the network must be implemented using logic blocks. In Figure 1(a), nodes C, A, and F are the selected outputs; Figure 1(b) shows the resulting circuit implementation. Since the selection of the seed node is so important, we repeat the algorithm for each seed node, and choose the best results. If there is more than one array available, we map to the first array as described above. Then, we remove the nodes implemented by that array, and repeat the entire algorithm for the second array. This is repeated for each available array. 3.2 Extension to Heterogeneous Memory Architectures The SMAP algorithm was developed assuming a homogeneous memory architecture; that is, one in which each memory array is identical. Since the arrays are packed one at a time, the above algorithm can be applied directly to architectures with different sized memory arrays. The only issue is whether the large or small arrays should be filled first. Experimentally, we have determined that the best results are obtained if we fill all of the large arrays first. The SMAP algorithm is greedy, in that, for each array, the largest portion of logic that can be mapped to the array is selected. Thus, the largest gains are likely to be obtained from the first few arrays that are filled; therefore it makes sense that these first few arrays are the large ones. 4 Results 4.1 Homogeneous Architecture Results We first consider architectures in which all arrays are of the same size (this is the homogeneous case considered in [14]). Figure 2 shows how the effectiveness of each memory array in implementing logic depends on the array size, assuming 8 arrays are available. Figure 2(a) shows the number of logic blocks that can be packed into the arrays (averaged over our 28 benchmark circuits) vs. array size. Figure 2(b) shows the estimated chip area of the 8 memory arrays, also as a function of array size. The area estimates were obtained from a detailed area model [17] and are expressed in logic block equivalents (LBE). One LBE is the area required to implement one logic block. Figure 2(c) shows the packing density as a function of array size. The packing density is defined as the ratio of the number of logic blocks that can be packed into the available memory arrays over the area required to implement the memory arrays (in LBEs). A packing density of 1 means that the density of logic implemented in memory arrays is equal to that if the logic was implemented in logic blocks. A packing density greater than 1 means that the density of logic implemented in memory arrays is greater than that if logic blocks were used. As Figure 2(c) shows, the packing density is greater than 1 for all but the largest memory array. The highest packing density occurs when the arrays each contain bits. See [14] for a more thorough coverage of homogeneous architectures. 4.2 Heterogeneous Architecture Results In this section, we consider architectures which contain two different sizes of memory arrays. Using the terminology of Section 2, each FPGA will have N 1 arrays of B 1 bits each and N 2 arrays of B 2 bits each. We restrict our attention to architectures with three different ratios of N 1 : N 2 : 1:1, 1:2, and 1:3. Figure 3 shows the packing density for several sizes of B 1 and B 2, assuming the ratio N 1 = N 2 =4(that is, there

4 Packed Logic Blocks Bits per Array Area (equiv. logic blocks) Bits per Array Packing Ratio Bits per Array a) Logic Blocks Packed b) Area c) Packing Ratio Figure 2: Homogeneous Architecture Results, 8 arrays Array 2 size () Array 1 size (B1) a) Numerical Results b) Graphical Results Figure 3: Heterogeneous Architectures, 4 arrays of each type B1 are four of each kind of array). As the results show, the best packing density occurs when there are four arrays of bits each, and four arrays of bits each (we did not consider array sizes smaller than bits, since such small arrays would not be suitable for implementing the memory parts of circuits, and thus, would not likely be considered by an FPGA manufacturer). The packing density at this point is 23% higher than the best packing density obtained for homogeneous architectures. We repeated the experiments for several values of N 1 and N 2 ; selected graphical results are shown in Figure 4. In Figure 4(a), one of each type of array is assumed. In this case, the best architecture is a homogeneous architecture in which both arrays contain bits. This was the only configuration for which a homogeneous architecture was found to be the best. Results for FPGAs with the ratio N 1 : N 2 = 1 : 2 (that is, FPGAs for which there are twice as many type-2 arrays as type-1 arrays) are shown in Figure 4(c) and (d). Results for FPGAs with the ratio N 1 : N 2 =1:3(three times as many type-2 arrays as type-1 arrays) are shown in Figure 4(e) and (f). In both cases, the best architecture was found to consist of bit arrays and bit arrays (this was the case for all architectures which we investigated, except the N 1 = N 2 =1case as described above). It is interesting to note that although an FPGA with both bit arrays and bit arrays was found to be best, in some cases, (Figures 4(c) and (e)) the majority of the arrays should contain bits, while in other cases, the majority of the arrays should contain bits (Figures 4(d) and (f)). This can be observed in the graphs by noticing that in Figures 4(c) and (e), the highest point is to the left of the center of the graph, while in Figure 4(d) and (f), the highest point is to the right of the center of the graph. We have investigated other architectures with a N 1 : N 2 ratio of 1 : 2 and 1 : 3, and have confirmed that, as the total number of arrays increases, the preference for smaller arrays increases. Intuitively, if there are more arrays, the SMAP tool is less able to effectively fill the larger arrays with logic. A second conclusion that can be drawn from the results in Figure 4 (and confirmed by other experiments we have performed) is that as the total number of arrays increases, the advantage due to heterogeneous architectures (compared to homogeneous architectures) tends to increase. If there are only two arrays, a homogeneous architecture is

5 better, while if there are 12 arrays (Figures 4(d) and (f)), the heterogeneous architecture is considerably better (22% better in each case). 5 Conclusions Although embedded arrays in FPGAs were developed in order to implement on-chip storage, it is clear that these arrays can also be configured as ROMs and used to implement logic. In this paper, we have shown that significant density improvements are possible if the FPGA contains a heterogeneous memory architecture, that is, an architecture with more than one size of memory array. The amount of improvement depends on how many memory arrays are present; if there are eight arrays, we have shown that the best heterogeneous architecture can implement logic 23% more efficiently than the best homogeneous architecture. In virtually all cases, we have found that the best heterogeneous architecture consists of some bit arrays, and some bit arrays. The exact number of each size of array depends on the total number of arrays available; the more arrays that are present, the larger the proportion that should be bits. We have also shown that the benefits of heterogeneous architectures become more significant as the number of arrays increase. This is a compelling argument for heterogeneous memory architectures. Future architectures are likely to contain more memory than they do now; FP- GAs with such large memory capacities would significantly benefit if a heterogeneous architecture is used. References [1] Xilinx, Inc., Virtex V Field Programmable Gate Arrays, ver. 1.6, July [2] Altera Corporation, FLEX 10K Embedded Programmable Logic Family Data Sheet, ver. 4.1, Mar [3] Altera Corporation, APEX 20K Programmable Logic Device Family Data Sheet, ver. 2.1, Feb [4] Altera Corporation, Stratix Programmable Logic Device Family Datasheet, [5] Xilinx, Inc., XC4000E and XC4000X Series Field Programmable Gate Arrays, ver. 1.6, May [6] Actel Corporation, Datasheet: 3200DX Field-Programmable Gate Arrays, [7] Actel Corporation, Actel s Reprogrammable SPGAs, [8] Lattice Semiconductor Corporation, Datasheet: isplsi and plsi 6192 High Density Programmable Logic with Dedicated Memory and Register/Counter Modules, July [9] T. Ngai, J. Rose, and S. J. E. Wilton, An SRAM- Programmable field-configurable memory, in Proceedings of the IEEE 1995 Custom Integrated Circuits Conference, pp , May [10] S. J. E. Wilton, SMAP: heterogeneous technology mapping for FPGAs with embedded memory arrays, in ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp , February [11] S. J. E. Wilton, J. Rose, and Z. G. Vranesic, Architecture of centralized field-configurable memory, in Proceedings of the ACM/SIGDA International Symposium on Field- Programmable Gate Arrays, pp , [12] S. J. E. Wilton, J. Rose, and Z. G. Vranesic, Memory/logic interconnect flexibility in FPGAs with large embedded memory arrays, in Proceedings of the IEEE 1996 Custom Integrated Circuits Conference, pp , May [13] S. J. E. Wilton, J. Rose, and Z. G. Vranesic, Memoryto-memory connection structures in FPGAs with embedded memory arrays, in ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp , February [14] S. J. E. Wilton, Implementing logic in FPGA embedded memory arrays: Architectural implications, in IEEE Custom Integrated Circuits Conference, May [15] E. Sentovich, SIS: A system for sequential circuit analysis, Tech. Rep. UCB/ERL M92/41, Electronics Research Laboratory, University of California, Berkeley, May [16] J. Cong and Y. Ding, FlowMap: an optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs, IEEE Transactions on Computer- Aided Design of Integrated Circuits and Systems, vol. 13, pp. 1 12, January [17] S. J. E. Wilton, Architectures and Algorithms for Field- Programmable Gate Arrays with Embedded Memory. PhD thesis, University of Toronto, 1997.

6 4.0 B1 0.5 B1 a) N0 =1,N1 =1 b) N0 =8,N1 =8 4.0 B1 B1 c) N1 =1,N2 =2 d) N1 =4,N2 =8 4.0 B1 B1 e) N1 =1,N2 =3 f) N1 =3,N2 =9 Figure 4: Other Selected Heterogeneous Architecture Results

Heterogeneous Technology Mapping for FPGAs with Dual-Port Embedded Memory Arrays

Heterogeneous Technology Mapping for FPGAs with Dual-Port Embedded Memory Arrays Heterogeneous Technology Mapping for FPGAs with Dual-Port Embedded Memory Arrays Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver, BC, Canada,

More information

Heterogeneous Technology Mapping for Area Reduction in FPGA s with Embedded Memory Arrays

Heterogeneous Technology Mapping for Area Reduction in FPGA s with Embedded Memory Arrays 56 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 1, JANUARY 2000 Heterogeneous Technology Mapping for Area Reduction in FPGA s with Embedded Memory Arrays

More information

How Much Logic Should Go in an FPGA Logic Block?

How Much Logic Should Go in an FPGA Logic Block? How Much Logic Should Go in an FPGA Logic Block? Vaughn Betz and Jonathan Rose Department of Electrical and Computer Engineering, University of Toronto Toronto, Ontario, Canada M5S 3G4 {vaughn, jayar}@eecgutorontoca

More information

3. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments

3. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments . Xilinx, Inc., The Programmable Logic Data Book, 99.. G. G. Lemieux and S. D. Brown, ëa detailed router for allocating wire segments in æeld-programmable gate arrays," in Proceedings of the ACM Physical

More information

Figure 1. PLA-Style Logic Block. P Product terms. I Inputs

Figure 1. PLA-Style Logic Block. P Product terms. I Inputs Technology Mapping for Large Complex PLDs Jason Helge Anderson and Stephen Dean Brown Department of Electrical and Computer Engineering University of Toronto 10 King s College Road Toronto, Ontario, Canada

More information

SPEED AND AREA TRADE-OFFS IN CLUSTER-BASED FPGA ARCHITECTURES

SPEED AND AREA TRADE-OFFS IN CLUSTER-BASED FPGA ARCHITECTURES SPEED AND AREA TRADE-OFFS IN CLUSTER-BASED FPGA ARCHITECTURES Alexander (Sandy) Marquardt, Vaughn Betz, and Jonathan Rose Right Track CAD Corp. #313-72 Spadina Ave. Toronto, ON, Canada M5S 2T9 {arm, vaughn,

More information

Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs

Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs Anurag Tiwari and Karen A. Tomko Department of ECECS, University of Cincinnati Cincinnati, OH 45221-0030, USA {atiwari,

More information

HYBRID FPGA ARCHITECTURE

HYBRID FPGA ARCHITECTURE HYBRID FPGA ARCHITECTURE Alireza Kaviani and Stephen Brown Department of Electrical and Computer Engineering University of Toronto, Canada Email: kaviani brown@eecg.toronto.edu Abstract This paper 1 proposes

More information

Stratix vs. Virtex-II Pro FPGA Performance Analysis

Stratix vs. Virtex-II Pro FPGA Performance Analysis White Paper Stratix vs. Virtex-II Pro FPGA Performance Analysis The Stratix TM and Stratix II architecture provides outstanding performance for the high performance design segment, providing clear performance

More information

Basic Block. Inputs. K input. N outputs. I inputs MUX. Clock. Input Multiplexors

Basic Block. Inputs. K input. N outputs. I inputs MUX. Clock. Input Multiplexors RPack: Rability-Driven packing for cluster-based FPGAs E. Bozorgzadeh S. Ogrenci-Memik M. Sarrafzadeh Computer Science Department Department ofece Computer Science Department UCLA Northwestern University

More information

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this report, we

More information

Memory Footprint Reduction for FPGA Routing Algorithms

Memory Footprint Reduction for FPGA Routing Algorithms Memory Footprint Reduction for FPGA Routing Algorithms Scott Y.L. Chin, and Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver, B.C., Canada email:

More information

Designing Heterogeneous FPGAs with Multiple SBs *

Designing Heterogeneous FPGAs with Multiple SBs * Designing Heterogeneous FPGAs with Multiple SBs * K. Siozios, S. Mamagkakis, D. Soudris, and A. Thanailakis VLSI Design and Testing Center, Department of Electrical and Computer Engineering, Democritus

More information

Technology Mapping and Packing. FPGAs

Technology Mapping and Packing. FPGAs Technology Mapping and Packing for Coarse-grained, Anti-fuse Based FPGAs Chang Woo Kang, Ali Iranli, and Massoud Pedram University of Southern California Department of Electrical Engineering Los Angeles

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 9 Jaeyong Chung Robust Systems Laboratory Incheon National University DIGITAL DESIGN FLOW Chung EPC6055 2 FPGA vs. ASIC FPGA (A programmable Logic Device) Faster time-to-market

More information

Conclusions and Future Work. We introduce a new method for dealing with the shortage of quality benchmark circuits

Conclusions and Future Work. We introduce a new method for dealing with the shortage of quality benchmark circuits Chapter 7 Conclusions and Future Work 7.1 Thesis Summary. In this thesis we make new inroads into the understanding of digital circuits as graphs. We introduce a new method for dealing with the shortage

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

More information

FPGA Clock Network Architecture: Flexibility vs. Area and Power

FPGA Clock Network Architecture: Flexibility vs. Area and Power FPGA Clock Network Architecture: Flexibility vs. Area and Power Julien Lamoureux and Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver, B.C.,

More information

Benefits of Embedded RAM in FLEX 10K Devices

Benefits of Embedded RAM in FLEX 10K Devices Benefits of Embedded RAM in FLEX 1K Devices January 1996, ver. 1 Product Information Bulletin 2 Introduction Driven by the demand to integrate many more digital functions in a single device, custom logic

More information

Reducing Power in an FPGA via Computer-Aided Design

Reducing Power in an FPGA via Computer-Aided Design Reducing Power in an FPGA via Computer-Aided Design Steve Wilton University of British Columbia Power Reduction via CAD How to reduce power dissipation in an FPGA: - Create power-aware CAD tools - Create

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

OPTIMIZING COARSE- GRAINED UNITS IN FLOATING POINT HYBRID FPGA

OPTIMIZING COARSE- GRAINED UNITS IN FLOATING POINT HYBRID FPGA OPTIMIZING COARSE- GRAINED UNITS IN FLOATING POINT HYBRID FPGA Chi Wai Yu 1, Alastair M. Smith 2, Wayne Luk 1, Philip Leong 3, Steven J.E. Wilton 2 1 Dept of Computing Imperial College London, London {cyu,wl}@doc.ic.ac.uk

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Congestion-Driven Regional Re-clustering for Low-Cost FPGAs

Congestion-Driven Regional Re-clustering for Low-Cost FPGAs Congestion-Driven Regional Re-clustering for Low-Cost FPGAs Darius Chiu, Guy G.F. Lemieux, Steve Wilton Electrical and Computer Engineering, University of British Columbia British Columbia, Canada dariusc@ece.ubc.ca

More information

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs . FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles,

More information

Design and Implementation of FPGA Logic Architectures using Hybrid LUT/Multiplexer

Design and Implementation of FPGA Logic Architectures using Hybrid LUT/Multiplexer Design and Implementation of FPGA Logic Architectures using Hybrid LUT/Multiplexer Krosuri Rajyalakshmi 1 J.Narashima Rao 2 rajyalakshmi.krosuri@gmail.com 1 jnarasimharao09@gmail.com 2 1 PG Scholar, VLSI,

More information

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp Scientia Iranica, Vol. 11, No. 3, pp 159{164 c Sharif University of Technology, July 2004 On Routing Architecture for Hybrid FPGA M. Nadjarbashi, S.M. Fakhraie 1 and A. Kaviani 2 In this paper, the routing

More information

An Introduction to Programmable Logic

An Introduction to Programmable Logic Outline An Introduction to Programmable Logic 3 November 24 Transistors Logic Gates CPLD Architectures FPGA Architectures Device Considerations Soft Core Processors Design Example Quiz Semiconductors Semiconductor

More information

A Configurable Multi-Ported Register File Architecture for Soft Processor Cores

A Configurable Multi-Ported Register File Architecture for Soft Processor Cores A Configurable Multi-Ported Register File Architecture for Soft Processor Cores Mazen A. R. Saghir and Rawan Naous Department of Electrical and Computer Engineering American University of Beirut P.O. Box

More information

Device And Architecture Co-Optimization for FPGA Power Reduction

Device And Architecture Co-Optimization for FPGA Power Reduction 54.2 Device And Architecture Co-Optimization for FPGA Power Reduction Lerong Cheng, Phoebe Wong, Fei Li, Yan Lin, and Lei He Electrical Engineering Department University of California, Los Angeles, CA

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

THE technology mapping and synthesis problem for field

THE technology mapping and synthesis problem for field 738 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 9, SEPTEMBER 1998 An Efficient Algorithm for Performance-Optimal FPGA Technology Mapping with Retiming Jason

More information

An FPGA Architecture Supporting Dynamically-Controlled Power Gating

An FPGA Architecture Supporting Dynamically-Controlled Power Gating An FPGA Architecture Supporting Dynamically-Controlled Power Gating Altera Corporation March 16 th, 2012 Assem Bsoul and Steve Wilton {absoul, stevew}@ece.ubc.ca System-on-Chip Research Group Department

More information

THE COARSE-GRAINED / FINE-GRAINED LOGIC INTERFACE IN FPGAS WITH EMBEDDED FLOATING-POINT ARITHMETIC UNITS

THE COARSE-GRAINED / FINE-GRAINED LOGIC INTERFACE IN FPGAS WITH EMBEDDED FLOATING-POINT ARITHMETIC UNITS THE COARSE-GRAINED / FINE-GRAINED LOGIC INTERFACE IN FPGAS WITH EMBEDDED FLOATING-POINT ARITHMETIC UNITS Chi Wai Yu 1, Julien Lamoureux 2, Steven J.E. Wilton 2, Philip H.W. Leong 3, Wayne Luk 1 1 Dept

More information

A System-Level Stochastic Circuit Generator for FPGA Architecture Evaluation

A System-Level Stochastic Circuit Generator for FPGA Architecture Evaluation A System-Level Stochastic Circuit Generator for FPGA Architecture Evaluation Cindy Mark, Ava Shui, Steven J.E. Wilton Department of Electrical and Computer Engineering University of British Columbia Vancouver,

More information

The Impact of Pipelining on Energy per Operation in Field-Programmable Gate Arrays

The Impact of Pipelining on Energy per Operation in Field-Programmable Gate Arrays The Impact of Pipelining on Energy per Operation in Field-Programmable Gate Arrays Steven J.E. Wilton 1, Su-Shin Ang 2 and Wayne Luk 2 1 Dept. of Electrical and Computer Eng. University of British Columbia

More information

RASP: A General Logic Synthesis System for SRAM-based FPGAs

RASP: A General Logic Synthesis System for SRAM-based FPGAs RASP: A General Logic Synthesis System for SRAM-based FPGAs Abstract Jason Cong and John Peck Department of Computer Science University of California, Los Angeles, CA 90024 Yuzheng Ding AT&T Bell Laboratories,

More information

Programmable Logic. Any other approaches?

Programmable Logic. Any other approaches? Programmable Logic So far, have only talked about PALs (see 22V10 figure next page). What is the next step in the evolution of PLDs? More gates! How do we get more gates? We could put several PALs on one

More information

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang Boolean Matching for Complex PLBs in LUT-based PAs with Application to Architecture Evaluation Jason Cong and Yean-Yow wang Department of Computer Science University of California, Los Angeles {cong, yeanyow}@cs.ucla.edu

More information

Programmable Memory Blocks Supporting Content-Addressable Memory

Programmable Memory Blocks Supporting Content-Addressable Memory Programmable Memory Blocks Supporting Content-Addressable Memory Frank Heile, Andrew Leaver, Kerry Veenstra Altera 0 Innovation Dr San Jose, CA 95 USA (408) 544-7000 {frank, aleaver, kerry}@altera.com

More information

Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization

Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization Zhiru Zhang School of ECE, Cornell University September 29, 2017 @ EPFL A Case Study on Digit Recognition bit6 popcount(bit49 digit)

More information

SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, A Low-Power Field-Programmable Gate Array Routing Fabric.

SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, A Low-Power Field-Programmable Gate Array Routing Fabric. SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, 2007 1 A Low-Power Field-Programmable Gate Array Routing Fabric Mingjie Lin Abbas El Gamal Abstract This paper describes a new FPGA

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

Power Solutions for Leading-Edge FPGAs. Vaughn Betz & Paul Ekas

Power Solutions for Leading-Edge FPGAs. Vaughn Betz & Paul Ekas Power Solutions for Leading-Edge FPGAs Vaughn Betz & Paul Ekas Agenda 90 nm Power Overview Stratix II : Power Optimization Without Sacrificing Performance Technical Features & Competitive Results Dynamic

More information

An Intelligent Multi-Port Memory

An Intelligent Multi-Port Memory JOURNAL OF COMPUTERS, VOL. 5, NO. 3, MARCH 2010 471 An Intelligent Multi-Port Memory Zuo Wang School of Computer Science and Technology, Beijing Institute of Technology, Beijing, China wuchenjian.wang@gmail.com

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

Routing Wire Optimization through Generic Synthesis on FPGA Carry Chains

Routing Wire Optimization through Generic Synthesis on FPGA Carry Chains Routing Wire Optimization through Generic Synthesis on FPGA Carry Chains Hadi Parandeh-Afshar hadi.parandehafshar@epfl.ch Philip Brisk philip@cs.ucr.edu Grace Zgheib grace.zgheib@lau.edu.lb Paolo Ienne

More information

Scalable and Dynamically Updatable Lookup Engine for Decision-trees on FPGA

Scalable and Dynamically Updatable Lookup Engine for Decision-trees on FPGA Scalable and Dynamically Updatable Lookup Engine for Decision-trees on FPGA Yun R. Qu, Viktor K. Prasanna Ming Hsieh Dept. of Electrical Engineering University of Southern California Los Angeles, CA 90089

More information

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories Japanese Journal of Applied Physics Vol., No. B, 200, pp. 329 3300 #200 The Japan Society of Applied Physics A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static

More information

ON THE INTERACTION BETWEEN POWER-AWARE FPGA CAD ALGORITHMS

ON THE INTERACTION BETWEEN POWER-AWARE FPGA CAD ALGORITHMS ON THE INTERACTION BETWEEN POWER-AWARE FPGA CAD ALGORITHMS ABSTRACT As Field-Programmable Gate Array (FPGA) power consumption continues to increase, lower power FPGA circuitry, architectures, and Computer-Aided

More information

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Jason Cong and Yean-Yow Hwang Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this paper, we

More information

Hybrid LUT/Multiplexer FPGA Logic Architectures

Hybrid LUT/Multiplexer FPGA Logic Architectures Hybrid LUT/Multiplexer FPGA Logic Architectures Abstract: Hybrid configurable logic block architectures for field-programmable gate arrays that contain a mixture of lookup tables and hardened multiplexers

More information

Design Space Exploration Using Parameterized Cores

Design Space Exploration Using Parameterized Cores RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE

More information

CPLDs vs. FPGAs: Comparing High-Capacity Programmable Logic

CPLDs vs. FPGAs: Comparing High-Capacity Programmable Logic PIB 18 CPLDs vs. FPGAs: Comparing High-Capacity Programmable Logic CPLDs vs. FPGAs Comparing High-Capacity Programmable Logic February 1995, ver. 1 Product Information Bulletin 18 Introduction The high-capacity

More information

Computer Structure. Unit 2: Memory and programmable devices

Computer Structure. Unit 2: Memory and programmable devices Computer Structure Unit 2: Memory and programmable devices Translated from Francisco Pérez García (fperez at us.es) by Mª Carmen Romero (mcromerot at us.es, Office G1.51, 954554324) Electronic Technology

More information

Exploring Logic Block Granularity for Regular Fabrics

Exploring Logic Block Granularity for Regular Fabrics 1530-1591/04 $20.00 (c) 2004 IEEE Exploring Logic Block Granularity for Regular Fabrics A. Koorapaty, V. Kheterpal, P. Gopalakrishnan, M. Fu, L. Pileggi {aneeshk, vkheterp, pgopalak, mfu, pileggi}@ece.cmu.edu

More information

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs

A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs Harrys Sidiropoulos, Kostas Siozios and Dimitrios Soudris School of Electrical & Computer Engineering National

More information

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Jin Hee Kim and Jason Anderson FPL 2015 London, UK September 3, 2015 2 Motivation for Synthesizable FPGA Trend towards ASIC design flow Design

More information

Cluster-Based Architecture, Timing-Driven Packing and Timing-Driven Placement for FPGAs

Cluster-Based Architecture, Timing-Driven Packing and Timing-Driven Placement for FPGAs Cluster-Based Architecture, Timing-Driven Packing and Timing-Driven Placement for FPGAs by Alexander R. Marquardt A thesis submitted in conformity with the requirements for the degree of Master of Applied

More information

Design, Synthesis and Evaluation of Heterogeneous FPGA with Mixed LUTs and Macro-Gates

Design, Synthesis and Evaluation of Heterogeneous FPGA with Mixed LUTs and Macro-Gates Design, Synthesis and Evaluation of Heterogeneous FPGA with Mixed LUTs and Macro-Gates Yu Hu 1,2, Satyaki Das 2, Steve Trimberger 2 and Lei He 1 Electrical Engineering Department, UCLA, Los Angeles, CA

More information

Reduce Your System Power Consumption with Altera FPGAs Altera Corporation Public

Reduce Your System Power Consumption with Altera FPGAs Altera Corporation Public Reduce Your System Power Consumption with Altera FPGAs Agenda Benefits of lower power in systems Stratix III power technology Cyclone III power Quartus II power optimization and estimation tools Summary

More information

Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures

Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures by Daniele G Paladino A thesis submitted in conformity with the requirements for the degree of Master of Applied

More information

PARALLEL PERFORMANCE DIRECTED TECHNOLOGY MAPPING FOR FPGA. Laurent Lemarchand. Informatique. ea 2215, D pt. ubo University{ bp 809

PARALLEL PERFORMANCE DIRECTED TECHNOLOGY MAPPING FOR FPGA. Laurent Lemarchand. Informatique. ea 2215, D pt. ubo University{ bp 809 PARALLEL PERFORMANCE DIRECTED TECHNOLOGY MAPPING FOR FPGA Laurent Lemarchand Informatique ubo University{ bp 809 f-29285, Brest { France lemarch@univ-brest.fr ea 2215, D pt ABSTRACT An ecient distributed

More information

Steven J.E. Wilton, Jonathan Rose, and Zvonko G. Vranesic. University oftoronto.

Steven J.E. Wilton, Jonathan Rose, and Zvonko G. Vranesic. University oftoronto. Architecture of Centralized Field-Congurable Memory Steven J.E. Wilton, Jonathan Rose, and Zvonko G. Vranesic Department of Electrical and Computer Engineering University oftoronto Toronto, Ontario, Canada,

More information

FPGA Based Digital Design Using Verilog HDL

FPGA Based Digital Design Using Verilog HDL FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology

More information

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices 3 Digital Systems Implementation Programmable Logic Devices Basic FPGA Architectures Why Programmable Logic Devices (PLDs)? Low cost, low risk way of implementing digital circuits as application specific

More information

Early Models in Silicon with SystemC synthesis

Early Models in Silicon with SystemC synthesis Early Models in Silicon with SystemC synthesis Agility Compiler summary C-based design & synthesis for SystemC Pure, standard compliant SystemC/ C++ Most widely used C-synthesis technology Structural SystemC

More information

Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors

Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors Siew-Kei Lam Centre for High Performance Embedded Systems, Nanyang Technological University, Singapore (assklam@ntu.edu.sg)

More information

Using Sparse Crossbars within LUT Clusters

Using Sparse Crossbars within LUT Clusters Using Sparse Crossbars within LUT Clusters Guy Lemieux Dept. of Electrical and Computer Engineering University of Toronto Toronto, Ontario, Canada M5S 3G4 lemieux@eecg.toronto.edu David Lewis Dept. of

More information

FIELD programmable gate arrays (FPGAs) provide an attractive

FIELD programmable gate arrays (FPGAs) provide an attractive IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 9, SEPTEMBER 2005 1035 Circuits and Architectures for Field Programmable Gate Array With Configurable Supply Voltage Yan Lin,

More information

Design Verification Using the SignalTap II Embedded

Design Verification Using the SignalTap II Embedded Design Verification Using the SignalTap II Embedded Logic Analyzer January 2003, ver. 1.0 Application Note 280 Introduction The SignalTap II embedded logic analyzer, available exclusively in the Altera

More information

Placement Algorithm for FPGA Circuits

Placement Algorithm for FPGA Circuits Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture FPGA Design EECE 277 Interconnect and Logic Elements Part 2 Dr. William H. Robinson February 4, 2005 http://eecs.vanderbilt.edu/courses/eece277/ Topics The sky is falling. I must go and tell the King.

More information

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices - Wiring - Embedded New trends - Single-driver wiring -

More information

FPGA How do they work?

FPGA How do they work? ent FPGA How do they work? ETI135, Advanced Digital IC Design What is a FPGA? Manufacturers Distributed RAM History FPGA vs ASIC FPGA and Microprocessors Alternatives to FPGAs Anders Skoog, Stefan Granlund

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

High-level Variable Selection for Partial-Scan Implementation

High-level Variable Selection for Partial-Scan Implementation High-level Variable Selection for Partial-Scan Implementation FrankF.Hsu JanakH.Patel Center for Reliable & High-Performance Computing University of Illinois, Urbana, IL Abstract In this paper, we propose

More information

Abbas El Gamal. Joint work with: Mingjie Lin, Yi-Chang Lu, Simon Wong Work partially supported by DARPA 3D-IC program. Stanford University

Abbas El Gamal. Joint work with: Mingjie Lin, Yi-Chang Lu, Simon Wong Work partially supported by DARPA 3D-IC program. Stanford University Abbas El Gamal Joint work with: Mingjie Lin, Yi-Chang Lu, Simon Wong Work partially supported by DARPA 3D-IC program Stanford University Chip stacking Vertical interconnect density < 20/mm Wafer Stacking

More information

LSN 6 Programmable Logic Devices

LSN 6 Programmable Logic Devices LSN 6 Programmable Logic Devices Department of Engineering Technology LSN 6 What Are PLDs? Functionless devices in base form Require programming to operate The logic function of the device is programmed

More information

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline CPE/EE 422/522 Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices Dr. Rhonda Kay Gaede UAH Outline Introduction Field-Programmable Gate Arrays Virtex Virtex-E, Virtex-II, and Virtex-II

More information

FYSE420 DIGITAL ELECTRONICS. Lecture 7

FYSE420 DIGITAL ELECTRONICS. Lecture 7 FYSE420 DIGITAL ELECTRONICS Lecture 7 1 [1] [2] [3] DIGITAL LOGIC CIRCUIT ANALYSIS & DESIGN Nelson, Nagle, Irvin, Carrol ISBN 0-13-463894-8 DIGITAL DESIGN Morris Mano Fourth edition ISBN 0-13-198924-3

More information

Design Methodologies. Full-Custom Design

Design Methodologies. Full-Custom Design Design Methodologies Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores) Design

More information

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT Factor Cuts Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu ABSTRACT Enumeration of bounded size cuts is an important

More information

Fused-Arithmetic Unit Generation for Reconfigurable Devices using Common Subgraph Extraction

Fused-Arithmetic Unit Generation for Reconfigurable Devices using Common Subgraph Extraction Fused-Arithmetic Unit Generation for Reconfigurable Devices using Common Subgraph Extraction Alastair M. Smith, George A. Constantinides and Peter Y. K. Cheung Imperial College, London SW7 2BT, U.K. {alastair.smith,g.constantinides,p.cheung}@imperial.ac.uk

More information

IMPROVING MEMORY AND VALIDATION SUPPORT IN FPGA ARCHITECTURE EXPLORATION. Andrew Somerville

IMPROVING MEMORY AND VALIDATION SUPPORT IN FPGA ARCHITECTURE EXPLORATION. Andrew Somerville IMPROVING MEMORY AND VALIDATION SUPPORT IN FPGA ARCHITECTURE EXPLORATION by Andrew Somerville Bachelor of Computer Science, University of New Brunswick, 2010 A Thesis Submitted in Partial Fulfillment of

More information

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) 1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.

More information

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Jason Cong and Yean-Yow Hwang Department of Computer Science University of California, Los Angeles, CA 90024 January 31, 1995 Abstract

More information

FPGA. Agenda 11/05/2016. Scheduling tasks on Reconfigurable FPGA architectures. Definition. Overview. Characteristics of the CLB.

FPGA. Agenda 11/05/2016. Scheduling tasks on Reconfigurable FPGA architectures. Definition. Overview. Characteristics of the CLB. Agenda The topics that will be addressed are: Scheduling tasks on Reconfigurable FPGA architectures Mauro Marinoni ReTiS Lab, TeCIP Institute Scuola superiore Sant Anna - Pisa Overview on basic characteristics

More information

Combinational and Sequential Mapping with Priority Cuts

Combinational and Sequential Mapping with Priority Cuts Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton Department of EECS, University of California, Berkeley {alanmi, smcho, satrajit, brayton@eecs.berkeley.edu

More information

Logic Block Clustering of Large Designs for Channel-Width Constrained FPGAs

Logic Block Clustering of Large Designs for Channel-Width Constrained FPGAs { Logic Block Clustering of Large Designs for Channel-Width Constrained FPGAs Marvin Tom marvint @ ece.ubc.ca Guy Lemieux lemieux @ ece.ubc.ca Dept of ECE, University of British Columbia, Vancouver, BC,

More information

Stratix II vs. Virtex-4 Performance Comparison

Stratix II vs. Virtex-4 Performance Comparison White Paper Stratix II vs. Virtex-4 Performance Comparison Altera Stratix II devices use a new and innovative logic structure called the adaptive logic module () to make Stratix II devices the industry

More information

Vdd Programmable and Variation Tolerant FPGA Circuits and Architectures

Vdd Programmable and Variation Tolerant FPGA Circuits and Architectures Vdd Programmable and Variation Tolerant FPGA Circuits and Architectures Prof. Lei He EE Department, UCLA LHE@ee.ucla.edu Partially supported by NSF. Pathway to Power Efficiency and Variation Tolerance

More information

Configurable Embedded Systems: Using Programmable Logic to Compress Embedded System Design Cycles

Configurable Embedded Systems: Using Programmable Logic to Compress Embedded System Design Cycles Class 330 Configurable Embedded Systems: Using Programmable Logic to Compress Embedded System Design Cycles Steven Knapp (sknapp) Arye Ziklik (arye) Triscend Corporation www.triscend.com Copyright 1998,

More information

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali. EE219A Spring 2008 Special Topics in Circuits and Signal Processing Lecture 9 FPGA Architecture Ranier Yap, Mohamed Ali Annoucements Homework 2 posted Due Wed, May 7 Now is the time to turn-in your Hw

More information

Architecture and Synthesis of. Field-Programmable Gate Arrays with. Hard-wired Connections. Kevin Charles Kenton Chung

Architecture and Synthesis of. Field-Programmable Gate Arrays with. Hard-wired Connections. Kevin Charles Kenton Chung Architecture and Synthesis of Field-Programmable Gate Arrays with Hard-wired Connections by Kevin Charles Kenton Chung A thesis submitted in conformity with the requirements for the Degree of Doctor of

More information

DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES

DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES Vutukuri Syam Kumar 1 Rambabu Kusuma 2 MJRN Prasad 3 syam.kumar875@gmail.com 1 ksrk73@gmail.com 2 prasad_mjm@yahoo.co.in 1 PG

More information

Interconnect Testing in Cluster-Based FPGA Architectures

Interconnect Testing in Cluster-Based FPGA Architectures Interconnect Testing in Cluster-Based FPGA Architectures Ian G. Harris Department of Electrical and Computer Engineering University of Massachusetts Amherst, MA 01003 harris@ecs.umass.edu Russell Tessier

More information

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware

More information