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