关于generate用法的总结【Verilog】
生活随笔
收集整理的這篇文章主要介紹了
关于generate用法的总结【Verilog】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Abtract
generate語句允許細化時間(Elaboration-time)的選取或者某些語句的重復。這些語句可以包括模塊實例引用的語句、連續賦值語句、always語句、initial語句和門級實例引用語句等。細化時間是指仿真開始前的一個階段,此時所有的設計模塊已經被鏈接到一起,并完成層次的引用。Introduction
1.generate語法
- 定義genvar,作為generate種的循環變量。
- generate語句中定義的for語句,必須要有begin,為后續增加標簽做準備。
- begin必須要有名稱,也就是必須要有標簽,因為標簽會作為generate循環的實例名稱。
- 可以使用在generate語句中的類型主要有:
- ü? module(模塊)
- ü? UDP(用戶自定義原語)
- ü? 門級原語
- ü? 連續賦值語句
- ü? initial或always語句
- 基本結構如下:
genvar 循環變量名;
generate
??? // generate循環語句
??? // generate 條件語句
??? // generate 分支語句
??? // 嵌套的generate語句
endgenerate
??? 下面將就generate常用的幾種情況舉例說明。
2. generate-loop循環語句
3.generate-conditional條件語句
generate允許對語句進行條件選擇,即將條件選擇加入到generate中的for循環中,只例化條件成立時對應的語句或者module。4.generate-case分支語句
generate-case分支語句與generate-條件語句類似,只不過將原來的分支語句換做了case語句。Conclusion
??? genvar與generate是Verilog 2001才有的,功能非常強大,可以配合條件語句、分支語句等做一些有規律的例化或者賦值等操作,對于提高簡潔代碼很有幫助,同時也減少了人為的影響。
總結
以上是生活随笔為你收集整理的关于generate用法的总结【Verilog】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《棒球殿堂》:棒球联盟LEAGUE·欧力
- 下一篇: 小白的 java 修炼之路 (求师问道)