Kritisches Problem
Aufgrund eines Problems in Intel® Quartus® Prime Pro Software Version 18.0 oder früher, wenn zwei Partitionen in zwei verschiedenen Projekten mit top_level_1.sv und top_level_2.sv kompiliert und unter Verwendung der QDB_FILE_PARTITION Zuweisung in einem dritten Projekt mit top_level_3.sv wiederverwendet werden, wird der folgende interne Fehler aufgrund der überlappenden Zeilen-Taktbereich angezeigt:
Interner Fehler: Untersystem: VPR20KMAIN, Datei: /quartus/vpr20k/altera_arch_common/altera_arch_re_network_routing_constraints.cpp
Die drei Top-Level-Dateien top_level_1.sv, top_level_2.sv und top_level_3.sv stammen aus 3 verschiedenen Designs, und jedes Design unterscheidet sich in Bezug auf Peripherieschnittstellen, verwendete Design-Blocks usw. So verfügt das Entwicklerprojekt (Projekte mit top_level_1.sv und top_level_2.sv), von denen die Partitionen anfänglich kompiliert und exportiert werden, nicht über umfassende Informationen über das Verbraucherprojekt (ein Projekt mit top_level_3.sv), wo die beiden exportierten Partitionen wiederverwendet werden.
- Ein Taktgebersektor wird durch das grüne Kästchen in Abbildung definiert. 1
- Ein Zeilen-Taktbereich ist eine halbe Uhr sektorweit und eine LAB-Reihe hoch, dargestellt durch das rot gestrichelte Kästchen in Abbildung. 1
- Wenn sich in einem Verbraucherprojekt zwei wiederverwendete Partitionen in dieser Region überlappen, wird der oben beschriebene interne Fehler angezeigt
Um dieses Problem zu umgehen, verwenden Sie Logiksperre-Regionen im Entwicklerprojekt , um zu vermeiden, dass zwei wiederverwendete Partitionen im Consumer-Projekt den gleichen Zeilen-Taktbereich haben.
Zum Beispiel:
- Bestimmen Sie aus dem Consumer-Projekt, in dem die beiden Partitionen wiederverwendet werden, die ungefähre Platzierung der gelben und violetten Partitionen. Wählen Sie die Logiksperren für die beiden Partitionen so aus, dass sich der Zeilen-Taktbereich nicht überlappen kann.
- Verwenden Sie im Entwicklerprojekt mit der top_level_1.sv Logik-Lock-Region-Beschränkungen, die vom Consumer-Projekt für die purple-Partition identifiziert wurden, gefolgt von der Kompilierung und dem Export der Partition in der letzten Phase.
- Verwenden Sie im Entwicklerprojekt mit der top_level_2.sv Logik-Lock-Region-Beschränkungen, die vom Consumer-Projekt für die gelbe Partition identifiziert wurden, gefolgt von der Kompilierung und dem Export der Partition in der letzten Phase.
- Die exportierten Partitionen werden, wenn sie im Consumer-Projekt wiederverwendet werden, mit der top_level_3.sv, die in den Entwicklerprojekten definierte Platzierung beibehalten, indem Logiksperren ohne Übersetzung verwendet werden.
Dieses Problem wird voraussichtlich in einer zukünftigen Version der Intel® Quartus® Prime Pro Software behoben.