Professional Documents
Culture Documents
Chapter 2
Project Overview
In this part of the course, you develop a verification environment for
the YAPP router design using the OVM class library.
The environment is developed from scratch through a series of
exercises.
You build one Open Verification Component (OVC).
suspend
All input signals are active high and are to be driven on the falling edge of the clock.
data_vld must be asserted on the same clock when the first byte of a packet (the header
byte), is driven onto the data bus. Because the header byte contains the address, this tells
the router to which output channel the packet should be routed.
Each subsequent byte of data will be driven on the data bus with each new falling clock.
After the last payload byte has been driven, on the next falling clock, the data_vld signal
must be deasserted, and the packet parity byte should be driven.
The input data cannot change while suspend signal is active (indicating FIFO full).
There are two registers accessed through the host interface port as follows:
1. MAXPKTSIZE 8 bits, address 0
R/W reset value = 3F
2. ROUTER_ENABLE bit 0, address 1
R/W reset value = 1
If input packet length is greater than value of MAXPKTSIZE register, the router
drops the entire packet.
The ROUTER_ENABLE register provides control of disabling the routing feature.
Enabling/Disabling the router during packet transmission will yield to unpredictable
behavior
hen
hwr_rd
hdata D D
haddr A A
A = Address, D = Data
write takes one clock cycle as follows:
hwr_rd and hen need to be 1. On next rising edge of clock, data on hdata is read
into the register given by haddr. hen can be driven to 0 in the next cycle
read takes two clock cycles as follows:
hwr_rd needs to be 0 and hen needs to be 1 in first cycle. Address on haddr is
read on rising edge of clock and hdata is driven by the DUT in cycle 2. hen can be
driven low after cycle 2 ends. This will cause the DUT to tri-state hdata bus.