| 1 |
3 |
HanySalah |
//-------------------------------------------------------------------------------------------------
|
| 2 |
2 |
HanySalah |
//
|
| 3 |
3 |
HanySalah |
// UART2BUS VERIFICATION
|
| 4 |
2 |
HanySalah |
//
|
| 5 |
3 |
HanySalah |
//-------------------------------------------------------------------------------------------------// CREATOR : HANY SALAH
|
| 6 |
2 |
HanySalah |
// PROJECT : UART2BUS UVM TEST BENCH
|
| 7 |
3 |
HanySalah |
// UNIT : AGENT
|
| 8 |
|
|
//-------------------------------------------------------------------------------------------------// TITLE : UART Configuration
|
| 9 |
|
|
// DESCRIPTION: UART Configuration INCLUDES INSTANCE OF THE THREE BFMS. ALSO INCLUDES THE WHOLE EN-
|
| 10 |
|
|
// VIRONMENT CONFIGURATIONS THAT ARE SET IN THE TEST.
|
| 11 |
|
|
//-------------------------------------------------------------------------------------------------// LOG DETAILS
|
| 12 |
2 |
HanySalah |
//-------------
|
| 13 |
|
|
// VERSION NAME DATE DESCRIPTION
|
| 14 |
|
|
// 1 HANY SALAH 02012016 FILE CREATION
|
| 15 |
3 |
HanySalah |
// 2 HANY SALAH 09022016 REFINE THE BLOCK DESCRIPTION AND ADD DESCRIPTIVE COMMENTS
|
| 16 |
|
|
//-------------------------------------------------------------------------------------------------// ALL COPYRIGHTS ARE RESERVED FOR THE PRODUCER ONLY .THIS FILE IS PRODUCED FOR OPENCORES MEMBERS
|
| 17 |
|
|
// ONLY AND IT IS PROHIBTED TO USE THIS MATERIAL WITHOUT THE CREATOR'S PERMISSION
|
| 18 |
|
|
//-------------------------------------------------------------------------------------------------
|
| 19 |
2 |
HanySalah |
|
| 20 |
|
|
class uart_config extends uvm_object;
|
| 21 |
|
|
|
| 22 |
3 |
HanySalah |
// Uart BFM Instance
|
| 23 |
2 |
HanySalah |
virtual uart_interface uart_inf;
|
| 24 |
|
|
|
| 25 |
3 |
HanySalah |
// Register File BFM Instance
|
| 26 |
2 |
HanySalah |
virtual rf_interface rf_inf;
|
| 27 |
|
|
|
| 28 |
3 |
HanySalah |
// Arbiter BFM Instance
|
| 29 |
2 |
HanySalah |
virtual uart_arbiter arb_inf;
|
| 30 |
|
|
|
| 31 |
3 |
HanySalah |
// Active clock edge that would syncronize the whole system to be either the positive or the neg-
|
| 32 |
|
|
// tive edge
|
| 33 |
2 |
HanySalah |
act_edge _edge;
|
| 34 |
|
|
|
| 35 |
3 |
HanySalah |
// Define the sequence to be used in transmitting one byte serially; either to start with the MSB
|
| 36 |
|
|
// or the LSB.
|
| 37 |
2 |
HanySalah |
start_bit _start;
|
| 38 |
|
|
|
| 39 |
3 |
HanySalah |
// Define the Represenetation of data through the text mode to be either ASCII or Binary
|
| 40 |
2 |
HanySalah |
data_mode _datamode;
|
| 41 |
|
|
|
| 42 |
3 |
HanySalah |
// Define the number of stop bits at the final of each UART field to be one of two bits
|
| 43 |
2 |
HanySalah |
int num_stop_bits;
|
| 44 |
|
|
|
| 45 |
3 |
HanySalah |
// Define the number of bits inbetween the start and the stop bits to be seven or eight bits
|
| 46 |
2 |
HanySalah |
int num_of_bits;
|
| 47 |
|
|
|
| 48 |
3 |
HanySalah |
// Define the parity mode used to be either no parity, odd parity or even parity.
|
| 49 |
2 |
HanySalah |
parity_mode _paritymode;
|
| 50 |
|
|
|
| 51 |
3 |
HanySalah |
// Define the maximum time between the generated stimulus and the DUT response.
|
| 52 |
2 |
HanySalah |
time response_time;
|
| 53 |
|
|
|
| 54 |
3 |
HanySalah |
// Define the possibility of generating false data through the read command. This attribute is
|
| 55 |
|
|
// general control one that would be make this feature would be used or not. And another field
|
| 56 |
|
|
// would be generated through the sequence.
|
| 57 |
|
|
req use_false_data;
|
| 58 |
|
|
|
| 59 |
2 |
HanySalah |
`uvm_object_utils(uart_config)
|
| 60 |
|
|
|
| 61 |
|
|
function new (string name = "uart_config");
|
| 62 |
|
|
super.new(name);
|
| 63 |
|
|
endfunction:new
|
| 64 |
|
|
endclass:uart_config
|