亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fpga驗證.txt

?? FPGA設計大禮包
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
FPGA驗證簡介(1)

以前帖過,好像丟了(edacn好像丟了不少好的舊貼,真可惜),昨天網友提出重貼,所以今天就把他再發一次,反正不用交"版面費",哈哈
注:本文為edacn.net特約創作,轉載請注明出處。
第一編  驗證的重要性
  驗證,顧名思義就是通過仿真、時序分析、上板調試等手段檢驗設計正確性的過程,在FPGA/IC開發流程中,驗證主要包括功能驗證和時序驗證兩個部分。為了了解驗證的重要性,我們先來回顧一下FPGA開發的整個流程。FPGA開發流程和IC的開發流程相似,主要分為以下幾個部分:
  1)設計輸入,利用HDL輸入工具、原理圖輸入工具或狀態機輸入工具等把所要設計的電路描述出來;
  2)功能驗證,也就是前仿真,利用Modelsim、VCS等仿真工具對設計進行仿真,檢驗設計的功能是否正確;常用的仿真工具有Model Tech公司的ModelSim,Synopsys公司的VCS,Cadence公司的NC-Verilog和NC-VHDL,Aldec公司的Active HDL VHDL/Verilog HDL等。仿真過程能及時發現設計中的錯誤,加快了設計進度,提高了設計的可靠性。
  3)綜合,綜合優化是把HDL語言翻譯成最基本的與或非門的連接關系(網表),并根據要求(約束條件)優化所生成的門級邏輯連接,輸出edf和edn等文件,導給CPLD/FPGA廠家的軟件進行實現和布局布線。常用的專業綜合優化工具有Synplicity公司的synplify
/Synplify Pro、Amplify等綜合工具,Synopsys公司的FPGA Compiler II綜合工具(Synopsys公司將停止發展FPGA Express軟件,而轉到FPGA Compiler II平臺),Exemplar Logic公司出品的LeonardoSpectrum等綜合工具。另外FPGA/CPLD廠商的集成開發環境也帶有一些綜合工具,如Xilinx ISE中的XST等。
  4)布局布線,綜合的結果只是通用的門級網表,只是一些門與或非的邏輯關系,與芯片實際的配置情況還有差距。此時應該使用FPGA/CPLD廠商提供的實現與布局布線工具,根據所選芯片的型號,進行芯片內部功能單元的實際連接與映射。這種實現與布局布線工具一般要選用所選器件的生產商開發的工具,因為只有生產者最了解器件內部的結構,如在ISE的集成環境中完成實現與布局布線的工具是Flow Engine。
  5)時序驗證,其目的是保證設計滿足時序要求,即setup/hold time符合要求,以便數據能被正確的采樣。時序驗證的主要方法包括STA(Static Timing Analysis)和后仿真。在后仿真中將布局布線的時延反標到設計中去,使仿真既包含門延時,又包含線延時信息。這種后仿真是最準確的仿真,能較好地反映芯片的實際工作情況。仿真工具與綜合前仿真工具相同。
  6)生成并下載BIT或PROM文件,進行板級調試。
  在以上幾個主要開發步驟當中,屬于驗證的有功能仿真和時序驗證兩個步驟,由于前仿真和后仿真涉及驗證環境的建立,需要耗費大量的時間,而在STA中對時序報告進行分析也是一個非常復雜的事情,因此驗證在整個設計流程中占用了大量的時間,在復雜的FPGA/IC設計中,驗證所占的時間估計在60%~70%之間。相比較而言,FPGA設計流程的其他環節由于需要人為干預的東西比較少,例如綜合、布局布線等流程,基本所有的工作都由工具完成,設置好工具的參數之后,結果很快就可以出來,因此所花的時間精力要比驗證少的多。
  一般而言,在驗證的幾個內容中功能驗證最受重視,研究討論得最多,特別是現在FPGA/IC設計都朝向SOC(System On Chip,片上系統)的方向發展,設計的復雜都大大提高,如何保證這些復雜系統的功能是正確的成了至關重要的問題。功能驗證對所有功能進行充分的驗證,盡早地暴露問題,保證所有功能完全正確,滿足設計的需要。任何潛在的問題都會給后續工作作帶來難以極大的困難,而且由于問題發現得越遲,付出的代價也越大,這個代價是幾何級數增長的。這里將以功能驗證為主說明驗證方法、工具、驗證環境的建立。
  
  做功能驗證時,需要建立驗證環境,以便對設計(DUT/DUV,Design Under Test/ Verification)施加特定的輸入,然后對DUT的輸出進行檢查,確實其是否正確。在實際驗證工作中,一般采用由TESTBENCH 和DUT(design under test)組成的Verification體系,如圖1所示。

  這是驗證系統普遍適用的模型,Testbench為DUT提供輸入,然后監視輸出,從而判斷DUT工作是否正確。注意到這是一個封閉的系統,沒有輸入也沒有輸出。驗證工作的難度在于確定應該輸入何種激勵,相應的正確的輸出應該是怎樣的。下一篇我們看個具體的例子。
