<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 復雜系統級芯片的軟件/硬件協(xié)同驗證

復雜系統級芯片的軟件/硬件協(xié)同驗證

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

本文針對/協(xié)同驗證環(huán)境的多種方法進(jìn)行了分析和比較, 并就各種方法在藍牙系統級設計中的應用為例對其進(jìn)行了詳細地闡述。

本文引用地址:http://dyxdggzs.com/article/193866.htm

隨著(zhù)半導體技術(shù)的飛速發(fā)展,單個(gè)硅片上的集成度越來(lái)越高,如何更快、更有效的完成基于SoC設 計逐漸成為人們關(guān)注的焦點(diǎn)。目前,許多設計小組仍然沿用十萬(wàn)門(mén)設計中用過(guò)的工具和方法來(lái)驗證龐大的和其嵌入,這些方法往往要占用50%以上的設計 周期, 而且已經(jīng)達到極限。驗證最后設計的正確性被視為設計更大規模的系統級的重要瓶頸。本文針對級芯片的/協(xié)同驗證環(huán)境的多種方法進(jìn)行了分 析和比較, 并就各種方法在藍牙系統級芯片設計中的應用為例對其進(jìn)行了詳細地闡述。

隨著(zhù)近來(lái)日益明顯的靈活性需求,系統級芯片設計采用軟件來(lái)實(shí)現設計中的一部分硬件功能, 而不再采用單一用途的硬連接?,F今,在一個(gè)復雜的系統級芯片應用中,例如視頻解碼器,設計者將集成硬件模塊,應用軟件,RTOS,片上總線(xiàn),可編程嵌入處 理器I/O外圍設備,內存模塊,即所謂嵌入式內核系統級芯片框架。

協(xié)同驗證環(huán)境

11.gif

嵌入技術(shù)為基礎的SoC系統的設計周期,通常首先產(chǎn)生一個(gè)系統設計的抽象模型并對其進(jìn)行模擬, 功能抽象被映射到一個(gè)詳細的系統結構,同時(shí)定義了系統框架的性能模型。系統結構映射把分解成多個(gè)層次獨立的硬件核子模塊和軟件核子模塊核。同時(shí)系 統需求被轉換為軟件和硬件規范。硬件設計團隊利用Verilog和VHDL完成硬件部分, 然后用硬件模擬器做驗證。軟件設計團隊利用匯編,C,C++語(yǔ)言完成SoC所需的RTOS內核軟件或其他功能軟件如通信協(xié)議軟件的設計,利用處理器模型和 ICE來(lái)測試軟件。傳統上,軟件團隊等到硬件原型完成才可進(jìn)行最終的系統集成。很多問(wèn)題會(huì )產(chǎn)生在系統集成的過(guò)程中。這些問(wèn)題產(chǎn)生源于對規范的誤解,不適宜 的接口定義,和稍后的設計變化。通過(guò)軟件遞歸設計可以消除這些錯誤,但這樣可能會(huì )影響系統的性能。如果利用修改硬件的方法會(huì )十分耗費金錢(qián)和時(shí)間,特別是當 其中包含循環(huán)設計集成電路。把系統的集成階段移到設計周期的前期可以較早的消除系統集成的問(wèn)題。這可以通過(guò)創(chuàng )建一個(gè)軟件/硬件協(xié)同驗證環(huán)境來(lái)解決這個(gè)問(wèn) 題。

在一個(gè)軟件/硬件協(xié)同驗證環(huán)境中有些方面十分重要:準確,環(huán)境中模型應該時(shí)鐘周期準確或者管腳準確而且必須準確地映射 SoC功能??焖?環(huán)境的速度應該足夠快得可以使由實(shí)時(shí)操作系統和應用程序組成的軟件運行。適用,軟件和硬件設計團隊都應該能夠運用這個(gè)環(huán)境來(lái)進(jìn)行功能和 性能驗證??傻?,為了實(shí)現Time_to_Market(TTM)的目標, 并能夠完成硬件/軟件協(xié)同設計和協(xié)同驗證,環(huán)境應在設計周期的早期得到。經(jīng)濟,較少的金錢(qián)耗費也是一個(gè)和準確性,性能同樣重要的考慮。

一般的協(xié)同驗證環(huán)境會(huì )有一個(gè)源代碼調試器作為基本構成,為了讓用戶(hù)可以下載固件/軟件并連接系統。調試器可以幫助閱讀源代 碼,設立斷點(diǎn),暫停和控制處理器的運行。依靠所選擇的環(huán)境的不同,處理器模塊就可以被一個(gè)模擬模型所代替,諸如指令集模擬器(ISS),總線(xiàn)功能模型,或 者RTL代碼。系統剩余的外圍設備可以用C代碼模型,正式芯片,RTL 碼,或在FPGA中的實(shí)現來(lái)代替。

