我明白模塊基本上就像C++函數。但是,我沒有找到像調用這些函數的main()部分。沒有main()部分,它如何工作?Verilog沒有main()這樣的東西?
回答
試圖找到(或概念力)一個main(),相當於在HDL是錯誤的方式去學習HDL - 它會阻止你進步。對於可合成的描述,你需要從連續思考(一條指令依次運行)到「並行」思考(所有內容正在運行全部時間)。在精神上,從左到右看你的代碼,而不是從上到下,你可能會意識到main()的概念並不是那麼有意義。在HDL中,我們不「調用」函數,我們實例化模塊並將它們的端口連接到網絡;再一次,你需要改變你對過程的心理看法。
一旦你得到它,它會變得更光滑...
請記住,Verilog的正常使用是建模/描述電路。當你通電時,所有的電路開始運行,所以你需要編寫你的復位邏輯來讓每個電路進入穩定的可用操作狀態。通常情況下,您將包含重置行並針對此進行初始化。
的Verilog有initial
塊是有點像main()
在C.這些是計劃從時間0運行的Verilog可以有多個initial
塊,雖然語句,即併發執行的列表。
always
塊也將作爲main()
如果他們已經空敏感列表:
always begin // no sensitivity list
s = 4;
#10; // delay statements, or sim will infinite loop
s = 8;
#10;
end
如果你沒有在這些塊內部實例化一個模塊會怎麼樣。它仍然運行? – 2011-02-27 08:23:03
他們這樣做,如果他們的輸入是敏感的任何值被扭曲。 – Marty 2011-02-27 09:00:25
- 1. 有沒有Perabyte這樣的東西?
- 2. .NET中有MessageQueueWatcher這樣的東西嗎?
- 3. 有沒有像ISerializable這樣的適用於XMLSerializer的東西?
- 4. 有沒有可寫的VirtualPathProvider這樣的東西?
- 5. 播客的IMAP有沒有這樣的東西?
- 6. Grails在Rails中有沒有像acts_as_tree這樣的東西?
- 7. NEON有沒有像「emms」這樣的東西?
- 8. 有沒有沙發基地籃子這樣的東西?
- 9. 有沒有像CURLOPT_CONNECTIONTIMEOUT這樣的東西存在?
- 10. 在Drupal之外有沒有CCK這樣的東西?
- 11. 有沒有像SMTP到FTP網關這樣的東西?
- 12. 有沒有C++解釋器這樣的東西?
- 13. 有沒有像緩存grep這樣的東西?
- 14. Eshell - 有沒有像open-eshell這樣的東西?
- 15. 有沒有'Unicode整理'這樣的東西?
- 16. D-Bus:有沒有「D-Bus嗅探器」這樣的東西?
- 17. 有沒有這樣的東西作爲一個HTTP shell?
- 18. Fortran編譯器沒有這樣的東西嗎?
- 19. 有沒有像''的東西?
- 20. 東西像FindBugs這樣的.NET/C#
- 21. 如何創建這樣的東西
- 22. 我如何模擬這樣的東西?
- 23. 有沒有這樣的東西作爲一個有效的HTML5片段?
- 24. Chrome瀏覽器的「Tamper Data firefox plugin」有沒有這樣的東西?
- 25. 有沒有更簡單的方法來製作這樣的東西?
- 26. 有沒有像虛擬COM端口收據打印機這樣的東西?
- 27. 有沒有像redis中的get_next那樣的東西?
- 28. 有沒有像C#中的Bundle一樣的東西?
- 29. Vuex中有沒有和Redux中的mapDispatchToProps一樣的東西?
- 30. 有沒有像DV模擬器那樣的東西?
沒有「開始」;這一切都發生在一次。 – 2011-02-27 04:29:32
Verilog的目標是什麼?合成編碼與測試平臺編碼不同。 – 2011-02-27 21:20:29
與main()最接近的是最外層的頂層模塊,並且它可以被命名爲任何你喜歡的不限於Start或main()或條目或類似的東西。在該模塊中,您將看到引用的其他模塊,類似於從main()調用其他函數。 – 2011-03-01 19:58:50