日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設計自動化
[導讀] Testbench,就是測試平臺的意思,具體概念就多不介紹了,相信略懂FPGA的人都知道,編寫Testbench的主要目的是為了對使用硬件描述語言(HDL)設計的電路進行仿真驗證,測試設計電路的功能、部分性能是否與預期的目標相

 Testbench,就是測試平臺的意思,具體概念就多不介紹了,相信略懂FPGA的人都知道,編寫Testbench的主要目的是為了對使用硬件描述語言(HDL)設計的電路進行仿真驗證,測試設計電路的功能、部分性能是否與預期的目標相符。初學者往往把寫RTL代碼當成重點,不愿寫Testbench,包括小朱同學也是,僅僅使用Quartus II自帶的仿真產(chǎn)生幾個激勵,然后觀察一下最后輸出的波形就完事了,甚至某些時候直接忽視仿真,拿單片機在線調(diào)試那一套來對付FPGA,直接把代碼下載到板子里看效果,若與預期不符,再修改代碼,再次下載到板子,如此反復,直到某一天實在玩不下去了。

同志們,F(xiàn)PGA真不帶這么玩的!趕緊禁止自己使用Quartus II自帶的仿真,甭畫波形圖了,你畫成大師也沒用(也成不了大師,Quartus II只能做極初級的仿真)!如果你立志從事FPGA行業(yè),那么會寫Testbench才你的敲門磚,而且別想著去公司寫RTL代碼了,向毛主席保證,公司一定是讓你來寫Testbench的。再趕緊把你的FPGA開發(fā)板有多遠扔多遠(別丟,還是要用的),F(xiàn)PGA不是單片機,學習FPGA并不那么需要開發(fā)板。打個比方,學習FPGA是兩萬五千里長征,那么使用開發(fā)板連三千里都占不到,遠遠不到。對于FPGA,仿真驗證才是核心,這么講吧,驗證占到整個設計工作的70%,前仿真、后仿真、功能仿真、時序仿真、行為級仿真、RTL級仿真、綜合后仿真、門級仿真、布局布線后仿真……好吧,別暈,本篇只講Testbench,Modelsim仿真咱們下篇再討論。

一個最基本的Testbench包含三個部分,信號定義、模塊接口和功能代碼。借用一下特權(quán)同學總結(jié)的編寫Testbench的三個基本步驟:

1、對被測試設計的頂層接口進行例化;

2、給被測試設計的輸入接口添加激勵;

3、判斷被測試設計的輸出相應是否滿足設計要求。

逐步解決編寫Testbench的這三點:

首先“對被測試設計的頂層接口進行例化”,這一步相對比較簡單,例化就是,但端口多時也夠喝一壺的,而且要分wire、reg,有時會弄錯,別難過,其實可以偷個懶,通過Quartus II自動生成一個Testbench的模板,選擇Processing -> Start -> Start Test Bench Template Writer,等待完成后打開剛才生成的Testbench,默認是保存在simulation\Modelsim文件夾下的.vt格式文件。這一步就不多講了,偷懶就挺好。

其次“給被測試設計的輸入接口添加激勵”,一般時序設計必然涉及到最基本的兩個信號——clk、rst_n(時鐘、復位),肯定有童鞋會講可以沒有rst_n,是可以沒有,但何必呢,讓代碼更健壯一點不很好嘛,別鉆牛角尖。下面攻克clk、rst_n的寫法:

首先先講一下timescale,因為想要進行仿真首先要規(guī)定時間單位,而且最好在Testbench里面統(tǒng)一規(guī)定時間單位,而不要在工程代碼里定義,因為不同的模塊如果時間單位不同可能會為仿真帶來一些問題,而timescale本身對綜合也就是實際電路沒有影響。 `timescale 1ns/ 1ps表示仿真的單位時間為1ns,精度為1ps。

clk大體上有三種寫法 :

上述三種代碼的目的就是產(chǎn)生系統(tǒng)時鐘,給clk一個初值后,不斷重復執(zhí)行:每10ns翻轉(zhuǎn)一次clk,從而生成一個周期為20ns,頻率50MHz的方波信號。第一、二種基本類似,第三種比較簡單,少了一個initial,放在了always里初始化。

三種方法都無一例外地給clk賦了初值,因為信號的缺省值為Z,如果不賦初值,則反相后還是Z,時鐘就一直處于高阻Z狀態(tài)。小朱同學一般選中第一種,看個人喜歡。

根據(jù)復位方式的不同,rst_n一般有兩種寫法:

上述兩種代碼的目的基本都是延時復位,但一個異步復位,一個同步復位,用途不同,小朱同學一般使用異步復位。

最后“判斷被測試設計的輸出相應是否滿足設計要求”。首先介紹最常用的兩個系統(tǒng)任務函數(shù)$stop和$finish。$stop代表暫停仿真后返回軟件操作主窗口,將控制權(quán)交給user;$finish代表終止仿真后關(guān)閉軟件操作主窗口。其他任務函數(shù)如$monitor、$display 、$time、$fwrite等也比較重要,用到的時候再一一介紹。為直觀介紹,使用一個例程來描述,下面是加法器的RTL代碼及Testbench:

注意了clk、rst_n后,其他端口根據(jù)需要相應加測試信號即可,然后把RTL代碼及Testbench添加到Modelsim仿真觀察輸出波形等,以驗證RTL代碼的正確與否,若與預期相符則驗證結(jié)束,反之則修改代碼至與預期相符。

好了,Testbench就寫到這里,但沒有結(jié)束,實踐是檢驗真理的唯一標準,下一篇將結(jié)合Modelsim,以可視化的方式繼續(xù)探討Testbench,深入了解仿真的意義。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

阿聯(lián)酋迪拜2025年8月26日 /美通社/ -- 納斯達克上市公司Robo.ai Inc.今日正式宣布完成品牌煥新升級,并于8月26日正式啟用全新納斯達克股票代碼"...

關(guān)鍵字: AI 人工智能 代碼 智能科技

北京2025年8月13日 /美通社/ -- 近日,北京積算科技有限公司(以下簡稱"積算科技")推出一站式AlphaFold3在線算力服務,現(xiàn)已開放免費使用。其內(nèi)置優(yōu)化后的AlphaFold3模型,支持...

關(guān)鍵字: ALPHA 代碼 圖形化 蛋白質(zhì)

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應用的盛會——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(yōu)點,被廣泛應用于各種產(chǎn)品領(lǐng)域。從通信設備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計算 嵌入式應用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進入體內(nèi),并對體內(nèi)器官或結(jié)構(gòu)進行直接觀察和對疾病進行診斷的醫(yī)療設備,一般由光學鏡頭、冷光源、光導纖維、圖像傳感器以及機械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運用單片機和FPGA芯片作為主控制器件 , 單片機接收從PC機上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號和同步的控制信號— 數(shù)據(jù)、時鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機 FPGA LED顯示屏

北京2025年7月21日 /美通社/ -- 浪潮信息宣布元腦企智一體機已率先完成對Kimi K2 萬億參數(shù)大模型的適配支持,并實現(xiàn)單用戶70 tokens/s的流暢輸出速度,為企業(yè)客戶高效部署應用大模型提供高處...

關(guān)鍵字: 模型 AGENT TOKEN 代碼

7月18日,一則“微信安卓安裝包出現(xiàn)5處fxxk”的話題,迅速登上微博熱搜,吸引了眾多網(wǎng)友的熱議和關(guān)注。

關(guān)鍵字: 代碼 程序員

在異構(gòu)計算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時鐘頻率下實現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI
關(guān)閉