Altera Avalon Verification IP Suite Manual do Utilizador Página 175

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 178
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 174
2–8 Chapter 2: Qsys Tutorial
Verifying Avalon-ST DUT
Avalon Verification IP Suite User Guide May 2011 Altera Corporation
As Example 2–1 illustrates, when the Avalon-ST source BFM drives a transaction, it
also prints the transaction to the ModelSim transcript window, creating a record of the
test. The Avalon-ST Sink BFM also prints the transactions it receives on the transcript
window. The Avalon-ST Sink BFM compares the transaction it receives with the one
sent by the Avalon-ST Source BFM, and the results of the comparison are printed on
the transcript window.
In Example 2–1 the idles values for the source and sink are different. The Avalon-ST
Source BFM sets the number of idle cycles to zero using the
set_transaction_idles
function. The Avalon-ST Sink BFM waits for three cycles before receiving the first
transaction because it takes three cycles for the transaction to propagate from the
input port to the output port of the Avalon-ST Single-Clock FIFO buffer. The
difference in values for the idle field is not an error because the Avalon-ST interface
protocol allows source and sink components to have different latencies.
The extract of the simulation results in the ModelSim transcript console shown in
Example 2–2 displays the source response latency, which is the number of clock cycles
the Avalon-ST Single-Clock FIFO buffer takes when the Avalon-ST Single-Clock FIFO
buffer backpressures the Avalon-ST Source BFM. The third response shows a non-zero
response latency. During the third transaction, the Avalon-ST Single-Clock FIFO
buffer is full so it is not able to receive the transaction. As a result, the Avalon-ST
Single-Clock FIFO buffer backpressures the Avalon-ST Source BFM.
# 1130000: INFO: top.pgm.print_transaction: EOP: 0
# 1130000: INFO: top.pgm.print_transaction: Channel: 0
# 1130000: INFO: top.pgm.print_transaction: Error: 0
# 1130000: INFO: top.pgm.print_transaction: Empty: 0
# 1130000: INFO: top.pgm.compare_transaction: Transaction 1 compare OK
# 1150000: INFO: top.pgm.print_transaction: Sink BFM: Receive transaction 2
# 1150000: INFO: top.pgm.print_transaction: Data: 2
# 1150000: INFO: top.pgm.print_transaction: Idles: 0
# 1150000: INFO: top.pgm.print_transaction: SOP: 0
# 1150000: INFO: top.pgm.print_transaction: EOP: 0
# 1150000: INFO: top.pgm.print_transaction: Channel: 0
# 1150000: INFO: top.pgm.print_transaction: Error: 0
# 1150000: INFO: top.pgm.print_transaction: Empty: 0
# 1150000: INFO: top.pgm.compare_transaction: Transaction 2 compare OK
# 1190000: INFO: top.pgm.print_transaction: Sink BFM: Receive transaction 3
# 1190000: INFO: top.pgm.print_transaction: Data: 3
# 1190000: INFO: top.pgm.print_transaction: Idles: 0
# 1190000: INFO: top.pgm.print_transaction: SOP: 0
# 1190000: INFO: top.pgm.print_transaction: EOP: 1
# 1190000: INFO: top.pgm.print_transaction: Channel: 0
# 1190000: INFO: top.pgm.print_transaction: Error: 0
# 1190000: INFO: top.pgm.print_transaction: Empty: 0
# 1190000: INFO: top.pgm.compare_transaction: Transaction 3 compare OK
# 1190000: INFO: top.pgm: Test Passed
Example 2–2. Response Latency
# 1030000: INFO: top.pgm.test_threads.source_response_thread: Source response latency 0
# 1050000: INFO: top.pgm.test_threads.source_response_thread: Source response latency 0
# 1090000: INFO: top.pgm.test_threads.source_response_thread: Source response latency 1
# 1110000: INFO: top.pgm.test_threads.source_response_thread: Source response latency 0
Vista de página 174
1 2 ... 170 171 172 173 174 175 176 177 178

Comentários a estes Manuais

Sem comentários