補足 - parameter値のビット幅の求め方

[] [] []


ある値をparameter化したのに伴い、値のビット幅もparameter化しなければならないときは、$clog2( )を使えばよい。

// データ数がDEPTH個ならそのアドレスはWAビット

parameter DEPTH = 640;

localparam WA = $clog2(DEPTH);

reg[7:0]    mem[0:DEPTH-1];  

reg[WA-1:0] mem_adr;     

ここで$clog2(N)は「Nのビット幅」ではなく「N-1のビット幅」であることに注意。

  $clog2(3) = 2

  $clog2(4) = 2  ← $clog2(4) = 3ではない

  $clog2(5) = 3


[] [] []