verilog 系统函数 $display  $write $fopen

 

显示函数:

 

$display([ mcd, ] "text", signal, signal, ...);
$write( [ mcd, ] "text", signal, signal, ...);
$strobe( [ mcd, ] "text", signal, signal, ...);
$monitor( [ mcd, ] "text", signal, signal, ...);

%b or %B

Binary format

%d or %D

Decimal format (default)

%h or %H

Hexadecimal format

%o or %O

Octal format

%e or %E

Real in exponential format

%f or %F

Real in decimal format

%g or %G

Real in decimal or exponential format (shortest result)

%c or %C

Character

%s or %S

String

%t or %T

Time format

%m or %M

Hierarchical name

%v or %V

Net signal strength

Example:

$display("The binary value of A is: %b", A);
$write("The register values are: ", Reg1,, Reg2,, Reg3, "\n");

initial begin
  A = 0;
  $display(A);      // displays 0
  $strobe(A);       // displays 1
  A = 1;
end

 

 

文件读取函数:

mcd = $fopen("file_name" [ , type ] );
$fclose(mcd);
$readmemb("file_name", memory_name [ , start_address [ , end_address ]] );
$readmemh("file_name", memory_name [ , start_address [ , end_address ]] );
c = $fgetc(mcd);
ungetc(c, mcd);
i = $fgets(str, mcd);
i = $fscanf(mcd, "text", signal, signal, ...);
i = $sscanf(str, "text", signal, signal, ...);
i = $fread(reg_or_mem, mcd [ , start_address [ , end_address ]] );i = $ftell(mcd);
i = $fseek(mcd, offset, operation);
i = $rewind(mcd);
$fflush( [ mcd ] );
i = $ferror(mcd, str);
$swrite(output_reg, signal, signal, ...));
$sformat(output_reg, text", signal, signal, ...); 

Type

Description

"r" or "rb"

Open for reading

"w" or "wb"

Create for writing

"a" or "ab"

Append

"r+" or "rb+" or "r+b"

Open for update (reading and writing)

"w+" or "wb+" or "w+b"

Create for update

"a+" or "ab+" or "a+b"

Append; open or create for update at end-of-file

Example:

initial begin
  File = $fopen("Result.dat");
  if (!File)
    $display("Could not open \"result.dat\"");
  else begin
    $display(File, "Result is: %4b", A);
    $fclose(File);
  end
end

reg [7:0] Memory [15:0];
initial begin
  $readmemb("Stimulus.txt", Memory);
end

 

 

 
 
 
 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值