欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > 測試測量 > 正文

實例分析:如何快速找到并解決隔離FPGA設計中的問題

發布時間:2013-10-26 責任編輯:sherryyu

【導讀】如果您的FPGA設計無法綜合或者沒能按預期在開發板上正常工作,原因往往不明,要想在數以千計的RTL和約束源文件中找出故障根源相當困難,而且很多這些文件還可能是其他設計人員編寫的。這里將結合實例來分析,如何快速找到并解決FPGA中的設計錯誤。

如果您的FPGA設計無法綜合或者沒能按預期在開發板上正常工作,原因往往不明,要想在數以千計的RTL和約束源文件中找出故障根源相當困難,而且很多這些文件還可能是其他設計人員編寫的。考慮到FPGA設計迭代和運行時間的延長,設計人員應該在設計流程的早期階段就找出可能存在的諸多錯誤,并想方設法重點對設計在開發板上進行驗證。

在特定條件下采用更智能的技術來隔離特定錯誤,找到問題電路的源頭并漸進式修復錯誤,這很重要。為了節省時間,您可以對時鐘、約束和模塊級接口進行初步設置檢查以確保符合設計規范,這樣就不必在綜合與布局布線(P&R)時浪費大量時間。

Synopsys 公司的Synplify Premier 和Synplify Pro FPGA設計工具以及Identify RTLDebugger 等產品能幫助設計人員完成上述工作。這些工具的特性使得設計人員能快速隔離錯誤,有效縮短運行時間,并減少開發板啟動所需的迭代次數。

精確找到開發板上的問題

如果開發板出現明顯的功能性錯誤,要縮小查找問題根源的范圍可能會相當困難。為了進行設計調試,我們應當創建附加電路并保留某些節點,以便我們對設計運行時得到的數據進行探測、檢查和分析。下面我們就看看如何用板級調試軟件來查找錯誤。

按下列四步法并利用RTL調試器,您能精確查找問題,并對信號和關注的條件采樣,然后將觀察結果關聯至原始RTL,從而將問題鎖定在RTL規范或約束設置范圍內。

第一步:指定探測。在RTL中明確要監控哪些信號和條件。在此要聲明您所感興趣的觀察點(要觀察的信號或節點)和斷點(RTL控制流程聲明,如IF、THEN 和CASE 等)。

第二步:通過探測構建設計。利用附加的監控電路——即用于根據您的監控要求捕捉并導出調試數據的智能內部電路仿真器(IICE)——對FPGA設計進行綜合。

第三步:分析和調試。設計綜合完成之后,運行設計并用RTL調試器觀察數據。在開發板上運行測試時,觀察點和斷點共同觸發數據采樣,使您能在您所關注的非常明確的條件下觀察并調試特定節點的電路的行為。您可將觀察到的采樣數據寫入VCD 文件并將其關聯到RTL。

第四步:漸進性修復錯誤(incrementaLfix)。一旦找到了錯誤所在,就可以通過分級、漸進式流程在RTL或約束中漸進地進行修復。

時序和功能性錯誤的可視檢查

FPGA設計和調試工具還有一大優點,就是能顯示RTL和網表級原理圖。舉例來說,具有互動調試功能的原理圖查看器能夠顯示設計的RTL和網表原理圖,便于您進行觀察并將時序報告和VCD 數據(設計在開發板上運行時產生)關聯至RTL源文件。查看器包含一個RTL視圖,用來以圖示的方式描述設計。該視圖在綜合RTL編譯階段后提供,由技術獨立的加法器、寄存器、大型多路選擇器和狀態機等組件構成。通過RTL原理圖,您可以交叉探測原始RTL,對不符合預定規范的設計進行調整,同時也可以探測到約束編輯器,從而更簡便地更新和指定約束(圖1)。

FPGA設計和調試

要將錯誤操作的源頭追溯到RTL,您可以利用RTL調試器在RTL原理圖上方實時插入觀察到的操作數據。

原理圖查看器包括一個網表級技術視圖,用于顯示綜合后的實際設計實現情況。在HDLAnalyst 原理圖查看器中,該視圖基于查找表、寄存器和DSP slice 等基本的賽靈思器件原語。您可在原理圖中對路徑進行交叉探測,追溯到原始的RTL以及綜合后和布局布線后的最終時序報告,以便分析和提高整體性能。

