URL
https://opencores.org/ocsvn/oms8051mini/oms8051mini/trunk
Subversion Repositories oms8051mini
Compare Revisions
- This comparison shows the changes necessary to convert path
/oms8051mini/trunk/verif/tb
- from Rev 27 to Rev 29
- ↔ Reverse comparison
Rev 27 → Rev 29
/tb_tasks.v
136,10 → 136,36
@(posedge app_clk); |
reg_cs = 0; |
|
//$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data); |
$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data); |
end |
endtask |
|
task cpu_byte_read_cmp; |
input [3:0] block_id; |
input [15:0] address; |
input [7:0] exp_read_data; |
reg [7:0] read_data; |
begin |
@(posedge app_clk); |
reg_id = block_id; |
|
// Byte-0 |
reg_cs = 1; |
reg_wr = 0; |
reg_be = 1'h1; |
reg_addr = address; |
@(posedge reg_ack); |
#1 read_data[7:0] = reg_rdata[7:0]; |
@(posedge app_clk); |
reg_cs = 0; |
|
if(read_data !== exp_read_data) begin |
$display ("ERROR: REG READ : Id: %h Addr = %h, Data = %h", block_id,address, read_data); |
`TB_GLBL.test_err; |
end else |
$display ("Config-Read: Id: %h Addr = %h, Data = %h", block_id,address, read_data); |
end |
endtask |
task cpu_byte_write; |
input [3:0] block_id; // 0/1/2 --> ram/spi/uart |
input [15:0] address; |
/tb_top.v
129,6 → 129,7
wire clkout ; |
wire reset_out_n ; |
|
parameter I2CS_ADDR = 7'b0010_000; // I2C Slave Addr |
//---------------------------------------- |
|
digital_core u_core ( |
165,12 → 166,36
.spi_sck (spi_sck ), |
.spi_so (spi_so ), |
.spi_si (spi_si ), |
.spi_cs_n (spi_cs_n ) |
.spi_cs_n (spi_cs_n ), |
|
// i2cm clock line |
.i2cm_scl_i (scl ), |
.i2cm_scl_o (i2cm_scl_o ), |
.i2cm_scl_oen (i2cm_scl_oen ), |
|
// i2cm data line |
.i2cm_sda_i (sda ), |
.i2cm_sda_o (i2cm_sda_o ), |
.i2cm_sda_oen (i2cm_sda_oen ) |
|
|
|
); |
|
// create i2c lines |
delay m0_scl (i2cm_scl_oen ? 1'bz : i2cm_scl_o, scl), |
m0_sda (i2cm_sda_oen ? 1'bz : i2cm_sda_o, sda); |
|
pullup p1(scl); // pullup scl line |
pullup p2(sda); // pullup sda line |
|
// hookup i2c slave model |
i2c_slave_model #(I2CS_ADDR) tb_i2cs ( |
.scl (scl ), |
.sda (sda ) |
); |
|
|
uart_agent tb_uart ( |
. test_clk (uart_clk_16x ), |
. sin (si ), |
264,6 → 289,8
uart_test1(); |
else if ( $test$plusargs("spi_test_1") ) |
spi_test1(); |
else if ( $test$plusargs("i2cm_test_1") ) |
i2cm_test1(); |
else begin |
// 8051 Test Cases |
#80000000 |
297,10 → 324,21
end |
|
|
module delay (in, out); |
input in; |
output out; |
|
assign out = in; |
|
specify |
(in => out) = (600,600); |
endspecify |
endmodule |
|
|
`include "uart_test1.v" |
`include "spi_test1.v" |
`include "i2cm_test1.v" |
`include "tb_tasks.v" |
`include "spi_tasks.v" |
|