日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]  前言  隨著科技的發(fā)展,信號處理系統(tǒng)不僅要求多功能、高性能,而且要求信號處理系統(tǒng)的開發(fā)、生產(chǎn)周期短,可編程式專用處理器無疑是實現(xiàn)此目的的最好途徑。可編程專用處理器可分為松耦合式(協(xié)處理器方式,即MCU

  前言

  隨著科技的發(fā)展,信號處理系統(tǒng)不僅要求多功能、高性能,而且要求信號處理系統(tǒng)的開發(fā)、生產(chǎn)周期短,可編程式專用處理器無疑是實現(xiàn)此目的的最好途徑??删幊虒S锰幚砥骺煞譃樗神詈鲜?協(xié)處理器方式,即MCU+協(xié)處理器)和緊耦合式(專用指令方式,即ASIP),前者較后者易于實現(xiàn),應(yīng)用較廣。本文就是介紹一款松耦合式可編程專用復(fù)雜SoC設(shè)計實現(xiàn),選用LEON3處理器作為MCU,Speed處理器作為Coprocessor。

  LEON3及Speed

  LEON3是由歐洲航天總局旗下的Gaisler Research開發(fā)、維護,目的是擺脫歐空局對美國航天級處理器的依賴。目前LEON3有三個版本(如表1),其中LEON3FT(LEON3 Fault-tolerant)只有歐空局內(nèi)部成員可以使用。LEON3 (basic version)是遵循GNC GPL License的開源處理器,和SPARC V8兼容,采用7級Pipeline,硬件實現(xiàn)乘法、除法和乘累加功能,詳細特性請參考相關(guān)技術(shù)文檔[1]。

表1 LEON3的不同版本

  目前,LEON3處理器因為開源、高性能、采用AMBA總線易擴展及軟件工具完備等因素,在國內(nèi)外大學(xué)(如UCB、UCLA、Princeton University等)及科研院所的科研活動中得到廣泛應(yīng)用。

  Speed(又名GA3816)是一款我國自主研發(fā)、處于同時代國際先進水平、可重構(gòu)、可擴展的面向FFT、IFFT、FIR及匹配濾波應(yīng)用的信號處理器,其內(nèi)部結(jié)構(gòu)如圖1所示,具有以下特點[2~4]:

  1)Speed在追求運算速度的同時兼顧通用性,通過設(shè)置64位控制字,器件內(nèi)部資源可根據(jù)不同應(yīng)用進行重組;

  2)可以實現(xiàn)FFT、IFFT、FFT-IFFT、FIR、滑窗卷積等運算,峰值運算能力達256億次浮點乘累加/秒;

  3)由160個實數(shù)浮點乘法累加運算器組成40個復(fù)數(shù)乘法累加器陣列,1Mbit的雙口SRAM,8個512×32bit系數(shù)ROM,兩個直角到極坐標(biāo)轉(zhuǎn)換電路,兩個對數(shù)變換電路及其它輔助電路和控制電路。

圖1 Speed的內(nèi)部模塊結(jié)構(gòu)

  Speed傳統(tǒng)的工作方式是通過片外FPGA輸入控制信號和待處理數(shù)據(jù),這不僅增大了PCB板級布線、調(diào)試的工作量,而且FPGA不能用C等高級語言編程,算法改動起來不靈活。另一方面,隨著半導(dǎo)體工藝、微電子技術(shù)的發(fā)展,大規(guī)模的復(fù)雜SoC實現(xiàn)技術(shù)逐漸成熟,因此有必要將板級FPGA + Speed改進為芯片級MCU + Speed,這樣既能實現(xiàn)真正的可編程增大靈活性,又能加快用戶開發(fā)信號處理系統(tǒng)的速度。

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

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

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

  AHB總線及AHB控制器

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

 

  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è)置。當(dāng)CPU對其寫入或讀出時,它又和其它的外設(shè)一樣成為總線的從屬設(shè)備。

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


圖5 啟動DMA的C代碼示意

  Speed的AHB接口

  為了使Speed可以順利接收LEON3傳送過來的控制字或DMA傳送過來的原始數(shù)據(jù),需要在原有的Speed core模塊頂層添加AHB Slaver協(xié)議來接收AHB上傳送的數(shù)據(jù),以及產(chǎn)生相應(yīng)波形的HDL代碼來將C程序的信息生成Speed所能識別的信號波形進入Speed模塊內(nèi)部,即從圖6中的控制字,轉(zhuǎn)化成圖7中的時序。

圖6 C語言描述的Speed控制字

圖7 Speed core所需的配置時序

  同理于控制字,濾波系數(shù)和原始數(shù)據(jù)的輸入亦需要一定的HDL代碼來實現(xiàn)指令或數(shù)據(jù)向時序圖的轉(zhuǎn)化,其本質(zhì)相當(dāng)于譯碼,實現(xiàn)起來難度不大,此處就不再累述。Speed處理后數(shù)據(jù)通過狀態(tài)信號(zero_flag)下降沿觸發(fā)LEON3的中斷響應(yīng),實現(xiàn)向外部存儲器的輸出,此過程和數(shù)據(jù)輸入類似。

  編程、編譯及仿真

  用戶在C編程時,只需要按照Speed所需的啟動方式,先設(shè)置控制字、再輸入濾波系數(shù)、然后啟動DMA輸入原始數(shù)據(jù)。值得注意的地方是,為了實現(xiàn)Speed的運算與DMA中原始數(shù)據(jù)輸入同步,需要在C代碼的不同指令間插入一定的延遲指令,此延遲間隔可根據(jù)軟硬件的響應(yīng)速度來計算。

  Gaisler Research公司提供完整的LEON3開發(fā)套件,包括C代碼編譯器sparc-elf-gcc,大大方便了軟硬件開發(fā)和聯(lián)合調(diào)試。 將LEON3和Speed的SoC硬件HDL描述,及編譯后的二進制指令調(diào)入Modelsim進行軟件仿真,再利用FPGA進行硬件仿真,其結(jié)果如圖8、9、10所示。

