<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è) > EDA/PCB > 設計應用 > 用于軟件驗證的硬件加速仿真之一:物理和虛擬探針

用于軟件驗證的硬件加速仿真之一:物理和虛擬探針

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

在驗證領(lǐng)域,增強了硬件加速仿真作為數據中心資源對硬件設計人員和軟件開(kāi)發(fā)人員的吸引力。

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

硬件加速仿真不斷證明它本身就是一種便利的工具,既可用于硬件/軟件協(xié)同驗證,也可用于測試硬件和軟件的集成。

啟動(dòng)操作系統并執行軟件應用程序需要經(jīng)過(guò)數十億個(gè)驗證周期 — 傳統的基于軟件的分析工具無(wú)法勝任這項任務(wù)。只有基于硬件的驗證引擎才可提供應對這一挑戰所需的吞吐量。正因為如此,硬件加速仿真和 FPGA 原型設計才會(huì )成為當今設計和驗證團隊的驗證工具箱中的必備引擎。

通過(guò)硬件加速仿真和 FPGA 原型設計,嵌入式軟件開(kāi)發(fā)人員能夠驗證嵌入式軟件并執行系統驗證,這是一項極具吸引力的功能。只有通過(guò)硬件加速仿真,他們才能確認嵌入式系統軟件能夠與底層硬件協(xié)同工作,因為 FPGA 原型設計沒(méi)有提供可調試內部工作的硬件設計可見(jiàn)性。

另外,在設計周期中,項目組成員可以使用硬件加速仿真的時(shí)間通常遠早于使用 FPGA 原型的時(shí)間。因此,使用硬件加速仿真技術(shù),軟件開(kāi)發(fā)團隊開(kāi)始進(jìn)行驗證的時(shí)間要早于使用 FPGA 原型的情況。

硬件工程師也可以認識到在硬件加速仿真上運行軟件的優(yōu)勢。當實(shí)際軟件產(chǎn)品第一次在硬件上運行時(shí),它幾乎總會(huì )暴露出硬件錯誤,即使最全面的驗證方法也會(huì )遺漏一些錯誤。及早運行軟件可以暴露出這些錯誤,以便我們加以解決。這樣不僅簡(jiǎn)單,而且成本較低。

過(guò)去,軟件開(kāi)發(fā)人員使用物理 JTAG 探針來(lái)調試在硬件加速器上運行的代碼(圖 1)。JTAG 標準定義了一系列信號,以及通過(guò)四管腳接口讀取和寫(xiě)入物理芯片中的寄存器的方法。這種做法的初衷是提供一種測試芯片的方法,讓測試工程師窺探封裝芯片的內部,確認它是否正常工作。

軟件開(kāi)發(fā)人員意識到他們可以使用相同的接口,讀取和寫(xiě)入芯片中的處理器的通用寄存器。能夠讀取和寫(xiě)入處理器的主寄存器,意味著(zhù)他們可以調試在處理器上運行的程序。

通過(guò)一些巧妙的接口,他們可以使用嵌入式調試器(例如 Lauterbach 的 Trace-32 或 ARM 的 DS-5),將命令發(fā)送到 JTAG 探針,以提取或設置連接到探針的板載處理器的狀態(tài)。這是開(kāi)發(fā)人員運行和調試嵌入式系統上的“裸機”程序和驅動(dòng)程序的最常用方法。

使用當今的硬件加速仿真系統,可通過(guò)連接到外部器件的任何 I/O 卡,輸出設計的任何信號。這種方法可用于輸出 JTAG 接口的四個(gè)信號。通過(guò)將這些來(lái)自硬件加速器中的設計的信號連接到 JTAG 探針,軟件開(kāi)發(fā)人員能夠在硬件加速仿真設計上,執行與在原型板上相同的調試工作。

由于 JTAG 探針將在設計后期用于原型板上,并且可能還在后續項目中使用,因此軟件開(kāi)發(fā)人員一般都了解該探針的使用方法和作用。在硬件加速仿真設計上調試軟件時(shí),軟件開(kāi)發(fā)人員自然會(huì )采用這種熟悉的工具。