在FPGA中原型設計的ASIC 門控時鐘結構并非FPGA實現中的必要環節,這會導致FPGA資源使用效率低下。解決該問題的有效辦法就是用FPGA綜合軟件轉換時鐘。

大型設計的調試

在大型設計中探測所有信號是不可能,因為生成的數據量極為龐大,而且探測數據所需的額外調試邏輯也太大。片上調試方法的一個常見弊病是難以提前預測需要對哪些信號進行探測和監控。

一些調試軟件通過分治法能夠在一定程度上解決這個問題。利用多路復用的采樣組,設計人員可以有選擇性地進行采樣并通過多路復用的路徑和共享的IICE 在信號組之間切換。這種方法增加了可觀察的信號和條件,而且不會增加數據存儲要求。您可以即時切換感興趣的信號組,不必花時間進行重新調整或重新綜合新的設計。

不幸的是,在探測和采樣數據時用使的調試IICE 邏輯會占用包括存儲器BRAM 在內的芯片資源。您可在SRAM 存儲卡中對IICE 采樣數據進行片外存儲,以減少片上BRAM 的使用。這種方法的另一個好處是能增加采樣數據的深度。

[page]

我的設計無法綜合

設計錯誤的出現可能導致無法實現有效綜合或布局布線。由于存在成千上萬的RTL和約束源文件,因此可能需要幾個星期才能完成首次綜合與布局布線。進行FPGA原型設計時,應讓ASIC 設計源文件處于“FPGA就緒”狀態。舉例來說,就是要進行門時鐘轉換。

在 FPGA中原型設計的ASIC門控時鐘結構并非FPGA實現中的必要環節,這會導致FPGA資源使用效率低下。解決該問題的有效辦法就是用FPGA綜合軟件轉換時鐘。例如,門控或生成時鐘轉換功能可將生成時鐘和門控時鐘邏輯從順序組件的時鐘引腳轉移到使能引腳,這樣您就能將順序組件直接綁定到源時鐘,消除偏移問題,并減少設計中所需的時鐘源數量,進而節約資源。

在Synplify Premier 軟件中啟用門控時鐘選項:

– 選擇Project->Implementation Options

– 在GCC & Prototyping Tools 標簽中點擊Clock Conversion checkbox

或在TCL中使用以下命令

set_option -fix_gated_and_generated_ clocks 1

在Synplify Pro/Premier 中執行門控和生成時鐘轉換,而set_option -conv_mux_xor_gated_clocks 1則針對基于Synopsys HAPS 的設計在Synplify Premier 時鐘樹的多路選擇器或OR 門上執行門控時鐘轉換。

“完整”的系列時鐘約束包括在所有正確位置定義時鐘并在生成的時鐘之間定義關系。有時候,時鐘會出于某種原因與真正的源斷開關聯,例如時鐘源和時鐘目標端間產生了黑盒,這樣會造成順序組件的時鐘缺失或時鐘約束放置錯誤,導致首次時鐘轉換因為缺少時鐘約束而失敗。在許多情況下,轉換失敗是由約束不完整造成的。舉例來說,門控邏輯中可能存在一個組合回路,應在時鐘轉換之前利用異常處理約束將其打破。綜合編譯階段之后會提供一個門控時鐘報告,告訴您有哪些門控和生成時鐘已被轉換以及被轉換時鐘的名稱、類型、分組和相關約束。另一個時鐘列表則顯示的是未轉換的時鐘,并包含故障信息,用于說明原因。圖2 給出了報告實例。

實例分析:如何快速找到并解決FPGA設計錯誤

舉例來說,如果設計中有黑盒子,您可以在RTL中指定具體的軟件命令,用于為自動化門控時鐘轉換提供輔助。比方說,采用 syn_gatedclk_clock_en 指令在黑盒子中指定啟用引腳的名稱,用syn_gatedclk_clock_en_polarity 指令指出黑盒子上時鐘使能端口的極性。每個轉換實例和驅動實例的時鐘引腳都被賦予一個可搜索的屬性,從而能在設計數據庫中識別,并提取到定制 TLC/Find 腳本生成報告中。

端口不匹配

設計包含公司內外部提供的文件。在設計中進行IP 實例化或預驗證分級模塊時,經常會出現“端口不匹配”錯誤,而且難以檢測,特別是出現在混合語言設計中更是如此。舉例來說,如果頂層VHDL實體 “Top”實例化Verilog 模塊“sub”,那么頂層VHDL聲明sub 有4 位端口,而實際Verilog 模塊只有3 位端口。就Synplify Premier 軟件而言,會立即將其標記為不匹配,并在單獨的日志報告中通過超級鏈接引用該錯誤。

視圖work.sub.syn_black_box 和視圖work.sub.verilog 之間的接口不匹配

細節:

  ========

  源視圖work.sub.syn_black_box 中的以下位端口在目標視圖work.sub.verilog 中不存在。

  =======================================

  Bit Port in1[4]

  Bit Port in2[4]

  Bit Port dout[4]
多級層次中,如何將不匹配問題追蹤到問題模塊的RTL定義呢?工具應以某種方式給所有模塊實例打標簽,比方說采用orig_inst_of 屬性。屬性的值包括模塊的原始RTL名稱,可方便地檢索至RTL。例如,假設sub_3s 導致端口不匹配錯誤,那么我們就能用以下TCL命令找回RTL模塊的原始名稱“sub”:get_prop -prop orig_inst_of {v:sub_3s} 返回值為“sub”。

[page]

約束的清除

指定充足且正確的約束將影響到結果質量和功能。約束聲明通常應包括三個元素:主時鐘和時鐘組定義、異步時鐘聲明、錯誤和多循環路徑聲明。

進行綜合之前檢查約束是一個很好的方法。提供約束查看器的工具能發現語法錯誤并分析時序約束和實例名稱是否適用,警示問題所在。比方說,它會報告通配符擴展后約束如何應用以及在定義時鐘約束后產生的時鐘關系。它會標出那些由于參數或對象類型無效或不存在而未被應用的時序約束。

進行綜合之前,在Synplify Pro/Premier 軟件中生成名為projectName_cck.rpt 的約束檢查器報告:

Synplify Pro/Premier GUI: Run -> Constraint check

或采用TCL命令:project -run constraint_check

注意,要避免潛在的MetA不穩定性,應運行“異步時鐘報告”,提醒您注意那些在一個時鐘域啟動而在另一個時鐘域中結束的路徑。

在Synplify Pro/Premier 軟件中生成時鐘同步報告projectName_async_clk.rpt.csv:

Synplify Pro/Premier GUI:Analysis->Timing Analyst并選擇Generate Asynchronous Clock Report 選項。

采用TCL命令: set_option -reporting_async_clock

正確的方法是確保您充分且全面地對設計進行約束,而且不會過度約束(過度會導致運行時間延長,生成關鍵路徑錯誤報告)。確保您已完全指定多周期和錯誤路徑,并且已為得到的時鐘設置了約束(set_multicycle_path,set_false_path)。

縮短調試時間

實施潛在的RTL或約束故障解決方案可能需要好幾個小時才能看出結果。我們來看看如何利用分級“分治法”設計方法和“錯誤繼續”功能在單次綜合迭代中發現多個錯誤,從而減少迭代次數。

為縮短運行時間,模塊化流程必不可少。這種流程支持設計保存,能鎖定已經證明有效的設計部分。支持模塊化流程的工具能幫助您在進行綜合前創建RTL分區,也就是編譯點。一些軟件還能幫助設計人員將有故障的設計部分變成黑盒子,徹底將該部分導出并作為獨立的設計子項目進行再加工。一旦解決問題,子項目還能夠以網表形式通過自下而上的流程或用作為RTL通過自上而下的流程整合回原設計,甚至還能綜合利用自上而下和自下而上兩種流程。

要集成和調試大型設計,應盡早在設計進程中發現錯誤的說明。舉例來說,“錯誤繼續”功能可提供涉及每個綜合通過信息的組合錯誤報告。“錯誤繼續”能容許非致命的非語法HDL編譯問題和某些映射錯誤,因此設計人員可在每次綜合迭代中分析并完成盡可能多的設計內容。為了在帶有 SynplifyPro/Premier GUI 的Synplify Premier 軟件中調用“錯誤繼續”功能,應啟用項目視圖左側的Continue-on-Error 選項。

在TCL中:set_option –continue_on_error 1

用屬性is_error_blackbox=1 標記故障模塊和帶接口錯誤的實例父模塊,如圖3 所示

標記故障模塊和帶接口錯誤的實例父模塊

用TCL找到所有“故障實例”:

  c_list [find -hier -inst * -filter

  @is_error_blackbox==1]

  用TCL列出所有“故障模塊”:

  get_prop -prop inst_of [find -hier -inst

  * -filter @is_error_blackbox==1]

要查看將被關入黑盒子或導出的故障模塊,請查找HDLAnalyst RTL視圖中的紅色塊(圖3)。

通過導出模塊隔離問題

您可將故障模塊作為完全獨立的綜合項目導出,以便專門對該模塊進行調試。導出過程會產生隔離的綜合項目,其中包含所有該模塊的源文件、語言標準和編譯庫,以及所含文件的目錄路徑和路徑順序,以達到對該模塊進行單獨綜合與調試的目的。如前一節所示,出現錯誤的模塊會自動在設計數據庫中標出錯誤屬性,并在設計原理圖中突出顯示,便于對該模塊進行查找和提取。

為了導出模塊及其所有相關源文件進行隔離調試,應首先在Synplify Pro/Premier 軟件GUI 中(圖4)的設計分級視圖或RTL視圖中選擇設計模塊或實例,然后點擊右鍵并在彈出菜單中選擇“Generate Dependent File List”。

相關閱讀:

 菜鳥必看!學習FPGA常見的四大誤區
http://www.empresariosaem.com/gptech-art/80021601

