誰能告訴我非阻塞的區別開始,結束在程序塊的fork-join。我的一個朋友告訴我,後者是不可綜合的,只能在測試平臺中使用。這是真的嗎?還有其他的區別嗎?非阻塞語句和叉加入Verilog和/或系統的Verilog
回答
有沒有這樣的事情了Verilog/SystemVerilog的非阻塞開始/結束構建體。開始/結束塊以串行順序執行每個語句,阻止下一個語句的執行,直到前一個語句完成。 最後聲明完成後,該塊結束。 fork/join同時執行每條語句,並且塊的連接在全部語句完成之後到達。
如果只有一個在每種塊的聲明中,有兩個之間沒有行爲差異,但基本的綜合工具將不接受叉/加入結構。還有很多其他方式可以使用分叉/加入,您可以編寫的行爲等同於只寫開始/結束內部的多個總是塊,但不被視爲可合成。這是因爲綜合工具依賴於識別編碼風格的模板,並且具有有限的資源來支持多種風格的編寫代碼。
但然後當我寫 總是@(posedge時鐘)開始 一個<= 5; b <= 6; 結束 我相信2條語句將同時執行@posedge和不順序 – RoyOneMillion
現在,您已經將非阻塞賦值(NBA)語句的操作與Ben/End塊的執行方式混淆了。 NBA報表仍然按順序執行,即按順序評估右側(RHS)表達式,但LHS的更新將在稍後安排。請注意,模擬語義(代碼如何執行)和合成語義(如何生成硬件)之間存在差異。 –
- 1. verilog命令的非阻塞語句
- 2. Verilog中的非阻塞語句執行
- 3. 系統Verilog-等待語句
- 4. 系統Verilog中的++操作符是阻塞的還是非阻塞的?
- 5. #delay如何爲verilog非阻塞語句工作?
- 6. 系統verilog/verilog ---事件
- 7. 投入而系統的Verilog
- 8. 系統verilog/oop
- 9. ? Verilog中的語句
- 10. 系統的Verilog:覆蓋的成員系統的Verilog類
- 11. verilog with cocotb:assign語句
- 12. Verilog if-else語句
- 13. 生成語句:verilog
- 14. uvm_event和系統verilog事件差異
- 15. 系統verilog 2012中關於always_comb中的非阻塞的參考指南?和延遲斷言屬性標記?
- 16. 帶自觸發的clk發生器中的Verilog阻塞/非阻塞賦值
- 17. 來自stdin但不阻塞的Verilog fgets
- 18. 非阻塞寫入和阻塞recv
- 19. 如何在系統的Verilog
- 20. 的Verilog:阻塞和非阻塞賦值到的混合可變<inc_data_int>不是推薦的編碼實踐
- 21. verilog中的case語句
- 22. 實時或時鐘週期(Verilog)的Gate和Switch延遲語句?
- 23. 在測試平臺中使用非阻塞賦值:Verilog
- 24. verilog/systemverilog - 跨兩個始終阻塞語句的行爲是什麼?
- 25. 監視器語句verilog
- 26. Verilog生成語句問題
- 27. Verilog事件控制語句
- 28. Postgres的:郵政語句(或插入)異步非阻塞處理
- 29. 非阻塞版本的系統()
- 30. Java的延遲非阻塞語句
你可以給出一個你正在考慮使用fork-join意味着什麼硬件的例子,它可以幫助指導答案。 – Morgan
事先準備好交叉發佈是一種很好的做法。 [Electronics SE](http://electronics.stackexchange.com/q/96742/13513)。 – Morgan