Programma di test

`timescale 1ns/1ns
 
module test_UF();
 
`define TAU 16
 
   parameter N = 4;    // lavoriamo su interi da 4 bit, per semplicità 
 
   reg clock;
 
   reg [N-1:0] linx;
   reg [N-1:0] liny;
   reg 	       lrdy;
 
   wire        lack;
   wire [N-1:0] lor;
   wire [N-1:0] loq;
 
   UF #(N) uf1(lack, lor, loq,
	       clock,
	       lrdy, linx, liny);
 
   // valori iniziali dei registri
   initial
     begin
	clock = 0;
	linx  = 9;
	liny  = 5;
	lrdy  = 0;
     end
 
   // generazione del segnale di clock
   always
     begin
	#`TAU clock = 1;
	#1 clock = 0;
     end
 
   // simulazione
   initial
     begin
        // comandi per la registrazione delle tracce segnali
	$dumpfile("test_uf.vcd");
	$dumpvars();
 
        // dopo 30 tp manda alto il rdy
	#30
	  lrdy = 1;
 
	// fine simulazione
	#150 $finish;
 
     end
endmodule