パラメーターを取り込んで、パラメーターに等しい数のゼロを定数に割り当て、この定数を比較に使用したいと思います。どうすればいいのですか ?
たとえば、パラメータが3だとすると、定数を作成したいとします
n=3'b000;
このnを別のステートメントで使用します。唯一のことは、私は知りません。 「n」のゼロをどのように初期化し、どのVerilogデータ型にそれを割り当てますか?
レプリケーションオペレーターを探しています。構文は{replication_constant{value}}
。
すべてがゼロのサイズWIDTH
のバスを作成する例。
parameter WIDTH = 3;
wire [WIDTH-1:0] n = {WIDTH{1'b0}};
レプリケーションオペレーターの詳細については、 IEEE std 1800-2012 §11.4.12.1「レプリケーションオペレーター」を参照してください。
Gregsの答えを展開し、1が必要な場合はすべて0に答えます。
連結の組み合わせを使用する{a,b}
およびレプリケーション{width{c}}
:
wire [WIDTH-1:0] n = { 1'b1, {WIDTH-1{1'b0}} } ;
'0
または'1
構文はSystemVerilogで使用されています'b0
幅の一致は、古いVerilogで有効です。 verilog-95では、幅は32ビットまでしか一致しませんでしたが、それ以降は修正されています。
フリップフロップのリセット値を定義する例:
reg [7:0] a;
always @(posedge clk or negedge rst_n) begin
if(~rst_n) begin
a <= 'b0 ;
...