ためになるホームページ お問い合わせ




TOP > Verilog > 文字列の扱い
文字列の扱い
verilogでは、1バイトのASCII文字列を使う事ができる。1文字を1バイトとして扱う。

文字列の例
parameter [80*8*1] filename = "data.hex";
parameter [80*8*1] dirname = "cfg/";
reg [31:0] ROM[0:255];
$readmemh({dirname, filename}, ROM);


ファイルのサイズを調べる
ファイルのサイズを調べるには、格納したレジスタ配列の各アドレスが不定の箇所をさがせばよい。但し、ファイルサイズよりレジスタ配列の方が大きいことが条件。(当然、小さいと言う事は、設計ミスである)

文字列の長さを調べる例
reg [31:0] ROM[0:255];
integer i;
begin : END_FILE
  for (i = 0; i < 256; i = i + 1) begin
    if (infile[i] === 32'hx)
      disable END_FILE;
  end
end






Copyright 2007 ためになるホームページ All Rights Reserved.