JHDLBits: The Merging of Two Worlds
|
|
- Muriel Mathews
- 5 years ago
- Views:
Transcription
1 JHDLBits: The Merging of Two Worlds Alexandra Poetter 1, Jesse Hunter 1, Cameron Patterson 1, Peter Athanas 1, Brent Nelson 2, and Neil Steiner 1 1 Configurable Computing Lab, Virginia Tech, Blacksburg, VA 24061, USA {apoetter, jehunte3, cdp, athanas, nsteiner}@vt.edu, 2 Configurable Computing Lab, Brigham Young University, Provo, UT 84602, USA nelson@ee.byu.edu Abstract. This paper introduces JHDLBits, the integration of two prominent FPGA design tools: JHDL and JBits. JHDLBits offers the low-level access and control provided by JBits with the high-level structural circuit design of JHDL. Furthermore, the JHDLBits flow provides greater control of resource manipulation, placement, and routing, and gives researchers a sandbox to explore advanced interactions with FPGA bitstreams. This paper presents the overall architecture of the open-source JHDLBits project. Details are provided on how the core components - JHDL, JBits3 for Virtex-II, and the ADB connectivity database - are linked together to provide a cohesive design environment. 1 Introduction Investigators involved in FPGA-related research often require a testbed for exploring and evaluating new tools, new algorithms, and new ways to interact with FPGA bitstreams. Historically, this has often proven to be a difficult task. Exceptional exploratory environments have been created, such as VPR by Betz and Rose [1] that provide realistic models of FPGAs. With the infrastructure created by VPR, researchers could determine the effects of, for example, placement enhancements on wire length. The relevance of such exploration was sometimes diminished since the results from the experimental environment could not be definitively confirmed on a real FPGA since FPGA vendors tend to be secretive on the low-level architectural details of their products. Many languages, IDEs, and compilers have emerged in recent years that offer interesting environments for creating FPGA bitstreams, but most rely on the FPGA vendors implementation flows to map, place, and route the final design. The authors of JBits [2] addressed this problem to a certain degree by providing an API to the FPGA bitstream. As a result, researchers were empowered with the ability to manipulate FPGA resources at the lowest level. With JBits, researchers could develop, say, their own FPGA router, and test it on real devices. JBits also enabled researchers to interact with FPGAs in ways prohibited by the vendor s prescribed implementation tool flow. While JBits was in many ways an enabling technology for exploring nontraditional uses of FPGAs, the abstraction presented to the developer was at a
2 fairly low level (at least in early versions of JBits), and sometimes required detailed architectural knowledge. In contrast to this, tools such as Brigham Young s JHDL [3] use a much higher level of abstraction, often making it a more conducive environment for large application development. JHDLBits is an open-source endeavor striving to merge the salient features of these two prominent FPGA research environments. JHDLBits blends the lowlevel control of JBits with the high-level design abstractions of JHDL. Users can take advantage of the run-time and partial reconfiguration features of JBits without having to work entirely at the bitstream level. Furthermore, full control over placement and routing is still possible. The JHDLBits project consists of a collection of tightly integrated components that together provide an end-toend pathway for creating, manipulating, and debugging FPGA bitstreams. More importantly, because most of the components of this project are open-source, researchers investigating architecture-specific placers/planners/routers/compilers have the advantage of replacing the stock JHDLBits components at will. JHDLBits integrates JBits low-level bit manipulation capabilities into the JHDL integrated development environment. The extensible JHDL netlister has been modified to produce bitstreams directly. The JHDL debugger communicates to a target FPGA through JBits XHWIF [4]. JHDL is naturally extended so that instead of generating an EDIF file, which is run through the traditional vendor tools to generate a bitstream, the primitive and net information is extracted into a database that is suitable for JBits to process. A bitstream is created by elaborating, placing, and routing the corresponding JBits primitives all within the JHDLBits environment. Figure 1 illustrates the components that collectively make up the JHDLBits project. Fig. 1. Relationships of the open source constituents of JHDLBits This paper presents the overall architecture of the JHDLBits project. Details are provided on how the core components - JHDL, JBits3 for Virtex-II, and the
3 ADB connectivity database [5] - are linked together to provide a cohesive design environment. Sections 2, 3, and 4 provide background information on JHDL, JBits, and ADB, respectively. Section 5 introduces the FPGA device simulator that can be used to verify the JHDLBits design. The architecture of JHDLBits is discussed in Section 6. A JHDLBits design implementation and results are included in Section 7 and Appendix A. 2 JHDL JHDL is a Java-based design language for FPGAs developed at Brigham Young University. Java was selected because it is object-oriented, easy to use, has builtin documentation capabilities, is portable, and has a rich set of GUI APIs that are integral to the language. The primary distinction of JHDL is the creation of a single integrated API that allows the designer to express circuit organizations that dynamically change over time [3]. JHDL [10] is a structural HDL - that is, circuits are described by structurally instantiating lower-level building blocks. In JHDL, two basic Java classes form the basis for all circuits: Logic and Wire. Designers create a new logic cell in their design by extending Logic (creating a new class), defining a cell interface (essentially a VHDL entity declaration), and defining the architecture of the cell (essentially a VHDL architecture body). Wires support an API for creation and manipulation: users can create single- or multi-bit wires, and concatenate or extract wires from existing wires. The body of a design instantiates predefined circuit modules selected from the JHDL design libraries. The JHDL design libraries were created in a layered fashion and range from a library of Xilinx primitives such as gates and flip flops, to parameterized logic generator methods, to technology-independent and technology-specific module generators for the creation of larger elements (such as counters, memories, floating point arithmetic modules, CORDIC units, FFTs). JHDL circuit descriptions are based on Java; thus the full range of Java language features are available to construct the circuit. These features include file I/O, recursion, control flow constructs (for, while, do loops), functions, user-defined types (objects), and reflection. A key feature of JHDL is its ability to operate in either simulation or hardware mode. When in simulation mode, the values of all elements in the circuit data structure are computed by the JHDL simulator. However, JHDL also supports a hardware-in-the-loop mode of execution. In this case, starting execution of the circuit downloads a bitstream to the FPGA platform, and stepping the clock triggers a clock step on the actual hardware. Between clock steps, bitstream readback extracts the hardware state, which is back annotated into the circuit data structure for graphical display. As a result, the same GUI interface and tools can be used for debugging in either in simulation mode or hardware execution mode. This simplifies the transition from simulation to hardware debug, and streamlines the development process. Figure 2 presents a screen capture of the JHDL GUI.
4 Fig. 2. JHDL graphical user interface screen shot 3 JBits Background and Enhancements JBits is a collection of Java classes that build upon an API that provides access to every configurable resource in a Xilinx FPGA. The JBits3 SDK [9] is the latest release from Xilinx that provides support for the Virtex-II FPGA family. This API permits device resources to be programmed and probed individually at run-time, even with the FPGA active in a working system. This interface operates on either bitstreams generated by Xilinx design tools, or on bitstreams read back from actual hardware. Through this mechanism, JBits supports the run-time reconfiguration of Xilinx FPGAs. For JHDL to function with JBits, several extensions and enhancements were needed. A bridging object, called the Bitstream class, was created to allow abstract access to both the JBits and router objects, enabling the creation of primitives without dependencies on architecture-specific classes. The Net class was extended to allow the connection of primitives by maintaining a list of the source and sink pins that form a net. To bridge the gap between JHDL and JBits, a library of primitive cores was created that map the JHDL primitives directly to the FPGA fabric. For completeness, each JHDL primitive requires a corresponding JBits primitive. The primitives created for JHDLBits have one constructor specifically designed for the JHDL-to-JBits flow, with the other constructors catering to a JBits-only
5 design flow. A primitive requires two pieces of information to be implemented: a list of input and output nets, and placement information. The primitive uses the placement location to assign source and sink pins to the associated nets, and then accesses the JBits object from the Bitstream class to configure the internal logic and resources using JBits calls. 4 ADB Background ADB is an alternate wire database for Xilinx Virtex, Virtex-E, Virtex-II, and Virtex-II Pro FPGAs [6]. Its purpose is to provide exhaustive coverage of device wiring and connectivity, while remaining fast, compact, and compatible with JBits. The exhaustive coverage is derived from the same proprietary data that the Xilinx mainstream tools use, and presents an improvement over the coverage available in past and present JBits wire databases. In addition, the database files used by ADB are more than an order of magnitude smaller than their counterparts in the mainstream tools. Although ADB is primarily a wire database, it also includes support services for routing, unrouting, and tracing. These interfaces are publicly exposed, so they can be extended or replaced as necessary by the user. An ADB-based router is included with JHDLBits, and is based on a robust search algorithm enhanced with heuristics suited to each FPGA family. The unrouter provides services not normally found in static tool flows, by allowing the user to disconnect existing nets, in order to reconnect other nets at runtime. This may be especially useful in embedded systems that have to dynamically reconfigure themselves [7]. The tracer may also be used to support reconfiguration, by inferring connectivity information from a configuration bitstream, in order to safely modify designs without causing contention. Because JBits 3.0 ships without a router, ADB currently provides the only routing option available to JBits users. However, ADB may also be of interest to researchers wanting to evaluate routing algorithms with wiring data from commercial FPGAs. In the context of JHDLBits, the ADB router simply implements RouterInterface as defined by JBits, which makes it reasonable to plug ADB into the project without concern for its inner workings. 5 FPGA Device Simulator Included in the JHDLBits project is the design of a Virtex-II device simulator (VTsim) [11]. Initially, a functional simulator has been created using a globally synchronous event-driven model with CLB granularity. The simulator can be used as part of the JHDLBits design flow, but can also function independently because it only requires a bitstream as input. The simulator first invokes the ADB tracer on the bitstream to be simulated. After the tracer builds a database of all internal connections, the simulator constructs the netlist from this information. An optional JHDLBits simulation file can be used to provide the simulator with specific information such as net
6 z z names and placement information. A simulation cycle begins with the evaluation of all clocked elements within the CLBs, followed by the evaluation of all nonclocked elements. Upon completion of a simulation cycle, the simulator can either write the updated results back to a bitstream, or allow GUI access to the modified information. It should be noted that this simulator can simulate any Virtex-II bitstream, regardless of the flow used to create the bitstream. 6 JHDLBits Design Flow The traditional JHDL design flow produces an EDIF file, which is used by the Xilinx implementation tools to generate a bitstream. The JHDLBits flow instead relies upon JBits extensions to generate a bitstream. A high-level design is created and simulated with JHDL libraries and graphical debugging tools. The JHDL primitives, instances, and nets are extracted and mapped to equivalent JBits primitives and nets. JBits primitives are placed using either placement directives or an extendable placement algorithm, and then routed using ADB. A bitstream is generated, along with net and simulator files. Figure 3 shows the steps involved in the JHDLBits design flow. JHDL Design ADB Netlist JHDLBits TechMapper ADB Router JHDLBits Extractor extract primitive information Nets Dimensions Instances Placement Directives Placer VTsim Virtex-II Device Simulator Builder create JBits ULPrimitives Bitstream JHDLBits JBits Fig. 3. JHDLBits design flow The first step in the JHDLBits design flow is the JHDLBitsTechMapper. The JHDLBitsTechMapper extends the JHDL Virtex2TechMapper by overriding the netlist method, which invokes the JHDLBitsExtractor instead of the EDIFNetlister. Overriding device specific helper methods, such as add and subtract, allows for more optimized primitives.
7 The JHDLBitsExtractor uses JHDL libraries such as the Cell and Net classes to extract primitive, instance and net information, which are stored in HashMap collections. The primitive HashMap contains the ports and directions, and the instance HashMap contains the associated primitive, nets, and dimensions. The net HashMap contains ports of the net and a JBits net of the same name. The instance HashMap is then iterated in order to specify placement of the instances. The default placement algorithm stores the assigned CLB, slice, LUT, and LE (logic element) to the instance HashMap. The assigned coordinate information is also maintained for an instance that is ExternallyUpdateable, which refers to a JHDL cell (flip-flops, memories, etc.) that changes value and can be read back using the JHDL simulator in hardware execution mode. A JBits primitive is now created for each instance. Once all of the JBits primitives have been created, a router utilizing the connectivity information in ADB routes all nets connected to the JBits primitives. After the design has been successfully routed, JBits is used to generate a bitstream. JHDLBits and VTsim tie into the JHDL simulator through the JHDL HardwareInterface. VTsim is given the bitstream generated, along with coordinate information for the cells that are ExternallyUpdateable, and returns values for these cells after each clock cycle. The updated values are displayed in the JHDL GUI interface. Partial reconfiguration will be supported in JHDLBits through an incremental design flow. In an incremental design methodology, a user has completed part of a design, and would like to lock it down by no longer having to repeatedly place and route this part of the design. This would be accomplished by including a reserved area with defined inputs and outputs into the current JHDL design. This design is run through the JHDLBitsExtractor, but the placer and router are constrained to avoid the reserved area. At a later time, the user can then include additional logic into the reserved area, and once again run through the JHDLBitsExtractor in order to generate a bitstream. 7 JHDLBits Implementation and Results JHDLBits has been used to generate bitstreams for simple JHDL designs such as the following partial NBitAdder code: 1 // Simple model of a simple parameterized n-bit adder: 2 Wire carries = wire(width); // Intermediate carry wires 3 for (int i=0; i < width; i++) { 4 if (i==0) 5 new FullAdder(this,a.gw(i),b.gw(i),gnd(), 6 sum.gw(i), carries.gw(0)); 7 else 8 new FullAdder(this, a.gw(i), b.gw(i), carries.gw(i-1), 9 sum.gw(i), carries.gw(i)); 10 } Once the above design is compiled, the user needs to wire the NBitAdder design into the top-level system as shown below:
8 1 public class tb nbitadder extends Logic implements TestBench { 2 static JBitsTechMapper tm; 3 static Cell mynadd; 4 static HWSystem hw; 5 6 public static void main(string args[]) { 7 hw = new HWSystem(); // create a new system 8 tb nbitadder tb = new tb nbitadder(hw); 9 tm.netlist(mynadd, true, "testnbitadd.txt"); 10 } 11 public tb nbitadder(node parent) { 12 super(parent); 13 tm = new JBitsTechMapper(); 14 Logic.setDefaultTechMapper(tm); 15 Wire a = wire(4, "a"); 16 Wire b = wire(4, "b"); 17 Wire sum = wire(4, "sum"); 18 mynadd = new NBitAdder(this, a, b, sum); // connect 19 } // NBitAdder design 20 } Lines 2 and 13 indicate how JHDLBits is invoked from a JHDL design. As previously mentioned, the JHDLBitsBitsTechMapper netlist method calls the JHDLBitsExtractor instead of the EDIFNetlister. The JHDLBitsExtractor obtains all the information required from the JHDL design to create, place and route JBits primitives. A bitstream is then generated. The output generated for this sample run is included in Appendix A. As shown at the start of the output file, the ADB database is imported for the Virtex-II XC2V40 device. Next, the JHDLBitsExtractor begins traversing the hierarchical logic blocks at the top-level NBitAdder cell, and then through all successive children. When a new gnd or and2 primitive is encountered, the ports and directions are stored. The specific instance information of the gnd and and2 primitives is also retained. This is done recursively for all primitives and instances. Next, the b<1> net, then all remaining nets are extracted and converted to JBits nets. The placer assigns CLB, slice, LUT, and LE (logic elements) locations for each instance. After placement, JBits primitives are created, such as the and2, and associated nets are assigned source and sink pins. An example is the FullAdder-3/and_out-2 net, which is assigned to pin CLB.X1[0][2]. This pin refers to the X output in CLB row zero, column two, slice one. Once all JBits primitives are created and pins assigned, ADB is invoked to route the nets. Finally, a bitstream is generated. A few pertinent statistics are placements per second, and routes per second. The average placement rate is 512 primitives in 11 milliseconds, or 46,545 primitives per second. Please note that this design was run using a simple placer. A 100% utilization stress test on a Pentium 3.2 GHz processor running Sun Java HotSpot(tm) Client VM (build b05, mixed mode) yielded the ADB routing results in Table 1. The stress test consisted of a design that filled up every LE in the FPGA device with logic gates, which were then routed in a random fashion. Table 1. ADB routing performance for a 100% utilization stress test Device Route Time Total Nets Total Wires Nets/sec Wires/sec XC2V40 5,462 ms , ,813 XC2V500 80,865 ms 6, , ,130 XC2V ,080 ms 28,671 2,479, ,916
9 8 Conclusions and Future Work A major goal of the JHDLBits project has been to retain the properties and philosophies of JBits. Following this principle, it is essential to provide the ability to reconfigure the device through the JHDLBits design flow. This area is important and will be addressed in the near future. Another goal is to allow for partitioning of the design, so that the user can run part of the JHDL design through the mainstream tools and part through JBits via the JHDLBits extractor. The developers would like to investigate using JHDLBits in an embedded system, possibly using a small subset of JHDL and ADB rewritten in a language other than Java to reduce memory usage. In the current version of JHDLBits, placement is performed in a greedy suboptimal manner. Placement directives inherent in JHDL along with cell properties are currently being investigated and may possibly need refinement. Controlled placement will allow the user to identify a specific location in the device, permitting easier debugging as well as optimizing performance. The placer could potentially benefit from the use of previously designed placement algorithms, such as a core-based incremental placement algorithm [8]. Additional work is also needed to complete the JBits primitive library. The net interaction with the router must be improved to decrease memory usage and reduce routing time. The device simulator will continue to be developed in order to become more robust. It has been successfully applied to small static designs. The next step in the simulator design is to decrease memory usage, improve execution time, and provide a more flexible interface between JHDL and the router. The JHDLBits source code along with additional information can be found at 9 Acknowledgements This project is supported by a grant from Xilinx, Inc.; JBits (Xilinx and Virginia Tech) and JHDL (Brigham Young University) were both funded under the DARPA ACS program. References 1. V. Betz and J. Rose, VPR: A New Packing, Placement and Routing Tool for FPGA Research, International Workshop on Field Programmable Logic and Applications, pages , September S. A. Guccione and D. Levi, XBI: A Java-based interface to FPGA hardware, Configurable Computing Technology and its uses in High Performance Computing, DSP and Systems Engineering, Proc. SPIE Photonics East, J. Schewel (Ed.), SPIE - The International Society for Optical Engineering, volume 3526, pages , Bellingham, WA, November B. Hutchings, P. Bellows, J. Hawkins, S. Hemmert, B. Nelson, and M. Rytting, A CAD Suite for High-Performance FPGA Design, Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines, pages 12 24, Napa, CA, April 1999.
10 4. D. Levi and S. A. Guccione, BoardScope: A Debug Tool for Reconfigurable Systems, Configurable Computing Technology and its uses in High Performance Computing, DSP and Systems Engineering, Proc. SPIE Photonics East, J. Schewel (Ed.), SPIE - The International Society for Optical Engineering, volume 3526, pages , Bellingham, WA, November N. Steiner, A Standalone Wire Database for Routing and Tracing in Xilinx Virtex, Virtex-E, and Virtex-II FPGAs, Master s thesis, Virginia Tech, August N. Steiner, An Alternate Wire Database for Xilinx FPGAs, Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines, Napa, CA, April R. Fong, S. Harper, and P. Athanas, A Versatile Framework for FPGA Field Updates: An Application of Partial Self-Reconfiguration, Proceedings of the 14th IEEE International Workshop on Rapid System Prototyping, pages , San Diego, CA, June J. Ma, Incremental Design Techniques with Non-Preemptive Refinement for Million-Gate FPGAs, Doctoral dissertation, Virginia Tech, January The JBits SDK, Xilinx, Inc., The JHDL Home Page, Brigham Young University, J. Hunter, A Device-Level FPGA Simulator, Master s thesis, Virginia Tech, June Appendix A: Sample JHDLBits Run (Partial Listing) 1 Opening ADB database...edu\vt\adb\virtex2\xc2v40.db... 2 In JBitsExtractor expand function. 3 cell NBitAdder 4 In JBitsExtractor expand function. 5 cell gnd 6 In JBits extractprimitive function. 7 (port GROUND (direction 1)) 8 In JBits extractinstance function. 9 Instance Name gnd-1 10 cellref gnd 11 In JBitsExtractor expand function. 12 cell and2 13 In JBits extractprimitive function. 14 (port i0 (direction 0)) 15 (port i1 (direction 0)) 16 (port o (direction 1)) 17 In JBits extractinstance function. 18 Instance Name FullAdder/andX g/andx/and2 19 cellref and Net name b<1> 22 portname: i1 instancename: FullAdder-1/xor3 23 portname: i1 instancename: FullAdder-1/andX g-2/andx/and2 24 portname: i0 instancename: FullAdder-1/andX g/andx/and Placing in progress Instance 18 FullAdder-3/andX g-2/andx/and2 28 Port 0: Xwire<2> 29 Port 1: b<3> 30 Port 2: FullAdder-3/and out-2 31 Creating JBits and2 Object Adding SINK on Net(Xwire<2>): CLB.F1 B1[0][2] 33 Adding SINK on Net(b<3>): CLB.F2 B1[0][2] 34 Adding SOURCE on Net(FullAdder-3/and out-2): CLB.X1[0][2] Calling router Net name = FullAdder-3/and out-2 38 Sourcepin = CLB.Y2[0][4] 39 Sinkpins: 40 CLB.G1 B1[0][2] 41 Routing this connection Evaluated 71 groups in 8 tiles. 44 Bitstream Generated.
software, user input or sensor data. RTP Cores utilize a certain number of Configurable Logic Blocks (CLBs) on the device when created and contain a s
Debug of Reconfigurable Systems Tim Price, Delon Levi and Steven A. Guccione Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124 (USA) ABSTRACT While FPGA design tools have progressed steadily, availability
More informationJRoute: A Run-Time Routing API for FPGA Hardware
JRoute: A Run-Time Routing API for FPGA Hardware Eric Keller Xilinx Inc. 2300 55 th Street Boulder, CO 80301 Eric.Keller@xilinx.com Abstract. JRoute is a set of Java classes that provide an application
More informationA Device-Level FPGA Simulator
A Device-Level FPGA Simulator Jesse Everett Hunter III Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree
More informationFPGA: 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 informationSynthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool
Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong
More informationXilinx Inc Logic Drive. intellectual property has risen. Rather than re-invent commonly
Run-Time Parameterizable Cores Steven A. Guccione and Delon Levi Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 (USA) Steven.Guccione@xilinx.com Delon.Levi@xilinx.com Abstract. As FPGAs have increased
More informationTesting FPGA Devices Using JBits
Testing FPGA Devices Using JBits Prasanna Sundararajan, Scott McMillan and Steven A. Guccione Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 (USA) {Prasanna.Sundararajan, Scott.McMillan, Steven.Guccione}@xilinx.com
More informationJPG A Partial Bitstream Generation Tool to Support Partial Reconfiguration in Virtex FPGAs
JPG A Partial Bitstream Generation Tool to Support Partial Reconfiguration in Virtex FPGAs Anup Kumar Raghavan Motorola Australia Software Centre Adelaide SA Australia anup.raghavan@motorola.com Peter
More informationAgenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs
New Directions in Programming FPGAs for DSP Dr. Jim Hwang Xilinx, Inc. Agenda Introduction FPGA DSP platforms Design challenges New programming models for FPGAs System Generator Getting your math into
More informationBoardScope: A Debug Tool for Reconfigurable Systems
Header for SPIE use BoardScope: A Debug Tool for Reconfigurable Systems Delon Levi and Steven A. Guccione Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124 ABSTRACT BoardScope is a portable, interactive
More informationRUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch
RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC Zoltan Baruch Computer Science Department, Technical University of Cluj-Napoca, 26-28, Bariţiu St., 3400 Cluj-Napoca,
More informationAn Incremental Trace-Based Debug System for Field-Programmable Gate-Arrays
Brigham Young University BYU ScholarsArchive All Theses and Dissertations 2013-11-07 An Incremental Trace-Based Debug System for Field-Programmable Gate-Arrays Jared Matthew Keeley Brigham Young University
More information8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments
8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions
More informationReference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering
FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.
More informationRTL Coding General Concepts
RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationSynthesizable 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 informationGraduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE
FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6 ACCESS IC LAB Outline Concepts of Xilinx FPGA Xilinx FPGA Architecture Introduction to ISE Code Generator Constraints
More informationLattice Semiconductor Design Floorplanning
September 2012 Introduction Technical Note TN1010 Lattice Semiconductor s isplever software, together with Lattice Semiconductor s catalog of programmable devices, provides options to help meet design
More informationINTRODUCTION 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 informationHow 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 informationFPGA 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 informationWhat is Xilinx Design Language?
Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used
More informationPlanAhead Release Notes
PlanAhead Release Notes What s New in the 11.1 Release UG656(v 11.1.0) April 27, 2009 PlanAhead 11.1 Release Notes Page 1 Table of Contents What s New in the PlanAhead 11.1 Release... 4 Device Support...
More informationLab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston
Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Introduction This lab introduces the concept of modular design by guiding you through
More informationDevelopment of a Design Framework for Platform-Independent Networked Reconfiguration of Software and Hardware
Development of a Design Framework for Platform-Independent Networked Reconfiguration of Software and Hardware Yajun Ha 12, Bingfeng Mei 12, Patrick Schaumont 1, Serge Vernalde 1, Rudy Lauwereins 1, and
More informationDon t expect to be able to write and debug your code during the lab session.
EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping
More informationIntroduction to Field Programmable Gate Arrays
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT Outline Historical introduction.
More informationTROUTE: A Reconfigurability-aware FPGA Router
TROUTE: A Reconfigurability-aware FPGA Router Karel Bruneel and Dirk Stroobandt Hardware and Embedded Systems Group, ELIS Dept., Ghent University, Sint-Pietersnieuwstraat 4, B-9000 Gent, Belgium {karel.bruneel;dirk.stroobandt}@ugent.be
More informationAdvanced 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 informationA Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management
A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management H. Tan and R. F. DeMara Department of Electrical and Computer Engineering University of Central Florida
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationA Stream-based Reconfigurable Router Prototype
A Stream-based Reconfigurable Router Prototype David C. Lee, Scott J. Harper, Peter M. Athanas, and Scott F. Midkiff Bradley Department of Electrical and Computer Engineering Virginia Polytechnic Institute
More informationChapter 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 informationThe Xilinx XC6200 chip, the software tools and the board development tools
The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions
More informationAPPENDIX-A INTRODUCTION TO OrCAD PSPICE
220 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 221 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 1.0 INTRODUCTION Computer aided circuit analysis provides additional information about the circuit performance that
More informationBest Practices for Incremental Compilation Partitions and Floorplan Assignments
Best Practices for Incremental Compilation Partitions and Floorplan Assignments December 2007, ver. 1.0 Application Note 470 Introduction The Quartus II incremental compilation feature allows you to partition
More informationFPGAs: FAST TRACK TO DSP
FPGAs: FAST TRACK TO DSP Revised February 2009 ABSRACT: Given the prevalence of digital signal processing in a variety of industry segments, several implementation solutions are available depending on
More informationPerformance Imrovement of a Navigataion System Using Partial Reconfiguration
Performance Imrovement of a Navigataion System Using Partial Reconfiguration S.S.Shriramwar 1, Dr. N.K.Choudhari 2 1 Priyadarshini College of Engineering, R.T.M. Nagpur Unversity,Nagpur, sshriramwar@yahoo.com
More informationAn automatic tool flow for the combined implementation of multi-mode circuits
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João M. P. Cardoso and Dirk Stroobandt Ghent University, ELIS Department Sint-Pietersnieuwstraat
More informationSystem-on Solution from Altera and Xilinx
System-on on-a-programmable-chip Solution from Altera and Xilinx Xun Yang VLSI CAD Lab, Computer Science Department, UCLA FPGAs with Embedded Microprocessors Combination of embedded processors and programmable
More informationA Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes
A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes Presented at Design Automation Conference (DAC) San Francisco, CA, June 4, 2012. Presented by Chuck Cruse FPGA Hardware
More informationBitMaT - Bitstream Manipulation Tool for Xilinx FPGAs
BitMaT - Bitstream Manipulation Tool for Xilinx FPGAs Casey J Morford Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements
More informationPartially Reconfigurable Cores for Xilinx Virtex
Author s copy Partially Reconfigurable Cores for Xilinx Virtex Matthias Dyer, Christian Plessl, and Marco Platzner Computer Engineering and Networks Lab, Swiss Federal Institute of Technology, ETH Zurich,
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationAutomated 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 informationA Toolkit for Rapid FPGA System Deployment
A Toolkit for Rapid FPGA System Deployment Umang K. Parekh Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the
More informationFPGA. 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 informationXilinx ASMBL Architecture
FPGA Structure Xilinx ASMBL Architecture Design Flow Synthesis: HDL to FPGA primitives Translate: FPGA Primitives to FPGA Slice components Map: Packing of Slice components into Slices, placement of Slices
More informationSpiral 2-8. Cell Layout
2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric
More informationVivado Design Suite User Guide
Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To
More informationENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations
ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2017 1 Topics 1. Programmable logic
More informationA Methodology for Energy Efficient FPGA Designs Using Malleable Algorithms
A Methodology for Energy Efficient FPGA Designs Using Malleable Algorithms Jingzhao Ou and Viktor K. Prasanna Department of Electrical Engineering, University of Southern California Los Angeles, California,
More informationEfficient 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 informationComparison of pipelined IEEE-754 standard floating point multiplier with unpipelined multiplier
Journal of Scientific & Industrial Research Vol. 65, November 2006, pp. 900-904 Comparison of pipelined IEEE-754 standard floating point multiplier with unpipelined multiplier Kavita Khare 1, *, R P Singh
More informationDigital Design Methodology (Revisited) Design Methodology: Big Picture
Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology
More informationA 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 informationCHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits
More informationHigh Level, high speed FPGA programming
Opportunity: FPAs High Level, high speed FPA programming Wim Bohm, Bruce Draper, Ross Beveridge, Charlie Ross, Monica Chawathe Colorado State University Reconfigurable Computing technology High speed at
More informationField Programmable Gate Array (FPGA)
Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems
More informationEmbedded Floating-Point Units in FPGAs
Embedded Floating-Point Units in FPGAs Michael J. Beauchamp Scott Hauck Keith D. Underwood K. Scott Hemmert University of Washington Sandia National Laboratories* Dept. of Electrical Engineering Scalable
More informationField 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 informationDigital Design Methodology
Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification
More informationCover TBD. intel Quartus prime Design software
Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a
More informationImproving Reconfiguration Speed for Dynamic Circuit Specialization using Placement Constraints
Improving Reconfiguration Speed for Dynamic Circuit Specialization using Placement Constraints Amit Kulkarni, Tom Davidson, Karel Heyse, and Dirk Stroobandt ELIS department, Computer Systems Lab, Ghent
More informationDevelopment of tools supporting. MEANDER Design Framework
Development of tools supporting FPGA reconfigurable hardware MEANDER Design Framework Presentation Outline Current state of academic design tools Proposed design flow Proposed graphical user interface
More informationPlacement 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 informationMAXIMIZING THE REUSE OF ROUTING RESOURCES IN A RECONFIGURATION-AWARE CONNECTION ROUTER
MAXIMIZING THE REUSE OF ROUTING RESOURCES IN A RECONFIGURATION-AWARE CONNECTION ROUTER Elias Vansteenkiste, Karel Bruneel and Dirk Stroobandt Department of Electronics and Information Systems Ghent University
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationThe nextpnr FOSS FPGA place-and-route tool. Clifford Wolf Symbiotic EDA
The nextpnr FOSS FPGA place-and-route tool Clifford Wolf Symbiotic EDA FOSS FPGA PnR VPR (Versatile Place-and-Route) Over 20 years old (1997). Timing driven. Portable. Focuses more on architecture exploration
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationEffects of FPGA Architecture on FPGA Routing
Effects of FPGA Architecture on FPGA Routing Stephen Trimberger Xilinx, Inc. 2100 Logic Drive San Jose, CA 95124 USA steve@xilinx.com Abstract Although many traditional Mask Programmed Gate Array (MPGA)
More informationSoft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study
Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Bradley F. Dutton, Graduate Student Member, IEEE, and Charles E. Stroud, Fellow, IEEE Dept. of Electrical and Computer Engineering
More informationCover TBD. intel Quartus prime Design software
Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a
More informationHigh Level Abstractions for Implementation of Software Radios
High Level Abstractions for Implementation of Software Radios J. B. Evans, Ed Komp, S. G. Mathen, and G. Minden Information and Telecommunication Technology Center University of Kansas, Lawrence, KS 66044-7541
More informationA Hardware / Software Co-Design System using Configurable Computing Technology
A Hardware / Software Co-Design System using Configurable Computing Technology John Schewel Virtual Computer Corporation 6925 Canby Ave #103 Reseda, California, USA 91335 Abstract Virtual Computer Corporation
More informationAcademic 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 informationFPGA 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 informationDynamic Hardware Plugins in an FPGA with Partial Run-time Reconfiguration
24.2 Dynamic Hardware Plugins in an FPGA with Partial Run-time Reconfiguration Edson L. Horta, Universidade de San Pãulo Escola Politécnica - LSI San Pãulo, SP, Brazil edson-horta@ieee.org John W. Lockwood,
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationLecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)
Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable
More informationVivado Design Suite User Guide
Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To
More informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
More informationBibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.
Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:
More informationFPGA-Based Rapid Prototyping of Digital Signal Processing Systems
FPGA-Based Rapid Prototyping of Digital Signal Processing Systems Kevin Banovic, Mohammed A. S. Khalid, and Esam Abdel-Raheem Presented By Kevin Banovic July 29, 2005 To be presented at the 48 th Midwest
More information101-1 Under-Graduate Project Digital IC Design Flow
101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL
More informationAn Efficient Implementation of Floating Point Multiplier
An Efficient Implementation of Floating Point Multiplier Mohamed Al-Ashrafy Mentor Graphics Mohamed_Samy@Mentor.com Ashraf Salem Mentor Graphics Ashraf_Salem@Mentor.com Wagdy Anis Communications and Electronics
More informationProgrammable Logic Devices HDL-Based Design Flows CMPE 415
HDL-Based Design Flows: ASIC Toward the end of the 80s, it became difficult to use schematic-based ASIC flows to deal with the size and complexity of >5K or more gates. HDLs were introduced to deal with
More informationPhysical Design For FPGAs Rajeev Jayaraman Xilinx Inc Logic Drive San Jose, CA 95131, USA
Physical Design For FPGAs Rajeev Jayaraman Xilinx Inc. 2100 Logic Drive San Jose, CA 95131, USA rajeev.jayaraman@xilinx.com ABSTRACT FPGAs have been growing at a rapid rate in the past few years. Their
More informationAn Analysis of Delay Based PUF Implementations on FPGA
An Analysis of Delay Based PUF Implementations on FPGA Sergey Morozov, Abhranil Maiti, and Patrick Schaumont Virginia Tech, Blacksburg, VA 24061, USA {morozovs,abhranil,schaum}@vt.edu Abstract. Physical
More informationLeso Martin, Musil Tomáš
SAFETY CORE APPROACH FOR THE SYSTEM WITH HIGH DEMANDS FOR A SAFETY AND RELIABILITY DESIGN IN A PARTIALLY DYNAMICALLY RECON- FIGURABLE FIELD-PROGRAMMABLE GATE ARRAY (FPGA) Leso Martin, Musil Tomáš Abstract:
More informationAn FPGA Project for use in a Digital Logic Course
Session 3226 An FPGA Project for use in a Digital Logic Course Daniel C. Gray, Thomas D. Wagner United States Military Academy Abstract The Digital Computer Logic Course offered at the United States Military
More informationLecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)
Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationCPE/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 informationA Library of Parameterized Floating-point Modules and Their Use
A Library of Parameterized Floating-point Modules and Their Use Pavle Belanović and Miriam Leeser Department of Electrical and Computer Engineering Northeastern University Boston, MA, 02115, USA {pbelanov,mel}@ece.neu.edu
More informationOn pin-to-wire routing in FPGAs. Niyati Shah
On pin-to-wire routing in FPGAs by Niyati Shah A thesis submitted in conformity with the requirements for the degree of Master of Applied Science and Engineering Graduate Department of Electrical & Computer
More informationENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations
ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2016 1 Topics 1. Programmable logic
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More information