Цитата(des00 @ Jul 30 2008, 14:31)

чего ????
код в студию.
А вот совершенно нерабочий :-)
Код
import definitions::*;
program simple_spi_tb (spi_bus_i.master spi_m);
//import definitions::*;
spi_simple_class spi_sender, spi_sender2;
Packet p;
//reg SSB,SCLK,MOSI;
bit [7:0] my_data []='{`SI,8'hBB,8'hCC};
static int file;
initial
begin
file=$fopen("log.txt","w");
$fwrite(file, "Simulation started %t", $realtime);
spi_sender = new(spi_m);
spi_m.RSTB=1'b0;
#600;
spi_m.RSTB=1'b1;
spi_m.SSB=1'b1;
spi_sender.SPI_COMMAND_WRITE(my_data);
repeat (10)
begin
spi_sender.SPI_TRASH_WRITER();
end
spi_sender2=null;
$stop;
end
//========================================================
endprogram
class Packet;
bit [7:0] commands_array [] ='{`NOP,`CR,`RT,`WT,`SI,`SIL,`RO1,`RO2,`RO4,`RO8,`TZ1,`TZ2,`TZ12,`TZ0,`SM,`WU};
typedef bit [7:0] command_payload_t [3];
rand int command_index;
rand command_payload_t data;
constraint inside_sixteen {
command_index inside {[0:16]};
endclass
class spi_simple_class;
virtual spi_bus_i spi;
const int tcs_sclk=100;
const int tsclk_cs=100;
typedef bit [7:0] my_data [3];
rand my_data data;
function new (virtual spi_bus_i spi);
this.spi=spi;
endfunction
task SPI_COMMAND_WRITE (bit [7:0] data []);
endtask
task SPI_TRASH_WRITER();
Packet p;
bit [7:0] data [3];
p=new;
begin
assert(p.randomize());
$fwrite(file, "Send packet over SPI time=%t p.data= %p", $realtime ,p.data);
data[0]=p.commands_array[p.command_index];
data[1:2]=p.data[1:2];
$display("p.data= %p", data);
SPI_COMMAND_WRITE(data);
end
endtask
endclass
Спасибо!