Tsvi Mostovicz

Solving git am failures

Sun 23 March 2025 by Tsvi Mostovicz / Git

When you need to bring over patches from one repo (we'll call it repoA) to another (repoB) without being able to pull, one of the tools to do that would be git am.

You create a few patch files by calling git format-patch HEAD and git will create a patch …

Read more

CMake 101 (Part 1)

Thu 19 March 2020 by Tsvi Mostovicz / Devops

Following the tutorials

Obviously, the first thing to do is to follow the existing tutorials. Unfortunately, most of them will show you how to compile some code into a single executable.

What I need is something that will run a specific custom command. I don't use the GCC toolchain. These …

Read more

Revamping our build scripts

Wed 18 March 2020 by Tsvi Mostovicz / Devops

A short history

After a year or so at my job, I decided to delve a bit deeper into the build scripts we were using. They were mostly an emalgamation of some tcsh and perl. Being horrified at the cruft that has crept into the system, I went and rewrote …

Read more

Verification languages - overview and concepts

Thu 21 February 2019 by Tsvi Mostovicz / Verification

Running tests

When running a test you go through the following flow.

  • Compile - This part takes all of the source files and compiles them into a single library.
  • Elaborate - Resembles software's linking. Here we take the various objects and put them together like lego.
  • Run - Once the environment is compiled …

Read more

Contradictions between keep soft select and keep soft

Sun 30 December 2018 by Tsvi Mostovicz / Verification

TL;DR

When trying to constrain minimum and maximum payload size, the constraints in the test wouldn't be obeyed, due to a bad interaction between keep soft and keep soft ... select ==

The issue

We had the following code in our tests:

extend SEMI_RANDOM eth_seq {
    packet_size_mode : [ALL_JUMBO,MIX,NO_JUMBO,ALL_64];

    keep …

Read more

IO Error when copying files over NFS

Thu 27 December 2018 by Tsvi Mostovicz / Linux

The original issue

Jenkins started giving Input/Output errors when issuing cp commands during a specfic job. This job's workspace is on a local disk. The cp command copies the result to a directory mounted on our NFS server.

First try - S.M.A.R.T.

Our first try was …

Read more

No more emails are being sent on compilation errors from the automation server

Thu 06 December 2018 by Tsvi Mostovicz / Devops

Context

We have an old and arcane VCS at work. To get it to work with Jenkins, I created a job that polls the VCS once an hour and creates commits in a locel Git repo if any changes are found. The git commits hold in their description all of …

Read more

The highs and lows of UVM

Thu 19 June 2014 by Tsvi Mostovicz / Verification

I just read this article (Accellera DAC 2014 Breakfast—What Engineers Really Think About UVM). They hit a few interesting points.

I'd like to add another few points that I think were missed in this discussion.

The highs

  • UVM helps the developer create reusable components (though I have seen UVM …

Read more

UVM register model coverage woes - part 2

Mon 24 March 2014 by Tsvi Mostovicz / Verification

So after I described my troubles with the UVM register model's coverage in my previous post, I revisited the issue in a slightly different context and discovered the current solution was rather lacking.

Register block coverage

In the previous example, coverage was taken for a value written via the register …

Read more

The crooked ways of UVM's register model's coverage methods

Mon 02 September 2013 by Tsvi Mostovicz / Verification

"Welcome to the world of Coverage"

I have been dabbling now for a couple of weeks with coverage. Working my way through the SV LRM, looking at some examples and running a few simple cases.

My first case was some protocol coverage. We wanted to verify certain types of traffic …

Read more

uvm_config_db vs uvm_resource_db, where they come from and what are they good for

Tue 25 June 2013 by Tsvi Mostovicz / Verification

The origins

According to a story I was told, the origin of the uvm_resource_db stems from the fact that certain simulators (if I remember correctly Mentor's Modelsim/Questa), were unable to cope with the dot-notation. Eg. You could not write m_object.m_field = 1, instead you'd have to put the field …

Read more

My issues with uvm_reg's predict method

Mon 29 April 2013 by Tsvi Mostovicz / Verification

A couple of weeks ago, I created a status register callback class.

The purpose of it was to create a built-in scoreboard allowing me to predict the value of a status register based on the known status signal's input.

I'll maybe post the code in a sometime in the future …

Read more

Always assert your randomizations

Mon 18 March 2013 by Tsvi Mostovicz / Verification

Today I was bitten twice by the same issue: randomization.

When you randomize something you should always assert the randomization. This will allow you to find the source of the problem much quicker. I lament the fact that UVM sequence macros do not assert the randomization by default. Instead they …

Read more

Don't use null as a sequencer argument to uvm_reg_sequence

Sun 17 March 2013 by Tsvi Mostovicz / Verification

Back when I started using UVM, I had no use for a register model for the specific unit I was testing. As such, sequences were written which needed a sequencer which would hand the items in the sequence to the driver.

Over time, we moved to use the register model …

Read more

Time to go to bed

Sun 17 September 2006 by Tsvi Mostovicz / Linux

Just logged three hours of work on this project (LDAP Authentication).

The goal: Setting up a LDAP server on my home PC running Kubuntu and having my laptop using the information from there to log onto a clean account @ home. Authentication should be done versus the desktop box. To manage …

Read more

Introduction

Thu 14 September 2006 by Tsvi Mostovicz / Linux

Just got my student's job. I am responsible to bring the linux comps in 104 to a workable situation.

I'll use this blog to update on my progress. Any help is welcome.

Checking out:
  • Comp running CentOS. Better start learning Red Hat.
  • Networks are unavailable. If we want a true …

Read more

Late at night

Wed 03 May 2006 by Tsvi Mostovicz / Random

Here I am again... 2:00 AM, thinking I should actually go to bed.

Words are very powerful, too powerful.

Words are the vessels of our thoughts. We don't think in words, we translate ideas to words, body language, pictures and sounds. Yes, sounds not words. Consider growling and howling …

Read more

A thought on ideas

Fri 28 April 2006 by Tsvi Mostovicz / Random

Weird how ideas come and go. At first I was sure I had millions of them floating through my head, now that I'm about to post nothing comes to mind. So after some pondering here it comes, one of those millions floating.

Where do ideas go after we pass away …

Read more

Joining the great blogosphere

Fri 28 April 2006 by Tsvi Mostovicz / Random

A small note just to be able to put myself on the map. As the saying goes: "Be there or be square".

I have been having a lot of thoughts floating freely through my mind lately, so I decided to create this blog. Think of it as Dumbledore's pensieve.

Also …

Read more