久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4993|回復(fù): 2
收起左側(cè)

VerilogHDL掃盲文(共26頁pdf)FPGA初學(xué)資料分享

[復(fù)制鏈接]
ID:255886 發(fā)表于 2017-11-30 21:30 | 顯示全部樓層 |閱讀模式
0.png
0.png
第0章: Verilog HDL掃盲文
會翻開這本筆記的讀者,估計你們都受夠了參考書的 “ 權(quán)威 ” ,即使把厚厚的參考書都啃完了 , 發(fā)覺自己對 Verilog HDL 語言的理解還是 “ 迷迷糊糊 ” 。 呵呵 , 筆者也是過來人 ,筆者當(dāng)然清楚這樣的心情,那種感覺真的是想 “ 涅破了蛋蛋 ” 。當(dāng)讀者還沒有進(jìn)入正章之前 , 筆者有責(zé)任幫讀者們來個簡單的掃盲掃盲 。 掃盲的目的有許多 , 第一是更進(jìn)一步刷新讀者對 Verilog HDL 語言的認(rèn)識。第二則是可以清楚表達(dá)筆記所要討論的范圍。

0.1 各種的 HDL 語言
很多進(jìn)入 FPGA 世界不久得朋友,第一個要學(xué)習(xí)當(dāng)然是 HDL 語言,在網(wǎng)上流行的有Verilog 和 VDL 這兩個 HDL 語言 。 如果讀者是 VDL HDL 語言的愛好者 , 那么讀者可以立即把這本筆記關(guān)了 。 在筆者的眼中 VDL 太石板了 , 好像帶著三角眼睛的中年女老師,對男學(xué)生都要求和尚頭;對女生的裙字一定要長裙,這就是 VDL 給筆者的印象 。筆者不是說它不好 , 只是筆者嫌它麻煩而已 。 反之 Verilog 卻像是一個活潑而且愛搗蛋的小男孩,我們知道小男孩的思想很簡單卻很俏皮,我們要很難捉拿它。網(wǎng)上有一個很常見的問題 : “ 學(xué)習(xí) VDL HDL 好?還是學(xué)習(xí) Verilog HDL 好? ” ... 唉 ~朋友 , 很多問題的答案都是明顯的 。 筆者會很好客的說 : “ 來來來 ! Verilog HDL 很有趣也很好玩,不要理那個石板的 VDL HDL ” 。
“ 為什么筆記選擇 Verilog HDL 語言? ”
嗯 ... 這個問題筆者也很難回答,筆者是被特權(quán)同學(xué)帶入這個世界的。當(dāng)時學(xué)習(xí)的時候沒有考慮那么多 , 但是后來發(fā)現(xiàn)到 Verilog HDL 語言有太多的潛能了 , 筆者不小心就陷入研究它的陷阱了。 Verilog HDL 語言的語法和格式都比較隨便,它沒有 VDL HDL 語言那么嚴(yán)謹(jǐn) , 可能是這個原因吧?事實上選擇 VDL HDL 語言 也好 , 還是選擇 VerilogHDL 語言也好,都是一些蘿卜青菜的問題(各有所愛 ) 。筆者自身不喜歡受限制太多 ,故 Verilog HDL 語言和筆記意氣相投,所以筆者最終還是選擇了它。

