當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

將可編程邏輯與CPU子系統(tǒng)集成于同一芯片令系統(tǒng)設(shè)計(jì)者可以在一定范圍內(nèi)決定某些功能的實(shí)現(xiàn)方式,AES先進(jìn)加密標(biāo)準(zhǔn)算法的硬件實(shí)現(xiàn)即為這樣的特殊應(yīng)用實(shí)例。AES加密是互聯(lián)網(wǎng)協(xié)議安全規(guī)范(IPsec)的基礎(chǔ)模塊,提供增強(qiáng)無(wú)線連接安全性的IEEE802.11i規(guī)范也采納AES為其加密算法,因而傳統(tǒng)通訊設(shè)備供應(yīng)商需要增加AES模塊以提供更全面的VPN服務(wù)。由于AES算法直接面向位操作,所以,它在可編程邏輯上可以得到非常高效的實(shí)現(xiàn)。

  

分析儀及其工作環(huán)境


FS2(First Silicon Solutions)公司的在系統(tǒng)分析儀支持基于QuickLogic公司的嵌入式標(biāo)準(zhǔn)產(chǎn)品QuickMIPS的單片系統(tǒng)硬件和軟件開(kāi)發(fā)。除了完全支持QuickMIPS片上MIPS處理器的所有調(diào)試功能之外,該分析儀還內(nèi)建可配置邏輯分析監(jiān)控單元(CLAM),該單元可以從片外追蹤并觸發(fā)QuickMIPS可編程邏輯的1024個(gè)指定信號(hào)。FS2探測(cè)器可通過(guò)14針EJTAG調(diào)試連接頭以及1根10針(或38針)的追蹤電纜來(lái)連接目標(biāo)系統(tǒng)。QuickMIPS可編程邏輯中的片上儀器應(yīng)用模塊(OCI)通過(guò)FS2追蹤電纜與用戶指定的內(nèi)部信號(hào)相連,用于追蹤和觸發(fā)。


除可編程邏輯之外,QuickMIPS內(nèi)還集成了32位MIPS 4Kc處理器和一系列片上外設(shè)。這些片上外設(shè)包括2個(gè)以太網(wǎng)接口、2個(gè)串口、1個(gè)32位66MHz的PCI

主從接口、1個(gè)SDRAM和SRAM控制器、4個(gè)定時(shí)器以及1塊片上SRAM。所有外設(shè)、處理器和可編程邏輯均通過(guò)AMBA總線連接(見(jiàn)圖1)。AMBA總線為這些連接提供5個(gè)片上可用端口,包括先進(jìn)高性能總線(AHB)主/從接口各1個(gè)以及3個(gè)先進(jìn)外圍總線(APB)從接口。任何實(shí)現(xiàn)于可編程邏輯的電路均可通過(guò)上述片上AMBA總線端口實(shí)現(xiàn)與處理器以及片上外設(shè)的連接,設(shè)計(jì)者可以根據(jù)實(shí)際需要使用上述5個(gè)端口中的不同組合來(lái)連接電路。QuickMIPS的片上MIPS處理器也支持增強(qiáng)JTAG(EJTAG)接口。EJTAG接口除支持處理器實(shí)現(xiàn)中止、單步、重啟以及軟件斷點(diǎn)等調(diào)試功能之外,還包括指令/數(shù)據(jù)虛擬地址、硬件斷點(diǎn)以及支持外部EJTAG探測(cè)儀的TAP端口。

圖1 QuickMIPS片上可用資源框圖

圖2 硬/軟件交互觸發(fā)示意圖

AES應(yīng)用實(shí)例

軟硬件協(xié)同AES算法主要由查找表和異或邏輯構(gòu)成,因此它非常適合用可編程邏輯實(shí)現(xiàn)。在本文中,AES的編解碼算法由可編程邏輯實(shí)現(xiàn),而密鑰調(diào)度(key schedule)和輪查找表(round LUT)則由CPU生成。一旦CPU完成了查找表的生成,就可以利用編解碼函數(shù)將輸入的任意大小的明文編碼為連續(xù)的密文流輸出。

基于連續(xù)報(bào)文流的數(shù)據(jù)吞吐需要,在可編程邏輯中還建立了一個(gè)DMA引擎,用于從/向AES核下載/上傳報(bào)文,并直接處理與系統(tǒng)存儲(chǔ)器之間的通訊。該DMA引擎能夠操作連接在QuickMIPS器件上的任何存儲(chǔ)器,包括片上SRAM和片外SRAM/SDRAM。使用DMA引擎可以避免無(wú)用的等待周期,從而高效運(yùn)用AES核進(jìn)行連續(xù)的編解碼操作。


該DMA引擎使用1個(gè)AMBA總線的AHB主控制器,用于連接簡(jiǎn)單的AES核數(shù)據(jù)輸入/輸出接口和相對(duì)復(fù)雜的AHB主接口。它還包含2個(gè)用于AMBA總線與AES模塊之間異步數(shù)據(jù)緩沖的128×32位的FIFO,以保證在AMBA總線受制于CPU的工作頻率時(shí),AES仍可獨(dú)立工作于最佳頻率。


