Publication: Comparison of FPGA design methods through implementation of spatial image filters
Abstract
FPGA vendors develop various tools for implementing goal designs. These tools are at different levels in terms of programming language but can offer the same outputs to the programmer in terms of functionality. Design methods and design flow used in these tools are compared and their distinctions are clarified with toy examples. With Xilinx's development tools, this thesis implements spatial image filters on the ZYBO Z7-10 development board. IP cores are generated for those spatial filters both at the RTL level and using the HLS tool. These IPs are used with an ARM Cortex-A9 processor and obtained filter outputs accordingly. Filters were also implemented using only ZYNQ-7010 (ARM Cortex-A9), MicroBlaze and NEORV-32 processors. IP-containing designs were compared among themselves, processors among themselves, and processors and IP-containing designs with each other under the headings of resource usage, maximum frequency, processing time, power consumption, learning and application convenience, and filter results. In addition, different levels of design methods and flows are shown to the users through filter designs, the designs are compared in terms of design process and output, and the advantages and disadvantages of design methods are revealed. In addition, since the steps of the processes of the filter designs to be implemented will be shared, it is thought that the thesis will be a source for similar projects.
FPGA üreticileri tarafından hedef tasarımları gerçekleştirmek için çeşitli araçlar geliştirilmektedir. Bu araçlar programlama dilleri itibariyle farklı seviyelere hitap edip, işlevsellik açısından programlayıcıya aynı çıktıları sunabilmektedir. Buradan yola çıkarak, bu araçlarda kullanılan tasarım yöntem ve akışlarının karşılaştırılması ve programlayıcılar için aralarındaki farkların örnek tasarımlar üzerinden netleştirilmesi hedeflenmiştir. Bu tezde, Xilinx firmasının FPGA geliştirme araçlarıyla uzamsal görüntü filte tasarımları ZYBO Z7-10 geliştirme kartı kullanılarak yapılmıştır. RTL seviyesinde ve HLS aracı kullanılarak filtre tasarımları için IPler üretilmiştir. Üretilen bu IPler ZYNQ (ARM Cortex-A9) işlemci ile kullanılarak tasarım çıktıları elde edilmiştir. Filtreler yalnızca ZYNQ-7010 (ARM Cortex-A9), MicroBlaze ve NEORV-32 işlemcileri kullanılarak da gerçeklenmiştir. IP içeren tasarımlar kendi aralarında, işlemciler kendi aralarında ve işlemciler ile IP içeren tasarımlar birbirleri ile kaynak kullanımı, maksimum frekans, işlem süresi, güç tüketimi, öğrenme ve uygulama kolaylığı, filtre sonuçları başlıkları altında karşılaştırılmıştır. Bununla beraber filtre tasarımları tasarım yöntemleri ve akışları gösterilmiş, tasarımlar süreç ve çıktı açısından karşılaştırılarak, tasarım yöntemlerinin avantaj ve dezavantajları ortaya konmuştur. Ayrıca gerçekleştirilecek filtre tasarımlarına ait süreçlerin adımları paylaşılacağından tezin benzer projelere kaynak oluşturacağı düşünülmektedir.
FPGA üreticileri tarafından hedef tasarımları gerçekleştirmek için çeşitli araçlar geliştirilmektedir. Bu araçlar programlama dilleri itibariyle farklı seviyelere hitap edip, işlevsellik açısından programlayıcıya aynı çıktıları sunabilmektedir. Buradan yola çıkarak, bu araçlarda kullanılan tasarım yöntem ve akışlarının karşılaştırılması ve programlayıcılar için aralarındaki farkların örnek tasarımlar üzerinden netleştirilmesi hedeflenmiştir. Bu tezde, Xilinx firmasının FPGA geliştirme araçlarıyla uzamsal görüntü filte tasarımları ZYBO Z7-10 geliştirme kartı kullanılarak yapılmıştır. RTL seviyesinde ve HLS aracı kullanılarak filtre tasarımları için IPler üretilmiştir. Üretilen bu IPler ZYNQ (ARM Cortex-A9) işlemci ile kullanılarak tasarım çıktıları elde edilmiştir. Filtreler yalnızca ZYNQ-7010 (ARM Cortex-A9), MicroBlaze ve NEORV-32 işlemcileri kullanılarak da gerçeklenmiştir. IP içeren tasarımlar kendi aralarında, işlemciler kendi aralarında ve işlemciler ile IP içeren tasarımlar birbirleri ile kaynak kullanımı, maksimum frekans, işlem süresi, güç tüketimi, öğrenme ve uygulama kolaylığı, filtre sonuçları başlıkları altında karşılaştırılmıştır. Bununla beraber filtre tasarımları tasarım yöntemleri ve akışları gösterilmiş, tasarımlar süreç ve çıktı açısından karşılaştırılarak, tasarım yöntemlerinin avantaj ve dezavantajları ortaya konmuştur. Ayrıca gerçekleştirilecek filtre tasarımlarına ait süreçlerin adımları paylaşılacağından tezin benzer projelere kaynak oluşturacağı düşünülmektedir.
