新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA工程師的研發(fā)之道——總線的研究

        FPGA工程師的研發(fā)之道——總線的研究

        作者: 時(shí)間:2016-12-21 來(lái)源:網(wǎng)絡(luò) 收藏

          如果設(shè)計(jì)中有多個(gè)模塊,每個(gè)模塊內(nèi)部有許多寄存器或者存儲(chǔ)塊需要配置或者提供讀出那么實(shí)現(xiàn)方式有多種,主要如下:

          實(shí)現(xiàn)方式一:可以在模塊頂部將所有寄存器引出,提供統(tǒng)一的模塊進(jìn)行配置和讀出。這種方式簡(jiǎn)單是簡(jiǎn)單,但是頂層連接工作量較大,并且如果配置個(gè)數(shù)較多,導(dǎo)致頂層中寄存器的數(shù)目也會(huì)較多。

          實(shí)現(xiàn)方式二:通過(guò)總線進(jìn)行連接,為每個(gè)模塊分配一個(gè)地址范圍。這樣寄存器等擴(kuò)展就可以在模塊內(nèi)部進(jìn)行擴(kuò)展,而不用再頂層進(jìn)行過(guò)多的頂層互聯(lián)。如下圖所示:

          總線

          那如果進(jìn)行總線的選擇,那么有一種極為簡(jiǎn)單的總線推薦被使用,那就是AVALON-MM的總線

          ALTERA提出兩種總線類型,分別是AVALON-MM,

          AVALON-ST。分別用于連接memeory 和數(shù)據(jù)流的傳送

          MM不是你想的意思,其英文為memory map。實(shí)現(xiàn)內(nèi)存映射是其主要目的。主要信號(hào)包括如下表所示:

         內(nèi)存映射

          AVALON因此可以說(shuō)是最簡(jiǎn)單實(shí)用的總線形態(tài)了。對(duì)于其操作來(lái)說(shuō),總線為同步類型的總線,寫信號(hào)只需要在寫使能有效時(shí),同時(shí)提供寫數(shù)據(jù)即可,而讀數(shù)據(jù)等待信號(hào)無(wú)效時(shí),讀出數(shù)據(jù)有效。

          同樣數(shù)據(jù)類型讀數(shù)據(jù)(readdata)和寫數(shù)據(jù)(writedata)的寬度可以根據(jù)設(shè)計(jì)的需要靈活配置為(8,16,32----256---1024)BIT等值。即可以支持非常大的位寬,但普通應(yīng)用,只需要(8,16,32,64)BIT等即可滿足應(yīng)用。

          那假設(shè)總線寬度32,基本上主流的數(shù)據(jù)總線的寬度。如果需要更細(xì)粒度的劃分,確定讀寫某個(gè)字節(jié)有效,那么byteenable信號(hào)也是必須的。其需要4bit來(lái)標(biāo)示32bit(4個(gè)byte)中那個(gè)有效,每一BIT表示一個(gè)字節(jié),因此如果要完全表示所有的字節(jié)有效,因此字節(jié)有效信號(hào)的寬度為(數(shù)據(jù)總線的寬度/8)。AVALON還可以有burst的操作。主設(shè)備可以通過(guò)burstcount設(shè)備確定brust的長(zhǎng)度,為2的n-1次方。

          對(duì)于普通的應(yīng)用,通過(guò)上述表格中的基本操作即可滿足需求,這也正是AVALON-mm總線的優(yōu)勢(shì)。此外模塊按此標(biāo)準(zhǔn)提供連接接口,各種模塊可以掛在NIOSII的片上系統(tǒng)上。

          如果模塊之間為點(diǎn)對(duì)點(diǎn)的連接,同時(shí)傳遞大數(shù)據(jù)量的操作,那么的AVALON-mm總線就不太適合,因此AVALON_streaming總線就適合這種應(yīng)用場(chǎng)景。

          AVALON_streaming總線本質(zhì)上是一種同步并行總線,即在同步時(shí)鐘狀態(tài)下,使能有效代表傳遞數(shù)據(jù)有效。其基本信號(hào)如下表所示:

          內(nèi)存映射

          總線

          從上圖中,可以看出各信號(hào)在數(shù)據(jù)傳輸中的作用,對(duì)于從設(shè)備獲取數(shù)據(jù)的處理,就是VALID有效時(shí),數(shù)據(jù)有效的采樣操作,非常簡(jiǎn)單方便,易于處理。如果從設(shè)備設(shè)定ready永為1,則表示沒(méi)有反壓的機(jī)制,則主設(shè)備,可根據(jù)自身收包情況一直向從設(shè)備發(fā)送數(shù)據(jù)包。此外還有其他輔助信號(hào),可以根據(jù)設(shè)計(jì)需要進(jìn)行添加。

          使用總線使模塊標(biāo)準(zhǔn)化,便于代碼的移植和設(shè)計(jì)復(fù)用。同時(shí)標(biāo)準(zhǔn)總線的設(shè)定和統(tǒng)一定義也利于項(xiàng)目團(tuán)隊(duì)代碼的標(biāo)準(zhǔn)化,便于理解和傳播。


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: AHB總線FPG

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 南康市| 孝昌县| 山东省| 弥渡县| 沙坪坝区| 台中县| 宜君县| 临沭县| 福贡县| 怀远县| 陆川县| 石棉县| 鄂州市| 孟津县| 临邑县| 井冈山市| 安福县| 克东县| 紫云| 什邡市| 即墨市| 三都| 神木县| 青岛市| 晋城| 吴堡县| 建阳市| 贵定县| 丰镇市| 岳池县| 抚顺县| 乡城县| 鄂托克前旗| 漳州市| 咸丰县| 洪湖市| 长武县| 海晏县| 岳普湖县| 揭西县| 应城市|