存儲(chǔ)源地址、目標(biāo)地址、DMA傳輸塊大小、DMA傳輸使能和AES編解碼模式轉(zhuǎn)換等控制信息的寄存器也可用可編程邏輯實(shí)現(xiàn),CPU可以用它們來(lái)設(shè)置DMA引擎和配置AES核。這些控制寄存器通過(guò)APB從接口連接在AMBA總線上。

除連接DMA和AES的控制寄存器之外,APB接口還可用于在AES核內(nèi)加載存儲(chǔ)了不同查找表數(shù)據(jù)的RAM模塊。這些查找表中的靜態(tài)模式(static pattera)和密鑰調(diào)度用于AES算法中不同的輪,它們 由AMBA單向?qū)懭?,并由AES模塊單向讀出?! ?/p>

系統(tǒng)調(diào)試


由于硬件和軟件的調(diào)試方法往往格格不入,如時(shí)間難于同步、調(diào)試方式迥異,及調(diào)試階段難于交互通訊等,因此,調(diào)試由硬/軟件模塊交互構(gòu)成的系統(tǒng)非常困難?;赒uickMIPS的FS2硬/軟件協(xié)同調(diào)試方案可以有效解除上述困擾(見(jiàn)圖2)。

EJTAG探測(cè)儀通常用于監(jiān)控CPU的執(zhí)行進(jìn)程,然而一旦整合系統(tǒng)被分拆為交互操作的硬/軟件模塊,那么,在缺乏有效硬件監(jiān)控手段的情況下,硬/軟件模塊間交換數(shù)據(jù)進(jìn)程的調(diào)試工作的復(fù)雜程度就顯著提高了。


在硬/軟件協(xié)同的AES解決方案中,EJTAG探測(cè)儀可用來(lái)監(jiān)控CPU生成密鑰調(diào)度和復(fù)制可編程邏輯中的RAM模塊數(shù)據(jù)的進(jìn)程,此外,EJTAG還可以監(jiān)控CPU設(shè)置DMA引擎的過(guò)程。EJTAG探測(cè)儀的強(qiáng)大功能保證了用戶對(duì)源地址、目標(biāo)地址和CPU讀寫(xiě)可編程邏輯時(shí)的數(shù)據(jù)傳輸?shù)谋O(jiān)控。一旦AES系統(tǒng)的硬件部分實(shí)現(xiàn)了,CLAM即可監(jiān)控CPU通過(guò)AMBA總線對(duì)可編程邏輯進(jìn)行的操作。這里,CLAM將監(jiān)控包括AHB主接口和APB從接口的所有相關(guān)AMBA總線信號(hào)。被監(jiān)控的總線調(diào)用事件包括:通過(guò)APB從接口加載RAM

模塊中的密鑰調(diào)度和輪表,并設(shè)置DMA地址和控制寄存器;通過(guò)AHB主接口以DMA方式將明文從遠(yuǎn)程AMBA從設(shè)備傳送到AES核,并將密文從AES核傳送到遠(yuǎn)程AMBA從設(shè)備。


一旦可編程邏輯中實(shí)現(xiàn)了OCI模塊,通過(guò)監(jiān)控AMBA總線信號(hào),任何AMBA總線上的事件均可被CLAM準(zhǔn)確甄別、觸發(fā)和捕獲。能夠準(zhǔn)確捕獲AMBA總線信號(hào)狀態(tài)的觸發(fā)器可以被定義為AMBA總線信號(hào)的任意組合。例如將向特定的AMBA地址進(jìn)行的寫(xiě)操作設(shè)為觸發(fā)事件,就可以捕獲加載RAM模塊狀態(tài);而將觸發(fā)點(diǎn)置于APB對(duì)寄存器空間的選擇信號(hào)上,則可以捕獲DMA地址和控制寄存器的設(shè)置狀態(tài);最后,對(duì)內(nèi)部AMBA仲裁單元給出的AHB主接口設(shè)定觸發(fā),就可以捕獲DMA傳輸事件。用戶可以根據(jù)這些捕獲結(jié)果來(lái)判斷AMBA總線的操作是否符合要求。


AES應(yīng)用模塊的調(diào)試需要監(jiān)控以下信號(hào):輸入AES核的明文,輪表RAM模塊的索引(地址)輸入和數(shù)據(jù)輸出,計(jì)數(shù)器輸出的當(dāng)前輪數(shù)和每一輪中的數(shù)據(jù)狀態(tài),密鑰調(diào)度RAM模塊中的數(shù)據(jù)輸出,及128位累加器輸出。


