用於軟件驗證的硬件加速仿真之一:物理和虛擬探針
發布時間:2017-05-25 責任編輯:susan
【導讀】在驗證領域,虛擬探針增(zeng)強(qiang)了(le)硬(ying)件(jian)加(jia)速(su)仿(fang)真(zhen)作(zuo)為(wei)數(shu)據(ju)中(zhong)心(xin)資(zi)源(yuan)對(dui)硬(ying)件(jian)設(she)計(ji)人(ren)員(yuan)和(he)軟(ruan)件(jian)開(kai)發(fa)人(ren)員(yuan)的(de)吸(xi)引(yin)力(li)。硬(ying)件(jian)加(jia)速(su)仿(fang)真(zhen)不(bu)斷(duan)證(zheng)明(ming)它(ta)本(ben)身(shen)就(jiu)是(shi)一(yi)種(zhong)便(bian)利(li)的(de)工(gong)具(ju),既(ji)可(ke)用(yong)於(yu)硬(ying)件(jian)/軟件協同驗證,也可用於測試硬件和軟件的集成。
啟動操作係統並執行軟件應用程序需要經過數十億個驗證周期 — chuantongdejiyuruanjiandefenxigongjuwufashengrenzhexiangrenwu。zhiyoujiyuyingjiandeyanzhengyinqingcaiketigongyingduizheyitiaozhansuoxudetuntuliang。zhengyinweiruci,yingjianjiasufangzhenhe FPGA 原型設計才會成為當今設計和驗證團隊的驗證工具箱中的必備引擎。
通過硬件加速仿真和 FPGA yuanxingsheji,qianrushiruanjiankaifarenyuannenggouyanzhengqianrushiruanjianbingzhixingxitongyanzheng,zheshiyixiangjijuxiyinlidegongneng。zhiyoutongguoyingjianjiasufangzhen,tamencainengquerenqianrushixitongruanjiannenggouyudicengyingjianxietonggongzuo,yinwei FPGA 原型設計沒有提供可調試內部工作的硬件設計可見性。
另外,在設計周期中,項目組成員可以使用硬件加速仿真的時間通常遠早於使用 FPGA 原型的時間。因此,使用硬件加速仿真技術,軟件開發團隊開始進行驗證的時間要早於使用 FPGA 原型的情況。
yingjiangongchengshiyekeyirenshidaozaiyingjianjiasufangzhenshangyunxingruanjiandeyoushi。dangshijiruanjianchanpindiyicizaiyingjianshangyunxingshi,tajihuzonghuibaoluchuyingjiancuowu,jishizuiquanmiandeyanzhengfangfayehuiyilouyixiecuowu。jizaoyunxingruanjiankeyibaoluchuzhexiecuowu,yibianwomenjiayijiejue。zheyangbujinjiandan,erqiechengbenjiaodi。
物理探針
過去,軟件開發人員使用物理 JTAG 探針來調試在硬件加速器上運行的代碼(圖 1)。JTAG biaozhundingyileyixiliexinhao,yijitongguosiguanjiaojiekouduquhexieruwulixinpianzhongdejicunqidefangfa。zhezhongzuofadechuzhongshitigongyizhongceshixinpiandefangfa,rangceshigongchengshikuitanfengzhuangxinpiandeneibu,querentashifouzhengchanggongzuo。
ruanjiankaifarenyuanyishidaotamenkeyishiyongxiangtongdejiekou,duquhexieruxinpianzhongdechuliqidetongyongjicunqi。nenggouduquhexieruchuliqidezhujicunqi,yiweizhetamenkeyitiaoshizaichuliqishangyunxingdechengxu。
通過一些巧妙的接口,他們可以使用嵌入式調試器(例如 Lauterbach 的 Trace-32 或 ARM 的 DS-5),將命令發送到 JTAG 探針,以提取或設置連接到探針的板載處理器的狀態。這是開發人員運行和調試嵌入式係統上的“裸機”程序和驅動程序的最常用方法。
使用當今的硬件加速仿真係統,可通過連接到外部器件的任何 I/O 卡,輸出設計的任何信號。這種方法可用於輸出 JTAG 接口的四個信號。通過將這些來自硬件加速器中的設計的信號連接到 JTAG 探針,軟件開發人員能夠在硬件加速仿真設計上,執行與在原型板上相同的調試工作。
由於 JTAG tanzhenjiangzaishejihouqiyongyuyuanxingbanshang,bingqiekenenghaizaihouxuxiangmuzhongshiyong,yinciruanjiankaifarenyuanyibandoulejiegaitanzhendeshiyongfangfahezuoyong。zaiyingjianjiasufangzhenshejishangtiaoshiruanjianshi,ruanjiankaifarenyuanziranhuicaiyongzhezhongshuxidegongju。
雖然 JTAG 接jie口kou讓rang調tiao試shi器qi能neng夠gou直zhi接jie讀du取qu和he寫xie入ru寄ji存cun器qi,但dan要yao正zheng確que地di調tiao試shi程cheng序xu,還hai需xu要yao能neng夠gou讀du取qu和he寫xie入ru內nei存cun並bing且qie控kong製zhi程cheng序xu的de執zhi行xing。為wei了le滿man足zu這zhe種zhong需xu求qiu,處chu理li器qi設she計ji人ren員yuan添tian加jia了le調tiao試shi器qi可ke訪fang問wen的de寄ji存cun器qi,以yi便bian將jiang內nei存cun讀du取qu和he寫xie入ru指zhi令ling插cha入ru到dao執zhi行xing管guan道dao中zhong。這zhe樣yang一yi來lai,調tiao試shi器qi就jiu能neng夠gou完wan全quan訪fang問wen設she計ji中zhong的de所suo有you內nei存cun和he內nei存cun映ying射she的de器qi件jian。
另外,這些設計人員還采用了斷點寄存器和其他調試支持電路,從而令 JTAG 調試器能夠控製程序的執行。這意味著,通過連接至處理器的 JTAG,調試器能夠顯示程序源代碼、處理器的寄存器、內存、變(bian)量(liang)以(yi)及(ji)程(cheng)序(xu)的(de)堆(dui)棧(zhan)。因(yin)此(ci),調(tiao)試(shi)器(qi)能(neng)夠(gou)設(she)置(zhi)斷(duan)點(dian),運(yun)行(xing)和(he)單(dan)步(bu)調(tiao)試(shi)程(cheng)序(xu),而(er)這(zhe)些(xie)正(zheng)是(shi)軟(ruan)件(jian)開(kai)發(fa)人(ren)員(yuan)期(qi)望(wang)現(xian)代(dai)化(hua)軟(ruan)件(jian)調(tiao)試(shi)環(huan)境(jing)能(neng)夠(gou)提(ti)供(gong)的(de)功(gong)能(neng)。
處理 JTAG 探針問題
雖然 JTAG 探針實現了在硬件加速仿真設計上的軟件調試,但它也有缺點。第一,JTAG 探tan針zhen和he在zai硬ying件jian加jia速su器qi中zhong運yun行xing的de設she計ji都dou有you它ta們men自zi己ji的de自zi激ji時shi鍾zhong。為wei了le保bao持chi同tong步bu,這zhe些xie時shi鍾zhong必bi須xu維wei持chi一yi致zhi的de速su度du。如ru果guo做zuo不bu到dao,調tiao試shi器qi和he設she計ji之zhi間jian的de連lian接jie將jiang會hui丟diu失shi。
很多情況下,需要重置探針;而er有you些xie時shi候hou,還hai將jiang需xu要yao重zhong置zhi設she計ji本ben身shen。有you時shi減jian慢man甚shen至zhi停ting止zhi硬ying件jian加jia速su器qi中zhong的de設she計ji時shi鍾zhong是shi非fei常chang有you用yong的de,因yin為wei這zhe樣yang可ke以yi采cai集ji和he上shang載zai設she計ji上shang的de波bo形xing。這zhe樣yang一yi來lai,開kai發fa人ren員yuan就jiu能neng夠gou查zha看kan設she計ji的de狀zhuang態tai,或huo者zhe對dui設she計ji進jin行xing強qiang製zhi賦fu值zhi,使shi其qi變bian換huan到dao新xin值zhi。實shi質zhi上shang,如ru果guo硬ying件jian加jia速su器qi上shang的de時shi鍾zhong不bu能neng減jian慢man或huo停ting止zhi,硬ying件jian開kai發fa人ren員yuan將jiang會hui丟diu失shi諸zhu多duo硬ying件jian調tiao試shi功gong能neng。
使用 JTAG 探tan針zhen存cun在zai的de第di二er個ge問wen題ti是shi性xing能neng。由you於yu存cun在zai兩liang個ge獨du立li的de時shi鍾zhong域yu,一yi個ge在zai硬ying件jian加jia速su器qi上shang,另ling一yi個ge在zai探tan針zhen上shang,數shu據ju將jiang在zai兩liang個ge域yu之zhi間jian傳chuan遞di,就jiu會hui產chan生sheng跨kua時shi鍾zhong域yu問wen題ti。為wei了le解jie決jue這zhe個ge問wen題ti,探tan針zhen上shang的de時shi鍾zhong速su度du通tong常chang低di於yu處chu理li器qi的de時shi鍾zhong速su度du。在zai原yuan型xing板ban上shang,處chu理li器qi的de時shi針zhen速su度du可ke達da到dao幾ji百bai兆zhao赫he甚shen至zhi千qian兆zhao赫he,這zhe不bu是shi問wen題ti。但dan在zai硬ying件jian加jia速su仿fang真zhen中zhong,時shi鍾zhong運yun行xing速su度du為wei一yi兆zhao赫he或huo兩liang兆zhao赫he,這zhe可ke能neng讓rang速su度du減jian慢man很hen多duo。
例如,在 ARM Cortex-A57 中分步運行單個指令,需要超過 400 萬個比特的 JTAG 掃描鏈活動。如果處理器的時鍾在 2 MHz 的頻率下運行,JTAG 時鍾的頻率是它的四分之一,也就是 500 kHz,則在分步運行之後,需要 8 秒才能更新調試器中的視圖。
另一個性能問題是程序下載時間。軟件開發人員使用掃描鏈,通過 JTAG 探(tan)針(zhen)將(jiang)程(cheng)序(xu)下(xia)載(zai)到(dao)目(mu)標(biao)。如(ru)果(guo)程(cheng)序(xu)很(hen)大(da),則(ze)將(jiang)程(cheng)序(xu)加(jia)載(zai)到(dao)存(cun)儲(chu)器(qi)可(ke)能(neng)要(yao)花(hua)費(fei)一(yi)個(ge)小(xiao)時(shi)甚(shen)至(zhi)更(geng)長(chang)時(shi)間(jian)。大(da)多(duo)數(shu)軟(ruan)件(jian)開(kai)發(fa)人(ren)員(yuan)無(wu)法(fa)接(jie)受(shou)這(zhe)種(zhong)性(xing)能(neng)水(shui)平(ping)。
JTAG 事務處理器
有一種使用 JTAG 調tiao試shi器qi的de方fang法fa可ke以yi消xiao除chu這zhe些xie問wen題ti。硬ying件jian加jia速su仿fang真zhen係xi統tong能neng夠gou通tong過guo電dian路lu和he硬ying件jian加jia速su器qi內nei置zhi的de編bian程cheng功gong能neng,驅qu動dong和he采cai樣yang設she計ji中zhong的de任ren何he信xin號hao。我wo們men無wu需xu通tong過guo I/O 卡從設計中采集信號,然後使用物理探針予以驅動,而是可以使用“事務處理器”,通過編程方式驅動設計中的 JTAG 信號。與物理探針相同,事務處理器也可以驅動相同的信號,使其變換到相同的值,從而提供相同的調試功能。
由於設計和 JTAG 事務處理器都在硬件加速仿真係統的控製下,因此時鍾由硬件加速器控製。時鍾域可以同步,因此能消除多個時鍾的問題。
也就是說,硬件加速器上的時鍾可以減慢或停止,以便執行硬件調試活動,例如收集波形或檢驗設計。設計和 JTAG 事務處理器之間的連接不再取決於時間,而是由硬件加速仿真係統進行控製。
硬ying件jian加jia速su器qi能neng夠gou自zi由you地di減jian慢man或huo停ting止zhi時shi鍾zhong,然ran後hou啟qi動dong或huo加jia快kuai時shi鍾zhong,從cong而er可ke避bi免mian丟diu失shi設she計ji和he調tiao試shi器qi之zhi間jian的de連lian接jie。如ru果guo硬ying件jian設she計ji人ren員yuan將jiang其qi設she計ji連lian接jie到dao JTAG tiaoshiqi,tamenjiunengliyongyingjianjiasuqitigongdequanbuyingjiantiaoshigongneng。ruciyilai,tamenyexuhainengzaiyingjianjiasufangzhenshejishangshiyonggengweifuzadeceshipingtai。
使用物理 JTAG 探針時,不能使用很可能減慢硬件加速仿真吞吐的測試平台,例如開放式驗證方法學 (OVM) 和通用驗證方法學 (UVM),也不能使用那些實施斷言和覆蓋率的測試平台。但在使用虛擬 JTAG 探針時,可以使用這些測試平台。
另外還有一個優點,就是 JTAG 事務處理器的時鍾可與處理器的時鍾保持相同速度的運行,而無需擔憂同步問題。使用這種方法,JTAG 時鍾可與處理器時鍾在相同速度下運行,這意味著調試器性能和響應能力可以增加三倍或四倍。
通tong過guo虛xu擬ni化hua連lian接jie還hai可ke以yi提ti供gong其qi他ta優you點dian。由you於yu能neng夠gou收shou集ji和he上shang載zai波bo形xing,因yin此ci可ke在zai設she計ji運yun行xing過guo程cheng中zhong收shou集ji開kai關guan數shu據ju。這zhe種zhong方fang法fa可ke用yong於yu查zha找zhao功gong率lv峰feng值zhi,而er且qie在zai軟ruan件jian調tiao試shi器qi激ji活huo的de情qing況kuang下xia,它ta能neng夠gou彙hui集ji軟ruan件jian活huo動dong和he功gong耗hao之zhi間jian的de相xiang關guan性xing(將在本文章的第 2 部分,對此進行詳述)。
與設計的虛擬化連接可以允許來自調試器的更多樣連接。因此,不僅 JTAG 信號可以包括在接口中,調試器將對設計產生更大影響。具體來說,它能夠直接重置設計。
如(ru)果(guo)設(she)計(ji)進(jin)入(ru)停(ting)止(zhi)運(yun)行(xing)或(huo)無(wu)響(xiang)應(ying)狀(zhuang)態(tai),調(tiao)試(shi)器(qi)能(neng)夠(gou)發(fa)起(qi)硬(ying)件(jian)重(zhong)置(zhi),讓(rang)設(she)計(ji)返(fan)回(hui)到(dao)已(yi)知(zhi)狀(zhuang)態(tai)。調(tiao)試(shi)器(qi)還(hai)可(ke)以(yi)產(chan)生(sheng)捕(bu)獲(huo)波(bo)形(xing)的(de)觸(chu)發(fa)事(shi)件(jian),讓(rang)開(kai)發(fa)人(ren)員(yuan)能(neng)夠(gou)查(zha)看(kan)與(yu)軟(ruan)件(jian)中(zhong)的(de)已(yi)知(zhi)位(wei)置(zhi)關(guan)聯(lian)的(de)波(bo)形(xing)。開(kai)發(fa)人(ren)員(yuan)能(neng)夠(gou)設(she)置(zhi)軟(ruan)件(jian)中(zhong)的(de)斷(duan)點(dian),以(yi)及(ji)要(yao)在(zai)到(dao)達(da)斷(duan)點(dian)的(de)位(wei)置(zhi)周(zhou)圍(wei)捕(bu)獲(huo)的(de)波(bo)形(xing)。
用yong戶hu可ke以yi任ren意yi保bao存cun和he恢hui複fu虛xu擬ni化hua連lian接jie。由you於yu硬ying件jian加jia速su器qi能neng夠gou完wan全quan控kong製zhi調tiao試shi器qi連lian接jie兩liang端duan的de狀zhuang態tai,因yin此ci可ke將jiang硬ying件jian加jia速su器qi的de保bao存cun和he恢hui複fu功gong能neng與yu具ju有you虛xu擬ni JTAG 連接的設計結合使用。
無需連接到專門配置的 I/O 卡,也可將設計加載到任何一組邏輯板上的硬件加速仿真中(圖 2)。xunitanzhenzaiyunxingshejifangmianshixianlegenggaolinghuoxing,taweigongchengzutigongleyizhongfangfa,rangtamenshiyongyingjianjiasufangzhenzuoweishujuzhongxinziyuan,zaiduogexiangmuhebumenzhijiangongxiang。
最zui後hou,使shi用yong虛xu擬ni探tan針zhen,軟ruan件jian開kai發fa人ren員yuan無wu需xu維wei護hu物wu理li硬ying件jian並bing可ke將jiang其qi連lian接jie到dao硬ying件jian加jia速su仿fang真zhen。很hen多duo工gong程cheng組zu使shi用yong硬ying件jian加jia速su仿fang真zhen作zuo為wei數shu據ju中zhong心xin資zi源yuan,軟ruan件jian開kai發fa人ren員yuan可ke能neng身shen在zai距ju離li他ta們men使shi用yong的de硬ying件jian加jia速su仿fang真zhen係xi統tong數shu千qian英ying裏li之zhi外wai的de位wei置zhi,因yin此ci,使shi用yong物wu理li探tan針zhen並bing不bu切qie實shi際ji。
硬件加速仿真在持續演進,不斷推出新的特性、功gong能neng和he使shi用yong模mo式shi,從cong而er使shi得de它ta成cheng為wei一yi種zhong適shi用yong於yu硬ying件jian設she計ji人ren員yuan和he軟ruan件jian開kai發fa人ren員yuan的de多duo功gong能neng驗yan證zheng工gong具ju。虛xu擬ni探tan針zhen增zeng強qiang了le硬ying件jian加jia速su仿fang真zhen作zuo為wei數shu據ju中zhong心xin資zi源yuan的de吸xi引yin力li。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光


