Çok döngülü yol kısıtlamasının ayarlanmasının amacı: yolun zamanlama gereksinimlerini gevşetin, böylece önce diğer yolların yönlendirmesini karşılamanın uygun olması ve ayrıca derleme süresini de azaltabilir. Varsayılan olarak, VIVADO zamanlama analizi tek bir saat döngüsüne karşılık gelir. Bazı belirli mantıksal yollar için uygun değildir ve çok katıdır.
En yaygın durum, uygulamadaki verilerin alıcı uçta birden fazla saat döngüsü boyunca kararlı olabilmesi durumunda, Xilinx, zamanlama gereksinimlerini hafifletmek için çok döngülü kısıtlamaların kullanılmasını önermesidir.
VIVADO tasarımında set_multicycle_path talimatı, kaynak saate veya hedef saate göre çok sayıda döngü ayarlamak için çok döngülü kısıtlama ayarını tamamlamak için kullanılır.
Set_multicycle_path komutunun sözdizimi formatı aşağıdaki gibidir:
set_multicycle_path < path_multiplier >
Varsayılan olarak, kurulum yolunun çoklu döngüsü alıcı tarafın saatine göredir.Kurulumun ilgili saatini kaynak saat olarak değiştirmeniz gerekirse, -start seçeneğini kullanmanız gerekir.
Benzer şekilde, çok döngülü bekletme ayarı, varsayılan olarak kaynak saate bağlıdır. Hedef saate göre birden fazla döngü tutacak şekilde değiştirmeniz gerekirse, son seçeneğini kullanmanız gerekir.
Çok döngülü ayardaki kurulum seçeneğinin yalnızca kurulumun zamanlama ilişkisini değiştirmeyeceği, aynı zamanda tutmanın zamanlama ilişkisini de etkileyeceği (genellikle kuruluma bağlıdır) not edilmelidir. Eğer tutmayı orijinal duruma geri ayarlamanız gerekiyorsa, set_multicycle_path komutunun -hold seçeneğine ihtiyacınız vardır.
Örnek (Aynı saat alanındaki çoklu döngü ayarlarının analizi)
Yukarıdaki şekilde gösterildiği gibi: geleneksel bir tek döngüde kurulum ve bekletme kontrol kuralları aşağıdaki gibidir
Kurulum kontrolü
T Veri Yolu (maks.) < TCLK (t = Periyot) -T Ayarı
Kontrol tutun:
T Veri Yolu (dk) > TCLK (t = 0) + T Beklet
Aynı kaynak saati olması durumunda, aşağıda gösterildiği gibi
Çoklu bisikleti 2'ye ayarlayabilirsiniz: et_multicycle_path 2 -setup-from-to, ardından kurulum kontrolünün yakalama kenarını ikinci yakalama kenarı analizine (birinci yakalama kenarının hiçbir eylemi yoktur) ve karşılık gelen beklemeye kadar geciktirebilirsiniz.
Ayrıca bir döngüyü erteleyin. Aşağıdaki şekil, ayarlamadan önce ve sonra zamanlama analizindeki değişikliği göstermektedir.
Aslında, bu bekletme değişikliği gereksizdir, bu nedenle xilinx, orijinal durumu değiştirmek için komutların kullanılmasını önerir (set_multicycle_path 1 -hold -end -from \-
), aşağıda gösterildiği gibi, bu komutu ekledikten sonra
Aynı kaynak saat olması durumunda kaynak saatin hedef saat ile aynı olduğunu, bu nedenle -end, -start seçeneklerini kullanmaya gerek olmadığını unutmayın.