表1列舉了幾種協(xié)同驗證環(huán)境, 它們支持在設計周期中較早地集成軟硬件,可以克服由傳統驗證方法所帶來(lái)的缺陷,同時(shí),基于以下協(xié)同驗證環(huán)境所開(kāi)發(fā)的軟件可以直接移植到最終的硅片上。當選取一種驗證環(huán)境時(shí),驗證目標,調試覆蓋,性能要求,可以利用的資源是必須考慮的要點(diǎn)。

本文以后的部分將針對其中的軟體原型和原型系統進(jìn)行詳細地闡述,并以各種方法在一款藍牙系統芯片的設計中應用為例。附圖 3 表示了舉例的藍牙系統芯片設計框圖, 該設計基于A(yíng)RM7TDMI處理器核和AMBA片上總線(xiàn)。處理器運行在RTOS上完成所有任務(wù)的管理和調度,同時(shí)運行完整的藍牙協(xié)議棧。

軟體原型

22.gif

一個(gè)軟件原型是被驗證的設計的軟件表現。 它可以檢查處理器的寄存器狀態(tài),內存存取,和外圍設備。如果運行軟件原型主機的運行速度足夠快,它可以使實(shí)際應用軟件和固件在其上運行。利用軟件原型可以 使設計者在得到實(shí)際硅片之前使設計者平衡所修改的系統參數和檢查所得結果,測試中斷處理函數,開(kāi)發(fā)和測試驅動(dòng)程序,測試編譯器產(chǎn)生的代碼的正確性,使系統 和外圍設備的行為可視化和檢驗應用程序算法的正確性。

在軟件原型中,處理器用一個(gè)ISS模擬,并和源代碼調試器接口。外圍設備用C模型表現。圖1為所舉例的藍牙系統級芯片一個(gè) 典型軟件原型的簡(jiǎn)單框圖。它由一個(gè)CPU調試器(例如,ARM調試器)一個(gè)CPU ISS(例如ARM模擬器)和外圍設備C 模型。利用軟件原型開(kāi)發(fā)的軟件和固件可以通過(guò)ICE下載到快速原型或目標硬件系統并為仿真作配置。

建立一個(gè)基于微處理器的系統的軟件原型,需要以下軟件構件: 1. 處理器源代碼調試器,這個(gè)軟件模塊由調試核和用戶(hù)界面所集成,可以使使用者去控制目標系統在調試周期中所處的狀態(tài)。調試、編譯和(目標代碼)連接工具集位 于和調試核集成的調試宿主機器。調試器可以通過(guò)一個(gè)ICE連接到目標硬件系統。調試器可以被用作讀/寫(xiě)寄存器和內存,控制和重啟系統和模擬器中的處理器。 2. 指令集模擬器(ISS),該軟件模塊在沒(méi)有考慮時(shí)延地前提下模擬處理器指令。特定的處理器生產(chǎn)商會(huì )提供相應的ISS。例如,ARM 提供的ARMulator模擬ARM處理器系列,提供和外圍設備C模型的接口,并幫助構成一個(gè)軟件原型。3. 外圍設備C模型,其中寄存器的所有細節,字節定義,外圍的中斷行為都應該包含在該C 模型中。這可以使固件和應用軟件僅做少量的改動(dòng)或不改動(dòng)就可在實(shí)際硅片中使用。

在實(shí)際應用中,軟件原型有以下的局限性:a. 容量有限:軟件原型僅在早期接口和代碼段調試應用。B. 速度有限:在大多數情況,模擬速度是一個(gè)十分敏感的問(wèn)題,因為模擬器總不能和實(shí)際的處理器一種快。C. 模型的準確性:外圍設備C模型僅是功能正確, 而不是時(shí)鐘周期正確和管腳正確。D. 同步性:對于像外圍設備數據同步性的需求一般難于解決。

33.gif

構成一個(gè)軟件原型必須遵行以下步驟:1. 分析為設計所選取的處理器的特征。2. 檢查所選處理器ISS是否能夠和所選外圍C模型接口。如果ISS無(wú)相應的接口,軟件原型就無(wú)法構成。3. 分析接口,內存地址,寄存器,字節定義,外圍設備中斷行為,并完成相應C模型。4. 完成需要利用軟件原型去驗證的應用程序。并將處理器ISS,外圍C模型,應用程序編譯成可在宿主機運行的可執行程序。5. 運行編譯程序和調試器并開(kāi)始調試。如果有一些錯誤,其起因可能是因為外圍設備模型和應用程序的錯誤。如需要進(jìn)行性能測試,則可在相應的仿真或快速原型環(huán)境 下進(jìn)行,最終當實(shí)際硅片完成,軟件既可被用于最后軟件和硬件集成。在舉例的藍牙系統級芯片(如圖2所示)的軟件原型中,分別為UART,并行接口,中斷控 制器模塊構造C模型,ARM7TDMI處理器被ARMulator所代替。 其中ARMulator由一個(gè)ARM 處理器內核模型,內存接口, 執行環(huán)境中操作系統接口,和一個(gè)協(xié)處理器接口組成,同時(shí)和ARM調試器接口。

