Bunu birkaç kez kendim yaptım.
Genel olarak tasarım araçları, bir kumaş uygulaması ile sentez ayarlarına dayalı bir DSP dilimi arasında seçim yapar.
Örneğin, Xilinx ISE için, sentez işlemi ayarlarında, HDL Seçenekleri'nde, seçeneklerle birlikte bir "-use_dsp48" ayarı vardır: Otomatik, Otomatik Maks, Evet, Hayır. Tahmin edebileceğiniz gibi, bu, araçların ne kadar zor yerleştirmeye çalıştığını denetler DSP dilimleri. Bir keresinde, bir DSP dilimi çıkaran bir tamsayıyı 3 ile çarptığımda bir sorun yaşadım - tek fark, çipteki her DSP dilimini manuel olarak çıkardığımdan, synth başarısız oldu! Ayarı Hayır olarak değiştirdim, çünkü zaten her dsp dilimini kullanıyordum.
Bu muhtemelen iyi bir temel kuraldır (az önce uydurdum): tasarımınız 50 MHz'den daha az bir hıza ayarlanmışsa ve muhtemelen yongadaki DSP dilimlerinin% 50'sinden daha azını kullanacaksanız, *, + ve - operatörleri. bu, boru hattı kaydı olmayan DSP dilimleri çıkartacaktır. Bu, maksimum hızı gerçekten sınırlar. (Bölümü kullandığınızda ne olacağı hakkında hiçbir fikrim yok)
Ancak, dilimleri DSP diliminin maksimum hızına (Spartan 6 normal hız derecesi için 333 MHz) daha yakın çalıştıracaksanız, tüm dilimleri kullanacaksınız, bunları manuel olarak çıkarmalısınız. .
Bu durumda, iki seçeneğiniz vardır.
Seçenek 1: Ham DSP örnekleme şablonunu el ile kullanın. Seçenek 2: Xilinx Core Generator'dan bir IP bloğu kullanın. (Bu seçeneği kullanırdım. Aynı zamanda, gelecekte yardımcı olacak çekirdek gen hakkında her şeyi öğreneceksiniz)
Bunlardan herhangi birini yapmadan önce, DSP dilimi kullanım kılavuzunun ilk birkaç sayfasını okuyun. Spartan 6, (DSP48A1) durumunda, bu Xilinx doc UG389 olurdu:
http://www.xilinx.com/support/documentation/user_guides/ug389.pdf
İlk olarak Core Generator seçeneğini düşünün. Çalıştığım kısım için genellikle Core Generator'da bir test projesi oluşturuyorum ve burada sadece sistemi öğrenmek için herhangi bir sayıda IP bloğu oluşturuyorum. Ardından, ISE'de tasarımıma bir tane eklemeye hazır olduğumda, Tasarım Hiyerarşisi'ne sağ tıklıyorum, yeni kaynağı tıklıyorum ve bloğu doğrudan düzenleyip yeniden oluşturabilmek için "IP (CORE Jeneratör ve Mimari Sihirbazı)" nı seçiyorum. benim projemden.
Core gen'de, aralarından seçim yapabileceğiniz farklı IP bloklarına bir göz atın - çoğu oldukça serin olan birkaç düzine var.
Çarpan Çekirdek, ilk önce bakmanız gereken şeydir. Her sayfayı kontrol edin ve veri sayfası düğmesini tıklayın. Önemli parçalar, tamsayı bit genişlikleri, boru hattı aşamaları (gecikme) ve tüm kontrol sinyalleridir. Bu, ihtiyacınız olmayan tüm bağlantı noktalarını kaldırarak mümkün olan en basit bloğu üretir.
Geçen yıl 5'e 3 sıralı IIR filtresi yaparken, çok özel bir uygulama oluşturduğumdan, örnekleme oranından 4 kat daha hızlı 2 DSP dilimi ile manuel örnekleme şablonunu kullanmak zorunda kaldım. Tam bir acıydı.