要采購開發板么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
在线成人小视频| 成人精品视频一区二区三区| 亚洲伦在线观看| 亚洲欧美中日韩| 亚洲一区二区av电影| 一区二区三区在线免费观看| 亚洲一级二级在线| 日精品一区二区三区| 免费成人结看片| 国产成人综合视频| 99久久精品国产麻豆演员表| 一本色道久久综合亚洲91| 色就色 综合激情| 9191成人精品久久| 久久新电视剧免费观看| 中文子幕无线码一区tr| 亚洲视频狠狠干| 日本怡春院一区二区| 国产成人在线视频免费播放| 成人免费毛片嘿嘿连载视频| 91在线国产观看| 91精品在线麻豆| 国产精品丝袜一区| 亚洲超丰满肉感bbw| 蜜臀av国产精品久久久久| 国产成人av资源| 欧美中文字幕不卡| 国产亚洲一区二区三区| 一区二区三区欧美日韩| 激情伊人五月天久久综合| 91网站黄www| 日韩免费高清av| 亚洲激情第一区| 加勒比av一区二区| 欧美吻胸吃奶大尺度电影| 欧美精品一区二区三区很污很色的| 欧美激情一区在线观看| 丝袜国产日韩另类美女| 成人av电影在线观看| 欧美一区欧美二区| 悠悠色在线精品| 国产精品一区二区黑丝| 欧美久久高跟鞋激| 亚洲天堂免费看| 国产aⅴ综合色| 欧美不卡一区二区三区| 亚洲bt欧美bt精品| 91色在线porny| 国产欧美一区二区精品忘忧草| 午夜精品爽啪视频| 日本精品免费观看高清观看| 久久久久久综合| 美腿丝袜亚洲三区| 欧美巨大另类极品videosbest| 中文字幕一区二区三区在线播放 | 亚洲影视在线播放| 国产二区国产一区在线观看| 欧美一区二区高清| 午夜精品福利久久久| 91激情五月电影| 亚洲精品水蜜桃| 91在线观看免费视频| 国产精品福利在线播放| 成人免费看片app下载| 久久久久久影视| 国产suv精品一区二区883| 久久婷婷国产综合精品青草 | 国产女同互慰高潮91漫画| 久久精品国产一区二区三区免费看| 欧美三级视频在线观看| 亚洲成人av福利| 56国语精品自产拍在线观看| 日本亚洲欧美天堂免费| 欧美伦理视频网站| 奇米一区二区三区| 日韩一本二本av| 国产一区在线精品| 久久精品欧美一区二区三区不卡| 国产精品资源在线看| 久久久久九九视频| 不卡免费追剧大全电视剧网站| 亚洲国产电影在线观看| 91女厕偷拍女厕偷拍高清| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 色狠狠色噜噜噜综合网| 亚洲在线视频免费观看| 制服丝袜亚洲色图| 麻豆成人久久精品二区三区小说| 久久一日本道色综合| 国产99久久精品| 亚洲精品国产a| 欧美日韩高清一区二区不卡| 久久电影网电视剧免费观看| 久久久精品黄色| 一本到不卡免费一区二区| 亚洲国产欧美在线| 亚洲精品在线免费观看视频| 99久久久久免费精品国产 | 一区二区视频在线| 91精品国产欧美一区二区成人| 精品一区二区综合| 亚洲欧洲制服丝袜| 欧美mv日韩mv国产网站| 97se亚洲国产综合在线| 美国欧美日韩国产在线播放| 亚洲欧洲色图综合| 91精品国产综合久久久蜜臀图片| 国产成人鲁色资源国产91色综| 亚洲激情图片qvod| 久久久99精品久久| 欧美亚洲免费在线一区| 国产jizzjizz一区二区| 亚洲成人高清在线| 国产精品久久久久9999吃药| 91精品福利在线一区二区三区| 成人黄色免费短视频| 奇米一区二区三区av| 亚洲日本va午夜在线影院| 精品国产一区二区三区四区四 | 日韩激情一二三区| 亚洲欧洲精品一区二区精品久久久| 日韩一级片网址| 欧美日韩综合在线| 色香蕉成人二区免费| 国产成人一级电影| 六月丁香婷婷色狠狠久久| 午夜国产精品一区| 亚洲美女视频一区| 国产精品久久久久久亚洲伦 | 亚洲综合丁香婷婷六月香| 久久久99精品免费观看| 精品欧美黑人一区二区三区| 欧美人与禽zozo性伦| 91黄色激情网站| 99麻豆久久久国产精品免费| 国产精品资源在线观看| 国产一本一道久久香蕉| 美女在线视频一区| 日本不卡高清视频| 日韩高清在线观看| 日韩av成人高清| 青青草原综合久久大伊人精品 | 欧美成人激情免费网| 欧美一区二区啪啪| 日韩一级片在线观看| 91精品国产综合久久久久| 3d动漫精品啪啪一区二区竹菊| 欧美性色欧美a在线播放| 欧美综合在线视频| 欧美手机在线视频| 91精品蜜臀在线一区尤物| 欧美日韩视频不卡| 91麻豆精品国产自产在线观看一区| 欧美亚洲图片小说| 欧美另类一区二区三区| 在线播放91灌醉迷j高跟美女| 欧美高清视频在线高清观看mv色露露十八 | 97成人超碰视| 在线免费观看日韩欧美| 欧美日韩精品欧美日韩精品一 | 久久人人爽爽爽人久久久| 国产欧美1区2区3区| 亚洲丝袜另类动漫二区| 亚洲午夜国产一区99re久久| 亚洲h在线观看| 国产精品 欧美精品| 99久久精品免费看国产免费软件| 91美女在线观看| 欧美一区二区三区在线视频| 精品国产乱码久久久久久蜜臀| 国产精品毛片a∨一区二区三区 | 欧美一区二区视频网站| www激情久久| 亚洲少妇最新在线视频| 日韩精品一区第一页| 国产精品一区一区三区| 91福利社在线观看| 欧美一级午夜免费电影| 国产精品午夜电影| 亚洲成人资源在线| 国产精品一品视频| 色婷婷国产精品综合在线观看| 欧美一级欧美一级在线播放| 国产精品剧情在线亚洲| 日韩av电影免费观看高清完整版 | 国产区在线观看成人精品| 亚洲精品乱码久久久久久日本蜜臀| 日韩精品国产欧美| 色综合天天做天天爱| 欧美va亚洲va香蕉在线| 亚洲激情综合网| 国产自产v一区二区三区c| 欧美在线观看一区| 国产欧美一区二区精品秋霞影院 | 精品一区二区综合| 欧美亚洲一区三区| 国产精品成人一区二区三区夜夜夜 | 制服丝袜日韩国产| 自拍偷拍欧美激情| 成人一区二区三区视频在线观看|