⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pattern.v

📁 Multiple Numbers Calculator (source code and LAB notes)
💻 V
字号:

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -