Email: bknpk@hotmail.com Phone: +972-54-7649119


V

 

This pages describes the UART RX to TX specman project.

This test bench checks the RX to TX data flow. For that a new VHDL test bench was written. It instantiates both RX and TX and connects between them and specman code.
The TCL script and bash run script are similar to the ones used both RX and TX unit levels.

specman eVC configuration:
  1. The data flow is from RX to TX. Therefor the RX configuration remains the same. The TX is made passive, as it does not drive data.
  2. The clock rate of the RX and RX to TX test bench is slower than the TX. This is also a parameter, which given to the TX eVC.

The description to e test bench follows:
The first lines in the code gives names to each eVC.
--logical name for the eVC instance.
extend uart_rx_env_name_t : [UART_RX_U];
extend uart_tx_env_name_t : [UART_TX_U];


The configuration of specman is identical to the one used in each unit level.
The instantiation of the assorted eVC(s) is explained in the following text:
-- Instantiate the eVC under sys.
extend sys {
--ACTIVE has a bfm
  uart_rx_evc : UART_RX_U uart_rx_env_u is instance;
--PASSIVE uses only the monitor
  uart_tx_evc : UART_TX_U uart_tx_env_u is instance;
  ...
};
extend uart_tx_agent_u {
  keep active_passive == PASSIVE;
};



Next comes the HDL path, which is also similar to what is done in each single eVC.
Last is the rate adaption and coverage:

--reverse bit collection in TX monitor
--keep agent.mon.data_out_reverse_flg == TRUE;
  keep agent.mon.data_wait_cycles == 10;--different rate in full chip
  keep agent.mon.has_coverage == TRUE; --collect coverage

Coverage was discussed in the TX description.
To collect coverage from multiple tests and generate a textual report, use only the following commands (it is recommended generate a separate TCL file.):

sn read cover *.ecov
#sn read cover *.ucd
sn sh cover uart_tx_monitor_u

Note : sn tells the simulator that the rest of the line is a specman command.
An example of a report of the coverage follows. Green color after grade means coverage is complete.

ncsim> sn read cover *.ecov
Reading test_debug_1_1.ecov ...
Reading test_debug_1_12.ecov ...
Reading test_debug_1_22223.ecov ...
Reading test_debug_1_2278.ecov ...
Reading test_debug_1_76771.ecov ...
Reading test_debug_1_9119.ecov ...
Reading test_debug_1_9119054.ecov ...

7 coverage files read in.
ncsim> sn sh cover uart_tx_monitor_u


Specman Coverage report
=======================

Command: show cover -kind = full uart_tx_monitor_u.*.*
Grading_formula: linear
At least multiplier: 1
Show mode: both
Number of tests: 8
Note: %t is a percent from total, %p is a percent from parent


Cover group: uart_tx_monitor_u.cov_last_bit_ev
==============================================

Grade: 1.00  Weight: 1

** cov_last_bit **
Samples: 70  Tests: 7  Grade: 1.00  Weight: 1

grade  goal samples  tests   %t cov_last_bit
------------------------------------------------
 1.00     1      32     7   46 0
 1.00     1      38     7   54 1



Cover group: uart_tx_monitor_u.cov_first_bit_ev
===============================================

Grade: 1.00  Weight: 1

** cov_first_bit **
Samples: 70  Tests: 7  Grade: 1.00  Weight: 1

grade  goal samples  tests   %t cov_first_bit
------------------------------------------------
 1.00     1      33     7   47 0
 1.00     1      37     7   53 1



Cover group: uart_tx_monitor_u.cov_stop_bit_ev
==============================================

Grade: 1.00  Weight: 1

** cov_stop_bit_len **
Samples: 63  Tests: 7  Grade: 1.00  Weight: 1

grade  goal samples  tests   %t cov_stop_bit_len
------------------------------------------------
 1.00     1       8     6   13 0
 1.00     1       6     5   10 1
 1.00     1       1     1    2 2
 1.00     1       5     5    8 3
 1.00     1       2     2    3 4
 1.00     1       2     2    3 5
 1.00     1       4     3    6 6
 1.00     1       1     1    2 7
 1.00     1       6     4   10 8
 1.00     1       4     3    6 9
 1.00     1       6     3   10 10
 1.00     1       3     3    5 11
 1.00     1       4     4    6 12
 1.00     1       4     3    6 13
 1.00     1       2     1    3 14
 1.00     1       5     4    8 15



To go to main project: main project page


  ...


I would be happy to offer my services. Call ASAP !


Home

visual basic script to save an incoming mail in outlook

SD slave with Samsung flash (k9f1208) (vhdl project).

c-code program to read a memory array from verilog RTL, using VPI.








Search This Site


Feedback This Site




new pages on this site