应该加上时钟吧。例如
while(k<9'd128)begin
@ (posedge clk)
$fwrite(fpw,"%h\n",r)//r模块数据输出端
end
wire [21:0] datafp_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代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)