0.2 HDL 語言的層次有一個很好笑的話題,老師常常都說 HDL 語言的層次是匯編語言和 C 語言的之間 。 假設(shè)匯編語言是低級語言, C 語言是高級語言,那么 HDL 語言既是不上又不?啊哈哈哈 , 如果站在人類之中它亦是不男也不女 。 我們不需要為這個無聊的話題 , 浪費(fèi)太多思考的時間。 HDL 語言的英文全名是 Hardware Description Language ,中文譯名就是硬件描述語言 。 事實上無論是匯編語言也好還是 C 語言也好 , 它們的作用就是用來控制處
理器,反之 HDL 語言的作用只是用來建立一個硬件的模塊而已。打個比方 , 假設(shè)有一個 c51 單片機(jī)的串口硬件 , 我們可以使用匯編語言去控制它 , 我們也可以使用 C 語言去控制它 。 但是站在 HDL 語言的角度上 , 我們可以建立一個受控制的串口硬件模塊,我們也可以建立一個不受控制(是自動的意思,而不是暴走的意思 )的串口硬件模塊,當(dāng)然我們也可以用 HDL 去控制一個可以受控制的串口硬件模塊。從這一點 , 我們就可以看出 HDL 語言和匯編語言與 C 語言基本上就在不同的層次上的東東,我們又何為把它們來作比較呢?但是在一些標(biāo)準(zhǔn)上 HDL 語言卻是硬件語言又是低級語言 ( 凡是涉及硬件的通通都被打入低級語言的冷宮 ) , 總而言之 HDL 語言的層次就是很曖昧就是了。
實際上還有不同層次級的 HDL 語言 , 如 SystemVerilog 或者 SystemC 。 傳言上它們都是系統(tǒng)級的 HDL 語言 , 相比之下 Verilog HDL 語言 和 VDL HDL 語言的層次都稱為模塊級 。 但是這些層次的區(qū)分一點也不重要 , 只要把 Verilog HDL 語言掌握得好 , 讀者什么層次都可以實現(xiàn)。

0.3 RTL 級和組合邏輯級
筆者說太多廢話了還是切入正題吧 。 雖說 Verilog HDL 語言是用來描述硬件 , 但是這些都是一些刻板的認(rèn)識和標(biāo)準(zhǔn)而已。從筆者的眼中 Verilog HDL 語言建立的硬件模塊可以分為有時鐘源和無時鐘源。
有時鐘源的意思是需要時鐘信號作為操作最基本消耗單位 , 硬件模塊才能執(zhí)行 。 無時鐘源的意思就是不需要消費(fèi)時鐘信號 , 硬件模塊也可以被執(zhí)行 。 無時鐘源最好的例子就是由組合邏輯建立的硬件模塊 , 一些典型的設(shè)計如 : 硬件乘法器 , 硬件除法器等基本上都是由一些復(fù)雜的邏輯門組合 , 故它們根本就不需要時鐘來操作 , 或者說它們只需要一個步驟又或者只需要一個時鐘就可以完成任務(wù)。打個比方,就如同人類吃飯,在無時鐘源的情況下,放在餐桌上的食物一下子被吃光 ,而且瞬間食物被消化和被吸收(事實上這是不可能的 ) 。反之有時鐘源,就像我們需要心跳來提供身體一個節(jié)拍,每一個節(jié)拍都有固定的動作,先張口,送入飯,吃下飯 , 消
化飯,然后吸收。
由此就有 RTL 級和組合邏輯級的建模之分 。 基本上 RTL 級建模的基本單元會是 “ 寄存器 ” , 然而組合邏輯級的建;締卧褪沁壿嬮T 。 單單用幾行的文字來講述 RTL 級和組合邏輯級的建模實在太抽象了,筆者聚個簡單的例子:
0.png
0.png
0.4 Verilog HDL 語言真的那么難掌握?
Verilog HDL 語言容易入門但是不容易掌握,估計這是所有學(xué)習(xí) Verilog HDL 語言人們的心聲 。 其實要掌握 Verilog HDL 語言是很簡單的 , 筆者的秘訣就是 “ 掌握 Verilog HD L語言的思想 ” 。 在筆者眼中 Verilog HDL 語言的思想有兩種 , 一種是建模和另一種是時序 。建模是 Verilog HDL 語言的結(jié)構(gòu)或者說是它的地基,然而時序是所有模塊的活動記錄 。這些概念,目前的讀者不明白也不要緊,筆者已經(jīng)分為兩個筆記來詳談了它們了。筆者相信很多接觸 FPGA 的朋友之前都有接觸過單片機(jī),在不知不覺之中,自然而然學(xué)習(xí)單片機(jī)的想法就主宰了學(xué)習(xí) FPGA 。 筆者也是過來人 , 這樣的心情筆者非常的了解 。當(dāng)我們再學(xué)習(xí)單片機(jī)的時候 , 很多人估計都是直接以 C 語言入門吧?筆者就先說說單片機(jī)這個硬件吧 : 它們都是各大產(chǎn)商的產(chǎn)品 , 一些基本的硬件資源老早就已經(jīng)嵌入在這個小小的單片機(jī)當(dāng)中 。 余下 , 尤其說學(xué)習(xí)單片機(jī)還不如說我們學(xué)習(xí)如何控制單片機(jī)的寄存器更為貼切 。 一些硬件的發(fā)生 , 使用者可以完全不用知道 , 我們只要懂得如何配置控制該硬件的寄存器就可以了。

相比之下 FPGA 可以稱為赤裸裸的樂高積木 , 如果讀者要實現(xiàn)串口 , 讀者就要自行建立串口硬件模塊 。 要建立一個串口硬件模塊 , 首先需要明白串口的操作原理 , 然后根據(jù)需要自定義和修改原理的發(fā)生 。 最后還要考慮這個串口硬件模塊如何被控制?是否獨(dú)立化它(見接口建模 ) ?這些就是建模思路。在軟件方面 , 我們可以用 C 語言去配置單片機(jī)的寄存器和編輯單片機(jī)操作的邏輯 。 但是有一點請讀者不要忘了 , C 語言也是一個產(chǎn)品 , 它和 Verilog HDL 語言不同 C 語言在出生之后它就有自己的結(jié)構(gòu)和自己一套的使用規(guī)則 。 最后根據(jù)單片機(jī)的產(chǎn)商需要 , C 語言還可以進(jìn)一步被自定義 , 這種現(xiàn)象不難看見 , 學(xué)習(xí) c51 和學(xué)習(xí) AVR 基本上就有兩套的C語言用法。反之 Verilog HDL 語言雖然有語法 , 但是 Verilog HDL 語言就沒有自身的結(jié)構(gòu)也沒有自己一套的用法 。 在網(wǎng)上這種現(xiàn)象很普遍 , 讀者會看到五花八門 , 百花齊放 , 各種各樣的模塊內(nèi)容 。 很多時候 , 這些模塊的內(nèi)容只有設(shè)計者自己看懂而已 , 別人估計要花上幾倍的精力才可以搞明白 “ 它在干嘛 ” 。為此 , 如果要把 Verilog HDL 語言掌握好 , 第一要提供 Verilog HDL 語言的結(jié)構(gòu) , 第二要提供 Verilog HDL 語言一套用法(使用規(guī)則 ) 。前者筆者是用建模來解決,后者筆者用 “ 仿順序操作 ” 的想法來補(bǔ)充。
0.png

余下完整的pdf格式文檔51黑下載地址(共26頁pdf):
VerilogHDL掃盲文.pdf (3.23 MB, 下載次數(shù): 92)


回復(fù)

使用道具 舉報

ID:188115 發(fā)表于 2018-9-27 21:00 | 顯示全部樓層
謝謝分享!
回復(fù)

使用道具 舉報

ID:343601 發(fā)表于 2018-10-8 15:01 來自觸屏版 | 顯示全部樓層
學(xué)完32,想學(xué)FPGA,處于白紙狀態(tài)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产视频久久久久 | 久久精品国产一区老色匹 | 亚洲免费一区二区 | 国产在线一区二区 | 国产成人精品免高潮在线观看 | 九九热这里只有精品在线观看 | 成人av电影免费在线观看 | 最新日韩在线 | 午夜精品视频在线观看 | 国产精品一区二区视频 | 欧美精品一区二区三区在线播放 | 亚洲视频免费在线观看 | 中文字幕一区二区三区精彩视频 | 欧美爱爱视频网站 | 精品国产色| 久草在线高清 | 亚洲自拍偷拍视频 | 国产精品亚洲第一 | 亚洲免费视频在线观看 | 国产精品成人一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 国产视频一二三区 | 青青久在线视频 | 久久最新网址 | 欧美精品在线播放 | 国产小视频在线观看 | 青青操91 | 亚洲欧洲一区 | 亚洲视频一区在线 | 国产精品网址 | 毛片软件 | 日本不卡一区 | 久久久久香蕉视频 | 日韩欧美在线观看视频 | 亚洲精品美女 | 欧美日产国产成人免费图片 | 色综合中文 | 久久久亚洲 | 国产精品乱码一二三区的特点 | 免费看黄色小视频 | 国产小视频在线 |