Getting Started with FPGA Design
|
|
- Job Dixon
- 6 years ago
- Views:
Transcription
1 Getting Started with FPGA Design Summary Tutorial TU0116 (v1.3) April 13, 2005 This tutorial gives an overview of how to create an FPGA design. It outlines how to create a schematic and then compile, synthesize, build and program the Xilinx Spartan IIE chip on the daughterboard of the Altium NanoBoard. We will also look briefly at the use of sub sheets and VHDL files in an FPGA design. This tutorial is a very simple circuit design which allows the tutorial to focus on the overall process. It does not attempt to demonstrate the powerful mixed schematic/vhdl high-level design capabilities available in the software. For more sophisticated designs, refer to the many examples in the \Altium2004\Examples folders. The \FPGA Hardware folder has a number of designs that do not include processors (including the mixed schematic/vhdl multi-channel LED chaser). The \FPGA Processors folder and the \Reference Designs folder include processor-based FPGA designs, some that demonstrate a simple feature and others that implement an entire digital system. Before starting the tutorial, connect the NanoBoard to the parallel port of your PC and power up the board by flicking the ON switch. Make sure you have installed the Xilinx tools (web edition) which downloaded from the Xilinx website ( The example used in this tutorial is a Johnson Counter, shown in Figure 1. It can be found in the folder Altium2004\Examples\Tutorials\Getting started with FPGA Design in your Altium Designer installation directory. Refer to this example at any time to get further insight or skip some of the steps. It is important to note that schematic concepts for digital designs under Altium Designer can be different to PCB design concepts. A rule that needs to be explicitly followed when designing FPGAs may not be true for PCB. A Johnson Counter, or twisted ring counter, is a synchronous counter where the inverted output of the last flip-flop is connected to the input of the first flip-flop. When run, this Johnson counter design will light up the LEDs sequentially one digit at a time on the NanoBoard. A clock delay will be included later in the schematic to slow down the LED display, so that the counter can be seen to shift from left to right or right to left. TU0116 (v1.3) April 13,
2 Figure 1. Johnson Counter schematic Creating an FPGA Project To start working with Altium Designer, you first need a project. A project makes managing your source design documents and any generated outputs much easier. For digital FPGA designs, we need to create an FPGA project. To create a new FPGA project: 1. Select File» New» Project» FPGA Project from the menus, or click on Blank Project (FPGA) in the New section of the Files panel. If this panel is not displayed, click on the Files tab. 2. The Projects panel displays a new project file, FPGA_Project1.PrjFpg. 3. Rename the new project file (with a.prjfpg extension) by selecting File» Save Project As. Navigate to where you want to save the project on your hard disk, type the name Johnson_Counter.PrjFpg in the File Name field and click on Save. It is essential that you use underscores ( _ ) rather than spaces in project and document filenames to avoid synthesis errors later in the design flow. Next, we will create a schematic for the design of the Johnson Counter to add to our project file. Creating a Schematic source document Warning: Do not use spaces or dashes (-) in file names or project names. Use underscores if necessary. An FPGA project supports two types of source documents schematic and VHDL. You can mix both types of documents in a project with the use of sheet symbols. However, for FPGA projects, a schematic must be used for the top level document of your project. This is so Vendor FPGA-PCB integration can be supported. 2 TU0116 (v1.3) April 13, 2005
3 The design includes some delay circuitry to slow down the LED display on the NanoBoard. Initially we will create just one schematic sheet for the Johnson counter. Then we will move the delay circuitry to a sub-sheet to show an example of using a hierarchical structure. Finally, we will replace this sub sheet with a VHDL file. To create a single schematic document for the Johnson Counter: You can mix VHDL and Schematic documents with the use of sheet symbols. In the case of VHDL, the sheet entries correspond to the ports of the VHDL document. 1. Select File» New» Schematic, or click on Schematic Sheet in the New section of the Files panel. A blank schematic sheet named Sheet1.SchDoc displays in the design window. 2. Rename the new schematic file (with a.schdoc extension) by selecting File» Save As. Navigate to where you wish to store the schematic on your hard disk, type the name Johnson_Counter.SchDoc in the File Name field and click on Save. Placing parts on the schematic The components we will need for this schematic can be found in a generic integrated library, \Program Files\Altium2004\Library\FPGA\FPGA Generic.IntLib. This library is installed and available from the Libraries panel by default. Generic FPGA library components can be used in any of the target FPGA devices that this system supports. While there are special integrated libraries (*FPGA.INTLIB) available with vendor primitives (available by manufacturer in the \Program Files\Altium2004\Library folder), these are targeted for a specific device, so using them would prevent design portability; use only if really necessary for your design. Refer to the Building an Integrated Library tutorial in the Library Management book (online) for more information about finding and using integrated libraries. Now, let s start designing the schematic for our Johnson Counter. 1. Select FPGA Generic.IntLib from the drop-down list in the Libraries panel. 2. Find the component SR8CLEDB in the Libraries panel. You can browse the Libraries panel by either navigating through the list or typing the name SR8CLEDB (or part of the name) in the Masks edit box below the library name. Select the component in the list and click the Place SR8CLEDB button or simply drag the selected Component Name onto the schematic sheet. 2. You should notice that your cursor now has the component attached to it. Move the cursor into the schematic workspace if you don t see it. Place the component by clicking on the appropriate position on the schematic. Do not worry about setting the correct designators for these components as we will annotate the design later. 3. We also need to use a 8-Bit input bus (J8B_8S), six inverters (INV), one OR gate (OR2N2S) and two flip-flops (FJKC) in our design. Repeat the above steps to place these components as shown in Figure 2. TU0116 (v1.3) April 13,
4 4. We also require some ports that interface with the plug-ins on the NanoBoard. These are located in the FPGA NanoBoard Port-Plugin.IntLib, also a default library available from the Libraries panel. Place DIPSWITCH, TEST_BUTTON, CLOCK_REFERENCE and LED from this library as shown Figure 2 below. Note that these components have a visible parameter named PinNumberDisplay that initially reads as PXX for each pin. When the design is synthesized later in the tutorial, these parameters will be updated to display the pin numbers that these nets connect to on the target FPGA. Figure 2. Johnson Counter schematic with parts placed. 5. Finally, add designators to the design using Tools» Quiet Annotate or Tools» Force Annotate All. Designators will be automatically added to all the components in this schematic. Adding Power Ports Place two GND power ports for ground. 1. Select Place» Power Port or click on the GND icon in the Wiring toolbar. 2. Press TAB to display the Power Port properties dialog. Make sure the Net is set to GND and choose the style Bar from the Style drop-down list. Click OK and place the GND ports. 3. Right-click, or press ESC, to exit placement mode. 4. We also need to add a ground bus power port to the D[7..0] pin of the SR8CLEDB component. Click on the VCC Bus Power Port button in the Wiring Toolbar. Press TAB to display the Power Port properties dialog, change the Net name to GNDBUS[..] and check the Style is set to Bar. Click OK and press the Spacebar to rotate the symbol as you place it. Creating connections We have placed all the components and ports, so now it s time to wire them all together. There are two ways to wire your schematic, explicitly or implicitly. Explicit wiring creates a connection by having a physical wire connecting your two net objects together. Implicit wiring creates a connection from the use of wires and net labels, i.e. connection is implied if two wires share the same net label but are not actually physically connected. 4 TU0116 (v1.3) April 13, 2005
5 Our design will need both wires and buses. Let s place the wires first. Remember not to confuse wires with lines; wires are for connecting and lines are for drawing. 1. To place a wire, select Place» Wire [shortcut P, W] and click on the point on the schematic where you want to start placing (usually at a port or a component pin). Move the cursor to the next point you want your wire segment to connect to and click again. Continue until you have made a connection to another port or component pin. Continue wiring and rightclick, or press ESC, to exit wire placement mode. 2. Wire up the schematic as shown in Figure 3 below, taking careful note of the junctions where wires cross in this schematic. If two wires cross and a junction is present, a connection between these two wires is implied. If there is no junction, there is no connection. In this schematic, auto junctions will occur where wires connect. Ensure your connection is valid when attaching your wires to other wires, component pins and ports. If the cursor turns to a red crosshair over the object you wan t to connect to, then there is valid connection if yo u place a node of the wire there. Figure 3. The Johnson Counter schematic wired up. Naming the connections All the wiring done above is explicit and therefore, technically, no net labels are required. However, it is always a good idea to net label all your connections as it will make your design easier to understand and makes tracking down problems and referencing easier. To net label your connections: 1. Select Place» Net Label [shortcut P, N]. A dotted box will appear floating on the cursor. 2. To edit the net label before it is placed, press the TAB key to display the Net Label dialog. Type the net name in the Net field, e.g. LEFT. Click OK. 3. Place the net label so that the bottom left of the net label (its hotspot ) touches the wire you want to label. The cursor will change to a red cross when the net label touches the wire. 4. Label the other nets. The diagram below gives an indication where the net labels should be placed. They need not be named exactly as shown in Figure 4, as long as they are unique. Right-click or press ESC to exit net label placement mode. TU0116 (v1.3) April 13,
6 Figure 4. The Johnson Counter schematic with net labels added. Using Buses Altium Designer supports the complex use of buses for FPGA designs. Buses can be used to specify not just a group of signals but how each signal in the bus is mapped to its endpoints. When using buses, it is important to remember that you always need to net label any disjoint bus segment. It is also useful to note that a connection from a bus to another object is always resolved from left to right and the bus size of both objects in a connection must be the same. To connect the LED port to SR8CLEDB, we will create bus SQ[7..0] as shown in Figure 5. Schematic infers buses by names. If a net label ends with a number it groups all such net labels together to form an inferred bus for digital designs. This does not apply to ports where such grouping is not desirable. 1. Place a bus by selecting Place» Bus [shortcut P, B] and place the bus, using the same placement technique used when placing a wire. Figure 5. Adding buses and bus entries. 6 TU0116 (v1.3) April 13, 2005
7 2. Place a net label called SQ[7..0] on the bus. Always net label your buses. A bus without a net label even when it is explicitly connected is very ambiguous because there is no net label to clearly specify how each element of the bus is connected to its endpoints. 3. Next, we will add in the bus entries as shown in Figure 5. Select Place» Bus Entry [shortcut P, U] and place the bus entries from wires SQ0 and SQ7 to the SQ[7..0] bus. Use the SPACEBAR while placing to rotate the bus entry, if necessary. Right-click, or press ESC, to exit placement mode. 4. Add another bus to connect the DIP switch port to the J8B_8S part (as shown in Figure 6). Figure 6. Connecting the DIP switch port to J8B_8S using a bus. 5. Save the schematic and save the project. Checking the design A very common mistake is to use a bus style net label (i.e. [ ] ) on a wire. This will not work in Altium Designer, as only buses may have bus style net labels placed on them. Before we proceed with creating a sub sheet for the clock divider, let s check that the schematic is going to plan by compiling the project and running the electrical and graphical checks set in the Error Checking tab of the Options for FPGA Project dialog (Project» Project Options). 1. Select Project» Compile FPGA Project [project_name]. Any Error or Fatal Error messages will automatically appear in the Messages panel. 2. Warnings will also be listed in the Messages panel but you must manually display the panel by clicking on the System tab at the bottom of the design window and selecting Messages (or select View» Workspace Panels» System» Messages from the menus). 3. Double-click on any error message in the Messages panel to display more information about the error in the Compile Errors dialog. The offending entity will be zoomed into and highlighted in the schematic. 4. Resolve any errors and re-compile the project to check. Save the schematic and project file. Configuring your design We have finished designing our Johnson counter, so now we need to specify which FPGA chip we want to use in our design, e.g. the Xilinx Spartan IIE XC2S300E-6PQ208C chip on the NanoBoard daughterboard. We will add a configuration and constraint files to do this. The Constraint file will determine the pin numbering and the device name to be used by the FPGA chip on the NanoBoard. 1. Select Project» Configuration Manager. The Configuration Manager for project dialog appears. Click on the Add button in the Configurations section of the dialog and type a configuration name in TU0116 (v1.3) April 13,
8 the New Configuration Name dialog, e.g. NB_SpartanIIE, and click OK. Configuration names should relate to the target implementation for easy identification. 2. Add a Constraints file to your configuration by clicking on the Add button in the Constraints section and select NB1_6_XC2S300E-6PQ208.Constraint in the Choose Constraint files to add to Project dialog. Constraint files are found in the Altium2004\Library\FPGA folder. Click Open. 3. Select the configuration checkbox back in the Configuration Manager dialog and click OK. 4. A folder named Settings is added to the project and shows the constraint file used in the Constraints Files folder. 5. Save the project file. Targeting the Altera Cyclone device If you are targeting the supplied Altera Cyclone chip, carefully plug it into place on the NanoBoard. 1. Add a new configuration file (Project» Configuration Manager) named, e.g. Altera, to the FPGA project. 2. Add the supplied Altera Constraints file, C:\Program Files\Altium2004\Library\Fpga\NB1_6_EP1C12Q240.Constraint. Make sure the Altera configuration is selected. 3. Proceed to the next section on Using the Devices view to program the FPGA. For more information about configurations and constraints, refer to the Design Portability, Configurations and Constraints article and the Re-targeting the design to the production board application note in the FPGA Hardware Design book (online). We have now finished configuring the Johnson Counter design and it is ready for implementation in an FPGA. The remainder of the design process can take place in the Devices view. Using the Devices view to program the FPGA The Devices view (View» Devices View) allows you to follow through the workflow (from left to right) required to send your program to the FPGA. In this view, you can: Compile the project (and check for errors) Synthesize (create an EDIF netlist) Build (e.g. translate the EDIF files, map the design to the FPGA, Place and Route the FPGA, run a Timing Analysis and then Make the Bit File that can then be used to program the FPGA) Program FPGA (download the bit file to the daughter board s FPGA chip, e.g. the Xilinx Spartan IIE). 8 TU0116 (v1.3) April 13, 2005
9 When this workflow is completed, you will be able to run the program by flicking on and off the DIP switches on the NanoBoard. To download your Johnson Counter design to the FPGA: 1. Make sure your NanoBoard is properly connected and switched on. In the Devices view, click on the Live button and check that the Connected indicator is green. 2. In the Devices view, click on Compile. The red indicator will turn green when a successful compilation takes place. If any error messages display in the Messages panel, go back to your schematics, correct any errors, save the files and recompile. 3. Click on Synthesize. If the synthesis is completed successfully, a folder called Generated [config_name] is created which holds the generated EDIF, VHDL and synthesis log file. The configuration which is used in this example, which we named Johnson, will display in the Devices view underneath the Spartan IIE icon. During synthesis, the source documents are translated into intermediate VHDL files which are then synthesized into EDIF, suitable for vendor Place & Route tools. Errors detected during synthesis are based on errors in the intermediate files, so go back to the source files to fix any problems. Doubleclick on an error in the Messages panel to see the fault in the source documents and intermediary VHDL. You can run all stages of the workflow up to and including the current stage by clicking on the arrow icon located on the left side of the stage button, e.g. clicking on this icon on the Program FPGA button will run all previous stages first. 4. Click on Build. This will step through several processes to ultimately make the Bit file that can be downloaded to the FPGA. You will see the buttons next to the various processes turn green as they are successfully completed. The Build button will turn green when all necessary processes are completed and the Results Summary dialog appears. Click on Close to close the dialog. (The Make PROM File process is not required for this example.) Display the Output panel to view more vendor-related feedback. TU0116 (v1.3) April 13,
10 5. Click on Program FPGA to download the bit file to the daughterboard s Spartan chip. 6. When the Program FPGA process is completed, you will be able to run the program by flicking on and off the following DIP switches on the NanoBoard: switch 1 to display the LEDs shifting to the left switch 2 to display the LEDs shifting to the right switch 3 to end the program. Press the Test/Reset button below the LEDs to reset the program. 7. You will notice that the LEDs are flashing at the same time, which really defeats the purpose of having a Johnson counter! This is because the clock is set at 50MHz by default. We need to slow down the clock by one million times to see the LEDs displaying sequentially. We will add clock dividers to the schematic after we have checked that the program is OK using the Hard Devices instrument. Checking the LEDs using the Hard Devices instrument You can also check that the program is running correctly by looking at the Hard Devices panel of the Instrument Rack. This instrument displays the LEDs by pin number when the program is running. This display does not rely on the NanoBoard s clock and so lower frequencies are not required to see the LEDs displaying in sequence. 1. Double-click on the Spartan-IIE icon in the Hard Devices section of the Devices view. The Instrument Rack Hard Devices appears. 2. Click on the Live Update checkbox. 10 TU0116 (v1.3) April 13, 2005
11 3. Scroll down to display Pin Number P56. The LED icons will light up next to the LED ports as the program is run. Adding a sub sheet for the clock divider Since the NanoBoard clock is running at 50MHz by default, we will need to add six clock dividers which divide by 10 (CDIV10DC50 50% duty cycle version) to the Johnson Counter schematic to slow down the LED display. We will create the clock divider sub-circuit as a sub-sheet to demonstrate how hierarchical designs can be used when programming an FPGA. 1. Open Johnson_Counter.SchDoc and place a sheet symbol to represent the sub sheet we will use for the clock dividers (see Figure 7). Select Place» Sheet Symbol. Press TAB while placing and type in the designator name, e.g. U_Clock_divider and the filename, e.g. Clock_divider.SchDoc, in the Properties tab of the Sheet Symbol dialog. Click OK to close the dialog, then click to position the sheet symbol and click to size it. 2. Add sheet entries named CLK_REF and CLK_OUT to the sheet symbol (Place» Add Sheet Entry) with Input and Output I/O types respectively. Figure 7. Johnson_Counter schematic with sheet symbol for Clock_divider sub sheet placed. 3. Create a sub sheet by selecting Design» Create Sheet from Symbol. Position the cursor over the new sheet symbol and click. Click on No in the Confirm dialog as we do not want to reverse input/output directions. The new schematic document is created and opens displaying the CLK_REF and CLK_OUT ports which have been automatically added. TU0116 (v1.3) April 13,
12 4. Now place six clock divider parts, CDIV10DC50, from the FPGA Generic.IntLib, as shown in Figure 8 below. Once again, do not worry about setting the designators; simply place the parts and select Tools» Annotate Quiet when completed. Figure 8. Clock_divider.SchDoc with placed parts and ports. 5. Save the schematic and project files. 6. Recompile the design to check for any errors. Fix any errors and save. 7. After compiling, you can check the sheet hierarchy of the project by looking in the Projects panel; the project now recognizes the sub-sheet (Clock_divider.SchDoc) as a child of the Johnson_Counter schematic. 8. Go to the Devices view and reprogram the FPGA to see the LED display slowed down enough that it is now seen to be counting from right to left (DIP switch 1) or from left to right (DIP switch 2). Adding a VHDL file for the clock divider Now we will substitute a VHDL file for the clock divider schematic sub sheet in the FPGA project. This VHDL file will slow down the clock rate by one million. The VHDL file is linked to the schematic through the use of a sheet symbol. 1. Add the VHDL file to the project by right-clicking on the FPGA project name in the Projects panel and select Add Existing to Project. Select the VHDL file, Clock_divider.VHD from the Choose Documents to Add to Project dialog. This file is available from the Altium2004\Examples\Tutorials\Getting started with FPGA Design folder. If you were creating the VHDL file from scratch, right-click on the FPGA project name and select Add New to Project» VHDL Document, type in the following code shown in Figure 9 and save the document. 12 TU0116 (v1.3) April 13, 2005
13 Figure 9. Clock_divider.VHD. 2. Next we will create a sheet symbol from the new VHDL file to replace the one that references the schematic sub-sheet Clock_divider.schdoc. With the Johnson_Counter.SchDoc schematic open, create a new sheet symbol by selecting Design» Create Sheet Symbol from Sheet. Select Clock_divider.VHD from the Choose Document to Place dialog and click OK. The sheet symbol appears floating on the cursor. Press TAB to display its Sheet Symbol properties dialog. Click on the Parameters tab to check that the VHDLEntity parameter has been added. Make sure the Visible option is selected and click OK. Click to place the sheet symbol on the Johnson_Counter schematic, just underneath the sheet symbol for Clock_divider.schdoc. If the VHDL file contains multiple entites, the VHDLENTITY parameter specifies which entity you want to instantiate. TU0116 (v1.3) April 13,
14 3. Delete the sheet symbol for Clock_divider.schdoc and move the new sheet symbol for Clock_divider.VHD into its place on the schematic. Make sure the wires connect properly. Figure 10. Clock_divider.VHD sheet symbol placed. 4. Save the schematic document. 5. Remove the Clock_divider.schdoc file from the FPGA project by right-clicking on the document name in the Projects panel and selecting Remove from Project. It is no longer required now that the VHDL file has been added. Save the FPGA project file. 6. Finally, to check that the clock is being slowed down by the delay in the VHDL file, go to the Devices view (View» Devices) and click on Program FPGA to run all the stages of compilation, synthesis, building and programming the FPGA chip. If the FPGA is successfully programmed, you should be able to run the Johnson Counter using the switches as before. 14 TU0116 (v1.3) April 13, 2005
15 Revision History Date Version No. Revision 16-Jan New product release 23-Sep Clock divider components updated 18-Jan Components in Johnson_Counter.SchDoc updated. 13-Apr Updated for Altium Designer Software, hardware, documentation and related materials: Copyright 2005 Altium Limited. All rights reserved. You are permitted to print this document provided that (1) the use of such is for personal use only and will not be copied or posted on any network computer or broadcast in any media, and (2) no modifications of the document is made. Unauthorized duplication, in whole or part, of this document by any means, mechanical or electronic, including translation into another language, except for brief excerpts in published reviews, is prohibited without the express written permission of Altium Limited. Unauthorized duplication of this work may also be prohibited by local statute. Violators may be subject to both criminal and civil penalties, including fines and/or imprisonment. Altium, Altium Designer, CAMtastic, Design Explorer, DXP, LiveDesign, NanoBoard, NanoTalk, Nexar, nvisage, P-CAD, Protel, CircuitStudio, Situs, TASKING, and Topological Autorouting and their respective logos are trademarks or registered trademarks of Altium Limited or its subsidiaries. All other registered or unregistered trademarks referenced herein are the property of their respective owners and no trademark rights to the same are claimed. TU0116 (v1.3) April 13,
Schematic Editing Essentials
Summary Application Note AP0109 (v2.0) March 24, 2005 This application note looks at the placement and editing of schematic objects in Altium Designer. This application note provides a general overview
More informationCustomizing the Altium Designer Resources
Customizing the Altium Designer Resources Summary This tutorial describes how to customize your Altium Designer resources, such as commands, menus, toolbars and shortcut keys. This tutorial describes how
More informationCreating a Multi-channel Design
Creating a Multi-channel Design Summary This tutorial shows how to create a multichannel design in the Schematic Editor, including the use of subsheets, sheet symbols and the Repeat keyword. Setting room
More informationDesign Portability, Configurations and Constraints
Design Portability, Configurations and Constraints Summary This article describes what is required for design portability, and the role of configurations and constraints in achieving this portability.
More informationFPGA Clock Manager Resource Usage
Summary This quick reference provides detailed information about resource usage of all presynthesized Clock Manager cores. Core Reference CR0128 (v1.10) July 17, 2008 Clock Manager The available Clock
More informationOutputJob Editor Reference
OutputJob Editor Reference Summary This reference provides information on the OutputJob Editor which is used to configure various output types including Assembly Outputs, BOMs, Gerber, NC Drill, Netlists,
More informationMoving to Altium Designer from Protel 99 SE
Moving to Altium Designer from Protel 99 SE Summary This article outlines the process you go through to transfer a Protel 99 SE design into the Altium Designer environment. Protel 99 SE uses the design
More informationSpecifying the PCB Design Rules and Resolving Violations
Specifying the PCB Design Rules and Resolving Violations Summary This article introduces the PCB Design Rules System, in particular how rules are created and applied to objects in a design. It also describes
More informationDesign capture, simulation and layout - an introduction Tutorial
Design capture, simulation and layout - an introduction Tutorial A step-by-step introduction to Altium s complete board-level design system 1 Software, documentation and related materials: Copyright 2002
More informationPower Monitoring on the Desktop NanoBoard NB2DSK01
Power Monitoring on the Desktop NanoBoard NB2DSK01 Summary This application note provides information on the Power Monitoring functionality provided for the Desktop NanoBoard NB2DSK01. It covers how this
More informationDefining & Running Circuit Simulation Analyses
Defining & Running Circuit Simulation Analyses Summary Tutorial TU0106 (v1.6) April 20, 2008 This tutorial looks at creating a schematic of an analog filter design that is set up for circuit simulation.
More informationGetting Started with PCB Design
Getting Started with PCB Design Summary Tutorial TU0117 (v1.2) April 13, 2005 This introductory tutorial is designed to give you an overview of how to create a schematic, update the design information
More informationFPGA Encoder Resource Usage
Summary This quick reference provides detailed information about resource usage of all presynthesized Encoder cores. Core Reference CR0132 (v1.11) December 19, 2008 Encoder The available Encoder cores
More informationTUTORIAL SESSION Technical Group Hoda Najafi & Sunita Bhide
TUTORIAL SESSION 2014 Technical Group Hoda Najafi & Sunita Bhide SETUP PROCEDURE Start the Altium Designer Software. (Figure 1) Ensure that the Files and Projects tabs are located somewhere on the screen.
More informationShortcut Keys. Access Choose Document to Open dialog. Cycle through open documents (to the left) Hide/display all floating panels
Summary Guide GU0104 (v1.9) February 11, 2008 This guide provides a list of shortcut keys available for use within Altium Designer, ranging from those used at the environment level, through to those associated
More informationAdding Custom Instrumentation to an FPGA Design
Adding Custom Instrumentation to an FPGA Design Summary This tutorial takes a look at using the Custom Instrument component in an FPGA design, involving monitoring of input signals directly and control
More informationLesson 17: Building a Hierarchical Design
Lesson 17: Building a Hierarchical Design Lesson Objectives After you complete this lesson you will be able to: Explore the structure of a hierarchical design Editing the Training Root Schematic Making
More informationTutorial for Altera DE1 and Quartus II
Tutorial for Altera DE1 and Quartus II Qin-Zhong Ye December, 2013 This tutorial teaches you the basic steps to use Quartus II version 13.0 to program Altera s FPGA, Cyclone II EP2C20 on the Development
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This
More informationMoving to Altium Designer From P-CAD
Summary Application Note AP0130 (v3.0) September 10, 2008 This application note highlights the key differences you need to be aware of when moving from P-CAD to Altium Designer. It will help you ramp up
More informationIntroducing Protel DXP
Introducing Protel DXP The complete multi-dimensional design capture system for Windows 2000 and XP Protel DXP breaks new ground by bringing a host of new and enhanced features to the design desktop and
More informationWB_INTERFACE Custom Wishbone Interface
WB_INTERFACE Custom Wishbone Interface Summary This document provides detailed reference information with respect to the WB_INTERFACE peripheral component. This component enables you to build custom Wishbone
More informationPart. Summary. Modified by Susan Riege on Aug 5, Parent page: Objects
Part Old Content - visit altium.com/documentation Modified by Susan Riege on Aug 5, 2016 Parent page: Objects Related Resources Net Ties and How to Use Them (PDF) The Part represents the actual physical
More informationTutorial on Quartus II Introduction Using Schematic Designs
Tutorial on Quartus II Introduction Using Schematic Designs (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD
More informationQuartus II Introduction Using Schematic Design
Quartus II Introduction Using Schematic Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented
More informationThe three sections in this manual include training notes and related exercises for the following one-day training sessions:
Training Manual DXP2004 Training Welcome to the DXP 2004 training manual. The three sections in this manual include training notes and related exercises for the following one-day training sessions: Design
More informationANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II
ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use
More informationEditing Multiple Objects. Contents
Editing Multiple Objects Contents Selecting Multiple Objects Inspecting the Objects Editing the Objects Editing Group Objects Step 1. Selecting the Capacitors Step 2. Changing the Comment String Step 3.
More informationQuartusII.doc 25/02/2005 Page 1
1 Start Icon... 2 1.1 The Quartus II Screen... 2 2 Project creation... 2 3 Schematic entry... 5 3.1 Create new drawing... 5 3.2 Symbol selection... 7 3.3 Placement of an AND gate... 8 3.4 Deleting a symbol...
More informationXilinx ISE/WebPack: Introduction to Schematic Capture and Simulation
Xilinx ISE/WebPack: Introduction to Schematic Capture and Simulation Revision: February 7, 2003 Overview This document is intended to assist new entry-level users of the Xilinx ISE/WebPack software. It
More informationUsing the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0) November 13, 2017 Copyright 2017 TASKING BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
More informationConnectivity and Multi-Sheet Design. Contents
Connectivity and Multi-Sheet Design Contents Defining Sheet Structure Building a Hierarchical Structure Top-Down Design Bottom-Up Design Mixed Schematic/HDL Document Hierarchy Maintaining Hierarchy Synchronizing
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 informationQuartus II Introduction Using Verilog Design
Quartus II Introduction Using Verilog Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented
More informationUsing Synplify Pro, ISE and ModelSim
Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For
More informationStart Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS
Introduction to Active-HDL TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS This tutorial will introduce the tools and techniques necessary to design a basic schematic. The goal of this tutorial is
More informationTutorial on Quartus II Introduction Using Verilog Code
Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow
More informationPCB Design Training Module
PCB Design Training Module Document Version 1.01, December 4, 2006 Software, documentation and related materials: Copyright 2006 Altium Limited. All rights reserved. You are permitted to print this document
More informationAltium Designer Viewer. Contents
Altium Designer Viewer Contents What You can do Key Features at-a-glance Supported Output Generation Viewer Environment Viewing Schematic Documents Viewing PCB Documents Searching Live Supplier Data Using
More informationUniversity of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17
Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion
More informationBuilding an Integrated Library
Building an Integrated Library Old Content - visit altium.com/documentation Modified by on 6-Nov-2013 Integrated libraries combine schematic libraries with their related PCB footprints and/or SPICE and
More informationIntroduction. About this tutorial. How to use this tutorial
Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by
More informationAltera Quartus II Tutorial ECE 552
Altera Quartus II Tutorial ECE 552 Quartus II by Altera is a PLD Design Software which is suitable for high-density Field-Programmable Gate Array (FPGA) designs, low-cost FPGA designs, and Complex Programmable
More informationEngineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board
Engineering 1630 Fall 2016 Simulating XC9572XL s on the ENGN1630 CPLD-II Board You will use the Aldec Active-HDL software for the required timing simulation of the XC9572XL CPLD programmable logic chips
More informationContents. Appendix B HDL Entry Tutorial 2 Page 1 of 14
Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating
More informationXilinx Schematic Entry Tutorial
Overview Xilinx Schematic Entry Tutorial Xilinx ISE Schematic Entry & Modelsim Simulation What is circuit simulation and why is it important? Complex designs, short design cycle Simultaneous system design
More informationand 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!
This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,
More informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationPublished on Online Documentation for Altium Products (https://www.altium.com/documentation)
Published on Online Documentation for Altium Products (https://www.altium.com/documentation) Home > Sheet Symbol Using Altium Documentation Modified by Susan Riege on Apr 11, 2017 Parent page: Schematic
More informationAltium Designer Training Module
Basics Document Version 1.2, February 2008 Software, documentation and related materials: Copyright 2008 Altium Limited. All rights reserved. You are permitted to print this document provided that (1)
More informationTo learn more about a command, dialog, object or panel, press F1 when the cursor is over that item.
Published on Online Documentation for Altium Products (https://www.altium.com/documentation) 主页 > 从理念到制造 通过Altium Designer推动PCB设计 Altium技术文档新纪元 Modified by Jun Chu on Apr 26, 2018 Welcome to the world
More informationSRL0 Serial Port Unit
Summary The serial communications port peripheral devices can be configured for communications between a microprocessor and peripheral devices, or for multiprocessor communications. This document provides
More informationFrom Idea to Manufacture - Driving a PCB Design through CircuitStudio
From Idea to Manufacture - Driving a PCB Design through CircuitStudio Modified by Susan Riege on 13-Sep-2018 Welcome to the world of electronic product development in Altium's world-class electronic design
More informationXilinx Tutorial Basic Walk-through
Introduction to Digital Logic Design with FPGA s: Digital logic circuits form the basis of all digital electronic devices. FPGAs (Field Programmable Gate Array) are large programmable digital electronic
More informationUnderstanding Design Annotation. Contents
Understanding Design Annotation Contents Annotation defined Annotation in Altium Designer Which Annotation Tool? Schematic Level Annotation Order of Processing Schematic Sheets to Annotate Annotation Scope
More informationRevision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax
Xilinx ISE WebPACK Schematic Capture Tutorial Revision: February 27, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides instruction for using the Xilinx
More informationPlanAhead Software Tutorial
PlanAhead Software Tutorial RTL Design and IP Generation The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not
More informationQuick Front-to-Back Overview Tutorial
Quick Front-to-Back Overview Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.5 If using a later software version, there
More informationECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008
1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following
More informationAltium Designer Panels. Contents
Altium Designer s Contents CAM Editor Design Compiler s Embedded s Instrument-Rack s Other Instrument s PCB Editor and PCB Library Editor s Schematic Editor and Schematic Library Editor s Scripting s Signal
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 informationMoving to Altium Designer from Protel 99 SE. Contents
Moving to Altium Designer from Protel 99 SE Contents Design Database Become a Design Workspace & Projects Importing a 99 SE Design Database Creating the Altium Designer Project(s) Manually Adding and Removing
More informationProtel 99 SE Training Manual. Schematic Capture
Protel 99 SE Training Manual Schematic Capture Software, documentation and related materials: Copyright 2001 Protel International Limited. All rights reserved. Unauthorized duplication of the software,
More informationBoise State University Digital Systems Laboratory
by S. M. Loo, Arlen Planting Department of Electrical and Computer Engineering Boise State University First Released: Spring 2005 with ISE 6.3i Updated: Fall 2006 with ISE 8.1i Updated: Spring 2009 with
More information2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using
More informationLaboratory Exercise 8
Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount
More informationEE 1315 DIGITAL LOGIC LAB EE Dept, UMD
EE 1315 DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 1: Logic building blocks The main objective of this experiment is to let you familiarize with the lab equipment and learn about the operation of the
More informationQuartus II Introduction Using Verilog Designs. 1 Introduction. For Quartus II 12.0
Quartus II Introduction Using Verilog Designs For Quartus II 12.0 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow for
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based
More informationCSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools
CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera
More informationComplete Tutorial (Includes Schematic & Layout)
Complete Tutorial (Includes Schematic & Layout) Download 1. Go to the "Download Free PCB123 Software" button or click here. 2. Enter your e-mail address and for your primary interest in the product. (Your
More informationUsing ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0
Using ModelSim to Simulate Logic Circuits in VHDL Designs For Quartus II 13.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We
More informationHow to Get Started. Figure 3
Tutorial PSpice How to Get Started To start a simulation, begin by going to the Start button on the Windows toolbar, then select Engineering Tools, then OrCAD Demo. From now on the document menu selection
More informationUsing the TASKING Pin Mapper for AURIX
Using the TASKING Pin Mapper for AURIX MA160-870 (v1.0) February 12, 2016 Copyright 2016 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such is for
More information1 Introduction 2. 2 Background 3. 3 Getting Started 4. 4 Starting a New Project 6. 5 Design Entry Using VHDL Code 13
Quartus Prime Introduction Using VHDL Designs For Quartus Prime 17.0 Contents 1 Introduction 2 2 Background 3 3 Getting Started 4 3.1 Quartus Prime Online Help................................................................................................
More informationVivado Design Suite Tutorial. I/O and Clock Planning
Vivado Design Suite Tutorial I/O and Clock Planning Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To
More informationChapter 2 Getting Hands on Altera Quartus II Software
Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building
More informationTutorial - Getting Started with PCB Design
Tutorial - Getting Started with PCB Design Old Content - visit altium.com/documentation Modified by Phil Loughhead on 3-Aug-2016 Welcome to the world of electronic product development environment in Altium
More informationStep 1: Downloading the source files
Introduction: In this lab and in the remainder of the ELEC 2607 labs, you will be using the Xilinx ISE to enter and simulate the designs for your circuits. In labs 3 and 4, you will use ISE to compile
More informationUniversity of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16
Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate
More informationInterfacing a PS/2 Keyboard
Lab 3 in SMD52 Interfacing a PS/2 Keyboard Introduction In this lab you will interface a PS/2 keyboard (standard PC keyboard) with the XSB board. Scan codes will be received from the keyboard and displayed
More informationDesigning Your Own Soft Modules
4 Objectives Learn how to create circuit schematics with OrCAD Learn how to export a circuit from OrCAD as an EDIF netlist. Learn how to import an EDIF netlist into the FastChip library as a new soft module.
More informationRTL Design and IP Generation Tutorial. PlanAhead Design Tool
RTL Design and IP Generation Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.
More informationTutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t
Tutorials Introductory Tutorials These tutorials are designed to give new users a basic understanding of how to use SIMetrix and SIMetrix/SIMPLIS. Tutorial 1: Getting Started Guides you through getting
More informationTUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES
Introduction to Active-HDL TUTORIAL #2 HIERARCHICAL DESIGNS AND TEST FIXTURES This tutorial will use the 1-bit full adder you designed in Tutorial #1 to construct larger adders. This will introduce the
More informationProbes are available for placement in the Schematic Editor only, by choosing Place» Directives» Instrument Probe [P, V, I] from the main menus.
Instrument Probe Old Content - visit altium.com/documentation Modified by Admin on Nov 18, 2013 Parent Page: Objects An Instrument Probe. Summary An instrument probe is a design directive. It instructs
More informationFrom Idea to Manufacture - Driving a PCB Design through SOLIDWORKS PCB
From Idea to Manufacture - Driving a PCB Design through SOLIDWORKS PCB Modified by Jason Howie on 24-Oct-2017 Welcome to the world of electronic product development in Altium's world-class electronic design
More informationUNIVERSITI MALAYSIA PERLIS
UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 124 LABORATORY MODULE INTRODUCTION TO QUARTUS II DESIGN SOFTWARE : INTRODUCTION TO QUARTUS II DESIGN SOFTWARE OBJECTIVES To
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 informationSCHEMATIC DESIGN IN QUARTUS
SCHEMATIC DESIGN IN QUARTUS Consider the design of a three-bit prime number detector. Figure 1 shows the block diagram and truth table. The inputs are binary signals A, B, and C while the output is binary
More informationTLL5000 Electronic System Design Base Module
TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )
More informationIntroducing Eagle PCB
ETH Course 402 0248 00L: Electronics for Physicists II (Digital) 1: Setup uc tools, introduction 2: Solder SMD AVR32 board 3: Build application around AVR32 4: Design your own PCB schematic 5: Place and
More informationSOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003
SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the
More informationLesson 1: Getting Started with OrCAD Capture
1 Lesson 1: Getting Started with OrCAD Capture Lesson Objectives Discuss design flow using OrCAD Capture Learn how to start OrCAD Capture The OrCAD Capture Start Page Open an existing Project Explore the
More informationVivado Design Suite Tutorial. I/O and Clock Planning
Vivado Design Suite Tutorial I/O and Clock Planning Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To
More informationAdding the ILA Core to an Existing Design Lab
Adding the ILA Core to an Existing Introduction This lab consists of adding a ChipScope Pro software ILA core with the Core Inserter tool and debugging a nonfunctioning design. The files for this lab are
More informationEE183 LAB TUTORIAL. Introduction. Projects. Design Entry
EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx
More informationQUARTUS II Altera Corporation
QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?
More informationI/O Pin Planning Tutorial. PlanAhead Design Tool
I/O Pin Planning Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the
More informationTiming Analysis in Xilinx ISE
Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the
More information