FPGA研發(fā)之道—總線
由于支持多個主設備和多個從設備進行交互,那么對于多個主設備之間就存在競爭。(從設備之間存在競爭否?從設備之間是通過地址區(qū)分的,被動接受主設備的訪問,不會存儲競爭的問題。)因此如何解決競爭,那就需要仲裁,即主設備誰需要訪問總線,則發(fā)起HBUSREQ,而仲裁器收到HBUSREQ,返回給相應主設備HGRANT。此時該設備才能訪問總線。除此之外AHB還有其他一些信號,用于輔助整個系統(tǒng)的傳輸,感興趣的同志,可以看一下AMBA的總線規(guī)范。值得一提的是,作為一個總線規(guī)范,其提供了全集的解決方案,而作為實現(xiàn)部分,只需要在滿足規(guī)范的前提下,實現(xiàn)必要的功能即可,例如AHB總線中規(guī)定,其突發(fā)最大可1K字節(jié),但是作為一個從設備,不一定需要支持這么大的操作,即實現(xiàn)功能可在總線框架內(nèi)進行裁剪,選擇實現(xiàn)支持的類型即可。
本文引用地址:http://www.butianyuan.cn/article/261790.htm在FPGA內(nèi)部設計中,經(jīng)常有多個主設備訪問同一從設備的例子,例如內(nèi)部多個模塊都需要訪問外部存儲器,其實現(xiàn)方式有多種,通過AHB的連接架構,可以實現(xiàn)一個標準、可擴展的接口單元,用于訪問外部存儲器。并且可以作為IP使用。AHB從設備只需要根據(jù)需要,支持某些burst傳輸即可。

隨著SOC(片上系統(tǒng)的發(fā)展),對于高帶寬、低延時的總線需求更加迫切,ARM公司適時退出AXI(AMBA3.0)作為擴展。

上圖分別是AXI接口的讀寫操作,分別可以看出,對于AXI總線來說,其有5組獨立的總線,分別是寫地址,寫數(shù)據(jù),寫響應,讀地址,讀數(shù)據(jù)信號。地址和數(shù)據(jù)信號分開,每組都有自己的控制信號。
每個通道中間沒有時序關聯(lián),如何進行操作的?舉例來說明,例如讀數(shù)據(jù)操作,實際上,主設備向從設備中寫了一個讀的命令,包括讀地址,burst大小,方式等。收到后從設備按照相應的命令讀取相應大小的數(shù)據(jù),傳回主設備,其操作可以簡化的看做兩個緩沖區(qū)類型的操作,主設備將讀命令寫入從設備的命令緩沖區(qū),從設備取出后,根據(jù)命令將相應的數(shù)據(jù)返回給主設備的接收緩沖區(qū)中。這種操作的好處顯而易見,能夠最大限度的減少總線的開銷,因此其讀與讀操作之間獨立,不用等待讀回,就可以發(fā)送下一次的讀信號。寫操作的流程亦然。
對FPGA設計來說,例如xilinx的接口IP(DDR例化時的接口),都已支持AXI的接口。FPGA工程師熟悉相應的總線接口信號和特點,對于技術方案選擇,IP使用和驗證,都是非常重要的。盡量在設計中選擇標準總線接口,對于設計復用,模塊共享來說,則是必由之路。而模塊(IP)復用的益處隨著設計不斷增大將會不斷顯現(xiàn)。
fpga相關文章:fpga是什么
分頻器相關文章:分頻器原理
評論