Browse Source

Update

master
Ivan Olenichev 3 years ago
parent
commit
58a262e74c
  1. 40
      i2c_slave/test_i2c_slave/test_i2c_slave_rx.v
  2. 39
      i2c_slave/test_i2c_slave/test_i2c_slave_tx.v

40
i2c_slave/test_i2c_slave/test_i2c_slave_rx.v

@ -11,7 +11,7 @@ reg [8:0] i, j;
reg [8:0] data_to [4:0]/* = { 9'h98, 9'h00, 9'h23, 9'h10, 9'h98 }*/;
//reg [8:0] data_to = 9'h98;
//устанавливаем экземпляр тестируемого модуля
// CREATING MODULE INSTANCE
i2c_slave i2c(clk, SCL, SDA, SDA_OUT, I2C_ACTIVITY, I2C_READ, ACK, WR, received_byte, byte_to_transmit, i2c_counter);
//module i2c_slave (input CLK,
// input SCL, /*inout SDA,*/SDA_IN, output SDA_OUT, // FOR TEST
@ -19,7 +19,7 @@ i2c_slave i2c(clk, SCL, SDA, SDA_OUT, I2C_ACTIVITY, I2C_READ, ACK, WR, received_
// output reg [7:0] RECEIVED_BYTE, input [7:0] BYTE_TO_TRANSMIT,
// output [(MAX_I2C_TRANSACTION_EXP2-1):0] COUNTER);
//моделируем сигнал тактовой частоты
// SIMULATING TACT SIGNAL
always
begin
#1 clk = ~clk;
@ -39,7 +39,7 @@ data_to[4] = 9'h1FF;
end
//от начала времени...
// I2C CLOCK PARAMS
parameter SDA_STT = 30;
parameter SCL_H = 100;
parameter SCL_L1 = 70;
@ -107,48 +107,20 @@ begin
*/
end
/*
//через временной интервал "50" подаем сигнал сброса
#50 SCL = 1;
//еще через время "4" снимаем сигнал сброса
#4 SCL = 0;
//пауза длительностью "50"
#50;
//ждем фронта тактовой частоты и сразу после нее подаем сигнал записи
@(posedge clk)
#0
begin
SDA = 0;
//wr = 1'b1;
end
//по следующему фронту снимаем сигнал записи
@(posedge clk)
#0
begin
SDA = 1;
//wr = 1'b0;
end
end
*/
//заканчиваем симуляцию в момент времени "400"
// END SIMULATION AT TIME "11500"
initial
begin
#11500 $finish;
end
//создаем файл VCD для последующего анализа сигналов
// CREATING VCD FILE FOR NEXT ANALYZE
initial
begin
$dumpfile("out.vcd");
$dumpvars(0,test_counter);
end
//наблюдаем на некоторыми сигналами системы
// WATCHING SOME SIGNALS
initial
$monitor($stime,, clk,,, SCL,, SDA,, I2C_ACTIVITY);

39
i2c_slave/test_i2c_slave/test_i2c_slave_tx.v

@ -11,7 +11,7 @@ reg [8:0] i, j;
reg [8:0] data_to [4:0]/* = { 9'h98, 9'h00, 9'h23, 9'h10, 9'h98 }*/;
//reg [8:0] data_to = 9'h98;
//устанавливаем экземпляр тестируемого модуля
// CREATING MODULE INSTANCE
i2c_slave i2c(clk, SCL, SDA, SDA_OUT, I2C_ACTIVITY, I2C_READ, ACK, WR, received_byte, byte_to_transmit, i2c_counter);
//module i2c_slave (input CLK,
// input SCL, /*inout SDA,*/SDA_IN, output SDA_OUT, // FOR TEST
@ -19,7 +19,7 @@ i2c_slave i2c(clk, SCL, SDA, SDA_OUT, I2C_ACTIVITY, I2C_READ, ACK, WR, received_
// output reg [7:0] RECEIVED_BYTE, input [7:0] BYTE_TO_TRANSMIT,
// output [(MAX_I2C_TRANSACTION_EXP2-1):0] COUNTER);
//моделируем сигнал тактовой частоты
// SIMULATING TACT SIGNAL
always
begin
#1 clk = ~clk;
@ -39,7 +39,6 @@ data_to[4] = 9'h1FF;*/
end
//от начала времени...
parameter SDA_STT = 30;
parameter SCL_H = 100;
parameter SCL_L1 = 70;
@ -107,48 +106,20 @@ begin
*/
end
/*
//через временной интервал "50" подаем сигнал сброса
#50 SCL = 1;
//еще через время "4" снимаем сигнал сброса
#4 SCL = 0;
//пауза длительностью "50"
#50;
//ждем фронта тактовой частоты и сразу после нее подаем сигнал записи
@(posedge clk)
#0
begin
SDA = 0;
//wr = 1'b1;
end
//по следующему фронту снимаем сигнал записи
@(posedge clk)
#0
begin
SDA = 1;
//wr = 1'b0;
end
end
*/
//заканчиваем симуляцию в момент времени "400"
// END SIMULATION AT TIME "11500"
initial
begin
#11500 $finish;
end
//создаем файл VCD для последующего анализа сигналов
// CREATING VCD FILE FOR NEXT ANALYZE
initial
begin
$dumpfile("out.vcd");
$dumpvars(0,test_counter);
end
//наблюдаем на некоторыми сигналами системы
// WATCHING SOME SIGNALS
initial
$monitor($stime,, clk,,, SCL,, SDA,, I2C_ACTIVITY);

Loading…
Cancel
Save