uvm_reg_fifo-レジスタモデル(十五)
2470 ワード
レジスタregister,メモリmemoryをモデリングすると,FIFOをモデリングする時が来た.
uvm_reg_fifoは、set、get、update、read、writeなどの関数を含む、この責任を負っていない.
転載先:https://www.cnblogs.com/dpc525/p/8027508.html
uvm_reg_fifoは、set、get、update、read、writeなどの関数を含む、この責任を負っていない.
//------------------------------------------------------------------------------
// Class: uvm_reg_fifo
//
// This special register models a DUT FIFO accessed via write/read,
// where writes push to the FIFO and reads pop from it.
//
// Backdoor access is not enabled, as it is not yet possible to force
// complete FIFO state, i.e. the write and read indexes used to access
// the FIFO data.
//
//------------------------------------------------------------------------------
class uvm_reg_fifo extends uvm_reg;
local uvm_reg_field value;
local int m_set_cnt;
local int unsigned m_size;
// Variable: fifo
//
// The abstract representation of the FIFO. Constrained
// to be no larger than the size parameter. It is public
// to enable subtypes to add constraints on it and randomize.
//
rand uvm_reg_data_t fifo[$];
constraint valid_fifo_size {
fifo.size() <= m_size;
}
転載先:https://www.cnblogs.com/dpc525/p/8027508.html