通過(guò)OCI鎖定監(jiān)控上述信號(hào)可以詳盡地觀察到AES核的操作。由于可以同時(shí)對(duì)數(shù)百個(gè)信號(hào)以不同追蹤深度進(jìn)行監(jiān)控,用戶可以毫無(wú)困難地捕獲和觀察AES編/解碼的所有44個(gè)周期。例如,如果大多數(shù)AES轉(zhuǎn)換都正確執(zhí)行,但是在某一個(gè)輸入報(bào)文模式下發(fā)現(xiàn)了意外的結(jié)果,在這種情況下,CLAM能夠配置特定報(bào)文進(jìn)入AES引擎時(shí)的觸發(fā)。雖然在觸發(fā)產(chǎn)生前后會(huì)出現(xiàn)數(shù)百個(gè)AES轉(zhuǎn)換,但是CLAM可以實(shí)時(shí)地從中選出所需的那個(gè)事件,就無(wú)需為此去專(zhuān)門(mén)向系統(tǒng)提供一份輸入數(shù)據(jù)了。


交互觸發(fā)


交互觸發(fā)是EJTAG調(diào)試器與CLAM協(xié)同調(diào)試解決方案中最重要的特點(diǎn)。交互觸發(fā)分為2種方式,CLAM的觸發(fā)事件能夠使CPU在執(zhí)行代碼的相應(yīng)行中斷,同時(shí)CPU執(zhí)行中的斷點(diǎn)也能夠觸發(fā)CLAM事件。


上述第1種交互觸發(fā)事件可以應(yīng)用在軟硬件協(xié)同AES系統(tǒng)的調(diào)試過(guò)程中,例如尋找被寫(xiě)入密鑰調(diào)度RAM的異常數(shù)據(jù)時(shí)。如果已知異常數(shù)據(jù)正在向RAM中寫(xiě)入,且此數(shù)據(jù)可以被觀測(cè)到,并可被CLAM觸發(fā),則可以通過(guò)觸發(fā)導(dǎo)致CPU

在數(shù)據(jù)寫(xiě)入的時(shí)候暫停執(zhí)行。由于密鑰調(diào)度的生成和其加載入RAM的過(guò)程都由CPU控制,因此可以在代碼中找到異常數(shù)據(jù)進(jìn)入AES核硬件部分的那個(gè)時(shí)刻。這樣使得用戶可以查詢到那個(gè)時(shí)刻的存儲(chǔ)器和寄存器中的數(shù)據(jù),在調(diào)試軟件算法的同時(shí)觀測(cè)到硬件上出現(xiàn)的結(jié)果。


第2種情況適用于用戶打算觀測(cè)指定軟件斷點(diǎn)處的可編程邏輯中正在傳輸?shù)臄?shù)據(jù)時(shí)。例如當(dāng)CPU正在處理要寫(xiě)入RAM的數(shù)據(jù)表時(shí),用戶可能需要在數(shù)據(jù)傳送到硬件之前進(jìn)行一些字節(jié)交換(byte swap)的操作。在調(diào)試時(shí),用戶可以在源代碼中的字節(jié)交換部分,或是在結(jié)果輸出至AMBA總線時(shí)設(shè)置斷點(diǎn)。當(dāng)字節(jié)交換的結(jié)果寫(xiě)入硬件部分時(shí),這些數(shù)據(jù)就可以通過(guò)AMBA從接口進(jìn)行觀察。雖然沒(méi)有設(shè)置硬件觸發(fā),但是軟件中的斷點(diǎn)可以使當(dāng)時(shí)的硬件狀態(tài)被捕捉到。

  

結(jié)語(yǔ)


嵌入式標(biāo)準(zhǔn)產(chǎn)品平臺(tái)的高速發(fā)展需要 與之相應(yīng)的精確周密的調(diào)試工具也隨之發(fā)展。對(duì)CPU與可編程邏輯共存的SoPC而言,用于調(diào)試CPU時(shí)的傳統(tǒng)的JTAG方法和FPGA的邏輯分析同樣需要,更重要的是有交互觸發(fā)的硬/軟件環(huán)境,以便快速地隔離、甄別并調(diào)試復(fù)雜問(wèn)題。理想的SoPC系統(tǒng)分析工具應(yīng)該能夠處理上述問(wèn)題,并且提供監(jiān)控系統(tǒng)內(nèi)部總線事件的能力。


為了避免調(diào)試工具擾亂系統(tǒng)的正常操作,對(duì)系統(tǒng)內(nèi)部總線事件和FPGA內(nèi)部信號(hào)的監(jiān)控、追蹤和觸發(fā)絕不能暫停和干預(yù)CPU的工作。因此,可以獨(dú)立或者協(xié)同調(diào)試CPU與FPGA的工具是目前最有效的SoPC系統(tǒng)分析方法。


在本文中,F(xiàn)S2公司的在系統(tǒng)分析儀和QuickLogic公司的QuickMIPS器件的配合使用,以及軟硬件系統(tǒng)AES引擎的實(shí)例提供了精彩的案例平臺(tái),充分體現(xiàn)了上述這些先進(jìn)的調(diào)試技術(shù)對(duì)復(fù)雜SoPC系統(tǒng)設(shè)計(jì)分析的重要性。

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