日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scan Chain的原理与实现(实践)-top down flow

發布時間:2025/4/5 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scan Chain的原理与实现(实践)-top down flow 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 實驗步驟

理論部分已經奠定了基礎,我想記錄實踐部分,希望能在實踐中,不斷深化對ug的理解,對整個DFT的理解。
本次實驗的目標是實現TOP Down Flow、熟悉DFT的基本腳本

實驗目錄環境:

此時,我們DFT的工作人員已經得到了ddc文件,所以在scripts文件夾里面我們不用關心1compile。

實驗步驟

啟動dc

dc_shell &

執行腳本2read_design

source 2read_design

腳本如下:

set hdlin_enable_rtldrc_info true;# enable rtl code checking in DV set test_simulation_library "./tmax/rams.v"# Read the mapped ORCA design read_ddc mapped/ORCA.ddc current_design ORCA link


執行腳本3create_test_protocol

source 3create_test_protocol # Read the design from the unmapped flow #read_ddc mapped/ORCA.ddc #set current_design ORCA #link set test_simulation_library ../ref/tmax/libs.v remove_test_protocol# Setup timing set test_default_delay 0 set test_default_bidir_delay 0 set test_default_strobe 40# Declare signals for the protocol set_dft_signal -view existing_dft -type ScanClock -timing {45 55} -port {pclk sdr_clk sys_clk} set_dft_signal -view existing_dft -port prst_n -type Reset -active_state 0 set_dft_signal -view existing_dft -port scan_en -type ScanEnable -active_state 1 #set_dft_signal -view existing_dft -type Constant -active_state 1 -port test_mode set_dft_signal -view existing_dft -type Constant -active_state 0 -port conf_ena##read_test_protocol -section test_setup ./scripts/test_setup.spf -verbosewrite_test_protocol -output output.spf# From the above specifications, create the test protocal create_test_protocoldft_drc

如果我們現在沒有read spf文件,然后就創建協議運行的話,會出現如下的pre-DFT violation
注意:上面的腳本不是一次寫進去,如果是unmapped的ddc,應該不會有spf文件,所以流程應該是聲明信號、然后創建協議,然后吐出spf文件。
那現在跑pre dft的話,會出現如下的錯誤:
D1是時鐘相關的,D3是復位相關的。這兩個是最常見的錯誤。

打開第一個D1的violation,發現mux的選擇端口由三個配置寄存器控制,而這三個寄存器的值現在是不知道的。可以通過internal pin來賦值。另外,還可以看到時鐘此時為X態,因為工具選為pin data為clock off狀態。關于pindata的具體細節,后續會專門寫一篇文章。這里就不再浪費時間贅述。
但是我們可以看到其實是下圖中的mux的選擇端口出了問題。

雖然采用internal pin設置為constant的值來產生pattern,但是在真正測試的時候,這三個寄存器的值是需要真正的賦值上去的,也就是說你需要pattern讓這三個寄存器在ATE測試的時候有該有的值。

總結

以上是生活随笔為你收集整理的Scan Chain的原理与实现(实践)-top down flow的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。