FPGA Block Modular Design Tutorial

Size: px
Start display at page:

Download "FPGA Block Modular Design Tutorial"

Transcription

1 FPGA Block Modular Design Tutorial Introduction This tutorial describes the Block Modular Design (BMD) methodology and relative tools in isplever that assist distributed teams in collaborating on large FPGA designs. BMD can also be employed as part of a incremental design strategy that is especially effective when isolated changes to a design are required and there is a need to minimize the impact to other modules in the design. In this tutorial you will implement a small Verilog HDL design that will be partitioned between a top-level project and two sub-module projects. Throughout the tutorial you will act both in the role of the team leader and a team member. As the team leader, you will be responsible for the organization and management of the overall project and its files, area and resource budgeting, and final assembly of all modules in the top-level project. In the role of a team member, you will be responsible for preparing sub-modules for final assembly, that is, implementing each sub-module in its own child project to create physical design (.ncd) files. Team members must coordinate their sub-module designs based on the resources and timing objectives assigned by the team leader. Learning Objectives When you have completed this tutorial, you should be able to: Understand and follow the recommended team methodology for a team to collaborate on a large FPGA design. Partition and budget logic resources for multiple sub-modules. Define the relative location of the data paths between sub-modules. FPGA Block Modular Design Tutorial 1

2 Introduction Establish location and timing objectives for the top-level design. Archive and deploy sub-module projects. Implement a sub-module project. Perform incremental verification of the top-level project. Assemble and verify the top-level project. Time to Complete This Tutorial The time to complete this tutorial is about 45 minutes. System Requirements This section lists following software requirements, installation configurations, and software versions used in this tutorial. To run this tutorial successfully through completion, ensure that you have the following: Installed version of isplever software version 5.0 SP1 or higher. Installed isplever or isplever Starter software package with active licenses for Mentor Graphics Precision RTL Synthesis or Synplicity Synplify with Verilog HDL support. At least the OEM version of Mentor Graphics Precision or Synplicity s Synplify for synthesis of HDL source files. The body of the tutorial uses the Precision synthesis flow and alternate procedures for the Synplify synthesis flow are given in the appendix. You must use the tutorial design files in the bmd_tutor.zip file in the <install>\examples\tutorial folder after installation of isplever. This tutorial bmd_tutor.pdf file you are using is located in the <install>\ispcpld\tutorial directory path. This tutorial is PC-based; however, it can also be run on UNIX/Linux if you are familiar enough with the isplever interface on both platforms. About the Tutorial Design The tutorial design is a small data path design featuring one sub-module named (multreg16) with a multiplexer, multiply, with a registered output followed by another register stage named (rotate) that provides an optional rotate function. "Block Diagram of the Tutorial Design" on page 3 provides a high level block diagram of the system. FPGA Block Modular Design Tutorial 2

3 Introduction Figure 1: Block Diagram of the Tutorial Design FPGA Block Modular Design Tutorial 3

4 Introduction The Block Modular Design Methodology This section describes the Block Modular Design (BMD) methodology and its major process steps. The tutorial follows this approach, either taking you though each procedure step-by-step, or providing you with a finished input for illustrative purposes. The following is brief overview of each step: Step 1: Block Modular Design Entry In the first step, the top-level design is written in HDL and each sub-module is instantiated along with synthesis compiler directives to treat them as black-boxes. The team leader should take special consideration that each design module is a good sub-module candidate. The isplever online help provides guidelines on this topic. See the Block Modular Design Step Guide in the FPGA Flow Help system and the Block Modular Design Wizard Help system. In the tutorial, this step is already completed for you as these source Verilog HDL design files are supplied. Step 2: Block Modular Design Synthesis In the second step, the RTL of each sub-module is synthesized. This step can be performed in parallel with or before Step 3; however, the device resource utilization report generated by logic synthesis will help ease the team leader s task of budgeting area size and region for each sub-module in Step 3. The tutorial guides you through synthesis of the top-level and sub-module designs using Precision RTL Synthesis and Synplify. Synplify synthesis flow procedures are given in the appendix. Step 3: Top-Level Block Module Configuration During Step 3, the team leader budgets logic resources and the location of each sub-module on the target device floorplan. The size and location of each sub-module must accommodate the synthesized logic produced in Step 2. Timing constraints are initially defined in this step. Global device resources like I/Os and PLLs are also assigned at this point. The team leader should adhere to the configuration requirements described in isplever online help in the Top-Level Design Configuration Requirements topic in the Block Modular Design Step Guide in the FPGA Flow Help. In the tutorial, preferences are already set for you in a supplied preference file and can be viewed to illustrate how a designer takes existing area and resource considerations into account. Step 4: Block Module Implementation In Step 4, each sub-module is implemented by respective team members concurrently to produce physical design (.ncd) files to be merged next step, that is, final assembly. The toplevel or parent project lends its logical translated netlist (.ngo) file and logical preference (.lpf) file to guide this process. Each sub-module is implemented into.ncd files ready for final assembly with other sub-modules and the top-level project. Timing objectives established in Step 3 by the team leader are applied and often extended by the team member responsible for the sub-module. The tutorial guides you through this step. Step 5: Block Modular Design Assembly In the final assembly step, the top-level and all sub-modules are merged together into one design. The tutorial guides you through this step. FPGA Block Modular Design Tutorial 4

5 Introduction The Tutorial Process Flow This section describes the sequence of processors and major data files you will apply during the tutorial tasks. The tutorial tasks lead you through the typical routine within the isplever design environment to follow the BMD methodology described earlier. Figure 2: Top-Level Process Flow FPGA Block Modular Design Tutorial 5

6 Introduction Figure 3: Sub-Module Process Flow Before You Begin Before beginning, you must set up the tutorial design files to be used with this tutorial. To work with this tutorial, please take the following steps: 1. Go to the <install_dir>\examples\tutorial\bmd_tutor directory and create a directory called isplever to work with this tutorial. Please note that you can set up your tutorial directory anywhere you wish; however, this tutorial will instruct you to this file path in procedures. All files in this isplever folder will be consistent in a relative manner to whatever file path you use to run this tutorial, that is, all recursive directories and files should be the same. 2. In the <install_dir>\examples\tutorial\bmd_tutor folder, open the bmd_tutor.zip file and extract the files to the same directory path or to the bmd_tutor folder. Restoring the Tutorial Installation After running through this tutorial one time, you may want to repeat it or allow someone else to run it locally or over the network. To restore the original state of the tutorial installation, remove contents of the isplever sub-directory you created in the bmd_tutor directory. The original source files for this tutorial will remain undisturbed in the bmd_tutor.zip file in the source directory in.\examples\tutorial\bmd_tutor. FPGA Block Modular Design Tutorial 6

7 Task 1: Top-Level Module Design Entry and Synthesis Task 1: Top-Level Module Design Entry and Synthesis In this task, you act in the role as the team leader and examine a pre-defined top-level tutorial design using Synplicity Synplify Pro for Lattice. The top-level design is written in Verilog HDL and each sub-module is instantiated along with synthesis compiler directives to treat each as a black-box. Black boxes are passed into the EDIF netlist as-is with no internal logic defined. "Block Diagram of the Tutorial Design" on page 3 illustrates the top-level organization and sub-module interconnect between sub-modules multreg16 and rotate. Top-Level Synthesis with Synplify Pro for Lattice Use the following procedure to synthesize the design using Synplify Pro for Lattice. To create a Synplify project, inspect the top-level design, and synthesize it to EDIF: 1. From the Start menu, select Programs > Lattice Semiconductor > Accessories > Synplify Pro for Lattice. The Synplicity Synplify Pro for Lattice interface appears. 2. Select File > New Project. A default project Temp.prj appears and defaults to save to some location on your local hard disk. 3. On the button bar on the left of the Project View, click the Add File button. The Select Files to Add to Project dialog appears. 4. Browse to the..\examples\tutorial\bmd_tutor folder, control-click to select both the veriloghdsn.v and LatticeEC_66MHz_PLL.v files, click <- Add, and then click OK. FPGA Block Modular Design Tutorial 7

8 Task 1: Top-Level Module Design Entry and Synthesis 5. In the Project View, expand the project hierarchy and drag and drop the veriloghdsn.vhd file to the bottom of the Verilog folder file list. Note that your project device could show a previous implementation. Ignore this. We will specify our target device later in the procedure. 6. Create a folder...\examples\tutorial\bmd_tutor\synplify\veriloghdsn. 7. In Synplify Pro, select File > Save. The Save As dialog appears. 8. Browse to the...\examples\tutorial\bmd_tutor\synplify\veriloghdsn folder, specify veriloghdsn.prj, and click Save. FPGA Block Modular Design Tutorial 8

9 Task 1: Top-Level Module Design Entry and Synthesis 9. Click on the Implementation Options button. An Implementation dialog for the veriloghdsn project rev_1 appears. 10. In the default Device tab, select the following settings: Technology: LatticeECP Part: LFECP6E Speed Grade: -4 Package: T144I 11. Click the Implementation Results tab in the dialog and select the following: Results Directory:...\examples\tutorial\bmd_tutor\isplever\veriloghdsn Result File Name: veriloghdsn.edn 12. Click OK. 13. In the Project View, expand your project hierarchy under the Verilog tab and double click on veriloghdsn.v to open the file. The top-level Verilog module appears in the Text Editor. 14. Page down to the module declarations for multreg16 and rotate. Make note of the Synplify compiler directives added to the module declarations of multreg16 and rotate. The syn_black_box command directs the compiler to pass the module instance untouched into the EDIF netlist. module multreg16(q, dataa, datab, datac, sel, clk, rst) /* synthesis syn_black_box */; output [15:0] q; input [7:0] dataa, datab, datac; input clk /* synthesis syn_isclock = 1 */; input sel, rst; reg [15:0] q; endmodule FPGA Block Modular Design Tutorial 9

10 Task 1: Top-Level Module Design Entry and Synthesis module rotate(q, data, clk, r_l, rst) /* synthesis syn_black_box */; output [15:0] q; input [15:0] data; input clk /* synthesis syn_isclock = 1 */; input r_l, rst; 15. Click the Run button. Synplify creates an output EDIF netlist (veriloghdsn.edn) for the implementation. 16. In the Implementation Results View, double click the veriloghdsn.edn file. The netlist opens in the text editor. FPGA Block Modular Design Tutorial 10

11 Task 2: Sub-Module Design Entry and Synthesis Task 2: Sub-Module Design Entry and Synthesis In this task, you will act in the role of a team member responsible for the design of a sub-module. You will synthesize the tutorial HDL source files for each sub-module. In this scenario you define and optionally debug sub-module logic that is independent of the top-level design or other sub-modules. After synthesis you will use the utilization report of the compiler to make a rough estimate of the FPGA resources that will be required to accommodate the sub-module. This information will help the team leader make a better choice about location and size of the sub-module on the device floorplan. Sub-Module Synthesis of multreg16 with Synplify Pro Use the following procedure to synthesize the design using Synplify. To create a Synplify project for the sub-module and synthesize it to EDIF: 1. If Synplify is not already running, from the Start menu, select Programs > Lattice Semiconductor > Accessories > Synplify Pro for Lattice. The Synplicity Synplify for Lattice interface appears. 2. Select File > New Project. 3. A default project proj.temp appears. 4. Click the Add File button. The Select Files to Add to Project dialog appears. 5. Browse to the.\bmd_tutor folder, select multreg16.v, click <- Add, and then click OK. 6. Create a folder...\examples\tutorial\bmd_tutor\synplify\multreg Select File > Save. The Save As dialog appears. 8. Browse to the...\examples\tutorial\bmd_tutor\synplify\multreg16 folder, specify multreg16.prj, and click Save. 9. Click on the Implementation Options button. An Implementation dialog for the multreg16 project rev_1 appears. 10. In the default Device tab and select the following: Technology: LatticeECP Part: LFECP6E Speed Grade: -4 Package: T144I Device Mapping Options: Disable I/O Insertion (Enable) 11. Click the Implementation Results tab in the dialog and select the following: Results Directory:...\examples\tutorial\bmd_tutor\Synplify\multreg16 Result File Name: multreg16.edn 12. Click OK. 13. Select the multreg16.prj project in the Project View. FPGA Block Modular Design Tutorial 11

12 Task 2: Sub-Module Design Entry and Synthesis 14. Click the Run button. Synplify Pro creates an output EDIF netlist (multreg16.edn) for the implementation. 15. Double click the log file multreg16.srr. Note the Resource Usage Report section of the log file. This estimate of physical FPGA resources required to accommodate the sub-module is helpful information for the lead system engineer when the entire design is budgeted. In this example the following resources will be required: Register bits: 0 of 6144 => 0 slices required for register logic. DSP primitives: 1 => 1 sysdsp block required for the MULT9X9 inferred by the multiply operator and registered output. ORCALUT4: 8 => 4 slices (or 1 PFU) required to accommodate the multiplexer logic Resource Usage Report Part: lfecp6e-4 Register bits: 0 of 6144 (0%) I/O cells: 0 DSP primitives: 1 Details: MULT9X9: 1 ORCALUT4: 8 VHI: 1 VLO: Select File > Save. Sub-Module Synthesis rotate with Synplify Pro Use the following procedure to synthesize the rotate sub-module design using Synplify. 1. Repeat steps 2 through 14 from the procedure above using the rotate.v source file. Use the same folder naming convention as you did for multreg Double-click the log file rotate.srr. The following resources will be required: Register bits: 16 of 6144 => 8 slices (or 2 PFUs) required for register logic. ORCALUT4: 16 => 8 slices (or 2 PFUs) required for other logic Resource Usage Report Part: lfecp6e-4 Register bits: 16 of 6144 (0%) I/O cells: 0 Details: FD1S3DX: 16 ORCALUT4: 16 VHI: 1 FPGA Block Modular Design Tutorial 12

13 Task 2: Sub-Module Design Entry and Synthesis VLO: 1 3. Select the rotate.prj window. 4. Select File > Save. 5. Select File > Exit. 6. Go to "Task 3: Top-Level Block Module Configuration" on page 14. FPGA Block Modular Design Tutorial 13

14 Task 3: Top-Level Block Module Configuration Task 3: Top-Level Block Module Configuration In this task, you will act again as the team leader and budget logic resources for each sub-module, assign I/Os, and define top-level timing objectives. To get started, you will first set up your BMD parent project which contains your top-level design and import all of your sub-modules into it. In reality, you are reserving area on the chip for the sub-modules prior to actually incorporating the sub-module logic into the final design. Sub-module area resources are defined using the isplever Block Modular Design Wizard (BMD Wizard) application. In the BMD Wizard, the Device Region view provides an abstraction of the device floorplan to help you interactively locate and assign specific physical resources for each submodule. The primary outputs of the BMD Wizard are MODULE preferences stored as part of the top-level preference file and a sub-module project file (.syn) for the isplever Project Navigator. MODULE preferences specify allowable regions for placement of sub-module resources. Figure 4: Simplified LatticeECP-DSP Block diagram and Sub-modules "Simplified LatticeECP-DSP Block diagram and Sub-modules" on page 14 shows the simplified block diagram of the ECP6 device s hardware resources illustrating approximately where the two sub-modules will be located. The following are examples of key design characteristics that will influence module size and location: Position of top-level signal and logic contained in PICs. In the tutorial design, external ports: a, b, and c occupy PICs of the lefthand side. FPGA Block Modular Design Tutorial 14

15 Task 3: Top-Level Block Module Configuration Sub-module data flow. In the tutorial design, the reg_out bus between multreg16 and rotate implies where they should be in proximity. Logic resources required. In the tutorial, by reviewing the device resources required for each sub-module during "Task 2: Sub-Module Design Entry and Synthesis" on page 11, it was discovered that each submodule requires a small number of slice resources. We know that multreg16 must be positioned so that a sysdsp block resource is available for the 9X9 MULT component inferred during logic synthesis. Defining Sub-Modules and Budgeting Logic Resources In the following procedures you will define the sub-module projects and allocate specific physical resources to for each using the BMD Wizard. You must, however, first create your top-level project. Creating your top-level project In this step you will create the top-level project for your block modular design. This is the parent project that will be used to merge the other child project sub-module designs into one merged design. Note that you should have already set up the..\bmd_tutor\isplever folder as described in the section, "Before You Begin" on page 6. To create a project for the top-level design: 1. Start the isplever system, if it is not already running. 2. In Project Navigator, select File > New Project to open the Project Wizard dialog box. Note that if the Create New Project dialog appears instead of the Project Wizard, select Options > Environment to change the default setting. In the Advanced tab, the Use Project Wizard to Create New Design option should be checked. 3. In the Project Wizard dialog box, select or specify the following: Project Name: veriloghdsn Location:...\examples\tutorial\bmd_tutor\ispLEVER Design Entry Type: EDIF Synthesis Tools: Synplify Click Next. FPGA Block Modular Design Tutorial 15

16 Task 3: Top-Level Block Module Configuration 4. In the Project Wizard Select Device dialog box, select the following options and click Next: Family: LatticeECP Device: LFECP6E Speed Grade: -4 Package Type: TQFP144 Operating Conditions: Industrial FPGA Block Modular Design Tutorial 16

17 Task 3: Top-Level Block Module Configuration 5. In the Project Wizard Add Source dialog box, select Add Source. 6. In the Import File (EDIF) dialog, browse to the veriloghdsn_impl_1 directory in..\bmd_tutor\synplify\veriloghdsn\rev_1 and select veriloghdsn.edn, click Open. 7. In the Project Wizard Project Information dialog box, click Finish. The new EDIF-based project is created with an EDIF netlist of the tutorial design added to the source file list in the Sources window. Floorplanning and project setup in the BMD Wizard In the next procedure you will first convert the EDIF netlist into a logical database (.ngd) file in Project Navigator and then use the Block Modular Wizard to budget area placement of sub-modules on the device floorplan. Figure 2, "Top-Level Process Flow" on page 5 illustrates the data flow details. To create a logical netlist reader file (.ngo) and launch the BMD Wizard. 1. Select the top-level veriloghdsn.edn file in the Sources window. This is named verilog_hierarchical_design. 2. In the Processes window, double-click Compile EDIF File process for the current source list. FPGA Block Modular Design Tutorial 17

18 Task 3: Top-Level Block Module Configuration The Report Viewer will automatically open the automake.log file showing all the process commands and indicating it has completed successfully. 3. In the Report Viewer, click File > Exit to close the automake.log. 4. In Project Navigator, select Tools > Block Modular Design Wizard or click the BMD Wizard icon in the toolbar. The BMD Wizard appears. 5. Look in the Device Region view on the right. In the Device Region view, an abstract, top-level representation of the ECP6 device floorplan appears. The gray shaded boxes indicate PFUs, a row of blue colored boxes indicate sysdsp blocks, and the second row of rectangular boxes indicate sysmem EBR memory blocks. 6. Click the Zoom In button on the toolbar to increase the view of the ECP6 floorplan. 7. Place your cursor over the first shaded box top-left in the top left. The floorplan coordinate, R2C2D, appears in a yellow box to the upper right of the Device Region view. FPGA Block Modular Design Tutorial 18

19 Task 3: Top-Level Block Module Configuration Experiment with this dynamic reporting by moving the cursor over the floorplan. The anchor point for module definitions must be located at a slice coordinate. 8. Select Settings > Sub Module. The Sub Module Settings dialog box appears. 9. In the Sub Module Settings dialog, click Create. The Create Module dialog box appears. 10. In the Create Module dialog, specify the following and click OK: Module Name: multreg16 Display Color: (As Desired) Site: Row: 2 Site: Column: 2 BBox: Height: 9 BBox: Width: 8 FPGA Block Modular Design Tutorial 19

20 Task 3: Top-Level Block Module Configuration Note: If a Block Modular Design Wizard dialog box appears, select Yes. A colored region named multreg16 appears in the upper left area of the floorplan. 11. In the Sub Module Settings dialog, click Create. The Create Module dialog box appears. 12. In the Create Module dialog, specify the following and click OK: Module Name: rotate Display Color: As Desired Site: Row: 2 Site: Column: 10 BBox: Height: 8 BBox: Width: 6 FPGA Block Modular Design Tutorial 20

21 Task 3: Top-Level Block Module Configuration Note: If a Block Modular Design Wizard dialog box appears, select Yes. A colored region named rotate appears in the upper left area of the floorplan. 13. In the Sub Module Settings dialog, click Close. 14. Select the multreg16 source file icon in the Projects window. You can also click on the sub-module multreg16 region in the Device Region view. The module definition and resources included within its dimensions is reported in the Message Board tab: Module "multreg16": Site [Row 2, Column 2]; BBox [Height 9, Width 8] => 64 PFUs, 256 Slices In the earlier tasks you examined the physical resource estimates reported by logic synthesis. The two sub-modules defined here will provide plenty of logic to hold the synthesized logic, and in the case of the multreg16 sub-module, the design requires a sysdsp block to accommodate the MULT9X Click the DRC Check button in the toolbar. The BMD Wizard confirms the basic module definition rules pass and reports no errors. 16. In the popup dialog, click OK at the BMD Wizard prompt. FPGA Block Modular Design Tutorial 21

22 Task 3: Top-Level Block Module Configuration 17. Click the Save Module Region button in the toolbar. This will save those MODULE definitions to the top-level preference (.lpf) file. 18. Select File > Exit. The BMD Wizard creates new project resources and an updated top-level preference file. The following new isplever project files and subdirectories are created: isplever project file:...\bmd_tutor\isplever\veriloghdsn\multreg16\multreg16.syn isplever project file:...\bmd_tutor\isplever\veriloghdsn\rotate\rotate.syn Top-level preference file: veriloghdsn.lpf 19. In the Sources window in Project Navigator, select the LFECP6E-4T144I device icon. On the right, the Processes window display will show the implementation flow. Take notice of following two processes particular to the Block Modular Design flow: Build Toplevel Database Assemble Database 20. In the Processes window under the Build Toplevel Database process, double-click Edit Preferences (ASCII). The top-level preference file appears in the Text Editor. Note the module preferences created by the BMD Wizard in the logical preference (.lpf) file: INDUSTRIAL ; BLOCK RESETPATHS ; BLOCK ASYNCPATHS ; MODULE "multreg16" BBOX 9 8 SITE "R2C2D" ; MODULE "rotate" BBOX 8 6 SITE "R2C10D" ; Note Please note that error messages may appear from NGDBUILD in the automake.log file reporting missing sub-module.ncd files. These messages can be safely ignored. For example, the errors may appear as follows: ERROR - ngdbuild: Failed to open file 'multreg16/multreg16.ncd' ERROR - ngdbuild: Failed to open file 'rotate/rotate.ncd' 21. Select File > Exit to close the Text Editor. 22. If open, choose File > Exit to close the Report Viewer. Importing top-level location and timing constraints In the next procedure you will import predefined location and timing preferences for the top-level design. Normally, you would use the Design Planner (Pre-Map) process in Project Navigator to establish these constraints. We have already set these constraints for you, so you only need to import the tutorial preference file into your project. FPGA Block Modular Design Tutorial 22

23 Task 3: Top-Level Block Module Configuration To import location and timing preferences: 1. Select Source > Import Constraint/Preference File. The Import Preference File dialog box appears. 2. Navigate to the.\bmd_tutor directory where you extracted your tutorial zip file, select veriloghdsn.lpf and click Open. 3. In the Import Constraints dialog box, click OK. The software will automatically create a backup preference file with the.bak extension. 4. Select No in the dialog that prompts you to reset your project status. You have completed this task. 5. Save your project and close isplever. Note The Block Modular Design approach was designed for a distributed team environment. After the Top-level Block Module Configuration step, you will typically use the Project Navigator Archive Project feature to create a ZIP archive of each sub-module project and related resources in preparation to deploy them to team members. In the tutorial procedures you will implement and assemble the entire design on the same system. Go to "Task 4: Block Module Implementation" on page 24. FPGA Block Modular Design Tutorial 23

24 Task 4: Block Module Implementation Task 4: Block Module Implementation In this task, you will act in the team member role and implement the two submodules, multreg16 and rotate, as shown in Figure 1, "Block Diagram of the Tutorial Design" on page 3. The output of this task is a physical database (NCD) file for each sub-module to be used in the final assembly stage in the top-level project. Be aware that in a real design scenario each one of these sub-module projects can be implemented in parallel by team members. See Figure 3, "Sub-Module Process Flow" on page 6 for details of the sub-module process flow. To implement the sub-module projects: 1. Start the isplever system, if it is not already running. Notice that you will see the multreg16 and rotate projects you created earlier in the BMD Wizard in the Project Navigator Sources window and the top-level design indicates that its database been assembled to this point. 2. In Project Navigator s Sources in Project window, double click the multreg16.syn file beneath the parent, top-level veriloghdsn.syn project. This will bring up the multreg16 sub-module project in another Project Navigator window. 3. Select Source > Import. The Import Source dialog box appears. 4. In the file path \bmd_tutor\synplify\multreg16\rev_1 select the multreg16.edn file and click Open. 5. In the Processes window under Map Design, double-click Map Report (multreg16.mrp). The design mapper runs and the Map Report (.mrp) file appears. FPGA Block Modular Design Tutorial 24

25 Task 4: Block Module Implementation Take note of the sub-module resource utilization shown in Map Report file. Unlike a typical MRP file, this sub-module Map report reflects design resources allocated by the team leader in "Task 3: Top-Level Block Module Configuration" on page 14. For example, the number of module SLICEs reflects the number of slices used within the sub-module border for multreg16 defined earlier in the BMD Wizard. From the Map Report file: Module Design Summary Number of SLICEs: 8 out of 256 (3%) SLICEs(logic/ROM): 8 out of 192 (4%) SLICEs(logic/ROM/RAM): 0 out of 64 (0%) As RAM: 0 As Logic/ROM: 0 Number of PFU registers: 0 Number of logic LUT4s: 8 Number of distributed RAM: 0 (0 LUT4s) Number of ripple logic: 0 (0 LUT4s) Number of shift registers: 0 Total number of LUT4s: 8 Number of block RAMs: 0 out of 0 Number Of Mapped DSP Components: MULT36X36 0 MULT18X18 0 MULT18X18MAC 0 MULT18X18ADDSUB 0 MULT18X18ADDSUBSUM 0 MULT9X9 1 MULT9X9MAC 0 MULT9X9ADDSUB 0 MULT9X9ADDSUBSUM Number of used DSP Sites: 1 out of 8 (12 %) Complete Design Summary Number of registers: 0 PFU registers: 0 PIO registers: 0 Number of SLICEs: 8 out of 3072 (0%) SLICEs(logic/ROM): 8 out of 2304 (0%) SLICEs(logic/ROM/RAM): 0 out of 768 (0%) As RAM: 0 As Logic/ROM: 0 Number of logic LUT4s: 8 Number of distributed RAM: 0 (0 LUT4s) Number of ripple logic: 0 (0 LUT4s) Number of shift registers: 0 Total number of LUT4s: 8 Number of PIO sites used: 27 out of 97 (28%) 6. Click File > Exit to close the Report Viewer. FPGA Block Modular Design Tutorial 25

26 Task 4: Block Module Implementation 7. In the Processes window, double-click Place & Route Design. The Project Navigator implements the sub-module project with the constraints you imported. Note Note here that the Place & Route Design process may not appear as though it has successfully completed routing. Please check the automake log file window to ensure it has so you can proceed. Also, it is likely that this process will not complete without some warning or error messages causing the yellow exclamation point symbol to appear next to the process in the Processes window instead of the expected green check mark. Please be aware that there are many false warning and error messages associated with this process flow that can be safely ignored. Please refer to the Block Modular Design Troubleshooting topic in the Block Modular Design Step Guide in the FPGA Flow Help for details. 8. Click File>Save to save your sub-module design project. 9. In Project Navigator s Sources in Project window, double click on the veriloghdsn top-level project icon. Your top-level project will open. 10. In Project Navigator s Sources in Project window, double click the rotate.syn file beneath the parent, top-level veriloghdsn.syn project to open it. 11. Repeat steps 2 through 7 for the rotate.syn sub-module project. Note The Block Modular Design approach was designed for a distributed team environment. After the Block Module Implementation step, you will typically use the Project Navigator Archive Project feature to create a ZIP archive of each sub-module project and related resources and return it to the team leader for assembly. In the next step, you will implement and assemble the entire design on the same system. Go to "Task 5: Block Modular Design Assembly" on page 27 FPGA Block Modular Design Tutorial 26

27 Task 5: Block Modular Design Assembly Task 5: Block Modular Design Assembly In this final task, you will act as the team leader and merge all sub-modules with the top-level design. Refer to Figure 2, "Top-Level Process Flow" on page 5 for details of the process flow. Verifying Sub-module Project Status Before you assemble the design, take notice of the Project hierarchy tree in the Sources in Project window in Project Navigator. This shows all of the submodule projects present in the top-level design. Each sub-module project is represented with a <project_name>.syn file name next to the project icon. You can double click on these different project file icons to jump back and forth between projects. In addition, the top-level designer can check on the readiness of the submodule designs in the in the Sources in Project window automatically. If there is a green check mark by a submodule, it has been successfully placed and routed. No check mark indicates the submodule is not ready. After this step has been completed, both submodule projects should have check marks by them in the Sources window. To assemble the top-level design: 1. Start the isplever system, if it is not already running. 2. In the Project Navigator, select File > Open Project. The Open Project dialog box appears. 3. Browse to the.\bmd_tutor\isplever folder, select veriloghdsn.syn, and click Open. The parent block modular design project veriloghdsn appears. 4. Click on the Device icon in the Sources window to view the implementation processes in the Processes window on the right. FPGA Block Modular Design Tutorial 27

28 Task 5: Block Modular Design Assembly 5. In the Processes window, double-click the Design Planner (Post-Map) process. The Design Planner opens in the default Spreadsheet view. 6. In the Spreadsheet view, click File > Close View. 7. From the Design Planner Control window select View > Floorplan View. The ECP6 floorplan appears. Note the colored regions in the upper left. These indicate sub-module preferences created earlier by the BMD Wizard. The Floorplanner displays the MODULE preference in a read-only mode as a colored border to represent the bounding box of the area. To directly edit a MODULE preference you must use the BMD Wizard or the ASCII Text Editor to modify the preference file. FPGA Block Modular Design Tutorial 28

29 Task 5: Block Modular Design Assembly 8. In the Floorplan View, click the Show Ratsnets button in the toolbar to enable this feature and zoom in to see the connections. In this Floorplan view, notice that colored lines showing signal routes are now visible. These signals were imported from the sub-module projects. Cyan colored lines indicate routed signals and yellow lines indicate partially routed signals between modules. In the final place-and-route assembly phase these logical connections will be routed. 9. In the Floorplan view, click File > Close View. 10. From the Design Planner Control window, select File > Exit. 11. In the popup dialog prompting you to save the changed design select No. 12. In the Processes window in Project Navigator, double-click Place & Route Design. The PAR program connects the remaining connections for the design. You have completed this tutorial. FPGA Block Modular Design Tutorial 29

