Quartus® Prime Pro Edition User Guide: Block-Based Design

ID 683247
Date 8/30/2025
Public
Document Table of Contents

2. About Functional Safety Separation Design Flow

This design flow for the Quartus® Prime Pro Edition software for Agilex™ 5 Devices significantly reduces the certification efforts for the lifetime of an FPGA-based industrial system containing both safety critical and nonsafety critical components. This document describes how to use the design flow with a blinking LEDs design example.

Industrial machinery manufacturers throughout the world experience the continuous pressure to reduce system cost, extend performance and efficiency, and deliver to ever reduced timescales. For products in safety critical environments, designers also strive to ensure safe behavior with compliance to IEC 61508: Functional Safety of electrical/electronic/programmable electronic safety-related systems and ISO 26262: Road vehicles - Functional safety.

Functional safety designs require recertification only when you modify logic in the design, because the FPGA programming file changes. By using the functional safety separation flow in the software, you create partitions for safety logic separate from standard (nonsafety) logic. Safety critical areas of the design remain the same (at the bit level) when you modify standard areas in your design. With this flow, you can reduce the amount of required recertification

You can create safety and nonsafety regions (or partitions) on a single Agilex™ 5 device. When you only change nonsafety regions, the safety regions are fully preserved. The design flow provides the evidence that the placement and routing in the safety regions are identical to a previous hardware compilation.

For compliance with IEC61508, consider the Quartus® Prime software an offline support tool, not an online safety-related software tool. The Quartus® Prime software includes components that are considered T2 and T3 class as per IEC61508 Part4 3.2.11.

This flow extends the widely-adopted, proven Quartus® Prime incremental block-based compilation flow.

The incremental block-based compilation flow maps the design hierarchy to design partitions that the Quartus® Prime software treats separately during compilation. Altera defines a design partition as a logical partition. You use design partitions with a physical placement constraint, a Logic Lock region, to form the foundation for the safety flow.

In the functional safety separation flow, you categorize design partitions as either safety partitions, which require complete preservation, or nonsafety partitions.

When you declare a design partition, every hierarchy within that partition becomes part of the same partition. When you create new partitions for hierarchies within an existing partition, the logic within the new lower-level partition is no longer part of the higher-level partition.

Figure 18. Partitions in a Design Hierarchy B and F-G are design partitions. Design partition B includes entity B which contains sub-entities D and E. Design partition F-G includes entities F and G. The root partition, top, contains entities A and C which are not assigned to any other design partition.


Figure 19. Logic Lock Regions for Partitions in a Design Hierarchy

Use a Logic Lock region to create a physical placement constraint for the logical partition B.