Tessent_ijtag_ug——第 5 章IJTAG 網絡插入 (1)

第 5 章IJTAG 網絡插入

IJTAG 網絡插入功能使您能夠連接現有的instrument,并插入 SIBTDR ScanMux 以創建您自己的 IJTAG 網絡。 IJTAG 網絡插入功能使您能夠將網絡連接到 TAP 控制器或設計中已有的 TAP 控制器。IJTAG 網絡插入的原理是使用 create_dft_specification 命令,非常簡單。工具讀取設計中instrument ICL 模型,并根據 ICL 模型的訪問需求插入 SIB TDR。如果需要,您可以編輯或修改 IJTAG 網絡以滿足設計需求。 完成設計編輯后,您可以使用 extract_icl 命令生成 IJTAG 網絡的 ICL 描述。請注意,工具在 IJTAG 網絡插入后不會自動執行 ICL 提取,因為您可以在提取前進行額外的編輯。 Tessent IJTAG 可以生成并連接自己的 TAP,也可以連接到已有的 TAP 控制器。如果 IJTAG 網絡需要連接到已有的 TAP 控制器,則必須提供該 TAP 控制器的 ICL

IJTAG 網絡插入流程

本節介紹了基本的 IJTAG 網絡插入流程,并列出了實現該流程的相應命令。 5-1 展示了您使用 Tessent Shell 執行的基本 IJTAG 網絡插入流程的步驟。

如圖 5-1 所示,IJTAG 網絡插入流程相對簡單。由于您需要修改設計文件,因此必須將工具設置為 DFT 上下文,然后加載單元庫、設計文件以及所有使用的instrument ICL(這些可以自動為您加載)。第一個 create_dft_specification 命令指示工具創建 DftSpecification,第二個命令 process_dft_specification 在生成并修改設計文件之前運行一個驗證步驟。 當工具處理 DftSpecification 時,它會將文件寫入磁盤上的有組織的目錄結構中。這些文件包括以 ICL Verilog 格式表示的所有插入的 IJTAG 網絡對象(SIBTDR ScanMux)以及所有修改后的設計文件。IJTAG 網絡是使用 create_dft_specification 命令自動生成的。然而,您始終可以使用編輯命令或通過使用 display_specification GUI 來修改創建的 DftSpecification。如前所述,網絡的 ICL 描述不會自動生成,因為您可能需要進行進一步的設計編輯。然而,由于所有數據都存儲在內存中,您可以使用 extract_icl 命令執行后續的 IJTAG 網絡提取步驟。

IJTAG 網絡插入示例

以下是一個 IJTAG 網絡插入的示例。

set_context dft -no_rtl

## 讀取庫

read_cell_library ./library/adk_complete.tcelllib

read_cell_library ./library/memory.atpglib

## 讀取網表

read_verilog ./netlist/cpu_top_scan_tk.v

read_verilog ./generated/cpu_top_edt.v

read_verilog ./PLL/PLL.v -interface_only

## set_current_design 之前讀取 ICL PDL 文件

read_icl ./PLL/PLL.icl

dofile ./PLL/PLL.pdl

set_current_design cpu_top

## 在運行 set_system_mode analysis 之前設置設計級別

set_design_level chip

## 使用 set_attribute_value 指定 TAP 引腳

set_attribute_value tck_p -name function -value tck

set_attribute_value tdi_p -name function -value tdi

set_attribute_value tms_p -name function -value tms

set_attribute_value trst_p -name function -value trst

set_attribute_value tdo_p -name function -value tdo

set_system_mode analysis

report_icl_modules

## 自動從讀取 Verilog 的目錄中讀取任何 ICL

create_dft_specification

report_config_data

## 使用 display_specification 編輯或修改規范,或者使用編輯命令(如果需要)

## 如果需要的話。

process_dft_specification

extract_icl

exit

