FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY

Size: px
Start display at page:

Download "FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY"

Transcription

1 FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY Andrew C. Ling Electrical and Computer Engineering University o Toronto Toronto, CANADA aling@eecg.toronto.edu Deshanand P. Singh, Stephen D. Brown Altera Corporation Toronto Technology Centre Toronto, CANADA dsingh sbrown@altera.com ABSTRACT This paper describes a novel Field Programmable Gate Array (FPGA) logic synthesis technique which determines i a logic unction can be implemented in a given programmable circuit and describes how this problem can be ormalized and solved using Quantiied Boolean Satisiability. This technique is general enough to be applied to any type o logic unction and programmable circuit; thus, it has many applications to FPGAs. The application demonstrated in this paper is FPGA PLB evaluation where their results show that this tool allows radical new eatures o FPGA logic blocks to be evaluated in a rigorous scientiic way. 1. INTRODUCTION FPGAs are integrated circuits characterized by a sea o programmable logic blocks (PLBs). Coniguration IN Coniguration OUT LUT 16:1 D Q A B C D R Reset Clock LE Out Fig. 1. A simpliied FPGA PLB. An example o a PLB is shown in Fig. 1. The logic block is composed o a 4-input lookup table (4-LUT) that is capable o implementing any arbitrary Boolean unction o 4 variables. The LUT is implemented with a set o 2 4 = 16 static RAM (SRAM) bits that are programmed with the truth-table values or the unction to be implemented. In general, many modern PLBs are based on the k-input lookup table (k-lut) which contains 2 k SRAM bits. Although the k-input LUT is very lexible, it is usually beneicial to add dedicated non-programmable logic to the PLB such as adders and XOR/AND-gates [1, 2]. These eatures increase the number o unctions that can be implemented by a PLB without the power, speed, and area costs associated with programmable logic. However, because this reduces the lexibility o the PLB, optimal mapping o unctions to these non-programmable components is diicult Motivation The cost o implementing a circuit in an FPGA is directly proportional to the number o PLBs required to implement the unctionality o the circuit. FPGAs are sold in a number o pre-abricated sizes. Decreasing the number o PLBs may allow a circuit to be realized in a smaller FPGA. Typical pricing is roughly linear to the number o PLBs in the FPGA device [3]. The PLB architecture has a signiicant impact on the number o PLBs required to realize a particular circuit. Thus, clever PLB designs are necessary that capture the majority o the unctions encountered in typical circuits. In this paper we will show how methods based on Quantiied Boolean Satisiability can be used to rapidly determine i a PLB architecture will achieve a high capture rate. 2. BACKGROUND 3. TECHNOLOGY MAPPING The technology mapping step in the FPGA CAD low converts a gate-level network consisting o primitive gates into the PLBs that are present in the target FPGA architecture. The goal o the technology mapping step is to reduce area, delay, or a combination thereo in the network o PLBs that is produced. In this work, delay is proportional to the depth o a circuit where the depth o a node is deined as the longest path rom the node to a primary input. Previous work showed that the depth-optimal mapping solution can be obtained in

