Jim Lewis
-
Jim Lewis replied to the topic Interrupt Handling in OSVVM AddressBus Model Independent Transactions in the forum OSVVM 5 months, 1 week ago
Hi Lars,
OSVVM has an InterruptHandler.vhd in OsvvmLibraries/Common/Src. It handles switching records for you. When there is no interrupt pending, it connects the transaction record of TransRec to the AddressBus VC (such as Axi4Manager or Axi4LiteManager). When an interrupt is pending it connects the InterruptRec to the AddressBusVC.The…[Read more]
-
Jim Lewis replied to the topic The #if in VHDL in the forum VHDL 5 months, 1 week ago
Hi Hassan,
It is part of VHDL-2019. It is called Conditional Analysis. I have heard that vendors support it in older revisions.For details, see my presentation, VHDL-2019: Just the New Stuff Part 1: Interfaces, Conditional Analysis, File IO, and Environment. I did this through Aldec as one of their events. You should be able to register…[Read more]
-
Jim Lewis replied to the topic AxiStreamReceiver: Multiple Drivers on Transaction Record. in the forum OSVVM 5 months, 1 week ago
Hi Lars,
OSVVM has an InterruptHandler.vhd in OsvvmLibraries/Common/Src. It handles switching records for you. When there is no interrupt pending, it connects the transaction record of TransRec to the AddressBus VC (such as Axi4Manager or Axi4LiteManager). When an interrupt is pending it connects the InterruptRec to the AddressBusVC.The…[Read more]
-
Jim Lewis replied to the topic Ethernet VIP Documentation in the forum OSVVM 5 months, 2 weeks ago
Hi Steve,
No documentation yet. Set the test case that is for now in TestStandAlone/Tb_xMii.vhd.The VC are streaming interfaces that accept SendBurst and GetBurst.
Best Regards,
Jim -
Jim Lewis replied to the topic Bug in AxiStream Receiver for SetAxiStreamOptions that changes WaitForGet in the forum OSVVM 5 months, 3 weeks ago
Hi Hassan,
The 2024.07 release will have a limited set of predefined events added to OSVVM. One of them will signal that the test case has initialized the VC and the VC can start handler type operation.I have an initial proof of concept test case working at this point and expect to release it to the Dev branch sometime soon.
In addition,…[Read more]
-
Jim Lewis replied to the topic Dissecting usage of DelayCoveragePkg in the forum OSVVM 6 months ago
> What is the meaning of writing something like this: GenBin(2,10,2)
If this is the only GenBin for a given coverage model, this does not change anything.
Note the coverage model that I edited into the previous discussion for the AxiStreamTransmitter. If I instead did:
AddBins (BurstCov.BurstDelayCov, 80, GenBin(2,8,2)) ; -- 80% Small…
[Read more] -
Jim Lewis replied to the topic Dissecting usage of DelayCoveragePkg in the forum OSVVM 6 months ago
> Q1. When the GenBin has 3 numbers, why does it always end with 1? This means that we are creating a single bin that has the specified range? This means that any integer can occur in that range with equal probability?
The third parameter indicates how many bins to split a range into. As you observed, this puts it all in one bin. It is indeed…[Read more]
-
Jim Lewis replied to the topic Optional ports on AXI stream transmitter and receiver cannot be left unused in the forum OSVVM 6 months ago
There was. It was removed as it did not work in one of the vendors. I will need to add it back.
-
Jim Lewis replied to the topic Optional ports on AXI stream transmitter and receiver cannot be left unused in the forum OSVVM 6 months ago
Hi Hassan
The AXI interface has a number of optional signals. How to handle these is the interesting proposition. Their width can be configured. The current VC leaves them unconstrained. This means they have to be connected, even if unused and connected to a 0 width std_logic_vector(0 downto 1).That said, can their impact be minimized.…[Read more]
-
Jim Lewis replied to the topic SBRD package issue with Modelsim FPGA edition in the forum OSVVM 6 months, 2 weeks ago
This is just the VHDL signal use model when reading it after assigning it in a process. Since RTL does not allow wait for 0 ns, it is limited to testbenches.
Verilog assignments have the same sort of issue.
-
Jim Lewis replied to the topic SBRD: Check API uses AffirmIf, why GetAffirmCount is 0? in the forum OSVVM 6 months, 2 weeks ago
Hi Ajeetha,
Next time please provide a complete testable example, such as I have provided below. Try running this.library osvvm ;
context osvvm.OsvvmContext ;
use osvvm.ScoreboardPkg_int.all ;entity TbSB_GetAffirmCount_1 is
end TbSB_GetAffirmCount_1 ;architecture GetAffirmCount_1 of TbSB_GetAffirmCount_1 is
begin
ControlProc :…[Read more]
-
Jim Lewis replied to the topic SBRD package issue with Modelsim FPGA edition in the forum OSVVM 6 months, 2 weeks ago
Do:
stim : process
begin
SB_int <= NewID("COUNT_SB");
wait for 0 ns; -- let SB_int to update
report ("SB_int: " & integer'image(SB_int.Id));
i_up_or_down <= '0';
push(SB_int, 2);
. . . -
Jim Lewis replied to the topic SBRD package issue with Modelsim FPGA edition in the forum OSVVM 6 months, 2 weeks ago
Hi Ajeetha,
Nope. That is integer’left.Put a “wait for 0 ns” before reading the signal. That allows a simulation cycle to go by and the signal to update to the value assigned by NewID.
Jim
-
Jim Lewis replied to the topic Generic testControlProc – can this be a pattern? in the forum OSVVM 6 months, 2 weeks ago
Depending on what becomes the pattern, it could be a concurrent procedure call (if it encapsulates the entire process), a sequential procedure call (if it only encapsulates most of the process), or as you suggested an entity (but may be more than we need).
Also note that OSVVM’s TbUtilPkg has a CreateClock and a CreateReset
-
Jim Lewis replied to the topic Generic testControlProc – can this be a pattern? in the forum OSVVM 6 months, 2 weeks ago
Some of what is in the ControlProc is pretty standard. Some of it is not.
The main items above that are custom are:
UartScoreboard <= NewID("UART_SB", NUM_UARTS) ;
. . .
osvvm_uart.ScoreboardPkg_Uart.WriteScoreboardYaml(FileName => GetTestName & "_sb_Uart.yml") ;Long term, we should be able to do the UartScoreboard as a constant:
constant…
[Read more] -
Jim Lewis replied to the topic Dissecting the OSVVM AXI Master BFM in the forum OSVVM 6 months, 2 weeks ago
> I can see that the scripts use the explicit name of the file for analyze and run_test TCL commands. However, it is also possible to just do a file search and with the filenames in a list, iterate over the list and call analyze or run_test for each of them.
> Why isn’t it done in this way?
It comes down to testing philosophy. I see the s…[Read more]
-
Jim Lewis replied to the topic Running AXI4 Simulation from OSVVM Libraries repository in the forum OSVVM 6 months, 2 weeks ago
The following are primary API commands. Note that library sets the
– library []
– Make LibraryName found in library directory specified by path the active library.
– Create the LibraryName if it does not exist.
– If path is not specified, use the library directory specified by SetLibraryDirectory.
– analyze [/] [options]…[Read more] -
Jim Lewis replied to the topic Riviera / MATLAB Cosim with OSVVM Scripting in the forum OSVVM 6 months, 2 weeks ago
Thanks. I will get the updates in OSVVM scripting.
-
Jim Lewis replied to the topic Riviera / MATLAB Cosim with OSVVM Scripting in the forum OSVVM 6 months, 2 weeks ago
Hi Brad,
Did you add “global aldec” or “global ALDEC”? Your note above seemed to indicate that it is lower case. OTOH, the error messages are referencing an upper case $ALDEC. I should note if I do “puts $aldec” it works. If I do “puts $ALDEC” it does not work.There is no “$aldec” in $PATH_TO_SIM_DIR right?
Cheers,
Jim -
Jim Lewis replied to the topic Can OSVVM Verification Component be used in VUnit based testbench? in the forum OSVVM 6 months, 2 weeks ago
Currently to get the HTML and JUnit XML reports you must use OSVVM scripting. The problem is that both the scripts and the VHDL code writes to the files.
- Load More