Ja, Sie können ein Master-/Slave-DDR3-UniPHY-Beispieldesign in Ihrer Top-Level-Wrapper-Datei instanziieren, müssen aber die master_instname in der Datei __p0_timing.tcl-Datei, um die neue Hierarchie des Master widerzuspiegeln. Wenn dies nicht geschieht, führt dies zu mehreren Warnungen zur Einschränkung, die während der Kompilierung ignoriert werden, und die DDR3-Schnittstellen erfüllen möglicherweise den zeitlichen Ablauf nicht.
Wenn Sie in der Quartus® II Softwareversion 11.1 und neuer ein Beispieldesign für einen DDR3-Master-Controller generieren, enthält das Beispieldesign zwei DDR3-Instanzen. Instanz IF0 ist der Master-Controller und Instanz IF1 ist der Slave-Controller. In der p0_timing.tcl-Datei des Slave-Controllers wird die master_instname Variable auf den Instanznamen des Master wie folgt gesetzt:
Setzen Sie ::master_instname "if0"
Wenn Sie das Master/Slave-Beispiel-Design in eine Wrapper-Datei der obersten Ebene setzen, müssen Sie die Datei __p0_timing.tcl ändern, um die neue Hierarchieebene widerzuspiegeln. Wenn der DDR3-Kern beispielsweise "ddr3_test" genannt wird und das Beispieldesign in einem Wrapper der obersten Ebene mit dem Instanznamen "ddr3_test_inst" platziert wird, muss die master_instname Variable in der ddr3_test_if1_p0_timing.tcl-Datei wie folgt geändert werden:
setzen::master_instname "ddr3_test_inst|if0"
Nach der Änderung können Sie das Design neu kompilieren. Es sollten keine ignorierten Einschränkungen für den DDR3-Kern mehr angezeigt werden, und der Bericht "DDR"-Bericht in TimeQuest sollte alle Zeitlichen Bedingungen erfüllen.