星期四, 1月 17, 2008

Verilog 初級導航

這是module標準寫法, 基本上我也只用到這些功能.

module booth32_v3
( i64_product, o1_ready, i32_multiplier, i32_multiplicand, i1_start, i1_clk); ......
........
endmodule
  • booth32_v3 是這個module名稱, 共有 i64_product, ...... i1_cl 這些變數.
  • input[32:0] xxx 指 xxx 隻腳, 且定義為input,output 相同.
  • reg, wire 是定義它只是一條線, 還是一個reg.( 只有reg可以在always 裡在等號左邊)
  • begin, end 相當於 c的 {、 }。
  • always @( posedge i1_clk ) 這個嘛... while( i1_clk == 正緣觸發 )
  • 注意, 有時有些東西未定義 ModelSim 會幫你自動定義, 請養成良好習慣,不然會Debug 到死.
  • 對了漏了 assign abc = a & b; 這東東也是重要, 相當於 abc = a& b , 但隨時會生效, 不是run到那 一行才生效喔(所以跟C的不同, 這些東東亂放的話, BUG追死你!!.
  • 8.其它的看應該就懂了.

沒有留言: