回覆列表
  • 1 # 使用者646602480848

    3種生成語句其實就是for,if和case。這3種語句的用處都非常打。

    for可以用在testbench的激勵設定中,定義一個integer i,在initial塊中就可以用for來定義一個迴圈激勵,只要i滿足一定條件,就有一個對應的激勵產生。

    if是最常用的條件語句。最常用在行為級的程式碼書寫中。

    比方說

    if(!reset_n) // 非同步清零有效

    q

    else

    q

    case的用處更多了。當你知道你想定義的輸出端是什麼的時候,就可以用case來生成輸出訊號。

    case最主要的是要有個使能端,根據使能端來確定輸出。

    case( {s1,s0} ) // 4選1mux

    2"b00: y=x[0];

    2"b01: y=x[1];

    2"b10: y=x[2];

    2"b11: y=x[3];

    default: y=1"bz;

    endcase

    提醒:

    儘量不要用for語句,因為for語句其實是利用計數器完成的,在編譯過程中可能沒問題,但是綜合到實際電路很容易出問題。

    使用if語句,不管有沒有else的內容,都要寫上else,即使後面跟空語句。這樣的話綜合不容易出問題。

  • 中秋節和大豐收的關聯?
  • 前兩年在屈臣氏上班因家裡有事沒辭職,請問還可以進屈臣氏嗎?