2 polynomial time using a dynamic programming procedure [4]. a b x c d e a b x c d e a b c d e L 1 L 2 L 3 L LUT AND-GATE M N Vcc L 5 x 1 x 2 x 3 Fig. 3. Example PLB. g (a) Initial Netlist (b) Possible Covering (c) LUT Mapping Fig. 2. Technology mapping as a covering problem. The process o technology mapping is oten treated as a covering problem. For example, consider the process o mapping a circuit into LUTs as illustrated in Fig. 2. Fig. 2a illustrates the initial gate level network, Fig. 2b illustrates a possible covering o the initial network using 4-LUTs, and Fig. 2c illustrates the LUT network produced by the covering. In the mapping given, the gate labeled x is covered by both LUTs and is said to be duplicated. In a duplicationree mapping, each gate in the initial circuit is covered by a single LUT in the mapped circuit [5]. However, surprisingly, the controlled use o duplication can lead to urther area savings [6]. In contrast to the depth minimization problem, the area minimization problem was shown to be NPhard or LUTs o size our and greater [7]. Thus, heuristics are necessary to solve the area minimization problem. Another way to look at technology mapping is as a cone selection problem. The subcircuits circled in Fig. 2b are examples o cones. Technology mapping seeks to ind the best set o cones that can be mapped to the current PLB architecture. Best is determined by the optimizing goal such as area, speed, or power. I the FPGA architecture consists solely o K-LUTs, mapping rom cones to K-LUTs is a direct process since any cone with K-inputs or less can be implemented in a K-LUT. A cone with K-inputs or less is known to be K-easible. Thus, to technology map circuits to K-LUTs, the circuit simply has to be decomposed into a set o K-easible cones. However, i the FPGA architecture consists o generic K-input PLBs, mapping rom cones to PLBs is much more diicult since PLBs cannot implement all possible K-easible cones. For example, the PLB shown in Fig. 3 cannot implement a 3-input OR gate. Although more limited in unctionality, PLBs oer speed, area, and power advantages over ully programmable K- LUTs. Furthermore, in general only a small subset o K- easible cones will appear in most logic circuits. Thus, so long as a given PLB architecture can capture most cones encountered in real circuits, it will be successul in implement- g g ing circuits. One way to determine i a PLB will capture most K-easible cones ound in circuits is to extract a set o K-easible cones rom a set o circuits and determine how many o these cones can it into a given PLB where a high it percentage is desired. The tool presented in this paper does this exact task, which will be described in Sec Quantiied SAT As stated in Sec. 1, the main contribution o this work is to examine the use o Quantiied Boolean Satisiability (QSAT) or use in PLB evaluation. QSAT is the problem o determining i a quantiied Boolean ormula (QBF), F = Q 1 x 1...Q n x n (x 1...x n ) where Q i {, }, has an assignment to its variables, x 1...x n, such that F evaluates to true. I so, F is said to be satisiable, otherwise it is unsatisiable. This is analogous to the much simplier problem o Boolean Satisiability (SAT) where SAT seeks a single assignment to a Boolean ormula F such that F evaluates to true. SAT is actually a special case o QSAT where SAT deals with Boolean ormulae without any universal quantiiers (variables in Boolean ormulae without any quantiiers implicitly have a single existential quantiier bound to them). QSAT, however, may have universally quantiied variables, and thus seeks all assignments to its universally quantiied variables to satisy a QBF. For example, consider the expressions in Equ. 1. The irst expression shows a satisiable Boolean ormula with its associated satisying assignment. In contrast, simply by adding quantiiers to it, the QBF shown in the second expression is unsatisiable due to the universally quantiied variable x 2. (x 1 + x 2 ) (x 1 + x 2 ) satisiable [x 1 = 0, x 2 = 1] x 1 x 2 (x 1 + x 2 ) (x 1 + x 2 ) unsatisiable [x 1 = 0, x 2 = {0, 1}] unsatisiable [x 1 = 1, x 2 = {0, 1}] For all practical purposes, QSAT only deals with QBFs in Conjunctive-Normal-Form (CNF, sometimes reerred as (1)

3 a Product-o-Sums). A Boolean unction is in CNF i it consists solely o a conjunction o clauses, where a clause is a disjunction o literals and a literal is any variable or its complement. Equ. 1 are examples o ormulae in CNF. In CNF, the problem o QSAT can be rephrased to: Given a QBF, F = Q 1 x 1...Q n x n (x 1...x n ) where Q i {, }, ind an assignment to its variables, x 1...x n, such that each clause in (x 1...x n ) has at least one literal that evaluates to true. 4. QUANTIFIED SAT APPLIED TO PLB EVALUATION The goal o PLB evaluation is to determine how useul a new PLB architecture will be in implementing circuits. A useul k-input PLB can be characterized by how many k- input cones can it into it where a high it percentage is desired. Thus, the underlying question asked when determining this it percentage is as ollows: Given an n-variable Boolean unction, F unction (x 1, x 2,..., x n ), does there exist a programmable coniguration to a circuit, G, such that the output o the circuit will equal F unction (x 1, x 2,..., x n ) or all inputs? Previously, robust heuristics to answer this question ell into two categories: a specialized PLB is proposed and a customized mapping algorithm is implemented to map benchmark circuits using the proposed element [8]; specialized Boolean matching techniques are developed to decompose a logic unction in such a way so that it matches the structure o the proposed PLB [9]. Both o these techniques suer a lack o generality, which we address in our novel QSAT based approach Formalizing Function Fitting Problem Assuming that a programmable circuit can be represented as a Boolean unction G circuit = G(x 1..x n, L 1..L m, z 1..z o ) where x i, L j, z k, G circuit represent the input signals, coniguration bits, intermediate circuit signals, and output unction o the circuit respectively, the problem o unction mapping into programmable logic can represented ormally as a QBF as ollows. L 1...L m x 1...x n z 1...z o (G circuit F unction ) (2) A satisying assignment to Equ. 2 implies that F unction can be realized in the programmable circuit. In order to derive Equ. 2, the proposition (G circuit F unction ) must be represented as a CNF Boolean ormula. This can be done using a well known derivation technique that converts logic circuits into a characteristic unction in CNF [10]. This characteristic unction describes all valid inputs, output, coniguration bits, and internal signal vectors or the conigurable circuit. For example, consider the truth-table in Fig. 4. Its onset describes all input-output relations o an AND gate. To extract the characteristic unction, A B Z F AND A B F AND = (A + Z) (B + Z) (A + B + Z) A B Z F CASCADE = (A + Z) (B + Z) (A + B + Z) (Z + Y ) (C + Y ) (Z + C + Y ) Fig. 4. Deriving a circuit characteristic unction. F AND, rom the truth-table, any standard minimization technique can be used. Deriving characteristic unctions directly rom the circuit input-output relation is only practical or primitive gates and logic blocks where the number o inputs and outputs is small. Fortunately, characteristic unctions or larger circuits can be derived iteratively rom the conjunction o its subcircuit characteristic unctions. For example, consider the cascaded gates shown in Fig. 4. Notice the wire connecting the two gates is labeled with variable Z or CNF construction. The characteristic unction o the cascaded circuit is simply the conjunction o the two AND gate characteristic unctions with variable Z as the logical link between the two unctions. The characteristic unction, F CASCADE evaluates to true i all wire signals are consistent. This includes the primary inputs and outputs as in F AND, plus any intermediate wire signals (i.e. Z). The previous conversion technique or the cascaded AND structure can be extended to much larger circuits such as PLBs. This creates a characteristic unction, Ψ, dependent on variables x 1,..., x n, L 1,..., L m, z 1,..., z o, and G which represent the inputs, programmable bits, intermediate wires, and output o the circuit respectively. Thus, the proposition (G circuit F unction ) can be ormed by substituting all instances o the output variable G in Ψ by the expression representing F unction. This is shown in Equ. 3 where the notation [G/F (x 1,..., x n )] indicates that all instances o G have been replaced by F (x 1,...x n ). Sections ollowing this will use similar notation to represent the substitution opera- C Z Y

4 tion. [G circuit F unction ] Ψ [G/F (x 1,..., x n )] L 1...L m x 1...x n z 1...z o ψ [G/F (x 1,..., x n )] 4.2. Removing Quantiied Variables Although QSAT solvers have shown initial promising results, it is oten still aster to solve a QBF by removing the universal quantiiers and converting it to a SAT problem [11]. Removing the universal quantiiers eliminates the need to ind multiple SAT instances or all universally quantiied variable assignments, thus saving time; however, in doing so, the size o the Boolean ormula increases substantially. To remove the universal quantiiers in a QBF, F, its proposition,, is replicated to explicitly enumerate all possible assignments o the universally quantiied variables. These replicated ormulae are then conjoined with the logical AND operator to orm a Boolean unction that can be solved with SAT. In order to give better understanding to the previously described ideas, an example is given. Assume that a 3-input unction F needs to be implemented in the PLB shown previously in Fig. 3. In the ollowing steps,f represents the unction o the cone under consideration or mapping, X represents input vector x 1 x 2 x 3 = i, and F i = F (X ). Step 1: Create CNF or individual elements in programmable circuit. G LUT = (x 1 + x 2 + L 1 + z 1) (x 1 + x 2 + L 1 + z 1) (x 1 + x 2 + L 2 + z 1) (x 1 + x 2 + L 2 + z 1) (x 1 + x 2 + L 3 + z 1) (x 1 + x 2 + L 3 + z 1) (x 1 + x 2 + L 4 + z 1) (x 1 + x 2 + L 4 + z 1) (3) G MUX = (L 5 + x 3 + z 2) (L 5 + x 3 + z 2) (L 5 + z 2) (5) G AND = (z 1 + G) (z 2 + G) (z 1 + z 2 + G) (6) Step 2: Formulate the programmable circuit CNF rom equations 4, 5, and 6. (4) G circuit = G LUT G MUX G AND (7) Step 3: Replication o equation 7 to remove quantiied variables. This ormulates G T otal where a satisiable assignment to G T otal implies F can be realized in the programmable circuit. Note that in equation 8, the coniguration bits are represented by the same variables (L 1 5 ) in each G circuit (X, i ) instance, where as all other signals are unique variables in each instance. This ensures that only one coniguration will exist or all entries o the truth table. In the previous example, the pins on the programmable circuit in Fig. 3 are not permutable. Given the labeling convention in Fig. 3, the unction F = (x 1 + x 2 ) x 3 can be implemented; however, the unction F = (x 1 + x 3 ) x 2 cannot. There is no need or restricting the labeling o the input pins in this manner because most programmable circuits are able to route signals to any input pins. In order to model this lexibility, virtual multiplexers controlled by virtual coniguration bits, V p, are added at each input pin o the programmable circuit. Going back to the circuit shown in the last example, Fig. 5 illustrates the previous circuit with virtual multiplexers added at the input pins. Thus, i F = (x 1 +x 3 ) x 2 is to be mapped into this network then the virtual multiplexers would orce x 1 and x 3 onto the irst two pins o the circuit and x 2 to the third pin eeding the AND gate to generate a satisiable solution. In order to add the virtual multiplexers to the previous example, the virtual multiplexer characteristic unctions need to be added in Step 1, then the the process proceeds normally as previously shown. L 1 L 2 L 3 L LUT AND-GATE M 0 1 L 5 Vcc V 1, V 2, V 3 V 7, V 8, V 9 x x 1 2 x 3 V 5, V 6, V 7 Fig. 5. An example PLB with virtual multiplexers added. N G T otal = G circuit[ / 0, G/F 0, z 1/z 3, z 2/z 4] G circuit[ / 1, G/F 1, z 1/z 5, z 2/z 6] G circuit[ / 2, G/F 2, z 1/z 7, z 2/z 8] G circuit[ / 3, G/F 3, z 1/z 9, z 2/z 10] G circuit[ / 4, G/F 4, z 1/z 11, z 2/z 12] G circuit[ / 5, G/F 5, z 1/z 13, z 2/z 14] G circuit[ / 6, G/F 6, z 1/z 15, z 2/z 16] G circuit[ / 7, G/F 7, z 1/z 17, z 2/z 18] (8) 4.3. Application to PLB Evaluation PLB Evaluate 1 X GENERATECONES() 2 Y REMOVENOFITCONES() 3 F itp ercent (X Y )/X Fig. 6. An overview o the PLB evaluation algorithm.

5 Fig. 6 shows a high-level overview o our PLB evaluation algorithm. As stated previously, PLBs that can capture the unctionality o most cones ound in real circuits are desired since their non-programmable components will not be wasted. In order to help ind such PLBs, our tool can be used to return a PLB cone it percentage where a high it percentage is preerred. This it percentage is ound by taking extracting a set o cones rom a list o circuits (Fig. 6, line 1), then applying our QSAT decision step to remove cones that do not it in the given architecture (Fig. 6, line 2). By recording the number o cones generated and discared, a it percentage or various PLB architectures can be ound (Fig. 6, line 3). A version o the algorithm described in [6] is used to generate and store all K-easible cones in the graph. The K-easible cones are generated as the graph is traversed in topological order rom primary inputs to primary outputs. At every internal node v, new cones are generated by combining the cones at the input nodes. 5. RESULTS 5.1. Evaluation o Various PLBs To show the power o the PLB evaluation algorithm, several unrelated PLB architectures were evaluated. Fig. 7 shows the ive dierent PLB architectures used or evaluation. Circuit a b c d e C ex5p clma dalu des i x m misex mm30a mult16b % Fit Table 1. PLB it results. Conig Bits SAT (sec) QBF (sec) Table 2. SAT and QBF solver running times. (a)! "$#&% (b) '!( )$*&+ the total percentage o all cones that it. Note that the cone it percentage varies wildly or all PLBs depending on the circuit. This shows that PLB useulness is dependent on the application o the circuit. Interestingly, PLB (b) ailed or all circuits except the ALU circuit (C2670). A reason or this is because PLB (b) uses an XOR gate and XOR gates are very rare in most control circuits and are generally used or arithmetic logic.! "$#&% '!( )$*& QBF vs. SAT (c) (d) Fig. 7. PLB architectures. To evaluate the versatility o each PLB, a set o cones were extracted rom a list o circuits taken rom the MCNC benchmark suite [12] (approximately 1000 K-input cones per circuit, where K was the input size o the PLB). These cones were tested or PLB itting using the Cha [13] SAT solver. The circuits used were unrelated to generate a large set o dissimilar cones. The table shown in Tab. 1 shows the PLB it percentage o cones per circuit. The last row shows (e) In order to show the power o removing quantiiers in our QBF to produce a SAT problem as shown in Sec. 4.2, we ran a ew cone itting examples using a QBF solver and a SAT solver. The example used a 7-input unction realized with a 7-input PLB consisting o two cascaded 4-LUTs. An unsatisiable unction was selected so the entire search space was explored. Furthermore, the coniguration bits were preconigured to vary the size o the search space. This is shown in Tab. 2. Conig Bits shows the number o unconigured programmable bits in the circuit; SAT shows the Cha SAT solver [13] running times on a Sunblade 150 with 2.5 GB o RAM; and QBF shows the Quale QBF solver [14] running times on the same machine.

6 6. CONCLUSION AND FUTURE WORK This work represents only the irst step in the search or the optimal FPGA PLB. Our research will progress in two distinct areas. The irst is hardware acceleration or the PLB evaluation tool. QSAT is P-Space complete and thus takes a large amount o computation time even with advanced heuristics. The use o specialized hardware acceleration circuitry should speed up our technology mapping time by an order o magnitude or more or very complex PLB structures. Our second area o research involves an automatic method o chosing the FPGA PLBs to explore. We are exploring a genetic algorithm that can create candidate PLBs rom primitive elements such as lookup tables, basic gates, multiplexers and adder structures. In addition to the presentation o QBF applications to FPGAs, we have shown this class o problem that arises in this work is very diicult or QBF solvers. In act, it seems that a naive translation to SAT is a ar better approach than the QBF representation. We hope to provide a number o benchmarks that will help to drive the development o an eicient QBF solver. 7. REFERENCES [1] Altera, Component selector guide ver 14.0, [2] Xilinx, Virtex-ii complete data sheet ver 3.3, [3] Arrow Electronics. [Online]. Available: [4] J. Cong and Y. Ding, An optimal technology mapping algorithm or delay optimization in lookup-table based FPGA designs, IEEE Transactions on Computer- Aided Design, vol. 13, no. 1, pp. 1 13, Jan [5], On area/depth trade-o in LUT-based FPGA technology mapping, in Design Automation Conerence, 1993, pp [Online]. Available: citeseer.ist.psu.edu/cong94areadepth.html [6] J. Cong, C. Wu, and Y. Ding, Cut ranking and pruning: enabling a general and eicient pga mapping solution, in Proceedings o the 1999 ACM/SIGDA seventh international symposium on Field programmable gate arrays. ACM Press, 1999, pp [7] I. Levin and R. Y. Pinter, Realizing Expression Graphs using Table-Lookup FPGAs, in Proceedings o the European Design Automation Conerence, 1993, pp [8] A.Kaviani and S. Brown, The hybrid ield programmable architecture, IEEE Design and Test, pp , April June [9] J. Cong and Y.-Y. Hwang, Boolean matching or lutbased logic blocks with applications to architecture evaluation and technology mapping, IEEE Transactions on Computer-Aided Design, vol. 20, no. 9, pp , [10] T. Larrabee, Test Pattern Generation Using Boolean Satisiablity, IEEE Transactions on Computer-Aided Design, vol. 11, no. 1, pp. 6 22, [Online]. Available: citeseer.ist.psu.edu/larrabee92test.html [11] D. Tang, Y. Yu, D. P. Ranjan, and S. Malik, Analysis o search based algorithms or satisiability o quantiied boolean ormulas arising rom circuit state space diameter problems, in SAT 04: The Seventh International Conerence on Theory and Applications o Satisiability Testing, May 2004, pp [12] S. Yang, Logic synthesis and optimization benchmarks user guide version, [Online]. Available: citeseer.ist.psu.edu/yang91logic.html [13] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik, Cha: Engineering an Eicient SAT Solver, in Proceedings o the 38th Design Automation Conerence (DAC 01), [Online]. Available: citeseer.ist.psu.edu/moskewicz01cha.html [14] L. Zhang and S. Malik, Conlict driven learning in a quantiied boolean satisiability solver, in ICCAD 02: Proceedings o the 2002 IEEE/ACM international conerence on Computer-aided design. ACM Press, 2002, pp

FPGA Programmable Logic Block Evaluation using. Quantified Boolean Satisfiability

FPGA Programmable Logic Block Evaluation using. Quantified Boolean Satisfiability FPGA Programmable Logic Block Evaluation using Quantified Boolean Satisfiability Andrew C. Ling, Deshanand P. Singh, and Stephen D. Brown, December 12, 2005 Abstract This paper describes a novel Field

More information

FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability

FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. X, NO. XX, APRIL 2005 1 FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability

More information

Efficient SAT-based Boolean Matching for FPGA Technology Mapping

Efficient SAT-based Boolean Matching for FPGA Technology Mapping Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu

More information

Field-Programmable Gate Array Logic Synthesis Using Boolean Satisfiability. Andrew C. Ling

Field-Programmable Gate Array Logic Synthesis Using Boolean Satisfiability. Andrew C. Ling Field-Programmable Gate Array Logic Synthesis Using Boolean Satisfiability by Andrew C. Ling A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate

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

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures 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

More information

Structural Gate Decomposition for Depth- Optimal Technology Mapping in LUT- Based FPGA Designs

Structural Gate Decomposition for Depth- Optimal Technology Mapping in LUT- Based FPGA Designs Structural Gate Decomposition or Depth- Optimal Technology Mapping in LUT- Based FPGA Designs JASON CONG and YEAN-YOW HWANG Uniersity o Caliornia In this paper we study structural gate decomposition in

More information

Watching Clauses in Quantified Boolean Formulae

Watching Clauses in Quantified Boolean Formulae Watching Clauses in Quantified Boolean Formulae Andrew G D Rowley University of St. Andrews, Fife, Scotland agdr@dcs.st-and.ac.uk Abstract. I present a way to speed up the detection of pure literals and

