欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4003|回復: 0
收起左側

verilog中的initial語句

[復制鏈接]
ID:86860 發表于 2015-7-26 02:08 | 顯示全部樓層 |閱讀模式
  首先說說結構化過程語句,在verilog中有兩種結構化的過程語句:initial語句和always語句,他們是行為級建模的兩種基本語句。其他所有的行為語句只能出現在這兩種語句里



與C語言不通,verilog在本質上是并發而非順序的。verilog中的各個執行流程(進程)并發執行,而不是順序執行的。每個initial語句和always語句代表一個獨立的執行過程,每個執行過程從仿真時間0開始執行并且兩種語句不能嵌套使用。下面舉例解釋之:

initial語句

所有的initial語句內的語句構成了一個initial塊。initial塊從仿真0時刻開始執行,在整個仿真過程中只執行一次。如果一個模塊中包括了若干個initial塊,則這些initial塊從仿真0時刻開始并發執行,且每個塊的執行是各自獨立的。如果在塊內包含了多條行為語句,那么需要將這些語句組成一組,一般式使用關鍵字begin和end將他們組合在一個塊語句;如果塊內只有一條語句,則不必使用begin和end.下面給出了initial語句的例子:

    module stimulus  

    reg x,y, a,b, m  

    initial  
        m = 1'b0;  

    initial  
    begin  
        #5 a = 1'b1;  
        #25 b = 1'b0;  
    end  

    initial  
    begin  
        #10 x = 1'b0;  
        #25 y = 1'b1;  
    end  

    initial  
        #50 $finish;  

    endmodule  



在上面例子中,三條initial語句在仿真0時刻開始并行執行。如果在某一條語句前面存在延遲#,那么這條initial語句的仿真將會停頓下來,在經過指定的延遲時間之后再繼續執行。因此上面的initial語句執行順序為:

    時間              所執行的語句  
    0                   m = 1'b0;  
    5                   a = 1'b1;  
    10                  x = 1'b0;  
    30                  b = 1'b0;  
    35                  y = 1'b1;  
    50                  $finish;  

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表