?? pattern.v
字號(hào):
module PATTERN(AX, AY, BX, BY, CX, CY, AREA);
output [11:0] AX, AY, BX, BY, CX, CY;
input [26:0] AREA;
reg [11:0] AX, AY, BX, BY, CX, CY;
//===================================================
reg [23:0] a [0:499];
reg [23:0] b [0:499];
reg [23:0] c [0:499];
reg [26:0] corr_area [0:499];
reg CLK;
reg [26:0] area_out;
integer CYCLE;
integer ERROR,i;
//===================================================
assign AREA0 = area_out;
always #(CYCLE/2.) CLK = ~CLK;
//===================================================
initial
begin
$readmemb("a_in.txt",a);
$readmemb("b_in.txt",b);
$readmemb("c_in.txt",c);
$readmemb("area_out.txt",corr_area);
CYCLE = 10;
ERROR = 0;
CLK = 1'b0;
#(2*CYCLE)
@(posedge CLK)
begin
{AX,AY} = a[0];
{BX,BY} = b[0];
{CX,CY} = c[0];
end
for(i=1; i<500; i=i+1)
begin
@(posedge CLK)
begin
if(~(AREA==corr_area[i-1]))
begin
ERROR = ERROR+1;
$display ();
$display ("AX=%d, AY=%d, BX=%d, BY=%d, CX=%d, CY=%d\n",AX,AY,BX,BY,CX,CY);
$display (" OUT=%d\n",AREA);
$display ("CORRECT: OUT=%d\n",corr_area[i-1]);
$display ();
end
{AX,AY} = a[i];
{BX,BY} = b[i];
{CX,CY} = c[i];
end
end
@(posedge CLK)
if(~(AREA==corr_area[499]))
begin
ERROR = ERROR+1;
$display ();
$display ("AX=%d, AY=%d, BX=%d, BY=%d, CX=%d, CY=%d\n",AX,AY,BX,BY,CX,CY);
$display (" OUT=%d\n",AREA);
$display ("CORRECT: OUT=%d\n",corr_area[499]);
$display ();
end
#(2*CYCLE)
if(ERROR==0)
begin
$display ();
$display ("////////////////////////////");
$display ("// //");
$display ("// Testing Successful //");
$display ("// //");
$display ("////////////////////////////");
$display ();
end
else
begin
$display ();
$display ("//////////////////////////");
$display ("// //");
$display ("// Testing Fail //");
$display ("// TOTAL ERROR:%3d //",ERROR);
$display ("// //");
$display ("//////////////////////////");
$display ();
end
$finish;
end
endmodule
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -