Activity
-
Jim Lewis replied to the topic Log, Alert and Affirm in OSVVM in the forum OSVVM 11 months ago
I use alerts in protocol checkers. If a VC receives a transaction done event when a transaction is not active, that is an alert and not an affirmation – think of the older intel X86 interfaces that used the signal nRdy to indicate a transaction is complete – receiving a stray nRdy is a bad thing.
-
Jim Lewis replied to the topic Check functions in OSVVM in the forum OSVVM 11 months ago
More direct control refers to output formatting when a check passes or fails.
-
Jim Lewis replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 11 months ago
> From my knowledge, VHDL already contains resolution functions for scenarios where something has multiple drivers. So are new functions required to resolve records with multiple drivers?
VHDL has a resolution function for std_ulogic named resolved. Its non-driving element is ‘Z’. Its default value is ‘U’. If you do not initialize it, then…[Read more] -
Jim Lewis replied to the topic Riviera / MATLAB Cosim with OSVVM Scripting in the forum OSVVM 11 months ago
Hi Brad,
Cool. If we end up needing that, it will be added. However, that said, I am curious as to why it is needed. Normally variable expansion is done in the calling scripts.So if I do:
SetExtendedSimulateOptions "-dbg -t 0 -ieee_nowarn -dataset {./sim} -datasetname {sim} -loadvhpi $aldec/bin/aldec_matlab_cosim.dll:ml2hdl"
Then I…[Read more]
-
Jim Lewis replied to the topic GHDL workarounds – any known ones? in the forum OSVVM 11 months ago
Hi Ajeetha,
Since you are creating a code generator I recommend that when it uses ScoreboardIDType that it always uses a selected path that includes the library and package as that way if people using the generated code add to it they too will not have any issues – and they will have a safe example from which to template.If your generator…[Read more]
-
Jim Lewis replied to the topic GHDL workarounds – any known ones? in the forum OSVVM 11 months ago
Hi Ajeetha,
WRT scoreboards, there are no known issues with either GHDL or NVC.There is a subtle VHDL thing with using or referencing multiple generic packages that declare a type – such as ScoreboardIDType that is declared in ScoreboardGenericPkg.
If you reference only one Scoreboard package instance, such as ScoreboardPkg_slv, then the…[Read more]
-
Brad Adam replied to the topic Riviera / MATLAB Cosim with OSVVM Scripting in the forum OSVVM 11 months ago
Hey, Jim!
So I’ve been working with Aldec as well on this and we’ve tracked down the root cause of OSVVMs failure to correctly call the $ALDEC variable.
Turns out that we needed to add “global aldec” to the VendorScripts_RivieraPro.tcl within the vendor_simulate process.
I don’t think there is a way to add images on these forms to show you…[Read more]
-
Ajeetha Kumari started the topic GHDL workarounds – any known ones? in the forum OSVVM 11 months ago
I am new here in this forum, am creating a Python based utility to enhance productivity with OSVVM based TBs. One of them is a testbench skeleton generator that should go live shortly (opensource). While navigating some examples I see:
[code]
library OSVVM ;
context OSVVM.OsvvmContext ;
— use osvvm.ScoreboardPkg_slv.all ;
–!! GHDL
use…[Read more] -
Hassan replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 11 months ago
The functions that are used to perform interface transactions and directive transactions are quite flexible and numerous. They include blocking and non-blocking calls aka asynchronous. These applies to the manager and subordinate, both read and write and also check functions.
Why is there need to have both blocking and non-blocking function…[Read more]
-
Hassan replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 11 months ago
The MIT document for streaming and address mapped interfaces states this: “One of the challenges of using a single record, such as AddressBusRecType, as an interface is dealing with multiple drivers on each record element. OSVVM does this giving each element a resolved type, such as bit_max, std_logic_vector_max_c, integer_max, time_max, and…[Read more]
-
Copin became a registered member 11 months ago
-
Guy became a registered member 11 months ago
-
Jake replied to the topic OSVVM Questa Visualizer Support in the forum OSVVM 11 months ago
Any word from your Siemens contact on this? I’ve reached out to my Siemens FAE as well. By chance does the new release of OSVVM (2024.05) include visualizer support at all?
Thanks in advance,
-Jake -
Hassan replied to the topic Check functions in OSVVM in the forum OSVVM 11 months ago
The scoreboards can contain tags for “out of order” transactions and can also drop transactions. This makes them more sophisticated then mere FIFOs. But what more features could they be given when you say “There is a long term plan to give users more direct control of the output of scoreboards.”
-
Brad Adam replied to the topic Riviera / MATLAB Cosim with OSVVM Scripting in the forum OSVVM 11 months ago
Okay, that was helpful and after comparing the logs I’m reasonably confident that I am supplying the needed switches to the SetExtendedSimulateOptions.
At this point the remaining failure when using RunTest seems to be in the load libraries steps, specifically the libraries from Aldec. In the below console output, systf.dll and…[Read more]
-
Jim Lewis replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 11 months ago
The DelayCoverage models divide a transfer into segments that are BurstLength in length. For beats (transfers within that burst length) there is BeatDelay between each item transferred on the interface. After BurstLength there is BurstDelay before the next item is transferred. Each of BurstLength, BeatDelay, and BurstLength is randomized using…[Read more]
-
Hassan replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 11 months ago
This code confused me and is found in the AXI4 manager source:
— Initialize DelayCoverage Models
AddBins (WriteAddressDelayCov.BurstLengthCov, GenBin(2,10,1)) ;
AddBins (WriteAddressDelayCov.BeatDelayCov, GenBin(0)) ;
AddBins (WriteAddressDelayCov.BurstDelayCov, GenBin(2,5,1)) ;…
— Valid Delay between…[Read more]
-
Hassan replied to the topic Log, Alert and Affirm in OSVVM in the forum OSVVM 11 months ago
That means normally we would not need to use Alert, but only the Affirm functions?
By the way, I did attend your course on OSVVM many years ago, before COVID. I was quite unwell in that week when I attended and could not absord the finer points. I had one more colleague with me. That colleague left a few wekks later and a redundancy drive a few…[Read more]
-
Jim Lewis replied to the topic Log, Alert and Affirm in OSVVM in the forum OSVVM 11 months ago
> Q2. Why does one need “Alert” functions when “Affirm” functions also exists?
Alert is for parameter checks – like is max >= min. These are properties that if violated, the design (or test case) is broken.Affirm is for self checking. Each check is counted. A test quality is a function of the number of checks and we report that.
-
Jim Lewis replied to the topic Check functions in OSVVM in the forum OSVVM 11 months ago
What you find in the documentation is what is what is officially supported.
The scoreboard package was released to our classes in 2006. The AlertLog capability was added in 2015. So there is some history there. Certainly doing
Get(TRec, Data) ;
expectedData := pop(SbID) ;
AffirmIfEqual(TbID, Data, expectedData) ;Is very similar…[Read more]
- Load More