30 Task 5: Block Modular Design Assembly FPGA Block Modular Design Tutorial 30

FPGA Block Modular Design Tutorial

FPGA Block Modular Design Tutorial FPGA Block Modular Design Tutorial Introduction This tutorial describes the Block Modular Design (BMD) methodology and relative tools in isplever that assist distributed teams in collaborating on large

More information

Generating Parameterized Modules and IP Cores

Generating Parameterized Modules and IP Cores Generating Parameterized Modules and IP Cores Table of Contents...3 Module 1: Verilog HDL Design with LPMs Using the Module/IP Manager...4 Task 1: Create a New Project...5 Task 2: Target a Device...7 Task

More information

Actel 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 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 information

PlanAhead Software Tutorial

PlanAhead Software Tutorial PlanAhead Software Tutorial Team Design NOTICE OF DISCLAIMER: The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog 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 information

Programming and Logic Analysis Tutorial

Programming and Logic Analysis Tutorial Programming and Logic Analysis Tutorial Lattice Semiconductor Corporation 5555 NE Moore Court Hillsboro, OR 97124 (503) 268-8000 May 2007 Copyright Copyright 2007 Lattice Semiconductor Corporation. This

More information

Using the ispxpga Floorplanner

Using the ispxpga Floorplanner Using the ispxpga Floorplanner Table of Contents USING THE ISPXPGA FLOORPLANNER...3 Task 1: Open the Design...4 Task 2: Open a Floorplanner Design File...5 Task 3: Tour the Graphical User Interface - The

More information

FPGA Design with isplever Tutorial

FPGA Design with isplever Tutorial FPGA Design with isplever Tutorial Lattice Semiconductor Corporation 5555 NE Moore Court Hillsboro, OR 97124 (503) 268-8000 April 2008 Copyright Copyright 2008 Lattice Semiconductor Corporation. This document

More information

Lattice Semiconductor Design Floorplanning

Lattice 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 information

PlanAhead Release Notes

PlanAhead 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 information

PlanAhead Software Tutorial

PlanAhead 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 information

AN 839: Design Block Reuse Tutorial

AN 839: Design Block Reuse Tutorial AN 839: Design Block Reuse Tutorial for Intel Arria 10 FPGA Development Board Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents

More information

Intel Quartus Prime Pro Edition User Guide

Intel Quartus Prime Pro Edition User Guide Intel Quartus Prime Pro Edition User Guide Block-Based Design Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Block-Based Design Flows...

More information

Quick Front-to-Back Overview Tutorial

Quick 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 information

13. LogicLock Design Methodology

13. LogicLock Design Methodology 13. LogicLock Design Methodology QII52009-7.0.0 Introduction f Available exclusively in the Altera Quartus II software, the LogicLock feature enables you to design, optimize, and lock down your design

More information

isplever Reed-Solomon Encoder User s Guide October 2005 ipug05_03.0

isplever Reed-Solomon Encoder User s Guide October 2005 ipug05_03.0 isplever TM CORE Reed-Solomon Encoder User s Guide October 2005 ipug05_03.0 Introduction Lattice s Reed-Solomon Encoder core provides an ideal solution that meets the needs of today s Reed-Solomon applications.

More information

Using Synplify Pro, ISE and ModelSim

Using 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 information

Block-Based Design User Guide

Block-Based Design User Guide Block-Based Design User Guide Intel Quartus Prime Pro Edition Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Block-Based

More information

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers

More information

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

More information

RTL Design and IP Generation Tutorial. PlanAhead Design Tool

RTL 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 information

Using Project Navigator

Using Project Navigator UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Overview Xilinx Project Navigator is an Integrated Development Environment for digital

More information

Using the LogicLock Methodology in the

Using the LogicLock Methodology in the Using the LogicLock Methodology in the Quartus II Design Software June 2003, ver. 3.3 Application Note 161 Introduction TM Available exclusively in the Altera Quartus II software, the LogicLock TM block-based

More information

IP Module Evaluation Tutorial

IP Module Evaluation Tutorial isplevercore TM IP Module Evaluation Tutorial Table Of Contents Getting Started... 2 Other Tutorial Versions and Formats... 2 Supported Technologies... 2 Tutorial Location... 2 Directory Path Description...

More information

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Best 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 information

2D Edge Detector IP Core User s Guide

2D Edge Detector IP Core User s Guide 2D Edge Detector IP Core User s Guide February 2011 IPUG86_01.0 Table of Contents Chapter 1. Introduction... 3 Quick Facts... 3 Features... 3 Chapter 2. Functional Description... 4 Key Concepts... 4 Block

More information

Vivado Design Suite User Guide

Vivado 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 information

and 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!

and 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 information

FPGA Design Tutorial

FPGA Design Tutorial ECE 554 Digital Engineering Laboratory FPGA Design Tutorial Version 5.0 Fall 2006 Updated Tutorial: Jake Adriaens Original Tutorial: Matt King, Surin Kittitornkun and Charles R. Kime Table of Contents

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

Using the LogicLock Methodology in the

Using the LogicLock Methodology in the Using the LogicLock Methodology in the Quartus II Design Software December 2002, ver. 3.2 Application Note 161 Introduction TM Available exclusively in the Altera Quartus II software, the LogicLock TM

More information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN STRATEGIES & TOOLS UTILIZED CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The

More information

UNIVERSITY 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 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 information

Lattice Diamond User Guide

Lattice Diamond User Guide Lattice Diamond User Guide Copyright Copyright 2012 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic

More information

PLD Design Flow: GAL, Verilog

PLD Design Flow: GAL, Verilog Summary PLD Design Flow: GAL, Verilog This document describes the step-by-step process to create, simulate, and implement a digital design on a GAL PLD using the Cadence/Orcad design suite for simulation

More information

SmartTime for Libero SoC v11.5

SmartTime for Libero SoC v11.5 SmartTime for Libero SoC v11.5 User s Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Using the Vivado IDE Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To

More information

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used

More information

CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences

CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences CS152 FPGA CAD Tool Flow University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Compiled: 4/3/2003 for CS152 Spring 03, Prof. John Kubiatowicz

More information

Tutorial 2 Implementing Circuits in Altera Devices

Tutorial 2 Implementing Circuits in Altera Devices Appendix C Tutorial 2 Implementing Circuits in Altera Devices In this tutorial we describe how to use the physical design tools in Quartus II. In addition to the modules used in Tutorial 1, the following

More information

Intel Quartus Prime Pro Edition User Guide

Intel Quartus Prime Pro Edition User Guide Intel Quartus Prime Pro Edition User Guide Design Compilation Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Design Compilation...

More information

AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board

AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board AN 826: Hierarchical Partial Reconfiguration Tutorial for Stratix 10 GX FPGA Development Board Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF

More information

Vivado Design Suite User Guide

Vivado 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 information

Analyzing Designs with Quartus II Netlist Viewers

Analyzing Designs with Quartus II Netlist Viewers 19 QII51013 Subscribe This chapter describes how you can use the Quartus II Netlist Viewers to analyze and debug your designs. As FPGA designs grow in size and complexity, the ability to analyze, debug,

More information

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0 Quartus II Tutorial September 10, 2014 Quartus II Version 14.0 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with Modelsim, and downloading

More information

Power Estimation and Management for LatticeECP/EC and LatticeXP Devices

Power Estimation and Management for LatticeECP/EC and LatticeXP Devices for LatticeECP/EC and LatticeXP Devices September 2012 Introduction Technical Note TN1052 One of the requirements when using FPGA devices is the ability to calculate power dissipation for a particular

More information

Altera Technical Training Quartus II Software Design

Altera Technical Training Quartus II Software Design Altera Technical Training Quartus II Software Design Exercises Quartus II Software Design Series: Foundation 2 Quartus II Software Design Series: Foundation Exercises Exercise 1 3 Exercises Quartus II

More information

Don t expect to be able to write and debug your code during the lab session.

Don 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 information

Implementation of a Fail-Safe Design in the Spartan-6 Family Using ISE Design Suite XAPP1104 (v1.0.1) June 19, 2013

Implementation of a Fail-Safe Design in the Spartan-6 Family Using ISE Design Suite XAPP1104 (v1.0.1) June 19, 2013 Implementation of a Fail-Safe Design in the Spartan-6 Family Using ISE Design Suite 12.4 Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection

More information

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. 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 information

Gamma Corrector IP Core User Guide

Gamma Corrector IP Core User Guide Gamma Corrector IP Core User Guide March 2015 IPUG64_1.3 Table of Contents Chapter 1. Introduction... 4 Quick Facts... 4 Features... 5 Chapter 2. Functional Description... 6 Block Diagram... 6 Gamma Correction

More information

PlanAhead Software Tutorial

PlanAhead Software Tutorial RTL Design and IP Generation with CORE Generator UG 675 (v 12.1) May 3, 2010 Xilinx is disclosing this Document and Intellectual Property (hereinafter the Design ) to you for use in the development of

More information

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with

More information

Lattice Diamond User Guide

Lattice Diamond User Guide Lattice Diamond User Guide Copyright Copyright 2010 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic

More information

PlanAhead Software Tutorial

PlanAhead Software Tutorial RTL Design and IP Generation with CORE Generator UG 675 (v 12.3) September 21, 2010 Xilinx is disclosing this Document and Intellectual Property (hereinafter the Design ) to you for use in the development

More information

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS VIVADO TUTORIAL- TIMING AND POWER ANALYSIS IMPORTING THE PROJECT FROM ISE TO VIVADO Initially for migrating the same project which we did in ISE 14.7 to Vivado 2016.1 you will need to follow the steps

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS 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 information

Lattice Diamond User Guide

Lattice Diamond User Guide Lattice Diamond User Guide August 2013 Copyright Copyright 2013 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to

More information

Using Verplex Conformal LEC for Formal Verification of Design Functionality

Using Verplex Conformal LEC for Formal Verification of Design Functionality Using Verplex Conformal LEC for Formal Verification of Design Functionality January 2003, ver. 1.0 Application Note 296 Introduction The Altera Quartus II software, version 2.2, easily interfaces with

More information

Tutorial for Altera DE1 and Quartus II

Tutorial 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 information

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

1 Design Process HOME CONTENTS INDEX. For further assistance,  or call your local support center 1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with

More information

ChipScope Demo Instructions

ChipScope Demo Instructions UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Overview ChipScope is an embedded, software based logic analyzer. By inserting an intergrated

More information

Median Filter IP Core User s Guide

Median Filter IP Core User s Guide Median Filter IP Core User s Guide December 2010 IPUG87_01.0 Table of Contents Chapter 1. Introduction... 4 Quick Facts... 4 Features... 4 Chapter 2. Functional Description... 6 Key Concepts... 6 Block

More information

UG0787 User Guide PolarFire FPGA Block Flow

UG0787 User Guide PolarFire FPGA Block Flow UG0787 User Guide PolarFire FPGA Block Flow NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error

More information

SmartFusion2, IGLOO2, and RTG4 Designing with Blocks for Libero SoC v11.8 in the Enhanced Constraint Flow User Guide

SmartFusion2, IGLOO2, and RTG4 Designing with Blocks for Libero SoC v11.8 in the Enhanced Constraint Flow User Guide SmartFusion2, IGLOO2, and RTG4 Designing with Blocks for Libero SoC v11.8 in the Enhanced Constraint Flow User Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references

More information

Vivado Design Suite Tutorial. Design Flows Overview

Vivado Design Suite Tutorial. Design Flows Overview Vivado Design Suite Tutorial 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 information

SmartFusion2, IGLOO2, and RTG4 Block Designing with Blocks for Libero SoC v11.8 in the Classic Constraint Flow User Guide

SmartFusion2, IGLOO2, and RTG4 Block Designing with Blocks for Libero SoC v11.8 in the Classic Constraint Flow User Guide SmartFusion2, IGLOO2, and RTG4 Block Designing with Blocks for Libero SoC v11.8 in the Classic Constraint Flow User Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references

More information

ECP5 Product Families Update - Errata to Soft Error Detection (SED) Function

ECP5 Product Families Update - Errata to Soft Error Detection (SED) Function Product Bulletin PB1384 April 2017 Rev 1.0 ECP5 Product Families Update - Errata to Soft Error Detection (SED) Function Product Affected: All ECP5 TM product families (ECP5, ECP5-5G, ECP5 Automotive) are

More information

Partial Reconfiguration Tutorial. PlanAhead Design Tool

Partial Reconfiguration Tutorial. PlanAhead Design Tool Partial Reconfiguration Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.1 If using a later software version, there may

More information

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board

AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Development Board AN 825: Partially Reconfiguring a Design on Intel Stratix 10 GX FPGA Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents Partially Reconfiguring

More information

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Embedded Processor Hardware Design October 6 t h 2017. VIVADO TUTORIAL 1 Table of Contents Requirements... 3 Part 1:

More information

Introduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow

Introduction. Design Hierarchy. FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow FPGA Compiler II BLIS & the Quartus II LogicLock Design Flow February 2002, ver. 2.0 Application Note 171 Introduction To maximize the benefits of the LogicLock TM block-based design methodology in the

More information

Item Number Change for Sage Accpac ERP

Item Number Change for Sage Accpac ERP SAGE ACCPAC Sage Accpac Options Item Number Change for Sage Accpac ERP User Guide 2008 Sage Software, Inc. All rights reserved. Sage Software, Sage Software logos, and all Sage Accpac product and service

More information

CECS LAB 1 Introduction to Xilinx EDA Tools

CECS LAB 1 Introduction to Xilinx EDA Tools NAME: DUE DATE: STUDENT ID: POSSIBLE POINTS: 10 COURSE DATE & TIME: OBJECTIVE: To familiarize ourselves with the Xilinx Electronic Design Aid (EDA) Tools. We will simulate a simple 4-to-1 Multiplexor using

More information

Partial Reconfiguration Tutorial. PlanAhead Design Tool

Partial Reconfiguration Tutorial. PlanAhead Design Tool Partial Reconfiguration 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 may

More information

Digital Circuit Design Using Xilinx ISE Tools

Digital Circuit Design Using Xilinx ISE Tools Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation

More information

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide System-Level Design Entry Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products.

More information

Quartus II Incremental Compilation for Hierarchical

Quartus II Incremental Compilation for Hierarchical Quartus II Incremental Compilation for Hierarchical and Team-Based Design 3 QII51015 Subscribe About Quartus II Incremental Compilation This manual provides information and design scenarios to help you

More information

AN 818: Static Update Partial Reconfiguration Tutorial

AN 818: Static Update Partial Reconfiguration Tutorial AN 818: Static Update Partial Reconfiguration Tutorial for Intel Stratix 10 GX Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Static

More information

Lab 1: FPGA Physical Layout

Lab 1: FPGA Physical Layout Lab 1: FPGA Physical Layout University of California, Berkeley Department of Electrical Engineering and Computer Sciences EECS150 Components and Design Techniques for Digital Systems John Wawrzynek, James

More information

AN 818: Static Update Partial Reconfiguration Tutorial

AN 818: Static Update Partial Reconfiguration Tutorial AN 818: Static Update Partial Reconfiguration Tutorial for Intel Stratix 10 GX FPGA Development Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF

More information

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 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 information

Synplify Pro for Microsemi Edition Release Notes Version L M-G5, November 2016

Synplify Pro for Microsemi Edition Release Notes Version L M-G5, November 2016 Synopsys, Inc. 690 East Middlefield Road Mountain View, CA 94043 USA Website: www.synopsys.com Synplify Pro for Microsemi Edition Release Notes Version L-2016.09M-G5, November 2016 Publication Version

More information

Power Estimation and Management for MachXO Devices

Power Estimation and Management for MachXO Devices September 2007 Technical Note TN1090 Introduction One requirement for design engineers using programmable devices is to be able to calculate the power dissipation for a particular device used on a board.

More information

SCHOOL COLLABORATION SITES Reference Guide

SCHOOL COLLABORATION SITES Reference Guide SCHOOL COLLABORATION SITES Reference Guide Information Technology Services SCHOOL COLLABORATION SITES Reference Guide Information Technology Services 13135 SW 26 ST Miami, FL 33176 Phone 305.995.3770 Fax

More information

KMnet Viewer. User Guide

KMnet Viewer. User Guide KMnet Viewer User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change for improvement without notice. We cannot be

More information

RTL and Technology Schematic Viewers Tutorial. UG685 (v13.1) March 1, 2011

RTL and Technology Schematic Viewers Tutorial. UG685 (v13.1) March 1, 2011 RTL and Technology Schematic Viewers Tutorial The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not assume any

More information

Hierarchical Design Using Synopsys and Xilinx FPGAs

Hierarchical Design Using Synopsys and Xilinx FPGAs White Paper: FPGA Design Tools WP386 (v1.0) February 15, 2011 Hierarchical Design Using Synopsys and Xilinx FPGAs By: Kate Kelley Xilinx FPGAs offer up to two million logic cells currently, and they continue

More information

Lab 3 Verilog Simulation Mapping

Lab 3 Verilog Simulation Mapping University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use

More information

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques Vivado Design Suite Tutorial Design Analysis and Closure Techniques Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx

More information

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation

Tutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation Appendix D Tutorial 3 This tutorial introduces more advanced capabilities of the Quartus II system. We show how Verilog code is organized and compiled and illustrate how multibit signals are represented

More information

ORCA Series 4 Quad-Port Embedded Block RAM

ORCA Series 4 Quad-Port Embedded Block RAM August 2002 Introduction ORCA Series 4 Quad-Port Embedded Block RAM Technical Note TN1016 The ORCA Series 4 FPGA platform provides embedded block RAM (EBR) macrocells to compliment it s distributed PFU

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. 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 information

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University 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 information

Design Analysis and Floorplanning Tutorial. PlanAhead Design Tool

Design Analysis and Floorplanning Tutorial. PlanAhead Design Tool Design Analysis and Floorplanning Tutorial PlanAhead Design Tool Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 13: Floorplanning Prof. Mingjie Lin Topics Partitioning a design with a floorplan. Performance improvements by constraining the critical path. Floorplanning

More information

AN 567: Quartus II Design Separation Flow

AN 567: Quartus II Design Separation Flow AN 567: Quartus II Design Separation Flow June 2009 AN-567-1.0 Introduction This application note assumes familiarity with the Quartus II incremental compilation flow and floorplanning with the LogicLock

More information

Netlist Viewer User's Guide

Netlist Viewer User's Guide Netlist Viewer User's Guide 1 Netlist Viewer User's Guide Table Of Contents Viewing Your Netlist...3 Starting NetlistViewer...3 NetlistViewer...4 Navigation...6 Menu Commands...7 Starting MultiView Navigator...9

More information

ALTERA FPGA Design Using Verilog

ALTERA FPGA Design Using Verilog ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention

More information