More information

On Resolution Proofs for Combinational Equivalence Checking

On Resolution Proofs for Combinational Equivalence Checking On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

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

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

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

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

Neighbourhood Operations

Neighbourhood Operations Neighbourhood Operations Neighbourhood operations simply operate on a larger neighbourhood o piels than point operations Origin Neighbourhoods are mostly a rectangle around a central piel Any size rectangle

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

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

Design Diagnosis Using Boolean Satisfiability

Design Diagnosis Using Boolean Satisfiability Design Diagnosis Using Boolean Satisfiability Alexander Smith Andreas Veneris Anastasios Viglas University of Toronto University of Toronto University of Toronto Dept ECE Dept ECE and CS Dept CS Toronto,

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving

Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving ASP-DAC 2013 Albert-Ludwigs-Universität Freiburg Matthias Sauer, Sven Reimer, Ilia Polian, Tobias Schubert, Bernd Becker Chair

More information

13. Power Optimization

13. Power Optimization 13. Power Optimization May 2013 QII52016-13.0.0 QII52016-13.0.0 The Quartus II sotware oers power-driven compilation to ully optimize device power consumption. Power-driven compilation ocuses on reducing

More information

Logic Debugging of Arithmetic Circuits

Logic Debugging of Arithmetic Circuits Logic Debugging o Arithmetic Circuits Samaneh Ghandali, Cunxi Yu, Duo Liu, Walter Brown, Maciej Ciesielski University o Massachusetts, Amherst, USA {samaneh, ycunxi, duo, webrown, ciesiel}@umass.edu Abstract

More information

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)

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 Technology Mapping: A Study of Optimality

FPGA Technology Mapping: A Study of Optimality FPGA Technoloy Mappin: A Study o Optimality Andrew Lin Department o Electrical and Computer Enineerin University o Toronto Toronto, Canada alin@eec.toronto.edu Deshanand P. Sinh Altera Corporation Toronto

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

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

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets ASP-DAC 2007 Yokohama Combinational Equivalence Checking Using Incremental SAT Solving, Output ing, and Resets Stefan Disch Christoph Scholl Outline Motivation Preliminaries Our Approach Output ing Heuristics

More information

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm Int J Contemp Math Sciences, Vol 6, 0, no 0, 45 465 A Proposed Approach or Solving Rough Bi-Level Programming Problems by Genetic Algorithm M S Osman Department o Basic Science, Higher Technological Institute

More information

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices Deshanand P. Singh Altera Corporation dsingh@altera.com Terry P. Borer Altera Corporation tborer@altera.com

More information

Piecewise polynomial interpolation

Piecewise polynomial interpolation Chapter 2 Piecewise polynomial interpolation In ection.6., and in Lab, we learned that it is not a good idea to interpolate unctions by a highorder polynomials at equally spaced points. However, it transpires

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

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

Versatile SAT-based Remapping for Standard Cells

Versatile SAT-based Remapping for Standard Cells Versatile SAT-based Remapping for Standard Cells Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton@berkeley.edu Thierry Besson Sriram Govindarajan Harm Arts Paul van Besouw

More information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning Techniques for Pseudo-Boolean Solving and Optimization Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability

More information

Combining Module Selection and Replication for Throughput-Driven Streaming Programs

Combining Module Selection and Replication for Throughput-Driven Streaming Programs Combining Module Selection and Replication or Throughput-Driven Streaming Programs Jason Cong, Muhuan Huang, Bin Liu, Peng Zhang and Yi Zou Computer Science Department, University o Caliornia, Los Angeles

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

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 Electrical Engineering Dept. Univ. of California Los Angeles Los Angeles, CA 90095 hu@ee.ucla.edu Satyaki Das

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

On Resolution Proofs for Combinational Equivalence

On Resolution Proofs for Combinational Equivalence 33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM UDC 681.3.06 MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM V.K. Pogrebnoy TPU Institute «Cybernetic centre» E-mail: vk@ad.cctpu.edu.ru Matrix algorithm o solving graph cutting problem has been suggested.

More information

Optimized Implementation of Logic Functions

Optimized Implementation of Logic Functions June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

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

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation Shigeru Yamashita Hiroshi Sawada Akira Nagoya NTT Communication Science Laboratories 2-4, Hikaridai,

More information

Chapter 3 Image Enhancement in the Spatial Domain

Chapter 3 Image Enhancement in the Spatial Domain Chapter 3 Image Enhancement in the Spatial Domain Yinghua He School o Computer Science and Technology Tianjin University Image enhancement approaches Spatial domain image plane itsel Spatial domain methods

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

Sequential Logic Rectifications with Approximate SPFDs

