吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過片上儀器和邏輯分析輕松進行FPGA和ASIC調試

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Brad Quinton ? 2022-06-19 07:40 ? 次閱讀

ASICFPGA 變得非常復雜,特別是對于涉及多核的片上系統 (SoC) 設計。這種復雜性帶來了更長、更繁瑣的調試和驗證周期。不幸的是,當出現故障或出錯時,在高度集成的設計中訪問測試點幾乎是不可能的。除非您想在運行多個原型時花費數周時間在黑暗中拍攝隨機錯誤,否則片上儀器不再是可選的;這是一個重要的必備品。圖 1 顯示了使用片上儀器的調試過程概覽。

圖 1:儀器和調試周期對于檢測 FPGA 原型中的錯誤至關重要。

pYYBAGKsTI6AXPmbAAOuJQUoFSs336.png

雖然有多種方法可以將儀器添加到 FPGA,但使用儀器網絡的分布式方法正在成為首選方法,因為它最大限度地增加了潛在觀察點的數量,同時最大限度地減少了硅面積或查找表的使用要求。對高效調試同樣重要的是深度跟蹤捕獲,以了解系統的各個部分如何隨著時間的推移進行交互。最后,設計人員必須能夠觀察多個器件和時鐘域的交互,包括片上和片外,所有這些都是完全時間相關的,以獲得真正的系統級視角。

總而言之,包括靈活和完整的觀察點訪問、深度跟蹤捕獲和系統級視圖在內的創新有可能將 FPGA 和 ASIC 調試的游戲規則從漫長而艱巨的過程轉變為快速而高效的過程。

調試挑戰

在回顧實現嵌入式儀器的不同方法之前,首先了解為什么儀器是必要的會很有幫助。最大的原因僅僅是每個系統中不斷增長的功能。

雖然過去有很多探測點(設備上的外部 I/O)可供選擇,但現在無法觀察到發生了什么,因為在大多數情況下,關鍵接口現在都在設備內部。與五年前相比,當前一代 FPGA 的并行運行功能數量增加了 100 倍,而外部輸出的數量卻保持不變。從試圖調試意外行為的開發人員的角度來看,現代芯片只不過是一個大黑匣子。

似乎這還不夠,雖然模擬器的功能繼續以線性方式提高,但并行功能的每一次增加都會增加潛在組合的指數級增長。由于仿真一次運行在一種組合上,因此不可能涵蓋硅前仿真運行中的所有功能。

由于無法充分模擬硅前所有可能的排列,導致在設計完成之前進行基于 FPGA 的原型設計。特別是在原型級別,訪問觀察點對于快速有效地調試功能問題非常有幫助。

另一個調試挑戰是硅上嵌入式軟件的出現。越來越多的 FPGA 和 ASIC 設計包括一個或多個處理器內核。此類系統可能包括軟件、固件、嵌入式處理器、GPU、內存控制器和其他高速外圍設備的復雜組合。這種增加的功能集成與更快的內部時鐘速度和復雜的高速 I/O 相結合,使開發人員比以往任何時候都更難提供功能齊全且經過充分驗證的系統。

片上信號捕捉

當系統涉及多個芯片和組件時,很容易移動邏輯分析儀探頭以查看不同的信號組合。即使轉向片上儀器,靈活地將虛擬邏輯分析儀探頭移動到不同信號點的需求仍然保持不變。由于設計人員無法預測給定芯片的每個變量或潛在應用,因此可用的信號捕獲點越多越好。

傳統的 ASIC 方法使用具有共享選擇信號的多路復用器網絡(每個多路復用器級別一個)并提供 n/m 個不同的信號組合,其中 n 是探測點的數量,m 是同時查看的信號數量(調試總線寬度)。這是最嚴格但最簡單的選項,因為它利用了簡單的多路復用器。為了有效,這種方法需要大量的前期時間來創建與每個可能的調試場景相對應的信號組,并且一旦捕獲點起作用,設計人員就只能查看同一組中的信號。此過程要求高、耗時且極不可能捕獲所有調試場景。

