移情別戀,開始Modelsim

2021-09-06 05:01:53 字數 1243 閱讀 2613

一、一刀兩斷,移情別戀

我鬱悶的是,玩fpga少說也有3年了,一直偷個懶沒用掛modelsim,一直用quartus ii 自帶simulation來**。甚至到了後來,**都懶得動手,就憑經驗,直接yy的了。

知道我看了《art of writing testbench》,才知道dut這玩樣,才知道**的嚴謹以及我之錯誤,才知道testbench之必不可少。一直認為,才多大的工程,用quartus ii自帶的simulation麼的了,要testbench有何干係。現在才明白,我那些靠yy的設計,那是因為工程太小了,或者太簡單了,那些小兒科的東西固然不必有勞modelsim大駕,而要達到更高的台階,要有更大的提公升空間,modelsim之入手,必不可少。

可憐我學fpga三年,吊兒郎當,一拖拖到了現在,到如今才逼著自己去學modelsim,真是慚愧至極啊。如今要是再有人問我該用啥,我會毫不猶豫的告知你,別玩傻瓜式的quartus ii自帶的simulation了,隨心所欲的用testbench吧。(有一天我會說,別蛋疼的用notepad++了,用vim裝逼玩高深吧o(∩_∩)o哈哈~)

二、簡說testbench精要

1) 牢記dut

寫testbench與寫rtl**本身一樣。隨著積體電路越來越複雜,驗證積體電路的挑戰也越來越大。60%到70%的時間花在測試驗證晶元之上。儘管這些東西許多積體電路工程師都知道,但是仍然有很多任務程師認為驗證不是那麼重要。

原本寫**都是直接yy的,不行就再改改,拼命找錯誤,蛋疼得很。testbench有乙個很重要的說法,叫做dut即design under test(慚愧,以前沒人告訴我,我都不知道),在測試下設計。如此設計的電路,可靠性和穩定性無疑比原本yy的電路更勝一籌。

2) testbench的結構

如上圖所以,若以測試counter.v為例,前端部分極為teshbench的**功能,而modelsim的功能即在生成testbench的測試電路已經對counter.v進行驗證,同時將結果輸出gui視窗以供設計者觀察驗證。

建立counter_tb.v的testbench檔案,建立時鐘,復位,使能邏輯,例化counter模組,以reg為counter的輸入,以wire為counter的輸出。在testbench固定的時間內,進行**。

3) testbench之強大

相對於verilog而言,testbench非常強大,而且更加的類c。不僅可以方便的完成資料**工作,而且有豐富的systam task,可以讀取儲存檔案,非常靈活方便。

art of writing testbench,完全在於設計者的靈感與創造。

問題 M 夢開始的地方

題目描述 這裡,是夢開始的地方。天哪,這裡怎麼也會有這種喪題 這真的是最後一題了,tweetuzki還沒解出來的最後一題了。點開提交狀態,紅色的 1字樣在漫漫的綠海中,如同臉上的一道疤一樣顯眼。完了,我ak的夢想要破滅了嗎?這種離勝利只差一步,但卻無法觸及的感覺,最是令人焦慮。他徘徊彷徨,懇請思路的...

Linux檔案中開始處的feff,行末的 M

windows中的換行符為 m,若直接把windows中的檔案複製到linux中,則在linux中的檔案開始處有乙個 feff 代表著檔案的開始,包含三個位元組 0xef,0xbb,0xbf 每一行的末尾會有乙個 m 在linux中 m的轉義字元為 r,所以去除 m可以使用python中的strip...