你自己建立一个波形编辑文件,在这里面可以自己编辑输入的波形的,然后仿真就可以看到了。波形是你可以随意编辑的,不写测试文件也可以啊,写比较麻烦,但是如果你要全面的测试的话几就要写了。
代码`timescale 1ns/1ps
module MathOp(clk,Start,OUT0,OUT1,OUT2,OUT3,OUT4,OUT5,OUT6);
input clk,Start;
output[3:0] OUT0,OUT1,OUT2,OUT3,OUT4,OUT5,OUT6;
reg signed[3:0] OUT0,OUT1,OUT2,OUT3,OUT4,OUT5,OUT6;//没有进行位拓展,可能溢出//reg signed[4:0] OUT0,OUT1,OUT2,OUT3,OUT4,OUT5,OUT6;//进行位拓展防止溢出
reg [3:0] DataMem[8:0];//无符号数据//reg signed [3:0]DataMem[8:0];//有符合数据
always@(posedge clk)
if(!Start)
begin
DataMem[0]<=4'b1000;//8 - 0
DataMem[1]<=4'b0101;//5 - 5
DataMem[2]<=4'b1001;//9 - -1
DataMem[3]<=4'b1001;//9
DataMem[4]<=4'b0011;//3
DataMem[5]<=4'b1111;//15
DataMem[6]<=4'b1010;//10
DataMem[7]<=4'b1100;//12
OUT0<=0;//3
OUT1<=0;//4
OUT2<=0;//-8
OUT3<=0;//6
OUT4<=0;//-12
OUT5<=0;//3
OUT6<=0;//-2
end
else
begin
OUT0<=DataMem[0]-DataMem[1];//3
OUT1<=DataMem[1]-DataMem[2];//-4
OUT2<=DataMem[2]-DataMem[3];//-8
OUT3<=DataMem[3]-DataMem[4];//6
OUT4<=DataMem[4]-DataMem[5];//-12
OUT5<=DataMem[5]-DataMem[6];//3
OUT6<=DataMem[6]-DataMem[7];//-2
end
endmodule测试结果:1.有符号有拓展//设计需要2.有符号无拓展3.无符号无拓展4无符号有拓展
也算系统程序的一种吧.