Sequential Logic Rectifications with Approximate SPFDs Sequential Logic Rectifications with Approximate SPFDs Yu-Shen Yang 1, Subarna Sinha, Andreas Veneris 1, Robert K. Brayton 3, and Duncan Smith 4 1 Dept. of ECE, University of Toronto, Toronto, Canada.

More information

Mapping-Aware Constrained Scheduling for LUT-Based FPGAs

Mapping-Aware Constrained Scheduling for LUT-Based FPGAs Mapping-Aware Constrained Scheduling for LUT-Based FPGAs Mingxing Tan, Steve Dai, Udit Gupta, Zhiru Zhang School of Electrical and Computer Engineering Cornell University High-Level Synthesis (HLS) for

More information

Generating efficient libraries for use in FPGA re-synthesis algorithms

Generating efficient libraries for use in FPGA re-synthesis algorithms Generating efficient libraries for use in FPGA re-synthesis algorithms Andrew Kennings, University of Waterloo Alan Mishchenko, UC Berkeley Kristofer Vorwerk, Val Pevzner, Arun Kundu, Actel Corporation

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 09 MULTIPLEXERS OBJECTIVES: To experimentally verify the proper operation of a multiplexer.

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

Using Synthesis Techniques in SAT Solvers

Using Synthesis Techniques in SAT Solvers 1. Introduction Using Synthesis Techniques in SAT Solvers Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany drechsle@informatik.uni-bremen.de Abstract In many application

More information

TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS

TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS Zoltan Baruch E-mail: Zoltan.Baruch@cs.utcluj.ro Octavian Creţ E-mail: Octavian.Cret@cs.utcluj.ro Kalman Pusztai E-mail: Kalman.Pusztai@cs.utcluj.ro Computer

More information

Altera FLEX 8000 Block Diagram

Altera FLEX 8000 Block Diagram Altera FLEX 8000 Block Diagram Figure from Altera technical literature FLEX 8000 chip contains 26 162 LABs Each LAB contains 8 Logic Elements (LEs), so a chip contains 208 1296 LEs, totaling 2,500 16,000

More information

Efficient Self-Reconfigurable Implementations Using On-Chip Memory

Efficient Self-Reconfigurable Implementations Using On-Chip Memory 10th International Conference on Field Programmable Logic and Applications, August 2000. Efficient Self-Reconfigurable Implementations Using On-Chip Memory Sameer Wadhwa and Andreas Dandalis University

More information

Unrestricted Nogood Recording in CSP search

Unrestricted Nogood Recording in CSP search Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.

More information

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources An Eicient Coniguration Methodology or Time-Division Multiplexed Single Resources Benny Akesson 1, Anna Minaeva 1, Přemysl Šůcha 1, Andrew Nelson 2 and Zdeněk Hanzálek 1 1 Czech Technical University in

More information

Chapter 6 Combinational-Circuit Building Blocks

Chapter 6 Combinational-Circuit Building Blocks Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer

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

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

FPGA architecture and design technology

FPGA architecture and design technology CE 435 Embedded Systems Spring 2017 FPGA architecture and design technology Nikos Bellas Computer and Communications Engineering Department University of Thessaly 1 FPGA fabric A generic island-style FPGA

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

Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs

Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown Department of Electrical and Computer Engineering, University of Toronto, Toronto,

More information

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Local Two-Level And-Inverter Graph Minimization without Blowup

Local Two-Level And-Inverter Graph Minimization without Blowup Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,

More information

PAPER Accelerating Boolean Matching Using Bloom Filter

PAPER Accelerating Boolean Matching Using Bloom Filter IEICE TRANS. FUNDAMENTALS, VOL.E93 A, NO.10 OCTOBER 2010 1775 PAPER Accelerating Boolean Matching Using Bloom Filter Chun ZHANG, Member,YuHU, Lingli WANG a),leihe b), and Jiarong TONG, Nonmembers SUMMARY

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

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013) Introduction to Programmable Logic Devices (Class 7.2 2/28/2013) CSE 2441 Introduction to Digital Logic Spring 2013 Instructor Bill Carroll, Professor of CSE Today s Topics Complexity issues Implementation

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

More information

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Automated Planning or Feature Model Coniguration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević 2, Marek Hatala 1, Ebrahim Bagheri 2 1 Simon Fraser

More information

Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm

Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm Wang Yan-ping 1, Wubing 2 1. School o Electric and Electronic Engineering, Shandong University o Technology, Zibo 255049,

More information

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation. ISSN 2319-8885 Vol.03,Issue.32 October-2014, Pages:6436-6440 www.ijsetr.com Design and Modeling of Arithmetic and Logical Unit with the Platform of VLSI N. AMRUTHA BINDU 1, M. SAILAJA 2 1 Dept of ECE,

More information

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

More information

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes. Topics! SRAM-based FPGA fabrics:! Xilinx.! Altera. SRAM-based FPGAs! Program logic functions, using SRAM.! Advantages:! Re-programmable;! dynamically reconfigurable;! uses standard processes.! isadvantages:!

More information

2. Design Planning with the Quartus II Software

2. Design Planning with the Quartus II Software November 2013 QII51016-13.1.0 2. Design Planning with the Quartus II Sotware QII51016-13.1.0 This chapter discusses key FPGA design planning considerations, provides recommendations, and describes various

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

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

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

3-D TERRAIN RECONSTRUCTION WITH AERIAL PHOTOGRAPHY

3-D TERRAIN RECONSTRUCTION WITH AERIAL PHOTOGRAPHY 3-D TERRAIN RECONSTRUCTION WITH AERIAL PHOTOGRAPHY Bin-Yih Juang ( 莊斌鎰 ) 1, and Chiou-Shann Fuh ( 傅楸善 ) 3 1 Ph. D candidate o Dept. o Mechanical Engineering National Taiwan University, Taipei, Taiwan Instructor

More information

Design and Realization of user Behaviors Recommendation System Based on Association rules under Cloud Environment

Design and Realization of user Behaviors Recommendation System Based on Association rules under Cloud Environment Research Journal o Applied Sciences, Engineering and Technology 6(9): 1669-1673, 2013 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientiic Organization, 2013 Submitted: January 19, 2013 Accepted: March

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A Boolean Paradigm in Multi-Valued Logic Synthesis A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,

More information

Improvements to Technology Mapping for LUT-Based FPGAs

Improvements to Technology Mapping for LUT-Based FPGAs Improvements to Technology Mapping for LUT-Based FPGAs Alan Mishchenko Satrajit Chatterjee Robert Brayton Department of EECS, University of California, Berkeley {alanmi, satrajit, brayton}@eecs.berkeley.edu

More information

An Introduction to SAT Solvers

An Introduction to SAT Solvers An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,

More information

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information. Registers Readings: 5.8-5.9.3 Storage unit. Can hold an n-bit value Composed of a group of n flip-flops Each flip-flop stores 1 bit of information ff ff ff ff 178 Controlled Register Reset Load Action

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

Symbolic System Synthesis in the Presence of Stringent Real-Time Constraints

Symbolic System Synthesis in the Presence of Stringent Real-Time Constraints Symbolic System Synthesis in the Presence o Stringent Real-Time Constraints Felix Reimann, Martin Lukasiewycz, Michael Glass, Christian Haubelt, Jürgen Teich University o Erlangen-Nuremberg, Germany {elix.reimann,glass,haubelt,teich}@cs.au.de

More information

Breakup Algorithm for Switching Circuit Simplifications

Breakup Algorithm for Switching Circuit Simplifications , No.1, PP. 1-11, 2016 Received on: 22.10.2016 Revised on: 27.11.2016 Breakup Algorithm for Switching Circuit Simplifications Sahadev Roy Dept. of ECE, NIT Arunachal Pradesh, Yupia, 791112, India e-mail:sdr.ece@nitap.in

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

AN ACCELERATOR FOR FPGA PLACEMENT

AN ACCELERATOR FOR FPGA PLACEMENT AN ACCELERATOR FOR FPGA PLACEMENT Pritha Banerjee and Susmita Sur-Kolay * Abstract In this paper, we propose a constructive heuristic for initial placement of a given netlist of CLBs on a FPGA, in order

More information

Global Caching, Inverse Roles and Fixpoint Logics

Global Caching, Inverse Roles and Fixpoint Logics Global Caching, Inverse Roles and Fixpoint Logics Rajeev Goré Logic and Computation Group College o Engineering and Computer Science The Australian National University Canberra ACT 0200, Australia Abstract.

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor

A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor A Novel Carry-look ahead approach to an Unified BCD and Binary Adder/Subtractor Abstract Increasing prominence of commercial, financial and internet-based applications, which process decimal data, there

More information

Using VCS with the Quartus II Software

Using VCS with the Quartus II Software Using VCS with the Quartus II Sotware December 2002, ver. 1.0 Application Note 239 Introduction As the design complexity o FPGAs continues to rise, veriication engineers are inding it increasingly diicult

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

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

FAST time-to-market, steadily decreasing cost, and

FAST time-to-market, steadily decreasing cost, and IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 10, OCTOBER 2004 1015 Power Estimation Techniques for FPGAs Jason H. Anderson, Student Member, IEEE, and Farid N. Najm, Fellow,

More information

DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs

DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jason Cong Computer Science Department University of California, Los Angeles {demingc, cong}@cs.ucla.edu ABSTRACT

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