verilog写文件问题?

verilog写文件问题?,第1张

while(k<9'd128)begin这个循环下面没有时间延迟,所以如果k<128,,会死循环在这个while中;

应该加上时钟吧。例如

while(k<9'd128)begin

@ (posedge clk)

$fwrite(fpw,"%h\n",r)//r模块数据输出端

end

wire [21:0] data

fp_re = $fopen("result.dat","w")

always @(posedge clk)

begin

if(data_valid == 1'b1)

begin

$fwrite(fp_re,"%d",$signed(data))

end

end

在数字电路中,出于应用的需要,可以使用符号数,即包括0及整数的集合;也可以使用有符号数,即包括0和正负数的集合。在更加复杂的系统中,也许这两种类型的数,都会用到。

有符号数通常以2的补码形式来表示。进一步观察,发现两种类型数的加减法是一样的,做加法和减法就是在数轮上按正时钟转转或按反时钟转。

方法如下:

verilog中数据的写入分为三步:

1、 $fopen()打开文件。

2.、$fwrite()写入相应data 。

3.、$fclose()关闭文件。

Verilog可以从五个层次对电路(系统)进行描述,包括:系统级、算法级、寄存器传输级(即RTL级)、门级、开关级。我们平时用的最多的为RTL级,故Verilog代码也经常被称为RTL代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11492838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存