另一個極端是創建一個完整的交叉開關多路復用器,以提供完全的信號靈活性,這需要 m 個大小為 n:1 的多路復用器。相對于面積而言,這可能會很快變得昂貴,這使得這種方法對于除了最小的情況之外的所有情況都是不切實際的。

中間立場是要么增加多路復用器結構內的選擇信號數量,要么創建多個具有不同信號排序的重復組。共享選擇多路復用器和帶有附加選擇信號的多路復用器都在許多本土方法中實現。雖然共享選擇多路復用方案可以處理常見和預期的調試場景,但它們仍然沒有達到理想的完整覆蓋范圍。因此,它們不適合解決意外問題,并且通常會導致實現效率低下,因為信號會重復連接到多個多路復用器。

通過利用多級無序網絡(通常稱為集中器網絡),可以找到更優雅、更高效的解決方案。這種新方法有效地創建了一個觀測網絡,并且正在商業化。使用獨特的網絡架構和互補的路由算法,觀察網絡提供了完整交叉開關多路復用器的信號靈活性,而在大多數情況下,只需要共享簡單多路復用器的裸片面積。表 1 顯示了使用不同方法計算的信號可見度的比較。

表 1:觀察網絡提供與多路復用器相同級別的信號可見性,同時需要相似或更少的裸片面積。

poYBAGKsTIeAGhKzAAE5D8kEM5Y537.png

通過觀察網絡,設計人員可以使用自動化工具以寄存器傳輸語言 (RTL) 實現片上信號捕獲探針。在設計階段,無需擔心不同的信號組合或排序,因為每種組合都可用。結果是一個隨信號數量線性增長的觀察網絡。這種方法將確定路由的復雜性從芯片轉移到軟件中。在產生顯著的面積/性能改進的同時,觀測網絡需要復雜的算法來確定路由,因此如果沒有商業軟件來控制信號選擇,就很難使用它。

在觀察點可見性方面,網絡方法比簡單多路復用器的優勢有多大?以這個例子為例,其中探測了 256 個信號 (n),同時可見 32 個信號 (m):

簡單多路復用器:信號組合數(可見性)= 256/32 = 32

觀測網絡:信號組合數(可見度)= 2^256 = 1.2 x 10^77

相差76個數量級。雖然第一種方法具有高度限制性,但觀察網絡方法提供了任何可能的信號組合。以大致相同的成本,觀測網絡提供了巨大的優勢,其靈活性更高。

最大化捕捉深度

對于跨越硬件和軟件的調試挑戰,捕獲長跡線的能力對于追蹤在數千或數百萬個時鐘周期內出現的問題至關重要。在硅后和 FPGA 上,深度捕獲對于了解整個系統的工作方式至關重要,因為許多無法驗證的錯誤需要很長時間才能出現。此外,大多數軟件驅動的功能跨越數十萬到數百萬個時鐘周期。

傳統的儀器方法在從觀測探頭接收到的信息時,使用內部 RAM 中的一個條目來捕獲每個時鐘周期捕獲的數據。使用這種方法很難或不可能一次捕獲超過幾千個時鐘周期而不會對內部存儲器資源造成不可接受的壓力。出于這個原因,現在開始使用壓縮技術來提高捕獲深度。

然而,大多數眾所周知的壓縮算法都不太適合跟蹤壓縮,它們是為視覺媒體和通信應用開發的。一起使用多種壓縮技術的專用跟蹤壓縮層,每一種都專門針對常見的跟蹤數據模式進行定制,現在已經上市。對于大多數實際應用,這可提供 10-1,000 倍的深度,而不會損失分辨率。

高效的系統范圍調試

更高效的 FPGA 和 ASIC 調試的最后一個難題是時間相關的系統范圍視圖,它跨越多個并行運行的時鐘域。當問題需要跨多個檢測區域進行關聯時,設計人員正在考慮獲取單個軌跡然后手動關聯事件的耗時過程。例如,基于 FPGA 的原型設計平臺上的平均 ASIC 原型由跨四到八個 FPGA 的每個 FPGA 兩到三個時鐘域組成。這意味著設計人員將需要單獨調試 8 到 24 個時鐘域。一次跟蹤這 24 個域中的每一個并手動將結果拼湊在一起既耗時又容易出錯。

一種更有效的方法是使用邏輯分析儀軟件從在多個時鐘域和跨多個設備運行的獨立儀器中生成時間相關視圖,如圖 2 所示。專用調試軟件可以從芯片的每個儀器區域收集數據,反轉壓縮算法,然后對齊捕獲的數據以生成系統范圍的時間相關視圖。這導致單一的跟蹤捕獲和調試方案,既節省時間又提供許多功能單元和時鐘域的同時硬件調試。此過程通常會揭示在構建設備時從未考慮過的緊急系統行為。

圖 2:時間相關視圖加速系統級調試。

poYBAGKsTH6AKZLxAAR1FLEVuxg911.png

創新應對意外

隨著復雜性的增加和對探測點的訪問受限,ASIC 和 FPGA 驗證和調試變得乏味且耗時。隨著越來越多的功能集成到每個芯片中,對探測點的物理訪問變得不可能。接下來的挑戰是整合足夠的片上觀察點,不僅可以處理預期的調試場景,還可以處理意外的調試場景。

即使是最復雜的設計,也能更快、更有效地驗證和調試的一項關鍵創新是觀察網絡。與觀察信號的傳統共享選擇多路復用器方法相比,觀察網絡可提供更多具有相似芯片面積要求的信號組合。

支持更高效調試方案的其他創新包括使用高級壓縮算法來提高片上存儲器捕獲深度,以及邏輯分析儀軟件的出現,該軟件可以生成跨越多個設備和片外儀器的時間相關的系統范圍視圖。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606057
  • asic
    +關注

    關注

    34

    文章

    1206

    瀏覽量

    120768
  • 存儲器
    +關注

    關注

    38

    文章

    7528

    瀏覽量

    164350
收藏 人收藏

    評論

    相關推薦

    CPLD 與 ASIC 的比較

    可編程的邏輯器件,它允許設計者在制造后對邏輯功能進行配置。CPLD通常由多個可配置的邏輯塊(Logic Blocks)和可編程互連(Interconnect)組成,這些
    的頭像 發表于 01-23 10:04 ?123次閱讀

    FPGAASIC的區別 FPGA性能優化技巧

    FPGAASIC的區別 FPGA(現場可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術,它們在多個方面存在顯著的區別: FPGA
    的頭像 發表于 12-02 09:51 ?365次閱讀

    ASIC集成電路與FPGA的區別

    根據特定的需求從頭開始設計和制造,設計和制造過程是一次性的。 一旦制造完成,其功能就固定了,不可更改。 分為全定制和半定制,全定制靈活性好但開發效率低下,半定制則較為方便且可靠。 FPGA 由通用的邏輯單元組成,這些單元可以通過
    的頭像 發表于 11-20 15:02 ?485次閱讀

    FPGAASIC在大模型推理加速中的應用

    隨著現在AI的快速發展,使用FPGAASIC進行推理加速的研究也越來越多,從目前的市場來說,有些公司已經有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型的推理做了優化
    的頭像 發表于 10-29 14:12 ?762次閱讀
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>ASIC</b>在大模型推理加速中的應用

    FPGAASIC的優缺點比較

    適應各種應用場景。這意味著用戶可以根據需要,通過編程來更改FPGA的功能,而無需更改硬件設計。 設計周期短 :與ASIC相比,FPGA的設計、驗證和生產周期更短。這主要是因為
    的頭像 發表于 10-25 09:24 ?716次閱讀

    淺談邏輯分析儀的技術原理和應用領域

    邏輯分析儀是一種專門用于數字系統測試和分析的電子儀器,它通過實時捕獲和顯示數字信號的邏輯電平狀態
    發表于 09-12 15:04

    ASIC IP核移植到FPGA——更新概念并推動改變以完成充滿挑戰的任務!

    本系列文章從數字芯片設計項目技術總監的角度出發,介紹了如何將芯片的產品定義與設計和驗證規劃進行結合,詳細講述了在FPGA使用IP核來開發ASIC原型項目時,必須認真考慮的一些問題。文
    的頭像 發表于 08-10 17:13 ?872次閱讀
    將<b class='flag-5'>ASIC</b> IP核移植到<b class='flag-5'>FPGA</b><b class='flag-5'>上</b>——更新概念并推動改變以完成充滿挑戰的任務!

    FPGA 高級設計:時序分析和收斂

    FPGA/ASIC 時序定義的基礎概念。后面要講到的其它時序約束都是建立在周期約束的基礎的,很多其它時序公式,可以用周期公式推導。周期約束是一個基本時序和綜合約束,它附加在時鐘網線上,時序
    發表于 06-17 17:07

    邏輯分析儀的使用說明

    邏輯分析儀是一種用于捕獲、顯示和分析數字系統(如計算機、微處理器、數字電路等)中信號時序關系的電子測試儀器。它通過對被測系統輸入和輸出信號
    的頭像 發表于 05-16 15:37 ?3038次閱讀

    FPGA與SRIO調試步驟

     FPGA(現場可編程門陣列)和DSP(數字信號處理器)之間通過SRIO接口進行調試通常需要以下步驟。
    的頭像 發表于 04-19 11:48 ?1554次閱讀

    基于FPGA設計頻率計方案介紹分享

    的綜合與布局,快速的燒錄至 FPGA進行測試,是現代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器
    發表于 03-31 16:22

    # FPGA 編程如何工作?

    在上電時生成特定輸出的硬件電路。 FPGA 的電路板旨在模仿現實電路的行為。因此,質量保證團隊最常使用此類電路板來測試新產品。 FPGA 系統將具有各種硬件元件。 邏輯門充當
    發表于 03-30 11:50

    fpgaasic在概念上有什么區別

    FPGA(現場可編程門陣列)和ASIC(應用特定集成電路)在概念存在明顯的區別。
    的頭像 發表于 03-27 14:12 ?989次閱讀

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片
    的頭像 發表于 03-14 18:20 ?2228次閱讀

    FPGA與AISC的差異

    擴展性較好,可以通過增加芯片數量或使用更大容量的芯片來滿足更高的性能需求。而ASIC的可擴展性相對較差,需要重新設計和制造。 驗證和調試FPGA的驗證和
    發表于 02-22 09:54
    优博家百家乐娱乐城| tt娱乐城官方网站| 百家乐赢多少该止赢| 百家乐官网娱乐用品| 百家乐官网庄闲规则| 百家乐最大的赌局| 利高百家乐娱乐城| 赌百家乐心里技巧| 澳门百家乐海星王娱乐城| 免佣百家乐规则| 澳门百家乐网络游戏信誉怎么样| 百家乐赌场合作| 哪个百家乐网站信誉好| 立即博百家乐的玩法技巧和规则| 威尼斯人娱乐注册| bet365 论坛| 满城县| 蒙特卡罗娱乐场| 博坊娱乐| 网上玩百家乐官网技巧| 最新百家乐官网电脑游戏机| 百合百家乐官网的玩法技巧和规则| 百家乐体育宝贝| 玩百家乐犯法| 大发888官方 黄埔网| 大发888 娱乐网| 利博国际娱乐| 肇东市| 试玩百家乐官网代理| 赌博百家乐技术| 沙龙百家乐代理| 百家博国际娱乐城| 澳门百家乐官网赢钱秘| 犹太人百家乐官网的玩法技巧和规则| 百家乐包赢技巧| 大地百家乐的玩法技巧和规则| 易胜博娱乐| 百家乐官网21点德州扑克| 帝王百家乐官网全讯网2| 百家乐官网那个娱乐城信誉好| 三国百家乐娱乐城|