上述示例首先將context設置為 dft 并讀取庫。 下一步是讀取已經插入掃描和 EDT IP Verilog 網表,其中 PLL 模塊已經存在。對于 PLL 模塊,已經單獨創建并驗證了 ICL PDL。接下來讀取 PLL PDL ICL。使用 set_design_level 指定插入 IJTAG 網絡的級別。在此示例中,IJTAG 網絡插入在設計的頂層,因此在運行“set_system_mode analysis”之前指定了 TAP 引腳。 通過 create_dft_specificationPLL EDT instrument ICL 自動配置為插入到 IJTAG 網絡中。可以使用 report_config_data 報告此網絡。如果需要 IJTAG 網絡連接,則使用 process_dft_specification,否則使用編輯命令或與 Configuration Data Visualizer 一起使用的 display_specification 來編輯。最后一步是 extract_icl,它為使用 set_current_design 設置的級別提供 ICL

布局感知的 IJTAG 連接

布局感知的 IJTAG 連接功能通過使用 DEF 文件中的坐標來創建節點之間的最短路徑,從而改善 IJTAG 掃描鏈中元素的排序。 如果沒有布局信息,工具會按字母順序將每個層次級別的簽核模塊和 IJTAG instrument連接到一個 IJTAG 鏈中。按字母順序連接可能導致布局和布線問題,但布局感知連接有助于緩解這一問題。 5-2 比較了按字母順序連接(左側)和布局感知連接(右側)的 IJTAG 網絡布局示例。


布局感知連接使用 DEF 文件中的坐標生成一個 DftSpecification 包裝器,該包裝器對 IJTAG 元素進行排序以創建節點之間的最短路徑。加載 DEF 文件時,布局感知處理是自動進行的(不需要特殊的命令或開關)。DEF 文件應提供 IJTAG instrument掃描輸出引腳的布局信息。如果掃描輸出引腳的坐標缺失,布局感知連接將使用實例坐標。 連接從 IJTAG 掃描輸出端口(ijtag_so tdo)開始。工具確定哪個元素的布局位置最近,并將其作為下一個節點,直到所有元素都連接到鏈中。如果掃描輸出端口的坐標缺失,連接將從坐標最接近(0,0)點的元素開始。 注意 您也可以通過在 Tessent Shell 中設置 “def_x_coordinate” “def_y_coordinate” 屬性來提供節點坐標。

修改 IJTAG 網絡插入流程

在大多數使用場景中,您可以使用基本的 IJTAG 網絡插入流程。然而,如果需要,您可以對流程進行以下修改。

5-1. IJTAG 網絡插入流程的修改

...

描述

更改輸出目錄根目錄

默認情況下,process_dft_specification 命令將所有編輯后的設計文件和生成的 IJTAG 網絡對象文件寫入以 ./tsdb_outdir 為根目錄的有序目錄結構中。您可以使用 set_tsdb_output_directory 命令指示工具使用任何其他目錄根目錄;如果該目錄尚不存在,工具將創建它。

驗證寫入的 DftSpecification 是否正確

您有多種選項可以驗證寫入的 DftSpecification 是否正確。請參閱 process_dft_specification 命令的“-no_insertion”“-validate_only”選項。

轉錄所有執行的設計編輯

高級命令 process_dft_specification 運行一系列 Tessent Shell 編輯命令,例如 create_connections create_instance。通常,這些命令不會被轉錄,但在調試時可能很有用。process_dft_specification 命令為您提供 -transcript_insertion_commands 選項,該選項將 DftSpecification 執行期間執行的所有設計編輯步驟添加到轉錄中。

運行 DftSpecification

您可以為當前設計加載多個 DftSpecification;它們根據用戶指定的標識符有所不同。有關更多信息,請參閱 DftSpecification 包裝器描述。通過 process_dft_specification 命令的 “id” 選項,可以輕松選擇其中一個或另一個 DftSpecification

自動運行額外的設計編輯

DftSpecification 處理結束時,修改后的設計文件將寫入輸出目錄。如果您想進一步編輯設計,自動寫入設計文件是一個不必要的且可能耗時的步驟。process_dft_specification 命令提供了一種方法,告訴工具在寫入最終的修改后設計文件之前,先運行您的設計編輯命令。然后,該文件將包含插入的 IJTAG 網絡以及您指定的設計編輯。

寫入 process_dft_specification.post_insertion 過程

如果您正在編寫一個名為 process_dft_specification.post_insertion 的特定名稱的 Tcl 過程,并將其加載到內存中,您可以使用 dofile 命令并針對包含此過程的文件。或者,您也可以直接在主 dofile 中編寫 Tcl 過程。當 process_dft_specification 命令看到存在 Tcl 過程時,它將在 DftSpecification 指定的所有設計編輯成功完成后,但在運行 write_design 命令之前,自動調用 Tcl 過程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/98107.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/98107.shtml
英文地址,請注明出處:http://en.pswp.cn/web/98107.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

同步與互斥學習筆記

一、基本概念同步與互斥是多任務/多線程編程中的兩個核心機制:同步:指多個任務之間存在明確的先后順序,一個任務必須等待另一個任務完成某些操作后才能繼續執行。互斥:指多個任務在同一時刻爭搶使用同一資源(臨界資源&…

Tomcat 啟動流程與類加載機制

Tomcat 啟動流程與類加載機制1. 引言 Tomcat 的啟動不僅僅是簡單的 java -jar 或 catalina.sh start。 它背后包含 Bootstrap 啟動器、Catalina 控制器、Server/Service/Connector/Container 初始化 等關鍵步驟。 另一方面,Tomcat 為了支持 熱部署、不同應用間類隔離…

MTK Linux Charger驅動分析(十二)- mtk_pd_adapter.c

1. 代碼整體分析 mtk_pd_adapter.c(源文件) 主要內容: 該文件實現了MediaTek平臺的USB PD(Power Delivery)適配器驅動,基于Linux內核的電源管理和Type-C端口控制器(TCPC)框架。 它處理PD協議事件,包括PD連接狀態、Type-C狀態、水檢測(WD_STATUS)、Sink VBUS變化等。…

Spring Boot Logback 日志配置詳解:從基礎到分布式追蹤

日志是應用程序不可或缺的組成部分,它不僅能幫助我們調試問題,還能監控系統運行狀態。在 Spring Boot 生態中,Logback 憑借其高性能和靈活性成為首選的日志框架。本文將通過一個實際的 Logback 配置文件,詳細解析其各個組件的功能…

軟件體系結構——后端三層架構

三層架構——Controller、Service、Dao 不僅是對代碼進行的邏輯分層。其真正的本質,是將業務、技術和數據剝離。搞業務的專心做業務,搞技術的專心搞技術,做數據存儲的專心做數據存儲。三方通過接口進行對接,任一部分重構&#xff…

QML學習筆記(一)基本了解和工程配置

前言: 已經從事QT開發幾年了,但對于QML這個東西始終是沒有徹底掌握,一方面實際工作中沒有用到過,其次它的語法對我來說是全新的東西,不像QWidget那一套可以直接在C中去寫。這就是為什么網上都說qml更簡單,我…

SAP HANA Scale-out 04:緩存

結果緩存靜態結果緩存 Vs 動態結果緩存FeatureStatic Result CacheDynamic Result CacheTarget Scenario對復雜視圖(通常是頂層視圖)的查詢頻繁更新的大表(例如ACDOCA)上的聚合查詢Query result非實時數據實時數據ScopeTarget obj…

嘉興禾潤 HTR7216 (S) LED 驅動芯片:特性與應用

在如今智能設備飛速普及的時代,無論是智能家居的氛圍營造、IoT 設備的狀態提示,還是個人消費電子的視覺呈現,都離不開高性能 LED 驅動芯片的支撐。嘉興禾潤推出的 HTR7216 (S) LED 驅動芯片,憑借豐富的功能、精準的控制以及出色的…

Python實現劍龍優化算法 (Stegosaurus Optimization Algorithm, SOA)優化函數(付完整代碼)

Python實現劍龍優化算法 (Stegosaurus Optimization Algorithm, SOA)優化函數(付完整代碼)1.劍龍優化算法介紹劍龍優化算法(Stegosaurus Optimization Algorithm,SOA)是一種受劍龍獨特生理結構和行為模式啟發而設計的元…

分布式拜占庭容錯算法——權益證明(PoS)算法詳解

Java 實現權益證明(PoS)算法詳解 一、PoS 核心機制 #mermaid-svg-Sbj0HU6MjOl1yo5L {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Sbj0HU6MjOl1yo5L .error-icon{fill:#552222;}#mermaid-s…

【論文閱讀】谷歌:生成式數據優化,只需請求更好的數據

谷歌DeepMind團隊通過Generative Data Refinement(GDR)技術,成功將極端有毒的4chan討論數據轉化為安全且語義豐富的訓練素材,推動了LLM訓練數據凈化的新范式: ? GDR利用預訓練大模型對原始數據進行“重寫”&#xff0…

C++ 多線程實戰 10|C++20 的信號量、閂鎖與屏障

目錄 前言 學習目標 1. 信號量(Semaphore) 示例:限制并發下載任務 2. 閂鎖(Latch) 示例:賽跑 3. 屏障(Barrier) 示例:圖像處理流水線 4. 常見坑與對策 5. 實踐作…

【Java SE】01. 初識Java

1. 認識Java Java是一種優秀的程序設計語言,它具有令人賞心悅目的語法和易于理解的語義。Java還是一個有一系列計算機軟件和規范形成的技術體系,這個技術體系提供了完整的用于軟件開發和跨平臺部署的支持環境,并廣泛應用于嵌入式系統、移動終…

解鎖倉儲智能調度、運輸路徑優化、數據實時追蹤,全功能降本提效的智慧物流開源了

AI 視頻監控平臺:全鏈路協同驅動的智能監控解決方案AI 視頻監控平臺是一款融合高性能功能與輕量化操作的實時算法驅動型視頻監控系統,其核心愿景在于深度破除不同芯片廠商間的技術壁壘,省去冗余重復的適配環節,最終達成芯片、算法…

冒泡排序與選擇排序以及單鏈表與雙鏈表

1. 冒泡排序(Bubble Sort) 1. 原理 冒泡排序是一種 簡單的排序算法,通過 兩兩比較相鄰元素,把較大的元素逐漸 “冒泡” 到數組末尾。 思路: 從數組頭開始,比較相鄰兩個元素。 如果前一個比后一個大&…

Python實現計算點云投影面積

本次我們分享一種基于 Open3D 的快速、穩健方法,用于從激光點云中自動提取“地面”并計算其投影面積。算法先自適應估計地面高程,再將地面點投影至水平面,隨后用凸包或最小外接矩形求取面積。整個流程無需人工干預,單文件即可運行…

AXI4 協議

一、AXI4簡介AXI4(Advanced eXtensible Interface 4)是ARM公司推出的高性能片上總線協議,屬于AMBA(Advanced Microcontroller Bus Architecture)標準的一部分。它專為高帶寬、低延遲的片上通信設計,廣泛應用…

《餓殍:明末千里行》Switch版試玩發布 3月13日發售

使用jQuery的常用方法與返回值分析 jQuery是一個輕量級的JavaScript庫,旨在簡化HTML文檔遍歷和操作、事件處理以及動畫效果的創建。本文將介紹一些常用的jQuery方法及其返回值,幫助開發者更好地理解和運用這一強大的庫。 1. 選擇器方法 jQuery提供了多種…

[特殊字符] 認識用戶手冊用戶手冊(也稱用戶指南、產品手冊)是通過對產品功能的清

一份優秀的用戶手冊能有效降低用戶的使用門檻,提升用戶體驗和工作效率。下面我將為你梳理編寫用戶手冊的核心要點、步驟和技巧。📖 認識用戶手冊用戶手冊(也稱用戶指南、產品手冊)是??通過對產品功能的清晰解釋,為特…