快速原型系統

快速原型系統(RPS)是設計的硬件設計的表現。成功快速原型的關(guān)鍵在于盡可能快的實(shí)現一個(gè)原型。這里將著(zhù)重論述針對應用的 可重置系統原型系統(ARPS)。這種方法將目標設計映射到普遍可得的商用器件上而且具有一定的擴展能力和可重用特性。通常,這些原型的構成圍繞嵌入式處 理器的BSP,通過(guò)增加附加構件(內存,FPGA,IP核)。根據所選的IP,BSP可以在SoC完成前被用來(lái)開(kāi)發(fā)和調試硬件和軟件。例如,很多IP供應 商,ARM,DSPGroup,MIPS,Motorola都提供基于他們處理器IP的BSP。這些BSP可劃分為兩種,一種基于微處理器,例如將在舉例 中的提到的ARM基于A(yíng)MBA的BSP。這款組成包括一個(gè)ARM7TDMI處理器芯片,仲裁器,地址解碼器,內存,兩個(gè)時(shí)鐘,中斷控制器,兩個(gè)UART, 并口,兩個(gè)PC卡插槽,和(閃存/EPROM,SRAM,DARM)內存控制器。BSP有輔助軟件和一個(gè)ICE幫助開(kāi)發(fā)和調試,它在20 MHz 時(shí)鐘下,并連接LA。另一種基于DSP。較典型例如DSP Group基于OkaDSP的BSP。它的構成包括一個(gè)DSP,地址解碼器,擴充內存,和膠合邏輯。它運行在40MHZ 時(shí)鐘速度,可以連接LA,通過(guò)一個(gè)PC附加模塊提供體調試特征。

ARPS除了具有應用范圍大,性能高,支持模擬/混合信號器件(AMS)的集成等RPS的共性外。同時(shí),ARPS具有如下 的特殊優(yōu)點(diǎn):首先,有助于快速理解IP功能,包括處理器和外圍設備。其次可以證明設計產(chǎn)品的特征。有能力連接ICE和LA設備做調試。能夠便利地探測和監 控系統內的管腳和信號。最后可以通過(guò)插入附加IP模塊來(lái)進(jìn)行設計擴展。

在實(shí)際應用中,ARPS有以下的局限性:首先將整個(gè)設計劃分到多個(gè)FPGA將是一個(gè)工程挑戰并占據大量的時(shí)間,這往往是因 為FPGA的最多管腳數(I/O接口)一般有限(通常400~450)。其次,除非未來(lái)的產(chǎn)品基于相同的平臺,否則ARPS的重用僅限于選定的應用領(lǐng)域。 最后,也是較重要的一點(diǎn),如果需要額外的功能模塊,相應花費的開(kāi)發(fā)時(shí)間將頗為可觀(guān)。其中將包括FPGA實(shí)現,PCB封裝等。

基于以上的特點(diǎn),通常運用ARPS方法時(shí)總假定系統設計已經(jīng)完成,軟件和硬件劃分已經(jīng)完成,所需的SoC的IP集合和 BSP以被確定和選取。構成一個(gè)ARPS驗證必須遵行以下步驟:1. 選擇并分析可用IP的BSP,并將其映射到目標SoC設計。2. 如缺乏所需的IP模塊,選取適當FPGA器件并完成相應RTL代碼綜合,模擬,和布線(xiàn)。3. 對相應BSP進(jìn)行配置并和額外設計的模塊連接。4. 利用ICE和LA調試器件驅動(dòng)和應用程序代碼,并分別修復軟/硬件錯誤。

舉例的藍牙SoC的ARPS由ARM的基于A(yíng)MBA的BSP構成。該BSP由架構(圖3)中除了USB, 編解碼器, 藍牙連接控制模塊以外的所有模塊組成。遺漏的這三個(gè)模塊可以集成到一個(gè)ASB模塊中,并插入BSP所提供的接口。藍牙連接控制器和編解碼器的數字部分可以 在一個(gè)FPGA中實(shí)現。AMS模塊(數模, 模數轉換, USB模擬部分器件)可以通過(guò)標準芯片連接到外部的FPGA。有關(guān)設計可參照www.arm.com 的設計準則來(lái)完成。隨BSP提供的軟件工具包含一個(gè)源代碼調試器、編譯器=匯編、(目標代碼)連接器,這些可以被用作軟件的開(kāi)發(fā)和調試。應用軟件和固件可 以利用這個(gè)該ARPS來(lái)測試。

SoC中的調試技巧

44.gif

因為沒(méi)有外接管腳可以連接ICE 和LA,SoC中的處理器內核對于調試和分析是不可見(jiàn)的。這就需要新的調試技巧和工具去解決嵌入式內核的調試和分析問(wèn)題:BDM核,基于掃描鏈的調試方法(JTEG)和Nexus 5001 Forum:

1. BDM 已經(jīng)被融入Motorola 微處理器。這是通過(guò)增加一個(gè)小的調試邏輯和附加的微處理器代碼來(lái)實(shí)現。這種模型使用一個(gè)外在處理器來(lái)控制微處理器的目標系統并通過(guò)串口檢測內部寄存器和內 存,而目標系統和主系統的聯(lián)系通過(guò)一個(gè)BDM導線(xiàn)。BDM技術(shù)不需求任何目標處理器資源,例如片上內存和I/O管腳。

2. JTAG (IEEE 1149.1) 標準源于邊界掃描,一開(kāi)始為芯片制造的測試所設計。該標準同時(shí)可以執行器件內測試,例如ATPG和BIST。

很多內核供應商和半導體公司利用JTAG 標準來(lái)實(shí)現仿真模擬,通過(guò)添加調試邏輯去測試處理器內部寄存器,指令,數據線(xiàn)內容,還可以通過(guò)設立斷點(diǎn)控制軟件的執行。處理器內核,例如ARM, MPIS和POWERPC 都有基于JTAG的仿真模擬特性。

3. Nexus 5001 Forum 建立于1998, 定義了一個(gè)嵌入式處理器調試和接口標準。該標準為處理器和構架獨立而且支持多內核和多處理器的設計。 Forum 由處理器供應商,工具供應商,和器件制造商組成, 同時(shí)也稱(chēng)為IEEE-ISTO 5001 標準, 有關(guān)可參照www.ieee-isto.org/Nexus5001。

任何調試技巧都依賴(lài)于一定的工具。調試工具分兩種,硬件工具和軟件工具。硬件調試工具用于調試硬件目標系統。 它包括ROM模擬器(RE)、ICE和LA. 圖2顯示 ICE /RE,LA和硬件模塊之間的連接,其中ICE連接CPU,RE連接系統ROM。

一個(gè)RE插入目標硬件原型上ROM/FLASH插口,映射目標ROM到內部ROM,這可以快捷地完成代碼修改,通過(guò)消除EPROM擦/寫(xiě)周期加速調試過(guò)程。ICE是一個(gè)硬件設備,物理代替并模擬被測目標系統的處理器。而LA則被用作目標系統的高速數據采集。

軟件調試工具則包括ISS 和cycle accurate simulator(CAS)。模擬器是一種軟件工具以用來(lái)仿真處理器的功能。它和外圍設備的C模型接口,在得到實(shí)際硅片前建立一個(gè)代表目標設計的系統。 這可以使開(kāi)發(fā)者開(kāi)始開(kāi)發(fā)固件,驅動(dòng)程序和應用程序。對于前者,順序執行程序指令并不考慮系統時(shí)鐘。而對于CAS, 處理器的行為以時(shí)鐘周期為基準,處理器內部細節,例如流水線(xiàn),處理器接口,總線(xiàn)協(xié)議,都可以做詳細地模擬仿真。通常情況下,ISS的速度較CAS快。

本文小結

在復雜SoC器件中協(xié)同驗證硬件和軟件需要新的方法和工具。隨著(zhù)軟件數量在即所謂基于嵌入式內核系統級芯片框架的系統級芯片 上的不斷增加,設計周期中較早地集成軟硬件是至關(guān)重要的。本文重點(diǎn)闡述了軟件/硬件協(xié)同驗證的基本特征,四種較為完善的協(xié)同驗證環(huán)境及其各自特點(diǎn)。并以藍 牙系統級芯片設計中的應用為例針對其中的軟體原型和原型系統進(jìn)行詳細地闡述。提供一個(gè)完整的基于軟核和硬連線(xiàn)宏功能塊的硬/軟件驗證和調試的解決方案。

c++相關(guān)文章:c++教程


加速度計相關(guān)文章:加速度計原理


關(guān)鍵詞: 復雜系統 芯片 軟件 硬件

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>