日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Verilog HDL】语句的并发执行

發布時間:2023/11/30 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Verilog HDL】语句的并发执行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 實踐得到的啟發

先從一個簡單的現象得出結論,Verilog語句是并發執行的!

同時,這也是**$monitor系統任務為全局有效**的一個重要支持因素,如果沒有并發,它是完不成這項功能的實現的。

眾所周知,高級語言通常都是自上而下編譯和執行的,但是Verilog硬件描述語言不一樣,它更喜歡并發執行

這是一門直接觸及底層硬件編程的語言,效率非常高,并發執行是為了適應它所處的環境。

先來看看一下激勵塊代碼:

module stimulus;// 設置激勵信號reg I0 = 1,I1 = 0,I2 = 1,I3 = 0,I4 = 1,I5 = 0,I6 = 1,I7 = 0; // 輸入數據信息reg S2,S1,S0; // 地址輸入端信息,注意使用“小端序”wire OUT; // 輸出數據mux8_to_1 M8T (I0,I1,I2,I3,I4,I5,I6,I7,S2,S1,S0,OUT);// 設置信號監視器initialbegin$monitor ($time," S2 = %b, S1 = %b, S0 = %b, OUT = %b\n",S2,S1,S0,OUT); // 注意【\n】end// 設置激勵信號initialbegin// $display ("I0 = %b, I1 = %b, I2 = %b, I3 = %b, I4 = %b, I5 = %b, I6 = %b, I7 = %b\n"// ,I0,I1,I2,I3,I4,I5,I6,I7);#1 S2 = 0; S1 = 0; S0 = 0;#1 S2 = 0; S1 = 0; S0 = 1;#1 S2 = 0; S1 = 1; S0 = 0;#1 S2 = 0; S1 = 1; S0 = 1;#1 S2 = 1; S1 = 0; S0 = 0;#1 S2 = 1; S1 = 0; S0 = 1;#1 S2 = 1; S1 = 1; S0 = 0;#1 S2 = 1; S1 = 1; S0 = 1;endendmodule

輸出結果為:

0 S2 = x, S1 = x, S0 = x, OUT = x1 S2 = 0, S1 = 0, S0 = 0, OUT = 1 2 S2 = 0, S1 = 0, S0 = 1, OUT = 0 3 S2 = 0, S1 = 1, S0 = 0, OUT = 1 4 S2 = 0, S1 = 1, S0 = 1, OUT = 05 S2 = 1, S1 = 0, S0 = 0, OUT = 1 6 S2 = 1, S1 = 0, S0 = 1, OUT = 0 7 S2 = 1, S1 = 1, S0 = 0, OUT = 1 8 S2 = 1, S1 = 1, S0 = 1, OUT = 0

觀察可得,不僅僅兩個initial塊是并發執行的,并且他們還是從仿真時刻為0的時候就開始并發執行了。

【疑問】(未解決)
Vivado 2017.4中

紅圈圈是意味著并發執行嗎?暫時不知道,后續再研究。
——————————
后續深入內容以后再說

總結

以上是生活随笔為你收集整理的【Verilog HDL】语句的并发执行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。