新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應用 > 基于LEON3處理器和Speed協(xié)處理器的復雜SoC設(shè)計

基于LEON3處理器和Speed協(xié)處理器的復雜SoC設(shè)計

作者: 時間:2009-07-16 來源:網(wǎng)絡(luò) 收藏

  利用AHB實現(xiàn)通信

  為了實現(xiàn)可編程,需要將C/C++程序表達的信息經(jīng)過編譯器、、AHB總線、DMA控制器和必要的HDL代碼,轉(zhuǎn)化成能夠識別的信息,進入模塊中,如圖2。其中AHB總線是 Core和 Core結(jié)合的關(guān)鍵。

實現(xiàn)軟件可編程的過程

圖2 實現(xiàn)軟件可編程的過程

  AHB總線及AHB控制器

  AMBA總線是一種應用廣泛的層次化總線結(jié)構(gòu),有高速的AHB和低速APB之分,其中AHB是一種流水式高速總線結(jié)構(gòu),地址和數(shù)據(jù)總線相互獨立,可掛載16個Master和Slaver設(shè)備,常用來組織和連接高性能模塊,如、DMA控制器、協(xié)等[5~7]。AHB總線的核心是AHB控制器,主要包括仲裁器,譯碼器和多路復用器,其中仲裁器選擇AHB Master,而譯碼器選擇AHB Slave,實現(xiàn)寫數(shù)據(jù)WDATA和讀數(shù)據(jù)RDATA分開,如圖3所示。

AHB總線的組成結(jié)構(gòu)

  DMA控制器

  DMA是指設(shè)備直接對計算機存儲器進行讀寫操作的方式。這種方式下數(shù)據(jù)的讀寫無需CPU執(zhí)行指令,也不經(jīng)過CPU內(nèi)部寄存器,而是利用系統(tǒng)的數(shù)據(jù)總線直接在源地址和目的地址之間傳送數(shù)據(jù),達到極高的傳輸速率。DMA控制器一方面可以接管總線,即可以像CPU一樣視為總線的主設(shè)備,這是DMA與其它外設(shè)最根本的區(qū)別;另一方面,作為一個I/O器件,其DMA控制功能正式通過初始化編程來設(shè)置。當CPU對其寫入或讀出時,它又和其它的外設(shè)一樣成為總線的從屬設(shè)備。

  本文中為了實現(xiàn)DMA和AHB密切配合,即啟動DMA后大量原始數(shù)據(jù)通過AHB總線從數(shù)據(jù)存儲器進入Speed模塊,需要DMA控制器內(nèi)部包含AHB Master模塊,如圖4所示。另外需要說明的是,為了實現(xiàn)AHB上設(shè)備的plugplay需要在0xFFFFF000-0xFFFFF800地址空間添加設(shè)備信息[8~9],所以DMA 控制器和Speed協(xié)處理器亦要如此,以便LEON3的軟硬件協(xié)調(diào)一致。在C語言實現(xiàn)DMA時,向DMA的控制寄存器寫入相應的信息,即可啟動DMA傳輸,如圖5所示。

DMA與AHB Master的關(guān)系

啟動DMA的C代碼示意
圖5 啟動DMA的C代碼示意

  Speed的AHB接口



關(guān)鍵詞: LEON3 Speed SoC 處理器

評論


相關(guān)推薦

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

關(guān)閉