TEAL – TEst Abstraction Layer Overview

Download Report

Transcript TEAL – TEst Abstraction Layer Overview

TEAL - TEst Abstraction Layer
A C++ class library using VPI
Teal
Generator
Checker
Generator
Checker
Test Parameters
BFM
BFM
Uart
Teal
Results File
Ethernet
DUT
Testbench
---Preliminary---
© 2004 Mike Mintz
2
Comparison
Coverage
Constraint Solver
AOP
Specman:
Temporal Expressions
When Clause
Stable Random
Four State Logic
Threads
Logging
System Verilog:
SVA Assertions
Single Inheritrance
Teal:
Open Source, Free
Full power of C/C++
Backdoor Memory Access
Dictionary
---Preliminary---
© 2004 Mike Mintz
3
Basics
+
<
reg a_value (0x22)
reg b_value (0x44, 32) >
==
&&
||
b_value(9,1);
vreg address (“top.module_1.addr”);
reg [37:0] addr;
log << “address is: “ << address << endm;
address = a_value << 2;
address = 0x5151;
---Preliminary---
© 2004 Mike Mintz
module_1
Module top
4
Threads
Start Simulation
User Main function
··
·
at (posedge (clock) || negedge (reset_n));
··
·
vreg address (“top.module_1.addr”);
reg [37:0] addr;
reg [31:0] data;
wire reset_n;
wire clock;
initial $teal_main
module_1
Module top
vreg data (“top.module_1.data”);
··
·
---Preliminary---
© 2004 Mike Mintz
5
Backdoor Memory
DMA
BFM
DS3_top.start ();
Generator
Checker
dma_checker.start ();
Checker
Real Threads
DS3
CPU
C/C++ code
---Preliminary---
BFM
bfm_top.start ();
Generator
Checker
IO Hub
© 2004 Mike Mintz
Utopia
Module top
6
basic_test.txt
---Preliminary---
BFM
Checker
© 2004 Mike Mintz
BFM
Generator
Checker
force_error 0
dma_enable 1
baud_rate 115200 921600
ds3_top_0_num_ds3 23
Generator
C/C++ code
calea_probability 75
include basic_test.txt
//override force_error
force_error 1
Checker
directed_test.txt
Backdoor Memory
Test Parameters
7
Logging
Checker
vlog
Stimulus
vlog
main
vlog
bfm_2
vlog
bfm_1
bfm_1
vlog
vlog
Vout
basic_results.txt
[0 ns] Note: Starting thread user_main
[10 ns] [test_1_main] Waiting for reset_n.
[12387 ns] [test_1_main] reset_n occurred. Starting up...
[99899 ns] Error: unexpected interrupt vector: 0x51
[180000 ns] Test completed and passed.
---Preliminary---
© 2004 Mike Mintz
8
Summary
4 state logic
Free
Open source
C/C++ based
Stable Random
Test Parameters
Threads
---Preliminary---
© 2004 Mike Mintz
9