大俠好,歡迎來到FPGA技術江湖,江湖偌大,相見即是緣分。大俠可以關注FPGA技術江湖,在“闖蕩江湖”、"行俠仗義"欄裡擷取其他感興趣的資源,或者一起煮酒言歡。
今天給大俠帶來FPGA Xilinx Zynq 系列第十五篇,本篇内容目錄簡介如下:
5. 應用和機會 (“ 拿它能做什麼?”)
5.6 動态片上系統
5.6.1 運作時刻系統靈活性
5.6.2 動态部分重配置 (DPR)
5.6.3 DPR 應用的例子
5.6.4 DPR 的好處
5.7 更多的機會:Zynq 的 “ 生态系統 ”
5.7.1 什麼是生态系統?
5.7.2 有什麼機會?
5.8. 本章回顧
5.9. 參考文獻
本系列分享來源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。
應用和機會(拿它能做什麼?)
5.6 動态片上系統
本章所提到過的所有的應用,要麼需要一個靈活的平台,也就是在 PL 中實作的功能,要麼是能從這當中受益的。接下來在本節中會讨論到,DPR 技術提供了一種可能,使得 PL 的一個部分 (或幾個部分)可以在運作時刻被完全地重新配置。
5.6.1. 運作時刻系統靈活性
Zynq 全可程式設計 SoC 實作了設計時刻的靈活性,這是由于 Zynq 具有兩個不同的部分,對開發工具和過程的支援,再加上用了 AXI 接口的結果。Vivado HLS 工具實作了更高程度上的易用性,而且無論是 PS 還是 PL 都能實作用 C 語言描述的功能。
PS 上運作的軟體可以在運作時刻,藉由軟體寄存器或共享記憶體,通過傳遞指令和諸如濾波器因數等的參數,來控制駐留在 PL 中的控制功能。這就形成了運作時刻的靈活性。
盡管對硬體做軟體控制可以在運作時刻很好地調整功能,還是有一些時候需要的不僅僅是設定參數那樣的靈活性,需要對硬體中實作的部件做更為基礎性的改變。比如,可能想要實作一個支援不同架構的多種通信标準的 SDR,而在任一時刻,隻會使用其中的一種。實際上,任何需要不同的硬體部件但又不會同時使用這些部分的應用,都可以從相關功能的時分複用中受益。
5.6.2. 動态部分重配置 (DPR)
DPR 技術涉及到指定 PL 的一塊(或多塊)區域在運作時刻可重配置。這些區域需要被指定為可重配置分區(Reconfigurable Partition,RP),并且在 PL 的其他部分還繼續工作着的時候,它們的功能可以被完全改變。重要的是,RP 的重配置不會影響到 PL 的任何其他部分就能達成。
在一片 Zynq 或 FPGA 晶片中可能有多個 RP,而每個 RP 具有一組可重配置子產品 (Reconfigurable Module,RM)。為了清楚起見,這裡我們會關注單個 RP。
一個 RP 可能具有任意數量的相應的 RM,但是任一時刻,隻有其中之一占據着 RP,是以,對應的功能就能在 PL 的一個特定的部位實作時分複用了。圖 5.9 闡述了這個概念。
圖 5.9: 對 PL 中的時分複用子產品使用動态部分重配置
從設計者的角度看,RP 必須具有能放下要部署的最大的 RM 的容量,因為這樣 才能保證有足夠的 PL 資源來用于要支援的所有的設計。使用 DPR 還表示有一組位流片段要事先建立 (每個 RM 一個片段)并且恰當地儲存起來,這樣這些檔案就可以在運作時刻被下載下傳到 PL 中去配置 RP。在實際中,PS 上運作的軟體應用通常負責協調 DPR 的運作。
5.6.3. DPR 應用的例子
DPR 顯然和本章提出的兩種應用特别有關系。
我們首先考慮 SDR 的例子。在這個例子中,我們假設一個無線通信收發信機的 PHY 是在 Zynq 上實作的,并帶有軟體控制。根據要支援的無線标準集的不同,SDR可能需要實作根本不同的硬體結構。沒有 DPR 的話,這就需要把所有會用到的架構都同時實作,那麼就會需要可觀的資源成本;而有 DPR,所需的功能就可以被統一在一個單一的架構中,這個架構包括:(一)所有标準都通用的部件;和 (二)帶有相應的 RM 的 RP,用于在不同的标準上有不同的硬體結構的那些部分 [18]。
圖 5.10 顯示了這樣一個靈活 SDR 發射機架構的概念,圖中假設 SDR 由四個功能 塊組成:編碼、調制、變換和數字升頻器。我們假設最後的那些部件對于這個架構所有可能的變化都是通用的,而其他每個部件都有不同的 RM。在運作時刻由 PS 負責來選擇适當的編碼 RM、調制 RM 和變換 RM。(請注意這是為了讨論的目的而簡化了的架構,而且數字升頻器也是為了說明問題而假設是通用的 — 它其實未必如 此。)
值得記住的是,DPR 是對功能靈活定義的其他方法的補充而不是替代。DPR 隻有在底層硬體結構需要改變的時候才是合适的。電台的其他部件最好不要用 DPR 來實作,而是直接用軟體控制,比如前面 110 頁中圖 5.5 中的 NCO。
圖 5.10: 使用 DPR 的靈活 SDR 架構
其次,考慮到圖像處理算法通常由處理的幾個不同的階段組成,DPR 可能用來實 現過濾器的動态選擇。比如,在 [25] 中,DPR 被用來選擇實作邊緣檢測的 Sobel 濾波器,或是實作調整圖像顔色的 Sepia濾波器。有一個用于 Sobel的 RM和一個 Sepia的 RM,然後被選中的濾波器類型作為位流片段被下載下傳到 RP 中去。沒有很緊的實時處理需要的圖像處理應用也可以利用 DPR 來依次執行圖像處理 算法的各個階段,甚至可以隻有單個 RP。文獻 [11] 展示了這種類型的一個設計,用 FPGA 實作了一個生物資訊指紋識别系統,這個方法對 Zynq 也是一樣适用的。類似的,[10] 提到了汽車領域的一個例子,根據汽車行駛的方向,系統可以在偏離車道告警和倒車影像之間切換。
5.6.4. DPR 的好處
DPR 所實作的運作時刻靈活性具有很大的好處,某種程度上也許輕易就忘了使 用這項技術還有一些其他的優勢。這些優勢總結如下:
- 可能使用更小的晶片 — 基于 PL 的部件通過 DPR 可能實作時分複用,這樣較小的 Zynq 晶片的使用就成為可能。
- 功能豐富 — 隻要有足夠的存儲容量,RM 的數量就沒有限制,那麼就可能實作豐富的功能選擇。
- 更低的功耗 — 如果用了 DPR 就能用較小的 Zynq 晶片,那麼就意味着較低的靜态功耗。動态功耗也會因為不需要同時實作所有的 PL 子產品而降低。
- 節約成本 — 使用較小的晶片能直接降低成本。功耗降低還會降低運作成本。
- 增加新功能 — 新的功能可以直接由新的位流片段檔案來加入,也就是說不需要重新做 PL 硬體設計。
因為這些原因,DPR 是一項有用的技術,同時在很多不同的應用領域都具有潛在的可行性。
5.7 更多的機會:Zynq 的 “ 生态系統 ”
本章迄今為止的讨論都是關于 Zynq上的應用的,也許這些領域代表了基于 Zynq 的産品開發的方向。還有另一個方向 —— 盡管不那麼明顯 —— 就是 Zynq 用的軟體和硬體的支援。這些支援産品給核心産品和相關的開發工具增加了價值,并是以擴充了它的可能性。許多第三方開發者已經在做這樣的事情了。本節接下去的部分,我們會描述目前 Zynq“ 生态系統 ” 的樣子,并概述開發 者可以做出貢獻并從這個生态系統中受益的一些機會 [61]。
5.7.1. 什麼是生态系統?
如果你對消費電子産品有所體驗,技術生态系統的概念就不會陌生。就拿智能手機來說,手機廠家提供了手機和基礎的作業系統,然後可能提供一個 “ 應用商店(app store)” 或類似的機制,使用者隻要需要,就可以從那裡獲得在他們的手機上運作的額外的應用。應用商店裡的 app 幾乎無一例外是由手機廠家以外的其他公司開發的,而且有幾千種不同的 app,從像是音樂管理、天氣預報這樣的主流興趣,到像是記錄汽車軌迹這樣的特殊愛好都有。智能手機還有很多硬體附件,大多數也是第三方生産的,包括外殼和螢幕保護膜、便攜音箱、充電器、車用套件等等。
Zynq 的情況有點類似。Xilinx 生産了晶片和一小套開發闆,并提供了開發工具的核心集,但是還有很多機會留給其他公司來圍繞 Zynq 開發軟體工具、應用和基于硬體的産品。Zynq 的生态系統包括軟體開發環境、專業的軟體庫、IP 開發工具、包裝好的 IP、作業系統和中間件、用來在 Zynq 上做部署的軟體應用、虛拟平台、硬體開發闆、附件子產品和其他的附件。久而久之,随着 Zynq 應用的穩定和多樣發展,它的生态系統也會成為一個豐富的資源。另外,ARM 處理器也有它自己的生态系統,這也是可以利用的 [2]。
圖 5.11 給出了 Zynq 生态系統的圖形化表達,顯示了有代表性的 (而非全部) 的精選的軟體、硬體和支援資源。這個生态系統包括 Xilinx Alliance Program 夥 伴和其他基于 Zynq 或 Zynq 相關的産品和服務的第三方開發者 [59][61]。
5.7.2. 有什麼機會?
Xilinx 鼓勵第三方開發和銷售圍繞 Zynq 的産品與服務。這些産品與服務的市場主要是開發基于 Zynq 的産品的公司的圈子,這個圈子正在穩定地成長。不過,由于這個晶片是由兩個标準的部件(ARM 處理器和 FPGA 部分)組成的,還存在向這兩個平台移植的可能。比如,IP 開發者的機會是建立 Zynq 使用者用的 IP 包,而這些包也可以用于通用的 FPGA 上。是以 Zynq 生态系統代表了技術公司可以參與其中的商業機會。
除了商業運作,還有開源項目和免費軟體的機會。其實圖 5.11 裡描繪的生态系 統的某些部件就是開源的,比如廣泛使用的用于計算機視覺的 OpenCV 庫 [34] 和FreeRTOS 實時作業系統 [12]。
從另一方的角度,也就是産品開發者的角度來看,生态系統提供了獲得建立基 于 Zynq 的系統所需的重要資源的機會。它代表了利用第三方 IP、軟體部件、開發工具等的機會,使得開發者得以加速他們的設計和驗證的過程,是以能更快地投入市場。
圖 5.11: Zynq 生态系統
5.8. 本章回顧
本章精選了一些 Zynq 很适合的應用,進而展示了 Zynq 的廣泛的應用能力。本章以執行個體分析的方式較長的描述了三個特别的領域,分别是 SDR、智能系統與網絡及圖像與視訊處理。每個例子都顯示靈活性和可擴充性是重要的,是以 Zynq 是一個理想的平台。還着重指出了對不同處理類型的需要:像是計算機視覺這樣的應用中,既需要高速、并行計算,也需要在處理器的軟體上運作更為 “ 智能 ” 的算法。
還介紹了 DPR 技術,說明 DPR 可以提供很多好處,不僅僅是運作靈活性,還給基于 Zynq 的系統帶來成本、功耗和更新能力方面的好處。
最後讨論了 Zynq 生态系統,并總結了大量的不斷增長的第三方産品 (既有免費的也有商業的)。要指出的是參與到這個生态系統中來,為資源的提供者構成了商業機會,而對于這些資源的使用者來說,則代表了加速産品設計周期的有價值的機制
5.9. 參考文獻
說明:所有的 URL 最後在 2014 年 6 月通路過。
[1] Apertus.org, “AXIOM Alpha Progress Report” 網頁 , May 2013.位于 : https://www.apertus.org/article-axiom-alpha-update
[2] ARM Ltd., “ARM Community” 網頁 .位于 : http://www.arm.com/community/
[3] D. Bailey, Design for Embedded Image Processing on FPGAs, Wiley-IEEE Press, 2011.
[4] T. Barnaby, “FPGAs Help Measure Trajectory of Particles in CERN’s Proton Synchrotron”, Xcell Journal, Fourth Quarter 2009, pp. 22 - 26.
[5] BBC News, “How New York is Releasing its ‘Big Data’ to the Public”, 12th October 2013. 位于 : http://www.bbc.co.uk/news/technology-24505860
[6] A. Bohandi, “Smart Transport”, Engineering & Technology, Vol. 7, Issues 6, July 2012, pp. 70 - 73.
[7] N. Buch, S. A. Velastin and J. Orwell, “A Review of Computer Vision Techniques for the Analysis of Urban Traffic”, IEEE Transactions on Intelligent Transportation Systems, Vol. 12, No. 3, September 2011, pp. 920 - 939.
[8] B. Dipert, J. Alvarez and M. Touriguian, “Embedded Vision: FPGAs’ Next Notable Technology Opportunity”, Xcell Journal, First Quarter 2012, pp. 14 - 19. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell78.pdf
[9] A. Dembosky, “Silicon Valley links with Salinas Valley to make Farming ‘Smart’”, Financial Times (ft.com), 28th June 2013.位于 : http://www.ft.com/cms/s/0/55656cf2-dff4-11e2-bf9d-00144feab7de.html#axzz2iIdk82Be
[10]F. Fons and M. Fons, “FPGA-based Automotive ECU Design Addresses AUTOSAR and ISO 262622 Standards”, Xcell Journal, First Quarter 2012, pp. 20 - 31. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell78.pdf
[11]F. Fons and M. Fons, “Making Biometrics the Killer App for FPGA Dynamic Partial Reconfiguration”, Xcell Journal, Third Quarter 2010, pp. 24 - 31.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell72.pdf
[12]FreeRTOS 網站 .位于 : http://www.freertos.org/
[13]R. C. Gonzalez and R. E. Woods, Digital Image Processing, 3rd Edition, Pearson, 1998.
[14]A. Guan, S. H. Bayless, and R. Neelakantan, “Connected Vehicle Insights: Trends in Computer Vision”, Intelligent Transportation Society of America, Technology Scan Series 2011-2012.位于 : http://www.itsa.org/knowledgecenter/technologyscan/computer-vision-report
[15]G. Hampson et al, “Xilinx FPGAs Beam Up Next-Gen Radio Astronomy”, Xcell Journal, Second Quarter 2011, pp. 30 - 35. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell75.pdf
[16]G. P. Hancke, B. de Carvalho e Silva, and G. P. Hancke Jr., “The Role of Advanced Sensing in Smart Cities”, Sensors 2013, pp. 393 - 425.位于 : http://www.mdpi.com/1424-8220/13/1/393
[17]f. harris and W. Lowdermilk, “Software Defined Radio: part 22 in a series of tutorials on instrumentation and measurement”, IEEE Instrumentation and Measurement Magazine, Vol. 13, Issue 1, February 2010, pp. 23 - 32.
[18]K. He, L. Crockett and R. Stewart, “Dynamic Reconfiguration Technologies Based on FPGA in Software Defined Radio System”, Journal of Signal Processing Systems, Vol. 69, Issue 1, October 2012, pp. 75 - 85.
[19]T. Hill, “Motor Drives Migrate to Zynq SoC with Help from MATLAB”, Xcell Journal, Second Quarter 2014, pp. 32 - 37. 位于 : http://www.xilinx.com/publications/archives/xcell/Xcell87.pdf
[20]IMEC, “Wireless Communication: Cognitive Radio” 網頁 . 位于 : http://www.imec-nl.nl/nl_en/research/green-radios/cognitive-radio.html
[21]International Telecommunications Union, “H265: High Efficiency Video Coding”, Recommendation H.265 (04/13), April 2013.
[22]“Joint Tactical Networking Centre” 網頁 .位于 : http://www.jtnc.mil/Pages/Home.aspx
[23]F. K. Jondral, “Software-Defined Radio - Basics and Evolution to Cognitive Radio”, EURASIP Journal on Wireless Communications and Networking, Vo. 2005, Issue 3, August 2005, pp. 275-283.
[24]K. Khan, “FPGAs Help Drive Innovation in Complex Medical Systems”, Medical Electronics Design 網站 , April 2012. 位于 : http://www.medicalelectronicsdesign.com/article/fpgas-help-drive-innovation-complex-medicalsystems
[25]C. Kohn, “Partial Reconfiguration of a Hardware Accelerator on Zynq-7000 All Programmable SoC Devices”, Xilinx Application Note, XAPP1159, v1.0, January 2013. 位于 : http://www.xilinx.com/support/documentation/application_notes/xapp1159-partial-reconfig-hwaccelerator-zynq-7000.pdf
[26]Y. Lin, “Using Xilinx Devices to Solve Challenges in Industrial Applications”, Xilinx White Paper, WP410, v2.0, October 2012.
[27]MathWorks, Inc., “Image and Video Processing” 網頁 .位于 : http://www.mathworks.com/image-video-processing/
[28]Mike Mitchell, “Zynq for Video Applications”, Xilinx presentation, 2012. 位于 : http://www.xilinx.com/Attachment/52101/video_opps_rv3.pdf
[29]Joe Mitola, “The Software Radio Architecture”, IEEE Communications Magazine, May 1995, pp. 26 - 38.
[30]Moving Pictures Experts Group website, “MPEG-4” 網頁 .位于 : http://mpeg.chiariglione.org/standards/mpeg-4
[31]S. Neuendorffer, T. Li and D. Wang, “Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC using Vivado HLS Video Libraries”, Xilinx Application Note, XAPP1167, v2.0, August 2013. 位于 : http://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf
[32]Nokia Research Center, “NRC Presents Cognitive Radio” 網頁 . 位于 : https://research.nokia.com/page/9401
[33]OECD, “Building Blocks for Smart Networks”, OECD Digital Economy Papers, No. 215, OECD Publishing, 2013. 位于 : http://dx.doi.org/10.1787/5k4dkhvnzv35-en
[34]OpenCV 網站 ,位于 : http://opencv.org/
[35]Phenox Lab, “Phenox” 網頁 .位于 : http://phenoxlab.com/?page_id=296
[36]Red Pitaya 網站 .位于 : http://redpitaya.com/
[37]M. Russell and S. Fischaber, “OpenCV Based Road Sign Recognition on Zynq”, Proceedings of the 11th International Conference on Industrial Informatics, Bochum, Germany, July 2013, pp. 596 - 601.
[38]M. Santarini, “Xilinx FPGAs to Power Next-Generation Networked Battlefield”, Xcell Journal, Fourth Quarter 2009, pp. 8 - 14.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell69.pdf
[39]M. Santarini, “Xilinx’s New SDNet Environment Enables ‘Softly’ Defined Networks”, Xcell Journal, Second Quarter 2014, pp. 8 - 13.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell87.pdf
[40]J. Shankleman, “Public Transport Gets Smart”, The Guardian, 9th January, 2013. 位于 : http://www.theguardian.com/public-leaders-network/2013/jan/09/centro-public-transport-travelsystems
[41]A. Shukla et al, “Cognitive Radio Technology: A Study for Ofcom - Volume 1”, QinetiQ Ltd. consultancy report, February 2007. 位于 : http://stakeholders.ofcom.org.uk/binaries/research/technology-research/cograd_main.pdf
[42]D. Snoonian, “Smart Buildings”, IEEE Spectrum, August 2003, pp. 18 - 23.
[43]E. Strickland, “Cisco Bets on South Korean Smart City”, IEEE Spectrum, August 2011, pp. 11 - 12.
[44]P. Sundararajan, “High Performance Computing Using FPGAs”, Xilinx White Paper, WP375, v1.0, September 2010.
[45]P. D. Sutton et al, “Iris: An Architecture for Cognitive Radio Networking Testbeds”, IEEE Communications Magazine, September 2010, pp. 114 - 122.
[46]Teradeep 網頁 :http://www.teradeep.com/
[47]J.A. Throop, D. J. Aneshansley, W. C. Anger, and D. L. Peterson, “Quality evaluation of apples based on surface defects: development of an automated inspection system”, Postharvest Biology and Technology, Vol. 36, Issue 3, June 2005, pp. 281-290.
[48]U. S. Energy Information Administration, “Electricity Use by Machine Drives Varies Significantly by Manufacturing Industry”, October 2013, 位于 : http://www.eia.gov/todayinenergy/detail.cfm?id=13431
[49]J. van de Belt, P. D. Sutton, and L. E. Doyle, “Accelerating Software Radio: Iris on the Zynq SoC”, Proceedings of the IFIP/IEEE 21st International Conference on Very Large Scale Integration (VLSI-SoC), October 2013, pp. 294 - 295.
[50]G. Velez et al, “A Reconfigurable Embedded Vision System for Advanced Driver Assistance”, Journal of Real Time Image Processing, Springer, March 2014.
[51]N. Walravens and P. Ballon, “Platform Business Models for Smart Cities: From Control and Value to Governance and Public Value”, IEEE Communications Magazine, June 2013, pp. 72 - 79.
[52]B. Wang and K. J. R. Liu, “Advances in Cognitive Radio Networks: A Survey”, IEEE Journal of Selected Topics in Signal Processing, Vol. 5, No. 1, February 2011, pp. 5 - 23.
[53]J. Wang, M. Ghosh, and K. Challapali, “Emerging Cognitive Radio Applications: A Survey”, IEEE Communications Magazine, March 2011, pp. 74 - 81.
[54]S. Weston et al, “FPGAs Speed the Computation of Complex Credit Derivatives”, Xcell Journal, First Quarter 2011, pp. 18 - 25.位于 : http://www.xilinx.com/publications/archives/xcell/Xcell74.pdf
[55]Wireless Innovation Forum, “What is Software Defined Radio?” 網頁 ,位于 : http://www.wirelessinnovation.org/introduction_to_sdr
[56]xG Technology, “xG Technology Ships World’s First Comprehensive Cognitive Radio System to Walnut Hill Telephone Company”, press release, 16th October, 2013. 位于 : http://www.xgtechnology.com/2013-Press-Releases/xg-technology-ships-worlds-firstcomprehensive-cognitive-radio-system-to-walnut-hill-telephone-company.html
[57]Xilinx, Inc., “A Generation Ahead: Smarter Networks”, Backgrounder, 2013.位于 : http://www.xilinx.com/publications/prod_mktg/smarter-networks-backgrounder.pdf
[58]Xilinx, Inc., “Defense Grade Zynq-7000Q AP SoCs” 網頁 .位于 : http://www.xilinx.com/products/silicon-devices/soc/zynq-7000q.html[59]Xilinx, Inc., “Xilinx Alliance Program” 網頁 .位于 : http://www.xilinx.com/alliance/index.htm[60]Xilinx Inc., “Xilinx’s Zynq-7000 All Programmable SoCs Enable Mobilicom’s Advanced Peer-to-Peer Software-Defined Radios”, press release, 16th July 2013. 位于 : http://press.xilinx.com/2013-07-16-Xilinxs-Zynq-7000-All-Programmable-SoCs-EnableMobilicoms-Advanced-Peer-to-Peer-Software-Defined-Radios [61]Xilinx, Inc., “Zynq 7000 AP SoC Ecosystem” 網頁 .位于 : http://www.xilinx.com/products/silicon-devices/soc/zynq-7000/ecosystem/index.htm[62]C. Zammariello and A. Lorelli, “Towards SDR Standardisation for Military Applications”, European Defence Agency news article, January 2012. 位于 : http://www.eda.europa.eu/info-hub/news/12-01-11/Towards_SDR_standardisation_for_military_applications
第十五篇到此結束,下一篇将帶來第十六篇,開啟第六章,The ZedBoard 等相關内容。歡迎各位大俠一起交流學習,共同進步。
END
後續會持續更新,帶來Vivado、 ISE、Quartus II 、candence等安裝相關設計教程,學習資源、項目資源、好文推薦等,希望大俠持續關注。
大俠們,江湖偌大,繼續闖蕩,願一切安好,有緣再見!