雖然 JTAG 接口讓調試器能夠直接讀取和寫(xiě)入寄存器,但要正確地調試程序,還需要能夠讀取和寫(xiě)入內存并且控制程序的執行。為了滿(mǎn)足這種需求,處理器設計人員添加了調試器可訪(fǎng)問(wèn)的寄存器,以便將內存讀取和寫(xiě)入指令插入到執行管道中。這樣一來(lái),調試器就能夠完全訪(fǎng)問(wèn)設計中的所有內存和內存映射的器件。

另外,這些設計人員還采用了斷點(diǎn)寄存器和其他調試支持電路,從而令 JTAG 調試器能夠控制程序的執行。這意味著(zhù),通過(guò)連接至處理器的 JTAG,調試器能夠顯示程序源代碼、處理器的寄存器、內存、變量以及程序的堆棧。因此,調試器能夠設置斷點(diǎn),運行和單步調試程序,而這些正是軟件開(kāi)發(fā)人員期望現代化軟件調試環(huán)境能夠提供的功能。

處理 JTAG 探針問(wèn)題

雖然 JTAG 探針實(shí)現了在硬件加速仿真設計上的軟件調試,但它也有缺點(diǎn)。第一,JTAG 探針和在硬件加速器中運行的設計都有它們自己的自激時(shí)鐘。為了保持同步,這些時(shí)鐘必須維持一致的速度。如果做不到,調試器和設計之間的連接將會(huì )丟失。

很多情況下,需要重置探針;而有些時(shí)候,還將需要重置設計本身。有時(shí)減慢甚至停止硬件加速器中的設計時(shí)鐘是非常有用的,因為這樣可以采集和上載設計上的波形。這樣一來(lái),開(kāi)發(fā)人員就能夠查看設計的狀態(tài),或者對設計進(jìn)行強制賦值,使其變換到新值。實(shí)質(zhì)上,如果硬件加速器上的時(shí)鐘不能減慢或停止,硬件開(kāi)發(fā)人員將會(huì )丟失諸多硬件調試功能。

使用 JTAG 探針存在的第二個(gè)問(wèn)題是性能。由于存在兩個(gè)獨立的時(shí)鐘域,一個(gè)在硬件加速器上,另一個(gè)在探針上,數據將在兩個(gè)域之間傳遞,就會(huì )產(chǎn)生跨時(shí)鐘域問(wèn)題。為了解決這個(gè)問(wèn)題,探針上的時(shí)鐘速度通常低于處理器的時(shí)鐘速度。在原型板上,處理器的時(shí)針速度可達到幾百兆赫甚至千兆赫,這不是問(wèn)題。但在硬件加速仿真中,時(shí)鐘運行速度為一兆赫或兩兆赫,這可能讓速度減慢很多。

例如,在 ARM Cortex-A57 中分步運行單個(gè)指令,需要超過(guò) 400 萬(wàn)個(gè)比特的 JTAG 掃描鏈活動(dòng)。如果處理器的時(shí)鐘在 2 MHz 的頻率下運行,JTAG 時(shí)鐘的頻率是它的四分之一,也就是 500 kHz,則在分步運行之后,需要 8 秒才能更新調試器中的視圖。

另一個(gè)性能問(wèn)題是程序下載時(shí)間。軟件開(kāi)發(fā)人員使用掃描鏈,通過(guò) JTAG 探針將程序下載到目標。如果程序很大,則將程序加載到存儲器可能要花費一個(gè)小時(shí)甚至更長(cháng)時(shí)間。大多數軟件開(kāi)發(fā)人員無(wú)法接受這種性能水平。

JTAG 事務(wù)處理器

有一種使用 JTAG 調試器的方法可以消除這些問(wèn)題。硬件加速仿真系統能夠通過(guò)電路和硬件加速器內置的編程功能,驅動(dòng)和采樣設計中的任何信號。我們無(wú)需通過(guò) I/O 卡從設計中采集信號,然后使用予以驅動(dòng),而是可以使用“事務(wù)處理器”,通過(guò)編程方式驅動(dòng)設計中的 JTAG 信號。與相同,事務(wù)處理器也可以驅動(dòng)相同的信號,使其變換到相同的值,從而提供相同的調試功能。

由于設計和 JTAG 事務(wù)處理器都在硬件加速仿真系統的控制下,因此時(shí)鐘由硬件加速器控制。時(shí)鐘域可以同步,因此能消除多個(gè)時(shí)鐘的問(wè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>