Posts — page 6
Python Verification: Working with Coverage Data
[](/legacy-img/splash-4.png) Before jumping into this week's post, I wanted to offer a bit of an apology to my readers. I recently realized that, despite being a Google property, Blogger only notifies authors of comments for moderation if the author h…
Python Verification Stimulus and Coverage: Functional Coverage
[](/legacy-img/pyvsccoverage.png) In my last two posts ([here](/blog/modeling-random-stimulus-and-functional-coverage-in-python/) and [here](/blog/python-verification-stimulus-and-coverage-data-types/)), I've been talking about modeling random stimulus, …
Python Verification Stimulus and Coverage: Data Types
[](/legacy-img/ModelingRandomStimulusSplash-2.png) In my last post, [Modeling Random Stimulus and Functional Coverage in Python](/blog/modeling-random-stimulus-and-functional-coverage-in-python/), I introduced a Python library for modeling random vari…
Modeling Random Stimulus and Functional Coverage in Python
[](/legacy-img/ModelingRandomStimulusSplash.png) If you've been following the blog over the last year, you've probably noticed that I've spent quite a bit of time over the last year learning and using Python. For several reasons, it's become my new favor…
Selectively Muting your BFMs to Speed up Simulation
[](/legacy-img/splash-7.png) Have you ever had the misfortune to be on the CC list for a "lively" email discussion where you're a stakeholder but only case about the conclusion? You can't simply ignore the traffic, because you do care about the conclusio…
2019 - The "Nights and Weekends Projects" Year in Review
[](/legacy-img/splash-16.png) It's almost the end of 2019, and I've been thinking back over the year as well as thinking ahead to 2020. In past years, I've often evaluated my "nights and weekends" projects using the same metrics I'm evaluated on at work:…
Writing a Task-Based Cocotb BFM
[](/legacy-img/splash-6.png) Background The purpose of a Bus Functional Model (BFM) is to enable interacting with a design via a given protocol at a higher level of abstraction than the signal-level protocol, while knowing the bare minimum about the…
Adding Task-Based Bus Functional Models to Cocotb
[](/legacy-img/splash-12.png) Getting a project started -- even to a certain level of completeness -- is often pretty simple. A couple weekends of hacking often results in pretty good progress and results. Finishing things up, in contrast, is often…
Embedded Languages: The Space Between Language and API
[](/legacy-img/splash-3.png) We're all familiar with general-purpose programming language for capturing general algorithms, but there are also a sizeable group of domain-specific languages that exist to efficiently capture reasoning in a specific domain -- …
The Toolmaker's Dilemma: Visionaries Have Always Created Their Own Tools
[](/legacy-img/splash-11.png) I recently saw a quote (on Twitter, in a photo no less) to roughly the same effect as the title above: that innovators and visionaries have always created their own tools. I'd attribute the quote if I could, but the dynamic …