Professional Documents
Culture Documents
Sayısal İşaret İşleyen Sistemler Için Yüksek Seviyeden Doğrulanabilir Veriyolu Üretimi
Sayısal İşaret İşleyen Sistemler Için Yüksek Seviyeden Doğrulanabilir Veriyolu Üretimi
OZETCE
Alanda Programlanabilir Kap Dizileri (APKD) Saysal Isaret Isleme (SII) sistemlerinin hzl ve d suk maliyetli uygulamau larna olanak sa lamaktadrlar. APKDlere g sterilen ra betin g o g o artmas ve SII y ntem tasarmclarnn donanm tanmlama dili (DTD) kullanmndaki deneyim eksikli i Y ksek Seviye Ureg u araclarn tasarm, erken basarm tahmini, prototim (YSU) tipleme, test ve do rulama gibi isler icin zorunlu klmaktadr. g Bu bildiride Xilinx Spartan 3 APKD ailesinde uretilmis devre icin gecikme ve alan tahmini modeli sa layan RH(+) sistemine g b t nlestirilmis ust seviyede tasarm annda do rulanabilir bir uu g Yazmac Aktarm Seviyesi (YAS) ureteci sunulmaktadr.
ABSTRACT
Field Programmable Gate Arrays (FPGAs) provides fast and low cost implementation of DSP systems. The increasing popularity of FPGAs and lack of experience of the DSP algorithm designers on HDLs, makes the High Level Synthesis tools vital for design, early performance estimation, prototyping, testing and verication. In this paper, we present a high-level designtime veriable Register-Transfer Level (RTL) generator which is integrated to RH(+) framework, a delay and area estimation model of the generated circuit for the Xilinx Spartan 3 FPGA Family.
1. Giris
Geleneksel olarak S uygulamalarnda kullanlan gelismis II mikroislemciler istenen basarm kriterlerini sa lamada uygula g maya ozel donanmlarn gerisinde kalmaktadrlar. APKDlerin yeniden yaplandrlabilir mimarilerinin d suk maliyette u sa lad esneklik ve y ksek basarm, S uygulamalarn g g u II prototipleme, tasarlama ve test etmede yaygn olarak kullanlmalarnn on n acmstr. Ancak piyasaya cabuk giris u u basks ve co u S y ntem gelistiricisinin DTD kullanarak g II o donanm gelistirmeye asina olmamalar, y ntemleri y ksek o u
Bu calsma Bogazici Universitesi BAP 6346 No.lu proje kapsa minda desteklenmektedir. 978-1-4673-0056-8/12/$26.00 c 2012 IEEE
seviye temsilinden DTD temsillerine d n st ren y ksek seviye o u u u uretim (YSU) araclarnn kullanld bir tasarm otomasyo g nunu gerekli klar. [1] ve [2] gibi ticari araclar gecikme, alan ve g c t ketimi gibi basarm kriterlerini uretim, yerlestirme, u u yol atama gibi baz uygulamalarda uzun s reler alabilecek u asamalardan sonra tahmin ederler. Bu y zden calsmalar bahsi u gecen basarm kriterlerinin hassas modellerini gerektiren APKDlere y nelik YSU araclar uzerinde yo unlasmaktadr. o g APKD tabanl uygulamalar icin baz tahmin araclar mevcuttur. Basvuru cizelgesi (BC) tabanl bir calsma hassas bir alan tahmin modeli onermekte, ancak gecikme tahmini konusunda bir model sunmamaktadr [3]. Bir baska calsmada veri aks cizgesi (VAC) seviyesinde gecikme ve alan modelleri gelistirme y ntemi anlatlmaktadr [4]. Ancak burada da desteklenen o islemlerin says snrl ve baz uygulamalar icin tahmin hatas y ksektir. FANTOM tasarm otomasyon aracna t mlestirilmis u u Xilinx IP cekirde i icin alan, gecikme ve g c modelleri [5], g u ve MATLAB tanmlamasna ba l calsan bir tahmin tekni i g g oneren [6] calsmalar da yaplmstr. Y ksek seviye programlarn model denetlemesi yaklask u yirmi yldr yaplmaktadr [7], [?]. Ayrca ba lant listesi g seviyesinde [8] ve KVAC seviyesinde [9] ticari ve arastrma boyutunda donanm do rulama model denetleyicileri mevcutg tur. RH(+) tasarmcya LRH(+) KVACsi ile uretilmis YAS KVACsini karslastrma esnekli i verir. Uretilmis YASn t m g u ba lant listesini olusturmamas ve karmask denklik denetleme g y ntemleri kullanmamas tasarmn daha hzl gerceklesmesini o sa lar. Bu bildiride, do rulanabilir y ksek seviye veriyolu ureg g u tim s reci onerilmektedir. Bu s rec kapsamnda gelistirdi imiz u u g tasarm arac, RH(+) [10] ile b t nlestirilmistir. RH(+) yeniuu den yaplandrlabilir uygulamaya ozel islemcilerin tasarm otomasyonu icin bir es-tasarm sistemidir. Hedef mimari yaplandrlabilir oldu u icin baslangcta tanml bir komut seti g mimarisi veya tanml bir mikroislemci mimarisi yoktur. S rec u RH(+) sistemi icin bir altn YAS ureteci icerir. inde bulunan Ic gecikme, alan ve g c tahmin modellemeleri ve bicimsel u do rulama uygulamasyla ust seviyeden girilen uygulama ile g olusturulan YAS modelin mantksal do rulu unu maksimum g g seviyede tutmak amaclanmaktadr. Model farkl parametre lere sahip veriyolu bilesenlerinin uretim sonuclarna ve bu
sonuclarn do rusal ba lanmna dayaldr. Ayrca sistemin g g baska bilesenleri de k t phaneye ekleme esnekli i ve yetene i uu g g vardr. RH(+) arac y ntemlerin kontrol veri aks cizgesini o (KVAC) uretir. KVAC d gumlerinin maliyetlerini hesaplamak u icin model fonksiyonlar kullanlr. KVAC yazlm RH(+) sisteminde kullanlan dil olan LRH(+) ile uretilir. Sistem ayn ortamda ardsk ve eszamanl programlamaya olanak sa lar g ve hem geleneksel programlama yaplarn, hem de yeniden yaplandrlabilir hesaplamaya ozel yaplar icerir. Daha sonra KVAC b t n y ntemin gecikme ve alann tahmin etmek icin uu o islenir. LRH(+) ve YAS KVAC sonuclarmz Hesaplama A ac g Mant (HAM) ozellikleri ile karslastrlr ve NuSMV [11] g model denetleyici ile do rulanr. g
verilmistir. F or 0 < x < 32 p6 x3 + p7 x2 y + p8 x y 2 + p9 y 3 ; F or 32 x < 64 p14 x y + p15 y 2 + p16 x3 + p17 x2 y + p18 x y 2 + p19 y 3 ; (2)
f = p0 + p1 x + p2 y + p3 x2 + p4 x y + p5 y 2 + (1)
Denklem (1) ve (2)de, x ve y giris portlarnn bit genisli ine, g f nanosaniye cinsinden gecikmeye, p0 dan p17 ye kadar olan de erler ise model parametrelerine karslk gelmektedir. g
2.3. Du um Kestirimi g RH(+) YSU arac, y ksek seviyeli dilde tanmlanms olan u y ntem Veri Aks Cizgesini cks olarak vermektedir. Bu Veri o Aks cizgesi (VAC) basarm kestirimi ve YAS uretimi icin kullanlmaktadr. Kestirim y ntemi iki asamada calsmaktadr; o biri d gum kestirimi di eri ise Cizge kestirimi. VACdaki her u g bir d gum, alan ve gecikme maliyeti olan bir aritmetik isleci u temsil etmektedir. Aritmetik islec icin olusturdu umuz mo g del YAS ureten yazlmmza ozel format olan ve modelin tanmland Donanm Davrans Acklama (DDA) dosyalar ile g g m lm st r. Her bir aritmetik islecin bir DDA dosyas buluno u u u maktadr. VACdaki her bir d gum icin DDA dosyas okuna u rak ve VACdaki bilgiler kullanlarak alan ve gecikme mali yetleri hesaplanr. DDA dosyas kullanm tasarm otomasyon aracmza genisletilebilirlik sa lamaktadr. Kullanc yeni bir g islec tanmlamak istedi inde DDA dosyasn yazarak, islecini g k t phaneye y kleyebilir ve kullanabilir. uu u 2.4. Cizge Kestirimi Y ntemin t m n n basarmnn kestirimi icin b t n VACn o u u u uu kestirimi gereklidir. Alan kestirimi, VACdeki her bir d gum n u u alann toplamdr. Gecikme kestirimi icin ise, oncelikle d gum u gecikme maliyetleri ve y ntemin VAC kullanlarak Derinlik o Oncelikli Arama y ntemi ile kritik yol bulunur. Sonrasnda, bu o kritik yol uzerindeki d gumlerin gecikmeleri toplanarak kesti u rim yaplr.
3. YAS Uretimi
RH(+) aracyla uretilen Veri Aks Cizgeleri VHDLe altn YAS seklinde uretildi. Altn YAS devreler, icinde herhangi bir kay nak paylasm ve giris yol secici olmayan veri yolu devreleridir. Altn YAS devreleri aritmetik devreler iceren tasarm birimleri nin do rulamas srasnda kullanlr. Veri aks cizgesinde her bir g d gum bir aritmetik isleci ve her bir kenar, islecler arasndaki u sinyalleri ifade eder. YAS uretimi program iki ana fonksiyon dan olusmaktadr. 3.1. DTD Uretimi Bu fonksiyon gerekli toplayc, ckarc, carpc ve b l c dev ou u releri bilesen olarak uretip en ust seviyede bunlar birbirine
ba lar. K t phanemizdeki her bir islecin bir sablon (template) g uu ve bir parametre dosyas bulunmaktadr. Sablon dosyas, icinde sabit ve de isken alanlarn bulundu u VHDL dosyasdr ve pag g rametre dosyas da sablon dosyasndaki de isken alanlar ve g bu alanlarn karslk de erlerini tutar. Her bir aritmetik islecin g bir parametre ve sablon dosyas bulunmaktadr. Sablon ve pa rametre dosyas kullanm, VHDL dosyasndaki sabit alanlarn tekrar tekrar uretimine engel olarak yazlm y r t m s resini uuu u ksaltr, ayn zamanda k t phanenin genisletilebilmesine olauu nak sa lar. Kullanc sablon ve parametre dosyalarn RH(+) g k t phanesine girerek kendi islecini tanmlayabilir. Program bu uu dosyalar kullanarak gerekli bilesenleri uretir ve ust seviyede ba lar. Ba lantlarn yaplmas srasnda secime g re sinyallerin g g o isaretli veya isaretsiz bit genisletmesi yaplabilir. YAS uretimi icin kullancya d rt secenek sunulmaktadr. Bu d rt secene e o o g g re giris ve/veya ckslara yazmac konur. o 3.2. Basarm Kestirimi Bu fonksiyon uretilen devrenin alan ve gecikme kestirimleri nin hesapland program ksmdr. Ayrca, bu ksmda program, g kestirilen gecikme de erini Xilinx ureticisine saat kst olarak g veren Kullanc Snrlamal Dosyay uretir.
edilmesi icin kullanlacak boole ve tamsay isaretlerinin ya ratlmas. - Kontrol veri aks cizgesindeki her d gum icin NuSMVde bir u durum d gum olusturulur. u u - Kontrol veri aks cizgesindeki ba mllklara g re her durum g o icin gecisler olusturulur. - Kontrol edilecek ozellikler icin HAM ya da DZM ozellikleri yaratlr ve NuSMV kaynak koduna eklenir. Her aritmetik operasyon girdi olarak ya bir de isken alr ya g da baska bir operasyonun cktsn alr. Ozellikleri kontrol et meyi kolaylastrmak icin, NuSMVdeki sonlu durum mode line iki yeni durum daha eklenir. Bunlar Kaynak (Source) ve Als (Sink) durumlardr. Kaynak durumu b t n ilk d zeydeki uu u d gumlere ba lanr. Als durumu ise son d zeydeki d gumlere u g u u ba lanr. B ylece tek bir kaynaktan giris aks ve als sa land g o g g varsaylp bundan yararlanlarak baz HAM ve DZM ozellik lerini kontrol etmede kolaylk sa lanr. NuSMV modeli icin g gereken KVACden yaratlan bayraklar olusturulduktan sonra, NuSMV durumlar yaratlr ve baslangc durumuna getirilir. Baslangc durumu Sinktir. Baslangc seviyesinden bir geciste varlan t m durumlar oncelik seviyeleri bir olan durumlardr. u KVAC es zamanl kullanlarak di er gecisler de yaratld g g g icin ideal bir sonlu durum modelinde Kaynak durumundan Als durumuna kadar en az bir gecis izi olmaldr. Oncelik seviye leri en b y k olan durumlar Als durumuna ba ldrlar. Bu tau u g sarmn en b y k avantaj ol kod ya da ulaslamayan durum u u u gecislerini bulmada kolaylk sa lamasdr cunk NuSMV Als g u durumuna ulasamayan izleri kars ornek olarak vermektedir. 4.2. Kontrol Edilen Ozellikler Bu projede model kontrol icin uc adet ozellik kontrol edilmeku tedir. Bu ozellikler ya HAM ya da DZD sorgularyla yazlmstr. Bu uc ozellik asa da listelenerek acklanmaktadr: g - Kullanlmayan De isken Ozelli i: Bu ozellik her bir g g de iskenin tanmlanp er gec kullanlmasn kontrol eder. HAM g form l : AG(def ined EF used) uu - Atanms fakat kullanlmayan de erler: Bir de iskene g g de er atand nda er gec mutlaka kullanlmaldr. Sklkla, g g eski kod kaldrld nda ya da kod baska bir yerden g kopyaland nda kullanlmayan atamalar kodda kalabilir: g AG(init EX(E[!initU use])) - Veri Genisli i kontrol : Verilen KVAC ve giris de isken g u g bilgi genisli iyle, KVACdeki islemlere ba l olarak cks g g de iskenlerinin sabit uzunlukta bilgi genisli ine sahip olmas g g beklenir (en k t durum benzeri). KVAC okundu unda ve ou g sonlu otomat olusturuldu unda, bu beklenen veri genislikleri g ilk de er olarak atanr. Sonrasnda, beklenen hesaplamalara g g re genislikler de istirilir. Bu y zden ilk hesaplanan veri o g u genisli inin kontrol yeterlidir. Bu islem de iskenlere ve g u g islemlere uygulanabilir: AF (out wordlength = val) Bu ozellikler donanm tasarmna ozg ozellikler de ildir fa u g kat donanmdaki onemli hatalar belirlemek icin kullansldr. Baslangc de eri atanmams de iskenler, maliyetli yazmac dos g g yalar ya da harici bellek seklinde fazladan bellek isgal ederek, sisteme fazladan gecikme katarlar. Kullanlmayan de iskenleri g azaltmak g c, alan ve gecikme basarmlarn arttrr. Her ne u kadar bu calsmada uc ozellik tartslmssa da, ozelliklerin saylarn arttrmak m mk nd r. u u u
5. Deneyler
Onerilen modeli de erlendirmek icin, bes denektas testi uyg guladk. Bunlar Eliptik Dalga S zgeci (EDS), Ozba lanm u g S zgeci (OS), Ayrk K sin s D n sum (AKD), Sonsuz u o u o u u D rt Yantl S zgec (SDYS) ve Diferansiyel Denklem y ntemu u u o leridir. Bu y ntemler, LRH(+) diliyle tanmlanp RH(+) tao rafndan farkl giris bit uzunluklaryla uretilmistir. Bu VAClar kestirim ve YAS uretici aracmzn girisidir. ISE 12.4 arac kul lanlarak referans gecikme ve alan de erleri postsynthesis g raporundan alnmstr. Xilinxde uretilirken referans gecikme de erleri icin uygulamalar hz en iyilemesi, alan de erleri icinse g g alan en iyileme secenekleri secilmistir. Bu uygulamalar icin Spartan 3s5000 kullanlmstr. Deneylerimiz icin ortalama ge cikme kestirim hata oran 6.57% ve alan kestirim hata oran 3.76% bulundu. Tablo 1de, hata oranlar ve tasarmn APKDde kaplad alan g sterilmektedir. Gecikme icin en b y k hata g o u u oran 31.5% ve alan icinse 14% bulundu. Alan kestirimi oran ve kaplanan alan oran arasnda negatif korelasyon oldu u g g r lm st r. o u u u Tablo 1: Modelin farkl uygulamalar ve giris bit uzunluklarna g re alan ve gecikme kestirimi hata oranlar o
Uygulama Giris Bit Uzunlugu 4-bit 8-bit 16-bit 24-bit 32-bit 4-bit 8-bit 12-bit 16-bit 24-bit 32-bit 36-bit 44-bit 4-bit 8-bit 12-bit 16-bit 4-bit 8-bit 12-bit 16-bit 24-bit 32-bit 36-bit 4-bit 8-bit 12-bit 16-bit 24-bit 32-bit 36-bit 40-bit Gecikme Kestirimi Hata Orani(%) 0.23 0.40 0.34 0.27 0.02 0.38 0.36 0.03 1.76 6.52 12.07 18.92 19.78 0.23 0.16 0.20 2.97 11.64 2.08 0.76 0.87 2.29 6.72 1.61 31.54 25.26 27.97 21.77 10.85 0.43 1.47 1.32 Alan Kestirimi Hata Orani(%) 9.12 4.74 2.34 1.05 0.58 14.54 8.87 5.75 5.06 3.10 2.28 1.75 0.92 2.00 0.38 1.28 3.05 6.24 4.57 3.60 2.98 2.3 1.78 1.62 10.14 6.12 4.39 3.44 2.40 1.86 1.69 1.52 Kaplad g Alan (%) 0.37 1.36 5.13 11.22 19.70 0.62 1.93 3.90 6.64 14.08 24.35 30.45 44.67 1.14 4.11 8.87 13.80 0.42 0.57 0.73 0.89 1.20 1.51 1.67 0.25 0.42 0.59 0.76 1.09 1.43 1.60 1.77
neye atarak kendi aritmetik islecini ekleyebilece i sekilde g genisletilmeye uygun, esnek bir sekilde tasarlanmstr.
7. KAYNAKCA
[1] Xilinx ise design suite12.4.(2010,december).[online]. available: http://www.xilinx.com/products/. [2] Altera quartus ii design suite.(2012,february).[online]. available:http://www.altera.com/. [3] D. Kulkarni, W. A. Najjar, Rinker R., and F. J. Kurdahi. Compile-time area estimation for lut-based fpgas. ACM Trans. Des. Autom. Electron. Syst., 11:104122, January 2006. [4] R. Enzler, T. Jeger, D. Cottet, and G. Troster. High-level area and performance estimation of hardware building blocks on fpgas. In Field-Programmable Logic and Applications: The Roadmap to Recongurable Computing, volume 1896 of Lecture Notes in Computer Science, pages 525534. Springer Berlin / Heidelberg, 2000. [5] K. Lanping D. andSobti and C. Chakrabarti. Accurate models for estimating area and power of fpga implementations. In Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on, pages 14171420, 31 2008-april 4 2008. [6] A. Nayak, M. Haldar, A. Choudhary, and P. Banerjee. Accurate area and delay estimators for fpgas. In Proceedings of the conference on Design, automation and test in Europe, DATE 02. IEEE Computer Society, 2002. [7] A. Fehnker, R. Huuck, P. Jayet, M. Lussenburg, and F. Rauch. Model checking software at compile time. In Theoretical Aspects of Software Engineering, 2007. TASE 07. First Joint IEEE/IFIP Symposium on, pages 45 56, june 2007. [8] K. McMillan. Verication of innite state systems by compositional model checking. In Laurence Pierre and Thomas Kropf, editors, Correct Hardware Design and Verication Methods, volume 1703 of Lecture Notes in Computer Science, pages 705705. Springer Berlin / Heidelberg, 1999. [9] Ming Z., Jinian B., Weimin W., and Hongxi X. Propertyclassied hybrid verication based on cdfg. In ASIC, 2003. Proceedings. 5th International Conference on, volume 1, pages 233 237 Vol.1, oct. 2003. [10] B. Kurumahmut, G. Kabukcu, R. Ghamari, and A. Yurdakul. Design automation model for application-specic processors on recongurable fabric. In Proc. Forum Specication & Design Languages FDL 2009, pages 16, 2009. [11] Nusmv v2.5 tutorial.(2012, february).[online]. available: http://nusmv.fbk.eu/nusmv/tutorial/index.html. [12] K. L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. PhD thesis, Carnegie Mellon Department of Computer Science, 1992.
Dif. Denk.
SDYS
OS
EDS
AKD
6. Sonuc
Bu calsmada, isaret isleyen sistemler icin Alan Programla mal Kap Dizileri ust nde, gecikme ve alan basarm kestirim u modeli ve YAS ureteci gelistirilmistir. Kestirim ve YAS ure teci arac RH(+) elektronik tasarm otomasyonu aracna entegre edilmek icin gelistirilmistir. Kestirim modelinde ticari araclarn kulland karmask y ntemler kullanlmamstr, fakat kestirim g o modelimizin sonuclar oldukca makul ve kestirim s resi ti u cari araclar gibi uretim, yerlestirme ve yol atama admlarndan gecmedi i icin programmz cok daha hzl calsmaktadr. Kes g tirim ve YAS uretici aracmz bes farkl denektas testi icin uygulanms ve ortalama gecikme kestirim hata oran 6.57% ve alan kestirimi hata oran 3.76% bulunmustur. Ayrca, kestirim ve YAS uretici aracmz kullancnn gerekli dosyalar k t pha uu