FPGA, CPLD, and ASIC solutions from Altera
  • Download Center
  • Literature
Sign in/register
myAltera Account
Welcome
  •   myAltera
  •   Logout
  • Products
    • Devices
    • Design Software
    • Intellectual Property
    • Development Kits/Cables
    • Design & Support Services
    • Literature
  • End Markets
    • Automotive
    • Broadcast
    • Computer & Storage
    • Consumer
    • Industrial
    • Medical
    • Military
    • Test & Measurement
    • Wireless
    • Wireline
  • Technology
    • DSP
    • External Memory
    • Embedded Processing
    • Transceivers
    • Parallel I/O
    • Signal Integrity
    • System Integration
  • Training
    • Training Courses
    • University Program
    • Webcasts & Videos
    • Demonstrations
    • Events Calendar
  • Support
    • Design & Support Resources
    • Knowledge Database
    • Devices
    • Design Software
    • Intellectual Property
    • Development Kits/Cables
    • Design Examples
    • Downloads
    • User Communities/Forums
    • mySupport
  • About Altera
    • About Us
    • Environmental
    • Customer Successes
    • Partners
    • Newsroom
    • Investor Relations
    • Jobs
    • Contact Us
  • Buy Online
    • Devices
    • Design Software
    • Development & Education Kits
    • Cables & Programming Hardware
    • Intellectual Property
  • Entire Site
  • Part Number
  • Knowledge Database
  • Support & Technical Docs
  • Forums & Wiki
Username:  
Password:  
 
Forgot my username or password
Don't have myAltera account? Register Now.
Enter your email address:

Formal Verification Design Example

Home > Support > Design Examples > Quartus II Project > Formal Verification Design Example

Equivalence checking between a golden (reference) design and the revised design is a formal verification technique to verify that both designs are logically equivalent. Both golden and revised designs could be in synthesizable HDL or gate-level netlist form. The method of formal verification does not involve any vectors, stimulus, or testbench. This technique is usually used when your HDL design (golden side) is transformed (synthesized) to another domain like a gate-level netlist. Compared to the gate-level netlist simulation technique, this technique quickly verifies that all the HDL design intent is transformed correctly, though this technique is not a complete replacement for gate-level timing simulations. This design example illustrates the formal verification flow with the Altera® Quartus® II software-generated, post-fit netlist files and the Cadence Encounter Conformal tool.

After going through this design example, you will be able to perform formal verification between your register transfer level (RTL) HDL and the post-fit netlist generated from the Quartus II software. You will learn how to set up the Quartus II software for formal verification and understand the Quartus II software outputs that are necessary for performing this process.

In this example, you will do the following:

  • Load an existing project in the Quartus II software
  • Set up the Quartus II software to acquire the files necessary for formal verification
  • Compile the project with these settings
  • Understand the outputs generated for formal verification
  • Run the formal verification

This example was developed using the Quartus II software version 6.0 service pack 1 running on a Red Hat Linux machine and the Cadence Encounter Conformal tool version 06.10-p100 (25-May-2006) running on the same host. You can use the same design example with the Quartus II software and the Cadence Encounter Conformal tool running on hosts with Windows or Sun Solaris operating systems.

This design example consists of a simple 8-bit multiplier block and a phase-locked loop (PLL) block implemented in a Stratix® II device. All the libraries necessary for formal verification are provided with the Quartus II software. To use this design example, perform the following steps:

  1. Download the Quartus II Archive File (.qar) for the multiplier design.
  2. At the Linux system command prompt, type quartus multiplier.qar and press Enter.
  3. The Quartus II software starts, displaying the Restore Archived Project dialog box. In the Restore Archived Project dialog box, specify the desired location for the restored project and click OK.
  4. On the Assignments menu choose Settings.
  5. On the EDA Tool Settings page of the Settings dialog box, under Formal Verification, select Conformal LEC.
  6. On the Incremental Compilation page of the Settings dialog box ensure Full Incremental Compilation is turned on.
  7. Click OK to close the Settings dialog box.
  8. Compile the design. After compilation, multiplier.vo is created at <project_dir>/fv/conformal. This is the post-fit netlist generated by the  Quartus II software to be used in formal verification with the Cadence Encounter Conformal tool. The Quartus II software also generates scripts at <project_dir>/fv/conformal for use with the Cadence Encounter Conformal tool.
  9. Close the Quartus II software.
  10. Navigate to the <project_dir>/fv/conformal directory by typing cd <project_dir>/fv/conformal, at the Linux command prompt.
  11. Start the Cadence Encounter Conformal software by typing lec –dofile multiplier.ctc. This command invokes the Cadence Encounter Conformal tool and also runs formal verification between your HDL design files and the Quartus II software-generated, post-fit netlist. Observe the results in the Cadence Encounter Conformal tool.  

If you compiled the project with the Quartus II software running on a Windows machine and the Cadence Encounter Conformal tool running on a UNIX/Linux machine, you may have to edit the scripts produced by Quartus II software to run the design example.

For more detailed information on performing formal verification using Quartus II software and Cadence Encounter Conformal tool, refer to the Cadence Encounter Conformal Support (PDF) chapter in volume 3 of the Quartus II Handbook.

Related Links

  • Cadence Encounter Conformal Support (PDF)
  • Formal Verification Design File (formal-verification.qar)
  • Formal Verification Readme File (forrmal-verification-readme.txt)

Design Examples Disclaimer

These design examples may only be used within Altera Corporation devices and remain the property of Altera. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.

Rate This Page


  • Products
    • MAX/MAX II
    • Stratix/Stratix GX
    • Nios II
  • Functionality
    • Arithmetic
    • External Memory Interfaces
    • On-Chip Memory
    • Bus & I/O Functions
    • Logic
    • Interfaces & Peripherals
    • DSP
    • Communications
    • PLL & Clocking
  • Design Entry
    • Quartus II
    • Tcl
    • VHDL
    • Verilog HDL
    • C Code
    • DSP Builder
    • TimeQuest
    • On-Chip Debugging
      • SignalTap II
  • Simulation Tools
    • Mentor Graphics ModelSim
    • Cadence NCsim
    • Synopsys VCS
  • Legacy Examples
    • Graphic Editor
    • AHDL
    Please give us feedback
    Products | End Markets | Technology | Training | Support | About Altera | Buy Online
    Jobs | Investor Relations | Contact Us | Site Map | Privacy | Legal Notice
    Copyright © 1995-2010 Altera Corporation. All Rights Reserved.
    Altera Forum
    Altera
    Forum
    Twitter
    Twitter
    RSS
    RSS
    Facebook
    Facebook
    Flickr
    Flickr
    YouTube
    YouTube
    Email Updates
    Email
    Updates