Zynq'in geliştirilmesi sırasında, Xilinx'in bize birçoğu ücretsiz olarak kullanılabilen birçok IP çekirdeği sağladığını gördük, ancak özel proje geliştirmemizde çoğu zaman IP çekirdeklerini kendimiz oluşturmamız gerekiyor. Bunu yapmanın ana faydaları :
1. Sistem tasarımının özelleştirilmesi;
2. Yeniden kullanımı tasarlayın, verimliliği artırın ve IP çekirdeğini şifreleyin;
Zynq yongası, ARM çekirdeğini FPGA içine entegre eden FPGA + ARM yöntemine dayanmaktadır ve FPGA ile ARM arasındaki iletişim esas olarak AXI veriyolu üzerinden yapılır.AXI veriyolu için XAPP1168 belgesine başvurabilirsiniz.Aşağıda bir kullanıcı IP çekirdeğinin nasıl oluşturulacağı ve Oluşturulan IP, sistem tasarımına eklenir.
Geliştirme ortamı: Vivado 2018.1
Geliştirme platformu: Zedboard
Önce Vivado 2018.1'i başlatın, yeni bir proje oluşturun, Pano listesinden Zedboard'u seçin ve adım adım devam etmek için İleri'ye tıklayın.
Kullanıcı IP oluşturma sihirbazını açmak için Araçlar - Yeni IP Oluştur ve Paketle'yi seçin,
AXI4 Çevre Birimi Oluştur'u seçin, devam etmek için İleri'ye tıklayın,
Oluşturulacak IP'nin bilgilerini ayarlayın, Sonraki ile devam edin,
Arayüz Ekle iletişim kutusunda, fiili duruma göre Arayüz Tipi, modu ve Veri Genişliği vb. Seçebilirsiniz. Bir sonrakine devam edin ve sonunda sihirbaz aracılığıyla AXI arayüzüne dayalı bir kullanıcı IP'sini tamamlayın, ancak şu anda IP yalnızca AXI veri yolu için bir şablon sağlar ve kullanıcı IP'sinin mantığını kendimiz eklememiz gerekir.
Yeni oluşturduğumuz kullanıcının IP adını IP Kataloğunda arayın, listede göründüğünü görebilirsiniz,
IP'yi seçin, sağ tıklayın ve menüden IP Packager'da Düzenle'yi seçin, sistem, kullanıcı IP çekirdeğini düzenlemek ve paketlemek için başka bir Vivado IDE açacaktır.
Yeni açılan arayüzde, üst dosyayı açın ve buraya bağlantı noktaları eklemek için kullanıcıya IP bağlantı noktasını ekleyin,
Alt dosyaya kullanıcı mantık kodunu ekleyin,
Örnekleme dosyası arayüzünü ekleyin ve kontrol edin ve dosyayı kaydedin.
IP-axi_PWM Paketi Açın, pencerenin sol tarafında bir çok IP çekirdek bilgisini görebilirsiniz, tek tek açabilirsiniz, az önce eklediğimiz arayüzün Portlar ve Arayüzlerde göründüğünü görebiliriz.
Bu noktada, basit bir kullanıcı IP çekirdeği oluşturulur.Sonra, bu IP'yi mühendislik tasarımına ekliyoruz, Blok Tasarımı Oluştur'a tıklıyoruz ve üç IP ekliyoruz: ZYNQ İşleme sistemi, AXI_GPIO ve AXI_PWM,
Sistemleri bağlamak için Blok Otomasyonunu Çalıştır ve Bağlantı Otomasyonunu Çalıştır seçeneğine tıkladığınızda bağlı sistem aşağıdaki şekilde gösterilir: