查看: 2510|回復: 3
打印 上一主題 下一主題

明德?lián)P點(diǎn)撥FPGA高手進(jìn)階 第五章 verilog快速掌握 5.3模塊概念

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2015-11-12 10:15:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
5.3.1 模塊概念
模塊(module)是verilog最基本的概念,是v設計中的基本單元,每個(gè)v設計的系統中都由若干module組成。
1、模塊在語(yǔ)言形式上是以關(guān)鍵詞module開(kāi)始,以關(guān)鍵詞endmodule結束的一段程序。
2、模塊的實(shí)際意義是代表硬件電路上的邏輯實(shí)體。
3、每個(gè)模塊都實(shí)現特定的功能。
4、模塊之間是并行運行的。
5、模塊是分層的,高層模塊通過(guò)例化、連接低層模塊的實(shí)例來(lái)實(shí)現復雜的功能。
7、各模塊連接完成整個(gè)系統需要一個(gè)頂層模塊(top-module)。
5.3.2 模塊結構
module <模塊名>(<端口列表>);
<參數聲明>
<端口聲明>
<定義>
<模塊條目>
endmodule
其中:
1.        <模塊名>
模塊名是模塊唯一的標識符。
2.        <端口列表>
端口列表是輸入、輸出和雙向端口的列表,這些端口用來(lái)與其他模塊進(jìn)行連接。這里只需要列出信號名,不需要指出端口方向和位寬。


上面代碼,指出了模塊名是mul_module,同時(shí)該模塊的接口有clk,rst_n,mul_a,mul_b和mul_result。
3.        <參數聲明>
用parameter定義參數,例如位寬、長(cháng)度、狀態(tài)機命名等參數。

4.        <端口聲明>
端口聲明指出端口方向和位寬。端口方向可以是輸入、輸出和雙向。

       上面代碼指出,clk,rst_n是輸入信號并且是1位位寬;mul_a是輸入信號并且是4位位寬;mul_b是輸入信號并且是3位位寬;mul_result是輸出信號并且是7位位寬。
5.        <定義>
定義是一段程序,用來(lái)指定數據對象的類(lèi)型和位寬。類(lèi)型一般為寄存器型、線(xiàn)型;

上面代碼指出,clk、rst_n、mul_a、mul_b都是wire型;mul_result_tmp和mul_result都是reg型。
至于是用reg型還是wire型,請看后面的reg和wire一節。
6.        <模塊條目>
模塊條目也是一段程序,將上面<定義>和<端口>組合起來(lái),是說(shuō)明這個(gè)模塊要做什么的語(yǔ)句。其形式如下:

FPGA電路一般分兩種:組合邏輯和時(shí)序邏輯。組合邏輯是不受時(shí)鐘影響,輸入變化輸出立刻變化的電路。時(shí)序邏輯是在時(shí)鐘邊沿變化(常用上升沿),只有在時(shí)鐘邊沿時(shí),輸出才會(huì )根據輸入變化的電路。
關(guān)于組合邏輯詳細內容,請看后面的組合邏輯一節。
關(guān)于時(shí)序邏輯詳細內容,請看后面的時(shí)序邏輯一節。
提示:用GVIM打開(kāi).v文件后,輸入“Module”并回車(chē),即可得到模塊的設計文件,非常方便。
5.3.3 reg和wire區別
設計代碼中所有的信號定義,只能用reg和wire兩種。
設計代碼中,如果是本模塊always產(chǎn)生的信號,都用reg;其他都用wire。
測試文件中,initial內賦值的代碼也用reg。
注意:reg雖然是寄存器的縮寫(xiě),但用reg定義的信號不一定生成寄存器。既然這樣,就沒(méi)必要認為reg是寄存器類(lèi)型,就當它是一個(gè)名稱(chēng)。
練習1:eoc_cnt是用reg還是wire型

答案:很明顯,eoc_cnt由always產(chǎn)生的,因此用reg類(lèi)型。
練習2:row1_data和row2_data是用reg還是wire型

答案:連接到例化模塊的輸出信號,都用wire型。
練習3:rdreq_cfg是用reg還是wire型

答案:雖然本always是組合邏輯電路,不會(huì )生成寄存器,但rdreq_cfg是always產(chǎn)生的,因此仍然是用reg型。
練習4:sdata是用reg還是wire型

答案:用assign產(chǎn)生的信號,都用wire型。
以上文章出自明德?lián)P點(diǎn)撥FPGA高手進(jìn)階,版權歸明德?lián)P所有,如需轉載,請注明明德?lián)P,謝謝!

沙發(fā)
 樓主| 發(fā)表于 2015-11-12 10:16:45 | 只看該作者
后續會(huì )慢慢更新,敬請期待!
板凳
發(fā)表于 2015-11-13 10:19:25 | 只看該作者
關(guān)注!
地板
發(fā)表于 2015-11-14 11:27:55 | 只看該作者
謝謝樓主分享!
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页