圖8 從C語言控制字產(chǎn)生的配置時序

圖9 觸發(fā)中斷響應(yīng)的zero_flag信號

圖10 在Altera StratixII 2S180中的仿真結(jié)果

  結(jié)語

  本項目利用LEON3的高性能、易編程、開源等優(yōu)點,開發(fā)了AHB總線接口和DMA控制器,實現(xiàn)了Speed專用信號處理器的軟件可編程,大大簡化了Speed用戶的開發(fā)過程。有待改進之處是,1)當(dāng)前Speed可處理40bit數(shù)據(jù),而Leon3是32bit,沒有最大限度發(fā)揮Speed的運算能力;2)如果在LEON3上運行RTEMS (Real Time Executive for Multiprocessor Systems) 操作系統(tǒng),將進一步方便用戶擴展LEON3的利用價值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

領(lǐng)先的衛(wèi)星通信技術(shù)提供商宣布與全球連接解決方案提供商達成合作協(xié)議,為新興市場和現(xiàn)有市場提供服務(wù)

關(guān)鍵字: Intel SPEED 衛(wèi)星通信 ST

雙方合作支持Brightspeed覆蓋20個州的光纖部署計劃?,該多年期協(xié)議包含interconnectNOW和Financial Analytics,用來幫助編排服務(wù)請求和管理貿(mào)易伙伴支出

關(guān)鍵字: SPEED 自動化 SYNCHRO OS

處理器(coprocessor),一種芯片,用于減輕系統(tǒng)微處理器的特定處理任務(wù)。

關(guān)鍵字: 協(xié)處理器 芯片 微處理器

ARM支持16個協(xié)處理器,在程序執(zhí)行過程中,每個協(xié)處理器忽略屬于ARM處理器和其他協(xié)處理器指令,當(dāng)一個協(xié)處理器硬件不能執(zhí)行屬于她的協(xié)處理器指令時,就會產(chǎn)生一個未定義的異常中斷,在異常中斷處理程序中,可以通過軟

關(guān)鍵字: arm指令 協(xié)處理器 處理指令

Cache ARM920T有16K的數(shù)據(jù)Cache和16K的指令Cache,這兩個Cache是基本相同的,數(shù)據(jù)Cache多了一些寫回內(nèi)存的機制,后面我們以數(shù) 據(jù)Cache為例來介紹Cache的基本原理。我們已經(jīng)知道,Ca...

關(guān)鍵字: arm920t 協(xié)處理器 cp15

本文以ge fanuc plc系列pcm智能通訊模塊在某泵站控制系統(tǒng)中的應(yīng)用為例進行探討,介紹了basic語言在解決plc與現(xiàn)場儀表或其它外部智能設(shè)備之間數(shù)據(jù)通訊問題時能起到的作用,為廣大同行提供又一種串行通訊解決方案。

關(guān)鍵字: basic語言 協(xié)處理器 總線與接口 pcm模塊

ARM體系結(jié)構(gòu)允許通過增加協(xié)處理器來擴展指令集。最常用的協(xié)處理器是用于控制片上功能的系統(tǒng)協(xié)處理器。例如控制Cache和存儲管理單元的CP15寄存器。此外,還有用于浮點運算的浮點ARM協(xié)處理器,各生產(chǎn)商還可以根據(jù)需要開發(fā)自...

關(guān)鍵字: ARM 協(xié)處理器 基礎(chǔ)教程 微處理器 協(xié)處理器指令

ARM指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器psr。MRS指令用于把cpsr或者spsr的值傳送到一個寄存器;MSR與之相反,它將一個寄存器的內(nèi)容傳送到cpsr或者spsr。這兩條指令結(jié)合,可用于對cpsr和sp...

關(guān)鍵字: ARM 協(xié)處理器 基礎(chǔ)教程 微處理器 狀態(tài)寄存器訪問指令

ARMv5及其以上版本提供了一條新的指令——零計數(shù)指令CLZ(Count Leading Zeros)。該指令用于計算最高符號位與第一個1之間的0的個數(shù)。當(dāng)一些操作數(shù)需要規(guī)范化(使其最高位為1)時,該指令用于計算操作數(shù)需...

關(guān)鍵字: ARM 協(xié)處理器 基礎(chǔ)教程 微處理器 零計數(shù)指令 clz

交換指令是load/Store指令的一種特殊形式。該指令將一個存儲器單元內(nèi)容與指定的寄存器內(nèi)容相交換。交換指令為進程間同步提供了一種方便的解決途徑。該指令產(chǎn)生一對原子Load/Store操作,該操作發(fā)生在一個連續(xù)的總線操...

關(guān)鍵字: ARM 交換指令 協(xié)處理器 基礎(chǔ)教程 微處理器

電子設(shè)計自動化

21319 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