![]() |
![]() |
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. |