Quartus® Prime Pro Edition User Guide: Block-Based Design
2. About Functional Safety Separation Design Flow
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.
Use a Logic Lock region to create a physical placement constraint for the logical partition B.