Activity
-
Jim Lewis wrote a new post 1 year, 11 months ago
OSVVM 2023.05 Release
Summary of 2023.05 Changes Co-simulation updates Added split transaction methods for address bus model independent manager Added […]
-
Brad Adam replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
I appreciate the insight, Jim. Was approaching this from the wrong angle.
-
Matt became a registered member 1 year, 11 months ago
-
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Hopefully this gets the topic started. Hopefully others will comment too. It is a long topic and I probably missed some things. I may have an entirely different perspective than others.
-
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Documenting a Verification Component needs to address
- What does the VC need to do
- How do I use the VC
- What transactions does the VC support
I note that the Axi4_VC_users_guide in OsvvmLibraries/Documentation primarily addresses the last two. Rather than addressing the first one, it assumes that is must support all operations on the AXI4…[Read more]
-
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Why Randomize
Our goal is to thoroughly test a design. For some designs, directed testing will get the job done.For some designs, there are too many variations to be able to test every variation in the system. Variations can be a multiplying factor in testing a design. If the design can limit the variations in the system, the system can…[Read more]
-
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Implementing Transactions
The behavior of a transaction can either be implemented in a verification component (VC) or in the subprogram body (as SendCmd above suggests). Note the acronym BFM means bus functional model and can refer to either a VC or subprogram body. BFM means the model implements only the interface behavior and not internal…[Read more] -
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Lets address, 2. Identifying Transactions:
A transaction is an abstract representation of an atomic action on an interface. For a UART transmitter, it is sending one word on the interface. For an Axi4Lite interface, it is Write and Read operations on the interface.
For the simple interface we look at in our Comprehensive VHDL…[Read more]
-
Jim Lewis replied to the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Hi Dave,
I suspect a proper response to this may end up being a couple of blog posts in length. Lets start with a couple of references:Comprehensive Functional Verification by Bruce Wile, John Goss, and Wolfgang Roesner covers test plans. I have not read the whole book. It is on my some day maybe list.
Peet James Snug 2000 paper on…[Read more]
-
David started the topic Writing a Test Plan, Identifying Transactions, and Documenting BFMs/MIT in the forum OSVVM 1 year, 11 months ago
Hello fellow forum members,
First time posting here! I’m currently early in the adoption of OSVVM. I work for a company that develops safety critical FPGAs and we put lots of emphasis (and rely) on planning and documentation artefacts. I’ve encountered a few questions and would greatly appreciate your guidance and insights.
1. Writing a Test…[Read more]
-
Jim Lewis replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
The X”DEADBEUU” you are seeing is due to the masking of the lower byte.
-
Jim Lewis replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Hi Adam,
If you are using the OSVVM Axi4Lite VC, the best way to get word addresses is to just throw away the lower address bits and do full word writes to the interface. Hence, the transaction calls would still use the addresses X”0000″, X”0004″, X”0008″, …, but since you are throwing away the lower two address bits, the memory would see it…[Read more] -
Brad Adam replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Yes, writing to a memory that supports word addressing is the more accurate way of saying this. I would like to ignore WSTRB but the issue seems to be occurring at the manager side, not the subordinate side.
As in the comment above if I do the following:
write(trans_rec, x”0001?, x”DEADBEEF”); –WSTRB = 1110
The AXIBUS data line shows t…[Read more]
-
Brad Adam replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Hey,
So this is an atypical use case for sure.
Usually I use the Axi4Lite VC as ‘normal’ and if, for instance, I was sending 32-bit data to some addresses I would do:
write(trans_rec, x”0000″, x”DEADBEEF”);
write(trans_rec, x”0004″, x”DEADBEEF”);
write(trans_rec, x”0008″, x”DEADBEEF”);
Where the base address is increasing…[Read more] -
Jim Lewis replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Hi Adam,
Is your question, how do you connect AXI4 up to a memory that only supports word addressing? The memory would ignore the lower bits of address that correspond to the byte addresses and it would ignore strb totally. If there is a write data operation as signified by Valid and Ready, then all 32 bits get written into memory. There is…[Read more] -
Jim Lewis replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Hi Adam,
I am not sure what that means. What are you trying to do? In Axi4Lite, strb is a byte strobe that indicates the corresponding 8 bits is part of the write. The strb will be active when Valid is active. This may be multiple clock cycles if Ready is not also active.Does the dpRAM only accept full 32 bit writes? Maybe this device…[Read more]
-
Brad Adam replied to the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Just found what I think is the answer in the AXI4_VC_user_guide on table 9.3.2 which lists WSTRB as non-configurable.
So I guess my question becomes, is this still accurate and if so, is there a known way to work around this in OSVVM?
-
Brad Adam started the topic Configuring the AXI-Lite WSTRB in the forum OSVVM 1 year, 11 months ago
Hello again,
I’m using the AXI Lite manager VC to interface with a DUT which will eventually take what is written via AXI Lite and write it to a dpRAM.
The issue I’ve run into is that I see no way to properly decouple the data width from the strb width for this record. In this case my data width is 32-bits which means that the manager code…[Read more]
-
Borja became a registered member 1 year, 11 months ago
-
Jim Lewis replied to the topic Learning OSVVM with AXI4 in the forum OSVVM 1 year, 11 months ago
Hi Adam,
The AxiStreamTransmitter and AxiStreamReceiver both have randomization in them. There is a corresponding test case that has good examples in it, TbStream_SendGetRandom1.vhd. You can find it in OsvvmLibraries/AXI4/AxiStream/TestCases. It was just updated (meaning just before this post) to better show the different use models for…[Read more] - Load More