第二篇  分析一個testbench
很多FPGA/IC開發工具都提供設計例子,方便使用者學習和練習,例如,Xilinx ISE提供了很多設計實例,放在ISE5.X的安裝目錄下的ISEexamples目錄下,例如CDMA匹配濾波器、Johnson計數器、PN碼發生器、頻率計等,這些例子是經驗豐富的工程師寫的,我們可以學到編程思想、代碼風格等方面的知識和經驗,這些東西可能從學校老師或一般書籍都學習不到。如果你用的不是Xilinx的FPGA,也就是說不使用ISE,那也沒關系,HDL代碼和testbench的設計思想和方法是一樣的,你照樣可以從中學到很多東西。下面以其中一個例子――同步FIFO為例,分析一下我們的第一個testbench,設計的源代碼可以在ISEexamples目錄下找到,Xilinx還提供了Application Note詳細介紹了該FIFO的細節,下載的網址是http://www.xilinx.com/xapp/xapp131.pdf
1.511x8同步FIFO功能簡介
為了對這個511x8同步FIFO進行功能驗證,首先要清楚它的功能,只有這樣才能知道需要驗證什么功能,以及如何進行驗證,圖1為該同步FIFO的原理框圖。

與異步FIFO相比,同步FIFO的讀、寫時鐘是同一個時鐘,簡化了FIFO的設計,Empty和Full標志的產生也比較容易,同步FIFO內部使用二進制計數器記錄讀地址和寫地址。在異步FIFO中,由于讀寫使用不同的時鐘,也就是說設計存在兩個時鐘域,為了減少出現亞穩態時產生的錯誤,記錄讀寫地址的計數器要使用格雷碼,Empty和Full標志的產生也比較復雜。511x8同步FIFO(以下簡稱FIFO)的工作時序如圖2所示。

