這行代碼讓我感到困惑。我不知道它是如何工作的,我知道=>
和<=
正在分配符號,但爲什麼2個分配給同一個東西?這是什麼意思,當你有:案件狀態是什麼時候vale1 =>國家<= value2在vhdl?
回答
正如David所指出的,=>
不是一個賦值符號。
這是一個映射符號或關聯。它在整個VHDL中的使用是一致的 - 它總是用於將某些東西(通常是一個名稱)與其他東西(通常是一個值)相關聯。
這裏,在case語句中,它用於將case選項when vale1
與該狀態的正確操作相關聯,該操作可以是任何有效的語句順序。在這種情況下,state <= value2;
您可能會發現它更清晰的寫
case state is
when vale1 =>
state <= value2;
when ...
...
when others =>
state <= idle;
end case;
這使得邏輯結構不是試圖做太多的線條更清晰。
你會看到它的其他地方是在參數列表中。鑑於有幾個參數(其中一些是可選的),你可能會看到錯誤蔓延到在價值得到了錯誤的參數相關聯的其他語言程序的功能...
setPixelColour (100, 50, 17, 0.5); -- not obvious, prone to mistakes
你可以更清楚這是怎麼回事,並避免錯誤的每個參數與它的名字相關聯:
setPixelColour (x => 100,
y => 50,
alpha => 17,
opacity => 0.5); -- obvious what you're trying to do
同樣是端口映射,你在哪裏信號連接到一個組件的端口也是如此。
正如David所說,另一個用途是創建聚合,例如記錄或數組。
如果你定義員工的記錄,你可能會再宣佈
Boss : Employee := (Name => "Richard Branson", Job => CEO, Salary => 999000);
或者你可以使用聚合創建磁盤陣列:
type Month is (Jan, Feb, Mar, ... Dec); -- we'll index the array with an enumeration
Days : array (Month range Jan to Dec) of Natural := (
Feb => 28,
Apr => 30,
Jun => 30,
Sep => 30,
Nov => 30,
others => 31);
也在聚合表達式。 '=>'用於*正式*關聯(而不是*位置*關聯。 – user1155120
謝謝你們。而且因爲我是這個網站的noob,我甚至不知道如何將它標記爲最佳,而我不能投票,因爲我需要15個聲望。但感謝,高真的回答了我的問題! – CosnotraLF
- 1. <>是什麼意思?
- 2. <>是什麼意思?
- 3. <+>是什麼意思?
- 4. {< >}是什麼意思?
- 5. FaultContract <T> - 這是什麼意思?
- 6. 這是什麼意思? <variable> ==「」
- 7. '。'是什麼意思?在Angularjs狀態提供商的國家名稱是什麼意思?
- 8. 什麼是PPC,這是什麼意思?
- 9. 是什麼!<是什麼意思?
- 10. 這是什麼意思(計算中的<< and > >>)?
- 11. 什麼是()=> {}是什麼意思?
- 12. 這是什麼意思? >> ActionController :: InvalidAuthenticityToken
- 13. '<<'是什麼意思?而這個代碼是什麼意思?
- 14. 「ptr = ptr - > next」這是什麼「 - >」是什麼意思? (C++)
- 15. C++'保留狀態'是什麼意思?
- 16. 這是什麼意思在PHP() - >
- 17. 這是什麼`_time_independent_equals`是什麼意思?
- 18. >> =是什麼意思?
- 19. 這是什麼意思列表<Class <?擴展DataType >>?
- 20. 這是什麼意思?<provided>與<exclusion>?
- 21. 是什麼!在這意思?
- 22. 是什麼意思:是什麼意思?
- 23. Set <element>是什麼意思?
- 24. <namespace> :: class是什麼意思?
- 25. 標記<?>是什麼意思?
- 26. <String,String>是什麼意思?
- 27. jQuery。 $('<img/>')是什麼意思?
- 28. Action <Action>是什麼意思?
- 29. <py3fix>是什麼意思?
- 30. <ice:outputText value =「#{exam.testName}」/>是什麼意思?
不,'=>'不是「分配符號'(賦值由信號對象的<='表示,而變量賦值或初始值由':='表示)。 – user1155120
哦:)。 Thnx,那麼=>是什麼意思? – CosnotraLF
我怎麼喜歡你的評論,因爲那是一個很好的答案 – CosnotraLF