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

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀] Testbench,就是測(cè)試平臺(tái)的意思,具體概念就多不介紹了,相信略懂FPGA的人都知道,編寫Testbench的主要目的是為了對(duì)使用硬件描述語(yǔ)言(HDL)設(shè)計(jì)的電路進(jìn)行仿真驗(yàn)證,測(cè)試設(shè)計(jì)電路的功能、部分性能是否與預(yù)期的目標(biāo)相

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

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

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

1、對(duì)被測(cè)試設(shè)計(jì)的頂層接口進(jìn)行例化;

2、給被測(cè)試設(shè)計(jì)的輸入接口添加激勵(lì);

3、判斷被測(cè)試設(shè)計(jì)的輸出相應(yīng)是否滿足設(shè)計(jì)要求。

逐步解決編寫Testbench的這三點(diǎn):

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

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

首先先講一下timescale,因?yàn)橄胍M(jìn)行仿真首先要規(guī)定時(shí)間單位,而且最好在Testbench里面統(tǒng)一規(guī)定時(shí)間單位,而不要在工程代碼里定義,因?yàn)椴煌哪K如果時(shí)間單位不同可能會(huì)為仿真帶來(lái)一些問(wèn)題,而timescale本身對(duì)綜合也就是實(shí)際電路沒(méi)有影響。 `timescale 1ns/ 1ps表示仿真的單位時(shí)間為1ns,精度為1ps。

clk大體上有三種寫法 :

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

三種方法都無(wú)一例外地給clk賦了初值,因?yàn)樾盘?hào)的缺省值為Z,如果不賦初值,則反相后還是Z,時(shí)鐘就一直處于高阻Z狀態(tài)。小朱同學(xué)一般選中第一種,看個(gè)人喜歡。

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

上述兩種代碼的目的基本都是延時(shí)復(fù)位,但一個(gè)異步復(fù)位,一個(gè)同步復(fù)位,用途不同,小朱同學(xué)一般使用異步復(fù)位。

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

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

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

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

2025年9月9日,致力于亞太地區(qū)市場(chǎng)的國(guó)際領(lǐng)先半導(dǎo)體元器件分銷商---大聯(lián)大控股宣布,其旗下世平推出以芯馳科技(SemiDrive)E3106 MCU為主,輔以安森美(onsemi)NCV8730低壓差穩(wěn)壓器、恩智浦(...

關(guān)鍵字: 車身控制器 開(kāi)發(fā)板 收發(fā)器

2025年8月26日,?Elexcon深圳國(guó)際電子展?在?深圳會(huì)展中心(福田)1號(hào)館?(展臺(tái)號(hào):1L30)盛大舉行。作為全球電子產(chǎn)業(yè)鏈的重要盛會(huì),展會(huì)匯聚創(chuàng)新技術(shù)與行業(yè)解決方案。米爾電子MYIR攜RZ系列核心板、開(kāi)發(fā)板等...

關(guān)鍵字: 核心板 開(kāi)發(fā)板 MCU

隨著大語(yǔ)言模型(LLM)技術(shù)的快速迭代,從云端集中式部署到端側(cè)分布式運(yùn)行的趨勢(shì)日益明顯。端側(cè)小型語(yǔ)言模型(SLM)憑借低延遲、高隱私性和離線可用的獨(dú)特優(yōu)勢(shì),正在智能設(shè)備、邊緣計(jì)算等場(chǎng)景中展現(xiàn)出巨大潛力。

關(guān)鍵字: 開(kāi)發(fā)板 大語(yǔ)言模型 邊緣計(jì)算

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開(kāi)發(fā)板 Keil

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

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

在智能視覺(jué)技術(shù)不斷發(fā)展的今天,多路攝像數(shù)據(jù)的處理與傳輸已成為眾多應(yīng)用場(chǎng)景的核心需求。從智能安防監(jiān)控領(lǐng)域的全面覆蓋,到工業(yè)視覺(jué)處理網(wǎng)關(guān)的精準(zhǔn)檢測(cè),再到車載環(huán)視融合平臺(tái)的實(shí)時(shí)駕駛輔助以及智慧社區(qū)AI防控的快速響應(yīng),多路攝...

關(guān)鍵字: 開(kāi)發(fā)板 網(wǎng)關(guān) 核心板

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

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

因此,我們可以在米爾RK3576開(kāi)發(fā)板上運(yùn)行opencv代碼,來(lái)完成一些視覺(jué)內(nèi)容,充分發(fā)揮該板的性能。要先編譯opencv需要一些預(yù)先的準(zhǔn)備工作首先更新軟件包并安裝必要的依賴:

關(guān)鍵字: 開(kāi)發(fā)板 OpenCV

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

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

代碼段(.text)少于3KB低內(nèi)存消耗支持 INT8/FP32/FP16 模型,實(shí)驗(yàn)性地支持 FP8 模型,支持 keras h5 或 tflite 模型轉(zhuǎn)換支持多種芯片架構(gòu)的專用指令優(yōu)化: ARM SIMD/NEON...

關(guān)鍵字: 開(kāi)發(fā)板 單片機(jī)
關(guān)閉