讀FIFO數據時,首先read_allow信號置高,時鐘上升沿到來時read_addr地址處的數據將出現在read_data處,同時read_addr加1。讓read_allow信號持續為高可以完成burst read操作。如果讀出的數據是FIFO的最后一個數據,那么讀操作完成后Empty信號變高。Empty信號為高時讀出來的數據是無效的。
寫FIFO數據時,首先write_allow信號置高,同時準備好輸入數據write_data,時鐘上升沿到來時,數據將寫入write_addr所指向的地址中,同時write_addr加1。讓write_allow信號持續為高可以完成burst write操作。如果某一個時鐘上升沿時寫入第511個數,那么下一個時鐘沿到來的時候Full信號變高,表示FIFO已經寫滿。
我們再詳細分析FIFO的工作時序圖。在圖2中,開始時FIFO的讀寫指針均為0,Empty為高表示FIFO處于空的狀態,然后write_allow置高,時鐘上升沿到來時寫入第一個數據,Empty變低;一個CLK之后,read_allow置高,時鐘上升沿到來時,讀出數據,由于是最后一個數據,所以Empty信號又變為有效(高電平)。在時序圖的右半部分,寫入509個數據之后,再寫入兩個數據,Full信號變為有效,表示FIFO為滿。
這個FIFO還有一個名為fifo_count_out的輸出,從4’b0000~4’b1111,分別表示FIFO滿的程度從不足1/16到15/16,為某些應用提供方便。
2.驗證
清楚FIFO的功能之后,我們就可以開始驗證工作了。驗證工作的第一步是整理出FIFO需要驗證的功能點,這些功能點一般直接來源于FIFO應該具有的功能,或者來源于它的使用方法。FIFO需要驗證的功能點包括:
1)FIFO復位后,read_addr和write_addr為0,Full為0,Empty為1。
2)讀FIFO數據時,read_allow信號必須置高,時鐘上升沿到來時read_addr地址處的數據將出現在read_data處,同時read_addr加1。
3)讀出FIFO的最后一個數據后,Empty信號變高。
4)寫FIFO數據時,write_allow信號必須置高,時鐘上升沿到來時,輸入數據write_data將寫入write_addr所指向的地址中,同時write_addr加1。
5)如果某一個時鐘上升沿時寫入第511個數,那么下一個時鐘沿到來的時候Full信號變高,表示FIFO已經寫滿。
6)fifo_count_out端能正確的指示FIFO滿的程度。
分析Xilinx提供的testbench可以為我們編寫自己的testbench提供很好的參考。FIFO的RTL代碼和testbench代碼放在ISEexamples\fifo_ver_131和fifo_vhd_131下。以verilog代碼為例,fifo_ver_131中包括了兩個testbench文件,一個是功能仿真testbench文件fifoctlr_cc_tb.tf,另一個是時序仿真(后仿真)testbench文件fifoctlr_cc_tb_timing.tf,這里我們主要分析功能仿真文件,為了方便大家理解,以下(下一帖)為注釋過的功能仿真testbench。大家看testbench的代碼時,對照FIFO需要驗證的功能點,檢查是不是所有功能點都經過了驗證。
FIFO的testbench主要包括初始化、驗證initial塊、讀寫task等內容,初始化部分主要完成復位信號、CLK信號等的初始化工作,讀寫task把讀寫、delay等操作模塊化,方便使用。這里主要介紹一下驗證initial塊,也可以說是驗證的主程序,如下所示。
initial begin
   delay;           //保證驗證環境正確復位
   writeburst128;   //寫入512個數,Full信號應該在寫入511個數后變高
   writeburst128; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看网站黄不卡| 亚洲色图丝袜美腿| 欧美色视频在线| 欧美亚洲动漫制服丝袜| 一本大道久久a久久精二百| 成人av影视在线观看| 韩国精品在线观看| 国产成人午夜99999| 91小视频免费观看| 91麻豆精品国产91久久久使用方法 | 久久综合色一综合色88| 精品国产乱子伦一区| 在线播放91灌醉迷j高跟美女 | 国产精品乱人伦中文| 国产精品无码永久免费888| 专区另类欧美日韩| 极品少妇xxxx精品少妇偷拍| 99精品视频在线观看| 欧美日韩中文字幕精品| 91猫先生在线| 99久久er热在这里只有精品15 | 久久精品视频一区| 亚洲色图在线播放| 久久99精品视频| a4yy欧美一区二区三区| 久久婷婷久久一区二区三区| 亚洲天堂a在线| 午夜视频一区在线观看| 大陆成人av片| 日韩一区二区三区在线视频| 久久精品一区蜜桃臀影院| 日韩电影在线一区二区三区| 91激情五月电影| 久久综合色播五月| 亚洲一区二区3| 日本国产一区二区| 国产精品伦理在线| 99综合电影在线视频| 国产婷婷精品av在线| 国产福利一区二区三区| 久久久一区二区三区| 国产成人精品三级| 中文字幕在线不卡视频| 色婷婷国产精品| 中文字幕在线一区免费| 成人av第一页| 亚洲第一狼人社区| 欧美精品三级在线观看| 日韩精品电影在线观看| 精品国一区二区三区| 国产不卡免费视频| 日韩久久一区二区| 777午夜精品免费视频| 久久精品国产99| 日韩一区在线看| 91精品国产aⅴ一区二区| 国产精品888| 亚洲一区二区三区国产| 国产亚洲视频系列| 在线视频你懂得一区| 久久精品国产在热久久| 亚洲乱码中文字幕综合| 精品国产乱码91久久久久久网站| 成人免费毛片嘿嘿连载视频| 日韩电影在线免费看| 国产精品电影一区二区三区| 欧美一区二区三区在线电影| 成人综合婷婷国产精品久久蜜臀| 日日夜夜免费精品| 亚洲亚洲人成综合网络| 激情成人综合网| 欧美肥妇毛茸茸| 91福利社在线观看| 国产69精品久久99不卡| 日本一道高清亚洲日美韩| 国产精品精品国产色婷婷| 91精品国产综合久久精品麻豆 | 久久久久久久综合日本| 欧美精品成人一区二区三区四区| 91毛片在线观看| 91麻豆swag| 欧美日韩在线一区二区| 日本丶国产丶欧美色综合| 色老汉av一区二区三区| 国产成人福利片| 99精品偷自拍| 在线观看成人免费视频| 色狠狠桃花综合| 欧美美女一区二区| 欧美日产国产精品| 久久影院午夜片一区| 久久综合狠狠综合| 中文欧美字幕免费| 一区二区在线观看不卡| 日本亚洲免费观看| 国产69精品一区二区亚洲孕妇| 国产精华液一区二区三区| 粉嫩蜜臀av国产精品网站| 91碰在线视频| 欧美sm极限捆绑bd| 一区二区三区在线免费视频| 日韩成人一区二区| 粉嫩一区二区三区在线看| 91女神在线视频| 欧美一区二区精品久久911| 久久精品视频在线免费观看| 依依成人精品视频| 国产精品资源在线看| 欧美综合一区二区| 久久久精品蜜桃| 日韩不卡一区二区三区| 国产精品一区二区在线观看不卡| 99国产精品久久| 欧美国产欧美综合| 日本美女一区二区| 91高清视频在线| 日本一区二区三区国色天香 | 91麻豆精品国产91久久久| 国产精品国产三级国产普通话三级 | 久久精品国产精品亚洲综合| 91亚洲午夜精品久久久久久| 精品国产乱码久久久久久免费 | 色又黄又爽网站www久久| 一区二区三区在线免费| 欧美在线播放高清精品| 老司机精品视频线观看86| 一区二区免费看| 精品一区二区三区久久久| 色婷婷国产精品综合在线观看| 日韩精品中文字幕一区| 有坂深雪av一区二区精品| 精久久久久久久久久久| 一本色道久久综合亚洲91 | 波多野结衣在线一区| 视频一区二区欧美| jlzzjlzz亚洲日本少妇| 欧美成人性战久久| 亚洲18色成人| 欧美另类久久久品| 日本视频一区二区三区| 一区二区三区四区精品在线视频| 国产亚洲欧洲一区高清在线观看| 一色屋精品亚洲香蕉网站| av动漫一区二区| 久久久久久久久伊人| 国产麻豆91精品| 精品国产一区二区国模嫣然| 日韩经典中文字幕一区| 91精品国产综合久久久久久久久久 | 国产91精品免费| 亚洲色图20p| 日韩一区二区影院| 成人app在线观看| 韩国av一区二区| 国产日韩欧美综合一区| 夜夜精品浪潮av一区二区三区| 国产自产v一区二区三区c| 亚洲精品在线观看网站| 国产一区二区三区| 日韩精品免费视频人成| 久久成人免费日本黄色| 精品一区二区日韩| 国产性天天综合网| 久久狠狠亚洲综合| 日韩欧美在线影院| 色综合久久久久久久久| 国产欧美中文在线| 国产一区二区不卡在线| 精品国产免费一区二区三区四区| 婷婷成人综合网| 欧美激情一区二区三区不卡 | 在线成人小视频| 亚洲成av人片一区二区梦乃| 欧美成人精品1314www| 成人激情av网| 亚洲国产综合色| 国产欧美精品日韩区二区麻豆天美| 色美美综合视频| 日韩欧美精品在线| 亚洲一区二区在线观看视频| av在线播放成人| 91福利视频久久久久| 亚洲国产成人91porn| 欧美另类变人与禽xxxxx| 日韩精品免费视频人成| 欧美va亚洲va| 99精品桃花视频在线观看| 亚洲激情网站免费观看| 欧美一级片在线| 国产成人免费视频网站高清观看视频| 国产色一区二区| 色诱视频网站一区| 美国毛片一区二区| 国产三区在线成人av| 99麻豆久久久国产精品免费| 五月激情六月综合| 日本一区二区不卡视频| 色婷婷亚洲综合| 国产专区欧美精品| 亚洲精品国产a|